From 0920cf080d0f65801c200605999235317c32ce81 Mon Sep 17 00:00:00 2001 From: voidarc Date: Sat, 11 Jul 2026 20:30:07 +0100 Subject: [PATCH] fixed wshowkeys setuid problems --- modules/features/hyprland/default.nix | 14 +++++----- modules/features/wshowkeys/default.nix | 37 ++++++++------------------ 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/modules/features/hyprland/default.nix b/modules/features/hyprland/default.nix index a92dd0f..44818b6 100644 --- a/modules/features/hyprland/default.nix +++ b/modules/features/hyprland/default.nix @@ -8,33 +8,34 @@ self', pkgs, ... - }: let + }: {config, ...}: let modules = with self.nixosModules; [ audio systemTheme ]; runtimePkgs = self'.packages.hyprland.passthru.runtimePackages; lib = pkgs.lib; + + runtimeTarget = name: pkg: + if config.security.wrappers ? ${name} + then "/run/wrappers/bin/${name}" + else lib.getExe pkg; in { imports = modules; - programs.hyprland = { enable = true; package = self'.packages.hyprland; }; - services.xserver.enable = true; security.polkit.enable = true; - environment.systemPackages = with pkgs; [ hyprlock gsettings-desktop-schemas ]; - system.activationScripts.hyprRuntimeEnv = lib.stringAfter ["specialfs"] '' mkdir -p /run/hypr-runtime-env/bin ${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: pkg: '' - ln -sfn ${lib.getExe pkg} /run/hypr-runtime-env/bin/${name} + ln -sfn ${runtimeTarget name pkg} /run/hypr-runtime-env/bin/${name} '') runtimePkgs)} ''; @@ -55,6 +56,7 @@ gotify-desktop = self'.packages.gotify-desktop; otter-launcher = self'.packages.otter-launcher; quickshell = self'.packages.quickshell; + wshowkeys = self'.packages.wshowkeys; waybar = self'.packages.waybar; wlogout = self'.packages.wlogout; way-edges = self'.packages.way-edges; diff --git a/modules/features/wshowkeys/default.nix b/modules/features/wshowkeys/default.nix index 3ec292a..8b7fbf9 100644 --- a/modules/features/wshowkeys/default.nix +++ b/modules/features/wshowkeys/default.nix @@ -1,32 +1,17 @@ -{ - inputs, - moduleWithSystem, - ... -}: { - flake.nixosModules.wshowkeys = moduleWithSystem ({inputs', ...}: { +{moduleWithSystem, ...}: { + flake.nixosModules.wshowkeys = moduleWithSystem ({ + self', + pkgs, + ... + }: let + lib = pkgs.lib; + in { programs.wshowkeys = { enable = true; - package = inputs'.wshowkeys.packages.default; + package = self'.packages.wshowkeys; }; }); - perSystem = { - pkgs, - inputs', - ... - }: { - packages.wshowkeys = inputs.wrappers.lib.wrapPackage ({...}: { - inherit pkgs; - package = inputs'.wshowkeys.packages.default; - flags = { - "-a" = ["right" "top"]; - "-F" = "'FiraMono Nerd Font 35'"; - "-s" = "'#cba6f7ff'"; - "-f" = " '#cdd6f4ff'"; - "-b" = "'#45475a99'"; - "-m" = "70"; - "-l" = "60"; - "-t" = "1000"; - }; - }); + perSystem = {inputs', ...}: { + packages.wshowkeys = inputs'.wshowkeys.packages.default; }; }