diff --git a/flake.lock b/flake.lock index 028866a..e4d3ab1 100644 --- a/flake.lock +++ b/flake.lock @@ -193,11 +193,11 @@ ] }, "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "owner": "numtide", "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "type": "github" }, "original": { @@ -437,11 +437,11 @@ ] }, "locked": { - "lastModified": 1732466619, - "narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "f3111f62a23451114433888902a55cf0692b408d", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { @@ -457,11 +457,11 @@ ] }, "locked": { - "lastModified": 1732884235, - "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", + "lastModified": 1741457641, + "narHash": "sha256-HIoSAfme6BReJI8wbtZxSuALfI21OqagDPlbGkeVX0c=", "owner": "nix-community", "repo": "home-manager", - "rev": "819f682269f4e002884702b87e445c82840c68f2", + "rev": "2c87a6475fba12c9eb04ccb7375da0e32da48dc1", "type": "github" }, "original": { @@ -471,11 +471,11 @@ }, "impermanence": { "locked": { - "lastModified": 1731242966, - "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=", + "lastModified": 1737831083, + "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", "owner": "nix-community", "repo": "impermanence", - "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a", + "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", "type": "github" }, "original": { @@ -545,11 +545,11 @@ }, "nixpkgs-mine": { "locked": { - "lastModified": 1738258527, - "narHash": "sha256-qMRx0rK9VDEdd69Vdjmh8opSAtQGcE8qz0goQ+qt7Jk=", + "lastModified": 1741543477, + "narHash": "sha256-CIXkalXwVcUFxb2TF33j45GlWWVHGmHu0GaMvVM/f6M=", "owner": "devplayer0", "repo": "nixpkgs", - "rev": "fcf13e28c9c9aacfde5096ef45c55491eeb233e9", + "rev": "811543d59a6dec53bd025bb17be0896f3c37c03a", "type": "github" }, "original": { @@ -561,11 +561,11 @@ }, "nixpkgs-mine-stable": { "locked": { - "lastModified": 1732985894, - "narHash": "sha256-YYuQQCcSF6KjgtAenZJiBmqt5jqP3UvYgC424VQ+22s=", + "lastModified": 1741456679, + "narHash": "sha256-5f6f3yFT4+KDV02PXlKxhJ7ig++oa+NzGwlW8vxWPHk=", "owner": "devplayer0", "repo": "nixpkgs", - "rev": "e0a3f4e2bbc5f7b681e344b389dcbab23f2e92a8", + "rev": "c82613e3e6a22d4cc1e80e1e91bea15c601dbbe7", "type": "github" }, "original": { @@ -577,11 +577,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1732824227, - "narHash": "sha256-fYNXgpu1AEeLyd3fQt4Ym0tcVP7cdJ8wRoqJ+CtTRyY=", + "lastModified": 1741332913, + "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c71ad5c34d51dcbda4c15f44ea4e4aa6bb6ac1e9", + "rev": "20755fa05115c84be00b04690630cb38f0a203ad", "type": "github" }, "original": { @@ -592,11 +592,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732758367, - "narHash": "sha256-RzaI1RO0UXqLjydtz3GAXSTzHkpb/lLD1JD8a0W4Wpo=", + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa42b5a5f401aab8a32bd33c9a4de0738180dc59", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", "type": "github" }, "original": { @@ -785,11 +785,11 @@ "sbt": "sbt" }, "locked": { - "lastModified": 1720592125, - "narHash": "sha256-vR89LefkY8mBPWxDTQ8SNg6Z7/J6Yga80T4kSb6MNdk=", + "lastModified": 1741328331, + "narHash": "sha256-OtsHm9ykxfAOMRcgFDsqFBBy5Wu0ag7eq1qmTIluVcw=", "owner": "eikek", "repo": "sharry", - "rev": "604b20517150599cb05dbe178cd35cd10659aa4c", + "rev": "6203b90f9a76357d75c108a27ad00f323d45c1d0", "type": "github" }, "original": { diff --git a/lib/constants.nix b/lib/constants.nix index 26529b6..f797fd9 100644 --- a/lib/constants.nix +++ b/lib/constants.nix @@ -27,8 +27,8 @@ rec { }; kernel = { - lts = pkgs: pkgs.linuxKernel.packages.linux_6_6; - latest = pkgs: pkgs.linuxKernel.packages.linux_6_12; + lts = pkgs: pkgs.linuxKernel.packages.linux_6_12; + latest = pkgs: pkgs.linuxKernel.packages.linux_6_13; }; nginx = rec { diff --git a/lib/default.nix b/lib/default.nix index 5377863..88ce3c3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -53,7 +53,7 @@ rec { in mkApp "${app}/bin/${app.meta.mainProgram}"; flakePackageOverlay' = flake: pkg: system: (final: prev: let - pkg' = if pkg != null then flake.packages.${system}.${pkg} else flake.defaultPackage.${system}; + pkg' = if pkg != null then flake.packages.${system}.${pkg} else flake.packages.${system}.default; name = if pkg != null then pkg else pkg'.name; in { @@ -248,8 +248,8 @@ rec { in { trivial = prev.trivial // { - release = "24.12:u-${prev.trivial.release}"; - codeName = "Epic"; + release = "25.03:u-${prev.trivial.release}"; + codeName = "Frick"; revisionWithDefault = default: self.rev or default; versionSuffix = ".${date}.${revCode self}:u-${revCode pkgsFlake}"; }; diff --git a/nixos/boxes/britway/bgp.nix b/nixos/boxes/britway/bgp.nix index 7ff13a9..7f94537 100644 --- a/nixos/boxes/britway/bgp.nix +++ b/nixos/boxes/britway/bgp.nix @@ -11,23 +11,24 @@ in config = { my = { secrets.files."britway/bgp-password-vultr.conf" = { - owner = "bird2"; - group = "bird2"; + owner = "bird"; + group = "bird"; }; }; environment.etc."bird/vultr-password.conf".source = config.age.secrets."britway/bgp-password-vultr.conf".path; systemd = { - services.bird2.after = [ "systemd-networkd-wait-online@veth0.service" ]; + services.bird.after = [ "systemd-networkd-wait-online@veth0.service" ]; network = { config.networkConfig.ManageForeignRoutes = false; }; }; services = { - bird2 = { + bird = { enable = true; + package = pkgs.bird2; preCheckConfig = '' echo '"dummy"' > vultr-password.conf ''; diff --git a/nixos/boxes/colony/vms/estuary/bgp.nix b/nixos/boxes/colony/vms/estuary/bgp.nix index eafa0a6..5c29308 100644 --- a/nixos/boxes/colony/vms/estuary/bgp.nix +++ b/nixos/boxes/colony/vms/estuary/bgp.nix @@ -8,8 +8,9 @@ in { config = { services = { - bird2 = { + bird = { enable = true; + package = pkgs.bird2; # TODO: Clean up and modularise config = '' define OWNAS = 211024; diff --git a/nixos/boxes/home/palace/vms/sfh/default.nix b/nixos/boxes/home/palace/vms/sfh/default.nix index 20e873a..50e0f66 100644 --- a/nixos/boxes/home/palace/vms/sfh/default.nix +++ b/nixos/boxes/home/palace/vms/sfh/default.nix @@ -141,7 +141,7 @@ in containers.instances = let instances = { - unifi = {}; + # unifi = {}; }; in mkMerge [ diff --git a/nixos/boxes/home/routing-common/dns_update.py b/nixos/boxes/home/routing-common/dns_update.py index f06278e..864d000 100755 --- a/nixos/boxes/home/routing-common/dns_update.py +++ b/nixos/boxes/home/routing-common/dns_update.py @@ -2,7 +2,7 @@ import argparse import subprocess -import CloudFlare +import cloudflare def main(): parser = argparse.ArgumentParser(description='Cloudflare DNS update script') @@ -19,17 +19,22 @@ def main(): if args.api_token_file: with open(args.api_token_file) as f: cf_token = f.readline().strip() + cf = cloudflare.Cloudflare(api_token=cf_token) - cf = CloudFlare.CloudFlare(token=cf_token) - zones = cf.zones.get(params={'name': args.zone}) + zones = list(cf.zones.list(name=args.zone)) assert zones, f'Zone {args.zone} not found' - records = cf.zones.dns_records.get(zones[0]['id'], params={'name': args.record}) + assert len(zones) == 1, f'More than one zone found for {args.zone}' + zone = zones[0] + + records = list(cf.dns.records.list(zone_id=zone.id, name=args.record, type='A')) assert records, f'Record {args.record} not found in zone {args.zone}' + assert len(records) == 1, f'More than one record found for {args.record}' + record = records[0] print(f'Updating {args.record} -> {address}') - cf.zones.dns_records.patch( - zones[0]['id'], records[0]['id'], - data={'type': 'A', 'name': args.record, 'content': address}) + cf.dns.records.edit( + zone_id=zone.id, dns_record_id=record.id, + type='A', content=address) if __name__ == '__main__': main() diff --git a/nixos/boxes/kelder/containers/spoder/default.nix b/nixos/boxes/kelder/containers/spoder/default.nix index 887addd..b876e9b 100644 --- a/nixos/boxes/kelder/containers/spoder/default.nix +++ b/nixos/boxes/kelder/containers/spoder/default.nix @@ -98,6 +98,7 @@ in https = true; config = { adminpassFile = config.age.secrets."kelder/nextcloud-root.txt".path; + dbtype = "sqlite"; }; settings = { updatechecker = false; diff --git a/nixos/default.nix b/nixos/default.nix index 5f1a292..1b3c205 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -23,7 +23,7 @@ let pkgs = pkgs'.${config'.nixpkgs}.${config'.system}; allPkgs = mapAttrs (_: p: p.${config'.system}) pkgs'; - modules' = [ hmFlakes.${config'.home-manager}.nixosModule ] ++ (attrValues cfg.modules); + modules' = [ hmFlakes.${config'.home-manager}.nixosModules.default ] ++ (attrValues cfg.modules); in # Import eval-config ourselves since the flake now force-sets lib import "${pkgsFlake}/nixos/lib/eval-config.nix" { diff --git a/nixos/modules/containers.nix b/nixos/modules/containers.nix index b41872b..223a772 100644 --- a/nixos/modules/containers.nix +++ b/nixos/modules/containers.nix @@ -15,6 +15,7 @@ let passAsFile = [ "code" ]; code = '' #include + #include #include #include #include diff --git a/nixos/modules/netboot/default.nix b/nixos/modules/netboot/default.nix index 32fc83e..a95cc9d 100644 --- a/nixos/modules/netboot/default.nix +++ b/nixos/modules/netboot/default.nix @@ -5,6 +5,7 @@ let cfg = config.my.netboot; + # Newer releases don't boot on desktop? ipxe = pkgs.ipxe.overrideAttrs (o: rec { version = "1.21.1-unstable-2024-06-27"; src = pkgs.fetchFromGitHub { @@ -17,7 +18,7 @@ let tftpRoot = pkgs.linkFarm "tftp-root" [ { name = "ipxe-x86_64.efi"; - path = "${ipxe}/ipxe.efi"; + path = "${pkgs.ipxe}/ipxe.efi"; } ]; menuFile = pkgs.runCommand "menu.ipxe" { diff --git a/nixos/modules/network.nix b/nixos/modules/network.nix index d041fa5..38f5303 100644 --- a/nixos/modules/network.nix +++ b/nixos/modules/network.nix @@ -1,6 +1,6 @@ { lib, pkgs, config, ... }: let - inherit (lib) flatten optional mkIf mkDefault mkMerge; + inherit (lib) flatten optional mkIf mkDefault mkMerge versionAtLeast; in { config = mkMerge [ @@ -13,9 +13,11 @@ in }; systemd = { - additionalUpstreamSystemUnits = [ + additionalUpstreamSystemUnits = mkIf (config.system.nixos.release == "24.12:u-24.11") [ # TODO: NixOS has its own version of this, but with `network` instead of `networkd`. Is this just a typo? It # hasn't been updated in 2 years... + # This has been done upstream now :) + # TODO: Remove when 25.05 releases "systemd-networkd-wait-online@.service" ]; }; diff --git a/nixos/modules/tmproot.nix b/nixos/modules/tmproot.nix index 21c8eca..363962a 100644 --- a/nixos/modules/tmproot.nix +++ b/nixos/modules/tmproot.nix @@ -551,7 +551,7 @@ in ]; }); }) - (mkIf config.services.pds.enable { + (mkIf (config.services ? "pds" && config.services.pds.enable) { my.tmproot.persistence.config.directories = [ { directory = "/var/lib/pds";