diff options
| -rw-r--r-- | flake.lock | 23 | ||||
| -rw-r--r-- | flake.nix | 4 | ||||
| -rw-r--r-- | modules/darwin/base/default.nix | 26 | ||||
| -rw-r--r-- | modules/darwin/base/documentation.nix | 14 | ||||
| -rw-r--r-- | modules/darwin/base/locale.nix | 14 | ||||
| -rw-r--r-- | modules/darwin/base/nix.nix | 24 | ||||
| -rw-r--r-- | modules/darwin/base/packages.nix | 16 | ||||
| -rw-r--r-- | modules/darwin/default.nix | 5 |
8 files changed, 125 insertions, 1 deletions
@@ -2,7 +2,7 @@ "nodes": { "agenix": { "inputs": { - "darwin": "darwin", + "darwin": "darwin_2", "nixpkgs": [ "ragenix", "nixpkgs" @@ -55,6 +55,26 @@ "darwin": { "inputs": { "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1690100173, + "narHash": "sha256-v3DT7u5KlW1ZoulvFQPndbg0gVD0zKGkJmPqGsBVQ3I=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "0f9058e739dbefc676dee557b4b627962268d556", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, + "darwin_2": { + "inputs": { + "nixpkgs": [ "ragenix", "agenix", "nixpkgs" @@ -476,6 +496,7 @@ }, "root": { "inputs": { + "darwin": "darwin", "flake-compat": "flake-compat", "flake-parts": "flake-parts", "flake-utils": "flake-utils", @@ -19,6 +19,10 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.05"; + darwin = { + url = "github:LnL7/nix-darwin/"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # this is just to avoid having multiple versions in flake.lock flake-compat = { diff --git a/modules/darwin/base/default.nix b/modules/darwin/base/default.nix new file mode 100644 index 0000000..d3ee780 --- /dev/null +++ b/modules/darwin/base/default.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.base; + inherit (lib) mkDefault mkEnableOption mkIf; +in { + options.getchoo.base.enable = mkEnableOption "base nixos module"; + + imports = [ + ./documentation.nix + ./locale.nix + ./nix.nix + ./packages.nix + ]; + + config = mkIf cfg.enable { + getchoo.base = { + defaultPackages.enable = mkDefault true; + defaultLocale.enable = mkDefault true; + documentation.enable = mkDefault true; + nix-settings.enable = mkDefault true; + }; + }; +} diff --git a/modules/darwin/base/documentation.nix b/modules/darwin/base/documentation.nix new file mode 100644 index 0000000..0e3ce85 --- /dev/null +++ b/modules/darwin/base/documentation.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.base.documentation; + inherit (lib) mkEnableOption mkIf; +in { + options.getchoo.base.documentation.enable = mkEnableOption "base module documentation"; + + config = mkIf cfg.enable { + documentation.man.enable = true; + }; +} diff --git a/modules/darwin/base/locale.nix b/modules/darwin/base/locale.nix new file mode 100644 index 0000000..c65c046 --- /dev/null +++ b/modules/darwin/base/locale.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.base.defaultLocale; + inherit (lib) mkEnableOption mkIf; +in { + options.getchoo.base.defaultLocale.enable = mkEnableOption "enable default locale"; + + config = mkIf cfg.enable { + time.timeZone = "America/New_York"; + }; +} diff --git a/modules/darwin/base/nix.nix b/modules/darwin/base/nix.nix new file mode 100644 index 0000000..14aa805 --- /dev/null +++ b/modules/darwin/base/nix.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.base.nix-settings; + inherit (lib) mkDefault mkEnableOption mkIf; +in { + options.getchoo.base.nix-settings.enable = mkEnableOption "base nix settings"; + + config = mkIf cfg.enable { + nix = { + gc.automatic = mkDefault true; + + settings = { + auto-optimise-store = true; + experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "repl-flake"]; + trusted-users = mkDefault ["root" "@wheel"]; + }; + }; + + services.nix-daemon.enable = true; + }; +} diff --git a/modules/darwin/base/packages.nix b/modules/darwin/base/packages.nix new file mode 100644 index 0000000..81e2920 --- /dev/null +++ b/modules/darwin/base/packages.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.base.defaultPackages; + inherit (lib) mkEnableOption mkIf; +in { + options.getchoo.base.defaultPackages.enable = mkEnableOption "base module default packages"; + + config = mkIf cfg.enable { + programs = { + vim.enable = true; + }; + }; +} diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix new file mode 100644 index 0000000..0199860 --- /dev/null +++ b/modules/darwin/default.nix @@ -0,0 +1,5 @@ +_: { + imports = [ + ./base + ]; +} |
