{ host, pkgs, config, lib, ...}: let cfg = config.system-nix; in { options.system-nix = { enable = lib.mkOption { type = lib.types.bool; default = true; }; }; config = lib.mkIf cfg.enable { programs = { nix-index = { enableBashIntegration = false; enableZshIntegration = false; }; nix-index-database.comma.enable = true; }; nix = { package = pkgs.nixVersions.nix_2_31; # https://github.com/serokell/deploy-rs/issues/340 settings = { auto-optimise-store = true; substituters = [ "https://install.determinate.systems" "https://nvim-treesitter-main.cachix.org" ]; trusted-public-keys = [ "cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=" "nvim-treesitter-main.cachix.org-1:cbwE6blfW5+BkXXyeAXoVSu1gliqPLHo2m98E4hWfZQ=" ]; trusted-users = [ host.username ]; experimental-features = [ "nix-command" "flakes" ]; # lazy-trees = true; # https://github.com/serokell/deploy-rs/issues/340 }; channel.enable = false; nixPath = [ "nixpkgs=flake:nixpkgs" ]; gc = { automatic = true; dates = "00:00"; options = "--delete-older-than 14d"; }; }; }; }