git-workspace icon indicating copy to clipboard operation
git-workspace copied to clipboard

NixOS `home-manager` module documentation

Open aciceri opened this issue 2 years ago • 0 comments

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.

aciceri avatar Mar 26 '23 16:03 aciceri