{ lib, ... }: { # restrict nix command to sudoers nix.settings.allowed-users = [ "@wheel" ]; # experimental features nix.settings.experimental-features = [ "nix-command" "flakes" ]; # optimizations nix.settings.auto-optimise-store = true; # garbage collection nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; # binary caches nix.settings = { substituters = [ "https://hyprland.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; }; # list of allowed unfree packages nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "vscode" "vscode-extension-github-copilot" "vscode-extension-github-copilot-chat" "vscode-extension-ms-vsliveshare-vsliveshare" ]; system.activationScripts.nvd-report-changes = '' PATH=$PATH:${lib.makeBinPath [ pkgs.nvd pkgs.nix ]} nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2) ''; }