mirror of
https://github.com/gburd/nix-config.git
synced 2024-11-10 15:36:25 +00:00
36 lines
1,007 B
Nix
36 lines
1,007 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" ]; };
|
||
|
};
|
||
|
}
|