summaryrefslogtreecommitdiff
path: root/os/common/modules/nix/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'os/common/modules/nix/default.nix')
-rw-r--r--os/common/modules/nix/default.nix51
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="
+ ];
+ };
+ };
+}