| ... | ... | @@ -21,18 +21,15 @@ in |
| 21 | 21 | nh |
| 22 | 22 | autofmt |
| 23 | 23 | gnupg |
| 24 | nodejs_24 |
| 24 | 25 | ]; |
| 25 | 26 | # packages to install for desktop environments (non-server) |
| 26 | 27 | desktop = [ |
| 27 | | lazygit |
| 28 | | jjui |
| 29 | 28 | ]; |
| 30 | 29 | # packages to install on all servers |
| 31 | 30 | server = [ ]; |
| 32 | 31 | # packages to install on macOS desktops |
| 33 | | darwin = [ |
| 34 | | raycast |
| 35 | | ]; |
| 32 | darwin = [ ]; |
| 36 | 33 | # packages to install on linux desktops |
| 37 | 34 | linux = [ |
| 38 | 35 | ]; |
| ... | ... | @@ -109,46 +106,21 @@ in |
| 109 | 106 | command jj "$@" |
| 110 | 107 | fi |
| 111 | 108 | } |
| 112 | | |
| 113 | | function push() { |
| 114 | | command jj git push "$@" --dry-run |
| 115 | | printf "Press any key to continue... " |
| 116 | | read -r |
| 117 | | if bash -c 'cd $(jj workspace root); bun local-ci'; then |
| 118 | | command jj git push "$@" |
| 119 | | fi |
| 120 | | } |
| 121 | | |
| 122 | | function pr() { |
| 123 | | message=$(jj log -r '@' -T 'description' --no-graph) |
| 124 | | if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then |
| 125 | | jj desc |
| 126 | | message=$(jj log -r '@' -T 'description' --no-graph) |
| 127 | | if [[ -z "$message" ]] || [[ "$message" = "WIP:"* ]]; then |
| 128 | | exit |
| 129 | | fi |
| 130 | | fi |
| 131 | | if [ -n "$1" ]; then |
| 132 | | if [[ "clo"/* = "$1" ]]; then |
| 133 | | branch="$1"; |
| 134 | | else |
| 135 | | branch="clo/$1" |
| 136 | | fi |
| 137 | | command jj git push --named "$branch"=@ |
| 138 | | else |
| 139 | | command jj git push -c @ |
| 140 | | branch="$(jj log -r '@-' -T 'bookmarks.join("\n")' --no-graph | head -1)" |
| 141 | | fi |
| 142 | | open "$(git remote get-url origin | sed 's/git@github\.com:/https:\/\/github.com\//' | sed 's/\.git$//')/compare/master...$branch?quick_pull=1&labels=awaiting+code+review,awaiting+functionality+review&body=" |
| 143 | | } |
| 144 | 109 | ''; |
| 145 | 110 | }; |
| 146 | 111 | |
| 147 | | # use a git-specific email |
| 148 | 112 | git = { |
| 113 | # use a git-specific email |
| 149 | 114 | settings.user.email = "git@paperclover.net"; |
| 150 | | settings.gpg.format = "ssh"; |
| 151 | | signing.signByDefault = true; |
| 115 | settings.gpg.ssh.allowedSignersFile = "${pkgs.writeText "allowed_signers" '' |
| 116 | git@paperclover.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAVa1aq1LEj/VXHJYlR5HJpK65lS/9jOL/dAB9ZS1chd |
| 117 | ''}"; |
| 118 | # signing |
| 119 | signing = { |
| 120 | signByDefault = true; |
| 121 | key = "~/.ssh/id_ed25519"; |
| 122 | format = "ssh"; |
| 123 | }; |
| 152 | 124 | }; |
| 153 | 125 | |
| 154 | 126 | jujutsu = { |
| ... | ... | @@ -221,6 +193,15 @@ in |
| 221 | 193 | revsets = { |
| 222 | 194 | short-prefixes = "(trunk()..@)::"; |
| 223 | 195 | }; |
| 196 | aliases = { |
| 197 | "ab" = [ "abandon" ]; |
| 198 | # "ai" = [ |
| 199 | # "util" |
| 200 | # "exec" |
| 201 | # "--" |
| 202 | # "~/jj-ai-sync.sh" |
| 203 | # ]; |
| 204 | }; |
| 224 | 205 | }; |
| 225 | 206 | }; |
| 226 | 207 | |
| ... | ... | @@ -228,15 +209,21 @@ in |
| 228 | 209 | enable = true; |
| 229 | 210 | enableDefaultConfig = false; |
| 230 | 211 | extraConfig = '' |
| 212 | Include ~/.orbstack/ssh/config* |
| 213 | |
| 231 | 214 | SetEnv TERM=xterm-256color |
| 232 | 215 | ''; |
| 233 | 216 | matchBlocks = rec { |
| 234 | 217 | "*" = { }; |
| 235 | 218 | zenith = { |
| 236 | 219 | user = "clo"; |
| 237 | | port = 222; |
| 220 | port = 22; |
| 221 | }; |
| 222 | "git.paperclover.net" = zenith; |
| 223 | "paperclover.net" = { |
| 224 | user = "clo"; |
| 225 | port = 22; |
| 238 | 226 | }; |
| 239 | | "nas.paperclover.net" = zenith; |
| 240 | 227 | }; |
| 241 | 228 | }; |
| 242 | 229 | }; |