mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 08:39:42 -04:00
bitcoin init
This commit is contained in:
parent
7b22f399e0
commit
cfbd0e03f9
5 changed files with 4 additions and 202 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
forgejo.enable = true;
|
forgejo.enable = true;
|
||||||
frigate.enable = false;
|
frigate.enable = false;
|
||||||
immich.enable = true;
|
immich.enable = true;
|
||||||
|
bitcoin.enable = true;
|
||||||
|
|
||||||
backup = {
|
backup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,11 @@
|
||||||
server=1
|
server=1
|
||||||
|
|
||||||
mempoolfullrbf=1
|
|
||||||
v2transport=1
|
|
||||||
|
|
||||||
rpcauth=btc:a5070cab96db882e8f63cb131ce3bbfa$20c7fd4653597b0c4ffc2c47b2d5d6751a6725ff644dd0d0ffcb9bebff96b913
|
rpcauth=btc:a5070cab96db882e8f63cb131ce3bbfa$20c7fd4653597b0c4ffc2c47b2d5d6751a6725ff644dd0d0ffcb9bebff96b913
|
||||||
|
|
||||||
rpcbind=127.0.0.1
|
rpcbind=127.0.0.1
|
||||||
rpcallowip=127.0.0.1
|
rpcallowip=127.0.0.1
|
||||||
|
|
||||||
dnsseed=0
|
dnsseed=0
|
||||||
|
onlynet=onion
|
||||||
|
|
||||||
bind=127.0.0.1
|
bind=127.0.0.1
|
||||||
proxy=127.0.0.1:9050
|
proxy=127.0.0.1:9050
|
||||||
|
|
@ -16,4 +13,5 @@ proxy=127.0.0.1:9050
|
||||||
listen=1
|
listen=1
|
||||||
listenonion=1
|
listenonion=1
|
||||||
torcontrol=127.0.0.1:9051
|
torcontrol=127.0.0.1:9051
|
||||||
torenablecircuit=1
|
|
||||||
|
txindex=1
|
||||||
|
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.system.bitcoin.clightning;
|
|
||||||
btc = config.modules.system.bitcoin;
|
|
||||||
|
|
||||||
clnConfig = pkgs.writeTextFile {
|
|
||||||
name = "lightning.conf";
|
|
||||||
text = builtins.readFile ./config/lightning.conf;
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
{ options.modules.system.bitcoin.clightning = { enable = mkEnableOption "Core Lightning Server"; };
|
|
||||||
imports = [ ./plugins ];
|
|
||||||
config = mkIf (cfg.enable && btc.enable) {
|
|
||||||
#nixpkgs.overlays = [
|
|
||||||
# (final: prev: {
|
|
||||||
# clightning = prev.electrs.overrideAttrs (old: rec {
|
|
||||||
# version = "24.08";
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
|
||||||
# owner = "ElementsProject";
|
|
||||||
# repo = "lightning";
|
|
||||||
# rev = "82f4ad68e34a2428c556e63fc2632d48a914968c";
|
|
||||||
# hash = "sha256-MWU75e55Zt/P4aaIuMte7iRcrFGMw0P81b8VNHQBe2g";
|
|
||||||
# };
|
|
||||||
# cargoDeps = old.cargoDeps.overrideAttrs (lib.const {
|
|
||||||
# name = "lightning-vendor.tar.gz";
|
|
||||||
# inherit src;
|
|
||||||
# outputHash = "sha256-MWU75e55Zt/P4aaIuMte7iRcrFGMw0P81b8VNHQBe2g=";
|
|
||||||
# });
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
#];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
clightning
|
|
||||||
];
|
|
||||||
|
|
||||||
users = {
|
|
||||||
users = {
|
|
||||||
"clightning" = {
|
|
||||||
home = "/var/lib/clightning";
|
|
||||||
description = "Core Lightning system user";
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "bitcoin";
|
|
||||||
createHome = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
groups = {
|
|
||||||
"bitcoin" = {
|
|
||||||
members = mkAfter [
|
|
||||||
"clightning"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.bash.shellAliases = {
|
|
||||||
cln = "lightningd";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.lightningd = {
|
|
||||||
description = "Core Lightning Daemon";
|
|
||||||
|
|
||||||
script = "${pkgs.clightning}/bin/lightningd";
|
|
||||||
scriptArgs = ''
|
|
||||||
--conf=${clnConfig}
|
|
||||||
'';
|
|
||||||
|
|
||||||
after = [
|
|
||||||
"bitcoind-mainnet.service"
|
|
||||||
];
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
|
|
||||||
User = "clightning";
|
|
||||||
Group = "bitcoin";
|
|
||||||
|
|
||||||
Type = "simple";
|
|
||||||
KillMode = "process";
|
|
||||||
TimeoutSec = 60;
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = 60;
|
|
||||||
};
|
|
||||||
requisite = [
|
|
||||||
"bitcoind-mainnet.service"
|
|
||||||
"network.target"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
network = "bitcoin"
|
|
||||||
|
|
||||||
electrum_rpc_addr = "127.0.0.1:50001"
|
|
||||||
|
|
||||||
cookie-file = "/var/lib/bitcoind/.cookie"
|
|
||||||
|
|
||||||
db_dir = "/var/lib/electrs"
|
|
||||||
|
|
||||||
log_filters = "INFO"
|
|
||||||
timestamp = true
|
|
||||||
|
|
||||||
daemon-rpc-addr = "127.0.0.1:8332"
|
|
||||||
daemon-p2p-addr = "127.0.0.1:8333"
|
|
||||||
daemon-dir = "/var/lib/bitcoind"
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.system.bitcoin.electrum;
|
|
||||||
home = "/var/lib/electrs";
|
|
||||||
|
|
||||||
btc = config.modules.system.bitcoin;
|
|
||||||
|
|
||||||
electrsConfig = pkgs.writeTextFile {
|
|
||||||
name = "config.toml";
|
|
||||||
text = builtins.readFile ./config/config.toml;
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
{ options.modules.system.bitcoin.electrum = { enable = mkEnableOption "Electrs Server"; };
|
|
||||||
config = mkIf (cfg.enable && btc.enable) {
|
|
||||||
#TODO: Fix the failing overlay due to `cargoHash/cargoSha256`
|
|
||||||
#nixpkgs.overlays = [
|
|
||||||
# (final: prev: {
|
|
||||||
# electrs = prev.electrs.overrideAttrs (old: rec {
|
|
||||||
# pname = "electrs";
|
|
||||||
# version = "0.10.8";
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
|
||||||
# owner = "romanz";
|
|
||||||
# repo = pname;
|
|
||||||
# rev = "v${version}";
|
|
||||||
# hash = "sha256-L26jzAn8vwnw9kFd6ciyYS/OLEFTbN8doNKy3P8qKRE=";
|
|
||||||
# };
|
|
||||||
# #cargoDeps = old.cargoDeps.overrideAttrs (const {
|
|
||||||
# # name = "electrs-${version}.tar.gz";
|
|
||||||
# # inherit src;
|
|
||||||
# # sha256 = "";
|
|
||||||
# #});
|
|
||||||
# cargoHash = "sha256-lBRcq73ri0HR3duo6Z8PdSjnC8okqmG5yWeHxH/LmcU=";
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
#];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
electrs
|
|
||||||
];
|
|
||||||
|
|
||||||
users = {
|
|
||||||
users = {
|
|
||||||
"electrs" = {
|
|
||||||
inherit home;
|
|
||||||
description = "Electrs system user";
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "bitcoin";
|
|
||||||
createHome = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
groups = {
|
|
||||||
"bitcoin" = {
|
|
||||||
members = mkAfter [
|
|
||||||
"electrs"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
systemd.services.electrs = {
|
|
||||||
description = "Electrs Bitcoin Indexer";
|
|
||||||
|
|
||||||
script = "${pkgs.electrs}/bin/electrs";
|
|
||||||
scriptArgs = "--conf=${electrsConfig}";
|
|
||||||
|
|
||||||
after = [
|
|
||||||
"bitcoind-mainnet.service"
|
|
||||||
];
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
|
|
||||||
User = "electrs";
|
|
||||||
Group = "bitcoin";
|
|
||||||
|
|
||||||
Type = "simple";
|
|
||||||
KillMode = "process";
|
|
||||||
TimeoutSec = 60;
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = 60;
|
|
||||||
};
|
|
||||||
requisite = [
|
|
||||||
"bitcoind-mainnet.service"
|
|
||||||
"network.target"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue