fooud/README.md
2025-12-04 00:43:32 -05:00

1 KiB

FOO UpDater

Declaratively keep your stuff up to date in your nixos config.

Usage

{
  description = "My flake config";
  inputs.fooud.url = "https://git.squi.bid/squi.bid/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