Compare commits

...

2 commits

Author SHA1 Message Date
Jet
5f65331bef
update: nfu 2026-04-04 11:08:26 -07:00
Jet
cf6ae10d39
feat: make apod more reliable and configure zellij to die 2026-04-02 19:20:08 -07:00
2 changed files with 52 additions and 32 deletions

30
flake.lock generated
View file

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1775171219,
"narHash": "sha256-3poVYyTB/THwwX2OIA4YNTEhg5pW3XEt1l53GV0j2mk=",
"lastModified": 1775261198,
"narHash": "sha256-BdXWR+LoP8K0V71oT1pNXdlajowVxaLiXXeDXMdvLoM=",
"owner": "ryoppippi",
"repo": "claude-code-overlay",
"rev": "644838d512a95c415886736f1e6dc28531625f7d",
"rev": "e4ec05a124e6a206e405091f245449291c58e8b6",
"type": "github"
},
"original": {
@ -87,11 +87,11 @@
]
},
"locked": {
"lastModified": 1775143651,
"narHash": "sha256-S0RqAyDPMTcv9vASMaE8eY1QexFysAOdnxUxFHIPOyE=",
"lastModified": 1775320414,
"narHash": "sha256-pIDPHus8udcxO4lT+zUULBfvue2D08E73abzVEJNE+8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d166a078541982a76f14d3e06e9665fa5c9ed85e",
"rev": "5ee3b3ef63e469c84639c2c9e282726352c86069",
"type": "github"
},
"original": {
@ -143,11 +143,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1774933469,
"narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=",
"lastModified": 1775203647,
"narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337",
"rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0",
"type": "github"
},
"original": {
@ -180,11 +180,11 @@
]
},
"locked": {
"lastModified": 1775171065,
"narHash": "sha256-S0lTH4iokBAUoDLF8yiFowBCa3J7DrQLTE+isXAHCqM=",
"lastModified": 1775325653,
"narHash": "sha256-dlopJjB8mZ3wE4HEUgQOE79zy/rutmG5m96ehAwmTWU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "8014c3dae628bb117c00ad835d1a9deb39b3f731",
"rev": "63115094168cdfc8a4c09261f3f2fc9838f3affa",
"type": "github"
},
"original": {
@ -228,11 +228,11 @@
]
},
"locked": {
"lastModified": 1775162238,
"narHash": "sha256-0qt2cfUqfTbesQlvO3NeJLCqa7NoVxUK9vxs79prNHk=",
"lastModified": 1775278263,
"narHash": "sha256-BgkUmlOuFaaZQCnlhXkQ3/Fng65aq00tJQkpoeTn7Mw=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "9bf98d57ca82698483ec2d9211ce01669ba37820",
"rev": "bb051d7a0f04356d42528bbb65dc014adf2dab66",
"type": "github"
},
"original": {

View file

@ -71,9 +71,33 @@ let
set -euo pipefail
state_dir="${config.home.homeDirectory}/.local/state/nasa-apod"
current_link="$state_dir/current"
mkdir -p "$state_dir"
curl_args=(
--fail
--silent
--show-error
--location
--retry 30
--retry-all-errors
--retry-delay 2
--connect-timeout 10
--max-time 300
)
set_wallpaper() {
local target="$1"
gsettings set org.gnome.desktop.background picture-uri "file://$target"
gsettings set org.gnome.desktop.background picture-uri-dark "file://$target"
gsettings set org.gnome.desktop.background picture-options 'zoom'
}
json="$(curl "''${curl_args[@]}" 'https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY' || true)"
if [ -z "$json" ]; then
exit 0
fi
json="$(curl -fsSL 'https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY')"
media_type="$(printf '%s' "$json" | jq -r '.media_type // empty')"
if [ "$media_type" != "image" ]; then
@ -82,7 +106,7 @@ let
image_url="$(printf '%s' "$json" | jq -r '.hdurl // .url // empty')"
if [ -z "$image_url" ]; then
exit 1
exit 0
fi
ext="''${image_url##*.}"
@ -99,14 +123,13 @@ let
target="$state_dir/apod-$date_stamp.$ext"
tmp="$target.tmp"
curl -fsSL "$image_url" -o "$tmp"
mv "$tmp" "$target"
ln -sfn "$target" "$state_dir/current"
wallpaper_uri="file://$state_dir/current"
gsettings set org.gnome.desktop.background picture-uri "$wallpaper_uri"
gsettings set org.gnome.desktop.background picture-uri-dark "$wallpaper_uri"
gsettings set org.gnome.desktop.background picture-options 'zoom'
if curl "''${curl_args[@]}" "$image_url" -o "$tmp" && [ -s "$tmp" ]; then
mv "$tmp" "$target"
ln -sfn "$target" "$current_link"
set_wallpaper "$target"
else
rm -f "$tmp"
fi
'';
};
zellijNewTabZoxide = pkgs.writeShellApplication {
@ -236,11 +259,6 @@ in
# Configure GNOME settings
dconf.settings = {
"org/gnome/desktop/background" = {
picture-options = "zoom";
picture-uri = "file://${config.home.homeDirectory}/.local/state/nasa-apod/current";
picture-uri-dark = "file://${config.home.homeDirectory}/.local/state/nasa-apod/current";
};
"org/gnome/desktop/interface" = {
clock-format = "12h";
clock-show-weekday = true;
@ -447,7 +465,9 @@ in
show_startup_tips = false;
show_release_notes = false;
on_force_close = "detach";
attach_to_session = false;
on_force_close = "quit";
session_serialization = false;
ui = {
pane_frames = {
@ -724,7 +744,7 @@ in
systemd.user.timers.nasa-apod-wallpaper = {
Unit.Description = "Refresh NASA APOD wallpaper daily";
Timer = {
OnStartupSec = "2m";
OnStartupSec = "0";
OnUnitActiveSec = "1d";
Unit = "nasa-apod-wallpaper.service";
};