# This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) { inputs, lib, config, pkgs, ... }: { imports = [ ./variables.nix ./nvidia.nix ./hardware-configuration.nix ]; boot.loader = { efi.canTouchEfiVariables = true; grub = { enable = true; useOSProber = true; efiSupport = true; fsIdentifier = "label"; devices = [ "nodev" ]; extraEntries = '' menuentry "Reboot" { reboot } menuentry "Poweroff" { halt } ''; }; }; security.polkit.enable = true; services.gnome.gnome-keyring.enable = true; programs.sway = { enable = true; wrapperFeatures.gtk = true; }; nixpkgs = { overlays = [ ]; config = { allowUnfree = true; }; }; nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { settings = { experimental-features = "nix-command flakes"; flake-registry = ""; nix-path = config.nix.nixPath; }; registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; }; networking = { hostName = "${config.myHostName}"; networkmanager.enable = true; }; users.users = { "${config.myUserName}" = { initialPassword = "stevenpassword"; isNormalUser = true; openssh.authorizedKeys.keys = [ ]; packages = with pkgs; [ nh ]; extraGroups = ["wheel"]; }; }; services.openssh = { enable = true; settings = { PermitRootLogin = "no"; PasswordAuthentication = false; }; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "24.05"; }