fix(system): finalize VM stabilization and fix Hyprland syntax
- Restore custom SDDM theme. - Clean up all remaining Hyprland windowrulev2 and layerrule syntax errors. - Optimize VM configurations with 4GB RAM and virtio-vga graphics for stability. - Remove diagnostic debug services and autologin debug settings. - Ensure correct session autologin to hyprland-uwsm.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
windowrulev2 = fullscreen, class:com.libretro.RetroArch
|
windowrulev2 = fullscreen, class:com.libretro.RetroArch
|
||||||
windowrulev2 = tag -default-opacity, class:com.libretro.RetroArch
|
windowrulev2 = tag -default-opacity, class:com.libretro.RetroArch
|
||||||
windowrulev2 = opacity 1 1, class:com.libretro.RetroArch
|
windowrulev2 = opacity 1 1, class:com.libretro.RetroArch
|
||||||
windowrulev2 = idleinhibit fullscreen, class:com.libretro.RetroArch
|
windowrulev2 = idleinhibit, fullscreen, class:com.libretro.RetroArch
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ windowrulev2 = tag -default-opacity, class:steam.*
|
|||||||
windowrulev2 = opacity 1 1, class:steam.*
|
windowrulev2 = opacity 1 1, class:steam.*
|
||||||
windowrulev2 = size 1100 700, class:steam, title:Steam
|
windowrulev2 = size 1100 700, class:steam, title:Steam
|
||||||
windowrulev2 = size 460 800, class:steam, title:Friends List
|
windowrulev2 = size 460 800, class:steam, title:Friends List
|
||||||
windowrulev2 = idleinhibit fullscreen, class:steam
|
windowrulev2 = idleinhibit, fullscreen, class:steam
|
||||||
|
|||||||
@@ -20,4 +20,4 @@ windowrulev2 = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject
|
|||||||
windowrulev2 = rounding 8, tag:pop
|
windowrulev2 = rounding 8, tag:pop
|
||||||
|
|
||||||
# Prevent idle while open
|
# Prevent idle while open
|
||||||
windowrulev2 = idleinhibit always, tag:noidle
|
windowrulev2 = idleinhibit, always, tag:noidle
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
# Hyprland 0.53+ syntax
|
# Hyprland 0.53+ syntax
|
||||||
windowrulev2 = suppress_event maximize, class:.*
|
windowrulev2 = suppress_event, maximize, class:.*
|
||||||
|
|
||||||
# Tag all windows for default opacity (apps can override with -default-opacity tag)
|
# Tag all windows for default opacity (apps can override with -default-opacity tag)
|
||||||
windowrulev2 = tag +default-opacity, class:.*
|
windowrulev2 = tag +default-opacity, class:.*
|
||||||
|
|||||||
58
flake.nix
58
flake.nix
@@ -114,61 +114,23 @@
|
|||||||
./modules/system
|
./modules/system
|
||||||
./modules/system/hardware.nix
|
./modules/system/hardware.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
({ pkgs, ... }: {
|
{
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
networking.hostName = "nomarchy";
|
networking.hostName = "nomarchy";
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
# Diagnostic service to debug the black screen inside the VM
|
|
||||||
systemd.services.nomarchy-diag = {
|
|
||||||
description = "Nomarchy VM Diagnostics";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
after = [ "display-manager.service" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
StandardOutput = "tty";
|
|
||||||
StandardError = "tty";
|
|
||||||
TTYPath = "/dev/ttyS0";
|
|
||||||
ExecStart = pkgs.writeScript "diag.sh" ''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
echo "--- NOMARCHY VM DIAGNOSTICS START ---"
|
|
||||||
echo "SDDM Helper Logs:"
|
|
||||||
${pkgs.systemd}/bin/journalctl -t sddm-helper --no-pager -n 50
|
|
||||||
|
|
||||||
echo "User (nomarchy) Environment:"
|
|
||||||
${pkgs.sudo}/bin/sudo -u nomarchy env | grep -E "XDG|DISPLAY|WAYLAND"
|
|
||||||
|
|
||||||
echo "User (nomarchy) Systemd Status:"
|
|
||||||
${pkgs.sudo}/bin/sudo -u nomarchy ${pkgs.systemd}/bin/systemctl --user status || echo "User systemd not running"
|
|
||||||
|
|
||||||
echo "User (nomarchy) Journal Logs:"
|
|
||||||
${pkgs.sudo}/bin/sudo -u nomarchy ${pkgs.systemd}/bin/journalctl --user --no-pager -n 100
|
|
||||||
|
|
||||||
echo "Hyprland Binary Check:"
|
|
||||||
ls -l /run/current-system/sw/bin/Hyprland || echo "Hyprland binary NOT FOUND in sw/bin"
|
|
||||||
|
|
||||||
echo "Hyprland Crash Dumps:"
|
|
||||||
${pkgs.coreutils}/bin/ls -l /home/nomarchy/.cache/hyprland/ || echo "No crash dumps found"
|
|
||||||
|
|
||||||
echo "--- NOMARCHY VM DIAGNOSTICS END ---"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# VM specific settings
|
# VM specific settings
|
||||||
virtualisation.vmVariant = {
|
virtualisation.vmVariant = {
|
||||||
virtualisation.memorySize = 8192;
|
virtualisation.memorySize = 4096;
|
||||||
virtualisation.cores = 4;
|
virtualisation.cores = 2;
|
||||||
virtualisation.graphics = true;
|
virtualisation.graphics = true;
|
||||||
virtualisation.qemu.options = [ "-device virtio-vga" "-serial mon:stdio" ];
|
virtualisation.qemu.options = [ "-device virtio-vga" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use a dummy hardware config for VM
|
# Use a dummy hardware config for VM
|
||||||
fileSystems."/" = { device = "/dev/disk/by-label/nixos"; };
|
fileSystems."/" = { device = "/dev/disk/by-label/nixos"; };
|
||||||
boot.loader.grub.device = "/dev/vda";
|
boot.loader.grub.device = "/dev/vda";
|
||||||
boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_blk" "virtio_gpu" "virtio_net" "virtio_mmio" ];
|
boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_blk" "virtio_gpu" "virtio_net" "virtio_mmio" ];
|
||||||
boot.kernelParams = nixpkgs.lib.mkForce [ "video=1280x800" "quiet" "splash" "boot.shell_on_fail" "console=ttyS0" "console=tty1" ];
|
boot.kernelParams = nixpkgs.lib.mkForce [ "video=1280x800" "quiet" "splash" "boot.shell_on_fail" ];
|
||||||
|
|
||||||
services.qemuGuest.enable = true;
|
|
||||||
|
|
||||||
# Setup default user for testing
|
# Setup default user for testing
|
||||||
users.users.nomarchy = {
|
users.users.nomarchy = {
|
||||||
@@ -177,14 +139,6 @@
|
|||||||
initialPassword = "nixos";
|
initialPassword = "nixos";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.sudo ];
|
|
||||||
|
|
||||||
# Enable passwordless sudo for the test user
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
|
||||||
|
|
||||||
# Autologin on the serial console for debugging
|
|
||||||
services.getty.autologinUser = "nomarchy";
|
|
||||||
|
|
||||||
services.displayManager.autoLogin.enable = true;
|
services.displayManager.autoLogin.enable = true;
|
||||||
services.displayManager.autoLogin.user = "nomarchy";
|
services.displayManager.autoLogin.user = "nomarchy";
|
||||||
|
|
||||||
@@ -196,7 +150,7 @@
|
|||||||
home.homeDirectory = "/home/nomarchy";
|
home.homeDirectory = "/home/nomarchy";
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.11";
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ in
|
|||||||
"swww-daemon & sleep 0.5 && swww img ${activeWallpaper} --transition-type none"
|
"swww-daemon & sleep 0.5 && swww img ${activeWallpaper} --transition-type none"
|
||||||
"nomarchy-on-boot"
|
"nomarchy-on-boot"
|
||||||
"nomarchy-welcome"
|
"nomarchy-welcome"
|
||||||
"alacritty"
|
|
||||||
] ++ (lib.optional config.nomarchy.toggles.waybar "waybar");
|
] ++ (lib.optional config.nomarchy.toggles.waybar "waybar");
|
||||||
"bind" = [
|
"bind" = [
|
||||||
"SUPER, Space, exec, walker"
|
"SUPER, Space, exec, walker"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ in
|
|||||||
services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
# theme = "nomarchy";
|
theme = "nomarchy";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.displayManager.defaultSession = lib.mkDefault "hyprland-uwsm";
|
services.displayManager.defaultSession = lib.mkDefault "hyprland-uwsm";
|
||||||
|
|||||||
Reference in New Issue
Block a user