bump to nix 26.05

This commit is contained in:
Lars Nolden
2026-06-26 14:26:54 +02:00
parent b10d22bd57
commit 9a6a901dfe
6 changed files with 63 additions and 9 deletions
Generated
+26 -5
View File
@@ -87,16 +87,16 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1779560665, "lastModified": 1782233679,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "narHash": "sha256-QyuGP5+QOtmXpy4i2X4DhBVBaySBdDKQEhqKcphcp34=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "rev": "667d5cf1c59585031d743c78b394b0a647537c35",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -122,7 +122,8 @@
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"process-compose-flake": "process-compose-flake", "process-compose-flake": "process-compose-flake",
"services-flake": "services-flake" "services-flake": "services-flake",
"sops-nix": "sops-nix"
} }
}, },
"services-flake": { "services-flake": {
@@ -140,6 +141,26 @@
"type": "github" "type": "github"
} }
}, },
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1782165805,
"narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
+1 -1
View File
@@ -2,7 +2,7 @@
description = "Gebos IoT telemetry stack on bare-metal NixOS"; description = "Gebos IoT telemetry stack on bare-metal NixOS";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.url = "github:serokell/deploy-rs";
process-compose-flake.url = "github:Platonic-Systems/process-compose-flake"; process-compose-flake.url = "github:Platonic-Systems/process-compose-flake";
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
system.stateVersion = "25.05"; system.stateVersion = "26.05";
nix.settings = { nix.settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [ "nix-command" "flakes" ];
+1
View File
@@ -9,6 +9,7 @@ let
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
./common.nix ./common.nix
./placeholder-hardware.nix
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
modules.gebos-secrets modules.gebos-secrets
modules.gebos-postgres modules.gebos-postgres
+24
View File
@@ -0,0 +1,24 @@
{ lib, ... }:
# SKELETON PLACEHOLDER — not a real machine description.
#
# The three hosts don't have actual boxes yet, but `nix flake check` evaluates
# `system.build.toplevel` for every nixosConfiguration, which asserts a root
# filesystem and a boot device exist. This stub satisfies those assertions so
# the structure type-checks in CI.
#
# When a real machine is provisioned, generate its hardware-configuration.nix
# (`nixos-generate-config`) and import that from the host file instead of this
# placeholder (see the commented import in db-host.nix). Do NOT deploy a host
# that still relies on this file — the device paths below are fictional.
{
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
boot.loader.grub = {
enable = true;
devices = [ "/dev/sda" ];
};
}
+10 -2
View File
@@ -13,12 +13,20 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# TimescaleDB ships under the non-OSI "Timescale License" (TSL), which
# nixpkgs flags as unfree. Allow just this package rather than opening the
# whole config to unfree.
nixpkgs.config.allowUnfreePredicate = pkg:
lib.elem (lib.getName pkg) [ "timescaledb" ];
services.postgresql = { services.postgresql = {
enable = true; enable = true;
package = pkgs.postgresql_17; package = pkgs.postgresql_17;
enableTCPIP = true; # listen_addresses is managed explicitly below. The upstream postgresql
# module also defines it (via its own default / enableTCPIP), so mkForce
# makes this module the single source of truth and avoids the collision.
settings = { settings = {
listen_addresses = lib.concatStringsSep "," cfg.listenAddresses; listen_addresses = lib.mkForce (lib.concatStringsSep "," cfg.listenAddresses);
shared_preload_libraries = "timescaledb,pg_stat_statements"; shared_preload_libraries = "timescaledb,pg_stat_statements";
}; };
extensions = ps: with ps; [ extensions = ps: with ps; [