{ config, pkgs, lib, inputs, ... }: { imports = [ ./hardware-configuration.nix inputs.system.nixosModule inputs.home-manager.nixosModules.default inputs.sops-nix.nixosModules.sops ]; nixpkgs.config.allowUnfree = true; # Bootloader. boot = { loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; kernelParams = [ "snd-intel-dspcfg.dsp_driver=1" ]; }; hardware = { graphics.enable = true; nvidia = { modesetting.enable = true; powerManagement.enable = true; powerManagement.finegrained = false; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.beta; prime = { # Make sure to use the correct Bus ID values for your system! intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; # WARNING: sync and offload are mutually exclusive. # You can only pick one!! #sync.enable = true; offload = { enable = true; enableOffloadCmd = true; }; }; }; #enable bluetooth bluetooth.enable = true; pulseaudio.enable = false; }; sysconfig.opts = { sddm.enable = true; openssh.enable = false; steam.enable = true; pipewire.enable = true; ags.enable = true; hyprland.enable = true; git.enable = true; nh.enable = true; }; home-manager = { backupFileExtension = "backup"; extraSpecialArgs = { inherit inputs; }; users = { "nathan" = lib.mkMerge [ { config.homeconfig = { impermanence.enable = false; hyprland.enable = true; swaylock.enable = true; wal.enable = true; wayvnc.enable = false; mpd.enable = true; ags.enable = true; calcurse.enable = true; rofi.enable = true; firefox.enable = true; }; } inputs.nathan.homeManagerModule ]; }; }; # Enable the X11 windowing system. services.xserver = { enable = true; videoDrivers = ["nvidia"]; }; services.displayManager.enable = true; services.avahi = { enable = true; ipv4 = true; ipv6 = true; openFirewall = true; nssmdns4 = true; wideArea = true; }; environment.shells = with pkgs; [ zsh ]; # Enable CUPS to print documents. services.printing.enable = true; programs.adb.enable = true; users.defaultUserShell = pkgs.zsh; programs.zsh.enable = true; system.stateVersion = "23.05"; # Did you read the comment? }