diff --git a/nix/hive.nix b/nix/hive.nix index 6182440..b140d42 100644 --- a/nix/hive.nix +++ b/nix/hive.nix @@ -2,8 +2,8 @@ meta = let my-projects-versions = builtins.fromJSON (builtins.readFile ./my-projects.json); - nixpkgs-hash = "50ab793786d9de88ee30ec4e4c24fb4236fc2674"; # nixos-24.11 2025-07-27 - nixpkgs-path = (fetchTarball "https://github.com/NixOS/nixpkgs/archive/${nixpkgs-hash}.tar.gz"); + nixpkgs-version = builtins.fromJSON (builtins.readFile ./nixpkgs.json); + nixpkgs-path = (fetchTarball "https://github.com/NixOS/nixpkgs/archive/${nixpkgs-version.commit}.tar.gz"); in { # Override to pin the Nixpkgs version (recommended). This option diff --git a/nix/modules/garage/default.nix b/nix/modules/garage/default.nix index 3f8be39..1977c47 100644 --- a/nix/modules/garage/default.nix +++ b/nix/modules/garage/default.nix @@ -12,7 +12,7 @@ services.garage = { enable = true; - package = pkgs.garage_1_1_0; + package = pkgs.garage_1_2_0; settings = { metadata_dir = "/var/lib/garage/meta"; data_dir = "/var/lib/garage/data"; diff --git a/nix/nixpkgs.json b/nix/nixpkgs.json new file mode 100644 index 0000000..e63baef --- /dev/null +++ b/nix/nixpkgs.json @@ -0,0 +1,5 @@ +{ + "channel": "nixos-25.05", + "lastUpdated": "2025-08-03T11:42:11.747Z", + "commit": "59e69648d345d6e8fef86158c555730fa12af9de" +} diff --git a/update-my-projects.mjs b/nix/update-my-projects.mjs similarity index 92% rename from update-my-projects.mjs rename to nix/update-my-projects.mjs index e940822..ee2cbe9 100644 --- a/update-my-projects.mjs +++ b/nix/update-my-projects.mjs @@ -1,6 +1,6 @@ import fs from "node:fs/promises"; -const path = `${import.meta.dirname}/nix/my-projects.json`; +const path = `${import.meta.dirname}/my-projects.json`; const projects = JSON.parse(await fs.readFile(path)); let hasChanges = false; diff --git a/nix/update-nixpkgs.mjs b/nix/update-nixpkgs.mjs new file mode 100644 index 0000000..fa63e62 --- /dev/null +++ b/nix/update-nixpkgs.mjs @@ -0,0 +1,23 @@ +import fs from "node:fs/promises"; + +const path = `${import.meta.dirname}/nixpkgs.json`; +const nixpkgs = JSON.parse(await fs.readFile(path)); + +const res = await fetch( + `https://api.github.com/repos/NixOS/nixpkgs/commits/${nixpkgs.channel}` +); + +if (!res.ok) { + throw new Error( + `get commit for ${name}: ${res.status} - ${await res.text()}` + ); +} + +const body = await res.json(); + +if (body.sha !== nixpkgs.commit) { + nixpkgs.commit = body.sha; + nixpkgs.lastUpdated = new Date().toISOString(); + + await fs.writeFile(path, JSON.stringify(nixpkgs, null, 2) + "\n"); +}