summaryrefslogtreecommitdiff
path: root/home-manager/features/gui/desktops/niri/parts/swayosd.nix
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-10-27 14:23:32 -0400
committertriethyl <triethylammonium@pm.me>2025-10-27 14:23:32 -0400
commit939d761c32904c408290d6764930d31e0cc890ab (patch)
treeb25b0a73d76228f910ebfcb2979b0afa8dc20bd2 /home-manager/features/gui/desktops/niri/parts/swayosd.nix
parentfe7c52513cb49b7e56968bb1d759c7428d1e97f6 (diff)
home manager: cleaned up and edited desktop
Diffstat (limited to 'home-manager/features/gui/desktops/niri/parts/swayosd.nix')
-rw-r--r--home-manager/features/gui/desktops/niri/parts/swayosd.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/home-manager/features/gui/desktops/niri/parts/swayosd.nix b/home-manager/features/gui/desktops/niri/parts/swayosd.nix
new file mode 100644
index 0000000..6cba218
--- /dev/null
+++ b/home-manager/features/gui/desktops/niri/parts/swayosd.nix
@@ -0,0 +1,52 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.features.gui.desktops.niri.parts.swayosd;
+ aes = config.aesthetics;
+
+ swayosd-patched = pkgs.swayosd.overrideAttrs (old: {
+ postInstall = ''
+ mkdir -p $out/share/dbus-1/services
+ mv $out/share/dbus-1/system-services/org.erikreider.swayosd.service \
+ $out/share/dbus-1/services/org.erikreider.swayosd.service
+ rm -r $out/share/dbus-1/system*
+ '';
+ });
+in {
+ options.features.gui.desktops.niri.parts.swayosd.enable = lib.mkEnableOption "swayosd";
+ config = lib.mkIf cfg.enable {
+ home.packages = [ pkgs.swayosd ];
+ dbus.packages = [ swayosd-patched ];
+ services.swayosd = {
+ enable = true;
+ topMargin = 0.5;
+ stylePath = with aes.scheme; (builtins.toFile "style.scss" ''
+ window#osd {
+ border-radius: 4px;
+ border-width: 3px;
+ border-style: solid;
+ border-color: #${base0C};
+ background-color: #${base00};
+ color: #${base05};
+ }
+ window#osd #container {
+ margin: 6px;
+ padding: 2px;
+ background: transparent;
+ }
+ window#osd trough {
+ margin-right: 10px;
+ }
+ window#osd image {
+ -gtk-icon-transform: scale(0.7);
+ }
+ * {
+ opacity: 1;
+ }
+ '');
+ };
+ };
+}