From 286b514e1918d794ab56928efdfbc114c6b6c4d9 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Thu, 26 Sep 2024 22:01:13 -0400 Subject: [PATCH 01/23] base: add thinkpad trackpoint kb udev rules --- common/base.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/base.nix b/common/base.nix index bfab9599..4c0a2ad0 100644 --- a/common/base.nix +++ b/common/base.nix @@ -45,6 +45,12 @@ openFirewall = true; settings.PasswordAuthentication = false; }; + + udev.extraRules = '' + # Disable Fn Lock for ThinkPad Trackpoint USB/Bluetooth Keyboard + SUBSYSTEM=="hid", DRIVER=="lenovo", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6047|60ee", ATTR{fn_lock}="0" + SUBSYSTEM=="input", ATTRS{id/vendor}=="17ef", ATTRS{id/product}=="6048|60e1", TEST=="/sys/$devpath/device/fn_lock", RUN+="/bin/sh -c 'echo 0 > \"/sys/$devpath/device/fn_lock\"'" + ''; }; sound.enable = true; From cfcd1aca50e101a76626e8f7298d7b87b9be17c5 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Thu, 26 Sep 2024 22:01:24 -0400 Subject: [PATCH 02/23] lavaridge: change background --- hosts/lavaridge/stylix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/lavaridge/stylix.nix b/hosts/lavaridge/stylix.nix index fd317ea4..194f2331 100644 --- a/hosts/lavaridge/stylix.nix +++ b/hosts/lavaridge/stylix.nix @@ -6,7 +6,7 @@ stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; - image = "${self.inputs.wallpapers}/wallhaven-mp886k.jpg"; + image = "${self.inputs.wallpapers}/wallhaven-3lyrvy.png"; imageScalingMode = "fill"; polarity = "dark"; From de94ddb87524bf900cb5368720ea45c5181b23db Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 09:04:51 -0400 Subject: [PATCH 03/23] flake.lock: Update (#110) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/624fd86460e482017ed9c3c3c55a3758c06a4e7f?narHash=sha256-5zShvCy9S4tuISFjNSjb%2BTWpPtORqPbRZ0XwbLbPLho%3D' (2024-09-19) → 'github:nix-community/disko/67dc29be3036cc888f0b9d4f0a788ee0f6768700?narHash=sha256-5PltTychnExFwzpEnY3WhOywaMV/M6NxYI/y3oXuUtw%3D' (2024-09-26) • Updated input 'home-manager': 'github:nix-community/home-manager/2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594?narHash=sha256-2Y6CDvD/BD43WLS77PHu6dUHbdUfFhuzkY8oJAecD/U%3D' (2024-09-17) → 'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176?narHash=sha256-Vl%2BWVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM%3D' (2024-09-22) • Updated input 'nixhw': 'github:alyraffauf/nixhw/42685325fa3ca92404b73221ffc8fae1e1671154?narHash=sha256-JyOFDaIHTTpVp1uO/3M4md6KNIXXhcD8ztDlDST0VL8%3D' (2024-09-24) → 'github:alyraffauf/nixhw/193e927e1d6b9f567ac9beb04fe7ca16e45a4edb?narHash=sha256-80ll70/S/rENWSp63jxpPnENSlM3BcO6vh/1DjjPIrs%3D' (2024-09-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/23cbb250f3bf4f516a2d0bf03c51a30900848075?narHash=sha256-8fnFlXBgM/uSvBlLWjZ0Z0sOdRBesyNdH0%2BesxqizGc%3D' (2024-09-22) → 'github:nixos/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106?narHash=sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao%3D' (2024-09-25) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/99dc8785f6a0adac95f5e2ab05cc2e1bf666d172?narHash=sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c%3D' (2024-09-16) → 'github:nixos/nixpkgs/30439d93eb8b19861ccbe3e581abf97bdc91b093?narHash=sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk%3D' (2024-09-23) • Updated input 'nur': 'github:nix-community/NUR/cf02274315ba8e91aa8c4bc5e336760af35f42e5?narHash=sha256-QjeSsVQo6q7gmWpAreIebQC4fLv4cIgQiPsJjgHmb6E%3D' (2024-09-20) → 'github:nix-community/NUR/29e6d9d93fca1f1093a432c21104c72a8d044fee?narHash=sha256-Oue4ulh0EeTOSDVZkhJk4oRav2I3MoROqDJpzLfivh8%3D' (2024-09-27) Co-authored-by: github-actions[bot] --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 0fe9c7f7..1d6dd84e 100644 --- a/flake.lock +++ b/flake.lock @@ -187,11 +187,11 @@ ] }, "locked": { - "lastModified": 1726775926, - "narHash": "sha256-5zShvCy9S4tuISFjNSjb+TWpPtORqPbRZ0XwbLbPLho=", + "lastModified": 1727359191, + "narHash": "sha256-5PltTychnExFwzpEnY3WhOywaMV/M6NxYI/y3oXuUtw=", "owner": "nix-community", "repo": "disko", - "rev": "624fd86460e482017ed9c3c3c55a3758c06a4e7f", + "rev": "67dc29be3036cc888f0b9d4f0a788ee0f6768700", "type": "github" }, "original": { @@ -354,11 +354,11 @@ ] }, "locked": { - "lastModified": 1726592409, - "narHash": "sha256-2Y6CDvD/BD43WLS77PHu6dUHbdUfFhuzkY8oJAecD/U=", + "lastModified": 1726989464, + "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594", + "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "type": "github" }, "original": { @@ -444,11 +444,11 @@ ] }, "locked": { - "lastModified": 1727183733, - "narHash": "sha256-JyOFDaIHTTpVp1uO/3M4md6KNIXXhcD8ztDlDST0VL8=", + "lastModified": 1727291538, + "narHash": "sha256-80ll70/S/rENWSp63jxpPnENSlM3BcO6vh/1DjjPIrs=", "owner": "alyraffauf", "repo": "nixhw", - "rev": "42685325fa3ca92404b73221ffc8fae1e1671154", + "rev": "193e927e1d6b9f567ac9beb04fe7ca16e45a4edb", "type": "github" }, "original": { @@ -459,11 +459,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726969270, - "narHash": "sha256-8fnFlXBgM/uSvBlLWjZ0Z0sOdRBesyNdH0+esxqizGc=", + "lastModified": 1727264057, + "narHash": "sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23cbb250f3bf4f516a2d0bf03c51a30900848075", + "rev": "759537f06e6999e141588ff1c9be7f3a5c060106", "type": "github" }, "original": { @@ -491,11 +491,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1726463316, - "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", + "lastModified": 1727122398, + "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", + "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093", "type": "github" }, "original": { @@ -507,11 +507,11 @@ }, "nur": { "locked": { - "lastModified": 1726811691, - "narHash": "sha256-QjeSsVQo6q7gmWpAreIebQC4fLv4cIgQiPsJjgHmb6E=", + "lastModified": 1727413844, + "narHash": "sha256-Oue4ulh0EeTOSDVZkhJk4oRav2I3MoROqDJpzLfivh8=", "owner": "nix-community", "repo": "NUR", - "rev": "cf02274315ba8e91aa8c4bc5e336760af35f42e5", + "rev": "29e6d9d93fca1f1093a432c21104c72a8d044fee", "type": "github" }, "original": { From 8bfa0a602e5b1beb161a2e67c185285752db3cbb Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 10:21:18 -0400 Subject: [PATCH 04/23] tree: add nixhw modules as flake outputs (#111) --- flake.lock | 21 ----------- flake.nix | 20 ++++++++--- hosts/fallarbor/default.nix | 2 +- hosts/lavaridge/default.nix | 2 +- hosts/mauville/default.nix | 8 ++--- hosts/petalburg/default.nix | 2 +- hosts/rustboro/default.nix | 2 +- hosts/slateport/default.nix | 8 ++--- hwModules/common/bluetooth/default.nix | 22 ++++++++++++ hwModules/common/cpu/amd/default.nix | 9 +++++ hwModules/common/cpu/intel/default.nix | 5 +++ hwModules/common/gpu/amd/default.nix | 14 ++++++++ hwModules/common/gpu/intel/default.nix | 32 +++++++++++++++++ hwModules/common/laptop/amd-gpu.nix | 2 ++ hwModules/common/laptop/default.nix | 27 ++++++++++++++ hwModules/common/laptop/intel-cpu.nix | 4 +++ hwModules/common/ssd/default.nix | 3 ++ hwModules/framework/13/amd-7000/default.nix | 30 ++++++++++++++++ hwModules/framework/13/common.nix | 2 ++ hwModules/framework/13/intel-11th/default.nix | 28 +++++++++++++++ hwModules/framework/common.nix | 35 +++++++++++++++++++ hwModules/lenovo/common.nix | 3 ++ hwModules/lenovo/yoga-9i/common.nix | 3 ++ .../lenovo/yoga-9i/intel-13th/default.nix | 21 +++++++++++ hwModules/thinkpad/common.nix | 10 ++++++ hwModules/thinkpad/t440p/default.nix | 32 +++++++++++++++++ 26 files changed, 309 insertions(+), 38 deletions(-) create mode 100644 hwModules/common/bluetooth/default.nix create mode 100644 hwModules/common/cpu/amd/default.nix create mode 100644 hwModules/common/cpu/intel/default.nix create mode 100644 hwModules/common/gpu/amd/default.nix create mode 100644 hwModules/common/gpu/intel/default.nix create mode 100644 hwModules/common/laptop/amd-gpu.nix create mode 100644 hwModules/common/laptop/default.nix create mode 100644 hwModules/common/laptop/intel-cpu.nix create mode 100644 hwModules/common/ssd/default.nix create mode 100644 hwModules/framework/13/amd-7000/default.nix create mode 100644 hwModules/framework/13/common.nix create mode 100644 hwModules/framework/13/intel-11th/default.nix create mode 100644 hwModules/framework/common.nix create mode 100644 hwModules/lenovo/common.nix create mode 100644 hwModules/lenovo/yoga-9i/common.nix create mode 100644 hwModules/lenovo/yoga-9i/intel-13th/default.nix create mode 100644 hwModules/thinkpad/common.nix create mode 100644 hwModules/thinkpad/t440p/default.nix diff --git a/flake.lock b/flake.lock index 1d6dd84e..e2d670bd 100644 --- a/flake.lock +++ b/flake.lock @@ -437,26 +437,6 @@ "type": "github" } }, - "nixhw": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1727291538, - "narHash": "sha256-80ll70/S/rENWSp63jxpPnENSlM3BcO6vh/1DjjPIrs=", - "owner": "alyraffauf", - "repo": "nixhw", - "rev": "193e927e1d6b9f567ac9beb04fe7ca16e45a4edb", - "type": "github" - }, - "original": { - "owner": "alyraffauf", - "repo": "nixhw", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1727264057, @@ -554,7 +534,6 @@ "home-manager": "home-manager_2", "iio-hyprland": "iio-hyprland", "lanzaboote": "lanzaboote", - "nixhw": "nixhw", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", diff --git a/flake.nix b/flake.nix index feef103c..07926002 100644 --- a/flake.nix +++ b/flake.nix @@ -30,11 +30,6 @@ url = "github:nix-community/lanzaboote/v0.4.1"; }; - nixhw = { - inputs.nixpkgs.follows = "nixpkgs"; - url = "github:alyraffauf/nixhw"; - }; - nur.url = "github:nix-community/NUR"; stylix = { @@ -137,6 +132,21 @@ }; nixosModules = { + hw-framework-13-amd-7000 = import ./hwModules/framework/13/amd-7000; + hw-framework-13-intel-11th = import ./hwModules/framework/13/intel-11th; + hw-lenovo-yoga-9i-intel-13th = import ./hwModules/lenovo/yoga-9i/intel-13th; + hw-thinkpad-t440p = import ./hwModules/thinkpad/t440p; + + hw-common-amd-cpu = import ./hwModules/common/gpu/amd; + hw-common-amd-gpu = import ./hwModules/common/cpu/amd; + hw-common-bluetooth = import ./hwModules/common/bluetooth; + hw-common-intel-cpu = import ./hwModules/common/cpu/intel; + hw-common-intel-gpu = import ./hwModules/common/gpu/intel; + hw-common-laptop = import ./hwModules/common/laptop; + hw-common-laptop-amd-gpu = import ./hwModules/common/laptop/amd-gpu.nix; + hw-common-laptop-intel-cpu = import ./hwModules/common/laptop/intel-cpu.nix; + hw-common-ssd = import ./hwModules/common/ssd; + common-auto-upgrade = import ./common/autoUpgrade.nix; common-base = import ./common/base.nix; common-locale = import ./common/locale.nix; diff --git a/hosts/fallarbor/default.nix b/hosts/fallarbor/default.nix index b7e3c2db..fcc3374b 100644 --- a/hosts/fallarbor/default.nix +++ b/hosts/fallarbor/default.nix @@ -10,7 +10,6 @@ ./home.nix ./secrets.nix ./stylix.nix - self.inputs.nixhw.nixosModules.framework-13-intel-11th self.nixosModules.common-base self.nixosModules.common-locale self.nixosModules.common-mauville-share @@ -18,6 +17,7 @@ self.nixosModules.common-overlays self.nixosModules.common-pkgs self.nixosModules.common-wifi-profiles + self.nixosModules.hw-framework-13-intel-11th ]; boot.loader = { diff --git a/hosts/lavaridge/default.nix b/hosts/lavaridge/default.nix index 78349f6e..e0d9fd1c 100644 --- a/hosts/lavaridge/default.nix +++ b/hosts/lavaridge/default.nix @@ -10,7 +10,6 @@ ./secrets.nix ./stylix.nix (import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/nvme0n1"];}) - self.inputs.nixhw.nixosModules.framework-13-amd-7000 self.nixosModules.common-auto-upgrade self.nixosModules.common-base self.nixosModules.common-locale @@ -20,6 +19,7 @@ self.nixosModules.common-pkgs self.nixosModules.common-tailscale self.nixosModules.common-wifi-profiles + self.nixosModules.hw-framework-13-amd-7000 ]; boot = { diff --git a/hosts/mauville/default.nix b/hosts/mauville/default.nix index cf18d487..00b73df5 100644 --- a/hosts/mauville/default.nix +++ b/hosts/mauville/default.nix @@ -14,10 +14,6 @@ in { ./raffauflabs.nix ./secrets.nix ./stylix.nix - self.inputs.nixhw.nixosModules.common-amd-cpu - self.inputs.nixhw.nixosModules.common-amd-gpu - self.inputs.nixhw.nixosModules.common-bluetooth - self.inputs.nixhw.nixosModules.common-ssd self.nixosModules.common-auto-upgrade self.nixosModules.common-base self.nixosModules.common-locale @@ -26,6 +22,10 @@ in { self.nixosModules.common-pkgs self.nixosModules.common-tailscale self.nixosModules.common-wifi-profiles + self.nixosModules.hw-common-amd-cpu + self.nixosModules.hw-common-amd-gpu + self.nixosModules.hw-common-bluetooth + self.nixosModules.hw-common-ssd ]; boot = { diff --git a/hosts/petalburg/default.nix b/hosts/petalburg/default.nix index 2f7c38b9..5306986c 100644 --- a/hosts/petalburg/default.nix +++ b/hosts/petalburg/default.nix @@ -10,7 +10,6 @@ ./secrets.nix ./stylix.nix (import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/nvme0n1"];}) - self.inputs.nixhw.nixosModules.lenovo-yoga-9i-intel-13th self.nixosModules.common-auto-upgrade self.nixosModules.common-base self.nixosModules.common-locale @@ -20,6 +19,7 @@ self.nixosModules.common-pkgs self.nixosModules.common-tailscale self.nixosModules.common-wifi-profiles + self.nixosModules.hw-lenovo-yoga-9i-intel-13th ]; boot = { diff --git a/hosts/rustboro/default.nix b/hosts/rustboro/default.nix index 01f9ff26..b8a63984 100644 --- a/hosts/rustboro/default.nix +++ b/hosts/rustboro/default.nix @@ -10,7 +10,6 @@ ./secrets.nix ./stylix.nix (import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/sda"];}) - self.inputs.nixhw.nixosModules.thinkpad-t440p self.nixosModules.common-auto-upgrade self.nixosModules.common-base self.nixosModules.common-locale @@ -20,6 +19,7 @@ self.nixosModules.common-pkgs self.nixosModules.common-tailscale self.nixosModules.common-wifi-profiles + self.nixosModules.hw-thinkpad-t440p ]; boot = { diff --git a/hosts/slateport/default.nix b/hosts/slateport/default.nix index 403be865..7117f4a0 100644 --- a/hosts/slateport/default.nix +++ b/hosts/slateport/default.nix @@ -8,10 +8,6 @@ ./raffauflabs.nix ./secrets.nix (import ./../../disko/btrfs-subvolumes.nix {disks = ["/dev/sda"];}) - self.inputs.nixhw.nixosModules.common-bluetooth - self.inputs.nixhw.nixosModules.common-intel-cpu - self.inputs.nixhw.nixosModules.common-intel-gpu - self.inputs.nixhw.nixosModules.common-ssd self.nixosModules.common-auto-upgrade self.nixosModules.common-base self.nixosModules.common-locale @@ -21,6 +17,10 @@ self.nixosModules.common-pkgs self.nixosModules.common-tailscale self.nixosModules.common-wifi-profiles + self.nixosModules.hw-common-bluetooth + self.nixosModules.hw-common-intel-cpu + self.nixosModules.hw-common-intel-gpu + self.nixosModules.hw-common-ssd ]; boot = { diff --git a/hwModules/common/bluetooth/default.nix b/hwModules/common/bluetooth/default.nix new file mode 100644 index 00000000..9b88bee7 --- /dev/null +++ b/hwModules/common/bluetooth/default.nix @@ -0,0 +1,22 @@ +{ + lib, + pkgs, + ... +}: { + hardware = { + bluetooth.enable = true; + + pulseaudio = { + enable = lib.mkForce false; + package = pkgs.pulseaudioFull; # Use extra Bluetooth codecs like aptX + + extraConfig = '' + load-module module-bluetooth-discover + load-module module-bluetooth-policy + load-module module-switch-on-connect + ''; + + support32Bit = true; + }; + }; +} diff --git a/hwModules/common/cpu/amd/default.nix b/hwModules/common/cpu/amd/default.nix new file mode 100644 index 00000000..ea8f5069 --- /dev/null +++ b/hwModules/common/cpu/amd/default.nix @@ -0,0 +1,9 @@ +{lib, ...}: { + boot = { + kernelModules = ["kvm-amd"]; + kernelParams = ["amd_pstate=active"]; + }; + + hardware.cpu.amd.updateMicrocode = true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hwModules/common/cpu/intel/default.nix b/hwModules/common/cpu/intel/default.nix new file mode 100644 index 00000000..cadcf602 --- /dev/null +++ b/hwModules/common/cpu/intel/default.nix @@ -0,0 +1,5 @@ +{lib, ...}: { + boot.kernelModules = ["kvm-intel"]; + hardware.cpu.intel.updateMicrocode = true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hwModules/common/gpu/amd/default.nix b/hwModules/common/gpu/amd/default.nix new file mode 100644 index 00000000..a3d3cc3f --- /dev/null +++ b/hwModules/common/gpu/amd/default.nix @@ -0,0 +1,14 @@ +{...}: { + environment.variables.VDPAU_DRIVER = "radeonsi"; + + hardware.amdgpu = { + initrd.enable = true; + + amdvlk = { + enable = true; + support32Bit.enable = true; + }; + + opencl.enable = true; + }; +} diff --git a/hwModules/common/gpu/intel/default.nix b/hwModules/common/gpu/intel/default.nix new file mode 100644 index 00000000..bab35eaa --- /dev/null +++ b/hwModules/common/gpu/intel/default.nix @@ -0,0 +1,32 @@ +{pkgs, ...}: { + boot.initrd.kernelModules = ["i915"]; + + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "iHD"; + VDPAU_DRIVER = "va_gl"; + }; + + hardware = { + intel-gpu-tools.enable = true; + + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + + extraPackages = with pkgs; [ + intel-media-driver # LIBVA_DRIVER_NAME=iHD + (intel-vaapi-driver.override {enableHybridCodec = true;}) + libvdpau-va-gl + ]; + + extraPackages32 = with pkgs.driversi686Linux; [ + intel-media-driver # LIBVA_DRIVER_NAME=iHD + (intel-vaapi-driver.override {enableHybridCodec = true;}) + libvdpau-va-gl + ]; + }; + }; + + services.xserver.videoDrivers = ["modesetting"]; +} diff --git a/hwModules/common/laptop/amd-gpu.nix b/hwModules/common/laptop/amd-gpu.nix new file mode 100644 index 00000000..ea8f50d4 --- /dev/null +++ b/hwModules/common/laptop/amd-gpu.nix @@ -0,0 +1,2 @@ +{...}: { +} diff --git a/hwModules/common/laptop/default.nix b/hwModules/common/laptop/default.nix new file mode 100644 index 00000000..6d290ce9 --- /dev/null +++ b/hwModules/common/laptop/default.nix @@ -0,0 +1,27 @@ +{ + lib, + pkgs, + ... +}: { + services = { + pipewire.wireplumber.extraConfig = { + # Pipewire eats battery by never disabling the camera. + "10-disable-camera" = { + "wireplumber.profiles" = { + main = { + "monitor.libcamera" = "disabled"; + }; + }; + }; + }; + + power-profiles-daemon.enable = lib.mkDefault true; + + udev.extraRules = '' + SUBSYSTEM=="power_supply", ATTR{online}=="1", ACTION=="change", RUN+="${lib.getExe pkgs.power-profiles-daemon} set balanced" + SUBSYSTEM=="power_supply", ATTR{online}=="0", ACTION=="change", RUN+="${lib.getExe pkgs.power-profiles-daemon} set power-saver" + ''; + + upower.enable = lib.mkDefault true; + }; +} diff --git a/hwModules/common/laptop/intel-cpu.nix b/hwModules/common/laptop/intel-cpu.nix new file mode 100644 index 00000000..115f1026 --- /dev/null +++ b/hwModules/common/laptop/intel-cpu.nix @@ -0,0 +1,4 @@ +{...}: { + powerManagement.powertop.enable = true; + services.thermald.enable = true; +} diff --git a/hwModules/common/ssd/default.nix b/hwModules/common/ssd/default.nix new file mode 100644 index 00000000..d9e3b4da --- /dev/null +++ b/hwModules/common/ssd/default.nix @@ -0,0 +1,3 @@ +{...}: { + services.fstrim.enable = true; +} diff --git a/hwModules/framework/13/amd-7000/default.nix b/hwModules/framework/13/amd-7000/default.nix new file mode 100644 index 00000000..09c55be4 --- /dev/null +++ b/hwModules/framework/13/amd-7000/default.nix @@ -0,0 +1,30 @@ +{ + lib, + pkgs, + ... +}: { + imports = [ + ../../../common/bluetooth + ../../../common/cpu/amd + ../../../common/gpu/amd + ../../../common/laptop + ../../../common/laptop/amd-gpu.nix + ../../../common/ssd + ../../common.nix + ../common.nix + ]; + + boot = { + initrd.availableKernelModules = ["nvme" "sd_mod" "thunderbolt" "usb_storage" "xhci_pci"]; + extraModprobeConfig = '' + options snd_hda_intel power_save=1 + ''; + kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + }; + + networking.networkmanager = { + enable = true; + wifi.powersave = true; + wifi.backend = "iwd"; + }; +} diff --git a/hwModules/framework/13/common.nix b/hwModules/framework/13/common.nix new file mode 100644 index 00000000..ea8f50d4 --- /dev/null +++ b/hwModules/framework/13/common.nix @@ -0,0 +1,2 @@ +{...}: { +} diff --git a/hwModules/framework/13/intel-11th/default.nix b/hwModules/framework/13/intel-11th/default.nix new file mode 100644 index 00000000..28c2c772 --- /dev/null +++ b/hwModules/framework/13/intel-11th/default.nix @@ -0,0 +1,28 @@ +{ + lib, + pkgs, + ... +}: { + imports = [ + ../../../common/bluetooth + ../../../common/cpu/intel + ../../../common/gpu/intel + ../../../common/laptop + ../../../common/laptop/intel-cpu.nix + ../../../common/ssd + ../../common.nix + ../common.nix + ]; + + boot = { + blacklistedKernelModules = ["cros-usbpd-charger"]; + initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; + kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + + kernelParams = [ + "nvme.noacpi=1" # https://community.frame.work/t/linux-battery-life-tuning/6665/156 + ]; + }; + + hardware.acpilight.enable = true; +} diff --git a/hwModules/framework/common.nix b/hwModules/framework/common.nix new file mode 100644 index 00000000..aa7bba01 --- /dev/null +++ b/hwModules/framework/common.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: { + boot = { + extraModulePackages = with config.boot.kernelPackages; [ + framework-laptop-kmod + ]; + + kernelModules = [ + # https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage + "cros_ec_lpcs" + "cros_ec" + ]; + }; + + environment.systemPackages = [pkgs.framework-tool] ++ lib.optional (pkgs ? "fw-ectool") pkgs.fw-ectool; + + hardware = { + enableAllFirmware = true; + sensor.iio.enable = true; + }; + + services = { + fprintd.enable = true; + fwupd.enable = true; + + udev.extraRules = '' + # Ethernet expansion card support + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" + ''; + }; +} diff --git a/hwModules/lenovo/common.nix b/hwModules/lenovo/common.nix new file mode 100644 index 00000000..abb1e686 --- /dev/null +++ b/hwModules/lenovo/common.nix @@ -0,0 +1,3 @@ +{...}: { + hardware.enableAllFirmware = true; +} diff --git a/hwModules/lenovo/yoga-9i/common.nix b/hwModules/lenovo/yoga-9i/common.nix new file mode 100644 index 00000000..4562e269 --- /dev/null +++ b/hwModules/lenovo/yoga-9i/common.nix @@ -0,0 +1,3 @@ +{...}: { + hardware.sensor.iio.enable = true; +} diff --git a/hwModules/lenovo/yoga-9i/intel-13th/default.nix b/hwModules/lenovo/yoga-9i/intel-13th/default.nix new file mode 100644 index 00000000..7cc1c0db --- /dev/null +++ b/hwModules/lenovo/yoga-9i/intel-13th/default.nix @@ -0,0 +1,21 @@ +{ + lib, + pkgs, + ... +}: { + imports = [ + ../../../common/bluetooth + ../../../common/cpu/intel + ../../../common/gpu/intel + ../../../common/laptop + ../../../common/laptop/intel-cpu.nix + ../../../common/ssd + ../../common.nix + ../common.nix + ]; + + boot = { + initrd.availableKernelModules = ["nvme" "sd_mod" "thunderbolt" "usb_storage" "xhci_pci"]; + kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + }; +} diff --git a/hwModules/thinkpad/common.nix b/hwModules/thinkpad/common.nix new file mode 100644 index 00000000..c1380c9d --- /dev/null +++ b/hwModules/thinkpad/common.nix @@ -0,0 +1,10 @@ +{...}: { + hardware = { + enableAllFirmware = true; + + trackpoint = { + enable = true; + emulateWheel = true; + }; + }; +} diff --git a/hwModules/thinkpad/t440p/default.nix b/hwModules/thinkpad/t440p/default.nix new file mode 100644 index 00000000..7858b514 --- /dev/null +++ b/hwModules/thinkpad/t440p/default.nix @@ -0,0 +1,32 @@ +{...}: { + imports = [ + ../../common/bluetooth + ../../common/cpu/intel + ../../common/gpu/intel + ../../common/laptop + ../../common/laptop/intel-cpu.nix + ../../common/ssd + ../common.nix + ]; + + boot = { + extraModprobeConfig = '' + options bbswitch use_acpi_to_detect_card_state=1 + options thinkpad_acpi force_load=1 fan_control=1 + ''; + + initrd.availableKernelModules = [ + "ahci" + "ehci_pci" + "rtsx_pci_sdmmc" + "sd_mod" + "sr_mod" + "usb_storage" + "xhci_pci" + ]; + }; + + powerManagement.cpuFreqGovernor = "ondemand"; + + services.fwupd.enable = true; +} From c40369f1cf01e0cb03c6ef6d5d7b895856e51ec7 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 10:26:45 -0400 Subject: [PATCH 05/23] hwModules/gpu/intel: fix nesting issues --- hwModules/common/gpu/intel/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hwModules/common/gpu/intel/default.nix b/hwModules/common/gpu/intel/default.nix index bab35eaa..8671a797 100644 --- a/hwModules/common/gpu/intel/default.nix +++ b/hwModules/common/gpu/intel/default.nix @@ -14,16 +14,16 @@ driSupport = true; driSupport32Bit = true; - extraPackages = with pkgs; [ - intel-media-driver # LIBVA_DRIVER_NAME=iHD - (intel-vaapi-driver.override {enableHybridCodec = true;}) - libvdpau-va-gl + extraPackages = [ + pkgs.intel-media-driver # LIBVA_DRIVER_NAME=iHD + (pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}) + pkgs.libvdpau-va-gl ]; - extraPackages32 = with pkgs.driversi686Linux; [ - intel-media-driver # LIBVA_DRIVER_NAME=iHD - (intel-vaapi-driver.override {enableHybridCodec = true;}) - libvdpau-va-gl + extraPackages32 = [ + pkgs.driversi686Linux.intel-media-driver # LIBVA_DRIVER_NAME=iHD + (pkgs.driversi686Linux.intel-vaapi-driver.override {enableHybridCodec = true;}) + pkgs.driversi686Linux.libvdpau-va-gl ]; }; }; From c47a7cce82faa68711089afbc233032e9f7b30be Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 20:26:23 -0400 Subject: [PATCH 06/23] lavaridge: update README --- hosts/lavaridge/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/lavaridge/README.md b/hosts/lavaridge/README.md index 02110527..56a5542c 100644 --- a/hosts/lavaridge/README.md +++ b/hosts/lavaridge/README.md @@ -6,15 +6,15 @@ Framework Laptop 13 with AMD 7000 series mainboard. My primary machine used for ## Todo -- \[ \] upgrade to [2.8k 120Hz Framework screen](https://frame.work/products/display-kit?v=FRANJF0001). +- \[x\] upgrade to [2.8k 120Hz Framework screen](https://frame.work/products/display-kit?v=FRANJF0001). ## Specs | Model | Framework Laptop 13 | |---------|---------------------------| -| Display | 13.5" 2256x1504 60Hz | +| Display | 13.5" 2880x1920 120Hz | | CPU | AMD Ryzen 7640U | -| RAM | 32GB 16GBx2) DDR5-5600Mhz | +| RAM | 32GB 16GBx2 DDR5-5600Mhz | | GPU | AMD Radeon 760M | | Disks | 1TB Sk hynix P41 | From 228978566f7774835b99c96dbc5bf5abcce85d1b Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 21:58:40 -0400 Subject: [PATCH 07/23] slateport: dorp aly-nox and declare simplified home config --- flake.nix | 30 ++++++++---------- homes/aly/common.nix | 51 ------------------------------ homes/aly/{gui.nix => default.nix} | 36 +++++++++++++++++++-- homes/aly/nox.nix | 13 -------- hosts/slateport/home.nix | 29 ++++++++++++++++- 5 files changed, 76 insertions(+), 83 deletions(-) delete mode 100644 homes/aly/common.nix rename homes/aly/{gui.nix => default.nix} (57%) delete mode 100644 homes/aly/nox.nix diff --git a/flake.nix b/flake.nix index 07926002..332e7468 100644 --- a/flake.nix +++ b/flake.nix @@ -125,17 +125,21 @@ homeManagerModules = { default = import ./homeManagerModules self; - aly = import ./homes/aly/gui.nix self; - aly-nox = import ./homes/aly/nox.nix self; + aly = import ./homes/aly self; dustin = import ./homes/dustin self; morgan = import ./homes/morgan self; }; nixosModules = { - hw-framework-13-amd-7000 = import ./hwModules/framework/13/amd-7000; - hw-framework-13-intel-11th = import ./hwModules/framework/13/intel-11th; - hw-lenovo-yoga-9i-intel-13th = import ./hwModules/lenovo/yoga-9i/intel-13th; - hw-thinkpad-t440p = import ./hwModules/thinkpad/t440p; + common-auto-upgrade = import ./common/autoUpgrade.nix; + common-base = import ./common/base.nix; + common-locale = import ./common/locale.nix; + common-mauville-share = import ./common/samba.nix; + common-nix = import ./common/nix.nix; + common-overlays = import ./common/overlays.nix; + common-pkgs = import ./common/pkgs.nix; + common-tailscale = import ./common/tailscale.nix; + common-wifi-profiles = import ./common/wifi.nix; hw-common-amd-cpu = import ./hwModules/common/gpu/amd; hw-common-amd-gpu = import ./hwModules/common/cpu/amd; @@ -146,16 +150,10 @@ hw-common-laptop-amd-gpu = import ./hwModules/common/laptop/amd-gpu.nix; hw-common-laptop-intel-cpu = import ./hwModules/common/laptop/intel-cpu.nix; hw-common-ssd = import ./hwModules/common/ssd; - - common-auto-upgrade = import ./common/autoUpgrade.nix; - common-base = import ./common/base.nix; - common-locale = import ./common/locale.nix; - common-mauville-share = import ./common/samba.nix; - common-nix = import ./common/nix.nix; - common-overlays = import ./common/overlays.nix; - common-pkgs = import ./common/pkgs.nix; - common-tailscale = import ./common/tailscale.nix; - common-wifi-profiles = import ./common/wifi.nix; + hw-framework-13-amd-7000 = import ./hwModules/framework/13/amd-7000; + hw-framework-13-intel-11th = import ./hwModules/framework/13/intel-11th; + hw-lenovo-yoga-9i-intel-13th = import ./hwModules/lenovo/yoga-9i/intel-13th; + hw-thinkpad-t440p = import ./hwModules/thinkpad/t440p; nixos = import ./nixosModules self; users = import ./userModules self; diff --git a/homes/aly/common.nix b/homes/aly/common.nix deleted file mode 100644 index a19804af..00000000 --- a/homes/aly/common.nix +++ /dev/null @@ -1,51 +0,0 @@ -{pkgs, ...}: { - home = { - homeDirectory = "/home/aly"; - - packages = with pkgs; [ - curl - ]; - - stateVersion = "24.05"; - username = "aly"; - }; - - programs = { - git = { - enable = true; - lfs.enable = true; - userName = "Aly Raffauf"; - userEmail = "aly@raffauflabs.com"; - - extraConfig = { - color.ui = true; - github.user = "alyraffauf"; - push.autoSetupRemote = true; - }; - }; - - gitui.enable = true; - home-manager.enable = true; - - rbw = { - enable = true; - - settings = { - base_url = "https://passwords.raffauflabs.com"; - email = "alyraffauf@fastmail.com"; - lock_timeout = 14400; - }; - }; - }; - - systemd.user.startServices = "legacy"; # Needed for auto-mounting agenix secrets. - - ar.home = { - apps = { - fastfetch.enable = true; - helix.enable = true; - shell.enable = true; - yazi.enable = true; - }; - }; -} diff --git a/homes/aly/gui.nix b/homes/aly/default.nix similarity index 57% rename from homes/aly/gui.nix rename to homes/aly/default.nix index a822f57b..e7175a68 100644 --- a/homes/aly/gui.nix +++ b/homes/aly/default.nix @@ -1,6 +1,5 @@ self: {pkgs, ...}: { imports = [ - ./common.nix ./firefox ./mail ./secrets.nix @@ -15,6 +14,7 @@ self: {pkgs, ...}: { packages = with pkgs; [ bitwarden-desktop + curl fractal nicotine-plus obsidian @@ -29,15 +29,47 @@ self: {pkgs, ...}: { username = "aly"; }; - programs.rbw.settings.pinentry = pkgs.pinentry-gnome3; + programs = { + git = { + enable = true; + lfs.enable = true; + userName = "Aly Raffauf"; + userEmail = "aly@raffauflabs.com"; + + extraConfig = { + color.ui = true; + github.user = "alyraffauf"; + push.autoSetupRemote = true; + }; + }; + + gitui.enable = true; + home-manager.enable = true; + + rbw = { + enable = true; + + settings = { + base_url = "https://passwords.raffauflabs.com"; + email = "alyraffauf@fastmail.com"; + lock_timeout = 14400; + pinentry = pkgs.pinentry-gnome3; + }; + }; + }; + systemd.user.startServices = "legacy"; # Needed for auto-mounting agenix secrets. ar.home = { apps = { chromium.enable = true; + fastfetch.enable = true; firefox.enable = true; + helix.enable = true; kitty.enable = true; + shell.enable = true; vsCodium.enable = true; + yazi.enable = true; }; defaultApps = { diff --git a/homes/aly/nox.nix b/homes/aly/nox.nix deleted file mode 100644 index ed5d5255..00000000 --- a/homes/aly/nox.nix +++ /dev/null @@ -1,13 +0,0 @@ -self: {pkgs, ...}: { - imports = [ - ./common.nix - ./secrets.nix - self.homeManagerModules.default - self.inputs.agenix.homeManagerModules.default - ]; - - programs = { - helix.defaultEditor = true; - rbw.settings.pinentry = pkgs.pinentry-tty; - }; -} diff --git a/hosts/slateport/home.nix b/hosts/slateport/home.nix index e8b35fb6..1b74acf6 100644 --- a/hosts/slateport/home.nix +++ b/hosts/slateport/home.nix @@ -3,5 +3,32 @@ self, ... }: { - home-manager.users.aly = lib.mkForce self.homeManagerModules.aly-nox; + home-manager.users.aly = lib.mkForce ( + {pkgs, ...}: { + imports = [self.homeManagerModules.default]; + + home = { + homeDirectory = "/home/aly"; + + packages = with pkgs; [ + curl + ]; + + stateVersion = "24.05"; + username = "aly"; + }; + + programs = { + helix.defaultEditor = true; + home-manager.enable = true; + }; + + ar.home.apps = { + fastfetch.enable = true; + helix.enable = true; + shell.enable = true; + yazi.enable = true; + }; + } + ); } From 438f691add955d922c8b496762ee65813947af1f Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 21:58:55 -0400 Subject: [PATCH 08/23] lavaridge/hyprland: set to 60hz --- hosts/lavaridge/home.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hosts/lavaridge/home.nix b/hosts/lavaridge/home.nix index 2ed658eb..28c54333 100644 --- a/hosts/lavaridge/home.nix +++ b/hosts/lavaridge/home.nix @@ -9,7 +9,7 @@ }; ar.home = { - desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@120, 0x0, 2, vrr, 1"]; + desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@60, 0x0, 2, vrr, 0"]; services = { easyeffects = { @@ -19,8 +19,6 @@ gammastep.enable = lib.mkForce false; }; - - theme.borders.radius = lib.mkForce 10; }; } ]; From 2d386a5e2f3f52e3958758bc9dc4ed779d9efe36 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 22:04:07 -0400 Subject: [PATCH 09/23] aly: disable theme.borders override --- homes/aly/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/homes/aly/default.nix b/homes/aly/default.nix index e7175a68..bc8ec858 100644 --- a/homes/aly/default.nix +++ b/homes/aly/default.nix @@ -78,10 +78,6 @@ self: {pkgs, ...}: { }; services.gammastep.enable = true; - - theme = { - enable = true; - borders.radius = 0; - }; + theme.enable = true; }; } From 1ab96b83168f4e0cbce41a7b75ab6d3eb5fa3ee8 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 22:36:15 -0400 Subject: [PATCH 10/23] common/nix: delete older than 14d --- common/nix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/nix.nix b/common/nix.nix index a0b2870b..081b214f 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -3,7 +3,7 @@ gc = { automatic = true; dates = "daily"; - options = "--delete-older-than 3d"; + options = "--delete-older-than 14d"; persistent = true; randomizedDelaySec = "60min"; }; From 1d36df051915992180f8ce11b9e099dc0b9a6f68 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 23:07:11 -0400 Subject: [PATCH 11/23] hosts: explicitly declare home manager configs --- hosts/fallarbor/home.nix | 29 +++++++---- hosts/lavaridge/home.nix | 52 +++++++++++-------- hosts/mauville/home.nix | 108 ++++++++++++++++++++------------------- hosts/petalburg/home.nix | 78 ++++++++++++++-------------- hosts/rustboro/home.nix | 28 +++++----- 5 files changed, 161 insertions(+), 134 deletions(-) diff --git a/hosts/fallarbor/home.nix b/hosts/fallarbor/home.nix index 826427be..ab8bd6ea 100644 --- a/hosts/fallarbor/home.nix +++ b/hosts/fallarbor/home.nix @@ -1,13 +1,20 @@ -{ - home-manager.sharedModules = [ - { - services.easyeffects = { - enable = true; - preset = "fw13-easy-effects"; - }; +{self, ...}: { + home-manager = { + sharedModules = [ + { + services.easyeffects = { + enable = true; + preset = "fw13-easy-effects"; + }; - wayland.windowManager.sway.config.output = {"BOE 0x095F Unknown".scale = "1.5";}; - ar.home.desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"]; - } - ]; + wayland.windowManager.sway.config.output = {"BOE 0x095F Unknown".scale = "1.5";}; + ar.home.desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"]; + } + ]; + + users = { + aly = self.homeManagerModules.aly; + dustin = self.homeManagerModules.dustin; + }; + }; } diff --git a/hosts/lavaridge/home.nix b/hosts/lavaridge/home.nix index 28c54333..dad678f1 100644 --- a/hosts/lavaridge/home.nix +++ b/hosts/lavaridge/home.nix @@ -1,25 +1,33 @@ -{lib, ...}: { - home-manager.sharedModules = [ - { - wayland.windowManager.sway.config.output = { - "eDP-1" = { - adaptive_sync = "on"; - scale = "2.0"; - }; - }; - - ar.home = { - desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@60, 0x0, 2, vrr, 0"]; - - services = { - easyeffects = { - enable = true; - preset = "fw13-easy-effects"; +{ + lib, + self, + ... +}: { + home-manager = { + sharedModules = [ + { + wayland.windowManager.sway.config.output = { + "eDP-1" = { + adaptive_sync = "on"; + scale = "2.0"; }; - - gammastep.enable = lib.mkForce false; }; - }; - } - ]; + + ar.home = { + desktop.hyprland.laptopMonitors = ["eDP-1,2880x1920@60, 0x0, 2, vrr, 0"]; + + services = { + easyeffects = { + enable = true; + preset = "fw13-easy-effects"; + }; + + gammastep.enable = lib.mkForce false; + }; + }; + } + ]; + + users.aly = self.homeManagerModules.aly; + }; } diff --git a/hosts/mauville/home.nix b/hosts/mauville/home.nix index d022fd91..fe92e671 100644 --- a/hosts/mauville/home.nix +++ b/hosts/mauville/home.nix @@ -33,69 +33,73 @@ } ]; - users.aly = lib.mkForce ({config, ...}: { - imports = [self.homeManagerModules.aly]; + users = { + aly = {config, ...}: { + imports = [self.homeManagerModules.aly]; - age.secrets = { - backblazeKeyId.file = ../../secrets/aly/backblaze/keyId.age; - backblazeKey.file = ../../secrets/aly/backblaze/key.age; - }; + age.secrets = { + backblazeKeyId.file = ../../secrets/aly/backblaze/keyId.age; + backblazeKey.file = ../../secrets/aly/backblaze/key.age; + }; - systemd.user = { - services.backblaze-sync = { - Unit.Description = "Backup to Backblaze."; + systemd.user = { + services.backblaze-sync = { + Unit.Description = "Backup to Backblaze."; - Service = { - Environment = [ - "PATH=${ - lib.makeBinPath (with pkgs; [ - coreutils - backblaze-b2 - ]) - }" - ]; + Service = { + Environment = [ + "PATH=${ + lib.makeBinPath (with pkgs; [ + coreutils + backblaze-b2 + ]) + }" + ]; - ExecStart = "${pkgs.writeShellScript "backblaze-sync" '' - declare -A backups - backups=( - ['/home/aly/pics/camera']="b2://aly-camera" - ['/home/aly/sync']="b2://aly-sync" - ['/mnt/Media/Audiobooks']="b2://aly-audiobooks" - ['/mnt/Media/Music']="b2://aly-music" - ['/mnt/Archive/Movies']="b2://aly-movies" - ['/mnt/Archive/Shows']="b2://aly-shows" - ) + ExecStart = "${pkgs.writeShellScript "backblaze-sync" '' + declare -A backups + backups=( + ['/home/aly/pics/camera']="b2://aly-camera" + ['/home/aly/sync']="b2://aly-sync" + ['/mnt/Media/Audiobooks']="b2://aly-audiobooks" + ['/mnt/Media/Music']="b2://aly-music" + ['/mnt/Archive/Movies']="b2://aly-movies" + ['/mnt/Archive/Shows']="b2://aly-shows" + ) - backblaze-b2 authorize_account `cat ${config.age.secrets.backblazeKeyId.path}` `cat ${config.age.secrets.backblazeKey.path}` + backblaze-b2 authorize_account `cat ${config.age.secrets.backblazeKeyId.path}` `cat ${config.age.secrets.backblazeKey.path}` - # Recursively backup folders to B2 with sanity checks. - for folder in "''${!backups[@]}"; do - if [ -d "$folder" ] && [ "$(ls -A "$folder")" ]; then - backblaze-b2 sync --delete $folder ''${backups[$folder]} - else - echo "$folder does not exist or is empty." - exit 1 - fi - done - ''}"; + # Recursively backup folders to B2 with sanity checks. + for folder in "''${!backups[@]}"; do + if [ -d "$folder" ] && [ "$(ls -A "$folder")" ]; then + backblaze-b2 sync --delete $folder ''${backups[$folder]} + else + echo "$folder does not exist or is empty." + exit 1 + fi + done + ''}"; + }; + }; + + timers.backblaze-sync = { + Install.WantedBy = ["timers.target"]; + Timer.OnCalendar = "*-*-* 03:00:00"; + Unit.Description = "Daily backups to Backblaze."; }; }; - timers.backblaze-sync = { - Install.WantedBy = ["timers.target"]; - Timer.OnCalendar = "*-*-* 03:00:00"; - Unit.Description = "Daily backups to Backblaze."; + wayland.windowManager.hyprland.settings = { + general.layout = lib.mkForce "master"; + + master = { + mfact = 0.40; + orientation = "center"; + }; }; }; - wayland.windowManager.hyprland.settings = { - general.layout = lib.mkForce "master"; - - master = { - mfact = 0.40; - orientation = "center"; - }; - }; - }); + dustin = self.homeManagerModules.dustin; + }; }; } diff --git a/hosts/petalburg/home.nix b/hosts/petalburg/home.nix index 90b2ddc9..55b9a6da 100644 --- a/hosts/petalburg/home.nix +++ b/hosts/petalburg/home.nix @@ -4,51 +4,55 @@ self, ... }: { - home-manager.sharedModules = [ - { - wayland.windowManager = { - hyprland.settings = { - bind = [ - ",xf86launch2,exec,${lib.getExe pkgs.playerctl} play-pause" - ]; + home-manager = { + sharedModules = [ + { + wayland.windowManager = { + hyprland.settings = { + bind = [ + ",xf86launch2,exec,${lib.getExe pkgs.playerctl} play-pause" + ]; - exec-once = [''${ - lib.getExe self.inputs.iio-hyprland.packages.${pkgs.system}.default - } "desc:Samsung Display Corp. 0x4152"'']; + exec-once = [''${ + lib.getExe self.inputs.iio-hyprland.packages.${pkgs.system}.default + } "desc:Samsung Display Corp. 0x4152"'']; - input = { - tablet.output = "eDP-1"; - touchdevice.output = "eDP-1"; - }; - }; - - sway.config = { - input = { - "1386:21186:Wacom_HID_52C2_Finger" = { - map_to_output = "'Samsung Display Corp. 0x4152 Unknown'"; - }; - - "1386:21186:Wacom_HID_52C2_Pen" = { - map_to_output = "'Samsung Display Corp. 0x4152 Unknown'"; + input = { + tablet.output = "eDP-1"; + touchdevice.output = "eDP-1"; }; }; - keybindings = { - "XF86Launch2" = "exec ${lib.getExe pkgs.playerctl} play-pause"; + sway.config = { + input = { + "1386:21186:Wacom_HID_52C2_Finger" = { + map_to_output = "'Samsung Display Corp. 0x4152 Unknown'"; + }; + + "1386:21186:Wacom_HID_52C2_Pen" = { + map_to_output = "'Samsung Display Corp. 0x4152 Unknown'"; + }; + }; + + keybindings = { + "XF86Launch2" = "exec ${lib.getExe pkgs.playerctl} play-pause"; + }; + + output = {"Samsung Display Corp. 0x4152 Unknown".scale = "2.0";}; }; - - output = {"Samsung Display Corp. 0x4152 Unknown".scale = "2.0";}; }; - }; - ar.home.desktop.hyprland = { - laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"]; + ar.home.desktop.hyprland = { + laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"]; - tabletMode = { - enable = true; - switches = ["Lenovo Yoga Tablet Mode Control switch"]; + tabletMode = { + enable = true; + switches = ["Lenovo Yoga Tablet Mode Control switch"]; + }; }; - }; - } - ]; + } + ]; + + users.aly = self.homeManagerModules.aly; + }; } diff --git a/hosts/rustboro/home.nix b/hosts/rustboro/home.nix index b12e163c..0471ae2a 100644 --- a/hosts/rustboro/home.nix +++ b/hosts/rustboro/home.nix @@ -1,16 +1,20 @@ -{ - home-manager.sharedModules = [ - { - wayland.windowManager.sway.config.output = {"LG Display 0x0569 Unknown".scale = "1.25";}; +{self, ...}: { + home-manager = { + sharedModules = [ + { + wayland.windowManager.sway.config.output = {"LG Display 0x0569 Unknown".scale = "1.25";}; - ar.home = { - desktop.hyprland.laptopMonitors = ["desc:LG Display 0x0569,preferred,auto,1.25"]; + ar.home = { + desktop.hyprland.laptopMonitors = ["desc:LG Display 0x0569,preferred,auto,1.25"]; - services.easyeffects = { - enable = true; - preset = "LoudnessEqualizer"; + services.easyeffects = { + enable = true; + preset = "LoudnessEqualizer"; + }; }; - }; - } - ]; + } + ]; + + users.aly = self.homeManagerModules.aly; + }; } From 48171569641f73e71487807b1cac2c0bffec7218 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 27 Sep 2024 23:07:21 -0400 Subject: [PATCH 12/23] userModules: don't configure home-manager --- userModules/aly/default.nix | 3 --- userModules/dustin/default.nix | 3 --- 2 files changed, 6 deletions(-) diff --git a/userModules/aly/default.nix b/userModules/aly/default.nix index d3e8633b..9fe5d54d 100644 --- a/userModules/aly/default.nix +++ b/userModules/aly/default.nix @@ -2,14 +2,11 @@ config, lib, pkgs, - self, ... }: { imports = [./syncthing.nix]; config = lib.mkIf config.ar.users.aly.enable { - home-manager.users.aly = self.homeManagerModules.aly; - users.users.aly = { description = "Aly Raffauf"; extraGroups = config.ar.users.defaultGroups; diff --git a/userModules/dustin/default.nix b/userModules/dustin/default.nix index 2d1f98a4..00b4e34f 100644 --- a/userModules/dustin/default.nix +++ b/userModules/dustin/default.nix @@ -1,12 +1,9 @@ { config, lib, - self, ... }: { config = lib.mkIf config.ar.users.dustin.enable { - home-manager.users.dustin = self.homeManagerModules.dustin; - users.users.dustin = { description = "Dustin Raffauf"; extraGroups = config.ar.users.defaultGroups; From 84e27e68a02f413bf97277e78d5c1abe05dc8053 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sat, 28 Sep 2024 19:17:07 -0400 Subject: [PATCH 13/23] aly: remove fileManager override --- homes/aly/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/homes/aly/default.nix b/homes/aly/default.nix index bc8ec858..ecae469b 100644 --- a/homes/aly/default.nix +++ b/homes/aly/default.nix @@ -72,11 +72,7 @@ self: {pkgs, ...}: { yazi.enable = true; }; - defaultApps = { - enable = true; - fileManager = pkgs.xfce.thunar; - }; - + defaultApps.enable = true; services.gammastep.enable = true; theme.enable = true; }; From 56957f2f1510ddcf8b564ec4c84c0ee2e3571bd3 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sat, 28 Sep 2024 19:58:05 -0400 Subject: [PATCH 14/23] home: move gammastep settings to hosts --- homes/aly/default.nix | 1 - hosts/fallarbor/home.nix | 19 +++++++++++++------ hosts/lavaridge/home.nix | 8 +------- hosts/petalburg/home.nix | 14 +++++++++----- hosts/rustboro/home.nix | 10 +++++++--- 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/homes/aly/default.nix b/homes/aly/default.nix index ecae469b..4e514709 100644 --- a/homes/aly/default.nix +++ b/homes/aly/default.nix @@ -73,7 +73,6 @@ self: {pkgs, ...}: { }; defaultApps.enable = true; - services.gammastep.enable = true; theme.enable = true; }; } diff --git a/hosts/fallarbor/home.nix b/hosts/fallarbor/home.nix index ab8bd6ea..c400532b 100644 --- a/hosts/fallarbor/home.nix +++ b/hosts/fallarbor/home.nix @@ -2,13 +2,20 @@ home-manager = { sharedModules = [ { - services.easyeffects = { - enable = true; - preset = "fw13-easy-effects"; - }; - wayland.windowManager.sway.config.output = {"BOE 0x095F Unknown".scale = "1.5";}; - ar.home.desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"]; + + ar.home = { + desktop.hyprland.laptopMonitors = ["desc:BOE 0x095F,preferred,auto,1.566667"]; + + services = { + easyeffects = { + enable = true; + preset = "fw13-easy-effects"; + }; + + gammastep.enable = true; + }; + }; } ]; diff --git a/hosts/lavaridge/home.nix b/hosts/lavaridge/home.nix index dad678f1..836b38cf 100644 --- a/hosts/lavaridge/home.nix +++ b/hosts/lavaridge/home.nix @@ -1,8 +1,4 @@ -{ - lib, - self, - ... -}: { +{self, ...}: { home-manager = { sharedModules = [ { @@ -21,8 +17,6 @@ enable = true; preset = "fw13-easy-effects"; }; - - gammastep.enable = lib.mkForce false; }; }; } diff --git a/hosts/petalburg/home.nix b/hosts/petalburg/home.nix index 55b9a6da..6f44a188 100644 --- a/hosts/petalburg/home.nix +++ b/hosts/petalburg/home.nix @@ -42,13 +42,17 @@ }; }; - ar.home.desktop.hyprland = { - laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"]; + ar.home = { + desktop.hyprland = { + laptopMonitors = ["desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0"]; - tabletMode = { - enable = true; - switches = ["Lenovo Yoga Tablet Mode Control switch"]; + tabletMode = { + enable = true; + switches = ["Lenovo Yoga Tablet Mode Control switch"]; + }; }; + + services.gammastep.enable = true; }; } ]; diff --git a/hosts/rustboro/home.nix b/hosts/rustboro/home.nix index 0471ae2a..bc98112d 100644 --- a/hosts/rustboro/home.nix +++ b/hosts/rustboro/home.nix @@ -7,9 +7,13 @@ ar.home = { desktop.hyprland.laptopMonitors = ["desc:LG Display 0x0569,preferred,auto,1.25"]; - services.easyeffects = { - enable = true; - preset = "LoudnessEqualizer"; + services = { + easyeffects = { + enable = true; + preset = "LoudnessEqualizer"; + }; + + gammastep.enable = true; }; }; } From 08046229da0561f6b08cf9b79b76797163c4832f Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sat, 28 Sep 2024 22:55:43 -0400 Subject: [PATCH 15/23] petalburg: update wallpaper --- hosts/petalburg/stylix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/petalburg/stylix.nix b/hosts/petalburg/stylix.nix index 7aeaa884..61bedf74 100644 --- a/hosts/petalburg/stylix.nix +++ b/hosts/petalburg/stylix.nix @@ -6,7 +6,7 @@ stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; - image = "${self.inputs.wallpapers}/wallhaven-jxp18w.jpg"; + image = "${self.inputs.wallpapers}/wallhaven-3lyrvy.png"; imageScalingMode = "fill"; polarity = "dark"; From bb6d3ad7375a016dbd082ef9b5198ac1e1f68df8 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sun, 29 Sep 2024 16:14:02 -0400 Subject: [PATCH 16/23] syncthing: update mossdeep ID --- userModules/aly/syncthing.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/userModules/aly/syncthing.nix b/userModules/aly/syncthing.nix index ff15439f..9f428241 100644 --- a/userModules/aly/syncthing.nix +++ b/userModules/aly/syncthing.nix @@ -29,7 +29,7 @@ in { "iphone12" = {id = "SBQNUXS-H4XDJ3E-RBHJPT5-45WDJJA-2U43M4P-23XGUJ7-E3CNNKZ-BXSGIA3";}; # iPhone 12 Pro Max "lavaridge" = {id = "TMMSCVA-MDJTDPC-PC47NUA-2VPLAIB-6S6MEU7-KALIGUJ-AWDUOUU-XD73MAY";}; # Framework 13 AMD "mauville" = {id = "52MTCMC-PKEWSAU-HADMTZU-DY5EKFO-B323P7V-OBXLNTQ-EJY7F7Y-EUWFBQX";}; # Desktop/homelab b - "mossdeep" = {id = "XRIGHMT-54OGBWP-UAAGAJS-LGTRHA2-EMKOMEB-EJEWKZN-GJFK6FO-3O6KQQ4";}; # Steam Deck OLED + "mossdeep" = {id = "3DODR5S-WU6DTH6-Y35QZX7-7OZEOGG-CYVGGCJ-TJ6AOZX-MFDSRCR-NM727A6";}; # Yoga Slim 7x "petalburg" = {id = "ECTD3LW-YZTJIXX-HLQYXT7-UGZSGST-3DDKF72-DJPMDHE-SUYDWIT-ASTKTAE";}; # Yoga 9i "rustboro" = {id = "7CXGPQN-7DYDYJN-DKELOR3-RD4HZUW-SSUDGLZ-WVXYFUT-DPT2MGD-6PO5BQF";}; # Thinkpad t440p "slateport" = {id = "MDJFDUG-UJAXQXI-AMEF2AR-PBMD5QK-Z5ZG6AA-RCJCU3M-GZHQQEA-X2JGOAK";}; # homelab a From 3e6ec1c863e592419acf104545c0658b84f64c30 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sun, 29 Sep 2024 16:23:34 -0400 Subject: [PATCH 17/23] aly: add aly@mossdeep ssh key --- secrets/publicKeys/aly_mossdeep.pub | 1 + userModules/aly/default.nix | 1 + 2 files changed, 2 insertions(+) create mode 100644 secrets/publicKeys/aly_mossdeep.pub diff --git a/secrets/publicKeys/aly_mossdeep.pub b/secrets/publicKeys/aly_mossdeep.pub new file mode 100644 index 00000000..88dcf195 --- /dev/null +++ b/secrets/publicKeys/aly_mossdeep.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOCrKJ8OtS2JxrPUrTM3ZRPpyo8HX++Fuv/gWIsHoXzO achac@mossdeep diff --git a/userModules/aly/default.nix b/userModules/aly/default.nix index 9fe5d54d..8c305eae 100644 --- a/userModules/aly/default.nix +++ b/userModules/aly/default.nix @@ -22,6 +22,7 @@ keyFiles = [ ../../secrets/publicKeys/aly_lavaridge.pub ../../secrets/publicKeys/aly_mauville.pub + ../../secrets/publicKeys/aly_mossdeep.pub ../../secrets/publicKeys/aly_petalburg.pub ../../secrets/publicKeys/aly_rustboro.pub ]; From 3ceb806b0cbcc306192835f882d44f720f428af2 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 4 Oct 2024 18:00:05 -0400 Subject: [PATCH 18/23] flake.lock: Update (#113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/67dc29be3036cc888f0b9d4f0a788ee0f6768700?narHash=sha256-5PltTychnExFwzpEnY3WhOywaMV/M6NxYI/y3oXuUtw%3D' (2024-09-26) → 'github:nix-community/disko/574400001b3ffe555c7a21e0ff846230759be2ed?narHash=sha256-DBORKcmQ7ZjA4qE1MsnF1MmZSokOGrw4W9vTCioOv2U%3D' (2024-10-03) • Updated input 'iio-hyprland': 'github:JeanSchoeller/iio-hyprland/bbf59e10cbf293e64b765864a324e971fcc06125?narHash=sha256-9tB29tP3ZQ2tU2c%2BFrWrGqSm70ZrJP8H9WZKzHx55zI%3D' (2024-07-24) → 'github:JeanSchoeller/iio-hyprland/bd6be6b7e0fbc8ca1a5ccbf536602838e52c347e?narHash=sha256-gfH/jcrmI27OEge8OGPe7JpC0jrQJuX7v9hM/ObjjW8%3D' (2024-09-29) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106?narHash=sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao%3D' (2024-09-25) → 'github:nixos/nixpkgs/5966581aa04be7eff830b9e1457d56dc70a0b798?narHash=sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec%3D' (2024-10-02) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/30439d93eb8b19861ccbe3e581abf97bdc91b093?narHash=sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk%3D' (2024-09-23) → 'github:nixos/nixpkgs/27e30d177e57d912d614c88c622dcfdb2e6e6515?narHash=sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs%3D' (2024-10-01) • Updated input 'nur': 'github:nix-community/NUR/29e6d9d93fca1f1093a432c21104c72a8d044fee?narHash=sha256-Oue4ulh0EeTOSDVZkhJk4oRav2I3MoROqDJpzLfivh8%3D' (2024-09-27) → 'github:nix-community/NUR/414647e437d9f790b03d5feed395220b0c91acc6?narHash=sha256-kmHqEId1BooTGgwl0U84OBhMTu1drLkPKNN2A/eYkeU%3D' (2024-10-04) • Updated input 'wallpapers': 'github:alyraffauf/wallpapers/b86110d079361e785014fdc22eb3684bccf891c9?narHash=sha256-1V9LK/0GwsLjAwedYcW5uXq1y8l4W86Ce2DvrlseLcA%3D' (2024-09-23) → 'github:alyraffauf/wallpapers/1f3c34d936b02fd02c975e0aa99527afb423badc?narHash=sha256-p68hYur7luTI48jJuwjpAaKcXC%2BRs/LZhjCJkthauCs%3D' (2024-09-30) Co-authored-by: github-actions[bot] --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e2d670bd..689637d2 100644 --- a/flake.lock +++ b/flake.lock @@ -187,11 +187,11 @@ ] }, "locked": { - "lastModified": 1727359191, - "narHash": "sha256-5PltTychnExFwzpEnY3WhOywaMV/M6NxYI/y3oXuUtw=", + "lastModified": 1727977578, + "narHash": "sha256-DBORKcmQ7ZjA4qE1MsnF1MmZSokOGrw4W9vTCioOv2U=", "owner": "nix-community", "repo": "disko", - "rev": "67dc29be3036cc888f0b9d4f0a788ee0f6768700", + "rev": "574400001b3ffe555c7a21e0ff846230759be2ed", "type": "github" }, "original": { @@ -397,11 +397,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1721829827, - "narHash": "sha256-9tB29tP3ZQ2tU2c+FrWrGqSm70ZrJP8H9WZKzHx55zI=", + "lastModified": 1727632156, + "narHash": "sha256-gfH/jcrmI27OEge8OGPe7JpC0jrQJuX7v9hM/ObjjW8=", "owner": "JeanSchoeller", "repo": "iio-hyprland", - "rev": "bbf59e10cbf293e64b765864a324e971fcc06125", + "rev": "bd6be6b7e0fbc8ca1a5ccbf536602838e52c347e", "type": "github" }, "original": { @@ -439,11 +439,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727264057, - "narHash": "sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao=", + "lastModified": 1727907660, + "narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=", "owner": "nixos", "repo": "nixpkgs", - "rev": "759537f06e6999e141588ff1c9be7f3a5c060106", + "rev": "5966581aa04be7eff830b9e1457d56dc70a0b798", "type": "github" }, "original": { @@ -471,11 +471,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1727122398, - "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=", + "lastModified": 1727802920, + "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093", + "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", "type": "github" }, "original": { @@ -487,11 +487,11 @@ }, "nur": { "locked": { - "lastModified": 1727413844, - "narHash": "sha256-Oue4ulh0EeTOSDVZkhJk4oRav2I3MoROqDJpzLfivh8=", + "lastModified": 1728017256, + "narHash": "sha256-kmHqEId1BooTGgwl0U84OBhMTu1drLkPKNN2A/eYkeU=", "owner": "nix-community", "repo": "NUR", - "rev": "29e6d9d93fca1f1093a432c21104c72a8d044fee", + "rev": "414647e437d9f790b03d5feed395220b0c91acc6", "type": "github" }, "original": { @@ -645,11 +645,11 @@ "wallpapers": { "flake": false, "locked": { - "lastModified": 1727132619, - "narHash": "sha256-1V9LK/0GwsLjAwedYcW5uXq1y8l4W86Ce2DvrlseLcA=", + "lastModified": 1727677872, + "narHash": "sha256-p68hYur7luTI48jJuwjpAaKcXC+Rs/LZhjCJkthauCs=", "owner": "alyraffauf", "repo": "wallpapers", - "rev": "b86110d079361e785014fdc22eb3684bccf891c9", + "rev": "1f3c34d936b02fd02c975e0aa99527afb423badc", "type": "github" }, "original": { From 4cda6f3fcbda8c83efce65b140a7e368e5ba0e66 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sun, 6 Oct 2024 18:44:14 -0400 Subject: [PATCH 19/23] rustboro: hyprland by default --- hosts/rustboro/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/rustboro/default.nix b/hosts/rustboro/default.nix index b8a63984..2a55cad2 100644 --- a/hosts/rustboro/default.nix +++ b/hosts/rustboro/default.nix @@ -48,10 +48,10 @@ greetd = { enable = true; autologin = "aly"; - session = lib.getExe config.programs.sway.package; + session = lib.getExe config.programs.hyprland.package; }; - sway.enable = true; + hyprland.enable = true; }; laptopMode = true; From 201f1346ca62b7e34ad90e77d54b43fc7cd78ca0 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Mon, 7 Oct 2024 18:54:14 -0400 Subject: [PATCH 20/23] slateport: reverse proxy to immich on mauville --- hosts/slateport/raffauflabs.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/hosts/slateport/raffauflabs.nix b/hosts/slateport/raffauflabs.nix index 0079ab31..fbcf4c11 100644 --- a/hosts/slateport/raffauflabs.nix +++ b/hosts/slateport/raffauflabs.nix @@ -22,6 +22,7 @@ in { "git.${domain}" "music.${domain}" "passwords.${domain}" + "pics.${domain}" "plex.${domain}" "podcasts.${domain}" domain @@ -238,6 +239,26 @@ in { }; }; + "pics.${domain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://${ip}:${toString 3001}"; + + extraConfig = '' + client_max_body_size 5000M; + proxy_buffering off; + proxy_redirect http:// https://; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Connection "upgrade"; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + ''; + }; + }; + "plex.${domain}" = { enableACME = true; forceSSL = true; From d37b54fe975015756b3fd1604a84d2dcfc0cfffd Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Tue, 8 Oct 2024 11:29:02 -0400 Subject: [PATCH 21/23] mauville: use light theme --- hosts/mauville/stylix.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/mauville/stylix.nix b/hosts/mauville/stylix.nix index 194f2331..4c1aeba8 100644 --- a/hosts/mauville/stylix.nix +++ b/hosts/mauville/stylix.nix @@ -5,10 +5,10 @@ }: { stylix = { enable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-light-hard.yaml"; image = "${self.inputs.wallpapers}/wallhaven-3lyrvy.png"; imageScalingMode = "fill"; - polarity = "dark"; + polarity = "light"; cursor = { name = "Bibata-Modern-Classic"; From a6649c833ef8ab0772df8ad4f77695719861a26a Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Fri, 11 Oct 2024 07:49:27 -0400 Subject: [PATCH 22/23] flake.lock: Update (#118) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/574400001b3ffe555c7a21e0ff846230759be2ed?narHash=sha256-DBORKcmQ7ZjA4qE1MsnF1MmZSokOGrw4W9vTCioOv2U%3D' (2024-10-03) → 'github:nix-community/disko/d39ee334984fcdae6244f5a8e6ab857479cbaefe?narHash=sha256-CTKEKPzD/j8FK6H4DO3EjyixZd3HHvgAgfnCwpGFP5c%3D' (2024-10-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5966581aa04be7eff830b9e1457d56dc70a0b798?narHash=sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec%3D' (2024-10-02) → 'github:nixos/nixpkgs/d51c28603def282a24fa034bcb007e2bcb5b5dd0?narHash=sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w%3D' (2024-10-09) • Updated input 'nixpkgs-unstable': 'github:nixos/nixpkgs/27e30d177e57d912d614c88c622dcfdb2e6e6515?narHash=sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs%3D' (2024-10-01) → 'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09) • Updated input 'nur': 'github:nix-community/NUR/414647e437d9f790b03d5feed395220b0c91acc6?narHash=sha256-kmHqEId1BooTGgwl0U84OBhMTu1drLkPKNN2A/eYkeU%3D' (2024-10-04) → 'github:nix-community/NUR/249b147c8b96ea9bfc873723f82f88f61f685bb0?narHash=sha256-fqL5vpxgPJa8rU8/leTKnhraXFhIytbTgsYd%2Bo0KUgI%3D' (2024-10-11) • Updated input 'wallpapers': 'github:alyraffauf/wallpapers/1f3c34d936b02fd02c975e0aa99527afb423badc?narHash=sha256-p68hYur7luTI48jJuwjpAaKcXC%2BRs/LZhjCJkthauCs%3D' (2024-09-30) → 'github:alyraffauf/wallpapers/767fa4a1faa166ed2f18297c013aefbd062432b8?narHash=sha256-jD8GijFjpcjKb2O0g73utSoNkk/J8XLK4jFqhjboN44%3D' (2024-10-06) Co-authored-by: github-actions[bot] --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 689637d2..35838c11 100644 --- a/flake.lock +++ b/flake.lock @@ -187,11 +187,11 @@ ] }, "locked": { - "lastModified": 1727977578, - "narHash": "sha256-DBORKcmQ7ZjA4qE1MsnF1MmZSokOGrw4W9vTCioOv2U=", + "lastModified": 1728334376, + "narHash": "sha256-CTKEKPzD/j8FK6H4DO3EjyixZd3HHvgAgfnCwpGFP5c=", "owner": "nix-community", "repo": "disko", - "rev": "574400001b3ffe555c7a21e0ff846230759be2ed", + "rev": "d39ee334984fcdae6244f5a8e6ab857479cbaefe", "type": "github" }, "original": { @@ -439,11 +439,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727907660, - "narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=", + "lastModified": 1728500571, + "narHash": "sha256-dOymOQ3AfNI4Z337yEwHGohrVQb4yPODCW9MDUyAc4w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5966581aa04be7eff830b9e1457d56dc70a0b798", + "rev": "d51c28603def282a24fa034bcb007e2bcb5b5dd0", "type": "github" }, "original": { @@ -471,11 +471,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1727802920, - "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", + "lastModified": 1728492678, + "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", + "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "type": "github" }, "original": { @@ -487,11 +487,11 @@ }, "nur": { "locked": { - "lastModified": 1728017256, - "narHash": "sha256-kmHqEId1BooTGgwl0U84OBhMTu1drLkPKNN2A/eYkeU=", + "lastModified": 1728626853, + "narHash": "sha256-fqL5vpxgPJa8rU8/leTKnhraXFhIytbTgsYd+o0KUgI=", "owner": "nix-community", "repo": "NUR", - "rev": "414647e437d9f790b03d5feed395220b0c91acc6", + "rev": "249b147c8b96ea9bfc873723f82f88f61f685bb0", "type": "github" }, "original": { @@ -645,11 +645,11 @@ "wallpapers": { "flake": false, "locked": { - "lastModified": 1727677872, - "narHash": "sha256-p68hYur7luTI48jJuwjpAaKcXC+Rs/LZhjCJkthauCs=", + "lastModified": 1728177558, + "narHash": "sha256-jD8GijFjpcjKb2O0g73utSoNkk/J8XLK4jFqhjboN44=", "owner": "alyraffauf", "repo": "wallpapers", - "rev": "1f3c34d936b02fd02c975e0aa99527afb423badc", + "rev": "767fa4a1faa166ed2f18297c013aefbd062432b8", "type": "github" }, "original": { From b84018ba59aae235d5d67b84ef0f46669133a92c Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Mon, 14 Oct 2024 19:25:02 -0400 Subject: [PATCH 23/23] syncthing: fix #123 --- userModules/aly/syncthing.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/userModules/aly/syncthing.nix b/userModules/aly/syncthing.nix index 9f428241..463fcea2 100644 --- a/userModules/aly/syncthing.nix +++ b/userModules/aly/syncthing.nix @@ -11,6 +11,7 @@ in { services.syncthing = { enable = true; cert = cfg.certFile; + configDir = "${config.services.syncthing.dataDir}/.syncthing"; dataDir = "/home/aly"; key = cfg.keyFile; openDefaultPorts = true;