diff options
Diffstat (limited to 'os/common/modules/nix/default.nix')
-rw-r--r-- | os/common/modules/nix/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/os/common/modules/nix/default.nix b/os/common/modules/nix/default.nix new file mode 100644 index 0000000..bddf978 --- /dev/null +++ b/os/common/modules/nix/default.nix @@ -0,0 +1,51 @@ +{ + config, + pkgs, + determinate, + lib, + ... +}: +let + user = config.global.userdata.name; + + nixWithFix = determinate.inputs.nix.packages.${pkgs.stdenv.system}.nix-everything.override { + nix-cli = determinate.inputs.nix.packages.${pkgs.stdenv.system}.nix-cli.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + ./nix.patch + ]; + }); + }; +in +{ + imports = [ determinate.nixosModules.default ]; + + nix = { + package = lib.mkForce nixWithFix; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + settings = { + auto-optimise-store = true; + use-xdg-base-directories = true; + trusted-users = [ user ]; + + experimental-features = [ + "flakes" + "nix-command" + ]; + + substituters = [ + "https://nixbin.sinanmohd.com" + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "nixbin.sinanmohd.com:dXV3KDPVrm+cGJ2M1ZmTeQJqFGaEapqiVoWHgYDh03k=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; + }; +} |