- Adds network namespace instantiation and routing architecture. - netns-isolation disabled by default. Can be enabled with configuration.nix FIXME. - Uses mkMerge to toggle certain options for non netns and netns systems. - Adds security wrapper for netns-exec which allows operator to exec with cap_sys_admin - User can select the 169.254.N.0/24 addressblock netns's are created in. - nix-bitcoin-services IpAddressAllow is amended with link-local addresses
47 lines
1.1 KiB
Nix
47 lines
1.1 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./bitcoind.nix
|
|
./clightning.nix
|
|
./lightning-charge.nix
|
|
./nanopos.nix
|
|
./liquid.nix
|
|
./spark-wallet.nix
|
|
./electrs.nix
|
|
./onion-chef.nix
|
|
./recurring-donations.nix
|
|
./hardware-wallets.nix
|
|
./lnd.nix
|
|
./secrets/secrets.nix
|
|
./netns-isolation.nix
|
|
];
|
|
|
|
disabledModules = [ "services/networking/bitcoind.nix" ];
|
|
|
|
options = {
|
|
nix-bitcoin-services = lib.mkOption {
|
|
readOnly = true;
|
|
default = import ./nix-bitcoin-services.nix lib pkgs;
|
|
};
|
|
};
|
|
|
|
config = {
|
|
assertions = [
|
|
# lnd.wantedBy == [] needed for `test/tests.nix` in which both clightning and lnd are enabled
|
|
{ assertion = config.services.lnd.enable -> (!config.services.clightning.enable || config.systemd.services.lnd.wantedBy == []);
|
|
message = ''
|
|
LND and clightning can't be run in parallel because they both bind to lightning port 9735.
|
|
'';
|
|
}
|
|
];
|
|
|
|
nixpkgs.overlays = [ (self: super: {
|
|
nix-bitcoin = let
|
|
pkgs = import ../pkgs { pkgs = super; };
|
|
in
|
|
pkgs // pkgs.pinned;
|
|
}) ];
|
|
};
|
|
}
|