smooth background transitions

Ryan Gibb 7a46ecfb 04cbaf19

+1 -44
flake.lock
···
"nixpkgs-flaresolverr": "nixpkgs-flaresolverr",
"nixpkgs-sonarr": "nixpkgs-sonarr",
"nixpkgs-unstable": "nixpkgs-unstable",
-
"nur": "nur",
-
"timewall": "timewall"
-
}
-
},
-
"rust-overlay": {
-
"inputs": {
-
"nixpkgs": [
-
"timewall",
-
"nixpkgs"
-
]
-
},
-
"locked": {
-
"lastModified": 1734230139,
-
"narHash": "sha256-zsp0Mz8VgyIAnU8UhP/YT1g+zlsl+NIJTBMAbY+RifQ=",
-
"owner": "oxalica",
-
"repo": "rust-overlay",
-
"rev": "150fbc8aa2bc501041810bbc1dbfe73694a861be",
-
"type": "github"
-
},
-
"original": {
-
"owner": "oxalica",
-
"repo": "rust-overlay",
-
"type": "github"
+
"nur": "nur"
},
"scss-reset": {
···
"original": {
"owner": "nix-systems",
"repo": "default",
-
"type": "github"
-
}
-
},
-
"timewall": {
-
"inputs": {
-
"nixpkgs": [
-
"nixpkgs"
-
],
-
"rust-overlay": "rust-overlay"
-
},
-
"locked": {
-
"lastModified": 1737041980,
-
"narHash": "sha256-LE8gW4lGB4atru+zcpYGSQCRe/VUzsS7Hd/5Ru5ZR8Q=",
-
"owner": "RyanGibb",
-
"repo": "timewall",
-
"rev": "62ad75972a73fa6179e6082d6b83f2585844c77c",
-
"type": "github"
-
},
-
"original": {
-
"owner": "RyanGibb",
-
"repo": "timewall",
"type": "github"
},
-3
flake.nix
···
hyperbib-eeg.url = "github:RyanGibb/hyperbib?ref=nixify";
nix-rpi5.url = "gitlab:vriska/nix-rpi5?ref=main";
nur.url = "github:nix-community/NUR/e9e77b7985ef9bdeca12a38523c63d47555cc89b";
-
timewall.url = "github:RyanGibb/timewall";
# deduplicate flake inputs
eilean.inputs.nixpkgs.follows = "nixpkgs";
···
hyperbib-eeg.inputs.nixpkgs.follows = "nixpkgs";
nix-rpi5.inputs.nixpkgs.follows = "nixpkgs";
nur.inputs.nixpkgs.follows = "nixpkgs";
-
timewall.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
···
inherit system;
config = nixpkgsConfig;
}).sonarr;
-
timewall = final.overlay-unstable.timewall;
})
inputs.nur.overlays.default
];
+1 -15
home/gui/default.nix
···
imports = [
./i3.nix
./sway.nix
-
inputs.timewall.homeManagerModules.default
];
options.custom.gui.enable = lib.mkEnableOption "gui";
···
save_filename_format=screenshot_%Y-%m-%dT%H:%M:%S%z.png
'';
"tridactyl/tridactylrc".source = ./tridactylrc;
+
"timewall/config.toml".source = ./timewall.toml;
};
userDirs = {
enable = true;
···
desktop = "$HOME/";
templates = "$HOME/";
publicShare = "$HOME/";
-
};
-
};
-
-
services.timewall = {
-
config = {
-
location = {
-
lat = 52;
-
lon = 0;
-
};
-
setter.command = [
-
"sh"
-
"-c"
-
"ln -fs %f ~/.cache/timewall/last_image && swaymsg output \\* bg %f fill #282828"
-
];
};
};
};
+6
home/gui/timewall.toml
···
+
[location]
+
lat = 52
+
lon = 0
+
+
[setter]
+
command = [ "sh", "-c", "ln -fs %f ~/.cache/timewall/last_image && (setsid swaybg -i %f -c 282828 -m fill >/dev/null 2>&1 &) && (sleep 1; (grep -v $(pgrep -nf ^swaybg) <(pgrep -f ^swaybg) | tee ~/x | xargs kill)) && exit 0" ]
+2 -1
modules/gui/default.nix
···
pulseaudio
tridactyl-native
vlc
-
timewall
+
overlay-unstable.timewall
+
swaybg
]
++ desktopEntries;
-1
modules/home-manager.nix
···
useGlobalPkgs = true;
extraSpecialArgs = {
i3-workspace-history = inputs.i3-workspace-history;
-
timewall = inputs.timewall;
};
users.${config.custom.username} = import ../home/default.nix;
};