diff --git a/home/programs/graphical/wms/hyprland/config/exec.nix b/home/programs/graphical/wms/hyprland/config/exec.nix index 72a61a8..546b93c 100644 --- a/home/programs/graphical/wms/hyprland/config/exec.nix +++ b/home/programs/graphical/wms/hyprland/config/exec.nix @@ -1,8 +1,8 @@ -{pkgs, ...}: { +{ wayland.windowManager.hyprland.settings = { exec-once = [ - "${pkgs.systemd}/bin/systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - "${pkgs.systemd}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP" + # TODO: Add this (probably only vesktop) ]; }; } + diff --git a/home/programs/graphical/wms/hyprland/default.nix b/home/programs/graphical/wms/hyprland/default.nix index 3c6f834..c9026cf 100644 --- a/home/programs/graphical/wms/hyprland/default.nix +++ b/home/programs/graphical/wms/hyprland/default.nix @@ -8,10 +8,6 @@ hyprPkgs = (import ./packages {inherit pkgs;}); - # TODO: Switch to flake - hyprlandPkg = pkgs.hyprland; - xdgDesktopPortalHyprlandPkg = pkgs.xdg-desktop-portal-hyprland; - cfg = osConfig.myOptions.home-manager.wms.hyprland; in { imports = [ @@ -34,19 +30,10 @@ in { wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; - package = hyprlandPkg; systemd = { enable = true; variables = ["--all"]; }; }; - - xdg.portal = { - enable = true; - configPackages = [hyprlandPkg]; - extraPortals = [ - xdgDesktopPortalHyprlandPkg - ]; - }; }; } diff --git a/home/programs/graphical/wms/hyprland/packages/quick-record/quick-record.sh b/home/programs/graphical/wms/hyprland/packages/quick-record/quick-record.sh index e006c09..9e4c751 100644 --- a/home/programs/graphical/wms/hyprland/packages/quick-record/quick-record.sh +++ b/home/programs/graphical/wms/hyprland/packages/quick-record/quick-record.sh @@ -37,9 +37,7 @@ start_recording() { # Wee need 'y' stdin to confirm that we want to override the file # since mktemp creates a blank file there already - # TODO: The -x 420p is a temporary fix to address the recordings appearing - # corrupted in firefox/discord/... See: - echo "y" | wf-recorder -g "$geom" -f "$file" -x yuv420p + echo "y" | wf-recorder -g "$geom" -f "$file" # If wf-recorder process ends directly, rather than a trap being hit # we also want to run the save_file func diff --git a/home/programs/xdg/portal.nix b/home/programs/xdg/portal.nix index eefb925..bbca32f 100644 --- a/home/programs/xdg/portal.nix +++ b/home/programs/xdg/portal.nix @@ -4,11 +4,5 @@ extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; - # Specify which portals should be used by the individual interfaces - # see: - config.common = { - # Use this portal for every interface, unless a specific override is present - default = ["gtk"]; - }; }; } diff --git a/system/roles/workstation/default.nix b/system/roles/workstation/default.nix index 537612d..1c83f82 100644 --- a/system/roles/workstation/default.nix +++ b/system/roles/workstation/default.nix @@ -4,6 +4,5 @@ ./programs ./fonts.nix ./runners.nix - ./display ]; } diff --git a/system/roles/workstation/display/default.nix b/system/roles/workstation/display/default.nix deleted file mode 100644 index 638bb65..0000000 --- a/system/roles/workstation/display/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./wayland - ]; -} diff --git a/system/roles/workstation/display/wayland/default.nix b/system/roles/workstation/display/wayland/default.nix deleted file mode 100644 index a7be6a5..0000000 --- a/system/roles/workstation/display/wayland/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./wms - ./xdg-portals.nix - ./xwayland.nix - ./services.nix - ]; -} diff --git a/system/roles/workstation/display/wayland/services.nix b/system/roles/workstation/display/wayland/services.nix deleted file mode 100644 index 0cf06e4..0000000 --- a/system/roles/workstation/display/wayland/services.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (lib) mkIf getExe; - - cfgEnabled = config.myOptions.home-manager.wms.isWayland; -in { - config = mkIf cfgEnabled { - systemd.services = { - # Seat management daemon - # (Takes care of mediating access to shared devices (graphics, input), without requiring - # applications like Wayland compositors being granted root privileges) - seatd = { - enable = true; - description = "Seat management daemon"; - script = "${getExe pkgs.seatd} -g wheel"; - serviceConfig = { - Type = "simple"; - Restart = "always"; - RestartSec = "1"; - }; - wantedBy = ["multi-user.target"]; - }; - }; - }; -} diff --git a/system/roles/workstation/display/wayland/wms/default.nix b/system/roles/workstation/display/wayland/wms/default.nix deleted file mode 100644 index 3fbd598..0000000 --- a/system/roles/workstation/display/wayland/wms/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./hyprland - ]; -} diff --git a/system/roles/workstation/display/wayland/wms/hyprland/default.nix b/system/roles/workstation/display/wayland/wms/hyprland/default.nix deleted file mode 100644 index 4c190dd..0000000 --- a/system/roles/workstation/display/wayland/wms/hyprland/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (lib) mkIf; - - cfgEnabled = config.myOptions.home-manager.wms.hyprland.enable; - - # TODO: Switch to flake - hyprlandPkg = pkgs.hyprland; - xdgDesktopPortalHyprlandPkg = pkgs.xdg-desktop-portal-hyprland; -in { - config = mkIf cfgEnabled { - services.displayManager.sessionPackages = [hyprlandPkg]; - - xdg.portal = { - enable = true; - configPackages = [hyprlandPkg]; - extraPortals = [xdgDesktopPortalHyprlandPkg]; - }; - - programs.hyprland = { - enable = true; - package = hyprlandPkg; - portalPackage = xdgDesktopPortalHyprlandPkg; - }; - }; -} diff --git a/system/roles/workstation/display/wayland/xdg-portals.nix b/system/roles/workstation/display/wayland/xdg-portals.nix deleted file mode 100644 index 864b220..0000000 --- a/system/roles/workstation/display/wayland/xdg-portals.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - inherit (lib) mkIf; - - cfgEnabled = config.myOptions.home-manager.wms.isWayland; - cfgHyprlandEnabled = config.myOptions.home-manager.wms.hyprland.enable; -in { - config = mkIf cfgEnabled { - xdg.portal = { - enable = true; - - extraPortals = with pkgs; [ - xdg-desktop-portal-gtk - ]; - - # Specify which portals should be used by the individual interfaces - # see: - config.common = let - # Note: this assumes a wlroots based compositor if it's not hyprland - # which may not always actually be the case, however, I can't be bothered to handle - # everything here and I don't plan on moving WMs any time soon. - portal = if cfgHyprlandEnabled then "hyprland" else "wlr"; - in { - # Use this portal for every interface, unless a specific override is present - default = ["gtk"]; - - # Fix flameshot on hyprland / wlroots compositors - "org.freedesktop.impl.portal.Screencast" = [portal]; - "org.freedesktop.impl.portal.Screenshot" = [portal]; - }; - }; - }; -} diff --git a/system/roles/workstation/display/wayland/xwayland.nix b/system/roles/workstation/display/wayland/xwayland.nix deleted file mode 100644 index c70d8d0..0000000 --- a/system/roles/workstation/display/wayland/xwayland.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - config, - lib, - ... -}: let - inherit (lib) mkIf; - - cfgEnabled = config.myOptions.home-manager.wms.isWayland; -in { - config = mkIf cfgEnabled { - programs.xwayland.enable = true; - }; -}