Added disko config
This commit is contained in:
parent
4dafb111b9
commit
2c61985a3b
1 changed files with 173 additions and 75 deletions
110
flake.nix
110
flake.nix
|
|
@ -1,14 +1,96 @@
|
|||
({
|
||||
{
|
||||
description = "BTCPay server, NBXplorer, Bitcoin Core, etc. as a NixOS system/container image with disko";
|
||||
|
||||
inputs = {
|
||||
nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
||||
nixpkgs.follows = "nix-bitcoin/nixpkgs";
|
||||
nixos-generators.url = "github:nix-community/nixos-generators";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
disko.url = "github:nix-community/disko";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nix-bitcoin,
|
||||
nixos-generators,
|
||||
flake-utils,
|
||||
disko,
|
||||
...
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
in {
|
||||
nixosConfigurations.btc-pay-server = pkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
nix-bitcoin.nixosModules.default
|
||||
disko.nixosModules.default
|
||||
({
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}: {
|
||||
nixpkgs.overlays = [nix-bitcoin.overlays.default];
|
||||
|
||||
nix-bitcoin.generateSecrets = true;
|
||||
|
||||
# Enable core services
|
||||
disko.devices = {
|
||||
disk.root = {
|
||||
device = "/dev/sda";
|
||||
format = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
size = "512M";
|
||||
type = "EF00";
|
||||
format = "vfat";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "lvm_pv";
|
||||
vg = "root_vg";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
lvm_vg.root_vg = {
|
||||
type = "lvm_vg";
|
||||
lvs = {
|
||||
root = {
|
||||
size = "100%FREE";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
mountOptions = ["defaults"];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
disk.data = {
|
||||
device = "/dev/sdb";
|
||||
format = "gpt";
|
||||
partitions = {
|
||||
data = {
|
||||
size = "100%";
|
||||
type = "8300"; # Linux filesystem
|
||||
format = "xfs";
|
||||
mountpoint = "/var/lib/bitcoind";
|
||||
options = ["noatime"];
|
||||
};
|
||||
};
|
||||
growPartition = true; # Enables growpart for resizing
|
||||
};
|
||||
};
|
||||
growpart.enable = true; # Enables the growpart service
|
||||
|
||||
services.bitcoind = {
|
||||
enable = true;
|
||||
dataDir = "/var/lib/bitcoind";
|
||||
|
|
@ -52,7 +134,6 @@
|
|||
lightningBackend = "clightning";
|
||||
};
|
||||
|
||||
# Firewall: Open necessary ports
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
config.services.btcpayserver.port
|
||||
config.services.bitcoind.port
|
||||
|
|
@ -60,7 +141,6 @@
|
|||
22
|
||||
];
|
||||
|
||||
# SSH setup
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -76,4 +156,22 @@
|
|||
];
|
||||
|
||||
system.stateVersion = "25.05";
|
||||
})
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
devShells = flake-utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
nixos-generators.packages.${system}.nixos-generate
|
||||
pkgs.just
|
||||
];
|
||||
shellHook = ''
|
||||
echo "💚 Devshell ready: nixos-generate, just available."
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue