Merge fort-nix/nix-bitcoin#824: Update to NixOS 25.11

72e220d998 containers: use native systemd FUSE support (Erik Arvstedt)
53104f55f9 btcpayserver: update postgresql setup to NixOS 25.11 (Erik Arvstedt)
7b215e6ca1 extra-container: 0.13 -> 0.14 (Erik Arvstedt)
3b9406a4d2 joinmarket: fix for NixOS 25.11 (Erik Arvstedt)
4ba311c425 trezor: fix for NixOS 25.11 (Erik Arvstedt)
9eca5294bb pyln-proto: fix for NixOS 25.11 (Erik Arvstedt)
974f29b516 python-packages: minor fixes for NixOS 25.11 (Erik Arvstedt)
54651163ba treewide: fix eval warnings for NixOS 25.11 (Erik Arvstedt)
4303550ce3 update to NixOS 25.11 (Erik Arvstedt)
2a59766cb1 flake-info: fix patch after upstream reformatting (Jonas Nick)
bde29b84f7 Update nixpkgs (Jonas Nick)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 72e220d998

Tree-SHA512: a6a291c42c14e7c7b7d66365100ee03f53e969a826f13fe75374392b8ec638ca0b6460a7b96ebbc7c0902b578a2c7b783a6170f342a4fb0e1cd6a9f7fc2e3664
This commit is contained in:
Jonas Nick
2026-01-04 20:09:14 +00:00
28 changed files with 155 additions and 74 deletions
+1 -1
View File
@@ -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.05` - Run command `update-flake.sh 25.11`
- Treewide: check if any `TODO-EXTERNAL` comments can be resolved - Treewide: check if any `TODO-EXTERNAL` comments can be resolved
+1 -1
View File
@@ -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.05"; # Did you read the comment? system.stateVersion = "25.11"; # 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
+1 -1
View File
@@ -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.05"; # nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-25.11";
nixpkgs.follows = "nix-bitcoin/nixpkgs"; nixpkgs.follows = "nix-bitcoin/nixpkgs";
nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable"; nixpkgs-unstable.follows = "nix-bitcoin/nixpkgs-unstable";
+1 -1
View File
@@ -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.05"; # inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-25.11";
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
+27 -10
View File
@@ -10,16 +10,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734005403, "lastModified": 1766155727,
"narHash": "sha256-vgh3TqfkFdnPxREBedw4MQehIDc3N8YyxBOB45n+AvU=", "narHash": "sha256-XGp4HHH6D6ZKiO5RnMzqYJYnZB538EnEflvlTsOKpvo=",
"owner": "erikarvstedt", "owner": "erikarvstedt",
"repo": "extra-container", "repo": "extra-container",
"rev": "f4de6c329b306a9d3a9798a30e060c166f781baa", "rev": "b450bdb24fca1076973c852d87bcb49b8eb5fd49",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "erikarvstedt", "owner": "erikarvstedt",
"ref": "0.13", "ref": "0.14",
"repo": "extra-container", "repo": "extra-container",
"type": "github" "type": "github"
} }
@@ -44,11 +44,27 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1763622513, "lastModified": 1766201043,
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=", "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b", "rev": "b3aad468604d3e488d627c0b43984eb60e75e782",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-25_05": {
"locked": {
"lastModified": 1766014764,
"narHash": "sha256-+73VffE5GP5fvbib6Hs1Su6LehG+9UV1Kzs90T2gBLA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2b0d2b456e4e8452cf1c16d00118d145f31160f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -60,11 +76,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1763618868, "lastModified": 1766314097,
"narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=", "narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942", "rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -79,6 +95,7 @@
"extra-container": "extra-container", "extra-container": "extra-container",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-25_05": "nixpkgs-25_05",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"
} }
}, },
+9 -5
View File
@@ -5,17 +5,18 @@
''; '';
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
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";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
extra-container = { extra-container = {
url = "github:erikarvstedt/extra-container/0.13"; url = "github:erikarvstedt/extra-container/0.14";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
}; };
outputs = { self, nixpkgs, nixpkgs-unstable, flake-utils, ... }: outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-25_05, flake-utils, ... }:
let let
supportedSystems = [ supportedSystems = [
"x86_64-linux" "x86_64-linux"
@@ -33,8 +34,9 @@
system system
, pkgs ? nixpkgs.legacyPackages.${system} , pkgs ? nixpkgs.legacyPackages.${system}
, pkgsUnstable ? nixpkgs-unstable.legacyPackages.${system} , pkgsUnstable ? nixpkgs-unstable.legacyPackages.${system}
, pkgs-25_05 ? nixpkgs-25_05.legacyPackages.${system}
}: }:
import ./pkgs { inherit pkgs pkgsUnstable; }; import ./pkgs { inherit pkgs pkgsUnstable pkgs-25_05; };
test = { test = {
inherit (test) scenarios; inherit (test) scenarios;
@@ -73,7 +75,7 @@
nix-bitcoin.pkgs = nix-bitcoin.pkgs =
if config.nix-bitcoin.useVersionLockedPkgs if config.nix-bitcoin.useVersionLockedPkgs
then (self.lib.mkNbPkgs { inherit (config.nixpkgs) system; }).modulesPkgs then (self.lib.mkNbPkgs { inherit (config.nixpkgs) system; }).modulesPkgs
else (self.lib.mkNbPkgs { inherit (pkgs) system; inherit pkgs; }).modulesPkgs; else (self.lib.mkNbPkgs { inherit (pkgs.stdenv.hostPlatform) system; inherit pkgs; }).modulesPkgs;
}; };
}; };
@@ -95,6 +97,8 @@
"nixops19_09" "nixops19_09"
"pinned" "pinned"
"generate-secrets" "generate-secrets"
"nbPython3Packages"
"nbPython3PackagesJoinmarket"
]) // { ]) // {
inherit (import ./examples/qemu-vm/minimal-vm.nix self pkgs system) inherit (import ./examples/qemu-vm/minimal-vm.nix self pkgs system)
# A simple demo VM. # A simple demo VM.
+2 -2
View File
@@ -64,7 +64,7 @@ in rec {
toLines = pkgs: builtins.concatStringsSep "\n " (builtins.attrNames pkgs); toLines = pkgs: builtins.concatStringsSep "\n " (builtins.attrNames pkgs);
in '' in ''
# This file is generated by ../helper/update-flake.nix # This file is generated by ../helper/update-flake.nix
pkgs: pkgsUnstable: pkgs: pkgsUnstable: pkgs-25_05:
{ {
inherit (pkgs) inherit (pkgs)
${toLines versions.stable}; ${toLines versions.stable};
@@ -72,7 +72,7 @@ in rec {
inherit (pkgsUnstable) inherit (pkgsUnstable)
${toLines versions.unstable}; ${toLines versions.unstable};
inherit pkgs pkgsUnstable; inherit pkgs pkgsUnstable pkgs-25_05;
} }
''; '';
} }
+8 -5
View File
@@ -135,14 +135,17 @@ in {
}; };
services.postgresql = { services.postgresql = {
enable = true; enable = true;
ensureDatabases = [ "btcpaydb" "nbxplorer" ]; ensureDatabases = [
"btcpaydb" # This name is kept for backwards compatibility
"nbxplorer"
];
ensureUsers = [ ensureUsers = [
{ name = cfg.btcpayserver.user; } { name = cfg.btcpayserver.user; }
{ name = cfg.nbxplorer.user; } { name = cfg.nbxplorer.user; }
]; ];
}; };
systemd.services.postgresql.postStart = lib.mkAfter '' systemd.services.postgresql-setup.postStart = ''
$PSQL -tAc ' psql -tAc '
ALTER DATABASE "btcpaydb" OWNER TO "${cfg.btcpayserver.user}"; ALTER DATABASE "btcpaydb" OWNER TO "${cfg.btcpayserver.user}";
ALTER DATABASE "nbxplorer" OWNER TO "${cfg.nbxplorer.user}"; ALTER DATABASE "nbxplorer" OWNER TO "${cfg.nbxplorer.user}";
' '
@@ -171,7 +174,7 @@ in {
''; '';
in rec { in rec {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ]; requires = [ "postgresql.target" ];
wants = [ "bitcoind.service" ] ++ optional cfg.btcpayserver.lbtc "liquidd.service"; wants = [ "bitcoind.service" ] ++ optional cfg.btcpayserver.lbtc "liquidd.service";
after = requires ++ wants ++ [ "nix-bitcoin-secrets.target" ]; after = requires ++ wants ++ [ "nix-bitcoin-secrets.target" ];
preStart = '' preStart = ''
@@ -226,7 +229,7 @@ in {
''); '');
in rec { in rec {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ]; requires = [ "postgresql.target" ];
wants = [ "nbxplorer.service" ] wants = [ "nbxplorer.service" ]
++ optional (cfg.btcpayserver.lightningBackend != null) "${cfg.btcpayserver.lightningBackend}.service"; ++ optional (cfg.btcpayserver.lightningBackend != null) "${cfg.btcpayserver.lightningBackend}.service";
after = requires ++ wants; after = requires ++ wants;
+1 -1
View File
@@ -75,7 +75,7 @@ let
group = user; group = user;
dataDir = "/var/lib/charge-lnd"; dataDir = "/var/lib/charge-lnd";
configFile = builtins.toFile "charge-lnd.config" cfg.policies; configFile = builtins.toFile "charge-lnd.config" cfg.policies;
checkedConfig = pkgs.runCommandNoCC "charge-lnd-checked.config" { } '' checkedConfig = pkgs.runCommand "charge-lnd-checked.config" { } ''
${config.nix-bitcoin.pkgs.charge-lnd}/bin/charge-lnd --check --config ${configFile} ${config.nix-bitcoin.pkgs.charge-lnd}/bin/charge-lnd --check --config ${configFile}
cp ${configFile} $out cp ${configFile} $out
''; '';
+1 -1
View File
@@ -124,7 +124,7 @@ let
# TODO-EXTERNAL: # TODO-EXTERNAL:
# lndconnect requires a --configfile argument, although it's unused # lndconnect requires a --configfile argument, although it's unused
# https://github.com/LN-Zap/lndconnect/issues/25 # https://github.com/LN-Zap/lndconnect/issues/25
pkgs.hiPrio (pkgs.writeScriptBin name '' lib.hiPrio (pkgs.writeScriptBin name ''
${shebang} ${shebang}
url=$( url=$(
${getExe config.nix-bitcoin.pkgs.lndconnect} --url \ ${getExe config.nix-bitcoin.pkgs.lndconnect} --url \
+1 -1
View File
@@ -157,7 +157,7 @@ in {
veth = "nb-veth-${toString v.id}"; veth = "nb-veth-${toString v.id}";
peer = "nb-veth-br-${toString v.id}"; peer = "nb-veth-br-${toString v.id}";
inherit (v) netnsName; inherit (v) netnsName;
nsenter = "${pkgs.utillinux}/bin/nsenter"; nsenter = "${pkgs.util-linux}/bin/nsenter";
allowedNetnsAddresses = map (available: netns.${available}.address) v.availableNetns; allowedNetnsAddresses = map (available: netns.${available}.address) v.availableNetns;
allowedAddresses = concatStringsSep "," allowedAddresses = concatStringsSep ","
([ "127.0.0.1,${bridgeIp},${v.address}" ] ++ allowedNetnsAddresses); ([ "127.0.0.1,${bridgeIp},${v.address}" ] ++ allowedNetnsAddresses);
+8 -3
View File
@@ -4,14 +4,19 @@ in
# Set default values for use without flakes # Set default values for use without flakes
{ pkgs ? import <nixpkgs> { config = {}; overlays = []; } { pkgs ? import <nixpkgs> { config = {}; overlays = []; }
, pkgsUnstable ? import nixpkgsPinned.nixpkgs-unstable { , pkgsUnstable ? import nixpkgsPinned.nixpkgs-unstable {
inherit (pkgs.stdenv) system; inherit (pkgs.stdenv.hostPlatform) system;
config = {};
overlays = [];
}
, pkgs-25_05 ? import nixpkgsPinned.nixpkgs-25_05 {
inherit (pkgs.stdenv.hostPlatform) system;
config = {}; config = {};
overlays = []; overlays = [];
} }
}: }:
let self = { let self = {
clightning-rest = pkgs.callPackage ./clightning-rest { inherit (self) fetchNodeModules; }; clightning-rest = pkgs.callPackage ./clightning-rest { inherit (self) fetchNodeModules; };
clightning-plugins = pkgs.recurseIntoAttrs (import ./clightning-plugins pkgs self.nbPython3Packages); clightning-plugins = pkgs.lib.recurseIntoAttrs (import ./clightning-plugins pkgs self.nbPython3Packages);
clnrest = pkgs.callPackage ./clnrest { inherit (self.pinned) clightning; }; clnrest = pkgs.callPackage ./clnrest { inherit (self.pinned) clightning; };
joinmarket = pkgs.callPackage ./joinmarket { inherit (self) nbPython3PackagesJoinmarket; }; joinmarket = pkgs.callPackage ./joinmarket { inherit (self) nbPython3PackagesJoinmarket; };
lndinit = pkgs.callPackage ./lndinit { }; lndinit = pkgs.callPackage ./lndinit { };
@@ -43,7 +48,7 @@ let self = {
generate-secrets = import ./generate-secrets-deprecated.nix; generate-secrets = import ./generate-secrets-deprecated.nix;
nixops19_09 = pkgs.callPackage ./nixops { }; nixops19_09 = pkgs.callPackage ./nixops { };
pinned = import ./pinned.nix pkgs pkgsUnstable; pinned = import ./pinned.nix pkgs pkgsUnstable pkgs-25_05;
modulesPkgs = self // self.pinned; modulesPkgs = self // self.pinned;
}; in self }; in self
+2 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, python3, nbPython3PackagesJoinmarket }: { stdenv, lib, fetchFromGitHub, nbPython3PackagesJoinmarket }:
let let
# Note: # Note:
@@ -18,7 +18,7 @@ let
matplotlib # for ob-watcher matplotlib # for ob-watcher
]; ];
pythonEnv = python3.withPackages (_: runtimePackages); pythonEnv = nbPython3PackagesJoinmarket.python.withPackages (_: runtimePackages);
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "joinmarket"; pname = "joinmarket";
+1
View File
@@ -3,6 +3,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "liquid-swap"; pname = "liquid-swap";
version = "0.0.2"; version = "0.0.2";
format = "setuptools";
propagatedBuildInputs = [ click ]; propagatedBuildInputs = [ click ];
+1
View File
@@ -17,4 +17,5 @@ in
{ {
nixpkgs = fetch lockedInputs.nixpkgs; nixpkgs = fetch lockedInputs.nixpkgs;
nixpkgs-unstable = fetch lockedInputs.nixpkgs-unstable; nixpkgs-unstable = fetch lockedInputs.nixpkgs-unstable;
nixpkgs-25_05 = fetch lockedInputs.nixpkgs-25_05;
} }
+11 -10
View File
@@ -1,14 +1,7 @@
# This file is generated by ../helper/update-flake.nix # This file is generated by ../helper/update-flake.nix
pkgs: pkgsUnstable: pkgs: pkgsUnstable: pkgs-25_05:
{ {
inherit (pkgs) inherit (pkgs)
elementsd
extra-container
fulcrum
lightning-pool
lndconnect;
inherit (pkgsUnstable)
bitcoin bitcoin
bitcoind bitcoind
bitcoind-knots bitcoind-knots
@@ -17,8 +10,16 @@ pkgs: pkgsUnstable:
clboss clboss
clightning clightning
electrs electrs
elementsd
extra-container
fulcrum
lightning-loop lightning-loop
lnd; lightning-pool
lnd
lndconnect;
inherit pkgs pkgsUnstable; inherit (pkgsUnstable)
;
inherit pkgs pkgsUnstable pkgs-25_05;
} }
@@ -3,6 +3,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bencoder.pyx"; pname = "bencoder.pyx";
version = "3.0.1"; version = "3.0.1";
format = "setuptools";
src = fetchurl { src = fetchurl {
url = "https://github.com/whtsky/bencoder.pyx/archive/9a47768f3ceba9df9e6fbaa7c445f59960889009.tar.gz"; url = "https://github.com/whtsky/bencoder.pyx/archive/9a47768f3ceba9df9e6fbaa7c445f59960889009.tar.gz";
@@ -2,6 +2,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "chromalog"; pname = "chromalog";
version = "1.0.5"; version = "1.0.5";
format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "freelan-developers"; owner = "freelan-developers";
+24 -7
View File
@@ -21,18 +21,27 @@ rec {
sha256 = callPackage ./sha256 {}; sha256 = callPackage ./sha256 {};
joinmarket = callPackage ./joinmarket { inherit (nbPkgs.joinmarket) version src; }; joinmarket = callPackage ./joinmarket { inherit (nbPkgs.joinmarket) version src; };
## Specific versions of packages that already exist in nixpkgs
# autobahn 20.12.3, required by joinmarketclient
autobahn = callPackage ./specific-versions/autobahn.nix {};
}; };
nbPython3Packages = (python3.override { nbPython3Packages = (python3.override {
packageOverrides = pyPkgsOverrides; packageOverrides = pyPkgsOverrides;
}).pkgs; }).pkgs;
nbPython3PackagesJoinmarket = nbPython3Packages; # joinmarket requires cython 3.0 via pkg bencoder.pyx.
# The python pkgs from nixpkgs-25.11 default to cython 3.1.
# Downgrading to 3.0 causes mass rebuilds, so we use python pkgs from nixpkgs-25.05 for joinmarket.
# The nixpkgs-25.05 dependency will be removed with the next joinmarket update.
# https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1787
nbPython3PackagesJoinmarket =
(nbPkgs.pinned.pkgs-25_05.python3.override {
packageOverrides = self: super:
(pyPkgsOverrides self super) // {
## Specific versions of packages that already exist in nixpkgs
# autobahn 20.12.3, required by joinmarketclient
autobahn = self.callPackage ./specific-versions/autobahn.nix {};
};
}).pkgs;
# Re-enable pkgs `hwi`, `trezor` that are unaffected by `CVE-2024-23342` because # Re-enable pkgs `hwi`, `trezor` that are unaffected by `CVE-2024-23342` because
# they don't use python pkg `ecdsa` for signing. # they don't use python pkg `ecdsa` for signing.
@@ -49,6 +58,14 @@ rec {
}).pkgs; }).pkgs;
in { in {
hwi = with python3PackagesWithUnlockedEcdsa; toPythonApplication hwi; hwi = with python3PackagesWithUnlockedEcdsa; toPythonApplication hwi;
inherit (python3PackagesWithUnlockedEcdsa) trezor;
# trezor 0.13.10 supports click 8.2.x.
# The version spec `click>=8,<8.3` has been copied from trezor 0.20.0-dev.
trezor = python3PackagesWithUnlockedEcdsa.trezor.overridePythonAttrs (_: {
postPatch = ''
substituteInPlace requirements.txt \
--replace-fail 'click>=7,<8.2' 'click>=8,<8.3'
'';
});
}; };
} }
+2 -2
View File
@@ -13,7 +13,7 @@
, twisted , twisted
, txtorcon , txtorcon
, python-bitcointx , python-bitcointx
, argon2_cffi , argon2-cffi
, autobahn , autobahn
, bencoderpyx , bencoderpyx
, klein , klein
@@ -48,7 +48,7 @@ buildPythonPackage rec {
python-bitcointx python-bitcointx
# jmclient # jmclient
argon2_cffi argon2-cffi
autobahn autobahn
bencoderpyx bencoderpyx
klein klein
@@ -16,6 +16,11 @@ buildPythonPackage rec {
inherit (clightning) src; inherit (clightning) src;
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'coincurve==20.0.0' 'coincurve==21.0.0'
'';
nativeBuildInputs = [ hatchling ]; nativeBuildInputs = [ hatchling ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@@ -3,6 +3,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-bitcointx"; pname = "python-bitcointx";
version = "1.1.5"; version = "1.1.5";
format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Simplexum"; owner = "Simplexum";
@@ -2,19 +2,20 @@
# but without Python 2 support # but without Python 2 support
{ lib, buildPythonPackage, fetchPypi, { lib, buildPythonPackage, fetchPypi,
six, txaio, twisted, zope_interface, cffi, six, txaio, twisted, zope-interface, cffi,
mock, pytest, cryptography, pynacl mock, pytest, cryptography, pynacl
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "autobahn"; pname = "autobahn";
version = "20.12.3"; version = "20.12.3";
format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "15b8zm7jalwisfwc08szxy3bh2bnn0hd41dbsnswi0lqwbh962j1"; sha256 = "15b8zm7jalwisfwc08szxy3bh2bnn0hd41dbsnswi0lqwbh962j1";
}; };
propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ]; propagatedBuildInputs = [ six txaio twisted zope-interface cffi cryptography pynacl ];
checkInputs = [ mock pytest ]; checkInputs = [ mock pytest ];
checkPhase = '' checkPhase = ''
+1 -1
View File
@@ -9,6 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "txzmq"; pname = "txzmq";
version = "0.8.2"; version = "0.8.2";
format = "setuptools";
src = fetchPypi { src = fetchPypi {
pname = "txZMQ"; pname = "txZMQ";
@@ -18,7 +19,6 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
pyzmq pyzmq
setuptools
twisted twisted
]; ];
+2 -2
View File
@@ -1,7 +1,7 @@
containerBin=$(type -P extra-container) || true containerBin=$(type -P extra-container) || true
if [[ ! ($containerBin && $(realpath "$containerBin") == *extra-container-0.13*) ]]; then if [[ ! ($containerBin && $(realpath "$containerBin") == *extra-container-0.14*) ]]; then
echo echo
echo "Building extra-container. Skip this step by adding extra-container 0.13 to PATH." echo "Building extra-container. Skip this step by adding extra-container 0.14 to PATH."
nix build --out-link /tmp/extra-container "${BASH_SOURCE[0]%/*}"/../..#extra-container nix build --out-link /tmp/extra-container "${BASH_SOURCE[0]%/*}"/../..#extra-container
# When this script is run as root, e.g. when run in an extra-container shell, # When this script is run as root, e.g. when run in an extra-container shell,
# chown the gcroot symlink to the regular (login) user so that the symlink can be # chown the gcroot symlink to the regular (login) user so that the symlink can be
-4
View File
@@ -68,15 +68,11 @@ let
# Enable FUSE inside the container when clightning replication # Enable FUSE inside the container when clightning replication
# is enabled. # is enabled.
# TODO-EXTERNAL: Remove this when
# https://github.com/systemd/systemd/issues/17607
# has been resolved. This will also improve security.
( (
let let
s = config.config.services; s = config.config.services;
in in
lib.mkIf (s ? clightning && s.clightning.enable && s.clightning.replication.enable) { lib.mkIf (s ? clightning && s.clightning.enable && s.clightning.replication.enable) {
bindMounts."/dev/fuse" = { hostPath = "/dev/fuse"; };
allowedDevices = [ { node = "/dev/fuse"; modifier = "rw"; } ]; allowedDevices = [ { node = "/dev/fuse"; modifier = "rw"; } ];
} }
) )
+32 -10
View File
@@ -21,11 +21,11 @@
"nixos-infra": { "nixos-infra": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1760816325, "lastModified": 1765537842,
"narHash": "sha256-XG4d9wXQ4HytME1my2U0VRlo2G66ZOY3wwofFhqi1/c=", "narHash": "sha256-D9RwESJPSBFlHMO3JZ4XCqCqHgXgmdAxWEZCEq9WCKo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "infra", "repo": "infra",
"rev": "85a21b518d7dae68cb8309d7eb93ecf064764c04", "rev": "3283c22b7969a15f5a36ea4abbe727076af9764a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -40,14 +40,15 @@
"nixos-infra": "nixos-infra", "nixos-infra": "nixos-infra",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-npmlock2nix": "nixpkgs-npmlock2nix", "nixpkgs-npmlock2nix": "nixpkgs-npmlock2nix",
"npmlock2nix": "npmlock2nix" "npmlock2nix": "npmlock2nix",
"treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1760963929, "lastModified": 1765809401,
"narHash": "sha256-dc1E/3ia5ii9IIc6/cSfUE40lYuDzpDDTDt5FYddtRg=", "narHash": "sha256-VVbEUA73SkLs97ZJQ9r187lFgIXwielDeuiGv0/R/X0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-search", "repo": "nixos-search",
"rev": "7144dd7a84eda607b015cac7375ad7d82b98984d", "rev": "2781499c548c1ad7450efe9a57d97b9e467b4f1b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -58,11 +59,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1760524057, "lastModified": 1765472234,
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -121,6 +122,27 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixos-search",
"nixpkgs"
]
},
"locked": {
"lastModified": 1762938485,
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+7 -2
View File
@@ -17,8 +17,13 @@
# This allows running flake-info in an offline environment (./flake-info-sandboxed.sh). # This allows running flake-info in an offline environment (./flake-info-sandboxed.sh).
flake-info = nixos-search.packages.${system}.flake-info.overrideAttrs (old: { flake-info = nixos-search.packages.${system}.flake-info.overrideAttrs (old: {
postPatch = (old.postPatch or "") + '' postPatch = (old.postPatch or "") + ''
substituteInPlace src/commands/nix_flake_attrs.rs --replace-fail \ file=src/commands/nix_flake_attrs.rs
'command.add_arg_pair("-I", "nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz");' "" old_size=$(stat -c%s "$file")
sed -zi 's|command.add_arg_pair([ \n]*"-I",[ \n]*"nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz",[ \n]*);||' "$file"
if (($(stat -c%s "$file") == $old_size)); then
echo "String substitution failed"
exit 1
fi
''; '';
}); });
}); });