{ inputs, outputs, lib, config, pkgs, variables, ... }: { system.stateVersion = "25.05"; imports = [ # Imports these as if they're in this file ./modules/index.nix ]; nixpkgs = { config = { # Allow proprietary packages allowUnfree = true; allowUnfreePredicate = (_: true); }; }; nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { settings = { # Enable the nix commands, which are useful, and flakes, which are useful and necessary for this experimental-features = "nix-command flakes"; }; gc = { # garbage collection automatic = true; dates = "weekly"; options = "--delete-older-than 14d"; }; }; boot.kernelPackages = pkgs.linuxPackages_latest; # If you set up disk encryption, paste the line that looks like this from your generated config # boot.initrd.luks.devices."LUKS-ID".device = "/dev/disk/by-uuid/DISK-UUID"; users.users = { ${variables.username} = { isNormalUser = true; extraGroups = [ "networkmanager" "wheel" "wireshark" ]; shell = pkgs.bash; description= "${variables.userDescription}"; }; }; }