zaphyra's git: nixfiles

zaphyra's nixfiles

commit 9634c08fc16e6b43f8a61f3fd48c5ec21bfb6df5
parent 7041b0824477c81019e41d0d87833f5009ceac14
Author: Katja Ramona Sophie Kwast (zaphyra) <git@zaphyra.eu>
Date: Tue, 12 Aug 2025 21:16:04 +0200

add `airpodsctl`
6 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/config/home-manager/common/home.nix b/config/home-manager/common/home.nix
@@ -11,6 +11,7 @@
     inputs.niriFlake.homeModules.niri
     inputs.sopsNix.homeManagerModules.sops
     inputs.sherlock.homeManagerModules.default
+    inputs.airpodsctl.homeManagerModules.kairpodsd
   ];
 
   home.stateVersion = lib.mkDefault "25.05";
diff --git a/config/home-manager/zaphyra/configure/niri.nix b/config/home-manager/zaphyra/configure/niri.nix
@@ -35,6 +35,7 @@ in
       programs.overskride
     ]
     ++ (lib.optionals systemConfig.modules.hardware.bluetooth.enable [
+      programs.airpodsctl
     ]);
 
   home.persistence."/nix/persist/home/${config.home.username}".directories = [
diff --git a/config/home-manager/zaphyra/programs/airpodsctl.nix b/config/home-manager/zaphyra/programs/airpodsctl.nix
@@ -0,0 +1,14 @@
+{ config, pkgs, ... }:
+
+{
+
+  home.persistence."/nix/persist/home/${config.home.username}".directories = [
+    "kairpodsd/.config/kairpodsd/"
+    "kairpodsd/.local/share/kairpodsd/"
+  ];
+
+  services.kairpodsd.enable = true;
+
+  home.packages = [ pkgs.airpodsctl ];
+
+}
diff --git a/config/home-manager/zaphyra/services/waybar.nix b/config/home-manager/zaphyra/services/waybar.nix
@@ -37,6 +37,7 @@
           "custom/arrow2"
           "network"
           "wireplumber"
+          "custom/airpodsctl"
           "battery"
           "niri/language"
         ];

@@ -136,6 +137,8 @@
           ];
         };
 
+        "custom/airpodsctl" = {
+          exec = "${lib.getExe pkgs.airpodsctl} monitor --notify --format=waybar";
           return-type = "json";
           format = "󰋋 {icon} {percentage}%";
           format-icons = [

@@ -244,6 +247,7 @@
         padding: 0px 15px;
       }
 
+      #network, #wireplumber, #custom-airpodsctl, #battery, #language {
         background: rgba(255, 255, 255, 0.06);
         padding: 0px 15px;
       }
diff --git a/flake.lock b/flake.lock
@@ -1,5 +1,25 @@
 {
   "nodes": {
+    "airpodsctl": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1755025727,
+        "narHash": "sha256-27joNKYqJ7qx1nw0RI6snirbByo0872sSmPAf5YFqAY=",
+        "ref": "refs/heads/main",
+        "rev": "c0b2a65db3661012685adf02ef4efaece45766ac",
+        "revCount": 2,
+        "type": "git",
+        "url": "https://git.zaphyra.eu/airpodsctl"
+      },
+      "original": {
+        "type": "git",
+        "url": "https://git.zaphyra.eu/airpodsctl"
+      }
+    },
     "attic": {
       "inputs": {
         "crane": "crane",

@@ -978,6 +998,7 @@
     },
     "root": {
       "inputs": {
+        "airpodsctl": "airpodsctl",
         "deploy-rs": "deploy-rs",
         "disko": "disko",
         "diskoUnstable": "diskoUnstable",
diff --git a/flake.nix b/flake.nix
@@ -77,6 +77,7 @@
         inputs.oeffisearch.overlays.default
         inputs.things.overlays.default
         inputs.mqttWebUI.overlays.default
+        inputs.airpodsctl.overlays.default
       ];
 
       hosts = loadDir importLoader ./hosts;

@@ -312,6 +313,9 @@
     mqttWebUI.url = "git+https://git.zaphyra.eu/mqtt-webui";
     mqttWebUI.inputs.nixpkgs.follows = "nixpkgs";
 
+    airpodsctl.url = "git+https://git.zaphyra.eu/airpodsctl";
+    airpodsctl.inputs.nixpkgs.follows = "nixpkgs";
+
     firefoxGnomeTheme.flake = false;
     firefoxGnomeTheme.url = "github:rafaelmardojai/firefox-gnome-theme/v140";
   };