{ pkgs, lib, inputs, config, outputs, ... }: let sopsHashedPasswordFile = lib.optionalString (lib.hasAttr "sops-nix" inputs) config.sops.secrets."passwords/root".path; in { imports = [ inputs.impermanence.nixosModules.impermanence ./sops.nix ./locale.nix ]; nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages inputs.nur.overlay ]; config = { allowUnfree = true; }; }; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; nix.settings.experimental-features = [ "nix-command" "flakes" ]; users = { mutableUsers = true; extraUsers = { root = { hashedPasswordFile = sopsHashedPasswordFile; }; }; }; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; environment.systemPackages = [ pkgs.rsync pkgs.curl pkgs.just pkgs.git pkgs.vim ]; system.stateVersion = "24.05"; }