hyprland is giving me so much shit
This commit is contained in:
parent
85b427cb12
commit
00a045d0c1
6 changed files with 65 additions and 34 deletions
|
|
@ -59,7 +59,6 @@ with lib;
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
wayland
|
wayland
|
||||||
wayland-utils
|
wayland-utils
|
||||||
# xwayland
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
numix-cursor-theme
|
numix-cursor-theme
|
||||||
gnomeExtensions.vertical-workspaces
|
gnomeExtensions.vertical-workspaces
|
||||||
|
|
|
||||||
|
|
@ -70,8 +70,10 @@ with lib;
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wl-clip-persist
|
wl-clip-persist
|
||||||
wofi # application launcher
|
wofi # application launcher
|
||||||
nemo # file manager
|
nemo # file manager (x11)
|
||||||
feh # image viewer
|
# nautilus # file manager
|
||||||
|
feh # image viewer (x11)
|
||||||
|
# imv # image viewer
|
||||||
networkmanager # network management
|
networkmanager # network management
|
||||||
upower # power management
|
upower # power management
|
||||||
brightnessctl # screen/keyboard brightness control
|
brightnessctl # screen/keyboard brightness control
|
||||||
|
|
@ -91,13 +93,26 @@ with lib;
|
||||||
|
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# xwayland.enable = true;
|
# xwayland.enable = false;
|
||||||
withUWSM = true;
|
withUWSM = true;
|
||||||
|
|
||||||
# set the flake package
|
# set the flake package
|
||||||
package = hyprlandPkgs.hyprland;
|
package = hyprlandPkgs.hyprland;
|
||||||
# make sure to also set the portal package, so that they are in sync
|
# make sure to also set the portal package, so that they are in sync
|
||||||
portalPackage = hyprlandPkgs.xdg-desktop-portal-hyprland;
|
# This is set below now in xdf portal directly so we can also add things like gtk
|
||||||
|
# portalPackage = hyprlandPkgs.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = lib.mkForce [
|
||||||
|
hyprlandPkgs.xdg-desktop-portal-hyprland
|
||||||
|
hyprlandPkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
config.common.default = [
|
||||||
|
"hyprland"
|
||||||
|
"gtk"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
|
|
@ -110,14 +125,20 @@ with lib;
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
GTK_THEME = "Adwaita:dark";
|
GTK_THEME = "Adwaita:dark";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
XDG_SESSION_DESKTOP = "Hyprland";
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
|
||||||
CLUTTER_BACKEND = "wayland";
|
|
||||||
WLR_RENDERER = "vulkan";
|
WLR_RENDERER = "vulkan";
|
||||||
|
|
||||||
|
# Tell apps to run native wayland
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
||||||
|
GDK_BACKEND = "wayland,x11"; # GTK
|
||||||
|
QT_QPA_PLATFORM = "wayland;xcb"; # Qt 5/6
|
||||||
|
MOZ_ENABLE_WAYLAND = "1"; # Firefox
|
||||||
|
SDL_VIDEODRIVER = "wayland"; # SDL apps/games
|
||||||
|
CLUTTER_BACKEND = "wayland"; # You already have this
|
||||||
};
|
};
|
||||||
|
|
||||||
# Qt theming
|
# Qt theming
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,17 @@ in
|
||||||
{
|
{
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with hyprlandPkgs.hyprlandPlugins; [
|
xwayland.enable = osConfig.programs.hyprland.xwayland.enable;
|
||||||
hyprspace
|
# plugins = with hyprlandPkgs.hyprlandPlugins; [
|
||||||
];
|
# hyprspace
|
||||||
|
# ];
|
||||||
|
|
||||||
settings = lib.attrsets.recursiveUpdate {
|
settings = lib.attrsets.recursiveUpdate {
|
||||||
# Debug logs enabled when this is uncommented
|
# Debug logs enabled when this is uncommented
|
||||||
"debug:disable_logs" = false;
|
debug.disable_logs = false;
|
||||||
|
debug.disable_time = false;
|
||||||
|
|
||||||
|
exec-once = [ "pgrep waybar>/dev/null || waybar" ];
|
||||||
|
|
||||||
# Default monitor configuration
|
# Default monitor configuration
|
||||||
monitor = "monitor = , preferred, auto, 1";
|
monitor = "monitor = , preferred, auto, 1";
|
||||||
|
|
@ -144,7 +148,7 @@ in
|
||||||
|
|
||||||
bindr = [
|
bindr = [
|
||||||
# overview
|
# overview
|
||||||
"$mainMod, SUPER_L, overview:toggle"
|
# "$mainMod, SUPER_L, overview:toggle" $ hyprspace plugin
|
||||||
"$mainMod SHIFT, R, exec, systemctl --user restart hyprpanel.service"
|
"$mainMod SHIFT, R, exec, systemctl --user restart hyprpanel.service"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,14 +32,16 @@ in
|
||||||
global = {
|
global = {
|
||||||
Context.sockets = [
|
Context.sockets = [
|
||||||
"wayland"
|
"wayland"
|
||||||
"x11"
|
"fallback-x11"
|
||||||
];
|
];
|
||||||
|
|
||||||
Environment = {
|
Environment = {
|
||||||
XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
|
XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
|
||||||
GTK_THEME = "Adwaita:dark";
|
GTK_THEME = "Adwaita:dark";
|
||||||
# Force wayland as much as possible.
|
# Force wayland as much as possible.
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "wayland"; # or 'auto'
|
ELECTRON_OZONE_PLATFORM_HINT = "auto"; # or 'auto'
|
||||||
|
GTK_USE_PORTAL = "1";
|
||||||
|
OZONE_PLATFORM = "wayland";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"org.signal.Signal" = {
|
"org.signal.Signal" = {
|
||||||
|
|
@ -52,6 +54,11 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"com.google.Chrome" = {
|
||||||
|
Environment = {
|
||||||
|
CHROME_EXTRA_ARGS = "--enable-features=WaylandWindowDecorations --ozone-platform-hint=auto";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [
|
packages = [
|
||||||
"org.signal.Signal"
|
"org.signal.Signal"
|
||||||
"com.discordapp.Discord"
|
"dev.vencord.Vesktop"
|
||||||
"md.obsidian.Obsidian"
|
"md.obsidian.Obsidian"
|
||||||
"com.spotify.Client"
|
"com.spotify.Client"
|
||||||
"org.videolan.VLC"
|
"org.videolan.VLC"
|
||||||
|
|
|
||||||
|
|
@ -123,23 +123,23 @@ in
|
||||||
ringofstorms_common.desktopEnvironment.hyprland.extraOptions = hyprlandExtraOptions;
|
ringofstorms_common.desktopEnvironment.hyprland.extraOptions = hyprlandExtraOptions;
|
||||||
|
|
||||||
# User-level systemd service that follows your Hyprland session and watches for monitor changes
|
# User-level systemd service that follows your Hyprland session and watches for monitor changes
|
||||||
systemd.user.services.hyprland-move-workspaces = {
|
# systemd.user.services.hyprland-move-workspaces = {
|
||||||
description = "Keep workspaces 1–6 on main and 7–10 on secondary; react to monitor changes";
|
# description = "Keep workspaces 1–6 on main and 7–10 on secondary; react to monitor changes";
|
||||||
|
#
|
||||||
# Start/stop with Hyprland specifically
|
# # Start/stop with Hyprland specifically
|
||||||
wantedBy = [ "hyprland-session.target" ];
|
# wantedBy = [ "hyprland-session.target" ];
|
||||||
after = [ "hyprland-session.target" ];
|
# after = [ "hyprland-session.target" ];
|
||||||
partOf = [ "hyprland-session.target" ];
|
# partOf = [ "hyprland-session.target" ];
|
||||||
bindsTo = [ "hyprland-session.target" ];
|
# bindsTo = [ "hyprland-session.target" ];
|
||||||
# Only start once Hyprland's event socket exists
|
# # Only start once Hyprland's event socket exists
|
||||||
unitConfig.ConditionPathExistsGlob = "%t/hypr/*/.socket2.sock";
|
# unitConfig.ConditionPathExistsGlob = "%t/hypr/*/.socket2.sock";
|
||||||
|
#
|
||||||
serviceConfig = {
|
# serviceConfig = {
|
||||||
Type = "simple";
|
# Type = "simple";
|
||||||
ExecStart = "${moveScript}/bin/hyprland-move-workspaces";
|
# ExecStart = "${moveScript}/bin/hyprland-move-workspaces";
|
||||||
Restart = "always";
|
# Restart = "always";
|
||||||
RestartSec = "2s";
|
# RestartSec = "2s";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue