Files
Nomarchy/features/desktop/hyprland/default.nix
Bernardo Magri a7dbca80a6 fix: resolve VM startup failures, broken Hyprland functionality, and theme integration
- Fix QEMU syntax and root filesystem conflicts in vm-guest.nix.
- Repair numerous broken relative paths and imports across the codebase.
- Set 'summer-night' as the default distro theme with full branding integration.
- Implement declarative system-wide font installation including the 'nomarchy' font.
- Fix Waybar startup by dynamically generating theme-aware CSS.
- Restore Hyprland keybindings (Super+Return, Super+Space) and wallpaper loading.
- Add missing scripts: nomarchy-launch-walker, nomarchy-toggle-waybar, nomarchy-refresh-config.
- Enable UWSM and correctly disable conflicting Hyprland systemd services.
2026-04-12 20:54:03 +01:00

54 lines
1.7 KiB
Nix

{ config, pkgs, lib, ... }:
let
nomarchyLib = import ../../../lib { inherit lib; };
assetsPath = ../../../themes/palettes;
# Use shared wallpaper resolver
activeWallpaper = nomarchyLib.resolveWallpaper {
wallpaperPath = config.nomarchy.wallpaper;
themeName = config.nomarchy.theme;
inherit assetsPath;
};
hyprlandState = config.nomarchy.hyprland;
in
{
home.sessionVariables = lib.mkDefault {
WLR_NO_HARDWARE_CURSORS = "1";
HYPRLAND_LOG_WLR = "1";
};
wayland.windowManager.hyprland = {
enable = lib.mkDefault true;
systemd.enable = lib.mkDefault false;
settings = lib.mkDefault {
"debug" = {
"disable_logs" = false;
"enable_stdout_logs" = true;
};
"cursor" = {
"no_hardware_cursors" = true;
};
"general" = {
"gaps_in" = hyprlandState.gaps_in;
"gaps_out" = hyprlandState.gaps_out;
"border_size" = hyprlandState.border_size;
"col.active_border" = "rgb(${config.colorScheme.palette.base0E})";
"col.inactive_border" = "rgb(${config.colorScheme.palette.base03})";
};
};
extraConfig = lib.mkDefault ''
source = ~/.config/hypr/nomarchy.conf
'';
};
# Deploy Hyprland configuration files
xdg.configFile."hypr/nomarchy.conf".source = ./config/nomarchy.conf;
xdg.configFile."hypr/monitors.conf".source = lib.mkDefault ./config/monitors.conf;
xdg.configFile."hypr/input.conf".source = lib.mkDefault ./config/input.conf;
xdg.configFile."hypr/bindings.conf".source = lib.mkDefault ./config/bindings.conf;
xdg.configFile."hypr/looknfeel.conf".source = lib.mkDefault ./config/looknfeel.conf;
xdg.configFile."hypr/autostart.conf".source = lib.mkDefault ./config/autostart.conf;
}