@jaspermayone.com's dotfiles

Add wut workspace manager and enable try on multiple machines

- Add wut homebrew package for Darwin (remus, dippet)
- Create custom Nix package for wut on NixOS (horace)
- Enable try on dippet and horace in addition to remus
- Add wut shell integration to zsh config

+47 -4
+2
darwin/default.nix
··· 78 78 "jaspermayone/tap" 79 79 "minio/stable" 80 80 "oven-sh/bun" 81 + "simonbs/wut" 81 82 "sst/tap" 82 83 "stripe/stripe-cli" 83 84 "withgraphite/tap" ··· 139 140 "eget" 140 141 "gitmoji" 141 142 "create-dmg" 143 + "simonbs/wut/wut" 142 144 ]; 143 145 144 146 # GUI apps (casks) - shared across all Darwin machines
+3 -3
flake.lock
··· 590 590 ] 591 591 }, 592 592 "locked": { 593 - "lastModified": 1769697787, 594 - "narHash": "sha256-zHHi45fHUJcNxbhLd5mD0AVCKgUPbI/9oHdlLnrJl5A=", 593 + "lastModified": 1769709608, 594 + "narHash": "sha256-lTXSlbOpz4pCO+OJxS7Og257TnlIlQnNh/oLNa+Z2V8=", 595 595 "owner": "nix-community", 596 596 "repo": "NUR", 597 - "rev": "dc3a17eb8e003590c1355afd96bd199022174f9f", 597 + "rev": "9a295cf3eb854bfd18d76be6a18215259bdaf044", 598 598 "type": "github" 599 599 }, 600 600 "original": {
+1
flake.nix
··· 96 96 97 97 # Custom packages 98 98 zmx-binary = prev.callPackage ./packages/zmx.nix { }; 99 + wut = prev.callPackage ./packages/wut.nix { }; 99 100 100 101 # Caddy with Cloudflare DNS plugin for ACME DNS challenges 101 102 caddy-cloudflare = prev.caddy.withPlugins {
+1 -1
home/default.nix
··· 73 73 74 74 # Try - ephemeral workspace manager (local dev machines only) 75 75 programs.try = { 76 - enable = hostname == "remus"; 76 + enable = lib.elem hostname [ "remus" "dippet" "horace" ]; 77 77 path = "~/dev/tries"; 78 78 }; 79 79
+3
hosts/horace/configuration.nix
··· 111 111 slack 112 112 spotify 113 113 inputs.agenix.packages.${pkgs.stdenv.hostPlatform.system}.default 114 + 115 + # Workspace management 116 + wut # Custom package for Git worktree management 114 117 ]; 115 118 116 119 # Firefox
+5
modules/shell.nix
··· 596 596 597 597 # Mise activation 598 598 eval "$(mise activate zsh)" 599 + 600 + # Wut activation (workspace manager) 601 + if command -v wut &> /dev/null; then 602 + eval "$(wut init)" 603 + fi 599 604 ''; 600 605 }; 601 606
+32
packages/wut.nix
··· 1 + { 2 + lib, 3 + buildGoModule, 4 + fetchFromGitHub, 5 + }: 6 + 7 + buildGoModule rec { 8 + pname = "wut"; 9 + version = "0.1.2"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "simonbs"; 13 + repo = "wut"; 14 + rev = "v${version}"; 15 + hash = "sha256-PEUHjiLA9d0xOoOepIlpCoDhIdLvYhC1WId878pLd6Q="; 16 + }; 17 + 18 + vendorHash = "sha256-lIRqcB0iEgzx+yLLy1i4T1s1w6AV4lTjW+b9sJKCr5s="; # Placeholder - will be updated by build 19 + 20 + ldflags = [ 21 + "-s" 22 + "-w" 23 + ]; 24 + 25 + meta = with lib; { 26 + description = "Workspace manager for Git worktrees"; 27 + homepage = "https://github.com/simonbs/wut"; 28 + license = licenses.mit; 29 + maintainers = [ ]; 30 + mainProgram = "wut"; 31 + }; 32 + }