This commit is contained in:
mjallen18
2025-05-18 19:41:16 -05:00
parent 8d9cd00334
commit 4cd5edfeee
4 changed files with 96 additions and 9 deletions

View File

@@ -172,6 +172,11 @@
inputs.nixpkgs.follows = "pi4-nixpkgs"; inputs.nixpkgs.follows = "pi4-nixpkgs";
}; };
# Nix hardware
pi4-nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
};
pi4-nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi"; pi4-nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi";
pi4-disko = { pi4-disko = {
@@ -298,6 +303,7 @@
pi4-home-manager, pi4-home-manager,
pi4-impermanence, pi4-impermanence,
pi4-sops-nix, pi4-sops-nix,
pi4-nixos-hardware,
pi4-nixos-raspberrypi, pi4-nixos-raspberrypi,
pi4-disko, pi4-disko,
@@ -434,6 +440,7 @@
pi5-impermanence.nixosModules.impermanence pi5-impermanence.nixosModules.impermanence
pi5-sops-nix.nixosModules.sops pi5-sops-nix.nixosModules.sops
./hosts/pi5/configuration.nix ./hosts/pi5/configuration.nix
pi5-nixos-hardware.nixosModules.raspberry-pi-5
{ {
# Hardware specific configuration, see section below for a more complete # Hardware specific configuration, see section below for a more complete
# list of modules # list of modules
@@ -470,7 +477,7 @@
modules = [ modules = [
pi4-disko.nixosModules.disko pi4-disko.nixosModules.disko
./share/disko/pi-uefi-disko.nix ./share/disko/pi-uefi-disko.nix
pi4-nixos-hardware.nixosModules.raspberry-pi-4
pi4-impermanence.nixosModules.impermanence pi4-impermanence.nixosModules.impermanence
pi4-sops-nix.nixosModules.sops pi4-sops-nix.nixosModules.sops
./hosts/pi4/configuration.nix ./hosts/pi4/configuration.nix

View File

@@ -32,6 +32,11 @@ in
group = config.users.users."${user}".group; group = config.users.users."${user}".group;
}; };
"wifi" = { }; "wifi" = { };
# ------------------------------
# ups
# ------------------------------
"jallen-nas/ups_password" = { "jallen-nas/ups_password" = {
mode = "0777"; mode = "0777";
restartUnits = [ restartUnits = [
@@ -41,18 +46,51 @@ in
"upsmon.service" "upsmon.service"
]; ];
}; };
# ------------------------------
# SSH keys
# ------------------------------
"ssh-keys-public/jallen-nas-root" = {
path = "/root/.ssh/id_ed25519.pub";
mode = "0640";
};
"ssh-keys-private/jallen-nas-root" = {
path = "/root/.ssh/id_ed25519";
mode = "0640";
};
# ------------------------------
# authentik
# ------------------------------
"jallen-nas/authentik-env" = { "jallen-nas/authentik-env" = {
restartUnits = [ "authentik.service" ]; restartUnits = [ "authentik.service" ];
}; };
# ------------------------------
# collabora # TODO
# ------------------------------
"jallen-nas/collabora" = { "jallen-nas/collabora" = {
restartUnits = [ "podman-collabora.service" ]; restartUnits = [ "podman-collabora.service" ];
}; };
# ------------------------------
# mariadb # TODO
# ------------------------------
"jallen-nas/mariadb/db_pass" = { "jallen-nas/mariadb/db_pass" = {
restartUnits = [ "podman-mariadb.service" ]; restartUnits = [ "podman-mariadb.service" ];
}; };
"jallen-nas/mariadb/root_pass" = { "jallen-nas/mariadb/root_pass" = {
restartUnits = [ "podman-mariadb.service" ]; restartUnits = [ "podman-mariadb.service" ];
}; };
# ------------------------------
# nextcloud
# ------------------------------
"jallen-nas/nextcloud/dbpassword" = { "jallen-nas/nextcloud/dbpassword" = {
mode = "0650"; mode = "0650";
owner = config.users.users."${user}".name; owner = config.users.users."${user}".name;
@@ -71,23 +109,48 @@ in
group = config.users.users."${user}".group; group = config.users.users."${user}".group;
restartUnits = [ "container@nextcloud.service" ]; restartUnits = [ "container@nextcloud.service" ];
}; };
# ------------------------------
# onlyoffice
# ------------------------------
"jallen-nas/onlyoffice-key" = { "jallen-nas/onlyoffice-key" = {
mode = "0650"; mode = "0650";
owner = config.users.users."${user}".name; owner = config.users.users."${user}".name;
group = config.users.users."${user}".group; group = config.users.users."${user}".group;
restartUnits = [ "container@nextcloud.service" ]; restartUnits = [ "container@nextcloud.service" ];
}; };
# ------------------------------
# manyfold
# ------------------------------
"jallen-nas/manyfold/secretkeybase" = { "jallen-nas/manyfold/secretkeybase" = {
restartUnits = [ "podman-manyfold.service" ]; restartUnits = [ "podman-manyfold.service" ];
}; };
# ------------------------------
# immich
# ------------------------------
"jallen-nas/immich/db-password" = { "jallen-nas/immich/db-password" = {
mode = "0440"; mode = "0440";
group = "keys"; group = "keys";
restartUnits = [ "container@immich.service" ]; restartUnits = [ "container@immich.service" ];
}; };
# ------------------------------
# open-webui
# ------------------------------
"jallen-nas/open-webui" = { "jallen-nas/open-webui" = {
restartUnits = [ "open-webui.service" ]; restartUnits = [ "open-webui.service" ];
}; };
# ------------------------------
# paperless
# ------------------------------
"jallen-nas/paperless/secret" = { "jallen-nas/paperless/secret" = {
restartUnits = [ "container@paperless.service" ]; restartUnits = [ "container@paperless.service" ];
}; };
@@ -97,6 +160,11 @@ in
"jallen-nas/paperless/authentik-client-secret" = { "jallen-nas/paperless/authentik-client-secret" = {
restartUnits = [ "container@paperless.service" ]; restartUnits = [ "container@paperless.service" ];
}; };
# ------------------------------
# Gitea
# ------------------------------
"jallen-nas/gitea/mail-key" = { "jallen-nas/gitea/mail-key" = {
owner = "root"; owner = "root";
group = "keys"; group = "keys";
@@ -109,6 +177,10 @@ in
mode = "0440"; mode = "0440";
restartUnits = [ "container@gitea.service" ]; restartUnits = [ "container@gitea.service" ];
}; };
# ------------------------------
# free-games-claimer
# ------------------------------
"jallen-nas/free-games/eg-email" = { }; "jallen-nas/free-games/eg-email" = { };
"jallen-nas/free-games/eg-pass" = { }; "jallen-nas/free-games/eg-pass" = { };
"jallen-nas/free-games/eg-otp" = { }; "jallen-nas/free-games/eg-otp" = { };
@@ -116,14 +188,11 @@ in
"jallen-nas/free-games/pg-pass" = { }; "jallen-nas/free-games/pg-pass" = { };
"jallen-nas/free-games/gog-email" = { }; "jallen-nas/free-games/gog-email" = { };
"jallen-nas/free-games/gog-pass" = { }; "jallen-nas/free-games/gog-pass" = { };
"ssh-keys-public/jallen-nas-root" = {
path = "/root/.ssh/id_ed25519.pub"; # ------------------------------
mode = "0640"; # Secureboot keys
}; # ------------------------------
"ssh-keys-private/jallen-nas-root" = {
path = "/root/.ssh/id_ed25519";
mode = "0640";
};
"secureboot/GUID" = { "secureboot/GUID" = {
path = "/etc/secureboot/GUID"; path = "/etc/secureboot/GUID";
mode = "0640"; mode = "0640";
@@ -154,6 +223,9 @@ in
}; };
}; };
# ------------------------------
# Templates
# ------------------------------
templates = { templates = {
"fgc.env" = { "fgc.env" = {
content = '' content = ''

View File

@@ -7,6 +7,9 @@ in
defaultSopsFile = ../../secrets/secrets.yaml; defaultSopsFile = ../../secrets/secrets.yaml;
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
# ------------------------------
# Secrets
# ------------------------------
secrets = { secrets = {
"wifi" = { }; "wifi" = { };
"desktop/matt_password" = { "desktop/matt_password" = {
@@ -19,6 +22,7 @@ in
# ------------------------------ # ------------------------------
# SSH keys # SSH keys
# ------------------------------ # ------------------------------
"ssh-keys-public/pi4" = { "ssh-keys-public/pi4" = {
mode = "0644"; mode = "0644";
owner = config.users.users."${user}".name; owner = config.users.users."${user}".name;

View File

@@ -7,6 +7,9 @@ in
defaultSopsFile = ../../secrets/secrets.yaml; defaultSopsFile = ../../secrets/secrets.yaml;
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
# ------------------------------
# Secrets
# ------------------------------
secrets = { secrets = {
"wifi" = { }; "wifi" = { };
"desktop/matt_password" = { "desktop/matt_password" = {
@@ -19,6 +22,7 @@ in
# ------------------------------ # ------------------------------
# SSH keys # SSH keys
# ------------------------------ # ------------------------------
"ssh-keys-public/pi5" = { "ssh-keys-public/pi5" = {
mode = "0644"; mode = "0644";
owner = config.users.users."${user}".name; owner = config.users.users."${user}".name;