Add wallpaper rotation system with upgrade workflow
- Add home/wallpapers/default.nix with per-wallpaper scaling options - Add 5 new Metroid-themed wallpapers to the rotation - Update i3+sway and plasma-manager to use wallpaper module - Add scripts/rotate-wallpaper.sh to cycle through wallpapers - Add scripts/upgrade.sh to chain: flake update, doom, claude-code, wallpaper - Add flake apps: rotate-wallpaper, update-claude-code, upgrade - Fix claude-code update.sh to use REPO_ROOT for flake app compatibility Run `nix run .#upgrade` for full system update with wallpaper rotation.
This commit is contained in:
@@ -4,6 +4,8 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.home.roles.i3_sway;
|
||||
wallpaperConfig = import ../../wallpapers;
|
||||
currentWallpaper = builtins.elemAt wallpaperConfig.wallpapers wallpaperConfig.currentIndex;
|
||||
|
||||
shared_config = recursiveUpdate rec {
|
||||
modifier = "Mod4";
|
||||
@@ -281,7 +283,7 @@ in {
|
||||
}
|
||||
# Set wallpaper with feh
|
||||
{
|
||||
command = "feh --bg-scale ${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg}";
|
||||
command = "feh ${currentWallpaper.feh} ${currentWallpaper.file}";
|
||||
always = false;
|
||||
notification = false;
|
||||
}
|
||||
@@ -314,7 +316,7 @@ in {
|
||||
};
|
||||
output = {
|
||||
"*" = {
|
||||
bg = "${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg} fill";
|
||||
bg = "${currentWallpaper.file} ${currentWallpaper.sway}";
|
||||
};
|
||||
};
|
||||
startup = [
|
||||
|
||||
@@ -4,6 +4,8 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.home.roles.plasma-manager;
|
||||
wallpaperConfig = import ../../wallpapers;
|
||||
currentWallpaper = builtins.elemAt wallpaperConfig.wallpapers wallpaperConfig.currentIndex;
|
||||
in
|
||||
{
|
||||
options.home.roles.plasma-manager = {
|
||||
@@ -181,7 +183,7 @@ in
|
||||
plasma-localerc.Formats.LANG = "en_US.UTF-8";
|
||||
|
||||
# Set wallpaper for all desktops
|
||||
plasmarc.Wallpapers.usersWallpapers = "${../../wallpapers/metroid-samus-returns-kz-3440x1440.jpg}";
|
||||
plasmarc.Wallpapers.usersWallpapers = "${currentWallpaper.file}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
45
home/wallpapers/default.nix
Normal file
45
home/wallpapers/default.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
# Wallpaper rotation system
|
||||
# The currentIndex is incremented by `nix run .#rotate-wallpaper`
|
||||
# and gets committed as part of `nix run .#upgrade`
|
||||
{
|
||||
currentIndex = 1; # Index into wallpapers list
|
||||
|
||||
wallpapers = [
|
||||
{
|
||||
name = "metroid-samus-returns";
|
||||
file = ./metroid-samus-returns-kz-3440x1440.jpg;
|
||||
sway = "fill";
|
||||
feh = "--bg-fill";
|
||||
}
|
||||
{
|
||||
name = "metroid3_map";
|
||||
file = ./metroid3_map.gif;
|
||||
sway = "fit";
|
||||
feh = "--bg-max";
|
||||
}
|
||||
{
|
||||
name = "super-metroid-gunship-cavern";
|
||||
file = ./super-metroid-gunship-cavern.jpg;
|
||||
sway = "fit";
|
||||
feh = "--bg-max";
|
||||
}
|
||||
{
|
||||
name = "super-metroid-samus-statue";
|
||||
file = ./super-metroid-samus-statue.png;
|
||||
sway = "fit";
|
||||
feh = "--bg-max";
|
||||
}
|
||||
{
|
||||
name = "metroid-samus-action-4k";
|
||||
file = ./metroid-samus-action-4k.jpg;
|
||||
sway = "fit";
|
||||
feh = "--bg-max";
|
||||
}
|
||||
{
|
||||
name = "metroid-creature-minimalist";
|
||||
file = ./metroid-creature-minimalist.jpg;
|
||||
sway = "fit";
|
||||
feh = "--bg-max";
|
||||
}
|
||||
];
|
||||
}
|
||||
BIN
home/wallpapers/metroid-creature-minimalist.jpg
Normal file
BIN
home/wallpapers/metroid-creature-minimalist.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
BIN
home/wallpapers/metroid-samus-action-4k.jpg
Normal file
BIN
home/wallpapers/metroid-samus-action-4k.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.2 MiB |
BIN
home/wallpapers/metroid3_map.gif
Normal file
BIN
home/wallpapers/metroid3_map.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 132 KiB |
BIN
home/wallpapers/super-metroid-gunship-cavern.jpg
Normal file
BIN
home/wallpapers/super-metroid-gunship-cavern.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 210 KiB |
BIN
home/wallpapers/super-metroid-samus-statue.png
Normal file
BIN
home/wallpapers/super-metroid-samus-statue.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 MiB |
Reference in New Issue
Block a user