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/configuration.nix b/dot_config/flake/machines/saffron/configuration.nix index 2cb2e59..df6038d 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 @@ -14,12 +18,38 @@ }; }; - # Use the GRUB 2 boot loader. - 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.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. + networking.firewall.allowedTCPPorts = [ 443 ]; + + # Caddy reverse proxy with DNS challenge + services.caddy = { + enable = true; + package = pkgs.caddy.withPlugins { + plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"]; + hash = "sha256-Z8nPh4OI3/R1nn667ZC5VgE+Q9vDenaQ3QPKxmqPNkc="; + }; + environmentFile = "/etc/caddy/environment"; + virtualHosts."rss.mayoff.ca" = { + extraConfig = '' + tls { + dns cloudflare {env.CLOUDFLARE_API_TOKEN} + } + reverse_proxy serenity.pizzly-bortle.ts.net:5600 + ''; + }; + }; # Set your time zone. time.timeZone = "America/Toronto"; 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"; }