HomeManagerStatus#
A macOS menu bar app that shows the Jujutsu (jj) status of your ~/.config/home-manager repository.
What it does#
- Displays ahead/behind status relative to
trunk()in the menu bar - Shows if the working copy has uncommitted changes
- Polls every 5 minutes with manual refresh available
- Quick action to open the repo in Ghostty terminal
Target Audience#
This app is for users who:
- Manage their dotfiles with home-manager
- Use Jujutsu (jj) for version control
- Run macOS 13+ (Ventura or later)
Installation#
With home-manager (recommended)#
Add the flake input to your flake.nix:
inputs.jj-home-manager-status = {
url = "git+https://tangled.org/nolith.tngl.sh/JJHomeManagerStatus.app";
inputs.nixpkgs.follows = "nixpkgs";
};
Then enable the module in your home-manager configuration:
{ pkgs, jj-home-manager-status, ... }:
{
imports = [ jj-home-manager-status.homeManagerModules.default ];
programs.jj-home-manager-status = {
enable = true;
package = jj-home-manager-status.packages.${pkgs.system}.default;
};
}
This configures a launchd user agent that starts the app at login and keeps it running.
Manual build#
# With Nix
nix build
# With Swift (for development)
swift build -c release
Configuration Options#
| Option | Type | Default | Description |
|---|---|---|---|
enable |
bool | false |
Whether to enable the menu bar app |
package |
package | pkgs.home-manager-status |
The package to use |
Requirements#
- macOS 13.0 or later
- Jujutsu (
jj) installed and available in PATH - A jj-managed repository at
~/.config/home-manager