diff --git a/base.nix b/base.nix index 0cb0758..0808112 100644 --- a/base.nix +++ b/base.nix @@ -7,6 +7,7 @@ ./cachix.nix # update with `cachix use --mode nixos -d . FOOBAR` ./secrets ./profiles/locale-no.nix + ./profiles/ccache.nix ./profiles/upgrade-diff.nix ./profiles/lix.nix ./profiles/mounts/common-nfs.nix diff --git a/profiles/ccache.nix b/profiles/ccache.nix new file mode 100644 index 0000000..3bdf287 --- /dev/null +++ b/profiles/ccache.nix @@ -0,0 +1,47 @@ +{ + config, + pkgs, + lib, + ... +}: + +# TODO: sccache + +{ + programs.ccache.enable = true; + programs.ccache.owner = "root"; # default + programs.ccache.group = "nixbld"; # default + + programs.nix-required-mounts.enable = true; + programs.nix-required-mounts.allowedPatterns."ccache" = { + onFeatures = [ + "ccache" + # "sccache" + ]; + paths = [ + config.programs.ccache.cacheDir + # "/var/cache/sccache" + ]; + }; + + nix.settings.system-features = [ + "ccache" + # "sccache" + ]; + systemd.tmpfiles.settings."50-ccache" = + let + tmp = rec { + "d" = { + user = config.programs.ccache.owner; + group = config.programs.ccache.group; + mode = "0770"; + }; + "Z" = d; + }; + in + { + "/var/cache/ccache" = tmp; + # "/var/cache/sccache" = tmp; + }; + +}