diff options
Diffstat (limited to 'modules/darwin/desktop')
| -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 |
4 files changed, 80 insertions, 0 deletions
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; + }; +} |
