{ pkgs , deploy-rs , system , ... }: { nixos-switch = { type = "app"; program = toString (pkgs.writeScript "nixos-switch" '' #!${pkgs.runtimeShell} flake=$(nix flake metadata --json ${./.} | jq -r .url) ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake ".#$1" --use-remote-sudo ''); }; deploy = { type = "app"; program = toString (pkgs.writeScript "deploy" '' #!${pkgs.runtimeShell} flake=$(nix flake metadata --json ${./.} | jq -r .url) ${deploy-rs.apps."${system}".deploy-rs.program} ''${flake} ''); }; update = { type = "app"; program = toString (pkgs.writeScript "update" '' #!${pkgs.runtimeShell} ${pkgs.nix}/bin/nix flake update --commit-lock-file ''); }; }