45 lines
962 B
Nix
45 lines
962 B
Nix
{ pkgs, ... }:
|
|
{
|
|
# Desktop profile: Graphical desktop with Hyprland
|
|
# Extends workstation-node with desktop environment
|
|
imports = [
|
|
./workstation-node.nix
|
|
];
|
|
|
|
# Enable Hyprland (Wayland compositor)
|
|
programs.hyprland = {
|
|
enable = true;
|
|
xwayland.enable = true; # For compatibility with X11 apps if needed
|
|
};
|
|
|
|
# Essential desktop services
|
|
services.dbus.enable = true;
|
|
|
|
# polkit for privilege escalation
|
|
security.polkit.enable = true;
|
|
|
|
# Enable sound with pipewire
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
# Fonts
|
|
fonts.packages = with pkgs; [
|
|
noto-fonts
|
|
noto-fonts-cjk-sans
|
|
noto-fonts-emoji
|
|
liberation_ttf
|
|
fira-code
|
|
fira-code-symbols
|
|
];
|
|
|
|
# Environment variables for Wayland
|
|
environment.sessionVariables = {
|
|
NIXOS_OZONE_WL = "1"; # Hint electron apps to use Wayland
|
|
};
|
|
}
|