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

@@ -15,7 +15,7 @@
# - Environment variables
let
configDir = ../../config;
configDir = ./config;
overridesDir = "${config.home.homeDirectory}/.config/nomarchy/overrides";
# Check if user has an override for a specific config

View File

@@ -4,7 +4,7 @@ exec-once = uwsm-app -- mako
exec-once = uwsm-app -- fcitx5 --disable notificationitem
exec-once = uwsm-app -- swaybg -i ~/.config/nomarchy/current/background -m fill
exec-once = uwsm-app -- swayosd-server
exec-once = nomarchy-cmd-first-run
exec-once = nomarchy-on-boot
# Slow app launch fix -- set systemd vars
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)

View File

@@ -1,6 +1,6 @@
# Menus
bindd = SUPER, SPACE, Launch apps, exec, nomarchy-launch-walker
bindd = SUPER CTRL, E, Emoji picker, exec, nomarchy-launch-walker -m symbols
bindd = SUPER, SPACE, Launch apps, exec, nomarchy-menu
bindd = SUPER CTRL, E, Emoji picker, exec, nomarchy-menu symbols
bindd = SUPER CTRL, C, Capture menu, exec, nomarchy-menu capture
bindd = SUPER CTRL, O, Toggle menu, exec, nomarchy-menu toggle
bindd = SUPER ALT, SPACE, Nomarchy menu, exec, nomarchy-menu

View File

@@ -79,7 +79,7 @@ group {
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = yes, please :)
enabled = yes
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

View File

@@ -1,30 +1,21 @@
{ config, pkgs, lib, ... }:
let
configDir = ../../config;
configDir = ./config;
# Explicit list of config items to manage
# This replaces dynamic builtins.readDir for clarity and faster evaluation
configItems = {
# Directories
btop = "directory";
chromium = "directory";
elephant = "directory";
"environment.d" = "directory";
fastfetch = "directory";
fcitx5 = "directory";
fontconfig = "directory";
ghostty = "directory";
git = "directory";
hypr = "directory";
"hyprland-preview-share-picker" = "directory";
imv = "directory";
kitty = "directory";
lazygit = "directory";
"nautilus-python" = "directory";
nomarchy = "directory";
opencode = "directory";
systemd = "directory";
tmux = "directory";
"nomarchy-skill" = "directory";
Typora = "directory";
uwsm = "directory";
wiremix = "directory";

View File

@@ -3,6 +3,5 @@
{
config = {
fonts.fontconfig.enable = lib.mkDefault true;
xdg.dataFile."fonts/nomarchy.ttf".source = lib.mkDefault ../../config/nomarchy.ttf;
};
}

View File

@@ -41,7 +41,7 @@
};
theme = lib.mkOption {
type = lib.types.str;
default = "nord";
default = "summer-night";
description = "System theme name.";
};
wallpaper = lib.mkOption {

View File

@@ -1,8 +1,8 @@
{ config, lib, ... }:
let
nomarchyLib = import ../lib { inherit lib; };
assetsPath = ../../assets/themes;
nomarchyLib = import ../../lib { inherit lib; };
assetsPath = ../../themes/palettes;
# Read unified state from ~/.config/nomarchy/state.json
togglesState = nomarchyLib.readHomeState config.home.homeDirectory;
@@ -19,7 +19,7 @@ in
skipVsCodeTheme = togglesState.skipVsCodeTheme or false;
};
nightlightTemperature = togglesState.nightlightTemperature or 4000;
theme = togglesState.theme or "nord";
theme = togglesState.theme or "summer-night";
wallpaper = togglesState.wallpaper or "";
hyprland = {
gaps_in = togglesState.hyprland.gaps_in or 5;
@@ -30,11 +30,11 @@ in
# Derived properties from the theme directory
isLightMode = nomarchyLib.isThemeLightMode {
themeName = togglesState.theme or "nord";
themeName = togglesState.theme or "summer-night";
inherit assetsPath;
};
iconsTheme = nomarchyLib.getIconsTheme {
themeName = togglesState.theme or "nord";
themeName = togglesState.theme or "summer-night";
inherit assetsPath;
};
};