refactor: rename "homelab" to "server"

This commit is contained in:
Gustavo "Guz" L. de Mello
2024-03-03 11:32:07 -03:00
parent 0b61402d46
commit d236078a13
12 changed files with 44 additions and 46 deletions

6
hosts/homex/configuration.nix Normal file → Executable file
View File

@@ -8,13 +8,13 @@
imports = [
../../modules/nixos/systems/set-user.nix
../../modules/nixos/config/host.nix
../../modules/nixos/homelab
../../modules/server
./hardware-configuration.nix
./secrets.nix
./users
];
homelab = {
server = {
enable = true;
flakeDir = "/home/guz/.nix#homex";
name = "homex";
@@ -46,7 +46,7 @@
forgejo = {
enable = true;
settings.server.url = "https://${config.homelab.forgejo.settings.server.domain}";
settings.server.url = "https://${config.server.forgejo.settings.server.domain}";
settings.users."user1" = {
name = /. + config.sops.secrets."forgejo/user1/name".path;
email = /. + config.sops.secrets."forgejo/user1/email".path;

View File

@@ -7,13 +7,13 @@
sops.defaultSopsFormat = "yaml";
sops.secrets."forgejo/user1/name" = {
owner = config.homelab.forgejo.user;
owner = config.server.forgejo.user;
};
sops.secrets."forgejo/user1/password" = {
owner = config.homelab.forgejo.user;
owner = config.server.forgejo.user;
};
sops.secrets."forgejo/user1/email" = {
owner = config.homelab.forgejo.user;
owner = config.server.forgejo.user;
};
/*

View File

@@ -1,11 +1,11 @@
{ config, lib, ... }:
let
cfg = config.homelab.adguard;
cfg = config.server.adguard;
in
{
imports = [ ];
options.homelab.adguard = with lib; with lib.types; {
options.server.adguard = with lib; with lib.types; {
enable = mkEnableOption "";
extraArgs = mkOption {
type = listOf str;
@@ -13,7 +13,7 @@ in
};
domain = mkOption {
type = str;
default = "adguard." + config.homelab.domain;
default = "adguard." + config.server.domain;
};
port = mkOption {
type = port;

View File

@@ -1,11 +1,11 @@
{ config, lib, ... }:
let
cfg = config.homelab.caddy;
cfg = config.server.caddy;
in
{
imports = [ ];
options.homelab.caddy = with lib; with lib.types; {
options.server.caddy = with lib; with lib.types; {
enable = mkEnableOption "";
settings = {
virtualHosts = mkOption {

View File

@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
cfg = config.homelab;
cfg = config.server;
homelab = pkgs.writeShellScriptBin "homelab" ''
gum="${pkgs.gum}/bin/gum";
flakeDir="${toString cfg.flakeDir}";
@@ -33,7 +33,7 @@ in
./photoprism.nix
./tailscale.nix
];
options.homelab = with lib; with lib.types; {
options.server = with lib; with lib.types; {
enable = mkEnableOption "";
name = mkOption {
type = str;
@@ -76,7 +76,7 @@ in
};
};
homelab = with lib; mkIf cfg.handleDomains {
server = with lib; mkIf cfg.handleDomains {
adguard = {
enable = true;
settings.dns.rewrites = (if hasPrefix "*." cfg.domain then {

View File

@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
cfg = config.homelab.forgejo;
cfg = config.server.forgejo;
users = (builtins.attrValues (builtins.mapAttrs
(username: info: {
name = if isNull info.name then username else info.name;
@@ -13,7 +13,7 @@ let
in
{
imports = [ ];
options.homelab.forgejo = with lib; with lib.types; {
options.server.forgejo = with lib; with lib.types; {
enable = mkEnableOption "";
user = mkOption {
type = str;
@@ -29,7 +29,7 @@ in
};
domain = mkOption {
type = str;
default = "forgejo." + config.homelab.domain;
default = "forgejo." + config.server.domain;
};
port = mkOption {
type = port;
@@ -38,7 +38,7 @@ in
data = {
root = mkOption {
type = path;
default = config.homelab.storage + /forgejo;
default = config.server.storage + /forgejo;
};
};
handleUndeclaredUsers = mkOption {

View File

@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
cfg = config.homelab.jellyfin;
cfg = config.server.jellyfin;
networkConfig = pkgs.writeTextFile {
name = "network.json";
text = builtins.toJSON cfg.settings.network;
@@ -19,7 +19,7 @@ in
imports = [
./jellyseerr.nix
];
options.homelab.jellyfin = with lib; with lib.types; {
options.server.jellyfin = with lib; with lib.types; {
enable = mkEnableOption "";
user = mkOption {
type = str;
@@ -31,7 +31,7 @@ in
};
domain = mkOption {
type = str;
default = "jellyfin." + config.homelab.domain;
default = "jellyfin." + config.server.domain;
};
port = mkOption {
type = port;
@@ -40,7 +40,7 @@ in
data = {
root = mkOption {
type = path;
default = config.homelab.storage + /jellyfin;
default = config.server.storage + /jellyfin;
};
};
jellyseerr = mkOption {
@@ -600,7 +600,7 @@ in
openFirewall = true;
};
homelab.jellyseerr.enable = cfg.jellyseerr;
server.jellyseerr.enable = cfg.jellyseerr;
systemd.services."homelab-jellyfin-config" = {
script = ''

View File

@@ -1,19 +1,19 @@
{ config, lib, pkgs, ... }:
{ config, lib, ... }:
let
cfg = config.homelab.jellyseerr;
cfg = config.server.jellyseerr;
in
{
imports = [ ];
options.homelab.jellyseerr = with lib; with lib.types; {
options.server.jellyseerr = with lib; with lib.types; {
enable = mkEnableOption "";
domain = mkOption {
type = str;
default = "jellyseerr." + config.homelab.domain;
default = "jellyseerr." + config.server.domain;
};
port = mkOption {
type = port;
default = config.homelab.jellyfin.port + 10;
default = config.server.jellyfin.port + 10;
};
};
config = lib.mkIf cfg.enable {

View File

@@ -1,25 +1,25 @@
{ config, lib, ... }:
let
cfg = config.homelab.network;
cfg = config.server.network;
in
{
imports = [ ];
options.homelab.network = with lib; with lib.types; {
options.server.network = with lib; with lib.types; {
enable = mkOption {
type = bool;
default = true;
};
hostName = mkOption {
type = str;
default = config.homelab.name;
default = config.server.name;
};
interface = mkOption {
type = str;
};
localIp = mkOption {
type = str;
default = config.homelab.localIp;
default = config.server.localIp;
};
defaultGateway = mkOption {
type = str;
@@ -50,7 +50,7 @@ in
}];
defaultGateway = cfg.defaultGateway;
nameservers = [
(if config.homelab.tailscale.enable then "100.100.100.100" else null)
(if config.server.tailscale.enable then "100.100.100.100" else null)
] ++ cfg.nameservers;
};

View File

@@ -1,11 +1,11 @@
{ config, lib, pkgs, ... }:
let
cfg = config.homelab.nextcloud;
cfg = config.server.nextcloud;
in
{
imports = [ ];
options.homelab.nextcloud = with lib; with lib.types; {
options.server.nextcloud = with lib; with lib.types; {
enable = mkEnableOption "";
user = mkOption {
type = str;
@@ -17,7 +17,7 @@ in
};
domain = mkOption {
type = str;
default = "nextcloud." + config.homelab.domain;
default = "nextcloud." + config.server.domain;
};
port = mkOption {
type = port;
@@ -26,7 +26,7 @@ in
data = {
root = mkOption {
type = path;
default = config.homelab.storage + /nextcloud;
default = config.server.storage + /nextcloud;
};
};
configureRedis = mkOption {
@@ -55,7 +55,6 @@ in
hostName = cfg.domain;
https = true;
package = cfg.package;
# phpPackage = pkgs.php;
};
};
}

View File

@@ -1,11 +1,11 @@
{ config, lib, pkgs, ... }:
{ config, lib, ... }:
let
cfg = config.homelab.photoprism;
cfg = config.server.photoprism;
in
{
imports = [ ];
options.homelab.photoprism = with lib; with lib.types; {
options.server.photoprism = with lib; with lib.types; {
enable = mkEnableOption "";
user = mkOption {
type = str;
@@ -13,7 +13,7 @@ in
};
domain = mkOption {
type = str;
default = "photoprism." + config.homelab.domain;
default = "photoprism." + config.server.domain;
};
port = mkOption {
type = port;

View File

@@ -1,13 +1,13 @@
{ config, lib, ... }:
let
cfg = config.homelab.tailscale;
cfg = config.server.tailscale;
in
{
imports = [
./network.nix
];
options.homelab.tailscale = with lib; with lib.types; {
options.server.tailscale = with lib; with lib.types; {
enable = mkEnableOption "";
mode = mkOption {
type = enum [
@@ -29,8 +29,7 @@ in
useRoutingFeatures = cfg.mode;
};
homelab.network = lib.mkIf cfg.exitNode { portForwarding = lib.mkDefault true; };
server.network = lib.mkIf cfg.exitNode { portForwarding = lib.mkDefault true; };
};
}