git-workspace
git-workspace copied to clipboard
NixOS `home-manager` module documentation
I just submitted this PR that adds a new home-manager module to declaratively set workspaces and create systemd timers to update them.
As soon as it gets (hopefully) merged I think I can rewrite/expand the example in the README.
By the way I'm using this since yesterday and it works great, good job! Here an example of how the module can be used:
{config, ...}: {
programs.git-workspace.enable = true;
services.git-workspace = {
enable = true;
frequency = "04:00:00";
environmentFile = age.secrets.git-workspace-tokens.path; # I use agenix, but one can also directly provide a manually created file
workspaces = {
personal.provider = [
{
provider = "github";
name = "aciceri";
path = "${config.home.homeDirectory}/projects";
skips_forks = false;
}
{
provider = "github";
name = "nix-community";
path = "${config.home.homeDirectory}/nix-community";
}
];
work.provider = [
{
provider = "github";
name = "company";
path = "${config.home.homeDirectory}/work" ;
}
];
};
};
}
This generates 2 TOML files for two workspaces (the first one with two providers) and two systemd timers.
I hope I understood how git-workspace was meant to be used correctly and having integrated it well in home-manager but please tell me if I should change something.