From a561ea2194d7366fc568883f1641625e6015ae86 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 29 Nov 2025 16:33:31 +0000 Subject: [PATCH 01/10] chore(deps): update quickshell digest to e9bad67 --- dot_config/flake/flake.lock | 8 ++++---- dot_config/flake/flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dot_config/flake/flake.lock b/dot_config/flake/flake.lock index d26475e..c1d2e7e 100644 --- a/dot_config/flake/flake.lock +++ b/dot_config/flake/flake.lock @@ -512,17 +512,17 @@ ] }, "locked": { - "lastModified": 1759997568, - "narHash": "sha256-xQyzPkgpgjAceJKwZhLU2//Y1jAmvPGOq80svqkWFhQ=", + "lastModified": 1764045583, + "narHash": "sha256-W24ReyRrhOKTKIsuAMkY5hnVlCufGoONM79sjUoyQkk=", "owner": "outfoxxed", "repo": "quickshell", - "rev": "3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6", + "rev": "e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3", "type": "github" }, "original": { "owner": "outfoxxed", "repo": "quickshell", - "rev": "3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6", + "rev": "e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3", "type": "github" } }, diff --git a/dot_config/flake/flake.nix b/dot_config/flake/flake.nix index 657fb04..76cbc2e 100644 --- a/dot_config/flake/flake.nix +++ b/dot_config/flake/flake.nix @@ -35,7 +35,7 @@ }; quickshell = { - url = "github:outfoxxed/quickshell/3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6"; + url = "github:outfoxxed/quickshell/e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; From 7e461c2c490187b47c7452407e6c0eb102321804 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 15:17:45 -0500 Subject: [PATCH 02/10] update hardware config --- dot_config/flake/flake.lock | 66 +++++++++---------- .../saffron/hardware-configuration.nix | 50 +++++++++++--- 2 files changed, 75 insertions(+), 41 deletions(-) diff --git a/dot_config/flake/flake.lock b/dot_config/flake/flake.lock index d26475e..c8d2cde 100644 --- a/dot_config/flake/flake.lock +++ b/dot_config/flake/flake.lock @@ -29,11 +29,11 @@ ] }, "locked": { - "lastModified": 1763505477, - "narHash": "sha256-nJRd4LY2kT3OELfHqdgWjvToNZ4w+zKCMzS2R6z4sXE=", + "lastModified": 1764161084, + "narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "3bda9f6b14161becbd07b3c56411f1670e19b9b5", + "rev": "e95de00a471d07435e0527ff4db092c84998698e", "type": "github" }, "original": { @@ -124,11 +124,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1759418614, - "narHash": "sha256-0E3TqvXAy81qeM/jZXWWOTZ14Hs1RT7o78UyZM+Jbr4=", + "lastModified": 1764277375, + "narHash": "sha256-xGjj40guf+KcFcjlArxwil2amljuCrZkfUOHgDCk4a4=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "afd438034bf91089cfeb9e6b5cb987bdf5442d0f", + "rev": "d3f4d42f89280b48a1ed13917678f64a0b2b0aa7", "type": "github" }, "original": { @@ -245,11 +245,11 @@ ] }, "locked": { - "lastModified": 1763416652, - "narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=", + "lastModified": 1764361670, + "narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=", "owner": "nix-community", "repo": "home-manager", - "rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312", + "rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6", "type": "github" }, "original": { @@ -265,11 +265,11 @@ ] }, "locked": { - "lastModified": 1763416652, - "narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=", + "lastModified": 1764361670, + "narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=", "owner": "nix-community", "repo": "home-manager", - "rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312", + "rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6", "type": "github" }, "original": { @@ -289,11 +289,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1763729081, - "narHash": "sha256-7v6tHiCUgqXH4J4aFguWxrqR1pJgkN9/yvPo/5Q1ih4=", + "lastModified": 1764405884, + "narHash": "sha256-TnvBRPmcpcyinvLgsitHS7w5soSa6yNBfRYEI2TK1Ts=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "a340576313f2410b9ab673dd006d9d0fbaf75c8e", + "rev": "10aae4855ee275f7d80d85f4328c24265fb20f1f", "type": "github" }, "original": { @@ -322,11 +322,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1763724970, - "narHash": "sha256-C/L6eK+azCMnOAs4wtHRk+z9XDLKUlMI2Qf2BIwmayU=", + "lastModified": 1764399944, + "narHash": "sha256-FC9eYtSmplgxllCX4/3hJq5J3sXWKLSc7at8ZUxycVw=", "owner": "YaLTeR", "repo": "niri", - "rev": "07b387df46f36b88548b7067560b25c38dc3a5b4", + "rev": "b35bcae35b3f9665043c335e55ed5828af77db85", "type": "github" }, "original": { @@ -404,11 +404,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1763622513, - "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", + "lastModified": 1764316264, + "narHash": "sha256-82L+EJU+40+FIdeG4gmUlOF1jeSwlf2AwMarrpdHF6o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", + "rev": "9a7b80b6f82a71ea04270d7ba11b48855681c4b0", "type": "github" }, "original": { @@ -420,11 +420,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1763421233, - "narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1763421233, - "narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "type": "github" }, "original": { @@ -466,11 +466,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1763622513, - "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", + "lastModified": 1764316264, + "narHash": "sha256-82L+EJU+40+FIdeG4gmUlOF1jeSwlf2AwMarrpdHF6o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", + "rev": "9a7b80b6f82a71ea04270d7ba11b48855681c4b0", "type": "github" }, "original": { @@ -577,11 +577,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1763704521, - "narHash": "sha256-ceYEV6PnvUN8Zixao4gpPuN+VT3B0SlAXKuPNHZhqUY=", + "lastModified": 1764366786, + "narHash": "sha256-yVCJ4Qe/JkdKDu0DddFdAQgDQVeF12nxH7zv3jtooV4=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "f379ff5722a821212eb59ada9cf8e51cb3654aad", + "rev": "b362a3873710a42f7ac2d8ba03772d8290733934", "type": "github" }, "original": { diff --git a/dot_config/flake/machines/saffron/hardware-configuration.nix b/dot_config/flake/machines/saffron/hardware-configuration.nix index 2166ba6..cac710c 100644 --- a/dot_config/flake/machines/saffron/hardware-configuration.nix +++ b/dot_config/flake/machines/saffron/hardware-configuration.nix @@ -1,12 +1,46 @@ -{modulesPath, ...}: { - imports = [(modulesPath + "/profiles/qemu-guest.nix")]; - boot.loader.grub.device = "/dev/vda"; - boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; - boot.initrd.kernelModules = ["nvme"]; +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_blk"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; + fileSystems."/" = { - device = "/dev/vda1"; + device = "/dev/disk/by-uuid/db174184-450c-4a20-8f49-7cdfa7286597"; fsType = "ext4"; }; - swapDevices = [{device = "/dev/vdb";}]; - nixpkgs.hostPlatform = "x86_64-linux"; + + # fileSystems."/efi" = { + # device = "systemd-1"; + # fsType = "autofs"; + # }; + + fileSystems."/efi" = { + device = "/dev/disk/by-uuid/CAD5-786D"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/c32340af-8706-4373-8e2b-349e9d5c3475";} + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens3.useDHCP = lib.mkDefault true; + # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } From fc54c9988afb0f9d40b8f037a617d94f4d093ced Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 15:51:38 -0500 Subject: [PATCH 03/10] systemd-boot --- dot_config/flake/machines/saffron/configuration.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index 2cb2e59..89f7447 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -14,8 +14,9 @@ }; }; - # Use the GRUB 2 boot loader. + # Use systemd-boot boot.loader.systemd-boot.enable = true; + boot.loader.efi.efiSysMountPoint = "/efi"; services.tailscale.enable = true; From 6803011e8ac58a48c5fd3d9d10e8243ac4a9eb5d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 16:01:22 -0500 Subject: [PATCH 04/10] use grub --- dot_config/flake/machines/saffron/configuration.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index 89f7447..8f521e3 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -14,8 +14,10 @@ }; }; - # Use systemd-boot - boot.loader.systemd-boot.enable = true; + # Use GRUB 2 boot loader + boot.loader.grub.enable = true; + boot.loader.grub.efiSupport = true; + boot.loader.grub.efiInstallAsRemovable = true; boot.loader.efi.efiSysMountPoint = "/efi"; services.tailscale.enable = true; From 150ffbe4ad497c92f5a42d8e41c13bda7f435f15 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 16:02:27 -0500 Subject: [PATCH 05/10] . --- dot_config/flake/machines/saffron/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index 8f521e3..ac3741f 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -18,6 +18,7 @@ boot.loader.grub.enable = true; boot.loader.grub.efiSupport = true; boot.loader.grub.efiInstallAsRemovable = true; + boot.loader.grub.device = "nodev"; boot.loader.efi.efiSysMountPoint = "/efi"; services.tailscale.enable = true; From e767091811491c56adbe367074efa1ceab04d204 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 18:35:39 -0500 Subject: [PATCH 06/10] added caddy --- dot_config/flake/machines/saffron/configuration.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index ac3741f..eb29af7 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -25,6 +25,16 @@ networking.hostName = "saffron"; # Define your hostname. + # Caddy reverse proxy + services.caddy = { + enable = true; + virtualHosts."rss.mayoff.ca" = { + extraConfig = '' + reverse_proxy MINIFLUX_TAILSCALE_IP:PORT + ''; + }; + }; + # Set your time zone. time.timeZone = "America/Toronto"; From 0405fb64af9d2e0a46440d1be5321d1bd11818e0 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 19:47:25 -0500 Subject: [PATCH 07/10] add cloudflare DNS challenge --- dot_config/flake/machines/saffron/configuration.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index eb29af7..ae43808 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -25,11 +25,19 @@ networking.hostName = "saffron"; # Define your hostname. - # Caddy reverse proxy + # Caddy reverse proxy with DNS challenge services.caddy = { enable = true; + package = pkgs.caddy.withPlugins { + plugins = ["github.com/caddy-dns/cloudflare"]; + vendorHash = "sha256-A9V8WgJnalU3YzuKu3D1wJjSC1MQaH2HvOvBdLzFWl4="; + }; + environmentFile = "/etc/caddy/environment"; virtualHosts."rss.mayoff.ca" = { extraConfig = '' + tls { + dns cloudflare {env.CLOUDFLARE_API_TOKEN} + } reverse_proxy MINIFLUX_TAILSCALE_IP:PORT ''; }; From 2ba25fc719b065bdd497d6c5f93a6e7994c6bc9d Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 20:16:14 -0500 Subject: [PATCH 08/10] updated caddy --- .../flake/machines/saffron/configuration.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index ae43808..518a42e 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -1,4 +1,8 @@ -{pkgs, outputs, ...}: { +{ + pkgs, + outputs, + ... +}: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -21,7 +25,10 @@ boot.loader.grub.device = "nodev"; boot.loader.efi.efiSysMountPoint = "/efi"; - services.tailscale.enable = true; + services.tailscale = { + package = pkgs.unstable.tailscale; + enable = true; + }; networking.hostName = "saffron"; # Define your hostname. @@ -29,8 +36,8 @@ services.caddy = { enable = true; package = pkgs.caddy.withPlugins { - plugins = ["github.com/caddy-dns/cloudflare"]; - vendorHash = "sha256-A9V8WgJnalU3YzuKu3D1wJjSC1MQaH2HvOvBdLzFWl4="; + plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"]; + hash = "sha256-Z8nPh4OI3/R1nn667ZC5VgE+Q9vDenaQ3QPKxmqPNkc="; }; environmentFile = "/etc/caddy/environment"; virtualHosts."rss.mayoff.ca" = { @@ -38,7 +45,7 @@ tls { dns cloudflare {env.CLOUDFLARE_API_TOKEN} } - reverse_proxy MINIFLUX_TAILSCALE_IP:PORT + reverse_proxy serenity.pizzly-bortle.ts.net:5600 ''; }; }; From 81eaef2a0104dc058656ff86bec69d7f61eddf64 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Sat, 29 Nov 2025 20:44:29 -0500 Subject: [PATCH 09/10] unblock 443 --- dot_config/flake/machines/saffron/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_config/flake/machines/saffron/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index 518a42e..df6038d 100644 --- a/dot_config/flake/machines/saffron/configuration.nix +++ b/dot_config/flake/machines/saffron/configuration.nix @@ -31,6 +31,7 @@ }; networking.hostName = "saffron"; # Define your hostname. + networking.firewall.allowedTCPPorts = [ 443 ]; # Caddy reverse proxy with DNS challenge services.caddy = { From fd02bc3b10bbcd3bf0dd8639edeec0c40557b50d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 30 Nov 2025 01:48:56 +0000 Subject: [PATCH 10/10] chore(deps): update quickshell digest to e9bad67 --- dot_config/flake/flake.lock | 8 ++++---- dot_config/flake/flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dot_config/flake/flake.lock b/dot_config/flake/flake.lock index c8d2cde..f6a3a76 100644 --- a/dot_config/flake/flake.lock +++ b/dot_config/flake/flake.lock @@ -512,17 +512,17 @@ ] }, "locked": { - "lastModified": 1759997568, - "narHash": "sha256-xQyzPkgpgjAceJKwZhLU2//Y1jAmvPGOq80svqkWFhQ=", + "lastModified": 1764045583, + "narHash": "sha256-W24ReyRrhOKTKIsuAMkY5hnVlCufGoONM79sjUoyQkk=", "owner": "outfoxxed", "repo": "quickshell", - "rev": "3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6", + "rev": "e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3", "type": "github" }, "original": { "owner": "outfoxxed", "repo": "quickshell", - "rev": "3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6", + "rev": "e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3", "type": "github" } }, diff --git a/dot_config/flake/flake.nix b/dot_config/flake/flake.nix index 657fb04..76cbc2e 100644 --- a/dot_config/flake/flake.nix +++ b/dot_config/flake/flake.nix @@ -35,7 +35,7 @@ }; quickshell = { - url = "github:outfoxxed/quickshell/3e32ae595f97bd2d2e5ed4512fb4bb25edb4eae6"; + url = "github:outfoxxed/quickshell/e9bad67619ee9937a1bbecfc6ad3b4231d2ecdc3"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };