diff --git a/hosts/default.nix b/hosts/default.nix index 6dda811..8c49165 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -97,7 +97,7 @@ in nixos-hardware.nixosModules.common-pc-ssd home-manager-unstable.nixosModules.home-manager { - nixpkgs-unstable.overlays = [ + nixpkgs.overlays = [ nur.overlay ]; home-manager.useGlobalPkgs = true; diff --git a/hosts/steamdeck/default.nix b/hosts/steamdeck/default.nix index faaefae..470fb84 100644 --- a/hosts/steamdeck/default.nix +++ b/hosts/steamdeck/default.nix @@ -67,14 +67,14 @@ }; services = { - blueman.enable = true; +# blueman.enable = true; printing = { # Printing and drivers for TS5300 enable = true; drivers = [ pkgs.gutenprint ]; }; avahi = { # Needed to find wireless printer enable = true; - nssmdns = true; + nssmdns4 = true; publish = { # Needed for detecting the scanner enable = true; addresses = true; diff --git a/hosts/steamdeck/hardware-configuration.nix b/hosts/steamdeck/hardware-configuration.nix index 624df49..1b317d6 100644 --- a/hosts/steamdeck/hardware-configuration.nix +++ b/hosts/steamdeck/hardware-configuration.nix @@ -17,82 +17,65 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - boot.tmp.useTmpfs = false; - boot.tmp.cleanOnBoot = true; + boot = { + initrd = { + availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + kernelModules = [ ]; + systemd.enable = true; + luks = { + devices."crypted" = { + device = "/dev/disk/by-partlabel/disk-nvme0n1-luks"; + allowDiscards = true; + }; + }; + }; + + kernelModules = [ "kvm-amd" ]; + kernelParams = [ "luks.options=fido2-device=auto" ]; + tmp.useTmpfs = false; + tmp.cleanOnBoot = true; + }; + zramSwap.enable = true; -# services.btrfs.autoScrub = { -# enable = true; -# interval = "monthly"; -# fileSystems = [ -# "/" -# ]; -# }; -# -# services.btrbk = { -# instances = { -# hf = { -# onCalendar = "hourly"; -# settings = { -# incremental = "yes"; -# snapshot_create = "ondemand"; -# snapshot_dir = "@snapshots"; -# timestamp_format = "long"; -# -# snapshot_preserve = "2m 2w 5d 5h"; -# snapshot_preserve_min = "latest"; -# -# volume = { -# "/mnt/snapshots/root" = { -# snapshot_create = "always"; -# subvolume = { -# "@home" = {}; -# }; -# }; -# }; -# }; -# }; -# }; -# }; + services.btrfs.autoScrub = { + enable = true; + interval = "monthly"; + fileSystems = [ + "/" + ]; + }; -# fileSystems."/" = -# { device = "/dev/disk/by-label/NIXROOT"; -# fsType = "btrfs"; -# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ]; -# }; -# -# fileSystems."/home" = -# { device = "/dev/disk/by-label/NIXROOT"; -# fsType = "btrfs"; -# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ]; -# }; -# -# fileSystems."/srv" = -# { device = "/dev/disk/by-label/NIXROOT"; -# fsType = "btrfs"; -# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ]; -# }; -# -# fileSystems."/nix" = -# { device = "/dev/disk/by-label/NIXROOT"; -# fsType = "btrfs"; -# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ]; -# }; -# -# fileSystems."/mnt/snapshots/root" = -# { device = "/dev/disk/by-label/NIXROOT"; -# fsType = "btrfs"; -# options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ]; -# }; + services.btrbk = { + instances = { + hf = { + onCalendar = "hourly"; + settings = { + incremental = "yes"; + snapshot_create = "ondemand"; + snapshot_dir = "@snapshots"; + timestamp_format = "long"; + + snapshot_preserve = "2m 2w 5d 5h"; + snapshot_preserve_min = "latest"; + + volume = { + "/mnt/snapshots/root" = { + snapshot_create = "always"; + subvolume = { + "@home" = {}; + }; + }; + }; + }; + }; + }; + }; fileSystems."/" = - { device = "/dev/disk/by-label/NIXROOT"; - fsType = "ext4"; - options = [ "defaults,noatime" ]; + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ]; }; fileSystems."/boot" = @@ -100,10 +83,46 @@ fsType = "vfat"; }; + fileSystems."/home" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ]; + }; + + fileSystems."/nix" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ]; + }; + + fileSystems."/srv" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ]; + }; + + fileSystems."/swap" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@swap,discard=async" ]; + }; + + fileSystems."/opt" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@opt,discard=async" ]; + }; + + fileSystems."/mnt/snapshots/root" = + { device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ]; + }; + fileSystems."/sdcard" = { device = "/dev/disk/by-label/sdcard"; fsType = "ext4"; - options = [ "nofail,noauto,x-systemd.automount" ]; + options = [ "nofail,noauto,users,x-systemd.automount" ]; }; fileSystems."/mnt/Pluto" = @@ -118,14 +137,13 @@ options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ]; }; - swapDevices = [ - { device = "/dev/disk/by-label/NIXSWAP"; } - ]; + + swapDevices = [ { device = "/swap/swapfile"; } ]; networking = { useDHCP = false; # Deprecated - hostName = "nix-steamdeck"; + hostName = "steamdeck"; wireless.iwd.enable = true; networkmanager = { enable = true; @@ -154,4 +172,8 @@ }; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + #powerManagement.powertop.enable = true; + powerManagement = { + scsiLinkPolicy = "med_power_with_dipm"; + }; } diff --git a/hosts/steamdeck/hardware-configuration_luks.nix b/hosts/steamdeck/hardware-configuration_luks.nix deleted file mode 100644 index d3d159c..0000000 --- a/hosts/steamdeck/hardware-configuration_luks.nix +++ /dev/null @@ -1,173 +0,0 @@ -# -# Hardware settings for Teclast F5 10" Laptop -# NixOS @ sda2 -# -# flake.nix -# └─ ./hosts -# └─ ./laptop -# └─ hardware-configuration.nix * -# -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot = { - initrd = { - availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; - kernelModules = [ ]; - systemd.enable = true; - luks = { - devices."crypted" = { - device = "/dev/disk/by-partlabel/disk-nvme0n1-luks"; - allowDiscards = true; - }; - }; - }; - - kernelModules = [ "kvm-amd" ]; - kernelParams = [ "luks.options=fido2-device=auto" ]; - tmp.useTmpfs = false; - tmp.cleanOnBoot = true; - }; - - zramSwap.enable = true; - - services.btrfs.autoScrub = { - enable = true; - interval = "monthly"; - fileSystems = [ - "/" - ]; - }; - - services.btrbk = { - instances = { - hf = { - onCalendar = "hourly"; - settings = { - incremental = "yes"; - snapshot_create = "ondemand"; - snapshot_dir = "@snapshots"; - timestamp_format = "long"; - - snapshot_preserve = "2m 2w 5d 5h"; - snapshot_preserve_min = "latest"; - - volume = { - "/mnt/snapshots/root" = { - snapshot_create = "always"; - subvolume = { - "@home" = {}; - }; - }; - }; - }; - }; - }; - }; - - fileSystems."/" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@,discard=async" ]; - }; - - fileSystems."/home" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@home,discard=async" ]; - }; - - fileSystems."/srv" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@srv,discard=async" ]; - }; - - fileSystems."/opt" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@opt,discard=async" ]; - }; - - fileSystems."/nix" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvol=@nix,discard=async" ]; - }; - - fileSystems."/mnt/snapshots/root" = - { device = "/dev/mapper/crypted"; - fsType = "btrfs"; - options = [ "compress=zstd,space_cache=v2,ssd,noatime,subvolid=5,discard=async" ]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-label/NIXBOOT"; - fsType = "vfat"; - }; - - fileSystems."/sdcard" = - { device = "/dev/disk/by-label/sdcard"; - fsType = "ext4"; - options = [ "nofail,noauto,users,x-systemd.automount" ]; - }; - - fileSystems."/mnt/Pluto" = - { device = "jupiter:/Pluto"; - fsType = "nfs"; - options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ]; - }; - - fileSystems."/mnt/Mars" = - { device = "jupiter:/Mars"; - fsType = "nfs"; - options = [ "nofail,noauto,users,x-systemd.automount,x-systemd.device-timeout=10,soft,timeo=14,x-systemd.idle-timeout=1min,sec=sys,exec,nfsvers=4.2" ]; - }; - - - swapDevices = [ { device = "/swap/swapfile"; } ]; - - - networking = { - useDHCP = false; # Deprecated - hostName = "nix-steamdeck"; - wireless.iwd.enable = true; - networkmanager = { - enable = true; - wifi = { - backend = "iwd"; - powersave = true; - }; - }; -# interfaces = { -# wlan0 = { -# useDHCP = true; # For versatility sake, manually edit IP on nm-applet. -# #ipv4.addresses = [ { -# # address = "192.168.0.51"; -# # prefixLength = 24; -# #} ]; -# }; -# }; - #defaultGateway = "192.168.0.1"; - #nameservers = [ "192.168.0.4" ]; - firewall = { - checkReversePath = "loose"; - # enable = false; - # #allowedUDPPorts = [ 53 67 ]; - # #allowedTCPPorts = [ 53 80 443 9443 ]; - }; - }; - - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - #powerManagement.powertop.enable = true; - powerManagement = { - scsiLinkPolicy = "med_power_with_dipm"; - }; -}