Files

64 lines
2.2 KiB
Nix

# This is a system configuration template that uses nix-bitcoin.
#
# You can adapt this to an existing system flake by copying the parts
# relevant to nix-bitcoin.
#
# Make sure to check and edit all lines marked by 'FIXME:'
{
description = "a simple yet secure bitcoin node using nix-bitcoin";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
# You can also use a version branch to track a specific NixOS release
# nix-bitcoin.url = "github:fort-nix/nix-bitcoin/nixos-24.05";
};
outputs = {
self,
nixpkgs,
nix-bitcoin,
...
}: let
lib = nixpkgs.lib;
in {
nixosConfigurations = {
# FIXME: change "host" to the hostname of your system defined in configuration.nix
host = lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
nix-bitcoin.nixosModules.default
# Optional:
# Import the secure-node preset, an opinionated config to enhance security
# and privacy.
(nix-bitcoin + "/modules/presets/secure-node.nix")
{
nix-bitcoin = {
# Automatically generate all secrets required by services.
# The secrets are stored in /etc/nix-bitcoin-secrets
generateSecrets = 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
operator = {
enable = true;
# FIXME: Set this to your system's main user
name = "satoshi";
};
};
}
# If you use a custom nixpkgs version for evaluating your system
# (instead of `nix-bitcoin.inputs.nixpkgs` like in this example),
# consider setting `useVersionLockedPkgs = true` 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.useVersionLockedPkgs = true;
];
};
};
};
}