feat[client,server]: add remote builds, confLib

This commit is contained in:
Leon Schwarzäugl 2025-12-02 00:57:35 +01:00
parent 626d990b4a
commit f2674bee48
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
133 changed files with 4297 additions and 3249 deletions

View file

@ -1,44 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.chaostheatre = lib.mkEnableOption "is this a chaostheatre host";
config = lib.mkIf config.swarselprofiles.chaostheatre {
swarselmodules = {
packages = lib.mkForce true;
ownpackages = lib.mkForce true;
general = lib.mkForce true;
nixgl = lib.mkForce true;
sops = lib.mkForce true;
yubikey = lib.mkForce false;
ssh = lib.mkForce true;
stylix = lib.mkForce true;
desktop = lib.mkForce true;
symlink = lib.mkForce true;
env = lib.mkForce false;
programs = lib.mkForce true;
nix-index = lib.mkForce true;
direnv = lib.mkForce true;
eza = lib.mkForce true;
git = lib.mkForce false;
fuzzel = lib.mkForce true;
starship = lib.mkForce true;
kitty = lib.mkForce true;
zsh = lib.mkForce true;
zellij = lib.mkForce true;
tmux = lib.mkForce true;
mail = lib.mkForce false;
emacs = lib.mkForce true;
waybar = lib.mkForce true;
firefox = lib.mkForce true;
gnome-keyring = lib.mkForce true;
kdeconnect = lib.mkForce true;
mako = lib.mkForce true;
swayosd = lib.mkForce true;
yubikeytouch = lib.mkForce true;
sway = lib.mkForce true;
kanshi = lib.mkForce true;
gpgagent = lib.mkForce true;
gammastep = lib.mkForce false;
};
};
}

View file

@ -30,7 +30,6 @@
kitty = lib.mkDefault true;
mail = lib.mkDefault false;
mako = lib.mkDefault false;
niri = lib.mkDefault false;
nix-index = lib.mkDefault true;
nixgl = lib.mkDefault true;
nix-your-shell = lib.mkDefault true;

View file

@ -1,13 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.framework = lib.mkEnableOption "is this a framework brand host";
config = lib.mkIf config.swarselprofiles.framework {
swarselmodules = {
optional = {
framework = lib.mkDefault true;
};
};
};
}

View file

@ -1,13 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.optionals = lib.mkEnableOption "is this a host with optionals";
config = lib.mkIf config.swarselprofiles.optionals {
swarselmodules = {
optional = {
gaming = lib.mkDefault true;
uni = lib.mkDefault true;
};
};
};
}

View file

@ -29,7 +29,6 @@
kitty = lib.mkDefault true;
mail = lib.mkDefault true;
mako = lib.mkDefault true;
niri = lib.mkDefault false;
nix-index = lib.mkDefault true;
nixgl = lib.mkDefault true;
nix-your-shell = lib.mkDefault true;

View file

@ -1,14 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.toto = lib.mkEnableOption "is this a toto (setup) host";
config = lib.mkIf config.swarselprofiles.toto {
swarselmodules = {
general = lib.mkDefault true;
sops = lib.mkDefault true;
ssh = lib.mkDefault true;
kitty = lib.mkDefault true;
git = lib.mkDefault true;
};
};
}

View file

@ -1,12 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.uni = lib.mkEnableOption "is this a uni host";
config = lib.mkIf config.swarselprofiles.uni {
swarselmodules = {
optional = {
uni = lib.mkDefault true;
};
};
};
}

View file

@ -1,12 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.work = lib.mkEnableOption "is this a work host";
config = lib.mkIf config.swarselprofiles.work {
swarselmodules = {
optional = {
work = lib.mkDefault true;
};
};
};
}

View file

@ -1,50 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.chaostheatre = lib.mkEnableOption "is this a chaostheatre host";
config = lib.mkIf config.swarselprofiles.chaostheatre {
swarselmodules = {
packages = lib.mkForce true;
general = lib.mkForce true;
home-manager = lib.mkForce true;
xserver = lib.mkForce true;
users = lib.mkForce true;
sops = lib.mkForce true;
env = lib.mkForce true;
security = lib.mkForce true;
systemdTimeout = lib.mkForce true;
hardware = lib.mkForce true;
pulseaudio = lib.mkForce true;
pipewire = lib.mkForce true;
network = lib.mkForce true;
time = lib.mkForce true;
stylix = lib.mkForce true;
programs = lib.mkForce true;
zsh = lib.mkForce true;
syncthing = lib.mkForce true;
blueman = lib.mkForce true;
networkDevices = lib.mkForce true;
gvfs = lib.mkForce true;
interceptionTools = lib.mkForce true;
swayosd = lib.mkForce true;
ppd = lib.mkForce true;
yubikey = lib.mkForce false;
ledger = lib.mkForce true;
keyboards = lib.mkForce true;
login = lib.mkForce true;
nix-ld = lib.mkForce true;
impermanence = lib.mkForce true;
nvd = lib.mkForce true;
gnome-keyring = lib.mkForce true;
sway = lib.mkForce true;
xdg-portal = lib.mkForce true;
distrobox = lib.mkForce true;
appimage = lib.mkForce true;
lid = lib.mkForce true;
lowBattery = lib.mkForce true;
lanzaboote = lib.mkForce true;
autologin = lib.mkForce true;
};
};
}

View file

@ -1,18 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.framework = lib.mkEnableOption "is this a framework brand host";
config = lib.mkIf config.swarselprofiles.framework {
swarselmodules = {
optional = {
framework = lib.mkDefault true;
};
};
home-manager.users."${config.swarselsystems.mainUser}" = {
swarselprofiles = {
framework = lib.mkDefault true;
};
};
};
}

View file

@ -1,20 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.optionals = lib.mkEnableOption "is this a host with optionals";
config = lib.mkIf config.swarselprofiles.optionals {
swarselmodules = {
optional = {
gaming = lib.mkDefault true;
virtualbox = lib.mkDefault true;
nswitch-rcm = lib.mkDefault true;
};
};
home-manager.users."${config.swarselsystems.mainUser}" = {
swarselprofiles = {
optionals = lib.mkDefault true;
};
};
};
}

View file

@ -26,7 +26,6 @@
lowBattery = lib.mkDefault false;
network = lib.mkDefault true;
networkDevices = lib.mkDefault true;
niri = lib.mkDefault false;
nix-ld = lib.mkDefault true;
nvd = lib.mkDefault true;
packages = lib.mkDefault true;
@ -35,6 +34,7 @@
ppd = lib.mkDefault true;
programs = lib.mkDefault true;
pulseaudio = lib.mkDefault true;
remotebuild = lib.mkDefault true;
security = lib.mkDefault true;
sops = lib.mkDefault true;
stylix = lib.mkDefault true;

View file

@ -1,18 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.uni = lib.mkEnableOption "is this a uni host";
config = lib.mkIf config.swarselprofiles.uni {
# swarselmodules = {
# optional = {
# uni = lib.mkDefault true;
# };
# };
home-manager.users."${config.swarselsystems.mainUser}" = {
swarselprofiles = {
uni = lib.mkDefault true;
};
};
};
}

View file

@ -1,18 +0,0 @@
{ lib, config, ... }:
{
options.swarselprofiles.work = lib.mkEnableOption "is this a work host";
config = lib.mkIf config.swarselprofiles.work {
swarselmodules = {
optional = {
work = lib.mkDefault true;
};
};
home-manager.users."${config.swarselsystems.mainUser}" = {
swarselprofiles = {
work = lib.mkDefault true;
};
};
};
}