diff options
Diffstat (limited to 'parts/modules/shared')
| -rw-r--r-- | parts/modules/shared/base/default.nix | 8 | ||||
| -rw-r--r-- | parts/modules/shared/base/documentation.nix | 14 | ||||
| -rw-r--r-- | parts/modules/shared/base/locale.nix | 14 | ||||
| -rw-r--r-- | parts/modules/shared/base/nix.nix | 42 | ||||
| -rw-r--r-- | parts/modules/shared/base/packages.nix | 21 | ||||
| -rw-r--r-- | parts/modules/shared/default.nix | 5 |
6 files changed, 104 insertions, 0 deletions
diff --git a/parts/modules/shared/base/default.nix b/parts/modules/shared/base/default.nix new file mode 100644 index 0000000..e18de58 --- /dev/null +++ b/parts/modules/shared/base/default.nix @@ -0,0 +1,8 @@ +_: { + imports = [ + ./documentation.nix + ./locale.nix + ./nix.nix + ./packages.nix + ]; +} diff --git a/parts/modules/shared/base/documentation.nix b/parts/modules/shared/base/documentation.nix new file mode 100644 index 0000000..ecc5813 --- /dev/null +++ b/parts/modules/shared/base/documentation.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.base.documentation; + inherit (lib) mkEnableOption mkIf; +in { + options.base.documentation.enable = mkEnableOption "base module documentation"; + + config = mkIf cfg.enable { + documentation.man.enable = true; + }; +} diff --git a/parts/modules/shared/base/locale.nix b/parts/modules/shared/base/locale.nix new file mode 100644 index 0000000..ecae786 --- /dev/null +++ b/parts/modules/shared/base/locale.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.base.defaultLocale; + inherit (lib) mkEnableOption mkIf; +in { + options.base.defaultLocale.enable = mkEnableOption "default locale"; + + config = mkIf cfg.enable { + time.timeZone = "America/New_York"; + }; +} diff --git a/parts/modules/shared/base/nix.nix b/parts/modules/shared/base/nix.nix new file mode 100644 index 0000000..2c95933 --- /dev/null +++ b/parts/modules/shared/base/nix.nix @@ -0,0 +1,42 @@ +{ + config, + inputs, + 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 = { + registry = + { + n.flake = mkDefault inputs.nixpkgs; + } + // (builtins.mapAttrs (_: flake: {inherit flake;}) + (inputs.nixpkgs.lib.filterAttrs (n: _: n != "nixpkgs") inputs)); + + settings = { + auto-optimise-store = isLinux; + experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "repl-flake"]; + + trusted-substituters = ["https://cache.garnix.io"]; + trusted-public-keys = ["cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="]; + }; + + gc = { + automatic = mkDefault true; + options = mkDefault "--delete-older-than 7d"; + }; + }; + + nixpkgs = { + overlays = with inputs; [nur.overlay getchoo.overlays.default self.overlays.default]; + config.allowUnfree = true; + }; + }; +} diff --git a/parts/modules/shared/base/packages.nix b/parts/modules/shared/base/packages.nix new file mode 100644 index 0000000..38cd6e7 --- /dev/null +++ b/parts/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/parts/modules/shared/default.nix b/parts/modules/shared/default.nix new file mode 100644 index 0000000..0199860 --- /dev/null +++ b/parts/modules/shared/default.nix @@ -0,0 +1,5 @@ +_: { + imports = [ + ./base + ]; +} |
