Merge fort-nix/nix-bitcoin#824: Update to NixOS 25.11
72e220d998containers: use native systemd FUSE support (Erik Arvstedt)53104f55f9btcpayserver: update postgresql setup to NixOS 25.11 (Erik Arvstedt)7b215e6ca1extra-container: 0.13 -> 0.14 (Erik Arvstedt)3b9406a4d2joinmarket: fix for NixOS 25.11 (Erik Arvstedt)4ba311c425trezor: fix for NixOS 25.11 (Erik Arvstedt)9eca5294bbpyln-proto: fix for NixOS 25.11 (Erik Arvstedt)974f29b516python-packages: minor fixes for NixOS 25.11 (Erik Arvstedt)54651163batreewide: fix eval warnings for NixOS 25.11 (Erik Arvstedt)4303550ce3update to NixOS 25.11 (Erik Arvstedt)2a59766cb1flake-info: fix patch after upstream reformatting (Jonas Nick)bde29b84f7Update nixpkgs (Jonas Nick) Pull request description: ACKs for top commit: jonasnick: ACK72e220d998Tree-SHA512: a6a291c42c14e7c7b7d66365100ee03f53e969a826f13fe75374392b8ec638ca0b6460a7b96ebbc7c0902b578a2c7b783a6170f342a4fb0e1cd6a9f7fc2e3664
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.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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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
@@ -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"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -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 \
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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 ];
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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";
|
||||||
|
|||||||
@@ -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'
|
||||||
|
'';
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = ''
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"; } ];
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Generated
+32
-10
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user