dot(niri): wpctl with notification

This commit is contained in:
js0ny 2026-03-15 21:43:13 +00:00
parent 1b5c26bc04
commit f740b78081
4 changed files with 158 additions and 91 deletions

191
nixcfgs/flake.lock generated
View file

@ -100,11 +100,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771987897, "lastModified": 1772764582,
"narHash": "sha256-5pNQFGxG3fxS9pGnNBJjT76veotKIKq2XpAVFGAhCdI=", "narHash": "sha256-hSwjmpXHFqzSXrndVekA0IheKrbC7wi0IbfZTYwlmXw=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "b0d68f0a1c48fa138d6fde94dcbecea801a86a01", "rev": "4bcd42f482d038b98145b0b03388244b68b7d35d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -122,11 +122,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1772330657, "lastModified": 1773574600,
"narHash": "sha256-cWblprYsDUeAWA57xAqxIjNxXvDI/rqYn6TFp2OPi/k=", "narHash": "sha256-RsBgiq93SjlYVHSYtz/ESALa7WgbLu+xcH0oTJRjztQ=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "shell", "repo": "shell",
"rev": "278fd4a4ed1bfb42c3fe197ff38b587539c012aa", "rev": "377778596acf90451d1bd19f0c03b5f1c0467958",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -140,11 +140,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1772153824, "lastModified": 1773403535,
"narHash": "sha256-T65qXmlcD9qFpPTi+mOXsn4dIkO2N8Ls67nqmuzepv0=", "narHash": "sha256-47MZaFrHxNO8tVUAmtVnerXUw2WWVluBOiU9MulN/yM=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "4b0f5b7bf7b3eeb484d49524f3c9791864ab9362", "rev": "d45b5665cc638bad1b794350de02f4dd41b0bb47",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -174,11 +174,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1770910218, "lastModified": 1773079031,
"narHash": "sha256-IyHoHbhLFuIgFG+n7dqHwJaXuNnRaEsxCfAsfudV1KY=", "narHash": "sha256-RvCzINnVISBT3d0F1DoIcQFbQsbRJISW9qZeKTzmNaA=",
"owner": "abenz1267", "owner": "abenz1267",
"repo": "elephant", "repo": "elephant",
"rev": "c354a596ec7a7e34e9c26478dc7ef9680bc23e6d", "rev": "53afe39cef252010f7c55bd33c5bae6dd50dcf0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -195,11 +195,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772672954, "lastModified": 1773537505,
"narHash": "sha256-OGEqiNZnLjQd0R2Ei+0QW9Y+t2MZy8vAOS8caNiQxbw=", "narHash": "sha256-MsOpMvnnUjYPAtyApi93HcoHD91pAiCXHrjOCG3F7zY=",
"owner": "petrkozorezov", "owner": "petrkozorezov",
"repo": "firefox-addons-nix", "repo": "firefox-addons-nix",
"rev": "8c947cfbce2f6a769c0fcb736fd2eb14ff83b64b", "rev": "4e6bf49ad4fb8c9ddbb1b4fe2ef63b1b4ab4609a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -285,11 +285,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765835352, "lastModified": 1772408722,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9", "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -440,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765774562, "lastModified": 1771131391,
"narHash": "sha256-UQhfCggNGDc7eam+EittlYmeW89CZVT1KkFIHZWBH7k=", "narHash": "sha256-HPBNYf7HiKtBVy7/69vKpLYHX6wTcUxndxmybzDlXP8=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "edcbb19948b6caf1700434e369fde6ff9e6a3c93", "rev": "0b152e0f7c5cc265a529cd63374b80e2771b207b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -460,11 +460,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772633327, "lastModified": 1773608492,
"narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=", "narHash": "sha256-QZteyExJYSQzgxqdsesDPbQgjctGG7iKV/6ooyQPITk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc", "rev": "9a40ec3b78fc688d0908485887d355caa5666d18",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -498,11 +498,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1772698812, "lastModified": 1773577199,
"narHash": "sha256-7+K/VaZ7TXUeUGSYshg8wC3UsRZHB+M4x6r38Q1B79c=", "narHash": "sha256-Z77lGBRlueA+igtScByJ0soMRnEy5T/XG9w661OCPaw=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "5641625ef950f024e3e0e3f38bb91f876290c0be", "rev": "afc45f69929e5b5ab23d903b24532cfe718de6be",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -531,11 +531,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1772207631, "lastModified": 1773130184,
"narHash": "sha256-Jkkg+KqshFO3CbTszVVpkKN2AOObYz+wMsM3ONo1z5g=", "narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "e708f546153f74acf33eb183b3b2992587a701e5", "rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -551,11 +551,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772379624, "lastModified": 1773000227,
"narHash": "sha256-NG9LLTWlz4YiaTAiRGChbrzbVxBfX+Auq4Ab/SWmk4A=", "narHash": "sha256-zm3ftUQw0MPumYi91HovoGhgyZBlM4o3Zy0LhPNwzXE=",
"owner": "nix-darwin", "owner": "nix-darwin",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "52d061516108769656a8bd9c6e811c677ec5b462", "rev": "da529ac9e46f25ed5616fd634079a5f3c579135f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -587,11 +587,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772341813, "lastModified": 1773552174,
"narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=", "narHash": "sha256-mHSRNrT1rjeYBgkAlj07dW3+1nFEgAd8Gu6lgyfT9DU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f", "rev": "8faeb68130df077450451b6734a221ba0d6cde42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -612,11 +612,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773046894, "lastModified": 1773607491,
"narHash": "sha256-Hf5Q6gkaSXojSu9neW0dxvefUc3aA2T8ZQLTdGKIGOU=", "narHash": "sha256-EQ4R6eSwnlpVjRrcfnIPlenCrnumkKU5mA0MkzkYaMo=",
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-openclaw", "repo": "nix-openclaw",
"rev": "b39fc7f507097858273bda50834c6ab7367d7b09", "rev": "4136401fbfbed632df86825dfdd4bac2f8d2b285",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -630,11 +630,11 @@
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1773038583, "lastModified": 1773561580,
"narHash": "sha256-E9Z/7U2ozB7nvCUZp9QlWllFl1yNXaInnuBSiRV5qh4=", "narHash": "sha256-wT0bKTp45YnMkc4yXQvk943Zz/rksYiIjEXGdWzxnic=",
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-steipete-tools", "repo": "nix-steipete-tools",
"rev": "561592b0b1aa9b53595618fd867be633a192da54", "rev": "cd4c429ff3b3aaef9f92e59812cf2baf5704b86f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -647,14 +647,15 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6",
"nixpkgs-nixcord": "nixpkgs-nixcord"
}, },
"locked": { "locked": {
"lastModified": 1772671545, "lastModified": 1773597570,
"narHash": "sha256-7CFg6ppK000u+bd87+6HSVkFSC8PKm/N22MMZMtYla4=", "narHash": "sha256-A6KsirR9kxR1wVFTr8aagk5vUT3rvKTf79Qht6YkxUA=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "9c048e21aa13ab529f00ab1f13c3793ba0b49b7c", "rev": "1cc0ddb766e459b7187e6aeb8b2e046d37361dc4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -672,11 +673,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769288622, "lastModified": 1773434720,
"narHash": "sha256-GaDPnzDQAx5WRi12XVttCHsVw0VkOMYNpniT7KHYNfk=", "narHash": "sha256-mK4yEIF+qF7qtAzC5x8GU8kh5lY4v397azT+m1nBvRQ=",
"owner": "nixpak", "owner": "nixpak",
"repo": "nixpak", "repo": "nixpak",
"rev": "4276954ad4f877d79801fd8952af38a3370bcb65", "rev": "1bf4e77b07ce445779894f17ab21016db5f58a4e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -731,13 +732,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-nixcord": {
"locked": { "locked": {
"lastModified": 1772598333, "lastModified": 1773222311,
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=", "narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239", "rev": "0590cd39f728e129122770c029970378a79d076a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1773524153,
"narHash": "sha256-Jms57zzlFf64ayKzzBWSE2SGvJmK+NGt8Gli71d9kmY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9f278faa1d0c2fc835bd331d4666b59b505a410",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -797,11 +814,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1771848320, "lastModified": 1773122722,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993", "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -829,11 +846,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1772624091, "lastModified": 1773389992,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", "rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -861,11 +878,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1772465433, "lastModified": 1773222311,
"narHash": "sha256-ywy9troNEfpgh0Ee+zaV1UTgU8kYBVKtvPSxh6clYGU=", "narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c581273b8d5bdf1c6ce7e0a54da9841e6a763913", "rev": "0590cd39f728e129122770c029970378a79d076a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -877,11 +894,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1772674223, "lastModified": 1773507054,
"narHash": "sha256-/suKbHSaSmuC9UY7G0VRQ3aO+QKqxAQPQ19wG7QNkF8=", "narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "66d9241e3dc2296726dc522e62dbfe89c7b449f3", "rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -893,11 +910,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1772624091, "lastModified": 1773389992,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", "rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -929,11 +946,11 @@
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1772725591, "lastModified": 1773608735,
"narHash": "sha256-I5WiAHsTkgUNOEtNvysNC7zVt4VNV0Ve3qsuiTQ9RiI=", "narHash": "sha256-dqaylgm5x/cjyqo/V1kAsiyQQ5S6/Kc8QGBAUem9nlg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "3567b1d67fc040f0a9206b1824069b68fe172f05", "rev": "21d9c792956edffe574411dcf08ea1429175e07a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -998,11 +1015,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771926182, "lastModified": 1772925576,
"narHash": "sha256-QbXuSLhiSxOq6ydBL3+KGe1aiYWBW+e3J6qjJZaRMq0=", "narHash": "sha256-mMoiXABDtkSJxCYDrkhJ/TrrJf5M46oUfIlJvv2gkZ0=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "cddb4f061bab495f4473ca5f2c571b6c710efef7", "rev": "15a84097653593dd15fad59a56befc2b7bdc270d",
"revCount": 744, "revCount": 750,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@ -1044,11 +1061,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772495394, "lastModified": 1773550941,
"narHash": "sha256-hmIvE/slLKEFKNEJz27IZ8BKlAaZDcjIHmkZ7GCEjfw=", "narHash": "sha256-wa/++bL2QeMUreNFBZEWluQfOYB0MnQIeGNMuaX9sfs=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "1d9b98a29a45abe9c4d3174bd36de9f28755e3ff", "rev": "c469b6885f0dcd5c7c56bd935a0f08dbcd9e79e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1269,11 +1286,11 @@
"systems": "systems_6" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1771062828, "lastModified": 1773212610,
"narHash": "sha256-y1jBFFO0u+V21y3YldHZozrDwVJVrdC+o3c4M8/rasU=", "narHash": "sha256-jYvDe44MLx444BfiO1EtCKgHoKfXeIG1DvAw7P2qCrY=",
"owner": "abenz1267", "owner": "abenz1267",
"repo": "walker", "repo": "walker",
"rev": "19b1104585305e0806b842af341630f72038a4b9", "rev": "04ec7aa1b0cf2524370d99d43283c3050178a813",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1340,11 +1357,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1772429643, "lastModified": 1773499041,
"narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=", "narHash": "sha256-XZ4/tVdLeAYDgKe4JD4C7yYUKydMxwt8c2j6APFWcIc=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2", "rev": "309d8e2a29953f7465dc14c939e2afe4682c0aa9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1360,11 +1377,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772685307, "lastModified": 1773290160,
"narHash": "sha256-5xthZHeqwBeXNhnRIlxnCuaZLky0SZ6vQsxtd+eqhTU=", "narHash": "sha256-u09eF4Oafi+OIbTtKe/EWil26q1glcTATiSA7dF1oCI=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "dc92d88524ee83308795bc90f6a9f1d965265aaa", "rev": "c7cb51b30960757ed9fb8eb28567b32585d0a688",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -61,16 +61,19 @@ in {
# spawn-sh "cliphist list | ${launcher} -dmenu | cliphist decode | wl-copy"; # spawn-sh "cliphist list | ${launcher} -dmenu | cliphist decode | wl-copy";
spawn "${launcher}" "-m" "clipboard"; spawn "${launcher}" "-m" "clipboard";
# See ../volume-notify.nix
"XF86AudioRaiseVolume".allow-when-locked = true; "XF86AudioRaiseVolume".allow-when-locked = true;
"XF86AudioRaiseVolume".action = "XF86AudioRaiseVolume".action =
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; spawn "volume-notify" "up";
"XF86AudioLowerVolume".allow-when-locked = true; "XF86AudioLowerVolume".allow-when-locked = true;
"XF86AudioLowerVolume".action = "XF86AudioLowerVolume".action =
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; spawn "volume-notify" "down";
"XF86AudioMute".allow-when-locked = true; "XF86AudioMute".allow-when-locked = true;
"XF86AudioMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; "XF86AudioMute".action =
spawn "volume-notify" "mute";
"XF86AudioMicMute".allow-when-locked = true; "XF86AudioMicMute".allow-when-locked = true;
"XF86AudioMicMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; "XF86AudioMicMute".action =
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
"XF86MonBrightnessUp" = { "XF86MonBrightnessUp" = {
action = spawn "brightnessctl" "set" "10%+"; action = spawn "brightnessctl" "set" "10%+";

View file

@ -48,6 +48,7 @@ in {
./sunsetr.nix ./sunsetr.nix
./systemd.nix ./systemd.nix
./dunst.nix ./dunst.nix
./volume-notify.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
swayidle # Screensaver swayidle # Screensaver

View file

@ -0,0 +1,46 @@
{pkgs, ...}: let
volume-notify = pkgs.writeShellApplication {
name = "volume-notify";
runtimeInputs = with pkgs; [
wireplumber
gawk
gnugrep
libnotify
];
text = ''
if [ $# -eq 0 ]; then
echo "Usage: volume-notify {up|down|mute}"
exit 1
fi
case "$1" in
up)
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+
;;
down)
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-
;;
mute)
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
;;
*)
echo "Invalid argument: $1"
exit 1
;;
esac
if wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -q 'MUTED'; then
TEXT="Volume: Muted"
else
VOLUME=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print $2 * 100}')
TEXT="Volume: ''${VOLUME}%"
fi
notify-send -h string:x-canonical-private-synchronous:volume -t 1500 "🔊 Audio" "$TEXT"
'';
};
in {
home.packages = [volume-notify];
}