{ config, pkgs, lib, inputs, ... }: { imports = [ ./hardware-configuration.nix inputs.disko.nixosModules.default (import ./disko.nix { device1 = "/dev/nvme0n1"; device2 = "/dev/nvme1n1"; device3 = "/dev/sda"; }) inputs.sops-nix.nixosModules.sops inputs.home-manager.nixosModules.default ]; config = { boot = { kernelPackages = pkgs.linuxKernel.packages.linux_6_16; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; binfmt.emulatedSystems = lib.mkIf config.sysconfig.remoteBuildHost [ "aarch64-linux" ]; }; hardware = { graphics.enable = true; nvidia = { modesetting.enable = true; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; bluetooth.enable = true; }; services = { xserver = { enable = false; videoDrivers = ["nvidia"]; }; displayManager = { enable = false; 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 bashInteractive ]; nixpkgs.config.allowUnfree = true; services.displayManager.sddm.settings.AutoLogin = { User = "nathan"; Session = "hyprland"; Relogin = true; }; networking = { nameservers = lib.mkDefault [ "1.1.1.1" "1.0.0.1" ]; networkmanager = { enable = true; dns = "none"; }; nftables = {}; nat = { enable = true; internalInterfaces = [ "ve-+" ]; externalInterface = "wlp7s0"; }; }; system.stateVersion = "23.05"; # Did you read the comment? sops = { age.keyFile = "/var/lib/sops/age/keys.txt"; defaultSopsFile = ./secrets.yaml; defaultSopsFormat = "yaml"; secrets = { "nathan/pass" = { neededForUsers = true; }; }; }; services.getty = { autologinUser = "nathan"; }; programs.zsh.shellInit = '' if [ -z "''${WAYLAND_DISPLAY}" ] && [ "''${XDG_VTNR}" -eq 1 ]; then dbus-run-session Hyprland fi ''; systemd.services.hyprland = {}; sysconfig = { remoteBuildHost = true; host = "homebox"; graphical = true; users = { nathan = { extraGroups = [ "wheel" "networkmanager" ]; sshKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAsU69CxfQk58CvItPN426h5Alnpb60SH37wet97Vb57 nathan@laptop" ]; shell = pkgs.zsh; hashedPasswordFile = config.sops.secrets."nathan/pass".path; home-manager = { enable = true; extraModules = [ { homeconfig = { minimal = false; hyprland.enable = false; hyprlock.enable = false; wal.enable = true; mpd.enable = true; hyprpanel.enable = false; calcurse.enable = true; rofi.enable = false; firefox.enable = false; git.enable = true; nh.enable = true; }; services.hypridle.enable = lib.mkForce false; home.packages = [ pkgs.wayvnc ]; } ]; }; }; }; services = { sddm.enable = false; openssh.enable = true; pipewire.enable = true; netbird.enable = true; minecraft.enable = false; }; programs = { hyprland.enable = false; hyprpanel.enable = false; steam.enable = false; }; virtualization = { traefik.enable = true; jellyfin.enable = true; "esotericbytes.com".enable = true; nextcloud.enable = true; ntfy.enable = false; gitea.enable = true; n8n.enable = true; keycloak.enable = true; netbird.enable = true; ollama.enable = true; openwebui.enable = true; homeassistant.enable = true; wyoming = { enable = true; piper = false; openwakeword = true; faster-whisper = true; }; rustdesk.enable = false; #broken #pihole.enable = false; #broken code-server.enable = false; novnc.enable = false; minecraft.enable = true; sandbox.enable = false; }; }; fonts.packages = with pkgs; [ nerd-fonts.fira-code ]; }; }