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

23
core/system/fonts.nix Normal file
View File

@@ -0,0 +1,23 @@
{ pkgs, ... }:
let
nomarchy-font = pkgs.stdenv.mkDerivation {
pname = "nomarchy-font";
version = "1.0";
# Pull from core/home/config where the ttf is located
src = ./../home/config;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp nomarchy.ttf $out/share/fonts/truetype/
'';
};
in
{
fonts.packages = [
nomarchy-font
pkgs.nerd-fonts.jetbrains-mono
pkgs.nerd-fonts.roboto-mono
pkgs.nerd-fonts.fira-code
pkgs.nerd-fonts.ubuntu-mono
];
}

View File

@@ -48,7 +48,7 @@
};
theme = lib.mkOption {
type = lib.types.str;
default = "nord";
default = "summer-night";
description = "Selected system theme.";
};
};

View File

@@ -1,7 +1,7 @@
{ lib, ... }:
let
nomarchyLib = import ../lib { inherit lib; };
nomarchyLib = import ../../lib { inherit lib; };
systemState = nomarchyLib.readSystemState;
in
{

View File

@@ -0,0 +1,11 @@
{ lib, ... }:
{
programs.uwsm = {
enable = lib.mkDefault true;
waylandCompositors.hyprland = {
binPath = "/run/current-system/sw/bin/Hyprland";
prettyName = "Hyprland";
};
};
}

View File

@@ -4,12 +4,12 @@
# Shared VM configuration
virtualisation.vmVariant = {
virtualisation.graphics = true;
virtualisation.qemu.options = [ "-device virtio-vga" ];
virtualisation.qemu.options = [ "-device" "virtio-vga" ];
};
# Dummy hardware config for VM
fileSystems."/" = { device = "/dev/disk/by-label/nixos"; };
boot.loader.grub.device = "/dev/vda";
fileSystems."/" = lib.mkDefault { device = "/dev/disk/by-label/nixos"; };
boot.loader.grub.device = lib.mkDefault "/dev/vda";
boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_blk" "virtio_gpu" "virtio_net" "virtio_mmio" ];
# Force early KMS for Plymouth