From 4bc88c8d13f0ff20fd7bfe76619dfd743089f365 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Thu, 30 Jan 2025 13:42:26 +0100 Subject: [PATCH 1/7] hyprland display NxXPS --- home-modules/hyprland.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix index 8c49123..44a9d43 100755 --- a/home-modules/hyprland.nix +++ b/home-modules/hyprland.nix @@ -13,7 +13,7 @@ let scale = "1.0"; }; second = { - name = "DP-2"; + name = "DP-1"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; From e5e3eaaff4dccf1ef3b0f855824fa32f8d91ee81 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Thu, 30 Jan 2025 13:42:38 +0100 Subject: [PATCH 2/7] cleanup firefox userchrome --- home-modules/firefox.nix | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/home-modules/firefox.nix b/home-modules/firefox.nix index 8895660..7524dd9 100644 --- a/home-modules/firefox.nix +++ b/home-modules/firefox.nix @@ -122,18 +122,6 @@ } } - @-moz-document domain(youtube.com) { - #background, #chips-wrapper, ytd-mini-guide-entry-renderer { - background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important; - backdrop-filter: blur(${blur}px); - border: ${builtins.toString rice.border-width} solid ${border}; - } - body, html, ytd-app, ytd-mini-guide-renderer, div#content-container, #guide-content.ytd-app, #guide-wrapper, div#contentContainer { - background-color: transparent !important; - border: ${builtins.toString rice.border-width} solid ${border}; - } - } - @-moz-document domain(reddit.com) { header { background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important; @@ -221,7 +209,7 @@ } } - @-moz-document domain(nx2.site) { + @-moz-document url-prefix("https://nx2.site/") { html { background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important; background-repeat: repeat !important; @@ -229,7 +217,13 @@ } } - @-moz-document domain(pw.nx2.site) { + @-moz-document url-prefix("pw.nx2.site") { + html { + background: black; + } + } + + @-moz-document url-prefix("pw.nx2.site") { html { background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important; background-repeat: repeat !important; From feb2f933609db65db2d0a1c20c12a56ec2340cb1 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Fri, 31 Jan 2025 12:44:31 +0100 Subject: [PATCH 3/7] flake bump --- flake.lock | 248 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 146 insertions(+), 102 deletions(-) diff --git a/flake.lock b/flake.lock index ee23fea..3b0f0c7 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1734671517, - "narHash": "sha256-rTKZlNZP13zIy8eyHiTbCN15rON0FG9S8zxRE7jH+Ak=", + "lastModified": 1737235749, + "narHash": "sha256-YQgW4QifYIcNaFF4nMw0LpllXn0rhk/Yb6cwyH3PB9o=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "6d49cb495c3b0364fb6c4b50ab4c04a864aa6c43", + "rev": "1b5865f4ac9a04ba614df50de7acfaa40dcb852f", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1734906446, - "narHash": "sha256-6OWluVE2A8xi+8V3jN9KA72RCgJjYdyyuLBUjxZ2q2U=", + "lastModified": 1737636397, + "narHash": "sha256-F5MbBj3QVorycVSFE9qjuOTLtIQBqt2VWbXa0uwzm98=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "eecb74dc79bb6752a2a507e6edee3042390a6091", + "rev": "7fe006981fae53e931f513026fc754e322f13145", "type": "github" }, "original": { @@ -237,11 +237,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -279,11 +279,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735943291, - "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=", + "lastModified": 1737779447, + "narHash": "sha256-+iVqQXAUJshUYgxOHfke54Ux4f/aggl1yub86KNx2tE=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018", + "rev": "71e62f96fa4d286eda835048428d5be96e9f87c1", "type": "github" }, "original": { @@ -365,11 +365,11 @@ ] }, "locked": { - "lastModified": 1735344290, - "narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "613691f285dad87694c2ba1c9e6298d04736292d", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -395,11 +395,11 @@ ] }, "locked": { - "lastModified": 1734906540, - "narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=", + "lastModified": 1737634937, + "narHash": "sha256-Ffw4ujFpi++6pPHe+gCBOfDgAoNlzVPZN6MReC1beu8=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "69270ba8f057d55b0e6c2dca0e165d652856e613", + "rev": "9c5dd1f7c825ee47f72727ad0a4e16ca46a2688e", "type": "github" }, "original": { @@ -424,11 +424,11 @@ ] }, "locked": { - "lastModified": 1734906236, - "narHash": "sha256-vH/ysV2ONGQgYZPtcJKwc8jJivzyVxru2aaOxC20ZOE=", + "lastModified": 1737985436, + "narHash": "sha256-zx8FdI4zr2GhNyD1YGAqa2ymodAObTSAdwuWwVucewo=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "6dea3fba08fd704dd624b6d4b261638fb4003c9c", + "rev": "23783b96036f5506fdaf8b2250a1ef849d57f0d3", "type": "github" }, "original": { @@ -453,11 +453,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1735946701, - "narHash": "sha256-MpFsLND0kN2KQTulDXQCYZC1j2h6wWMJdq6SQ5riJ5M=", + "lastModified": 1738010718, + "narHash": "sha256-zzNu+VS2KYnuxiT3hUZIFDczQdnCkTHrPh2QZliPnXQ=", "ref": "refs/heads/main", - "rev": "60f069d54015fec66e63f1ff7e6ff26ddb349976", - "revCount": 5625, + "rev": "5fd90548dc99d79dd2677e027a620c8ada9f4869", + "revCount": 5747, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -485,11 +485,11 @@ ] }, "locked": { - "lastModified": 1735838245, - "narHash": "sha256-dA2s+KFo6+TmYtQoXWfxQ8XukN6JQ0I0VoraG9zD7/I=", + "lastModified": 1738011374, + "narHash": "sha256-WSgu+IWBUhUZdnrdx19yE4afevtheDV88Q6kawsJ1pE=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "920af33577a889772e96a067130252df5674ca8a", + "rev": "014003b2bd3744dfabb8c2c20a80e89f721be238", "type": "github" }, "original": { @@ -510,11 +510,11 @@ ] }, "locked": { - "lastModified": 1735734474, - "narHash": "sha256-9OV4lOqrEJVLdOrpNN/9msNwAhI6FQTu4N7fufilG08=", + "lastModified": 1737556638, + "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "271df559dd30e4bc5ec6af02d017ac0aaabd63a7", + "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5", "type": "github" }, "original": { @@ -523,10 +523,49 @@ "type": "github" } }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, "hyprland-qtutils": { "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], "hyprutils": [ "hyprland", + "hyprland-qtutils", + "hyprlang", "hyprutils" ], "nixpkgs": [ @@ -539,11 +578,11 @@ ] }, "locked": { - "lastModified": 1734906472, - "narHash": "sha256-pWPRv/GA/X/iAwoE6gMNUqn/ZeJX1IeLPRpZI0tTPK0=", + "lastModified": 1737981711, + "narHash": "sha256-lh6cL5D8nPplB3WovCQjLUZ7k7MViiBrMlpkfm4R7/c=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "c77109d7e1ddbcdb87cafd32ce411f76328ae152", + "rev": "96bf0677fa9cd13508294e3d4559dfbbc8beff73", "type": "github" }, "original": { @@ -568,11 +607,11 @@ ] }, "locked": { - "lastModified": 1734906259, - "narHash": "sha256-P79t/7HbACO4/PuJBroGpTptvCWJtXTv+gWsF+sM6MI=", + "lastModified": 1737634606, + "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "0404833ea18d543df44df935ebf1b497310eb046", + "rev": "f41271d35cc0f370d300413d756c2677f386af9d", "type": "github" }, "original": { @@ -584,14 +623,15 @@ "hyprswitch": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735862179, - "narHash": "sha256-s0Sr9t2Mu7tV1+nWm/I0BarfAwgMdtSelMXE0UHhfZw=", + "lastModified": 1736298372, + "narHash": "sha256-FSl0UFtnQARckhZCBQSCDDkkFYoJrYW8JvkJjo3zy5c=", "owner": "h3rmt", "repo": "hyprswitch", - "rev": "0afa2f8e8295952942ae7259c8bc5830befe9dc6", + "rev": "d583793c7e45d424161402aa98f59d5099e3fa55", "type": "github" }, "original": { @@ -613,11 +653,11 @@ ] }, "locked": { - "lastModified": 1735316583, - "narHash": "sha256-AiiUwHWHfEdpFzXy7l1x3zInCUa1xcRMrbZ1XRSkzwU=", + "lastModified": 1737978343, + "narHash": "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "8f15d45b120b33712f6db477fe5ffb18034d0ea8", + "rev": "6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab", "type": "github" }, "original": { @@ -638,11 +678,11 @@ ] }, "locked": { - "lastModified": 1734793513, - "narHash": "sha256-rrrHcXapXJvGFqX+L/Bb0182L25jofAZ0fm1FInvrTQ=", + "lastModified": 1735493474, + "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "4d7367b6eee87397e2dbca2e78078dd0a4ef4c61", + "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", "type": "github" }, "original": { @@ -659,7 +699,7 @@ "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_3", "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1682802423, @@ -678,11 +718,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735291276, - "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", + "lastModified": 1737885589, + "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", + "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", "type": "github" }, "original": { @@ -694,11 +734,11 @@ }, "nixpkgs-latest": { "locked": { - "lastModified": 1735994357, - "narHash": "sha256-I41lP5N2rrROxlJ5hlv8LR8TpcvZ9P7LfzBGNZSKGpc=", + "lastModified": 1738013187, + "narHash": "sha256-WZwQyOzpRx8xdrKbbQ8FRGZi2qeeF3/swP7+ZCZHWJ8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a8f36e39dcd9ac6f76c9ca5a9856401fd322d464", + "rev": "e6b1a3bd78c9577f25017e413bd40c4990d3ce47", "type": "github" }, "original": { @@ -737,22 +777,6 @@ } }, "nixpkgs-stable_2": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { "locked": { "lastModified": 1678872516, "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", @@ -786,11 +810,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1737885589, + "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", "type": "github" }, "original": { @@ -832,11 +856,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1735922141, - "narHash": "sha256-vk0xwGZSlvZ/596yxOtsk4gxsIx2VemzdjiU8zhjgWw=", + "lastModified": 1737885640, + "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d29ab98cd4a70a387b8ceea3e930b3340d41ac5a", + "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7", "type": "github" }, "original": { @@ -847,11 +871,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1729265718, - "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", + "lastModified": 1737003892, + "narHash": "sha256-RCzJE9wKByLCXmRBp+z8LK9EgdW+K+W/DXnJS4S/NVo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", + "rev": "ae06b9c2d83cb5c8b12d7d0e32692e93d1379713", "type": "github" }, "original": { @@ -884,15 +908,14 @@ "nixpkgs": [ "hyprland", "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" + ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -916,7 +939,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1681413034, @@ -951,6 +974,27 @@ } }, "rust-overlay": { + "inputs": { + "nixpkgs": [ + "hyprswitch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735784864, + "narHash": "sha256-tIl5p3ueaPw7T5T1UXkLc8ISMk6Y8CI/D/rd0msf73I=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "04d5f1836721461b256ec452883362c5edc5288e", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "flake-utils": [ "lanzaboote", @@ -975,7 +1019,7 @@ "type": "github" } }, - "rust-overlay_2": { + "rust-overlay_3": { "inputs": { "nixpkgs": [ "yazi", @@ -983,11 +1027,11 @@ ] }, "locked": { - "lastModified": 1729391507, - "narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=", + "lastModified": 1737080704, + "narHash": "sha256-n+J2h9GM9ZpFOQUmtZoCr1+DFF/iO5UlmLJeHIxbZGY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "784981a9feeba406de38c1c9a3decf966d853cca", + "rev": "f9953fe89f8b65401fc4d4a288940bc2cb072949", "type": "github" }, "original": { @@ -1003,11 +1047,11 @@ ] }, "locked": { - "lastModified": 1735844895, - "narHash": "sha256-CIRlqX9tBK2awJkmVu2cKuap/0QziDXStQZ/u/+e8Z4=", + "lastModified": 1737411508, + "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "24d89184adf76d7ccc99e659dc5f3838efb5ee32", + "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", "type": "github" }, "original": { @@ -1134,11 +1178,11 @@ ] }, "locked": { - "lastModified": 1734907020, - "narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=", + "lastModified": 1737634991, + "narHash": "sha256-dBAnb7Kbnier30cA7AgxVSxxARmxKZ1vHZT33THSIr8=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "d7f18dda5e511749fa1511185db3536208fb1a63", + "rev": "e09dfe2726c8008f983e45a0aa1a3b7416aaeb8a", "type": "github" }, "original": { @@ -1151,14 +1195,14 @@ "inputs": { "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs_5", - "rust-overlay": "rust-overlay_2" + "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1735863514, - "narHash": "sha256-9aoPsRhJ6Db2khf/wf+AlR+J1dlWLg5sFNMv3k5NPmg=", + "lastModified": 1738010151, + "narHash": "sha256-9kcGpfbl98SUrQT9Dj0TSj334LXSviGP1SI4P76QFYo=", "owner": "sxyazi", "repo": "yazi", - "rev": "7d993c1517cfeffa6938e8056431e235f2dee186", + "rev": "c061397a09bb08e293317f5b93dc870d453af9ef", "type": "github" }, "original": { @@ -1178,11 +1222,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1735511552, - "narHash": "sha256-SCa+e+Iw923KmC7UJR/v61GMfTILucgCpjxbsbjGBNg=", + "lastModified": 1737417368, + "narHash": "sha256-JExM3nZwg07iMhXDQSIXc5KmVqbBRA4IfNgs1gFmneg=", "owner": "lordkekz", "repo": "nix-yazi-plugins", - "rev": "505536399cab575b3baa6cfb7bba39edfd38bf5d", + "rev": "c251d3db84f3a10f95993112132fe5ffc37a279f", "type": "github" }, "original": { From 545b61a79f80837b81d33a6a9bd41fb5c36208b3 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Mon, 17 Feb 2025 11:31:59 +0100 Subject: [PATCH 4/7] better hyprland rules --- home-modules/hyprland.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix index 44a9d43..50aaa01 100644 --- a/home-modules/hyprland.nix +++ b/home-modules/hyprland.nix @@ -259,13 +259,23 @@ in { ]; windowrulev2 = [ - "opacity ${transparency},class:^(com.chatterino.*)$" "bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1" + "noanim, class:^(presenter)$" # sent "float, class:^(presenter)$" # sent + "noanim, class:^(imv)$" "float, class:^(imv)$" "fullscreen, class:^(imv)$" + + # "float, initialTitle:^(Edit Item)$" # thunderbid calendar + # "dimaround on, initialTitle:^(Edit Item)$" # thunderbid calendar + "float,class:^(thunderbird)$" + # "float,class:^(thunderbird)$,title:^(.*)(Reminder)(.*)$" + # "float,class:^(thunderbird)$,title:^About(.*)$" + # "float,class:^(thunderbird)$,title:^(Check Spelling)$" + + "center 1,class:^(gimp)$" ] ++ [ "bordersize 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]" @@ -287,7 +297,6 @@ in { "opacity ${transparency}, discord" "opacity ${transparency}, vesktop" "opacity ${transparency}, Element" - # "opacity ${transparency}, thunderbird" "opacity ${transparency}, lutris" "opacity ${transparency}, element" # "opacity ${transparency}, ^([sS]potify)$" @@ -402,7 +411,7 @@ in { "SUPER SHIFT, T, exec, ${terminal-exec}'ssh nxace'" "SUPER, Z, exec, waybar_mode set ' '" "SUPER, Z, submap, tuda" - "SUPER, U, exec, thunderbird " + "SUPER, U, exec, [tile] thunderbird " "SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'" "SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'" "SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'" From 34cdfc4defdb55ffbed11c6aefd720082ab14a3b Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Mon, 17 Feb 2025 11:32:54 +0100 Subject: [PATCH 5/7] calendar waybar --- configuration.nix | 1 + home-modules/waybar.nix | 142 +++++++++++++++++++++++++++++++----- home.nix | 74 ++++++++++--------- sops-secrets.yaml | 8 +- system-modules/calendar.nix | 8 +- 5 files changed, 177 insertions(+), 56 deletions(-) diff --git a/configuration.nix b/configuration.nix index 5a4cde4..05d5357 100644 --- a/configuration.nix +++ b/configuration.nix @@ -4,6 +4,7 @@ inputs.sops-nix.nixosModules.sops ./system-modules/adb.nix ./system-modules/auto-mount.nix + ./system-modules/calendar.nix ./system-modules/hardware-configuration.nix ./system-modules/fuse.nix ./system-modules/games.nix diff --git a/home-modules/waybar.nix b/home-modules/waybar.nix index 0b57ab1..b4de74f 100644 --- a/home-modules/waybar.nix +++ b/home-modules/waybar.nix @@ -1,9 +1,12 @@ -{ pkgs, rice, ... }: let - sep = " "; +{ config, pkgs, rice, domain, user, ... }: +let + sep = " "; in { - home.packages = - let - waybar_mode_script = /*bash*/ '' + sops.secrets = { + "nx2site/radicale/password" = { }; + }; + home.packages = with pkgs; [ + (writeShellApplication { name = "waybar_mode"; text = /*bash*/ '' print_help() { echo "Usage: waybar_mode {set |unset}" } @@ -33,19 +36,118 @@ in { ;; esac exit 0 - ''; - cclock_script = /*bash*/ '' + '';}) + (writeShellApplication { name = "cclock"; text = /*bash*/ '' ord=$(date +"%e" | awk '{printf("%d%s\n", $1, ($1==11||$1==12||$1==13)?"th":((($1%10)==1)?"st":((($1%10)==2)?"nd":((($1%10)==3)?"rd":"th"))))}') if [ $# -eq 0 ]; then echo "󰃮${sep}$(date +'%A the')" "$ord" "of" "$(date +'%B')" " ${sep}$(date +'%R')" elif [ "$1" = "--no-icons" ]; then echo "$(date +'%A the')" "$ord" "of" "$(date +'%B')" "$(date +'%R')" fi - ''; - in - with pkgs; [ - (writeShellApplication { name = "waybar_mode"; text = waybar_mode_script;}) - (writeShellApplication { name = "cclock"; text = cclock_script;}) + '';}) + (writers.writePython3Bin "caldav_event" { + libraries = with pkgs.python3Packages; [ caldav ics pytz ]; + flakeIgnore = [ "E302" "E305""E501" ]; + } /* python */ '' +import os +from caldav import DAVClient +from datetime import datetime, timezone +import json +from ics import Calendar + +def get_password(password_file): + with open(password_file, "r") as file: + return file.read().strip() + +def load_cache(cache_file): + if os.path.exists(cache_file): + with open(cache_file, "r") as file: + return json.load(file) + return None + +def save_cache(cache_file, data): + with open(cache_file, "w") as file: + json.dump(data, file) + +def get_ongoing_and_next_event(url, username, password): + now = datetime.now(timezone.utc) + ongoing_events = [] + upcoming_events = [] + + try: + client = DAVClient(url, username=username, password=password) + principal = client.principal() + calendars = principal.calendars() + + for calendar in calendars: + events = calendar.events() + for event in events: + ical_data = event.data + calendar_parsed = Calendar(ical_data) + + for event in calendar_parsed.events: + event_name = event.name or "(No Title)" + start_time = event.begin.astimezone(timezone.utc) + end_time = event.end.astimezone(timezone.utc) + + if start_time <= now <= end_time: + ongoing_events.append((event_name, start_time.timestamp(), end_time.timestamp())) + elif start_time > now: + upcoming_events.append((event_name, start_time.timestamp(), end_time.timestamp())) + except Exception as e: + print(f"Error accessing {url}: {e}") + + upcoming_events.sort(key=lambda x: x[1]) # Sort by start time + return ongoing_events, upcoming_events[0] if upcoming_events else None + +if __name__ == "__main__": + password_file = "${config.sops.secrets."nx2site/radicale/password".path}" # Path to password file + cache_file = "/tmp/caldav_event_cache.json" # Path to cache file + url = "https://dav.${domain}/" + username = "${user}" + password = get_password(password_file) + + cache = load_cache(cache_file) + now = datetime.now(timezone.utc).timestamp() + + if cache and cache.get("next_event_start") and now < cache["next_event_start"]: + ongoing_events = cache.get("ongoing_events", []) + next_event = (cache["next_event_name"], cache["next_event_start"], cache["next_event_end"]) if "next_event_name" in cache else None + else: + ongoing_events, next_event = get_ongoing_and_next_event(url, username, password) + + cache_data = { + "ongoing_events": ongoing_events, + "next_event_name": next_event[0] if next_event else None, + "next_event_start": next_event[1] if next_event else None, + "next_event_end": next_event[2] if next_event else None + } + save_cache(cache_file, cache_data) + + if ongoing_events: + for event_name, start_time, end_time in ongoing_events: + time_remaining = end_time - now + hours, rem = divmod(int(time_remaining), 3600) + minutes, _ = divmod(rem, 60) + + if hours == 0: + print(f"{event_name} {minutes} minute{'s ' if minutes > 1 else ' '}left") + else: + print(f"{event_name} {hours} hour{'s ' if hours > 1 else ' '}and {minutes} minute{'s ' if minutes > 1 else ' '}left") + else: + if next_event: + event_name, start_time, end_time = next_event + time_until_start = start_time - now + hours, rem = divmod(int(time_until_start), 3600) + minutes, _ = divmod(rem, 60) + + if hours == 0: + print(f"'{event_name}' starts in {minutes} minute{'s ' if minutes > 1 else ' '}") + else: + print(f"'{event_name}' starts in {hours} hour{'s ' if hours > 1 else ' '}and {minutes} minute{'s ' if minutes > 1 else ' '}") + else: + print("No upcoming events found.") +'') ]; programs.waybar = { @@ -78,7 +180,7 @@ in { ]; modules-right = [ "custom/mode" - "custom/ctimeremaining" + "custom/caldav_event" "custom/cclock" "tray" ]; @@ -97,10 +199,11 @@ in { exec = "cclock"; restart-interval = 60; }; - # "custom/ctimeremaining" = { - # exec = "nx_gcal_event lookup"; - # restart-interval = 60; - # }; + "custom/caldav_event" = { + format = "󰃰${sep}{}"; + exec = "caldav_event"; + restart-interval = 60; + }; "custom/mode" = { exec = "cat /tmp/waybar-mode"; interval = "once"; @@ -182,6 +285,7 @@ in { #clock, #custom-cclock, #custom-mode, + #custom-caldav-event, #battery, #cpu, #tray, @@ -242,12 +346,12 @@ in { color: rgb(${f green.base}); } - #battery.critical { + #battery.critical { background: rgb(${f negative.base}); color: rgb(${f foreground}); } ''; - #battery.critical:not(.charging) { + #battery.critical:not(.charging) { }; } diff --git a/home.nix b/home.nix index a2f6144..52a9bec 100644 --- a/home.nix +++ b/home.nix @@ -69,46 +69,54 @@ home.homeDirectory = "/home/${user}"; home.stateVersion = "24.05"; home.packages = with pkgs; [ + bat + brightnessctl + browsh chromium - - # zathura - xfce.thunar - - # spotify - spicetify-cli - - swww playerctl - - imv mpv mediainfo exiftool ffmpeg - pavucontrol - fontpreview - lynx w3m browsh - bat du-dust eza neofetch tldr fzf figlet ripgrep lolcat jq glow - brightnessctl wev - piper-tts - sssnake pipes - dig - screen - reflex - - gnumake cmake - - speedtest-go - imagemagick - - qbittorrent - + dig + du-dust + exiftool + eza + ffmpeg + figlet + fontpreview + fzf glib - pv + glow + gnumake gsettings-desktop-schemas - - yt-dlp + imagemagick + imv + jq + lolcat + lynx + mediainfo + mpv + neofetch + pavucontrol + pdfgrep + piper-tts + pipes + playerctl + pv + qbittorrent + reflex + ripgrep + screen + speedtest-go + spicetify-cli + sssnake + swww + tldr + w3m + wev wl-clipboard xclip + xfce.thunar xournal - ghostscript - + yt-dlp + inputs.zen-browser.packages."${system}".default ] ++ (with pkgs-unstable; [ diff --git a/sops-secrets.yaml b/sops-secrets.yaml index 6c974cf..d249be7 100644 --- a/sops-secrets.yaml +++ b/sops-secrets.yaml @@ -27,7 +27,9 @@ nx2site: sslCertificateKey.pem: ENC[AES256_GCM,data:Wzmi17UA4mpCr4VaUolfKwZJEZ5K9Ybp2/K3noC/D/QYlgJfwWnQEoXDfLj3lVVnz0V/m71NAtZ9p3/jhiQCyIwt0cOmsAmd1isHf0KQwGagc8cHttwDeZT7AzLW4axqevpZM8bjVk/TJ/k+uGbArqSwgu2W7C77uCltSS8AydWzD2D7eQciDZzQ4yyHShW9f0SH8Q/wumuY4ksjLs4roYtQgtr1ezUb1U329xA1y81apd47RHviJ/moOBQYY2Y8fbNryUmfqvGYtsfXxmNElJpGAStqjBCo0bncOetP+bfj90CJlbkIn1JzcPOa5ZJjDg==,iv:28PcaWyOsQ8gN6qvZYDS3H4lKKlU7ihxxLUXMYgHPEY=,tag:6t+jvoAZkYlqg/2d8V5Emw==,type:str] dhparams.pem: ENC[AES256_GCM,data:wGIUlT8QHruxHvrlaUdEDU3aKkB5hvQLZXic1ryKr1hIFw9uOv1hOCOPY+QUDBzfm+DXv62hTFAeq4siAoZ0wWvQ0uBuSZZBGrfuY1ZTsTJmpgTphdHi+S4/kl/Vt7nuBlvdW8VbwU+mzmSK4UuIjuvAl0RI+q9C/BAu0tsXvKfaCkrbYwSi6pdPjToEoATPWfuCdkZUulENBIdBkTLZ6F97fgNgsXub2xOEIRxqFAzg3G2nO3Mn7rSRRJraZNIsHgBTYpSNcijDBwZpgYKjcKsochYUNzVrCuLOu5xJPUU87pmd+Rup2hpMfWyK0xtUjncvHyfctEZANqfo+RdEBg81n1WHkFb1WnWUsRh8RmcVZuA9skI5S7Xhp4L2B5IKn0XGnKLG3og9iYb9tDVQys4o5/68+jjxdm51fmRYo3FvghnyFCYkQ/tm+ClCcRSPocYDrfSf0Rvg2v9nPmMj0IrEHlzVnafiJgp3VjI9cYLNW2wKiwf0Z8dWkrtnS8G7p072+w0fklmvLrdvlLZduAwrY6gS2nMbPUz1AwjAoMmQi7sFmbkP6M/PmkVV+hNP7T9ntmC4BQr2k5/3gKZPOEPO/xeMLlla68QpDVxU06NhC0Z3d5t3YY0wIVISNZXi4fgQO0G5nvFpPyyWCvvg39gulyAwUJfFQ3erNNFTjJe7X9RjqoJvjTgFm4IaYcL64Cr49KDu6Za01g492rBCEL842o3lVmZSqOYCG3UEEsSwOxn2iROZKgorZ5dyd1n1WevM+pKTUAaucy52iLJGLISRAVv82ZkmbS5L4zMHkYxVjUnqrYIZsk6+7sRHIQ31E0YtUFdMjRYUcOwfR1u+Ox+zV1NawpKjsuhKl+DRN+Q1TXUdEumUU1pDHT/RXtNHsyYOgeCBbTs93kdhFcHgO0dh5Ou/2N8EcTzWwAYd/qyE3wMZZTggTb44xwu6h0XhaLtnAk2lZ4vXwSaozf+Vq/uxAvYLxrhx6ujKVyX/O053YsKqOPKerYoN17uO8PrKoA==,iv:e0RPF9ZtzSRBRzMtWTWY3AVGsMXxvldA2HjiW9hf97Q=,tag:eb9ACnuGR+8eqncWoKQ/pw==,type:str] vaultwarden.env: ENC[AES256_GCM,data:9LcB2B/IJ2xQCTNKtRr9bBbtFqZMGSi/9jPozmGUtMvgeVqlljpbtVgCzH62oeUQMLeKQ0SxHsQ7GDgU25X6wVZ8qMT4hzVzNYJnXljs1/ePPN+NfCsPtnBjo+jQLvhVPb8gIGpmT/ZqNMXBLNpLWu2U3RQVzwlJS2wQsP4kbR+z2nuEL/bs52qI9cNmsRTA/C8gIQHCHJby+PTh6BbXp0Wvy0xI+KHKx2qSYiVXsjowid+0h56/Ma1cqUcZlxUiDSUYmTvmgYPzigFD9jOkg1mhHRIi8iste6EDVWB0jHcKMMihd7dMZ64/UUY2y5/ardIP9jUA,iv:/EQv/PYTIHANDjbjMe/BmY6dwjok9YsYj5iKLWyu0eI=,tag:IMcJ3nle9wJANuogrJBUuQ==,type:str] - radicale-htpasswd: ENC[AES256_GCM,data:P7flxa84q/SVhkV1A1aV/R6B2EqwFX0WTpHctK/Jz1yhPxRotWSH1qvJpWjAmVdtX/icWdxHSKdhbscDDEMf5EQ=,iv:Dc/bMYU9gTzHTDEpwkLx9tzeG2AEJJsj2XNxPVSd0Sc=,tag:7U91MLVKq0Ya6FuOgV44rA==,type:str] + radicale: + htpasswd: ENC[AES256_GCM,data:aPSxsPGzAQ9C6iHYbNDkIN8htYSEAJu6vvGH4Jd+yQtiWr/RyDgA4FSTn8/RN8vyVs3gsIGUUmPTwHUfZi2+dFs=,iv:DjrfciKTqj4PH3eIhpnWQp6I8sFhH2Isf3qmCGzziy8=,tag:jKdrcuojQdgoKRDsZxLtEA==,type:str] + password: ENC[AES256_GCM,data:wnXEAWH/aiCbB0FUnAZ73kfhFeNuuvo=,iv:4uVb7f9JBRDjX060fKGc3MwA1wBJuf6QKU6rom+0aIE=,tag:NHikKehpTfeWKT72OXRqdw==,type:str] paperless.pw: ENC[AES256_GCM,data:IW63GmHCVCIebWg917VNyLjQMQ6LIg8rwg==,iv:7/kSSlWFUV0vaaMfagBM/0IxeMhZ16mYN2ZlKmKFU3Y=,tag:S0cmsYkZP6v6NbhFRiv3Sg==,type:str] nextcloud: admin-pass: ENC[AES256_GCM,data:u6k70HwxBKAom8kvUihNjwbYsOikOt4sG1U=,iv:K0XPh1NfaGhFJ0ZVOWqnihZee6uuWxr0Vu8aR0ykr30=,tag:YyxgoVUxk4YxFnDmXkBXpw==,type:str] @@ -85,8 +87,8 @@ sops: SHJLR3lvdlFiRmJuU25RUHFFTmpjamMKbzycdDvQBAuOiRROTZEQSnaXoPapz73L yVS9EUP25FSx/sGqRqaCefbeaybuM1aso6LDnlomv4Bib7zjugWKSw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-12-28T15:07:30Z" - mac: ENC[AES256_GCM,data:/0aTAChZQYaV+JcKpzShdkN3KDLTtTgvQar+bGePHyAXjby2FTn8+Nw6N0nSSEkqP6F6CIcEsGx1Q1RqTY5op/6MgkFwxA8bl11kX0rQtz1n1nrHglxI6rh20euIpxGVVEj+3vpIgeLyrmPICQpqbuPm+ujImoMv9hxl/+HXYAE=,iv:1wqiuYMpDg3+T0NUL0CQ2CNqW2+fQHlDve+DkUwqpjs=,tag:d2za03gqiQunKMOF2V1ARA==,type:str] + lastmodified: "2025-01-31T18:19:08Z" + mac: ENC[AES256_GCM,data:RpbqXk0JclXNVcHs5jCHVaw59AwzCnfhGsxoQnOwNEYWnAxEC5b0fXtjIC6Od4ziPJkPzUtfHgBG9Ub+b+RL7LUMPmsPOZ8XxE16YTrr+athK1s07I8doON8UpIsGj+MP/quJgy9pb/AvReOce/5Qe8SZG4Lig68I3iqHYFsiJ4=,iv:Huc7dZQPkJ+aPBgfqxdhy+PRl+8520aZMmqBeNd/C2w=,tag:M897FVr8TfAx3zDaml69Ww==,type:str] pgp: - created_at: "2024-06-09T19:44:41Z" enc: |- diff --git a/system-modules/calendar.nix b/system-modules/calendar.nix index 00b81e3..8ca01c3 100644 --- a/system-modules/calendar.nix +++ b/system-modules/calendar.nix @@ -1,5 +1,11 @@ { ... }: { programs.dconf.enable = true; - services.gnome.evolution-data-server.enable = true; + services = { + gnome = { + evolution-data-server.enable = true; # optional to use google/nextcloud calendar + gnome-online-accounts.enable = true; # optional to use google/nextcloud calendar + gnome-keyring.enable = true; + }; + }; } From 07a320147dfe4fa8c916b26187d4d8dbff7024f9 Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Mon, 17 Feb 2025 11:33:09 +0100 Subject: [PATCH 6/7] 0.8 --- flake-modules/rice.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake-modules/rice.nix b/flake-modules/rice.nix index ad08c9a..c5daa53 100644 --- a/flake-modules/rice.nix +++ b/flake-modules/rice.nix @@ -2,7 +2,7 @@ pkgs: rec { lib = import ../nxlib/ricelib.nix pkgs.lib; - transparency = 0.9; + transparency = 0.8; rounding = 3; gap-size = 5; border-width = 2; From 62b40404c78549e8ce9a1ca1a6fd3a79ee10bb4c Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Mon, 17 Feb 2025 11:33:16 +0100 Subject: [PATCH 7/7] flake bump --- flake.lock | 187 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 109 insertions(+), 78 deletions(-) diff --git a/flake.lock b/flake.lock index 3b0f0c7..3201ee4 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1737235749, - "narHash": "sha256-YQgW4QifYIcNaFF4nMw0LpllXn0rhk/Yb6cwyH3PB9o=", + "lastModified": 1739004667, + "narHash": "sha256-t/KaeHEgzh225HUdAiHXRsgDeyDrBCMTg0LjR73v3Nw=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "1b5865f4ac9a04ba614df50de7acfaa40dcb852f", + "rev": "ac55bbdb6cee760af9315899b5b187a40ce43e46", "type": "github" }, "original": { @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1737636397, - "narHash": "sha256-F5MbBj3QVorycVSFE9qjuOTLtIQBqt2VWbXa0uwzm98=", + "lastModified": 1739103745, + "narHash": "sha256-c53dcRaw0F4Os9WD05HwIRs9kTDZw4Mxe1XK4edEALo=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "7fe006981fae53e931f513026fc754e322f13145", + "rev": "a3dda0d10ce9aa1d1dfb7a6c139ea8c2872c74bd", "type": "github" }, "original": { @@ -90,11 +90,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -179,11 +179,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -274,16 +274,18 @@ "ghostty": { "inputs": { "flake-compat": "flake-compat", + "flake-utils": "flake-utils", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" + "zig": "zig", + "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1737779447, - "narHash": "sha256-+iVqQXAUJshUYgxOHfke54Ux4f/aggl1yub86KNx2tE=", + "lastModified": 1739767522, + "narHash": "sha256-VuHnvVVLFDZe9GAPH67clJNhp+H3WoRB5JfQpUbwsbk=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "71e62f96fa4d286eda835048428d5be96e9f87c1", + "rev": "429c8ab277f75b581959ac5515b0c32636839168", "type": "github" }, "original": { @@ -365,11 +367,11 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { @@ -395,11 +397,11 @@ ] }, "locked": { - "lastModified": 1737634937, - "narHash": "sha256-Ffw4ujFpi++6pPHe+gCBOfDgAoNlzVPZN6MReC1beu8=", + "lastModified": 1738664950, + "narHash": "sha256-xIeGNM+iivwVHkv9tHwOqoUP5dDrtees34bbFKKMZYs=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "9c5dd1f7c825ee47f72727ad0a4e16ca46a2688e", + "rev": "7c6d165e1eb9045a996551eb9f121b6d1b30adc3", "type": "github" }, "original": { @@ -424,11 +426,11 @@ ] }, "locked": { - "lastModified": 1737985436, - "narHash": "sha256-zx8FdI4zr2GhNyD1YGAqa2ymodAObTSAdwuWwVucewo=", + "lastModified": 1739049071, + "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "23783b96036f5506fdaf8b2250a1ef849d57f0d3", + "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", "type": "github" }, "original": { @@ -453,11 +455,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1738010718, - "narHash": "sha256-zzNu+VS2KYnuxiT3hUZIFDczQdnCkTHrPh2QZliPnXQ=", + "lastModified": 1739757807, + "narHash": "sha256-R+fSm684OXCOjhhdANCgBvUPRPiya6Cyi2zV5Xf6sHI=", "ref": "refs/heads/main", - "rev": "5fd90548dc99d79dd2677e027a620c8ada9f4869", - "revCount": 5747, + "rev": "59c615c321c45302491de3b1c003844c86aefca7", + "revCount": 5825, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -485,11 +487,11 @@ ] }, "locked": { - "lastModified": 1738011374, - "narHash": "sha256-WSgu+IWBUhUZdnrdx19yE4afevtheDV88Q6kawsJ1pE=", + "lastModified": 1738966025, + "narHash": "sha256-MzgrF0jKlTNnNS33D8PwI5z2MJ1Tzf5MQVf/oms2pdw=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "014003b2bd3744dfabb8c2c20a80e89f721be238", + "rev": "4f48dbe12f3cbbeb4d31c91c67b21edbc5b4b451", "type": "github" }, "original": { @@ -510,11 +512,11 @@ ] }, "locked": { - "lastModified": 1737556638, - "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=", + "lastModified": 1738422629, + "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5", + "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", "type": "github" }, "original": { @@ -578,11 +580,11 @@ ] }, "locked": { - "lastModified": 1737981711, - "narHash": "sha256-lh6cL5D8nPplB3WovCQjLUZ7k7MViiBrMlpkfm4R7/c=", + "lastModified": 1739048983, + "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "96bf0677fa9cd13508294e3d4559dfbbc8beff73", + "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", "type": "github" }, "original": { @@ -607,11 +609,11 @@ ] }, "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "lastModified": 1739048914, + "narHash": "sha256-vd5rJBTmp2w7SDgfv23Zcd84ktI5eDA7e5UBzx+pKrU=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "rev": "a7334904d591f38757c46fbe2ab68651877d9099", "type": "github" }, "original": { @@ -627,11 +629,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1736298372, - "narHash": "sha256-FSl0UFtnQARckhZCBQSCDDkkFYoJrYW8JvkJjo3zy5c=", + "lastModified": 1738828244, + "narHash": "sha256-cmo544QvdacVTHPqmc6er4xnSSc63e6Z71BS0FxSklE=", "owner": "h3rmt", "repo": "hyprswitch", - "rev": "d583793c7e45d424161402aa98f59d5099e3fa55", + "rev": "bb06fb046aa1c204c2effa382573b8045cefd355", "type": "github" }, "original": { @@ -653,11 +655,11 @@ ] }, "locked": { - "lastModified": 1737978343, - "narHash": "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=", + "lastModified": 1739048933, + "narHash": "sha256-ck6MaoYvISBQKqZR+HcxXnx0wOhyCauxfVMaV5zhJxQ=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab", + "rev": "e4e018a2ca6f5a9c33511973454199e1c7c85499", "type": "github" }, "original": { @@ -678,11 +680,11 @@ ] }, "locked": { - "lastModified": 1735493474, - "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "lastModified": 1739049028, + "narHash": "sha256-RleJp7LYbr6s+M1xgbmhtBs+fYa3ZdIiF7+QalJ4D1g=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", + "rev": "04146df74a8d5ec0b579657307be01f1e241125f", "type": "github" }, "original": { @@ -718,11 +720,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737885589, - "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "type": "github" }, "original": { @@ -734,11 +736,11 @@ }, "nixpkgs-latest": { "locked": { - "lastModified": 1738013187, - "narHash": "sha256-WZwQyOzpRx8xdrKbbQ8FRGZi2qeeF3/swP7+ZCZHWJ8=", + "lastModified": 1739782683, + "narHash": "sha256-AnuWOZmBxX/pjQKwNnjGU5jjGKncfxV8Os10Ynv4I1k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e6b1a3bd78c9577f25017e413bd40c4990d3ce47", + "rev": "6534c6ea0867d38662b8c0d9af62cebffa00e353", "type": "github" }, "original": { @@ -762,11 +764,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "lastModified": 1738255539, + "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", + "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", "type": "github" }, "original": { @@ -794,11 +796,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -810,11 +812,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1737885589, - "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", + "lastModified": 1739580444, + "narHash": "sha256-+/bSz4EAVbqz8/HsIGLroF8aNaO8bLRL7WfACN+24g4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", + "rev": "8bb37161a0488b89830168b81c48aed11569cb93", "type": "github" }, "original": { @@ -856,11 +858,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1737885640, - "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", + "lastModified": 1739624908, + "narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7", + "rev": "a60651b217d2e529729cbc7d989c19f3941b9250", "type": "github" }, "original": { @@ -1047,11 +1049,11 @@ ] }, "locked": { - "lastModified": 1737411508, - "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", + "lastModified": 1739262228, + "narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", + "rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975", "type": "github" }, "original": { @@ -1198,11 +1200,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1738010151, - "narHash": "sha256-9kcGpfbl98SUrQT9Dj0TSj334LXSviGP1SI4P76QFYo=", + "lastModified": 1739776850, + "narHash": "sha256-XWzxhk0Nrw9cu6E5yjsmhAVfbt9ArVN54zz8qgzBA/I=", "owner": "sxyazi", "repo": "yazi", - "rev": "c061397a09bb08e293317f5b93dc870d453af9ef", + "rev": "1ddbbfea711636dcb997239ea9d2b483cea16f80", "type": "github" }, "original": { @@ -1258,18 +1260,21 @@ "flake-compat": [ "ghostty" ], - "flake-utils": "flake-utils", + "flake-utils": [ + "ghostty", + "flake-utils" + ], "nixpkgs": [ "ghostty", "nixpkgs-stable" ] }, "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "lastModified": 1738239110, + "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "rev": "1a8fb6f3a04724519436355564b95fce5e272504", "type": "github" }, "original": { @@ -1277,6 +1282,32 @@ "repo": "zig-overlay", "type": "github" } + }, + "zig2nix": { + "inputs": { + "flake-utils": [ + "ghostty", + "flake-utils" + ], + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1738263917, + "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "owner": "jcollie", + "repo": "zig2nix", + "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "type": "github" + }, + "original": { + "owner": "jcollie", + "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "repo": "zig2nix", + "type": "github" + } } }, "root": "root",