about summary refs log tree commit diff stats
path: root/system/services/nix
diff options
context:
space:
mode:
Diffstat (limited to 'system/services/nix')
-rw-r--r--system/services/nix/default.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/system/services/nix/default.nix b/system/services/nix/default.nix
new file mode 100644
index 00000000..15c3a026
--- /dev/null
+++ b/system/services/nix/default.nix
@@ -0,0 +1,28 @@
+{
+  config,
+  lib,
+  pkgs,
+  nixpkgs,
+  ...
+}: {
+  nix = {
+    # Flakes settings
+    package = pkgs.nixVersions.stable;
+    # this can't be in nix settings because of some "type error". See:
+    # https://discourse.nixos.org/t/flakes-error-error-attribute-outpath-missing/18044
+    registry.nixpkgs.flake = nixpkgs;
+    gc = {
+      automatic = true;
+      dates = "weekly";
+      options = "--delete-older-than 7d";
+    };
+    settings = {
+      auto-optimise-store = true;
+      experimental-features = ["nix-command" "flakes"];
+      fallback = true;
+
+      keep-failed = true; #keep failed tmp build dirs
+      pure-eval = true; # restrict file system and network access to  hash
+    };
+  };
+}