zaphyra's git: nixfiles

zaphyra's nixfiles

commit 9c91c74e5c02d3c88af23598b1fccdff6b9b557f
parent 387960832efea10c43536deadec379eb26c5fd73
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Thu, 18 Jun 2026 19:17:38 +0200

nixos/zpha/programs: add `librepods`
2 files changed, 47 insertions(+), 0 deletions(-)
M
nixosModules/zpha/profiles/graphical.nix
|
1
+
A
nixosModules/zpha/programs/librepods.nix
|
46
++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/nixosModules/zpha/profiles/graphical.nix b/nixosModules/zpha/profiles/graphical.nix
@@ -97,6 +97,7 @@
         swaylock.enable = true;
         vibepanel.enable = true;
         vicinae.enable = true;
+        librepods.enable = true;
 
         wpaperd.enable = true;
         shaderbg.enable = true;
diff --git a/nixosModules/zpha/programs/librepods.nix b/nixosModules/zpha/programs/librepods.nix
@@ -0,0 +1,46 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+
+{
+
+  options.zpha.programs.librepods.enable = lib.mkEnableOption "librepods";
+
+  config = lib.mkIf config.zpha.programs.librepods.enable {
+    users.users.zaphyra.maid = {
+      packages = [ pkgs.zpha.librepods-rust ];
+      systemd.services.librepods = {
+        after = [ "niri-session.target" ];
+        partOf = [ "niri-session.target" ];
+        wantedBy = [ "niri-session.target" ];
+
+        environment = lib.mkForce { };
+
+        unitConfig.ConditionEnvironment = "WAYLAND_DISPLAY";
+
+        serviceConfig = {
+          Restart = "on-failure";
+          ExecStart = "${lib.getExe pkgs.zpha.librepods-rust} --start-minimized";
+        };
+      };
+    };
+
+    zpha.programs.niri.settings.window-rule = lib.singleton {
+      match = lib.singleton {
+        _props.title = "LibrePods$";
+      };
+
+      open-floating = true;
+      default-column-width.proportion = 0.4;
+      default-window-height.proportion = 0.4;
+
+      background-effect.blur = true;
+      background-effect.xray = false;
+      opacity = 0.75;
+    };
+  };
+
+}