40 lines
1.8 KiB
Nix
40 lines
1.8 KiB
Nix
{ config, lib, ... }:
|
|
# The desktop aggregator: one flag brings up the whole graphical session.
|
|
{
|
|
options.modules.desktop.enable = lib.mkEnableOption "the keyboard-driven Hyprland desktop";
|
|
|
|
# Each piece is turned on at default priority, so a host can still override
|
|
# any one of them while the single flag above enables the whole desktop.
|
|
config = lib.mkIf config.modules.desktop.enable {
|
|
modules.desktop.apps.firefox.enable = lib.mkDefault true;
|
|
modules.desktop.apps.ghostty.enable = lib.mkDefault true;
|
|
modules.desktop.session.hyprland.enable = lib.mkDefault true;
|
|
modules.desktop.session.hyprland.hypridle.enable = lib.mkDefault true;
|
|
modules.desktop.session.hyprland.hyprlock.enable = lib.mkDefault true;
|
|
modules.desktop.session.login.enable = lib.mkDefault true;
|
|
modules.desktop.session.mako.enable = lib.mkDefault true;
|
|
modules.desktop.session.portals.enable = lib.mkDefault true;
|
|
modules.desktop.session.rofi.enable = lib.mkDefault true;
|
|
modules.desktop.session.waybar.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.audio.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.clipboard.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.osd.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.recording.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.screenshot.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.theming.enable = lib.mkDefault true;
|
|
modules.desktop.utilities.userdirs.enable = lib.mkDefault true;
|
|
registry.env.${config.networking.hostName}.NIXOS_OZONE_WL = "1";
|
|
registry.window-icon.${config.networking.hostName} = {
|
|
chromium = {
|
|
class = "chromium.*";
|
|
icon = "f268";
|
|
};
|
|
|
|
code = {
|
|
class = "[Cc]ode";
|
|
icon = "f121";
|
|
};
|
|
};
|
|
};
|
|
}
|