{ lib, config, pkgs, ... }: let mkDesktop = lib.mkOverride 920; cfg = config._archetypes.profiles.desktop; in { options._archetypes.profiles.desktop = { enable = lib.mkEnableOption "enable desktop profile"; }; config = lib.mkIf cfg.enable { _archetypes.collections = { desktop = { utilities.enable = mkDesktop true; firefox.enable = mkDesktop true; xserver = { enable = mkDesktop true; utilities.enable = mkDesktop true; }; }; development = { utilities.enable = mkDesktop true; }; fonts.enable = mkDesktop true; }; _archetypes.users.primary = { enable = mkDesktop true; }; security = { _doas.enable = mkDesktop true; }; programs = { _ddcutil.enable = mkDesktop true; _home-manager.enable = mkDesktop true; }; services = { xserver = { windowManager._awesome.enable = mkDesktop true; }; _pipewire.enable = mkDesktop true; _printing.enable = mkDesktop true; _ssh.enable = mkDesktop true; tlp.enable = mkDesktop true; # Ensure video group can change backlight udev.extraRules = '' SUBSYSTEM=="backlight", ACTION=="add", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness", RUN+="${pkgs.coreutils}/bin/chmod g+w /sys/class/backlight/%k/brightness" ''; }; }; }