diff options
| author | seth <[email protected]> | 2023-05-08 00:21:41 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-05-08 00:21:41 -0400 |
| commit | 9cedd06b8589a5d39a7a85e2efe646a8edebac53 (patch) | |
| tree | 8884a1238b0586396bc403098e23e78505ab514e /modules/nixos/base/nix.nix | |
| parent | 589c80eb1bcaf76b4a1a7e6f9cdd725fdb04e063 (diff) | |
modules: merge base and nixos
Diffstat (limited to 'modules/nixos/base/nix.nix')
| -rw-r--r-- | modules/nixos/base/nix.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/modules/nixos/base/nix.nix b/modules/nixos/base/nix.nix new file mode 100644 index 0000000..38fcef0 --- /dev/null +++ b/modules/nixos/base/nix.nix @@ -0,0 +1,44 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.getchoo.base.nix-settings; + inherit (lib) mkDefault mkEnableOption mkIf; +in { + options.getchoo.base.nix-settings.enable = mkEnableOption "base nix settings"; + + imports = [ + ./documentation.nix + ./packages.nix + ]; + + config = let + channelPath = "/etc/nix/channels/nixpkgs"; + in + mkIf cfg.enable { + nix = { + package = mkDefault pkgs.nixFlakes; + + gc = { + automatic = mkDefault true; + dates = mkDefault "weekly"; + options = mkDefault "--delete-older-than 7d"; + }; + + settings = { + auto-optimise-store = true; + experimental-features = ["nix-command" "flakes"]; + }; + + nixPath = [ + "nixpkgs=${channelPath}" + ]; + }; + + systemd.tmpfiles.rules = [ + "L+ ${channelPath} - - - - ${pkgs.path}" + ]; + }; +} |
