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.
This commit is contained in:
Bernardo Magri
2026-04-12 20:54:03 +01:00
parent bbdf34ced8
commit a7dbca80a6
32 changed files with 253 additions and 115 deletions

View File

@@ -1,12 +1,16 @@
{ config, lib, ... }:
let
nomarchyLib = import ../../lib { inherit lib; };
themePath = ../palettes + "/${config.nomarchy.theme}";
themeAppsPath = themePath + "/apps";
nordAppsPath = ../palettes/nord/apps;
nordAppsPath = ../../features/desktop/hyprland/themes/nord;
# Check if theme has apps/hyprland.conf
hasHyprlandConf = builtins.pathExists (themeAppsPath + "/hyprland.conf");
# Get palette for dynamic CSS generation
palette = nomarchyLib.getPalette config.nomarchy.theme;
in
{
xdg.configFile."nomarchy/current/theme" = {
@@ -14,6 +18,14 @@ in
recursive = true;
};
# Generate waybar.css if it doesn't exist in the theme
# This provides the @background and @foreground variables used by the default style
xdg.configFile."nomarchy/current/theme/waybar.css".text = ''
@define-color background #${palette.base00};
@define-color foreground #${palette.base05};
@define-color accent #${palette.base0D};
'';
# Ensure theme-specific hyprland config exists, fallback to nord if not
# Now checking in apps/ subdirectory
xdg.configFile."nomarchy/current/theme/apps/hyprland.conf" = lib.mkIf (!hasHyprlandConf) {

View File

@@ -25,7 +25,7 @@
# └── preview.png
let
nomarchyLib = import ../lib { inherit lib; };
nomarchyLib = import ../../lib { inherit lib; };
assetsPath = ../palettes;
activeTheme = config.nomarchy.theme;
themePath = assetsPath + "/${activeTheme}";

View File

@@ -18,7 +18,7 @@
# - waybar: Custom CSS with theme colors
let
nomarchyLib = import ../lib { inherit lib; };
nomarchyLib = import ../../lib { inherit lib; };
assetsPath = ../palettes;
activeThemeName = config.nomarchy.theme;
@@ -36,6 +36,8 @@ in
{
imports = [ inputs.stylix.homeModules.stylix ];
xdg.configFile."nomarchy/current/background".source = activeWallpaper;
stylix = {
enable = lib.mkDefault true;
enableReleaseChecks = lib.mkDefault false;

View File

@@ -1,7 +1,7 @@
{ config, pkgs, lib, ... }:
let
nomarchyLib = import ../lib { inherit lib; };
nomarchyLib = import ../../lib { inherit lib; };
themeList = builtins.concatStringsSep "\\n" nomarchyLib.themeNames;
nomarchy-theme-selector = pkgs.writeShellScriptBin "nomarchy-theme-selector" ''