34 lines
1 KiB
Markdown
34 lines
1 KiB
Markdown
# FOO UpDater
|
|
Declaratively keep your stuff up to date in your nixos config.
|
|
|
|
## Usage
|
|
```nix
|
|
{
|
|
description = "My flake config";
|
|
inputs.fooud.url = "https://git.squi.bid/squibid/fooud";
|
|
outputs = { self, nixpkgs, fooud }: {
|
|
nixosConfigurations.my-system = nixpkgs.lib.nixosSystem {
|
|
modules = [{
|
|
services.nginx.virtualHosts."squi.bid" = {
|
|
root = fooud.lib.gitUpdater {
|
|
git = "https://git.squi.bid/squibid/squi.bid"; # the source of the data
|
|
dest = "/var/www/squi.bid"; # where should the files live on disk
|
|
keys = [ "BECE5684D3C4005D" ]; # requires the commit to be signed by me
|
|
check = "5m"; # we may be no more than 5 minutes out of date from the source
|
|
};
|
|
|
|
locations."/" = {
|
|
tryFiles = "$uri $uri.html $uri/";
|
|
index = "index.html index.htm";
|
|
};
|
|
};
|
|
}];
|
|
};
|
|
};
|
|
}
|
|
```
|
|
|
|
# TODO
|
|
- extract archives
|
|
- support copying files from other parts of the filesystem (although that's rathar impure isn't it)
|
|
- add some checks
|