diff --git a/flake.nix b/flake.nix index d1b5d57..0a0d88a 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,15 @@ ]; }; + server = nixpkgs.lib.nixosSystem { + inherit system pkgs; + modules = [ + ./src/system/machines/server + home-manager.nixosModules.home-manager + (import ./src/system/machines/server/home.nix) + ]; + }; + wsl = nixpkgs.lib.nixosSystem { inherit system pkgs; modules = [ @@ -51,15 +60,6 @@ (import ./src/system/machines/wsl/home.nix) ]; }; - - server = nixpkgs.lib.nixosSystem { - inherit system pkgs; - modules = [ - ./src/system/machines/server - home-manager.nixosModules.home-manager - (import ./src/system/machines/server/home.nix) - ]; - }; }; homeConfigurations."work" = home-manager.lib.homeManagerConfiguration { diff --git a/src/system/machines/server/system.nix b/src/system/machines/server/system.nix index a258920..ba0ed0e 100644 --- a/src/system/machines/server/system.nix +++ b/src/system/machines/server/system.nix @@ -2,7 +2,7 @@ { system.stateVersion = "23.11"; - imports = [ ../modules ]; + imports = [ ../../modules ]; users.users = { ${config.user.name} = { diff --git a/src/system/modules/bitcoin/default.nix b/src/system/modules/bitcoin/default.nix new file mode 100644 index 0000000..124e0d7 --- /dev/null +++ b/src/system/modules/bitcoin/default.nix @@ -0,0 +1,68 @@ +{ pkgs, lib, config, ... }: + +with lib; +let + cfg = config.modules.system.bitcoin; + version = "27.0"; + + home = /var/lib/bitcoind; + #conf = pkgs.writeText "bitcoin.conf" (import ./config); + + +in +{ options.modules.system.bitcoin = { enable = mkEnableOption "system.bitcoin"; }; + config = mkIf cfg.enable { + #nixpkgs.overlays = [ + # (final: prev: { + # bitcoind = prev.bitcoind.overrideAttrs (old: { + # src = fetchTarball { + # url = '' + # https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}-x86_64-linux-gnu.tar.gz + # ''; + # sha256 = '' + # sha256-05i4zrdwr2rnbimf4fmklbm1mrvxg1bnv3yrrx44cp66ba0nd3jg + # ''; + # }; + # }); + # }) + #]; + + users = { + users = { + "bitcoind" = { + inherit home; + description = "bitcoind system user"; + isSystemUser = true; + group = "bitcoin"; + createHome = true; + }; + }; + #groups = { + # "bitcoin" = { + # members = [ + # ]; + # }; + #}; + }; + + networking.firewall.allowedTCPPorts = [ 8333 ]; + + services.bitcoind = { + "bitcoind" = { + enable = true; + user = "bitcoind"; + group = "bitcoin"; + #configFile = conf; + + rpc = { + port = 8332; + #users = { + # config.user.name = { + # passwordHMAC = ""; + # }; + #}; + }; + }; + }; + }; +} diff --git a/src/system/modules/default.nix b/src/system/modules/default.nix new file mode 100644 index 0000000..7e1d613 --- /dev/null +++ b/src/system/modules/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./bitcoin + ]; +}