hosts/ni/setups/desktop: automatically set networking setup

This commit is contained in:
Gabriel Arazas 2023-12-16 19:58:17 +08:00
parent 9cd586231e
commit 3d4b8fa578
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC
2 changed files with 33 additions and 28 deletions

View File

@ -29,7 +29,6 @@
hardware.qol.enable = true; hardware.qol.enable = true;
networking = { networking = {
enable = true; enable = true;
setup = "networkmanager";
wireguard.enable = true; wireguard.enable = true;
}; };
services.backup.enable = true; services.backup.enable = true;

View File

@ -3,40 +3,46 @@
let let
hostCfg = config.hosts.ni; hostCfg = config.hosts.ni;
cfg = hostCfg.setups.desktop; cfg = hostCfg.setups.desktop;
hasAnyWorkflowEnabled = workflows:
lib.lists.any (workflow: config.workflows.workflows.${workflow}.enable) workflows;
in in
{ {
options.hosts.ni.setups.desktop.enable = options.hosts.ni.setups.desktop.enable =
lib.mkEnableOption "desktop environment setup"; lib.mkEnableOption "desktop environment setup";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable (lib.mkMerge [
# Bring all of the desktop goodies. {
profiles.desktop = { # Bring all of the desktop goodies.
enable = true; profiles.desktop = {
audio.enable = true; enable = true;
fonts.enable = true; audio.enable = true;
hardware.enable = true; fonts.enable = true;
cleanup.enable = true; hardware.enable = true;
wine.enable = true; cleanup.enable = true;
}; wine.enable = true;
};
# Apparently the Emacs of 3D artists. # Apparently the Emacs of 3D artists.
programs.blender = { programs.blender = {
enable = true; enable = true;
package = pkgs.blender-foodogsquared; package = pkgs.blender-foodogsquared;
addons = with pkgs; [ addons = with pkgs; [
blender-blendergis blender-blendergis
blender-machin3tools blender-machin3tools
]; ];
}; };
# Make it in multiple languages. Take note this is meant to be set up by # Make it in multiple languages. Take note the input method engine is set
# the workflow module of choice... # up by the workflow module of choice...
profiles.i18n.enable = true; profiles.i18n.enable = true;
# ...which is by the way is this one. # ...which is by the way is this one.
workflows.workflows.a-happy-gnome.enable = true; workflows.workflows.a-happy-gnome.enable = true;
}
# Backup for the almighty archive, pls. (lib.mkIf (hasAnyWorkflowEnabled [ "a-happy-gnome" "knome" "mosey-branch" ]) {
tasks.backup-archive.enable = true; hosts.ni.networking.setup = "networkmanager";
}; })
]);
} }