refactor: finish initial move to modules-only [WIP]

This commit is contained in:
Leon Schwarzäugl 2025-04-05 02:16:21 +02:00
parent e7e59715d8
commit 27679d38fd
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
34 changed files with 1934 additions and 1617 deletions

View file

@ -3,7 +3,6 @@
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
config = lib.mkIf config.swarselsystems.profiles.server.local {
swarselsystems = {
# common modules
modules = {
nix-ld = lib.mkDefault true;
home-manager = lib.mkDefault true;
@ -14,23 +13,29 @@
time = lib.mkDefault true;
users = lib.mkDefault true;
};
# server modules
# server = {
# kavita = lib.mkDefault true;
# jellyfin = lib.mkDefault true;
# navidrome = lib.mkDefault true;
# spotifyd = lib.mkDefault true;
# mpd = lib.mkDefault true;
# matrix = lib.mkDefault true;
# nextcloud = lib.mkDefault true;
# immich = lib.mkDefault true;
# paperless = lib.mkDefault true;
# transmission = lib.mkDefault true;
# syncthing = lib.mkDefault true;
# monitoring = lib.mkDefault true;
# emacs = lib.mkDefault true;
# freshrss = lib.mkDefault true;
# };
server = {
general = lib.mkDefault true;
packages = lib.mkDefault true;
sops = lib.mkDefault true;
nfs = lib.mkDefault true;
nginx = lib.mkDefault true;
ssh = lib.mkDefault true;
kavita = lib.mkDefault true;
jellyfin = lib.mkDefault true;
navidrome = lib.mkDefault true;
spotifyd = lib.mkDefault true;
mpd = lib.mkDefault true;
matrix = lib.mkDefault true;
nextcloud = lib.mkDefault true;
immich = lib.mkDefault true;
paperless = lib.mkDefault true;
transmission = lib.mkDefault true;
syncthing = lib.mkDefault true;
monitoring = lib.mkDefault true;
emacs = lib.mkDefault true;
freshrss = lib.mkDefault true;
};
};
};

View file

@ -44,6 +44,13 @@
lid = lib.mkDefault true;
lowBattery = lib.mkDefault true;
lanzaboote = lib.mkDefault true;
optional = {
gaming = lib.mkDefault true;
virtualbox = lib.mkDefault true;
autologin = lib.mkDefault true;
nswitch-rcm = lib.mkDefault true;
};
};
};

View file

@ -3,7 +3,6 @@
options.swarselsystems.profiles.server.sync = lib.mkEnableOption "is this a oci sync server";
config = lib.mkIf config.swarselsystems.profiles.server.sync {
swarselsystems = {
# common modules
modules = {
nix-ld = lib.mkDefault true;
home-manager = lib.mkDefault true;
@ -14,11 +13,16 @@
time = lib.mkDefault true;
users = lib.mkDefault true;
};
# server modules
# server = {
# forgejo = lib.mkDefault true;
# ankisync = lib.mkDefault true;
# };
server = {
general = lib.mkDefault true;
packages = lib.mkDefault true;
sops = lib.mkDefault true;
nfs = lib.mkDefault true;
nginx = lib.mkDefault true;
ssh = lib.mkDefault true;
forgejo = lib.mkDefault true;
ankisync = lib.mkDefault true;
};
};
};

View file

@ -0,0 +1,13 @@
{ lib, config, ... }:
{
options.swarselsystems.profiles.work = lib.mkEnableOption "is this a work host";
config = lib.mkIf config.swarselsystems.profiles.work {
swarselsystems.modules = {
optional = {
work = lib.mkDefault true;
};
};
};
}