34 lines
995 B
Nix
34 lines
995 B
Nix
|
{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"];};
|
||
|
};
|
||
|
}
|