nix-bitcoin/examples
Erik Arvstedt e82da35174
examples/deploy-krops: fix duplicate import error
`qemu-vm.nix` is already imported in `vm-config.nix` but under a
different path.
This causes an "already declared" error on NixOS 23.11.
2023-12-14 14:51:07 +01:00
..
flakes update to NixOS 23.11 2023-12-12 11:22:38 +01:00
krops examples/krops: fix nixpkgs symlink sync error on macOS/BSD 2022-07-04 23:42:09 +02:00
nixops Remove nixops examples and documentation 2021-03-15 12:42:47 +00:00
qemu-vm minimal-vm.nix: improve login text 2023-08-20 10:54:45 +02:00
.gitignore docs: various improvements to installation tutorial 2021-03-15 19:02:58 +01:00
configuration.nix update to NixOS 23.11 2023-12-12 11:22:38 +01:00
deploy-container-minimal.sh examples/deploy-container: fix sudo env propagation 2023-01-06 23:23:54 +01:00
deploy-container.sh examples/deploy-container.sh: add extra-container version check 2023-07-19 17:22:01 +02:00
deploy-krops.sh shellcheck: fix lint of scripts in tests 2022-08-28 18:25:37 +02:00
deploy-qemu-vm.sh shellcheck: fix lint of scripts in tests 2022-08-28 18:25:37 +02:00
importable-configuration.nix examples: add importable-configuration.nix 2021-09-26 22:34:39 +02:00
krops-vm-configuration.nix examples/deploy-krops: fix duplicate import error 2023-12-14 14:51:07 +01:00
nix-bitcoin-release.nix Add fetch-release script 2020-04-08 07:01:35 +00:00
README.md mempool: add module 2023-10-31 13:44:04 +01:00
shell.nix examples/shell.nix: Add shell version variable 2021-09-15 12:22:10 +02:00
start-bash-session.sh shellcheck: fix lint of scripts in tests 2022-08-28 18:25:37 +02:00

Examples

The easiest way to try out nix-bitcoin is to use one of the provided examples.

Flakes-based quick start

If you use a Flakes-enabled version of Nix, run the following command to start a minimal nix-bitcoin QEMU VM:

nix run github:fort-nix/nix-bitcoin/release

The VM (defined in flake.nix) runs in the terminal and has bitcoind and clightning installed.
It leaves no traces (outside of /nix/store) on the host system.

More examples

Clone this repo and enter the examples shell:

git clone https://github.com/fort-nix/nix-bitcoin
cd nix-bitcoin/examples/
nix-shell

The following example scripts set up a nix-bitcoin node according to ./configuration.nix and then shut down immediately. They leave no traces (outside of /nix/store) on the host system.
By default, ./configuration.nix enables bitcoind and clightning.

Run the examples with option --interactive or -i to start a shell for interacting with the node:

./deploy-qemu-vm.sh -i

Tests

The nix-bitcoin test suite is also useful for exploring features.

Real-world example

Check the server repo for https://nixbitcoin.org to see the configuration of a Flakes-based nix-bitcoin node that's used in production.

The commands in shell.nix allow you to locally run the node in a VM or container.

Flakes

Flakes make it easy to include nix-bitcoin in an existing NixOS config. The flakes example shows how to use nix-bitcoin as an input to a system flake.

Extending nix-bitcoin with Flakes

The mempool extension flake shows how to define new pkgs and modules in a Flake.
Since mempool is now a core nix-bitcoin module, this Flake just serves as an example.