nix-bitcoin/examples
Jonas Nick 6eaddd970a
Merge fort-nix/nix-bitcoin#617: Update to NixOS 23.05
e658209d56 run-tests.sh: fix building tests for Nix ≥ 2.15 (Erik Arvstedt)
bb2e88cec2 fix python packages for nixos 23.05 (Erik Arvstedt)
e31cc686f2 run-tests: make compatible with new shellcheck version (Erik Arvstedt)
76dc7b92e1 examples/deploy-container.sh: add extra-container version check (Erik Arvstedt)
6c2d1108a4 update the required extra-container version for nixos 23.05 (Erik Arvstedt)
e2cce7daa8 update to nixos 23.05 (Erik Arvstedt)
55c64d8dff update nixpkgs (Erik Arvstedt)
bd77b89fea rtl, clightning-rest: update to nodejs 18 (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK e658209d56

Tree-SHA512: 5814f56e469ad384dfb81bc11f9ac256a35cd2647e7fd997b14f84927448fbb880b0b1cee3bdf5a2b926760b74aab291e901e67a0759d43ffaf705ff6b741b97
2023-07-19 17:37:08 +00:00
..
flakes release: add nixos-* version branch 2023-07-09 13:13:05 +02: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 examples/vm-config: fix syntax error 2022-11-04 00:33:53 +01:00
.gitignore docs: various improvements to installation tutorial 2021-03-15 19:02:58 +01:00
configuration.nix update to nixos 23.05 2023-07-19 17:22:01 +02: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: add deploy-krops.sh 2021-03-15 19:02:58 +01:00
nix-bitcoin-release.nix
README.md improve comments 2023-01-26 11:17:02 +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.