summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/darwin/base/default.nix3
-rw-r--r--modules/darwin/base/nix.nix21
-rw-r--r--modules/darwin/base/packages.nix8
-rw-r--r--modules/nixos/base/default.nix2
-rw-r--r--modules/nixos/base/documentation.nix8
-rw-r--r--modules/nixos/base/locale.nix7
-rw-r--r--modules/nixos/base/nix.nix42
-rw-r--r--modules/nixos/base/packages.nix10
-rw-r--r--modules/shared/base/default.nix8
-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.nix26
-rw-r--r--modules/shared/base/packages.nix21
-rw-r--r--modules/shared/default.nix5
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
+ ];
+}