{ config, pkgs, self, lib, ... }: { nix = { package = pkgs.nixUnstable; systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; autoOptimiseStore = true; gc.automatic = true; optimise.automatic = true; useSandbox = true; allowedUsers = [ "@wheel" ]; trustedUsers = [ "root" "@wheel" ]; extraOptions = '' min-free = 536870912 keep-outputs = true keep-derivations = true fallback = true ''; }; environment = { systemPackages = with pkgs; [ nix-index nixfmt nixpkgs-fmt ]; shellAliases = let ifSudo = lib.mkIf config.security.sudo.enable; in { # nix n = "nix"; np = "n profile"; ni = "np install"; nr = "np remove"; ns = "n search --no-update-lock-file"; nf = "n flake"; nepl = "n repl ''"; srch = "ns nixos"; nrb = ifSudo "sudo nixos-rebuild"; mn = '' manix "" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="manix '{}'" | xargs manix ''; # fix nixos-option nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat"; }; }; nixpkgs.config = { allowUnfree = true; }; home-manager = { useUserPackages = true; useGlobalPkgs = true; }; }