Your one-stop-cake-shop for everything Freshly Baked has to offer

refactor(ingredients): add some dependencies

Some ingredients depend on others - whether this is by setting options
from another ingredient in a module or by some runtime code that only
makes sense with something else enabled. Let's turn on some ingredients
that are needed by other ingredients when we need them

For now, I've held of on adding ingredients like catppuccin or espanso
(where the options are not configured by PacketMix) even where they
clearly are needed to actually use some config... only ingredients who's
defined options are used or where there will be runtime errors in some
cases are included. We can consider adding these in a followup

Instead of making freshlybakedcake/ssh.nix enable development I moved it
to a combined ingredient. That behavior would be a little too surprising

+398 -398
+2
packetmix/homes/coded/niri.nix
··· 3 3 # SPDX-License-Identifier: MIT 4 4 5 5 { 6 + ingredient.niri.enable = true; 7 + 6 8 niri.timers = { 7 9 lock = 900; 8 10 sleep = 1800;
-9
packetmix/homes/default.nix
··· 22 22 "espanso" 23 23 "freshlybakedcake" 24 24 "gaming" 25 - "niri" 26 25 "nix-index" 27 26 "remote" 28 - "scriptfs" 29 27 ]; 30 28 args = { 31 29 system = "x86_64-linux"; ··· 44 42 "espanso" 45 43 "freshlybakedcake" 46 44 "gaming" 47 - "niri" 48 45 "nix-index" 49 46 "remote" 50 - "scriptfs" 51 47 ]; 52 48 args = { 53 49 system = "x86_64-linux"; ··· 67 63 "espanso" 68 64 "freshlybakedcake" 69 65 "gaming" 70 - "niri" 71 66 "nix-index" 72 67 "remote" 73 - "scriptfs" 74 68 ]; 75 69 args = { 76 70 system = "x86_64-linux"; ··· 89 83 "espanso" 90 84 "freshlybakedcake" 91 85 "gaming" 92 - "niri" 93 86 "nix-index" 94 87 "remote" 95 - "scriptfs" 96 88 ]; 97 89 args = { 98 90 system = "x86_64-linux"; ··· 113 105 "gaming" 114 106 "nix-index" 115 107 "remote" 116 - "scriptfs" 117 108 ]; 118 109 args = { 119 110 system = "x86_64-linux";
+392 -389
packetmix/homes/development/jujutsu.nix
··· 20 20 }; 21 21 }; 22 22 23 - config.programs.jujutsu = { 24 - enable = true; 25 - package = project.packages.jujutsu.result.${system}; 26 - settings = { 27 - aliases = { 28 - init = [ 29 - "git" 30 - "init" 31 - "--colocate" 32 - ]; # TODO: remove when git is no longer the only backend 23 + config = { 24 + ingredient.scriptfs.enable = true; # used for signing configuration 25 + programs.jujutsu = { 26 + enable = true; 27 + package = project.packages.jujutsu.result.${system}; 28 + settings = { 29 + aliases = { 30 + init = [ 31 + "git" 32 + "init" 33 + "--colocate" 34 + ]; # TODO: remove when git is no longer the only backend 33 35 34 - clean = [ 35 - "abandon" 36 - "-r" 37 - "empty() & ~::immutable_heads() & ~bookmarks()" 38 - ]; # Delete commits that are no longer useful - less important after jujutsu includes its change IDs in commits 36 + clean = [ 37 + "abandon" 38 + "-r" 39 + "empty() & ~::immutable_heads() & ~bookmarks()" 40 + ]; # Delete commits that are no longer useful - less important after jujutsu includes its change IDs in commits 39 41 40 - tug = 41 - let 42 - tug-script = pkgs.writeScript "tug.sh" '' 43 - #!${pkgs.bash}/bin/bash 42 + tug = 43 + let 44 + tug-script = pkgs.writeScript "tug.sh" '' 45 + #!${pkgs.bash}/bin/bash 44 46 45 - set -e 47 + set -e 46 48 47 - if [[ -z "$1" ]]; then 48 - ${config.programs.jujutsu.package}/bin/jj bookmark move --from "closest_bookmark(@)" --to "closest_pushable_allow_empty_desc(@)" 49 - else 50 - ${config.programs.jujutsu.package}/bin/jj bookmark move --to "closest_pushable_allow_empty_desc(@)" "$@" 51 - fi 52 - ''; 53 - in 54 - [ 55 - "util" 56 - "exec" 57 - "--" 58 - tug-script 59 - ]; # Move the nearest bookmark up to a commit 49 + if [[ -z "$1" ]]; then 50 + ${config.programs.jujutsu.package}/bin/jj bookmark move --from "closest_bookmark(@)" --to "closest_pushable_allow_empty_desc(@)" 51 + else 52 + ${config.programs.jujutsu.package}/bin/jj bookmark move --to "closest_pushable_allow_empty_desc(@)" "$@" 53 + fi 54 + ''; 55 + in 56 + [ 57 + "util" 58 + "exec" 59 + "--" 60 + tug-script 61 + ]; # Move the nearest bookmark up to a commit 60 62 61 - t = [ 62 - "log" 63 - "-r" 64 - "touched()" 65 - ]; 66 - touched = [ 67 - "log" 68 - "-r" 69 - "touched()" 70 - ]; 63 + t = [ 64 + "log" 65 + "-r" 66 + "touched()" 67 + ]; 68 + touched = [ 69 + "log" 70 + "-r" 71 + "touched()" 72 + ]; 71 73 72 - evol = [ "evolution-log" ]; # `evol` is what you get to when you try to tab complete from `ev`, as you stop between `evolog` and `evolution-log` 74 + evol = [ "evolution-log" ]; # `evol` is what you get to when you try to tab complete from `ev`, as you stop between `evolog` and `evolution-log` 73 75 74 - ia = [ 75 - "new" 76 - "--no-edit" 77 - "--after" 78 - ]; # short for jj insertafter, good for megamerges 76 + ia = [ 77 + "new" 78 + "--no-edit" 79 + "--after" 80 + ]; # short for jj insertafter, good for megamerges 79 81 80 - here = [ 81 - "log" 82 - "-r" 83 - "here" 84 - ]; 85 - hereish = [ 86 - "log" 87 - "-r" 88 - "here | trunk() | here-" 89 - ]; # Show commits that are generally around @ - a less noisy alternative to the default log revset 82 + here = [ 83 + "log" 84 + "-r" 85 + "here" 86 + ]; 87 + hereish = [ 88 + "log" 89 + "-r" 90 + "here | trunk() | here-" 91 + ]; # Show commits that are generally around @ - a less noisy alternative to the default log revset 90 92 91 - stat = [ 92 - "show" 93 - "--stat" 94 - ]; 93 + stat = [ 94 + "show" 95 + "--stat" 96 + ]; 95 97 96 - copy = [ 97 - "util" 98 - "exec" 99 - "--" 100 - "${pkgs.bash}/bin/bash" 101 - "-c" 102 - "${config.programs.jujutsu.package}/bin/jj show --git $@ | ${pkgs.wl-clipboard}/bin/wl-copy" 103 - "--" 104 - ]; # Copy a git-compatible patch to your clipboard 98 + copy = [ 99 + "util" 100 + "exec" 101 + "--" 102 + "${pkgs.bash}/bin/bash" 103 + "-c" 104 + "${config.programs.jujutsu.package}/bin/jj show --git $@ | ${pkgs.wl-clipboard}/bin/wl-copy" 105 + "--" 106 + ]; # Copy a git-compatible patch to your clipboard 105 107 106 - rangediff = 107 - let 108 - rangediff-script = pkgs.writeScript "rangediff.sh" '' 109 - #!${pkgs.bash}/bin/bash 108 + rangediff = 109 + let 110 + rangediff-script = pkgs.writeScript "rangediff.sh" '' 111 + #!${pkgs.bash}/bin/bash 110 112 111 - set -e 113 + set -e 112 114 113 - BEFORE_REVSET="$1" 114 - shift || (echo "Usage !!BEFORE_REVSET!! AFTER_REVSET BEFORE_LENGTH [AFTER_LENGTH] [...ARGS]"; exit 1) 115 - AFTER_REVSET="$1" 116 - shift || (echo "Usage BEFORE_REVSET !!AFTER_REVSET!! BEFORE_LENGTH [AFTER_LENGTH] [...ARGS]"; exit 1) 117 - BEFORE_LENGTH="$1" 118 - shift || (echo "Usage BEFORE_REVSET AFTER_REVSET !!BEFORE_LENGTH!! [AFTER_LENGTH] [...ARGS]"; exit 1) 115 + BEFORE_REVSET="$1" 116 + shift || (echo "Usage !!BEFORE_REVSET!! AFTER_REVSET BEFORE_LENGTH [AFTER_LENGTH] [...ARGS]"; exit 1) 117 + AFTER_REVSET="$1" 118 + shift || (echo "Usage BEFORE_REVSET !!AFTER_REVSET!! BEFORE_LENGTH [AFTER_LENGTH] [...ARGS]"; exit 1) 119 + BEFORE_LENGTH="$1" 120 + shift || (echo "Usage BEFORE_REVSET AFTER_REVSET !!BEFORE_LENGTH!! [AFTER_LENGTH] [...ARGS]"; exit 1) 119 121 120 - if [[ $1 =~ ^[0-9]+$ ]]; then 121 - AFTER_LENGTH="$1" 122 - shift 123 - else 124 - AFTER_LENGTH="$BEFORE_LENGTH" 125 - fi 122 + if [[ $1 =~ ^[0-9]+$ ]]; then 123 + AFTER_LENGTH="$1" 124 + shift 125 + else 126 + AFTER_LENGTH="$BEFORE_LENGTH" 127 + fi 126 128 127 - BEFORE_TOP=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet $BEFORE_REVSET) 128 - BEFORE_BOTTOM=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet "back($BEFORE_REVSET, $BEFORE_LENGTH)") 129 + BEFORE_TOP=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet $BEFORE_REVSET) 130 + BEFORE_BOTTOM=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet "back($BEFORE_REVSET, $BEFORE_LENGTH)") 129 131 130 - AFTER_TOP=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet $AFTER_REVSET) 131 - AFTER_BOTTOM=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet "back($AFTER_REVSET, $AFTER_LENGTH)") 132 + AFTER_TOP=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet $AFTER_REVSET) 133 + AFTER_BOTTOM=$(${config.programs.jujutsu.package}/bin/jj show -T "self.commit_id()" --no-patch --quiet "back($AFTER_REVSET, $AFTER_LENGTH)") 132 134 133 - ${pkgs.git}/bin/git range-diff $BEFORE_BOTTOM~..$BEFORE_TOP $AFTER_BOTTOM~..$AFTER_TOP "$@" 134 - ''; 135 - in 136 - [ 137 - "util" 138 - "exec" 139 - "--" 140 - rangediff-script 141 - ]; # Use git range-diff to see the difference between some revsets, usage 'jj rangediff before-revset after-refset before-length [after-length=before-length]' 135 + ${pkgs.git}/bin/git range-diff $BEFORE_BOTTOM~..$BEFORE_TOP $AFTER_BOTTOM~..$AFTER_TOP "$@" 136 + ''; 137 + in 138 + [ 139 + "util" 140 + "exec" 141 + "--" 142 + rangediff-script 143 + ]; # Use git range-diff to see the difference between some revsets, usage 'jj rangediff before-revset after-refset before-length [after-length=before-length]' 142 144 143 - reverthere = [ 144 - "revert" 145 - "-B" 146 - "@" 147 - "-r" 148 - ]; 149 - rh = [ "reverthere" ]; 145 + reverthere = [ 146 + "revert" 147 + "-B" 148 + "@" 149 + "-r" 150 + ]; 151 + rh = [ "reverthere" ]; 150 152 151 - resetcid = 152 - let 153 - resetcid-script = pkgs.writeScript "resetcid.sh" '' 154 - #!${pkgs.bash}/bin/bash 153 + resetcid = 154 + let 155 + resetcid-script = pkgs.writeScript "resetcid.sh" '' 156 + #!${pkgs.bash}/bin/bash 155 157 156 - set -e 158 + set -e 157 159 158 - CID_BEFORE=$(jj show "$1" -T "self.change_id().shortest(8)" --no-patch --color=always) 160 + CID_BEFORE=$(jj show "$1" -T "self.change_id().shortest(8)" --no-patch --color=always) 159 161 160 - jj new --before "$1" --no-edit --quiet 161 - CID_AFTER=$(jj show "$1-" -T "self.change_id().shortest(8)" --no-patch --color=always) 162 + jj new --before "$1" --no-edit --quiet 163 + CID_AFTER=$(jj show "$1-" -T "self.change_id().shortest(8)" --no-patch --color=always) 162 164 163 - jj squash --from "$1" --to "($1)-" --quiet 165 + jj squash --from "$1" --to "($1)-" --quiet 164 166 165 - echo "$CID_BEFORE is now known as $CID_AFTER" 166 - ''; 167 - in 168 - [ 169 - "util" 170 - "exec" 171 - "--" 172 - resetcid-script 173 - ]; # Reset a change ID, useful if you are using jj change IDs in scripts/etc. - uses new/squash though duplicate with some fancy flags and abandon could probably also work 174 - }; 175 - fix.tools = { 176 - clang-format = { 177 - command = [ 178 - "clang-format" 179 - "--assume-filename=$path" 180 - ]; # Not in nix because some projects want specific versions - use a shell 181 - patterns = [ 182 - "glob:'**/*.cxx'" 183 - "glob:'**/*.hxx'" 184 - "glob:'**/*.c'" 185 - "glob:'**/*.h'" 186 - ]; 167 + echo "$CID_BEFORE is now known as $CID_AFTER" 168 + ''; 169 + in 170 + [ 171 + "util" 172 + "exec" 173 + "--" 174 + resetcid-script 175 + ]; # Reset a change ID, useful if you are using jj change IDs in scripts/etc. - uses new/squash though duplicate with some fancy flags and abandon could probably also work 187 176 }; 188 - prettier = { 189 - command = [ 190 - "prettierd" 191 - "--stdin-filepath=$path" 192 - ]; # Not in nix because some projects want specific versions - use a shell 193 - patterns = [ 194 - "glob:'**/*.js'" 195 - "glob:'**/*._js'" 196 - "glob:'**/*.bones'" 197 - "glob:'**/*.es'" 198 - "glob:'**/*.es6'" 199 - "glob:'**/*.frag'" 200 - "glob:'**/*.gs'" 201 - "glob:'**/*.jake'" 202 - "glob:'**/*.jsb'" 203 - "glob:'**/*.jscad'" 204 - "glob:'**/*.jsfl'" 205 - "glob:'**/*.jsm'" 206 - "glob:'**/*.jss'" 207 - "glob:'**/*.mjs'" 208 - "glob:'**/*.njs'" 209 - "glob:'**/*.pac'" 210 - "glob:'**/*.sjs'" 211 - "glob:'**/*.ssjs'" 212 - "glob:'**/*.xsjs'" 213 - "glob:'**/*.xsjslib'" 214 - "glob:'**/Jakefile'" 177 + fix.tools = { 178 + clang-format = { 179 + command = [ 180 + "clang-format" 181 + "--assume-filename=$path" 182 + ]; # Not in nix because some projects want specific versions - use a shell 183 + patterns = [ 184 + "glob:'**/*.cxx'" 185 + "glob:'**/*.hxx'" 186 + "glob:'**/*.c'" 187 + "glob:'**/*.h'" 188 + ]; 189 + }; 190 + prettier = { 191 + command = [ 192 + "prettierd" 193 + "--stdin-filepath=$path" 194 + ]; # Not in nix because some projects want specific versions - use a shell 195 + patterns = [ 196 + "glob:'**/*.js'" 197 + "glob:'**/*._js'" 198 + "glob:'**/*.bones'" 199 + "glob:'**/*.es'" 200 + "glob:'**/*.es6'" 201 + "glob:'**/*.frag'" 202 + "glob:'**/*.gs'" 203 + "glob:'**/*.jake'" 204 + "glob:'**/*.jsb'" 205 + "glob:'**/*.jscad'" 206 + "glob:'**/*.jsfl'" 207 + "glob:'**/*.jsm'" 208 + "glob:'**/*.jss'" 209 + "glob:'**/*.mjs'" 210 + "glob:'**/*.njs'" 211 + "glob:'**/*.pac'" 212 + "glob:'**/*.sjs'" 213 + "glob:'**/*.ssjs'" 214 + "glob:'**/*.xsjs'" 215 + "glob:'**/*.xsjslib'" 216 + "glob:'**/Jakefile'" 215 217 216 - "glob:'**/*.js.flow'" 218 + "glob:'**/*.js.flow'" 217 219 218 - "glob:'**/*.jsx'" 220 + "glob:'**/*.jsx'" 219 221 220 - "glob:'**/*.ts'" 221 - "glob:'**/*.tsx'" 222 + "glob:'**/*.ts'" 223 + "glob:'**/*.tsx'" 222 224 223 - "glob:'**/package.json'" 224 - "glob:'**/package-lock.json'" 225 - "glob:'**/composer.json'" 225 + "glob:'**/package.json'" 226 + "glob:'**/package-lock.json'" 227 + "glob:'**/composer.json'" 226 228 227 - "glob:'**/*.json'" 228 - "glob:'**/*.avsc'" 229 - "glob:'**/*.geojson'" 230 - "glob:'**/*.gltf'" 231 - "glob:'**/*.JSON-tmLanguage'" 232 - "glob:'**/*.jsonl'" 233 - "glob:'**/*.tfstate'" 234 - "glob:'**/*.tfstate.backup'" 235 - "glob:'**/*.topojson'" 236 - "glob:'**/*.webapp'" 237 - "glob:'**/*.webmanifest'" 238 - "glob:'**/.arcconfig'" 239 - "glob:'**/.htmlhintrc'" 240 - "glob:'**/.tern-config'" 241 - "glob:'**/.tern-project'" 242 - "glob:'**/composer.lock'" 243 - "glob:'**/mcmod.info'" 244 - "glob:'**/.prettierrc'" 229 + "glob:'**/*.json'" 230 + "glob:'**/*.avsc'" 231 + "glob:'**/*.geojson'" 232 + "glob:'**/*.gltf'" 233 + "glob:'**/*.JSON-tmLanguage'" 234 + "glob:'**/*.jsonl'" 235 + "glob:'**/*.tfstate'" 236 + "glob:'**/*.tfstate.backup'" 237 + "glob:'**/*.topojson'" 238 + "glob:'**/*.webapp'" 239 + "glob:'**/*.webmanifest'" 240 + "glob:'**/.arcconfig'" 241 + "glob:'**/.htmlhintrc'" 242 + "glob:'**/.tern-config'" 243 + "glob:'**/.tern-project'" 244 + "glob:'**/composer.lock'" 245 + "glob:'**/mcmod.info'" 246 + "glob:'**/.prettierrc'" 245 247 246 - "glob:'**/*.jsonc'" 247 - "glob:'**/*.sublime-build'" 248 - "glob:'**/*.sublime-commands'" 249 - "glob:'**/*.sublime-completions'" 250 - "glob:'**/*.sublime-keymap'" 251 - "glob:'**/*.sublime-macro'" 252 - "glob:'**/*.sublime-menu'" 253 - "glob:'**/*.sublime-mousemap'" 254 - "glob:'**/*.sublime-project'" 255 - "glob:'**/*.sublime-settings'" 256 - "glob:'**/*.sublime-theme'" 257 - "glob:'**/*.sublime-workspace'" 258 - "glob:'**/*.sublime_metrics'" 259 - "glob:'**/*.sublime_session'" 260 - "glob:'**/.babelrc'" 261 - "glob:'**/.eslintrc.json'" 262 - "glob:'**/.jscsrc'" 263 - "glob:'**/.jshintrc'" 264 - "glob:'**/.jslintrc'" 265 - "glob:'**/tsconfig.json'" 266 - "glob:'**/.eslintrc'" 248 + "glob:'**/*.jsonc'" 249 + "glob:'**/*.sublime-build'" 250 + "glob:'**/*.sublime-commands'" 251 + "glob:'**/*.sublime-completions'" 252 + "glob:'**/*.sublime-keymap'" 253 + "glob:'**/*.sublime-macro'" 254 + "glob:'**/*.sublime-menu'" 255 + "glob:'**/*.sublime-mousemap'" 256 + "glob:'**/*.sublime-project'" 257 + "glob:'**/*.sublime-settings'" 258 + "glob:'**/*.sublime-theme'" 259 + "glob:'**/*.sublime-workspace'" 260 + "glob:'**/*.sublime_metrics'" 261 + "glob:'**/*.sublime_session'" 262 + "glob:'**/.babelrc'" 263 + "glob:'**/.eslintrc.json'" 264 + "glob:'**/.jscsrc'" 265 + "glob:'**/.jshintrc'" 266 + "glob:'**/.jslintrc'" 267 + "glob:'**/tsconfig.json'" 268 + "glob:'**/.eslintrc'" 267 269 268 - "glob:'**/*.json5'" 270 + "glob:'**/*.json5'" 269 271 270 - "glob:'**/*.css'" 272 + "glob:'**/*.css'" 271 273 272 - "glob:'**/*.pcss'" 273 - "glob:'**/*.postcss'" 274 + "glob:'**/*.pcss'" 275 + "glob:'**/*.postcss'" 274 276 275 - "glob:'**/*.less'" 277 + "glob:'**/*.less'" 276 278 277 - "glob:'**/*.scss'" 279 + "glob:'**/*.scss'" 278 280 279 - "glob:'**/*.graphql'" 280 - "glob:'**/*.gql'" 281 + "glob:'**/*.graphql'" 282 + "glob:'**/*.gql'" 281 283 282 - "glob:'**/*.md'" 283 - "glob:'**/*.markdown'" 284 - "glob:'**/*.mdown'" 285 - "glob:'**/*.mdwn'" 286 - "glob:'**/*.mkd'" 287 - "glob:'**/*.mkdn'" 288 - "glob:'**/*.mkdown'" 289 - "glob:'**/*.ronn'" 290 - "glob:'**/*.workbook'" 291 - "glob:'**/README'" 284 + "glob:'**/*.md'" 285 + "glob:'**/*.markdown'" 286 + "glob:'**/*.mdown'" 287 + "glob:'**/*.mdwn'" 288 + "glob:'**/*.mkd'" 289 + "glob:'**/*.mkdn'" 290 + "glob:'**/*.mkdown'" 291 + "glob:'**/*.ronn'" 292 + "glob:'**/*.workbook'" 293 + "glob:'**/README'" 292 294 293 - "glob:'**/*.mdx'" 295 + "glob:'**/*.mdx'" 294 296 295 - "glob:'**/*.xhtml'" 296 - "glob:'**/*.component.html'" 297 + "glob:'**/*.xhtml'" 298 + "glob:'**/*.component.html'" 297 299 298 - "glob:'**/*.html'" 299 - "glob:'**/*.htm'" 300 - "glob:'**/*.html.hl'" 301 - "glob:'**/*.inc'" 302 - "glob:'**/*.st'" 303 - "glob:'**/*.xht'" 304 - "glob:'**/*.xhtml'" 305 - "glob:'**/*.mjml'" 300 + "glob:'**/*.html'" 301 + "glob:'**/*.htm'" 302 + "glob:'**/*.html.hl'" 303 + "glob:'**/*.inc'" 304 + "glob:'**/*.st'" 305 + "glob:'**/*.xht'" 306 + "glob:'**/*.xhtml'" 307 + "glob:'**/*.mjml'" 306 308 307 - "glob:'**/*.vue'" 309 + "glob:'**/*.vue'" 308 310 309 - "glob:'**/*.yml'" 310 - "glob:'**/*.mir'" 311 - "glob:'**/*.reek'" 312 - "glob:'**/*.rviz'" 313 - "glob:'**/*.sublime-syntax'" 314 - "glob:'**/*.syntax'" 315 - "glob:'**/*.yaml'" 316 - "glob:'**/*.yaml-tmlanguage'" 317 - "glob:'**/*.yml.mysql'" 318 - "glob:'**/.clang-format'" 319 - "glob:'**/.clang-tidy'" 320 - "glob:'**/.gemrc'" 321 - "glob:'**/glide.lock'" 322 - ]; 311 + "glob:'**/*.yml'" 312 + "glob:'**/*.mir'" 313 + "glob:'**/*.reek'" 314 + "glob:'**/*.rviz'" 315 + "glob:'**/*.sublime-syntax'" 316 + "glob:'**/*.syntax'" 317 + "glob:'**/*.yaml'" 318 + "glob:'**/*.yaml-tmlanguage'" 319 + "glob:'**/*.yml.mysql'" 320 + "glob:'**/.clang-format'" 321 + "glob:'**/.clang-tidy'" 322 + "glob:'**/.gemrc'" 323 + "glob:'**/glide.lock'" 324 + ]; 325 + }; 323 326 }; 324 - }; 325 - merge-tools = { 326 - kdiff3 = { 327 - edit-args = [ 328 - "--merge" 329 - "--cs" 330 - "CreateBakFiles=0" 331 - "--cs" 332 - "WhiteSpaceEqual=0" 333 - "--cs" 334 - "UnfoldSubdirs=1" 335 - "--cs" 336 - "EncodingForA=iso 8859-1" 337 - "--cs" 338 - "EncodingForB=iso 8859-1" 339 - "--cs" 340 - "EncodingForC=iso 8859-1" 341 - "--cs" 342 - "EncodingForOutput=iso 8859-1" 343 - "--cs" 344 - "EncodingForPP=iso 8859-1" 345 - "$left" 346 - "$right" 347 - ]; 348 - program = "${pkgs.kdiff3}/bin/kdiff3"; 327 + merge-tools = { 328 + kdiff3 = { 329 + edit-args = [ 330 + "--merge" 331 + "--cs" 332 + "CreateBakFiles=0" 333 + "--cs" 334 + "WhiteSpaceEqual=0" 335 + "--cs" 336 + "UnfoldSubdirs=1" 337 + "--cs" 338 + "EncodingForA=iso 8859-1" 339 + "--cs" 340 + "EncodingForB=iso 8859-1" 341 + "--cs" 342 + "EncodingForC=iso 8859-1" 343 + "--cs" 344 + "EncodingForOutput=iso 8859-1" 345 + "--cs" 346 + "EncodingForPP=iso 8859-1" 347 + "$left" 348 + "$right" 349 + ]; 350 + program = "${pkgs.kdiff3}/bin/kdiff3"; 351 + }; 352 + mergiraf.program = "${pkgs.mergiraf}/bin/mergiraf"; 349 353 }; 350 - mergiraf.program = "${pkgs.mergiraf}/bin/mergiraf"; 351 - }; 352 - revset-aliases = { 353 - "touched()" = "reachable(mine(), immutable_heads()..)"; 354 - "stack()" = "(immutable_heads()..@ | @::) & mine()::"; 355 - "base()" = "trunk()"; 356 - "here" = "reachable(@, trunk()..)"; 357 - "in(branch, matching)" = "matching & ::branch"; 354 + revset-aliases = { 355 + "touched()" = "reachable(mine(), immutable_heads()..)"; 356 + "stack()" = "(immutable_heads()..@ | @::) & mine()::"; 357 + "base()" = "trunk()"; 358 + "here" = "reachable(@, trunk()..)"; 359 + "in(branch, matching)" = "matching & ::branch"; 358 360 359 - "back(revision, distance)" = "roots(ancestors(revision, distance))"; 360 - "fwd(revision, distance)" = "heads(decendants(revision, distance))"; 361 + "back(revision, distance)" = "roots(ancestors(revision, distance))"; 362 + "fwd(revision, distance)" = "heads(decendants(revision, distance))"; 361 363 362 - "closest_bookmark(to)" = "heads(::to & bookmarks())"; 363 - "closest_pushable_allow_empty_desc(to)" = "heads(::to & mutable() & (~empty() | merges()))"; 364 + "closest_bookmark(to)" = "heads(::to & bookmarks())"; 365 + "closest_pushable_allow_empty_desc(to)" = "heads(::to & mutable() & (~empty() | merges()))"; 364 366 365 - "main" = "coalesce(bookmarks(exact:'main'), bookmarks(exact:'master'))"; 367 + "main" = "coalesce(bookmarks(exact:'main'), bookmarks(exact:'master'))"; 366 368 367 - "series(tip, length)" = "back(tip, length)::tip"; 368 - }; 369 - signing = { 370 - backend = "ssh"; 371 - backends.ssh.allowed-signers = 372 - let 373 - allowedSigners = lib.mapAttrsToList ( 374 - key: emails: "${builtins.concatStringsSep "," emails} ${key}" 375 - ) config.jujutsu.allowedSSHSigners; 376 - allowedSignersContent = builtins.concatStringsSep "\n" allowedSigners; 377 - allowedSignersFile = builtins.toFile "allowed-signers" allowedSignersContent; 378 - in 379 - allowedSignersFile; 380 - behavior = "drop"; # override or set git.sign-on-push in your own config to auto-sign stuff... 381 - key = 382 - let 383 - signingScript = pkgs.writeShellScript "first-ssh-key" '' 384 - set -euo pipefail 369 + "series(tip, length)" = "back(tip, length)::tip"; 370 + }; 371 + signing = { 372 + backend = "ssh"; 373 + backends.ssh.allowed-signers = 374 + let 375 + allowedSigners = lib.mapAttrsToList ( 376 + key: emails: "${builtins.concatStringsSep "," emails} ${key}" 377 + ) config.jujutsu.allowedSSHSigners; 378 + allowedSignersContent = builtins.concatStringsSep "\n" allowedSigners; 379 + allowedSignersFile = builtins.toFile "allowed-signers" allowedSignersContent; 380 + in 381 + allowedSignersFile; 382 + behavior = "drop"; # override or set git.sign-on-push in your own config to auto-sign stuff... 383 + key = 384 + let 385 + signingScript = pkgs.writeShellScript "first-ssh-key" '' 386 + set -euo pipefail 385 387 386 - KEYS="$(${pkgs.openssh}/bin/ssh-add -L)" 388 + KEYS="$(${pkgs.openssh}/bin/ssh-add -L)" 387 389 388 - SECURITY_KEY="$(echo "$KEYS" | ${pkgs.gnugrep}/bin/grep '^sk-' || echo "")" 390 + SECURITY_KEY="$(echo "$KEYS" | ${pkgs.gnugrep}/bin/grep '^sk-' || echo "")" 389 391 390 - if [[ -z "$SECURITY_KEY" ]]; then 391 - echo "$KEYS" | ${pkgs.coreutils}/bin/head -n 1 392 - exit 0 393 - fi 392 + if [[ -z "$SECURITY_KEY" ]]; then 393 + echo "$KEYS" | ${pkgs.coreutils}/bin/head -n 1 394 + exit 0 395 + fi 394 396 395 - echo "$SECURITY_KEY" | ${pkgs.coreutils}/bin/head -n 1 396 - ''; 397 - signingScriptPath = builtins.toString signingScript; 398 - signingScriptScriptFSPath = 399 - "~/.local/state/run/scriptfs" + (lib.removePrefix "/nix/store" signingScriptPath); 400 - in 401 - signingScriptScriptFSPath; 402 - }; 403 - snapshot.auto-track = "~(root-glob:'**/.envrc' | root-glob:'**/*.env' | root-glob:'**/.direnv/**/*')"; 404 - template-aliases.series_log = '' 405 - if(root, 406 - format_root_commit(self), 407 - label(if(current_working_copy, "working_copy"), 408 - concat( 409 - if(current_working_copy, label("op_log current_operation id", "@"), 410 - if(self.contained_in("..@"), label("diff added", "-"), 411 - label("diff removed", "+") 412 - )), 413 - " ", 414 - separate(" ", 415 - format_short_change_id_with_hidden_and_divergent_info(self), 416 - format_short_commit_id(commit_id), 417 - git_head, 418 - if(conflict, label("conflict", "conflict")), 419 - ) ++ " ", 420 - separate(" ", 421 - if(self.contained_in("@.."), 422 - label("rest", separate(" ", 423 - if(empty, "(empty)"), 424 - if(description, 425 - description.first_line(), 426 - "(no description set)", 427 - ), 428 - )), 429 - separate(" ", 430 - if(empty, label("empty", "(empty)")), 431 - if(description, 432 - description.first_line(), 433 - label(if(empty, "empty"), description_placeholder), 434 - ), 435 - ) 436 - ), 437 - if(!(current_working_copy || parents), "\033[22m") 438 - ) ++ "\n", 439 - ), 397 + echo "$SECURITY_KEY" | ${pkgs.coreutils}/bin/head -n 1 398 + ''; 399 + signingScriptPath = builtins.toString signingScript; 400 + signingScriptScriptFSPath = 401 + "~/.local/state/run/scriptfs" + (lib.removePrefix "/nix/store" signingScriptPath); 402 + in 403 + signingScriptScriptFSPath; 404 + }; 405 + snapshot.auto-track = "~(root-glob:'**/.envrc' | root-glob:'**/*.env' | root-glob:'**/.direnv/**/*')"; 406 + template-aliases.series_log = '' 407 + if(root, 408 + format_root_commit(self), 409 + label(if(current_working_copy, "working_copy"), 410 + concat( 411 + if(current_working_copy, label("op_log current_operation id", "@"), 412 + if(self.contained_in("..@"), label("diff added", "-"), 413 + label("diff removed", "+") 414 + )), 415 + " ", 416 + separate(" ", 417 + format_short_change_id_with_hidden_and_divergent_info(self), 418 + format_short_commit_id(commit_id), 419 + git_head, 420 + if(conflict, label("conflict", "conflict")), 421 + ) ++ " ", 422 + separate(" ", 423 + if(self.contained_in("@.."), 424 + label("rest", separate(" ", 425 + if(empty, "(empty)"), 426 + if(description, 427 + description.first_line(), 428 + "(no description set)", 429 + ), 430 + )), 431 + separate(" ", 432 + if(empty, label("empty", "(empty)")), 433 + if(description, 434 + description.first_line(), 435 + label(if(empty, "empty"), description_placeholder), 436 + ), 437 + ) 438 + ), 439 + if(!(current_working_copy || parents), "\033[22m") 440 + ) ++ "\n", 441 + ), 442 + ) 440 443 ) 441 - ) 442 - ''; 443 - templates = { 444 - git_push_bookmark = "'private/${config.home.username}/push-' ++ change_id.short()"; 445 - commit_trailers = '' 446 - if(config("ui.should-sign-off").as_boolean(), format_signed_off_by_trailer(self)) 447 - ++ if(config("ui.should-add-gerrit-change-id").as_boolean() && !trailers.contains_key("Change-Id"), format_gerrit_change_id_trailer(self)) 448 444 ''; 449 - }; 450 - ui = { 451 - default-command = "hereish"; 452 - diff-editor = "kdiff3"; 453 - diff-formatter = [ 454 - "${pkgs.difftastic}/bin/difft" 455 - "--color=always" 456 - "$left" 457 - "$right" 458 - ]; 459 - merge-editor = "mergiraf"; 460 - pager = [ 461 - "${pkgs.less}/bin/less" 462 - "-FRX" 463 - ]; 464 - should-sign-off = false; # See templates.commit_trailers, override in individual repos 465 - should-add-gerrit-change-id = false; # See templates.commit_trailers, override in individual repos 466 - show-cryptographic-signatures = true; 445 + templates = { 446 + git_push_bookmark = "'private/${config.home.username}/push-' ++ change_id.short()"; 447 + commit_trailers = '' 448 + if(config("ui.should-sign-off").as_boolean(), format_signed_off_by_trailer(self)) 449 + ++ if(config("ui.should-add-gerrit-change-id").as_boolean() && !trailers.contains_key("Change-Id"), format_gerrit_change_id_trailer(self)) 450 + ''; 451 + }; 452 + ui = { 453 + default-command = "hereish"; 454 + diff-editor = "kdiff3"; 455 + diff-formatter = [ 456 + "${pkgs.difftastic}/bin/difft" 457 + "--color=always" 458 + "$left" 459 + "$right" 460 + ]; 461 + merge-editor = "mergiraf"; 462 + pager = [ 463 + "${pkgs.less}/bin/less" 464 + "-FRX" 465 + ]; 466 + should-sign-off = false; # See templates.commit_trailers, override in individual repos 467 + should-add-gerrit-change-id = false; # See templates.commit_trailers, override in individual repos 468 + show-cryptographic-signatures = true; 469 + }; 467 470 }; 468 471 }; 469 472 };
packetmix/homes/freshlybakedcake/.gitkeep

This is a binary file and will not be displayed.

packetmix/homes/freshlybakedcake/ssh.nix packetmix/homes/freshlybakedcake+development/ssh.nix
+2
packetmix/homes/maya/niri.nix
··· 11 11 ... 12 12 }: 13 13 { 14 + ingredient.niri.enable = true; 15 + 14 16 programs.niri = { 15 17 settings = { 16 18 input.mouse.natural-scroll = true;
+2
packetmix/homes/minion/niri.nix
··· 10 10 ... 11 11 }: 12 12 { 13 + ingredient.niri.enable = true; 14 + 13 15 programs.niri = { 14 16 settings = { 15 17 input.mouse.natural-scroll = true;