nix-bitcoin/examples/flakes/flake.nix
Erik Arvstedt f7c2133250
add flake support
This change is fully backwards compatible.

We continue to use the standard non-flake evaluation mode in our
examples and internal tooling until the flakes design has stabilized.

'clightning-plugins = pkgs.recurseIntoAttrs' in pkgs/default.nix is
needed by flake-utils.lib.flattenTree in flake.nix.
It transforms the packages in `clightning-plugins` to top-level packages
named like `clightning-plugins/summary`. (The flake attr `packages`
must be a non-nested attrset of derivations.)
2021-08-26 12:45:10 +02:00

50 lines
1.6 KiB
Nix

{
description = "A basic nix-bitcoin node";
inputs.nix-bitcoin.url = "github:fort-nix/nix-bitcoin";
outputs = { self, nix-bitcoin }: {
nixosConfigurations.mynode = nix-bitcoin.inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
## Note:
## If you use a custom nixpkgs version for evaluating your system,
## consider using `withLockedPkgs` instead of `withSystemPkgs` to use the exact
## pkgs versions for nix-bitcoin services that are tested by nix-bitcoin.
## The downsides are increased evaluation times and increased system
## closure size.
#
# nix-bitcoin.nixosModules.withLockedPkgs
nix-bitcoin.nixosModules.withSystemPkgs
## Optional:
## Import the secure-node preset, an opinionated config to enhance security
## and privacy.
#
# "${nix-bitcoin}/modules/presets/secure-node.nix"
{
nix-bitcoin.generateSecrets = true;
services.bitcoind.enable = true;
# When using nix-bitcoin as part of a larger NixOS configuration, set the following to enable
# interactive access to nix-bitcoin features (like bitcoin-cli) for your system's main user
nix-bitcoin.operator = {
enable = true;
name = "main"; # Set this to your system's main user
};
# The system's main unprivileged user. This setting is usually part of your
# existing NixOS configuration.
users.users.main = {
isNormalUser = true;
password = "a";
};
}
];
};
};
}