diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-04-25 14:52:15 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-04-25 14:52:15 +0200 |
| commit | 740081d9eecff224fe5aa398000f0dcb72ff89b5 (patch) | |
| tree | 1fb23f7d07e1fef673e3d9106c1450124a11119c | |
| parent | e85f955fbcf4e0541a0c7985deab5e59c37164a7 (diff) | |
| download | nixos-740081d9eecff224fe5aa398000f0dcb72ff89b5.tar nixos-740081d9eecff224fe5aa398000f0dcb72ff89b5.tar.gz nixos-740081d9eecff224fe5aa398000f0dcb72ff89b5.tar.bz2 nixos-740081d9eecff224fe5aa398000f0dcb72ff89b5.tar.xz nixos-740081d9eecff224fe5aa398000f0dcb72ff89b5.zip | |
bump
| -rw-r--r-- | _sources/generated.json | 24 | ||||
| -rw-r--r-- | _sources/generated.nix | 24 | ||||
| -rw-r--r-- | accounts/gkleen@sif/default.nix | 2 | ||||
| -rw-r--r-- | accounts/gkleen@sif/niri/default.nix | 4 | ||||
| -rw-r--r-- | accounts/gkleen@sif/zshrc | 15 | ||||
| -rw-r--r-- | flake.lock | 48 | ||||
| -rw-r--r-- | modules/tzupdate.nix | 81 | ||||
| -rw-r--r-- | overlays/swayosd/default.nix | 2 |
8 files changed, 146 insertions, 54 deletions
diff --git a/_sources/generated.json b/_sources/generated.json index d9868b8e..d86f7005 100644 --- a/_sources/generated.json +++ b/_sources/generated.json | |||
| @@ -99,7 +99,7 @@ | |||
| 99 | }, | 99 | }, |
| 100 | "mako": { | 100 | "mako": { |
| 101 | "cargoLocks": null, | 101 | "cargoLocks": null, |
| 102 | "date": "2025-04-03", | 102 | "date": "2025-04-17", |
| 103 | "extract": null, | 103 | "extract": null, |
| 104 | "name": "mako", | 104 | "name": "mako", |
| 105 | "passthru": null, | 105 | "passthru": null, |
| @@ -109,13 +109,13 @@ | |||
| 109 | "fetchSubmodules": false, | 109 | "fetchSubmodules": false, |
| 110 | "leaveDotGit": false, | 110 | "leaveDotGit": false, |
| 111 | "name": null, | 111 | "name": null, |
| 112 | "rev": "2763e92cecd7d0d58a03b5626a0bf1f7649c4ba5", | 112 | "rev": "84637d1cb42def0ef74d6ec961e05c3900b4c23f", |
| 113 | "sha256": "sha256-XMrwWVGp2ow1gCvjS1JbCerBNpRXzqsTMePFkSSjVXA=", | 113 | "sha256": "sha256-5Mv0P/SoUiJIiYvGm5wvNZhtz2ytwsqqRc3Pk3ju0WA=", |
| 114 | "sparseCheckout": [], | 114 | "sparseCheckout": [], |
| 115 | "type": "git", | 115 | "type": "git", |
| 116 | "url": "https://github.com/emersion/mako" | 116 | "url": "https://github.com/emersion/mako" |
| 117 | }, | 117 | }, |
| 118 | "version": "2763e92cecd7d0d58a03b5626a0bf1f7649c4ba5" | 118 | "version": "84637d1cb42def0ef74d6ec961e05c3900b4c23f" |
| 119 | }, | 119 | }, |
| 120 | "mpv-autosave": { | 120 | "mpv-autosave": { |
| 121 | "cargoLocks": null, | 121 | "cargoLocks": null, |
| @@ -367,7 +367,7 @@ | |||
| 367 | }, | 367 | }, |
| 368 | "swayosd": { | 368 | "swayosd": { |
| 369 | "cargoLocks": null, | 369 | "cargoLocks": null, |
| 370 | "date": "2025-03-03", | 370 | "date": "2025-04-20", |
| 371 | "extract": null, | 371 | "extract": null, |
| 372 | "name": "swayosd", | 372 | "name": "swayosd", |
| 373 | "passthru": null, | 373 | "passthru": null, |
| @@ -377,13 +377,13 @@ | |||
| 377 | "fetchSubmodules": false, | 377 | "fetchSubmodules": false, |
| 378 | "leaveDotGit": false, | 378 | "leaveDotGit": false, |
| 379 | "name": null, | 379 | "name": null, |
| 380 | "rev": "b3c78fce3d90be2ce6a6ffee0e22a50379952e2b", | 380 | "rev": "ce1f34d80a7f8b4393a5551ea0535bd8beabb28c", |
| 381 | "sha256": "sha256-V3V18BoBRJU8mtvwWXvdYPbKBDIHdu5LzVSkDkGJjFU=", | 381 | "sha256": "sha256-Z9c/5jKxs5ctUuVu7g+BXA1Wy4lyZLpGATtj2jd84jI=", |
| 382 | "sparseCheckout": [], | 382 | "sparseCheckout": [], |
| 383 | "type": "git", | 383 | "type": "git", |
| 384 | "url": "https://github.com/ErikReider/SwayOSD" | 384 | "url": "https://github.com/ErikReider/SwayOSD" |
| 385 | }, | 385 | }, |
| 386 | "version": "b3c78fce3d90be2ce6a6ffee0e22a50379952e2b" | 386 | "version": "ce1f34d80a7f8b4393a5551ea0535bd8beabb28c" |
| 387 | }, | 387 | }, |
| 388 | "tomorrow-night-paradise-theme": { | 388 | "tomorrow-night-paradise-theme": { |
| 389 | "cargoLocks": null, | 389 | "cargoLocks": null, |
| @@ -407,7 +407,7 @@ | |||
| 407 | }, | 407 | }, |
| 408 | "v4l2loopback": { | 408 | "v4l2loopback": { |
| 409 | "cargoLocks": null, | 409 | "cargoLocks": null, |
| 410 | "date": "2025-04-12", | 410 | "date": "2025-04-16", |
| 411 | "extract": null, | 411 | "extract": null, |
| 412 | "name": "v4l2loopback", | 412 | "name": "v4l2loopback", |
| 413 | "passthru": null, | 413 | "passthru": null, |
| @@ -419,12 +419,12 @@ | |||
| 419 | "name": null, | 419 | "name": null, |
| 420 | "owner": "umlaeute", | 420 | "owner": "umlaeute", |
| 421 | "repo": "v4l2loopback", | 421 | "repo": "v4l2loopback", |
| 422 | "rev": "5fae555286b74a61beb1e5b45b01ba7736a1c234", | 422 | "rev": "119543510c0455f4e6517ae82d81d65354225a31", |
| 423 | "sha256": "sha256-cALS7DrSolAdFtE1YJpmNjq81CPbXA38YsFyx2sSLcQ=", | 423 | "sha256": "sha256-1SAYXV0KEQEQEiQbBom2YHoeDzuDWkmCmcetlU85h/M=", |
| 424 | "sparseCheckout": [], | 424 | "sparseCheckout": [], |
| 425 | "type": "github" | 425 | "type": "github" |
| 426 | }, | 426 | }, |
| 427 | "version": "5fae555286b74a61beb1e5b45b01ba7736a1c234" | 427 | "version": "119543510c0455f4e6517ae82d81d65354225a31" |
| 428 | }, | 428 | }, |
| 429 | "xcompose": { | 429 | "xcompose": { |
| 430 | "cargoLocks": null, | 430 | "cargoLocks": null, |
diff --git a/_sources/generated.nix b/_sources/generated.nix index 3376df44..a7ebef8a 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix | |||
| @@ -61,17 +61,17 @@ | |||
| 61 | }; | 61 | }; |
| 62 | mako = { | 62 | mako = { |
| 63 | pname = "mako"; | 63 | pname = "mako"; |
| 64 | version = "2763e92cecd7d0d58a03b5626a0bf1f7649c4ba5"; | 64 | version = "84637d1cb42def0ef74d6ec961e05c3900b4c23f"; |
| 65 | src = fetchgit { | 65 | src = fetchgit { |
| 66 | url = "https://github.com/emersion/mako"; | 66 | url = "https://github.com/emersion/mako"; |
| 67 | rev = "2763e92cecd7d0d58a03b5626a0bf1f7649c4ba5"; | 67 | rev = "84637d1cb42def0ef74d6ec961e05c3900b4c23f"; |
| 68 | fetchSubmodules = false; | 68 | fetchSubmodules = false; |
| 69 | deepClone = false; | 69 | deepClone = false; |
| 70 | leaveDotGit = false; | 70 | leaveDotGit = false; |
| 71 | sparseCheckout = [ ]; | 71 | sparseCheckout = [ ]; |
| 72 | sha256 = "sha256-XMrwWVGp2ow1gCvjS1JbCerBNpRXzqsTMePFkSSjVXA="; | 72 | sha256 = "sha256-5Mv0P/SoUiJIiYvGm5wvNZhtz2ytwsqqRc3Pk3ju0WA="; |
| 73 | }; | 73 | }; |
| 74 | date = "2025-04-03"; | 74 | date = "2025-04-17"; |
| 75 | }; | 75 | }; |
| 76 | mpv-autosave = { | 76 | mpv-autosave = { |
| 77 | pname = "mpv-autosave"; | 77 | pname = "mpv-autosave"; |
| @@ -226,17 +226,17 @@ | |||
| 226 | }; | 226 | }; |
| 227 | swayosd = { | 227 | swayosd = { |
| 228 | pname = "swayosd"; | 228 | pname = "swayosd"; |
| 229 | version = "b3c78fce3d90be2ce6a6ffee0e22a50379952e2b"; | 229 | version = "ce1f34d80a7f8b4393a5551ea0535bd8beabb28c"; |
| 230 | src = fetchgit { | 230 | src = fetchgit { |
| 231 | url = "https://github.com/ErikReider/SwayOSD"; | 231 | url = "https://github.com/ErikReider/SwayOSD"; |
| 232 | rev = "b3c78fce3d90be2ce6a6ffee0e22a50379952e2b"; | 232 | rev = "ce1f34d80a7f8b4393a5551ea0535bd8beabb28c"; |
| 233 | fetchSubmodules = false; | 233 | fetchSubmodules = false; |
| 234 | deepClone = false; | 234 | deepClone = false; |
| 235 | leaveDotGit = false; | 235 | leaveDotGit = false; |
| 236 | sparseCheckout = [ ]; | 236 | sparseCheckout = [ ]; |
| 237 | sha256 = "sha256-V3V18BoBRJU8mtvwWXvdYPbKBDIHdu5LzVSkDkGJjFU="; | 237 | sha256 = "sha256-Z9c/5jKxs5ctUuVu7g+BXA1Wy4lyZLpGATtj2jd84jI="; |
| 238 | }; | 238 | }; |
| 239 | date = "2025-03-03"; | 239 | date = "2025-04-20"; |
| 240 | }; | 240 | }; |
| 241 | tomorrow-night-paradise-theme = { | 241 | tomorrow-night-paradise-theme = { |
| 242 | pname = "tomorrow-night-paradise-theme"; | 242 | pname = "tomorrow-night-paradise-theme"; |
| @@ -254,15 +254,15 @@ | |||
| 254 | }; | 254 | }; |
| 255 | v4l2loopback = { | 255 | v4l2loopback = { |
| 256 | pname = "v4l2loopback"; | 256 | pname = "v4l2loopback"; |
| 257 | version = "5fae555286b74a61beb1e5b45b01ba7736a1c234"; | 257 | version = "119543510c0455f4e6517ae82d81d65354225a31"; |
| 258 | src = fetchFromGitHub { | 258 | src = fetchFromGitHub { |
| 259 | owner = "umlaeute"; | 259 | owner = "umlaeute"; |
| 260 | repo = "v4l2loopback"; | 260 | repo = "v4l2loopback"; |
| 261 | rev = "5fae555286b74a61beb1e5b45b01ba7736a1c234"; | 261 | rev = "119543510c0455f4e6517ae82d81d65354225a31"; |
| 262 | fetchSubmodules = true; | 262 | fetchSubmodules = true; |
| 263 | sha256 = "sha256-cALS7DrSolAdFtE1YJpmNjq81CPbXA38YsFyx2sSLcQ="; | 263 | sha256 = "sha256-1SAYXV0KEQEQEiQbBom2YHoeDzuDWkmCmcetlU85h/M="; |
| 264 | }; | 264 | }; |
| 265 | date = "2025-04-12"; | 265 | date = "2025-04-16"; |
| 266 | }; | 266 | }; |
| 267 | xcompose = { | 267 | xcompose = { |
| 268 | pname = "xcompose"; | 268 | pname = "xcompose"; |
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 1c2031b5..3b3c7fc5 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
| @@ -398,7 +398,7 @@ in { | |||
| 398 | fira-code-symbols libreoffice xournalpp google-chrome | 398 | fira-code-symbols libreoffice xournalpp google-chrome |
| 399 | nixos-shell virt-viewer freerdp gnome-icon-theme | 399 | nixos-shell virt-viewer freerdp gnome-icon-theme |
| 400 | paper-icon-theme sshpassSecret weechat element-desktop | 400 | paper-icon-theme sshpassSecret weechat element-desktop |
| 401 | sieve-connect gimp inkscape udiskie glab nitrokey-app | 401 | sieve-connect gimp3 inkscape udiskie glab nitrokey-app |
| 402 | pynitrokey gtklock wlrctl remmina openscad spice-record | 402 | pynitrokey gtklock wlrctl remmina openscad spice-record |
| 403 | libguestfs-with-appliance nerd-fonts.fira-mono | 403 | libguestfs-with-appliance nerd-fonts.fira-mono |
| 404 | nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts | 404 | nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts |
diff --git a/accounts/gkleen@sif/niri/default.nix b/accounts/gkleen@sif/niri/default.nix index b5347d6f..0e25fc95 100644 --- a/accounts/gkleen@sif/niri/default.nix +++ b/accounts/gkleen@sif/niri/default.nix | |||
| @@ -273,8 +273,6 @@ in { | |||
| 273 | workspaces = list() | 273 | workspaces = list() |
| 274 | 274 | ||
| 275 | def focus_workspace(output, workspace): | 275 | def focus_workspace(output, workspace): |
| 276 | global workspace_history, history_lock | ||
| 277 | |||
| 278 | with history_lock: | 276 | with history_lock: |
| 279 | workspace_history[output] = [workspace] + [ws for ws in workspace_history[output] if ws != workspace] # noqa: E501 | 277 | workspace_history[output] = [workspace] + [ws for ws in workspace_history[output] if ws != workspace] # noqa: E501 |
| 280 | print(json.dumps(workspace_history), file=sys.stderr) | 278 | print(json.dumps(workspace_history), file=sys.stderr) |
| @@ -299,8 +297,6 @@ in { | |||
| 299 | 297 | ||
| 300 | class RequestHandler(StreamRequestHandler): | 298 | class RequestHandler(StreamRequestHandler): |
| 301 | def handle(self): | 299 | def handle(self): |
| 302 | global workspace_history, history_lock | ||
| 303 | |||
| 304 | with detaching(TextIOWrapper(self.wfile, encoding='utf-8', write_through=True)) as out: # noqa: E501 | 300 | with detaching(TextIOWrapper(self.wfile, encoding='utf-8', write_through=True)) as out: # noqa: E501 |
| 305 | with history_lock: | 301 | with history_lock: |
| 306 | json.dump(workspace_history, out) | 302 | json.dump(workspace_history, out) |
diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc index c628e2e9..362943f3 100644 --- a/accounts/gkleen@sif/zshrc +++ b/accounts/gkleen@sif/zshrc | |||
| @@ -300,6 +300,21 @@ dichotomic_search() { | |||
| 300 | echo $min | 300 | echo $min |
| 301 | } | 301 | } |
| 302 | 302 | ||
| 303 | sieve-edit() { | ||
| 304 | case "$host" in | ||
| 305 | surtr) | ||
| 306 | sieve-connect -s surtr.yggdrasil.li -m EXTERNAL --clientkey <(nix run nixos'#'sops -- decrypt ~flk/hosts/surtr/email/ca/gkleen@sif.key) --clientcert ~flk/hosts/surtr/email/ca/gkleen@sif.crt --edit --remotesieve sieve | ||
| 307 | ;; | ||
| 308 | ymir) | ||
| 309 | sieve-connect -s ymir.yggdrasil.li -u gkleen --edit --remotesieve sieve | ||
| 310 | ;; | ||
| 311 | *) | ||
| 312 | echo "Unknown host: ‘$host’" >&2 | ||
| 313 | exit 2 | ||
| 314 | ;; | ||
| 315 | esac | ||
| 316 | } | ||
| 317 | |||
| 303 | while read -r -d $'\0' d _ s; do | 318 | while read -r -d $'\0' d _ s; do |
| 304 | hash -d ${s}=${d} | 319 | hash -d ${s}=${d} |
| 305 | done < <(find ~/projects ~/uni -regextype posix-extended -maxdepth 2 -type d -regex '\S+/[0-9]{2}[ws]/\S+' -print0 2>/dev/null | \ | 320 | done < <(find ~/projects ~/uni -regextype posix-extended -maxdepth 2 -type d -regex '\S+/[0-9]{2}[ws]/\S+' -print0 2>/dev/null | \ |
| @@ -397,11 +397,11 @@ | |||
| 397 | "xwayland-satellite-unstable": "xwayland-satellite-unstable" | 397 | "xwayland-satellite-unstable": "xwayland-satellite-unstable" |
| 398 | }, | 398 | }, |
| 399 | "locked": { | 399 | "locked": { |
| 400 | "lastModified": 1744480072, | 400 | "lastModified": 1745483403, |
| 401 | "narHash": "sha256-h9MGdfc1ddQLaZ5eXdxUOY4SGvRe0IzIuX/03yVRras=", | 401 | "narHash": "sha256-fNemxNtPugDzCK7ofPApufFhD4EW5PiA0v3+aS1O6rY=", |
| 402 | "owner": "sodiboo", | 402 | "owner": "sodiboo", |
| 403 | "repo": "niri-flake", | 403 | "repo": "niri-flake", |
| 404 | "rev": "c845f42f0bf9a02350a1e561cb702911c61428a9", | 404 | "rev": "17ebd40a372527ad20cc799b1835beaf7abf7200", |
| 405 | "type": "github" | 405 | "type": "github" |
| 406 | }, | 406 | }, |
| 407 | "original": { | 407 | "original": { |
| @@ -431,11 +431,11 @@ | |||
| 431 | "niri-unstable": { | 431 | "niri-unstable": { |
| 432 | "flake": false, | 432 | "flake": false, |
| 433 | "locked": { | 433 | "locked": { |
| 434 | "lastModified": 1744475937, | 434 | "lastModified": 1745351516, |
| 435 | "narHash": "sha256-vJXhE2BCJO3AxGUGqL7GW7ReeAL+OKy80ErMYDuILjM=", | 435 | "narHash": "sha256-nQRp1Q+kV137Dsk7WCsnq6zQA7YrvRll2wVcG7wZpHA=", |
| 436 | "owner": "YaLTeR", | 436 | "owner": "YaLTeR", |
| 437 | "repo": "niri", | 437 | "repo": "niri", |
| 438 | "rev": "95eafba346a17104a9af71021011fcdc9e13776b", | 438 | "rev": "6ab055a4b968ccf115a1be3b65b0d5ec4d7c33f1", |
| 439 | "type": "github" | 439 | "type": "github" |
| 440 | }, | 440 | }, |
| 441 | "original": { | 441 | "original": { |
| @@ -472,11 +472,11 @@ | |||
| 472 | ] | 472 | ] |
| 473 | }, | 473 | }, |
| 474 | "locked": { | 474 | "locked": { |
| 475 | "lastModified": 1744518957, | 475 | "lastModified": 1745120797, |
| 476 | "narHash": "sha256-RLBSWQfTL0v+7uyskC5kP6slLK1jvIuhaAh8QvB75m4=", | 476 | "narHash": "sha256-owQ0VQ+7cSanTVPxaZMWEzI22Q4bGnuvhVjLAJBNQ3E=", |
| 477 | "owner": "Mic92", | 477 | "owner": "Mic92", |
| 478 | "repo": "nix-index-database", | 478 | "repo": "nix-index-database", |
| 479 | "rev": "4fc9ea78c962904f4ea11046f3db37c62e8a02fd", | 479 | "rev": "69716041f881a2af935021c1182ed5b0cc04d40e", |
| 480 | "type": "github" | 480 | "type": "github" |
| 481 | }, | 481 | }, |
| 482 | "original": { | 482 | "original": { |
| @@ -529,11 +529,11 @@ | |||
| 529 | }, | 529 | }, |
| 530 | "nixos-hardware": { | 530 | "nixos-hardware": { |
| 531 | "locked": { | 531 | "locked": { |
| 532 | "lastModified": 1744633460, | 532 | "lastModified": 1745392233, |
| 533 | "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", | 533 | "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=", |
| 534 | "owner": "NixOS", | 534 | "owner": "NixOS", |
| 535 | "repo": "nixos-hardware", | 535 | "repo": "nixos-hardware", |
| 536 | "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", | 536 | "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64", |
| 537 | "type": "github" | 537 | "type": "github" |
| 538 | }, | 538 | }, |
| 539 | "original": { | 539 | "original": { |
| @@ -651,11 +651,11 @@ | |||
| 651 | }, | 651 | }, |
| 652 | "nixpkgs-stable_2": { | 652 | "nixpkgs-stable_2": { |
| 653 | "locked": { | 653 | "locked": { |
| 654 | "lastModified": 1744309437, | 654 | "lastModified": 1745279238, |
| 655 | "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", | 655 | "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", |
| 656 | "owner": "NixOS", | 656 | "owner": "NixOS", |
| 657 | "repo": "nixpkgs", | 657 | "repo": "nixpkgs", |
| 658 | "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", | 658 | "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", |
| 659 | "type": "github" | 659 | "type": "github" |
| 660 | }, | 660 | }, |
| 661 | "original": { | 661 | "original": { |
| @@ -699,11 +699,11 @@ | |||
| 699 | }, | 699 | }, |
| 700 | "nixpkgs_2": { | 700 | "nixpkgs_2": { |
| 701 | "locked": { | 701 | "locked": { |
| 702 | "lastModified": 1744463964, | 702 | "lastModified": 1745391562, |
| 703 | "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", | 703 | "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", |
| 704 | "owner": "NixOS", | 704 | "owner": "NixOS", |
| 705 | "repo": "nixpkgs", | 705 | "repo": "nixpkgs", |
| 706 | "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", | 706 | "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", |
| 707 | "type": "github" | 707 | "type": "github" |
| 708 | }, | 708 | }, |
| 709 | "original": { | 709 | "original": { |
| @@ -913,11 +913,11 @@ | |||
| 913 | ] | 913 | ] |
| 914 | }, | 914 | }, |
| 915 | "locked": { | 915 | "locked": { |
| 916 | "lastModified": 1744518500, | 916 | "lastModified": 1745310711, |
| 917 | "narHash": "sha256-lv52pnfiRGp5+xkZEgWr56DWiRgkMFXpiGba3eJ3krE=", | 917 | "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=", |
| 918 | "owner": "Mic92", | 918 | "owner": "Mic92", |
| 919 | "repo": "sops-nix", | 919 | "repo": "sops-nix", |
| 920 | "rev": "7e147a1ae90f0d4a374938cdc3df3cdaecb9d388", | 920 | "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c", |
| 921 | "type": "github" | 921 | "type": "github" |
| 922 | }, | 922 | }, |
| 923 | "original": { | 923 | "original": { |
| @@ -1022,11 +1022,11 @@ | |||
| 1022 | "xwayland-satellite-unstable": { | 1022 | "xwayland-satellite-unstable": { |
| 1023 | "flake": false, | 1023 | "flake": false, |
| 1024 | "locked": { | 1024 | "locked": { |
| 1025 | "lastModified": 1743346993, | 1025 | "lastModified": 1745372360, |
| 1026 | "narHash": "sha256-i7rWd/5BcqLgQEtB5L/6gKN5R5GUJcmm34F+iBivH60=", | 1026 | "narHash": "sha256-5DX9lYmEbkdANCzME2v3coV0EnWOhS7NsTlGBQuqmjM=", |
| 1027 | "owner": "Supreeeme", | 1027 | "owner": "Supreeeme", |
| 1028 | "repo": "xwayland-satellite", | 1028 | "repo": "xwayland-satellite", |
| 1029 | "rev": "45c055696437a08e3989d9b91d9c617b84cc2bc3", | 1029 | "rev": "c31679aa41966ee9272bb240703755cb1e7c72e3", |
| 1030 | "type": "github" | 1030 | "type": "github" |
| 1031 | }, | 1031 | }, |
| 1032 | "original": { | 1032 | "original": { |
diff --git a/modules/tzupdate.nix b/modules/tzupdate.nix new file mode 100644 index 00000000..6465d33f --- /dev/null +++ b/modules/tzupdate.nix | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | { | ||
| 2 | config, | ||
| 3 | lib, | ||
| 4 | pkgs, | ||
| 5 | ... | ||
| 6 | }: | ||
| 7 | let | ||
| 8 | cfg = config.services.tzupdate; | ||
| 9 | in | ||
| 10 | { | ||
| 11 | disabledModules = [ "services/misc/tzupdate.nix" ]; | ||
| 12 | |||
| 13 | options.services.tzupdate = { | ||
| 14 | enable = lib.mkOption { | ||
| 15 | type = lib.types.bool; | ||
| 16 | default = false; | ||
| 17 | description = '' | ||
| 18 | Enable the tzupdate timezone updating service. This provides | ||
| 19 | a one-shot service which can be activated with systemctl to | ||
| 20 | update the timezone. | ||
| 21 | ''; | ||
| 22 | }; | ||
| 23 | |||
| 24 | package = lib.mkPackageOption pkgs "tzupdate" { }; | ||
| 25 | |||
| 26 | timer.enable = lib.mkOption { | ||
| 27 | type = lib.types.bool; | ||
| 28 | default = true; | ||
| 29 | description = '' | ||
| 30 | Enable the tzupdate timer to update the timezone automatically. | ||
| 31 | ''; | ||
| 32 | }; | ||
| 33 | |||
| 34 | timer.interval = lib.mkOption { | ||
| 35 | type = lib.types.str; | ||
| 36 | default = "hourly"; | ||
| 37 | description = '' | ||
| 38 | The interval at which the tzupdate timer should run. See | ||
| 39 | {manpage}`systemd.time(7)` to understand the format. | ||
| 40 | ''; | ||
| 41 | }; | ||
| 42 | }; | ||
| 43 | |||
| 44 | config = lib.mkIf cfg.enable { | ||
| 45 | # We need to have imperative time zone management for this to work. | ||
| 46 | # This will give users an error if they have set an explicit time | ||
| 47 | # zone, which is better than silently overriding it. | ||
| 48 | time.timeZone = null; | ||
| 49 | |||
| 50 | # We provide a one-shot service that runs at startup once network | ||
| 51 | # interfaces are up, but we can’t ensure we actually have Internet access | ||
| 52 | # at that point. It can also be run manually with `systemctl start tzupdate`. | ||
| 53 | systemd.services.tzupdate = { | ||
| 54 | description = "tzupdate timezone update service"; | ||
| 55 | wantedBy = [ "multi-user.target" ]; | ||
| 56 | wants = [ "network-online.target" ]; | ||
| 57 | after = [ "network-online.target" ]; | ||
| 58 | script = '' | ||
| 59 | timezone="$(${lib.getExe cfg.package} --print-only)" | ||
| 60 | if [[ -n "$timezone" ]]; then | ||
| 61 | echo "Setting timezone to '$timezone'" | ||
| 62 | ${lib.getExe' config.systemd.package "timedatectl"} set-timezone "$timezone" | ||
| 63 | fi | ||
| 64 | ''; | ||
| 65 | |||
| 66 | serviceConfig = { | ||
| 67 | Type = "oneshot"; | ||
| 68 | }; | ||
| 69 | }; | ||
| 70 | |||
| 71 | systemd.timers.tzupdate = { | ||
| 72 | enable = cfg.timer.enable; | ||
| 73 | timerConfig = { | ||
| 74 | OnStartupSec = "30s"; | ||
| 75 | OnCalendar = cfg.timer.interval; | ||
| 76 | Persistent = true; | ||
| 77 | }; | ||
| 78 | wantedBy = [ "timers.target" ]; | ||
| 79 | }; | ||
| 80 | }; | ||
| 81 | } | ||
diff --git a/overlays/swayosd/default.nix b/overlays/swayosd/default.nix index b535f7f9..b4601a03 100644 --- a/overlays/swayosd/default.nix +++ b/overlays/swayosd/default.nix | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | cargoDeps = prev.rustPlatform.fetchCargoVendor { | 4 | cargoDeps = prev.rustPlatform.fetchCargoVendor { |
| 5 | inherit (oldAttrs) pname; | 5 | inherit (oldAttrs) pname; |
| 6 | inherit version src; | 6 | inherit version src; |
| 7 | hash = "sha256-b5Ei6k9p/KiyiSSl5zxDXrTgGAq24O5ll0BvyJ/41F8="; | 7 | hash = "sha256-yWybf4GKxHrk4WrW5SmjfPD0Gv79tpXOwNLlWeykYy0="; |
| 8 | }; | 8 | }; |
| 9 | patches = (oldAttrs.patches or []) ++ [ | 9 | patches = (oldAttrs.patches or []) ++ [ |
| 10 | ./exponential.patch | 10 | ./exponential.patch |
