{pkgs, ...}: let update-script = pkgs.writeShellApplication { name = "fetch-nix-index-database"; runtimeInputs = with pkgs; [wget coreutils]; text = '' filename="index-x86_64-linux" mkdir -p ~/.cache/nix-index cd ~/.cache/nix-index wget -N "https://github.com/Mic92/nix-index-database/releases/latest/download/$filename" ln -f "$filename" files ''; }; in { programs.nix-index.enable = true; systemd.user.services.nix-index-database-sync = { Unit = {Description = "fetch mic92/nix-index-database";}; Service = { Type = "oneshot"; ExecStart = "${update-script}/bin/fetch-nix-index-database"; Restart = "on-failure"; RestartSec = "5m"; }; }; systemd.user.timers.nix-index-database-sync = { Unit = {Description = "Automatic github:mic92/nix-index-database fetching";}; Timer = { OnBootSec = "10m"; OnUnitActiveSec = "24h"; }; Install = {WantedBy = ["timers.target"];}; }; }