# Nix configuration for NixOS { config, inputs, ... }: let autoGarbageCollector = config.var.autoGarbageCollector; in { security.sudo.extraRules = [ { users = [ config.var.username ]; commands = [ { command = "/run/current-system/sw/bin/nixos-rebuild"; options = [ "NOPASSWD" ]; } ]; } ]; nixpkgs.config.allowUnfree = true; nix = { nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; channel.enable = false; extraOptions = '' warn-dirty = false ''; settings = { download-buffer-size = 262144000; # 250 MB (250 * 1024 * 1024) auto-optimise-store = true; trusted-users = [ config.var.username ]; # Allows remote nixos-rebuild to vps experimental-features = [ "nix-command" "flakes" ]; substituters = [ # high priority since it's almost always used "https://cache.nixos.org?priority=10" "https://hyprland.cachix.org" "https://nix-community.cachix.org" "https://numtide.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" ]; }; gc = { automatic = autoGarbageCollector; persistent = true; dates = "weekly"; options = "--delete-older-than 7d"; }; }; }