diff options
| author | seth <[email protected]> | 2023-08-23 21:13:01 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-08-24 04:21:43 -0400 |
| commit | f324d84bc86db1b4b81c447f536adc24f7731578 (patch) | |
| tree | 9322d9911330ad1a2483d3809f5aae0b62a6c918 | |
| parent | 29041baea2a5182281c7d4f0d50ab5d9c4c517aa (diff) | |
modules: merge some nixos/darwin modules
| -rw-r--r-- | modules/darwin/base/default.nix | 3 | ||||
| -rw-r--r-- | modules/darwin/base/nix.nix | 21 | ||||
| -rw-r--r-- | modules/darwin/base/packages.nix | 8 | ||||
| -rw-r--r-- | modules/nixos/base/default.nix | 2 | ||||
| -rw-r--r-- | modules/nixos/base/documentation.nix | 8 | ||||
| -rw-r--r-- | modules/nixos/base/locale.nix | 7 | ||||
| -rw-r--r-- | modules/nixos/base/nix.nix | 42 | ||||
| -rw-r--r-- | modules/nixos/base/packages.nix | 10 | ||||
| -rw-r--r-- | modules/shared/base/default.nix | 8 | ||||
| -rw-r--r-- | modules/shared/base/documentation.nix (renamed from modules/darwin/base/documentation.nix) | 0 | ||||
| -rw-r--r-- | modules/shared/base/locale.nix (renamed from modules/darwin/base/locale.nix) | 2 | ||||
| -rw-r--r-- | modules/shared/base/nix.nix | 26 | ||||
| -rw-r--r-- | modules/shared/base/packages.nix | 21 | ||||
| -rw-r--r-- | modules/shared/default.nix | 5 |
14 files changed, 92 insertions, 71 deletions
diff --git a/modules/darwin/base/default.nix b/modules/darwin/base/default.nix index 94dcf19..583accd 100644 --- a/modules/darwin/base/default.nix +++ b/modules/darwin/base/default.nix @@ -9,8 +9,7 @@ in { options.base.enable = mkEnableOption "base darwin module"; imports = [ - ./documentation.nix - ./locale.nix + ../../shared ./nix.nix ./packages.nix ]; diff --git a/modules/darwin/base/nix.nix b/modules/darwin/base/nix.nix index 39d8ffa..c853650 100644 --- a/modules/darwin/base/nix.nix +++ b/modules/darwin/base/nix.nix @@ -1,23 +1,18 @@ { config, lib, + inputs, ... }: let + inherit (builtins) attrNames map; + inherit (lib) mkIf; cfg = config.base.nix-settings; - inherit (lib) mkDefault mkEnableOption mkIf; -in { - options.base.nix-settings.enable = mkEnableOption "base nix settings"; - - config = mkIf cfg.enable { - nix = { - gc.automatic = mkDefault true; - settings = { - experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "repl-flake"]; - trusted-users = mkDefault ["root" "@wheel"]; - }; - }; + channelPath = i: "${inputs.${i}.outPath}"; - services.nix-daemon.enable = true; + mapInputs = fn: map fn (attrNames inputs); +in { + config = mkIf cfg.enable { + nix.nixPath = mapInputs (i: "${i}=${channelPath i}"); }; } diff --git a/modules/darwin/base/packages.nix b/modules/darwin/base/packages.nix index 14a07e6..97fb77c 100644 --- a/modules/darwin/base/packages.nix +++ b/modules/darwin/base/packages.nix @@ -4,13 +4,9 @@ ... }: let cfg = config.base.defaultPackages; - inherit (lib) mkEnableOption mkIf; + inherit (lib) mkIf; in { - options.base.defaultPackages.enable = mkEnableOption "base module default packages"; - config = mkIf cfg.enable { - programs = { - vim.enable = true; - }; + programs.vim.enable = true; }; } diff --git a/modules/nixos/base/default.nix b/modules/nixos/base/default.nix index c488cdf..3e6a97e 100644 --- a/modules/nixos/base/default.nix +++ b/modules/nixos/base/default.nix @@ -9,10 +9,10 @@ in { options.base.enable = mkEnableOption "base nixos module"; imports = [ + ../../shared ./documentation.nix ./locale.nix ./network.nix - ./nix.nix ./packages.nix ./root.nix ./security.nix diff --git a/modules/nixos/base/documentation.nix b/modules/nixos/base/documentation.nix index 6f254cd..68a194f 100644 --- a/modules/nixos/base/documentation.nix +++ b/modules/nixos/base/documentation.nix @@ -5,19 +5,17 @@ ... }: let cfg = config.base.documentation; - inherit (lib) mkEnableOption mkIf; + inherit (lib) mkIf; in { - options.base.documentation.enable = mkEnableOption "base module documentation"; - config = mkIf cfg.enable { environment.systemPackages = with pkgs; [man-pages man-pages-posix]; documentation = { - dev.enable = true; man = { - enable = true; generateCaches = true; man-db.enable = true; }; + + dev.enable = true; }; }; } diff --git a/modules/nixos/base/locale.nix b/modules/nixos/base/locale.nix index b2d9fbd..7259ef2 100644 --- a/modules/nixos/base/locale.nix +++ b/modules/nixos/base/locale.nix @@ -4,18 +4,15 @@ ... }: let cfg = config.base.defaultLocale; - inherit (lib) mkEnableOption mkIf; + inherit (lib) mkIf; in { - options.base.defaultLocale.enable = mkEnableOption "enable default locale"; - config = mkIf cfg.enable { i18n = { supportedLocales = [ "en_US.UTF-8/UTF-8" ]; + defaultLocale = "en_US.UTF-8"; }; - - time.timeZone = "America/New_York"; }; } diff --git a/modules/nixos/base/nix.nix b/modules/nixos/base/nix.nix index d266333..3dcac11 100644 --- a/modules/nixos/base/nix.nix +++ b/modules/nixos/base/nix.nix @@ -4,37 +4,21 @@ inputs, ... }: let + inherit (builtins) attrNames map; + inherit (lib) mkDefault mkIf; cfg = config.base.nix-settings; - inherit (lib) mkDefault mkEnableOption mkIf; -in { - options.base.nix-settings.enable = mkEnableOption "base nix settings"; - - imports = [ - ./documentation.nix - ./packages.nix - ]; - - config = let - channelPath = i: "/etc/nix/channels/${i}"; - mapInputs = fn: builtins.map fn (builtins.attrNames inputs); - in - mkIf cfg.enable { - nix = { - gc = { - automatic = mkDefault true; - dates = mkDefault "weekly"; - options = mkDefault "--delete-older-than 7d"; - }; - settings = { - auto-optimise-store = true; - experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "repl-flake"]; - }; + channelPath = i: "/etc/nix/channels/${i}"; - nixPath = mapInputs (i: "${i}=${channelPath i}"); - }; - - systemd.tmpfiles.rules = - mapInputs (i: "L+ ${channelPath i} - - - - ${inputs.${i}.outPath}"); + mapInputs = fn: map fn (attrNames inputs); +in { + config = mkIf cfg.enable { + nix = { + nixPath = mapInputs (i: "${i}=${channelPath i}"); + gc.dates = mkDefault "weekly"; }; + + systemd.tmpfiles.rules = + mapInputs (i: "L+ ${channelPath i} - - - - ${inputs.${i}.outPath}"); + }; } diff --git a/modules/nixos/base/packages.nix b/modules/nixos/base/packages.nix index 40be7e6..7390a40 100644 --- a/modules/nixos/base/packages.nix +++ b/modules/nixos/base/packages.nix @@ -1,22 +1,14 @@ { config, lib, - pkgs, ... }: let cfg = config.base.defaultPackages; - inherit (lib) mkEnableOption mkIf; + inherit (lib) mkIf; in { - options.base.defaultPackages.enable = mkEnableOption "base module default packages"; - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - python311 - ]; - programs = { git.enable = true; - gnupg.agent.enable = true; vim.defaultEditor = true; }; }; diff --git a/modules/shared/base/default.nix b/modules/shared/base/default.nix new file mode 100644 index 0000000..e18de58 --- /dev/null +++ b/modules/shared/base/default.nix @@ -0,0 +1,8 @@ +_: { + imports = [ + ./documentation.nix + ./locale.nix + ./nix.nix + ./packages.nix + ]; +} diff --git a/modules/darwin/base/documentation.nix b/modules/shared/base/documentation.nix index ecc5813..ecc5813 100644 --- a/modules/darwin/base/documentation.nix +++ b/modules/shared/base/documentation.nix diff --git a/modules/darwin/base/locale.nix b/modules/shared/base/locale.nix index af7a6ca..ecae786 100644 --- a/modules/darwin/base/locale.nix +++ b/modules/shared/base/locale.nix @@ -6,7 +6,7 @@ cfg = config.base.defaultLocale; inherit (lib) mkEnableOption mkIf; in { - options.base.defaultLocale.enable = mkEnableOption "enable default locale"; + options.base.defaultLocale.enable = mkEnableOption "default locale"; config = mkIf cfg.enable { time.timeZone = "America/New_York"; diff --git a/modules/shared/base/nix.nix b/modules/shared/base/nix.nix new file mode 100644 index 0000000..21af0e0 --- /dev/null +++ b/modules/shared/base/nix.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.base.nix-settings; + inherit (lib) mkDefault mkEnableOption mkIf; + inherit (pkgs.stdenv) isLinux; +in { + options.base.nix-settings.enable = mkEnableOption "base nix settings"; + + config = mkIf cfg.enable { + nix = { + settings = { + auto-optimise-store = isLinux; + experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "repl-flake"]; + }; + + gc = { + automatic = mkDefault true; + options = mkDefault "--delete-older-than 7d"; + }; + }; + }; +} diff --git a/modules/shared/base/packages.nix b/modules/shared/base/packages.nix new file mode 100644 index 0000000..38cd6e7 --- /dev/null +++ b/modules/shared/base/packages.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.base.defaultPackages; + inherit (lib) mkEnableOption mkIf; +in { + options.base.defaultPackages.enable = mkEnableOption "base module default packages"; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + python311 + ]; + + programs = { + gnupg.agent.enable = true; + }; + }; +} diff --git a/modules/shared/default.nix b/modules/shared/default.nix new file mode 100644 index 0000000..0199860 --- /dev/null +++ b/modules/shared/default.nix @@ -0,0 +1,5 @@ +_: { + imports = [ + ./base + ]; +} |
