add nfs storage h002

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-12-28 17:31:14 -06:00
parent 7f41e59aaa
commit 93ab323d0e
4 changed files with 276 additions and 72 deletions

283
hosts/h002/flake.lock generated
View file

@ -1,5 +1,66 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager_2",
"nixpkgs": [
"secrets",
"ragenix",
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1761656077,
"narHash": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=",
"owner": "ryantm",
"repo": "agenix",
"rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"beszel": {
"inputs": {
"beszel-nixpkgs": "beszel-nixpkgs"
},
"locked": {
"dir": "flakes/beszel",
"lastModified": 1766960535,
"narHash": "sha256-t9xcmWlc2kB1wcKH4V9OMQoQYoMS4pDK/TLOGmmohf8=",
"ref": "refs/heads/master",
"rev": "a76b100f6eae86dbcb9327fece4ee03bebe5410a",
"revCount": 974,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
"original": {
"dir": "flakes/beszel",
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}
},
"beszel-nixpkgs": {
"locked": {
"lastModified": 1765472234,
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"common": {
"locked": {
"dir": "flakes/common",
@ -17,51 +78,66 @@
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}
},
"de_plasma": {
"inputs": {
"plasma-manager": "plasma-manager"
},
"crane": {
"locked": {
"dir": "flakes/de_plasma",
"lastModified": 1766101096,
"narHash": "sha256-fOPGpgrgt4pNKzdpA+Xc/c3lev6Af2gM2ge2Gh4H9pk=",
"ref": "refs/heads/master",
"rev": "acfec76a791abf5bcef22240a1e559e8e5e49004",
"revCount": 957,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
"lastModified": 1760924934,
"narHash": "sha256-tuuqY5aU7cUkR71sO2TraVKK2boYrdW3gCSXUkF4i44=",
"owner": "ipetkov",
"repo": "crane",
"rev": "c6b4d5308293d0d04fcfeee92705017537cad02f",
"type": "github"
},
"original": {
"dir": "flakes/de_plasma",
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"home-manager": {
"darwin": {
"inputs": {
"nixpkgs": [
"de_plasma",
"plasma-manager",
"secrets",
"ragenix",
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1756579987,
"narHash": "sha256-duCce8zGsaMsrqqOmLOsuaV1PVIw/vXWnKuLKZClsGg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "99a69bdf8a3c6bf038c4121e9c4b6e99706a187a",
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"home-manager_2": {
"flake-utils": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1765979862,
@ -78,23 +154,30 @@
"type": "github"
}
},
"nixpkgs": {
"home-manager_2": {
"inputs": {
"nixpkgs": [
"secrets",
"ragenix",
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"lastModified": 1745494811,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs": {
"locked": {
"lastModified": 1765762245,
"narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=",
@ -110,7 +193,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_2": {
"locked": {
"lastModified": 1765838191,
"narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
@ -126,7 +209,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_3": {
"locked": {
"lastModified": 1764776358,
"narHash": "sha256-MxXSCRiV7DI5U3Ra1UxVJTTUyKsONAE8+8QdSXsGIhA=",
@ -141,6 +224,22 @@
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1761672384,
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim_plugin-Almo7aya/openingh.nvim": {
"flake": false,
"locked": {
@ -1005,37 +1104,41 @@
"type": "github"
}
},
"plasma-manager": {
"ragenix": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"agenix": "agenix",
"crane": "crane",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_4",
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1763909441,
"narHash": "sha256-56LwV51TX/FhgX+5LCG6akQ5KrOWuKgcJa+eUsRMxsc=",
"owner": "nix-community",
"repo": "plasma-manager",
"rev": "b24ed4b272256dfc1cc2291f89a9821d5f9e14b4",
"lastModified": 1761832913,
"narHash": "sha256-VCNVjjuRvrKPiYYwqhE3BAKIaReiKXGpxGp27lZ0MFM=",
"owner": "yaxitech",
"repo": "ragenix",
"rev": "83bccfdea758241999f32869fb6b36f7ac72f1ac",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "plasma-manager",
"owner": "yaxitech",
"repo": "ragenix",
"type": "github"
}
},
"root": {
"inputs": {
"beszel": "beszel",
"common": "common",
"de_plasma": "de_plasma",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_3",
"ros_neovim": "ros_neovim"
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_2",
"ros_neovim": "ros_neovim",
"secrets": "secrets"
}
},
"ros_neovim": {
"inputs": {
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_3",
"nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim",
"nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim",
"nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring",
@ -1126,6 +1229,78 @@
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": [
"secrets",
"ragenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1761791894,
"narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "59c45eb69d9222a4362673141e00ff77842cd219",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"secrets": {
"inputs": {
"ragenix": "ragenix"
},
"locked": {
"dir": "flakes/secrets",
"lastModified": 1766960535,
"narHash": "sha256-t9xcmWlc2kB1wcKH4V9OMQoQYoMS4pDK/TLOGmmohf8=",
"ref": "refs/heads/master",
"rev": "a76b100f6eae86dbcb9327fece4ee03bebe5410a",
"revCount": 974,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
"original": {
"dir": "flakes/secrets",
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

View file

@ -4,8 +4,10 @@
home-manager.url = "github:rycee/home-manager/release-25.11";
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common";
# de_plasma.url = "path:../../../../flakes/de_plasma";
de_plasma.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/de_plasma";
# secrets.url = "path:../../flakes/secrets";
secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets";
# beszel.url = "path:../../flakes/beszel";
beszel.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/beszel";
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
};
@ -13,7 +15,6 @@
outputs =
{
nixpkgs,
common,
ros_neovim,
...
}@inputs:
@ -22,7 +23,7 @@
primaryUser = "luser";
configLocation = "/home/${primaryUser}/.config/nixos-config/hosts/${configurationName}";
stateAndHomeVersion = "25.11";
# overlayIp = "100.64.0.14";
overlayIp = "100.64.0.3";
lib = inputs.nixpkgs.lib;
in
{
@ -35,8 +36,7 @@
modules = [
inputs.home-manager.nixosModules.default
# TODO
# secrets.nixosModules.default
inputs.secrets.nixosModules.default
inputs.ros_neovim.nixosModules.default
({
ringofstorms-nvim.includeAllRuntimeDependencies = true;
@ -58,20 +58,20 @@
inputs.common.nixosModules.timezone_auto
inputs.common.nixosModules.tty_caps_esc
inputs.common.nixosModules.zsh
# TODO
# common.nixosModules.tailnet
# beszel.nixosModules.agent
# (
# { ... }:
# {
# beszelAgent = {
# listen = "${overlayIp}:45876";
# token = "f8a54c41-486b-487a-a78d-a087385c317b";
# };
# }
# )
inputs.common.nixosModules.tailnet
inputs.beszel.nixosModules.agent
({
beszelAgent = {
listen = "${overlayIp}:45876";
token = "11714da6-fd2e-436a-8b83-e0e07ba33a95";
};
services.beszel.agent.environment = {
EXTRA_FILESYSTEMS = "sdb__Data";
};
})
./hardware-configuration.nix
./nfs-data.nix
(
{
config,

View file

@ -36,6 +36,22 @@
{ device = "/dev/disk/by-uuid/f043c171-5d20-4c6c-bc82-6e72139d7cb1"; }
];
fileSystems."/data" = {
device =
# root@h002:/home/luser/ > bcachefs format --compression=zstd --replicas=2 /dev/sda /dev/sdb /dev/sdc /dev/sde /dev/sdf
# External UUID: 53a26b95-941b-4f41-b049-c166905ed8c2
# Internal UUID: 9d63b280-7b25-46a7-8437-4c6d92e63790
# Magic number: c68573f6-66ce-90a9-d96a-60cf803df7ef
"UUID=53a26b95-941b-4f41-b049-c166905ed8c2";
fsType = "bcachefs";
options = [
"defaults"
"compression=zstd"
"fsck"
"fix_errors"
];
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction

13
hosts/h002/nfs-data.nix Normal file
View file

@ -0,0 +1,13 @@
{ pkgs, ... }:
{
services.nfs.server = {
enable = true;
exports = ''
/mnt/storage 100.64.0.0/10(rw,sync,no_subtree_check,fsid=0,crossmnt)
'';
};
environment.systemPackages = [
pkgs.nfs-utils
];
}