{ config, lib, namespace, ... }: { programs.ccache = { enable = true; packageNames = [ "ffmpeg" "ffmpeg-headless-rpi" "gjs" "gst-plugins-bad" "gtk4" "jemalloc" "libcamera-rpi" "libraspberrypi" "libsecret" "linux" "pipewire" "qemu" "raspberrypi-utils" "sdl" "sdl2" "uv" # "yubioath-flutter" ]; cacheDir = "/var/cache/ccache"; # default location }; # nixpkgs.overlays = [ # (self: super: { # "yubioath-flutter" = super."yubioath-flutter".override { stdenv = super.ccacheStdenv; }; # }) # ]; nix = { settings = { extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; substituters = [ "https://cache.mjallen.dev/nas-cache" "https://nixos-raspberrypi.cachix.org" "https://nix-community.cachix.org" "https://cache.nixos.org/" ]; trusted-public-keys = [ "nas-cache:Y7PR+XTLr1bLIL85PKb9Tk9/BnE5HndTKvZYWVP1/48=" "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; warn-dirty = lib.mkForce false; experimental-features = lib.mkForce [ "nix-command" "flakes" ]; trusted-users = [ "@wheel" ]; }; # Garbage collect automatically every week gc.automatic = lib.mkDefault true; gc.options = lib.mkDefault "--delete-older-than 30d"; optimise.automatic = lib.mkDefault true; }; nixpkgs = { config = { cudaSupport = lib.mkDefault config.${namespace}.hardware.nvidia.enable; rocmSupport = lib.mkDefault config.${namespace}.hardware.amd.enable; allowUnsupportedSystem = true; }; }; }