{ config, pkgs, lib, inputs, ... }: { imports = [ inputs.sops-nix.nixosModules.sops inputs.home-manager.nixosModules.default ]; services = { xserver = { #enable = true; videoDrivers = ["nvidia"]; }; displayManager = { enable = true; defaultSession = "hyprland"; autoLogin = { enable = true; user = "nathan"; }; }; pulseaudio.enable = false; }; systemd.extraConfig = "DefaultLimitNOFILE=2048"; environment.sessionVariables = { WLR_BACKENDS = "headless"; WLR_LIBINPUT_NO_DEVICES = "1"; }; programs.zsh.enable = true; environment.shells = with pkgs; [ zsh ]; users.defaultUserShell = pkgs.zsh; nixpkgs.config.allowUnfree = true; # Set your time zone. time.timeZone = "America/Chicago"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; services.displayManager.sddm.settings.AutoLogin = { User = "nathan"; Session = "hyprland"; Relogin = true; }; networking = { hostName = "container"; nameservers = [ "1.1.1.1" "1.0.0.1" ]; networkmanager.enable = true; }; system.stateVersion = "25.05"; # Did you read the comment? users.users."nathan" = { isNormalUser = true; initialPassword = "7567"; #hashedPasswordFile = config.sops.secrets."nathan/pass".path; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAsU69CxfQk58CvItPN426h5Alnpb60SH37wet97Vb57 nathan@laptop" ]; }; nix = { nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; settings = { experimental-features = [ "nix-command" "flakes" ]; }; }; sops = { age.keyFile = "/home/nathan/.config/sops/age/keys.txt"; defaultSopsFile = ./secrets.yaml; defaultSopsFormat = "yaml"; secrets = { "nathan/pass" = { neededForUsers = true; }; }; }; programs.fuse.userAllowOther = true; home-manager = { backupFileExtension = "backup"; extraSpecialArgs = {inherit inputs;}; users = { "nathan" = lib.mkMerge [ inputs.nathan-home-manager { config.homeconfig = { host = "homebox"; minimal = false; wayvnc.enable = true; impermanence.enable = true; hyprland.enable = true; swaylock.enable = true; wal.enable = true; mpd.enable = true; ags.enable = true; calcurse.enable = true; rofi.enable = true; firefox.enable = true; }; } ]; }; }; sysconfig = { opts = { novnc.enable = true; sddm.enable = true; openssh.enable = true; pipewire.enable = true; ags.enable = true; hyprland.enable = true; git.enable = true; nh.enable = true; netbird.enable = true; }; }; fonts.packages = with pkgs; [ nerd-fonts.fira-code ]; }