diff --git a/modules/hosts/desktop/configuration.nix b/modules/hosts/desktop/configuration.nix index 94980cd..af182f1 100644 --- a/modules/hosts/desktop/configuration.nix +++ b/modules/hosts/desktop/configuration.nix @@ -6,8 +6,10 @@ { flake.nixosModules.lily-desktop = { pkgs, ... }: { # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; +}; networking.hostName = "lily-desktop"; # Define your hostname. @@ -47,20 +49,21 @@ flake.nixosModules.lily-desktop = { pkgs, ... }: { services.desktopManager.gnome.enable = true; # Enable CUPS to print documents. - # services.printing.enable = true; + services.printing.enable = true; # Enable sound. # services.pulseaudio.enable = true; # OR - # services.pipewire = { - # enable = true; - # pulse.enable = true; - # }; + services.pipewire = { + enable = true; + pulse.enable = true; + }; # Enable touchpad support (enabled default in most desktopManager). # services.libinput.enable = true; programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). @@ -83,10 +86,10 @@ flake.nixosModules.lily-desktop = { pkgs, ... }: { # List services that you want to enable: # Enable the OpenSSH daemon. - # services.openssh.enable = true; + services.openssh.enable = true; # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; + networking.firewall.allowedTCPPorts = [ 22 ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # networking.firewall.enable = false; diff --git a/modules/hosts/desktop/hardware-configuration.nix b/modules/hosts/desktop/hardware-configuration.nix index 6f479a5..b42a641 100644 --- a/modules/hosts/desktop/hardware-configuration.nix +++ b/modules/hosts/desktop/hardware-configuration.nix @@ -1,37 +1,73 @@ { -flake.nixosModules.lily-desktop = { config, lib, modulesPath, pkgs, self, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + flake.nixosModules.lily-desktop = { config, lib, modulesPath, pkgs, self, ... }: { + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; + boot = { + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + kernelModules = [ "nvidia" ]; + luks.devices = { + "root".device = "/dev/disk/by-uuid/8573b24b-461f-40bf-b16b-9de1207c0696"; + "8tb".device = "/dev/disk/by-uuid/140a35ca-67f9-41df-8414-51dcccc1a620"; + "12tb".device = "/dev/disk/by-uuid/c6c23b31-a8d7-4b96-8caa-b2bdbcd49e72"; + }; + }; + kernelModules = [ "kvm-amd" ]; + extraModulePackages = [ config.boot.kernelPackages.nvidiaPackages.stable ]; + }; - fileSystems."/" = - { device = "/dev/mapper/root"; - fsType = "btrfs"; - options = [ "subvol=@nixroot" ]; - }; + fileSystems = { + "/" = { + device = "/dev/mapper/root"; + fsType = "btrfs"; + options = [ "subvol=@nixroot" "compress=zstd" ]; + }; + "/boot" = { + device = "/dev/disk/by-uuid/5598-7465"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + "/home" = { + device = "/dev/mapper/root"; + fsType = "btrfs"; + options = [ "subvol=@home" "compress=zstd" ]; + }; + "/media/8tb" = { + device = "/dev/disk/by-uuid/a484bd77-f454-44f9-b356-e5d9781583bc"; + fsType = "btrfs"; + options = [ "compress=zstd" ]; + }; + "/media/12tb" = { + device = "/dev/disk/by-uuid/c28abd09-22a1-46d7-8a61-4212143baafc"; + fsType = "btrfs"; + options = [ "compress=zstd" ]; + }; - boot.initrd.luks.devices."root".device = "/dev/disk/by-uuid/8573b24b-461f-40bf-b16b-9de1207c0696"; + }; + + services.btrfs.autoScrub.enable = true; + + swapDevices = [ + { device = "/media/8tb/swapfile"; } + ]; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/5598-7465"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware = { + graphics = { + enable = true; + enable32Bit = true; + }; + nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; - fileSystems."/home" = - { device = "/dev/mapper/root"; - fsType = "btrfs"; - options = [ "subvol=@home" ]; - }; - swapDevices = [ ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -}; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; }