Merge fort-nix/nix-bitcoin#844: NixOS 25.11 -> 26.05
2feb7934acrun-tests: disable the nixos-search test (Jonas Nick)8f7dcb6e2acontainers: fix for NixOS 26.05 (Jonas Nick)e8328251afudpate nixos 25.11 -> 26.05 (Jonas Nick) Pull request description: Top commit has no ACKs. Tree-SHA512: 78d3f3ba4dc43a71c5e30b9b663a51ba7ba11c880bf9113a6cb20d22b1df5a8227c8a29a6be23f7bbee2be801c5b81432bc80cd957b4758196e01c3b68ed6707
This commit is contained in:
+1
-1
@@ -97,5 +97,5 @@ It's easiest to use an existing service as a template:
|
|||||||
Most other services use packages that are already included in nixpkgs.
|
Most other services use packages that are already included in nixpkgs.
|
||||||
|
|
||||||
## Switching to a new NixOS release
|
## Switching to a new NixOS release
|
||||||
- Run command `update-flake.sh 25.11`
|
- Run command `update-flake.sh 26.05`
|
||||||
- Treewide: check if any `TODO-EXTERNAL` comments can be resolved
|
- Treewide: check if any `TODO-EXTERNAL` comments can be resolved
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ read -rd '' src <<'EOF' || :
|
|||||||
inherit (nix-bitcoin.inputs) nixpkgs;
|
inherit (nix-bitcoin.inputs) nixpkgs;
|
||||||
# legacyInstallDirs = true;
|
# legacyInstallDirs = true;
|
||||||
config = {
|
config = {
|
||||||
|
imports = [ ../test/lib/extra-container-workaround.nix ];
|
||||||
containers.nb-adhoc = {
|
containers.nb-adhoc = {
|
||||||
# bindMounts."/shared" = { hostPath = "/my/hostpath"; isReadOnly = false; };
|
# bindMounts."/shared" = { hostPath = "/my/hostpath"; isReadOnly = false; };
|
||||||
extra.addressPrefix = "10.200.255";
|
extra.addressPrefix = "10.200.255";
|
||||||
|
|||||||
@@ -324,7 +324,7 @@
|
|||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "25.11"; # Did you read the comment?
|
system.stateVersion = "26.05"; # Did you read the comment?
|
||||||
|
|
||||||
# The nix-bitcoin release version that your config is compatible with.
|
# The nix-bitcoin release version that your config is compatible with.
|
||||||
# When upgrading to a backwards-incompatible release, nix-bitcoin will display an
|
# When upgrading to a backwards-incompatible release, nix-bitcoin will display an
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
||||||
# You can also use a version branch to track a specific NixOS release
|
# You can also use a version branch to track a specific NixOS release
|
||||||
# nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-25.11";
|
# nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-26.05";
|
||||||
|
|
||||||
nixpkgs.follows = "nix-bitcoin/nixpkgs";
|
nixpkgs.follows = "nix-bitcoin/nixpkgs";
|
||||||
nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable";
|
nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable";
|
||||||
@@ -31,6 +31,9 @@
|
|||||||
# legacyInstallDirs = true;
|
# legacyInstallDirs = true;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
# See the file for why this is needed and when it can be removed
|
||||||
|
imports = [ (nix-bitcoin.outPath + "/test/lib/extra-container-workaround.nix") ];
|
||||||
|
|
||||||
containers.mynode = {
|
containers.mynode = {
|
||||||
# Always start container along with the container host
|
# Always start container along with the container host
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ fi
|
|||||||
#
|
#
|
||||||
read -rd '' src <<EOF || true
|
read -rd '' src <<EOF || true
|
||||||
{ pkgs, lib, ... }: {
|
{ pkgs, lib, ... }: {
|
||||||
|
imports = [ $(realpath "${BASH_SOURCE[0]%/*}"/../test/lib/extra-container-workaround.nix) ];
|
||||||
|
|
||||||
containers.demo-node = {
|
containers.demo-node = {
|
||||||
extra.addressPrefix = "10.250.0";
|
extra.addressPrefix = "10.250.0";
|
||||||
extra.enableWAN = true;
|
extra.enableWAN = true;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
||||||
# You can also use a version branch to track a specific NixOS release
|
# You can also use a version branch to track a specific NixOS release
|
||||||
# inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-25.11";
|
# inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-26.05";
|
||||||
|
|
||||||
inputs.nixpkgs.follows = "nix-bitcoin/nixpkgs";
|
inputs.nixpkgs.follows = "nix-bitcoin/nixpkgs";
|
||||||
inputs.nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable";
|
inputs.nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable";
|
||||||
|
|||||||
Generated
+4
-4
@@ -44,16 +44,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782847189,
|
"lastModified": 1784432872,
|
||||||
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
|
"narHash": "sha256-n3gKTBIV4ZA5VQpUakffBe3KGu4+mhPoA34rrqS0GkA=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
|
"rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.11",
|
"ref": "nixos-26.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
nixpkgs-25_05.url = "github:NixOS/nixpkgs/nixos-25.05";
|
nixpkgs-25_05.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|||||||
+4
-4
@@ -4,18 +4,18 @@ pkgs: pkgsUnstable: pkgs-25_05:
|
|||||||
inherit (pkgs)
|
inherit (pkgs)
|
||||||
bitcoin
|
bitcoin
|
||||||
bitcoind
|
bitcoind
|
||||||
|
btcpayserver
|
||||||
charge-lnd
|
charge-lnd
|
||||||
|
clboss
|
||||||
|
clightning
|
||||||
electrs
|
electrs
|
||||||
|
elementsd
|
||||||
extra-container
|
extra-container
|
||||||
lightning-pool
|
lightning-pool
|
||||||
lndconnect;
|
lndconnect;
|
||||||
|
|
||||||
inherit (pkgsUnstable)
|
inherit (pkgsUnstable)
|
||||||
bitcoind-knots
|
bitcoind-knots
|
||||||
btcpayserver
|
|
||||||
clboss
|
|
||||||
clightning
|
|
||||||
elementsd
|
|
||||||
fulcrum
|
fulcrum
|
||||||
lightning-loop
|
lightning-loop
|
||||||
lnd;
|
lnd;
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# FIXME:
|
||||||
|
# Remove this file, along with the imports in ../../dev/dev.sh,
|
||||||
|
# ../../examples/container/flake.nix, ../../examples/deploy-container.sh and
|
||||||
|
# ./make-test.nix, as soon as extra-container declares these options itself
|
||||||
|
# (https://github.com/erikarvstedt/extra-container/blob/master/eval-config.nix).
|
||||||
|
#
|
||||||
|
# extra-container evaluates the container host with a minimal module set to keep
|
||||||
|
# eval times low. NixOS 26.05 added references to the following options to
|
||||||
|
# `system/boot/systemd.nix`, which is part of that module set, while their
|
||||||
|
# declaring modules are not.
|
||||||
|
#
|
||||||
|
# The defaults match the ones from the declaring modules. Like extra-container's
|
||||||
|
# own dummy options, these declarations have no type because they only exist to
|
||||||
|
# make host eval succeed. They don't affect the resulting container units.
|
||||||
|
|
||||||
|
{ lib, pkgs, ... }: {
|
||||||
|
options = {
|
||||||
|
environment.variables = lib.mkOption { default = {}; };
|
||||||
|
i18n.imperativeLocale = lib.mkOption { default = false; };
|
||||||
|
services.openssh.enable = lib.mkOption { default = false; };
|
||||||
|
system.nixos-init.package = lib.mkOption { default = pkgs.nixos-init; };
|
||||||
|
time.timeZone = lib.mkOption { default = null; };
|
||||||
|
};
|
||||||
|
}
|
||||||
+14
-3
@@ -22,8 +22,8 @@ let
|
|||||||
test.shellcheckServices.enable = true;
|
test.shellcheckServices.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = nodes: let
|
testScript = { nodes, ... }: let
|
||||||
cfg = nodes.nodes.machine;
|
cfg = nodes.machine;
|
||||||
data = {
|
data = {
|
||||||
data = cfg.test.data;
|
data = cfg.test.data;
|
||||||
tests = cfg.tests;
|
tests = cfg.tests;
|
||||||
@@ -56,12 +56,23 @@ let
|
|||||||
extra-container.lib.buildContainers {
|
extra-container.lib.buildContainers {
|
||||||
inherit system legacyInstallDirs;
|
inherit system legacyInstallDirs;
|
||||||
config = {
|
config = {
|
||||||
|
imports = [ ./extra-container-workaround.nix ];
|
||||||
|
|
||||||
# The container name has a 11 char length limit
|
# The container name has a 11 char length limit
|
||||||
containers.nb-test = { config, ... }: {
|
containers.nb-test = { config, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
extra = config.config.test.container;
|
extra = {
|
||||||
|
# Defined here instead of in the container config because NixOS
|
||||||
|
# 26.05 derives the container's `networking.interfaces` from
|
||||||
|
# `localAddress`, which extra-container derives from
|
||||||
|
# `addressPrefix`. Reading it from the container config would
|
||||||
|
# thus be circular.
|
||||||
|
addressPrefix = "10.225.255";
|
||||||
|
inherit (config.config.test.container)
|
||||||
|
enableWAN firewallAllowHost exposeLocalhost;
|
||||||
|
};
|
||||||
config = testConfig;
|
config = testConfig;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ with lib;
|
|||||||
container = {
|
container = {
|
||||||
# Forwarded to extra-container. For descriptions, see
|
# Forwarded to extra-container. For descriptions, see
|
||||||
# https://github.com/erikarvstedt/extra-container/blob/master/eval-config.nix
|
# https://github.com/erikarvstedt/extra-container/blob/master/eval-config.nix
|
||||||
addressPrefix = mkOption { default = "10.225.255"; };
|
# `addressPrefix` is not settable here, see ./make-test.nix.
|
||||||
enableWAN = mkOption { default = false; };
|
enableWAN = mkOption { default = false; };
|
||||||
firewallAllowHost = mkOption { default = true; };
|
firewallAllowHost = mkOption { default = true; };
|
||||||
exposeLocalhost = mkOption { default = false; };
|
exposeLocalhost = mkOption { default = false; };
|
||||||
|
|||||||
+7
-1
@@ -332,7 +332,13 @@ all() {
|
|||||||
shellcheck
|
shellcheck
|
||||||
examples
|
examples
|
||||||
flake
|
flake
|
||||||
nixosSearch
|
# FIXME: Re-enable when the nixos-search input is usable again.
|
||||||
|
# flake-info at the currently locked rev supplies nixpkgs to its inner eval
|
||||||
|
# via `builtins.getFlake` instead of NIX_PATH. This breaks the postPatch in
|
||||||
|
# ./nixos-search/flake.nix and both runners in ./nixos-search, which pass
|
||||||
|
# nix-bitcoin's pinned nixpkgs through NIX_PATH.
|
||||||
|
# Run explicitly with `./run-tests.sh nixosSearch`.
|
||||||
|
# nixosSearch
|
||||||
}
|
}
|
||||||
|
|
||||||
# An alias for buildTest
|
# An alias for buildTest
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
def succeed(*cmds):
|
def succeed(*cmds):
|
||||||
|
|||||||
Reference in New Issue
Block a user