diff options
Diffstat (limited to 'modules/darwin')
| -rw-r--r-- | modules/darwin/archetypes/default.nix (renamed from modules/darwin/suites/default.nix) | 0 | ||||
| -rw-r--r-- | modules/darwin/archetypes/personal.nix | 21 | ||||
| -rw-r--r-- | modules/darwin/base.nix | 18 | ||||
| -rw-r--r-- | modules/darwin/base/default.nix | 7 | ||||
| -rw-r--r-- | modules/darwin/base/nix.nix | 16 | ||||
| -rw-r--r-- | modules/darwin/base/programs.nix | 16 | ||||
| -rw-r--r-- | modules/darwin/default.nix | 7 | ||||
| -rw-r--r-- | modules/darwin/desktop.nix | 39 | ||||
| -rw-r--r-- | modules/darwin/desktop/default.nix | 11 | ||||
| -rw-r--r-- | modules/darwin/desktop/fonts.nix | 20 | ||||
| -rw-r--r-- | modules/darwin/desktop/homebrew.nix | 29 | ||||
| -rw-r--r-- | modules/darwin/desktop/programs.nix | 20 | ||||
| -rw-r--r-- | modules/darwin/suites/personal.nix | 11 | ||||
| -rw-r--r-- | modules/darwin/traits/default.nix | 5 | ||||
| -rw-r--r-- | modules/darwin/traits/users.nix | 5 |
15 files changed, 154 insertions, 71 deletions
diff --git a/modules/darwin/suites/default.nix b/modules/darwin/archetypes/default.nix index b4bd1b5..b4bd1b5 100644 --- a/modules/darwin/suites/default.nix +++ b/modules/darwin/archetypes/default.nix diff --git a/modules/darwin/archetypes/personal.nix b/modules/darwin/archetypes/personal.nix new file mode 100644 index 0000000..34f9ec4 --- /dev/null +++ b/modules/darwin/archetypes/personal.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + cfg = config.archetypes.personal; +in { + options.archetypes.personal = { + enable = lib.mkEnableOption "personal archetype"; + }; + + config = lib.mkIf cfg.enable { + base.enable = true; + desktop.enable = true; + + traits = { + home-manager.enable = true; + users.seth.enable = true; + }; + }; +} diff --git a/modules/darwin/base.nix b/modules/darwin/base.nix deleted file mode 100644 index 9fc0d86..0000000 --- a/modules/darwin/base.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - inputs, - ... -}: { - imports = [../shared]; - - # not sure why i have to force this - environment.etc."nix/inputs/nixpkgs".source = lib.mkForce inputs.nixpkgs.outPath; - - programs = { - bash.enable = true; - vim.enable = true; - zsh.enable = true; - }; - - services.nix-daemon.enable = true; -} diff --git a/modules/darwin/base/default.nix b/modules/darwin/base/default.nix new file mode 100644 index 0000000..5066832 --- /dev/null +++ b/modules/darwin/base/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ../../shared + ./nix.nix + ./programs.nix + ]; +} diff --git a/modules/darwin/base/nix.nix b/modules/darwin/base/nix.nix new file mode 100644 index 0000000..dd593f9 --- /dev/null +++ b/modules/darwin/base/nix.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + inputs, + ... +}: let + cfg = config.base.nixSettings; + enable = config.base.enable && cfg.enable; +in { + config = lib.mkIf enable { + # not sure why i have to force this + environment.etc."nix/inputs/nixpkgs".source = lib.mkForce inputs.nixpkgs.outPath; + + services.nix-daemon.enable = true; + }; +} diff --git a/modules/darwin/base/programs.nix b/modules/darwin/base/programs.nix new file mode 100644 index 0000000..bb6d4f5 --- /dev/null +++ b/modules/darwin/base/programs.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + ... +}: let + cfg = config.base.defaultPrograms; + enable = config.base.enable && cfg.enable; +in { + config = lib.mkIf enable { + programs = { + bash.enable = true; + vim.enable = true; + zsh.enable = true; + }; + }; +} diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix index 4dfa561..1b6cd03 100644 --- a/modules/darwin/default.nix +++ b/modules/darwin/default.nix @@ -1,7 +1,8 @@ { flake.darwinModules = { - default = ./base.nix; - desktop = ./desktop.nix; - suites = ./suites; + default = ./base; + archetypes = ./archetypes; + desktop = ./desktop; + traits = ./traits; }; } diff --git a/modules/darwin/desktop.nix b/modules/darwin/desktop.nix deleted file mode 100644 index c6eb106..0000000 --- a/modules/darwin/desktop.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.desktop; -in { - options.desktop.enable = lib.mkEnableOption "base desktop settings"; - - config = lib.mkIf cfg.enable { - fonts.fonts = with pkgs; - lib.mkDefault [ - (nerdfonts.override {fonts = ["FiraCode"];}) - ]; - - homebrew = { - enable = lib.mkDefault true; - - onActivation = lib.mkDefault { - autoUpdate = true; - cleanup = "zap"; - upgrade = true; - }; - - caskArgs = { - no_quarantine = true; - require_sha = false; - }; - - casks = [ - "chromium" - "iterm2" - ]; - }; - - programs.gnupg.agent.enable = lib.mkDefault true; - }; -} diff --git a/modules/darwin/desktop/default.nix b/modules/darwin/desktop/default.nix new file mode 100644 index 0000000..cdfb246 --- /dev/null +++ b/modules/darwin/desktop/default.nix @@ -0,0 +1,11 @@ +{lib, ...}: { + options.desktop = { + enable = lib.mkEnableOption "base desktop settings"; + }; + + imports = [ + ./fonts.nix + ./homebrew.nix + ./programs.nix + ]; +} diff --git a/modules/darwin/desktop/fonts.nix b/modules/darwin/desktop/fonts.nix new file mode 100644 index 0000000..39d8531 --- /dev/null +++ b/modules/darwin/desktop/fonts.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.desktop.fonts; + enable = config.desktop.enable && cfg.enable; +in { + options.desktop.fonts = { + enable = lib.mkEnableOption "desktop fonts" // {default = true;}; + }; + + config = lib.mkIf enable { + fonts.fonts = with pkgs; + lib.mkDefault [ + (nerdfonts.override {fonts = ["FiraCode"];}) + ]; + }; +} diff --git a/modules/darwin/desktop/homebrew.nix b/modules/darwin/desktop/homebrew.nix new file mode 100644 index 0000000..1015ff9 --- /dev/null +++ b/modules/darwin/desktop/homebrew.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + ... +}: let + cfg = config.desktop.homebrew; + enable = config.desktop.enable && cfg.enable; +in { + options.desktop.homebrew = { + enable = lib.mkEnableOption "Homebrew integration" // {default = true;}; + }; + + config = lib.mkIf enable { + homebrew = { + enable = true; + + onActivation = lib.mkDefault { + autoUpdate = true; + cleanup = "zap"; + upgrade = true; + }; + + caskArgs = { + no_quarantine = true; + require_sha = false; + }; + }; + }; +} diff --git a/modules/darwin/desktop/programs.nix b/modules/darwin/desktop/programs.nix new file mode 100644 index 0000000..b681c59 --- /dev/null +++ b/modules/darwin/desktop/programs.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + cfg = config.desktop.defaultPrograms; + enable = config.desktop.enable && cfg.enable; +in { + options.desktop.defaultPrograms = { + enable = lib.mkEnableOption "default desktop programs" // {default = true;}; + }; + + config = lib.mkIf enable { + homebrew.casks = [ + "chromium" + "iterm2" + ]; + programs.gnupg.agent.enable = lib.mkDefault true; + }; +} diff --git a/modules/darwin/suites/personal.nix b/modules/darwin/suites/personal.nix deleted file mode 100644 index 6f37936..0000000 --- a/modules/darwin/suites/personal.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - config, - lib, - ... -}: let - cfg = config.suites.personal; -in { - config = lib.mkIf cfg.enable { - desktop.enable = true; - }; -} diff --git a/modules/darwin/traits/default.nix b/modules/darwin/traits/default.nix new file mode 100644 index 0000000..e6e5275 --- /dev/null +++ b/modules/darwin/traits/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./users.nix + ]; +} diff --git a/modules/darwin/traits/users.nix b/modules/darwin/traits/users.nix new file mode 100644 index 0000000..b0a2078 --- /dev/null +++ b/modules/darwin/traits/users.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../../../users/seth/darwin.nix + ]; +} |
