{ lib, config, nix-colors, ... }: { options = { desktop = { enable = lib.mkEnableOption "gui"; terminal = lib.mkOption { type = lib.types.str; description = "the default terminal to use"; default = "kitty"; }; fileManager = lib.mkOption { type = lib.types.str; description = "the default file_manager to use"; default = "thunar"; }; browser = lib.mkOption { type = lib.types.str; description = "the default browser to use"; default = "firefox"; }; launcher = lib.mkOption { type = lib.types.str; description = "the default launcher to use"; default = "rofi -show drun"; }; }; }; imports = [ nix-colors.homeManagerModules.default ./firefox ./keepassxc ./kitty ./nextcloud-client ./picom ./nixGL ./theme ./awesome ./rofi ./network-manager-applet ]; config = lib.mkIf config.desktop.enable { desktop.awesome.enable = lib.mkDefault true; programs = { keepassxc.enable = lib.mkDefault true; firefox.enable = lib.mkDefault true; kitty.enable = lib.mkDefault true; }; services = { nextcloud-client.enable = lib.mkDefault true; udiskie.enable = lib.mkDefault true; picom.enable = lib.mkDefault true; }; fonts.fontconfig.enable = true; colorScheme = nix-colors.colorSchemes.catppuccin-mocha; }; }