From 82ec09c4fb2e8e6614826516a29ec8b3adc5d71a Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 4 May 2025 03:38:23 +0200 Subject: [PATCH] ccache --- base.nix | 1 + profiles/ccache.nix | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 profiles/ccache.nix 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; + }; + +}