# 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