blob: d0b6cb3f882d613319f6ad2c909b2b18d9f0949c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
{ inputs, ... }:
{
flake.modules.nixos.teh-nix =
{ config, lib, ... }:
{
options.teh-nix.nix = with lib; {
enable = mkEnableOption "Use the TehNix nix settings";
};
config = lib.mkIf config.teh-nix.nix.enable {
nix.nixPath = [ "/etc/nix/path" ];
nix.registry.nixpkgs.flake = inputs.nixpkgs;
environment.etc."nix/path/nixpkgs".source = inputs.nixpkgs;
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
trusted-users = [ "boss" ];
substituters = [
"https://cache.nixos.org"
];
# trusted-public-keys = [
# "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
# ];
};
optimise.automatic = true;
};
# nh's cleaner replaces nix.gc (the nh module asserts they aren't both on)
programs.nh = {
enable = true;
clean = {
enable = true;
dates = "weekly";
# --no-direnv keeps nix-direnv's gcroots so dev shells survive
extraArgs = "--keep-since 7d --keep 5 --no-direnv";
};
};
};
};
}
|