Make Hyprland work for VM

This commit is contained in:
agryphus 2024-03-18 16:42:00 -04:00
parent 5dcb9966ae
commit 6aa2dd083f
2 changed files with 23 additions and 17 deletions

View file

@ -0,0 +1,19 @@
{ config, pkgs, ... }:
let
nixos-unstable = (import <nixos-unstable> {});
in {
# Since I choose to run Hyprland nightly, the dependencies in the flake
# track nixos-unstable. This causes the installed, stable mesa drivers
# to be out of sync with the expected drivers when launching Hyprland from
# inside VirtualBox, causing a crash. This upgrades the VMs drivers,
# fixing the mis-match. I am not sure why I do not have the same problem
# on bare metal ¯\_(ツ)_/¯.
system.replaceRuntimeDependencies = [
({ original = pkgs.mesa;
replacement = nixos-unstable.mesa; })
({ original = pkgs.mesa.drivers;
replacement = nixos-unstable.mesa.drivers; })
];
}

View file

@ -29,15 +29,9 @@ in {
hyprland = { # Dynamic tiling window manager hyprland = { # Dynamic tiling window manager
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
package = (hyprland.packages.${pkgs.system}.default).override (o: { # package = ((hyprland.packages.${pkgs.system}.default).override (o: {
wlroots = o.wlroots.overrideAttrs (oa: { # });
patches = oa.patches ++ [
/home/vince/misc/DisplayLink_v2.patch
];
});
});
}; };
# waybar.enable = true; # Status bar
}; };
systemd.user.services = { systemd.user.services = {
@ -57,21 +51,12 @@ in {
serviceConfig.RestartSec = 1; serviceConfig.RestartSec = 1;
serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet"; serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
}; };
# waybar = {
# description = "Waybar as systemd service";
# wantedBy = [ "graphical-session.target" ];
# partOf = [ "graphical-session.target" ];
# script = "${pkgs.waybar}/bin/waybar";
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 1;
# };
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
ags # GTK shell for status bar and widgets ags # GTK shell for status bar and widgets
blueman # Bluetooth manager blueman # Bluetooth manager
# dunst # Notification daemon # dunst # Notification daemon
eww-wayland
firefox # My browser of choice firefox # My browser of choice
foot # Wayland native terminal foot # Wayland native terminal
fuzzel # Fuzzy finding menuing program fuzzel # Fuzzy finding menuing program
@ -86,6 +71,7 @@ in {
libnotify # Send messages to notification daemon libnotify # Send messages to notification daemon
libreoffice # MSOffice btfo libreoffice # MSOffice btfo
networkmanagerapplet # Wifi dropdown menu networkmanagerapplet # Wifi dropdown menu
nsxiv # Image viewer
nwg-displays nwg-displays
pinentry-rofi # Rofi frontend for pinentry program pinentry-rofi # Rofi frontend for pinentry program
pyprland # Plugin manager for Hyprland pyprland # Plugin manager for Hyprland
@ -103,6 +89,7 @@ in {
wl-clipboard # Copy/paste utility wl-clipboard # Copy/paste utility
wlr-randr # Xrandr substitute wlr-randr # Xrandr substitute
xwaylandvideobridge # Allows screensharing from XWayland programs xwaylandvideobridge # Allows screensharing from XWayland programs
zathura # Minimalist PDF reader
# GTK Themes # GTK Themes
lxappearance-gtk2 # Theme switcher lxappearance-gtk2 # Theme switcher