diff options
Diffstat (limited to 'nixos/configuration.nix')
-rw-r--r-- | nixos/configuration.nix | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/nixos/configuration.nix b/nixos/configuration.nix new file mode 100644 index 0000000..bbcc3f8 --- /dev/null +++ b/nixos/configuration.nix @@ -0,0 +1,85 @@ +# This is your system's configuration file. +# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) +{ + inputs, + lib, + config, + pkgs, + ... +}: +let +myHostName = "homelab-nix"; +stevenUserName = "stvnliu"; +in +{ + imports = [ +#inputs.hardware.nixosModules.common-cpu-amd +#inputs.hardware.nixosModules.common-ssd + ./hardware-configuration.nix + ./services/display-manager.nix + ]; + boot.loader = { + efi.canTouchEfiVariables = true; + grub = { + enable = true; + useOSProber = true; + efiSupport = true; + fsIdentifier = "label"; + devices = [ "nodev" ]; + extraEntries = '' + menuentry "Reboot" { + reboot + } + menuentry "Poweroff" { + halt + } + ''; + }; + }; + 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 = "${myHostName}"; + networkmanager.enable = true; + }; + users.users = { + "${stevenUserName}" = { + initialPassword = "stevenpassword"; + isNormalUser = true; + openssh.authorizedKeys.keys = [ + ]; + packages = with pkgs; [ + nh + neovim + gitFull + ]; + 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"; +} |