{ config, pkgs, ... }: { # Allow unfree packages (NVIDIA drivers, Steam) nixpkgs.config.allowUnfree = true; # Bootloader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Networking networking.hostName = "ringtail"; networking.networkmanager.enable = true; # Time zone time.timeZone = "America/Los_Angeles"; # Locale i18n.defaultLocale = "en_US.UTF-8"; # NVIDIA proprietary drivers hardware.graphics.enable = true; services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia = { modesetting.enable = true; open = false; # Use proprietary driver for RTX 4080 nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; # Wayland / Sway programs.sway = { enable = true; wrapperFeatures.gtk = true; extraSessionCommands = '' export WLR_NO_HARDWARE_CURSORS=1 ''; extraPackages = with pkgs; [ swaylock swayidle wezterm # terminal wmenu # app launcher mako # notifications grim # screenshots slurp # region selection ]; }; security.polkit.enable = true; # Enable greetd as display manager for sway services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd 'sway --unsupported-gpu'"; user = "greeter"; }; }; }; # PipeWire for audio services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; }; # Steam programs.steam = { enable = true; dedicatedServer.openFirewall = true; }; # Tailscale services.tailscale = { enable = true; extraUpFlags = [ "--accept-routes" "--ssh" ]; }; # SSH services.openssh = { enable = true; settings = { PasswordAuthentication = false; PermitRootLogin = "no"; }; }; # User account users.users.eblume = { isNormalUser = true; initialPassword = "changeme"; extraGroups = [ "wheel" "networkmanager" "video" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmh1SSCdDAyu3vkSQH7kAXEPDi8APyjo9JXDTjtha2j" ]; }; # System packages environment.systemPackages = with pkgs; [ git vim htop curl wget ]; # Enable nix flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; # NixOS release system.stateVersion = "25.11"; }