{ config, lib, ... }: let cfg = config.my.profiles.desktop; in { options.my.profiles.desktop = with lib; { enable = mkEnableOption "desktop profile"; }; config = lib.mkIf cfg.enable { my = { systems = { fonts.enable = true; }; services = { gnome.enable = true; # we need avahi in order to use the printer/scanner avahi.enable = true; }; home = { emacs.enable = true; direnv.enable = true; firefox.enable = true; pcmanfm.enable = true; terminal.program = "alacritty"; xdg.enable = true; eog.enable = true; evince.enable = true; transmission-remote.enable = true; }; profiles = { gtk.enable = true; wm.windowManager = "sway"; }; programs = { sway.enable = true; }; }; }; }