summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2025-03-04 10:53:50 +0100
committerAlan Pearce2025-03-04 10:53:50 +0100
commitac01bd182f575a268e12b556f5ef5cdfbc4499a2 (patch)
tree006e2fb958e78701f7ed831b7d577a150f210ba9
parent5efe9faa9ad762667137e00c742823beabc5be6d (diff)
downloadnixfiles-ac01bd182f575a268e12b556f5ef5cdfbc4499a2.tar.lz
nixfiles-ac01bd182f575a268e12b556f5ef5cdfbc4499a2.tar.zst
nixfiles-ac01bd182f575a268e12b556f5ef5cdfbc4499a2.zip
deploy to linde with colmena
-rw-r--r--hive.nix26
-rw-r--r--npins/sources.json29
-rw-r--r--shell.nix1
-rw-r--r--system/linde.nix6
4 files changed, 56 insertions, 6 deletions
diff --git a/hive.nix b/hive.nix
new file mode 100644
index 00000000..22d29ee3
--- /dev/null
+++ b/hive.nix
@@ -0,0 +1,26 @@
+{
+  meta = {
+    nixpkgs = <nixpkgs>;
+    specialArgs = {
+      srvos = import <srvos>;
+    };
+  };
+
+  defaults = { pkgs, ... }: {
+    deployment = {
+      buildOnTarget = true;
+    };
+  };
+
+  linde = { name, nodes, srvos, ... }: {
+    imports = [
+      srvos.nixosModules.server
+      srvos.nixosModules.hardware-hetzner-cloud-arm
+      <agenix/modules/age.nix>
+      (builtins.getFlake (toString <searchix>)).nixosModules.web
+      (builtins.getFlake (toString <golink>)).nixosModules.default
+      ./packages/modules/nixos/laminar.nix
+      ./system/linde.nix
+    ];
+  };
+}
diff --git a/npins/sources.json b/npins/sources.json
index f785a2d4..2a8bbc2b 100644
--- a/npins/sources.json
+++ b/npins/sources.json
@@ -36,6 +36,21 @@
       "url": "https://github.com/nix-community/emacs-overlay/archive/d9492638daa77fca7bf84e5b218cd95598ac3f72.tar.gz",
       "hash": "0wr8y84g8q45y0vahvwx5px7728i88qskj3657g2i8j08skndlw6"
     },
+    "golink": {
+      "type": "GitRelease",
+      "repository": {
+        "type": "GitHub",
+        "owner": "tailscale",
+        "repo": "golink"
+      },
+      "pre_releases": false,
+      "version_upper_bound": null,
+      "release_prefix": null,
+      "version": "v1.0.0",
+      "revision": "b1db61ed5e5c1ee78403a6f1930f266f8f43eea6",
+      "url": "https://api.github.com/repos/tailscale/golink/tarball/v1.0.0",
+      "hash": "0l4b24h0r1ap7jl0pws7qpnyanjp4r1ix2r48ff3vrh5xk8sb2bh"
+    },
     "home-manager": {
       "type": "Git",
       "repository": {
@@ -90,6 +105,20 @@
       "url": "https://github.com/nix-community/NUR/archive/eb2e9317b9e301ed5cbe2b07cb57b33558b79670.tar.gz",
       "hash": "0gg453khpw5255rc6jgndid8qh2l9nh0jnrc1mlp24zjjqn567g8"
     },
+    "searchix": {
+      "type": "GitRelease",
+      "repository": {
+        "type": "Git",
+        "url": "https://git.alanpearce.eu/searchix"
+      },
+      "pre_releases": false,
+      "version_upper_bound": null,
+      "release_prefix": null,
+      "version": "v0.1.17",
+      "revision": "1b4bc895cf7a1943ba61448b29bb1dadd81c8182",
+      "url": null,
+      "hash": "1jnwisaamd7hnsp9f96c2n3x24n28a9bnkn48jkgid09ajzar725"
+    },
     "srvos": {
       "type": "Git",
       "repository": {
diff --git a/shell.nix b/shell.nix
index 2fa4ecf4..6a6c213f 100644
--- a/shell.nix
+++ b/shell.nix
@@ -11,6 +11,7 @@ pkgs.mkShell
   buildInputs = with pkgs; [
     npins
     fish
+    colmena
     (pkgs.callPackage "${sources.agenix}/pkgs/agenix.nix" { })
     (import sources.home-manager { inherit pkgs; }).home-manager
   ];
diff --git a/system/linde.nix b/system/linde.nix
index a9c569ef..26dc17fb 100644
--- a/system/linde.nix
+++ b/system/linde.nix
@@ -17,7 +17,6 @@ let
   net-gw6 = "fe80::1";
   domain = "alanpearce.eu";
   ts-domain = "hydra-pinecone.ts.net";
-  golink = (builtins.getFlake (toString <golink>)).nixosModules.default;
 in
 {
   imports =
@@ -25,8 +24,6 @@ in
       <personal/modules/nixos/laminar.nix>
       <home-manager/nixos>
       <agenix/modules/age.nix>
-      <searchix/nix/modules>
-      golink
       # Include the results of the hardware scan.
       ./linde-hardware.nix
 
@@ -297,9 +294,6 @@ in
       "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJVREjPey2TOIPzfYJoG9yIR4Rui7tNJK2QIKa+pbgsyXg31hhPIw37LRRIic+l53mW8eahHxX3Y1IeTjcMw8IU= alan@secretive.marvin"
     ];
   };
-  home-manager = {
-    users.alan = import ../user/server.nix;
-  };
 
   users.users.nixremote = {
     shell = "/bin/sh";