refactor: debloated imports and modules

This commit is contained in:
Nick 2024-11-03 17:48:32 -06:00
parent 489b64c9c7
commit 7351c5cc45
6 changed files with 237 additions and 342 deletions

View file

@ -1,125 +1,104 @@
let
# Folders
services = import ./modules/services;
# Files
accounts = import ./modules/accounts.nix;
android = import ./modules/android.nix;
audio = import ./modules/audio.nix;
bluetooth = import ./modules/bluetooth.nix;
corectrl = import ./modules/corectrl.nix;
dconf = import ./modules/dconf.nix;
disks = import ./modules/disks.nix;
doas = import ./modules/doas.nix;
environment = import ./modules/environment.nix;
firejail = import ./modules/firejail.nix;
flatpak = import ./modules/flatpak.nix;
fonts = import ./modules/fonts.nix;
gnome = import ./modules/gnome.nix;
greetd = import ./modules/greetd.nix;
gvfs = import ./modules/gvfs.nix;
home-manager = import ./modules/home-manager.nix;
locale = import ./modules/locale.nix;
network = import ./modules/network.nix;
nix = import ./modules/nix.nix;
ollama = import ./modules/ollama.nix;
plasma = import ./modules/plasma.nix;
printing = import ./modules/printing.nix;
rsyncd = import ./modules/rsyncd.nix;
regreet = import ./modules/regreet.nix;
sddm = import ./modules/sddm.nix;
ssh = import ./modules/ssh.nix;
steam = import ./modules/steam.nix;
syncthing = import ./modules/syncthing.nix;
sops = import ./modules/sops.nix;
sysstat = import ./modules/sysstat.nix;
system = import ./modules/system.nix;
virtualization = import ./modules/virtualization.nix;
xserver = import ./modules/xserver.nix;
serviceModules = [
"services"
];
fileModules = [
"accounts"
"android"
"audio"
"bluetooth"
"corectrl"
"dconf"
"disks"
"doas"
"environment"
"firejail"
"flatpak"
"fonts"
"gnome"
"greetd"
"gvfs"
"home-manager"
"locale"
"network"
"nix"
"nur"
"ollama"
"plasma"
"printing"
"regreet"
"rsyncd"
"sddm"
"sops"
"ssh"
"steam"
"syncthing"
"sysstat"
"system"
"virtualization"
"xserver"
];
modulesPath = ./modules;
importFolder = name: {"${name}" = import (modulesPath + "/${name}");};
importFile = name: {"${name}" = import (modulesPath + "/${name}.nix");};
modules =
builtins.foldl' (a: b: a // b) {} (map importFolder serviceModules)
// builtins.foldl' (a: b: a // b) {} (map importFile fileModules);
in {
flake = {
nixosModules = {
inherit
accounts
flake.nixosModules = {
personal = {
imports = with modules; [
android
audio
bluetooth
corectrl
dconf
disks
doas
environment
firejail
flatpak
fonts
gnome
greetd
nur
plasma
printing
sddm
steam
sysstat
virtualization
];
};
desktop = {
imports = with modules; [
syncthing
ollama
];
};
server = {
imports = with modules; [
services
];
};
shared = {
imports = with modules; [
accounts
doas
environment
gvfs
home-manager
locale
network
nix
ollama
ssh
plasma
printing
regreet
rsyncd
sddm
services
sops
steam
syncthing
sysstat
ssh
system
virtualization
xserver
;
personal = {
imports = [
android
audio
bluetooth
corectrl
dconf
disks
firejail
flatpak
fonts
plasma
printing
sddm
steam
sysstat
virtualization
];
};
desktop = {
imports = [
syncthing
# ollama
];
};
server = {
imports = [
services
];
};
shared = {
imports = [
accounts
doas
environment
gvfs
home-manager
locale
nix
rsyncd
ssh
system
sops
xserver
];
};
];
};
};
}