this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Misc updates from macOS

+311 -231
+36 -41
.config/Code/User/keybindings.json
··· 377 377 "when": "resourceLangId == 'go' && resourceFilename =~ /_test[.]go$/", 378 378 "key": "cmd+alt+shift+t", 379 379 }, 380 - // ========================================================================= 381 - // Bindings for vscode-neovim 382 - // ========================================================================= 380 + 381 + //#region vscode-neovim 383 382 { 384 383 "key": "shift+tab", 385 384 "command": "-vscode-neovim.send", ··· 568 567 "when": "!isWindows && editorTextFocus && neovim.mode == 'insert'", 569 568 }, 570 569 571 - // ========================================================================= 572 - // End bindings for vscode-neovim 573 - // ========================================================================= 570 + //#region vscode-neovim+jupyter 574 571 575 572 // These are neovim-related but specifically for jupyter notebooks: 576 573 { ··· 597 594 "command": "notebook.focusPreviousEditor", 598 595 "when": "neovim.mode == 'normal' && config.notebook.navigation.allowNavigateToSurroundingCells && editorTextFocus && inputFocus && notebookEditorFocused && notebookEditorCursorAtBoundary != 'bottom' && notebookEditorCursorAtBoundary != 'none'" 599 596 }, 600 - // ========================================================================= 601 - // Rust-analyzer keybinds. Mostly compatible with vim 602 - // ========================================================================= 597 + //#endregion 598 + 599 + //#endregion 600 + 601 + //#region rust-analyzer 602 + // Mostly compatible with vim 603 603 { 604 604 "key": "shift+j", 605 605 "command": "rust-analyzer.joinLines", ··· 620 620 "command": "-rust-analyzer.matchingBrace", 621 621 "when": "editorTextFocus && editorLangId == 'rust'" 622 622 }, 623 - // ========================================================================= 624 - // End rust-analyzer keybinds 625 - // ========================================================================= 623 + //#endregion 626 624 627 625 // Weirdly, the default shortcut stopped working here... 628 626 { ··· 630 628 "command": "gitlens.showQuickFileHistory", 631 629 "when": "config.gitlens.keymap == 'alternate'" 632 630 }, 633 - // ========================================================================= 634 - // Begin bindings for code review / diff mode 631 + 632 + //#region Diff Editor 635 633 // These should work for Github and for Bitbucket 636 - // ========================================================================= 637 634 { 638 635 "key": "escape", 639 636 "command": "-workbench.action.hideComment", ··· 779 776 "when": "editorTextFocus && isInDiffEditor && !commentEditorFocused", 780 777 }, 781 778 782 - // ========================================================================= 783 - // End bindings for code review / diff mode 784 - // ========================================================================= 779 + //#endregion 780 + 785 781 { 786 782 "command": "workbench.action.editor.changeLanguageMode", 787 783 "key": "cmd+l", ··· 903 899 "when": "inDiffEditor", 904 900 }, 905 901 { 902 + "key": "alt+,", 903 + "command": "-gitlens.diffWithPrevious", 904 + }, 905 + { 906 + "key":"alt+d", 907 + "command": "editor.action.dirtydiff.next", 908 + "when": "editorTextFocus && !textCompareEditorActive", 909 + }, 910 + { 911 + "key":"shift+alt+d", 912 + "command": "editor.action.dirtydiff.previous", 913 + "when": "editorTextFocus && !textCompareEditorActive", 914 + }, 915 + { 906 916 "key": "cmd+shift+d", 907 917 "command": "fileutils.duplicateFile" 908 918 }, ··· 911 921 "command": "workbench.action.tasks.reRunTask" 912 922 }, 913 923 914 - // ========================================================================= 915 - // Explorer bindings 916 - // ========================================================================= 917 924 { 918 925 "key": "ctrl+cmd+r", 919 926 "command": "revealInExplorer" ··· 923 930 "command": "renameFile", 924 931 "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" 925 932 }, 926 - { 927 - "key": "alt+,", 928 - "command": "-gitlens.diffWithPrevious", 929 - }, 930 - { 931 - "key":"alt+d", 932 - "command": "editor.action.dirtydiff.next", 933 - "when": "editorTextFocus && !textCompareEditorActive", 934 - }, 935 - { 936 - "key":"shift+alt+d", 937 - "command": "editor.action.dirtydiff.previous", 938 - "when": "editorTextFocus && !textCompareEditorActive", 939 - }, 940 933 941 - // ========================================================================= 942 - // Linux bindings (designed for use with <https://kinto.sh>). 934 + //#region Linux 935 + // designed for use with <https://kinto.sh>. 943 936 // Many of these effectively just "undo" the default neovim bindings and 944 937 // restore the default VSCode behavior, since neovim uses ctrl keys so 945 938 // much. 946 - // 947 - // See also <https://github.com/codebling/vs-code-default-keybindings> 948 - // ========================================================================= 949 939 { 950 940 "key": "ctrl+k ctrl+s", 951 941 "command": "workbench.action.openGlobalKeybindingsFile", ··· 1199 1189 "key": "ctrl+alt+t", 1200 1190 "when": "(isLinux || isWindows) && taskRunning" 1201 1191 }, 1202 - // Terminal sequences. These are mainly movement-related but there are also a 1192 + 1193 + //#endregion 1194 + 1195 + //#region Terminal sequences 1196 + // These are mainly movement-related but there are also a 1203 1197 // few that are used for other things like ctrl-c, ctrl-l, etc. 1204 1198 // https://github.com/xtermjs/xterm.js/blob/master/src/common/data/EscapeSequences.ts 1205 1199 { ··· 1282 1276 }, 1283 1277 "when": "isWindows && terminalFocus", 1284 1278 }, 1279 + //#endregion 1285 1280 { 1286 1281 "key": "alt+right", 1287 1282 "command": "-workbench.action.terminal.focusNextPane",
+112 -51
.config/Code/User/settings.json
··· 1 1 { 2 - "[ahk2]": { 3 - "editor.formatOnSave": true, 4 - }, 2 + // MARK: [langs] 5 3 "[c]": { 6 4 "editor.defaultFormatter": "xaver.clang-format", 7 5 }, ··· 13 11 "editor.defaultFormatter": "xaver.clang-format", 14 12 "editor.detectIndentation": false, 15 13 "editor.language.colorizedBracketPairs": [ 16 - ["(", ")"], 17 - ["[", "]"], 18 - ["{", "}"], 14 + [ "(", ")" ], 15 + [ "[", "]" ], 16 + [ "{", "}" ], 19 17 // Would be nice to have these, but they interfere with >> stream operators 20 18 // and sometimes also lt/gt comparison 21 19 // ["<", ">"], ··· 108 106 "[rust]": { 109 107 "editor.formatOnSave": true, 110 108 "editor.language.colorizedBracketPairs": [ 111 - ["(", ")"], 112 - ["[", "]"], 113 - ["{", "}"], 109 + [ "(", ")" ], 110 + [ "[", "]" ], 111 + [ "{", "}" ], 114 112 // See C++ comment, basically this doesn't work well with < and > operators 115 113 // as well as => in match statements and -> in function signatures 116 114 // ["<", ">"], ··· 123 121 // This may be moderately unhinged, but makes it easy to align columns 124 122 // when writing robot files, lmao. Uses custom colors to make the lines 125 123 // fainter so they don't cause *quite* as much visual noise. 126 - {"color": "#5a5a5a45", "column": 4}, 127 - {"color": "#5a5a5a45", "column": 8}, 128 - {"color": "#5a5a5a45", "column": 12}, 129 - {"color": "#5a5a5a45", "column": 16}, 130 - {"color": "#5a5a5a45", "column": 20}, 131 - {"color": "#5a5a5a45", "column": 24}, 132 - {"color": "#5a5a5a45", "column": 28}, 133 - {"color": "#5a5a5a45", "column": 32}, 134 - {"color": "#5a5a5a45", "column": 36}, 135 - {"color": "#5a5a5a45", "column": 40}, 136 - {"color": "#5a5a5a45", "column": 44}, 137 - {"color": "#5a5a5a45", "column": 48}, 138 - {"color": "#5a5a5a45", "column": 52}, 139 - {"color": "#5a5a5a45", "column": 56}, 140 - {"color": "#5a5a5a45", "column": 60}, 141 - {"color": "#5a5a5a45", "column": 64}, 142 - {"color": "#5a5a5a45", "column": 68}, 143 - {"color": "#5a5a5a45", "column": 72}, 144 - {"color": "#5a5a5a45", "column": 76}, 145 - {"color": "#5a5a5a45", "column": 84}, 146 - {"color": "#5a5a5a45", "column": 92}, 147 - {"color": "#5a5a5a45", "column": 96}, 124 + { "color": "#5a5a5a45", "column": 4 }, 125 + { "color": "#5a5a5a45", "column": 8 }, 126 + { "color": "#5a5a5a45", "column": 12 }, 127 + { "color": "#5a5a5a45", "column": 16 }, 128 + { "color": "#5a5a5a45", "column": 20 }, 129 + { "color": "#5a5a5a45", "column": 24 }, 130 + { "color": "#5a5a5a45", "column": 28 }, 131 + { "color": "#5a5a5a45", "column": 32 }, 132 + { "color": "#5a5a5a45", "column": 36 }, 133 + { "color": "#5a5a5a45", "column": 40 }, 134 + { "color": "#5a5a5a45", "column": 44 }, 135 + { "color": "#5a5a5a45", "column": 48 }, 136 + { "color": "#5a5a5a45", "column": 52 }, 137 + { "color": "#5a5a5a45", "column": 56 }, 138 + { "color": "#5a5a5a45", "column": 60 }, 139 + { "color": "#5a5a5a45", "column": 64 }, 140 + { "color": "#5a5a5a45", "column": 68 }, 141 + { "color": "#5a5a5a45", "column": 72 }, 142 + { "color": "#5a5a5a45", "column": 76 }, 143 + { "color": "#5a5a5a45", "column": 84 }, 144 + { "color": "#5a5a5a45", "column": 92 }, 145 + { "color": "#5a5a5a45", "column": 96 }, 148 146 // Keep the default ones 149 147 80, 150 148 88, ··· 178 176 "[xml]": { 179 177 "editor.defaultFormatter": "redhat.vscode-xml", 180 178 }, 179 + 180 + // MARK: A 181 181 182 182 "accessibility.signals.terminalBell": { 183 183 "sound": "on" ··· 248 248 // And make the comment editor also use the same. The second selector is needed 249 249 // for the cursor to use the same letter spacing as the rendered text, otherwise 250 250 // selections and cursor position will be computed for the default font instead . 251 - ".comment-form .monaco-editor, .comment-form .monaco-editor-background .monaco-mouse-cursor-text": { 251 + ".comment-form .monaco-editor, .comment-form .monaco-editor-background .monaco-mouse-cursor-text, .comments-panel .comments-panel-container .text code": { 252 252 "font-size": "12px !important", 253 253 "font-feature-settings": "'calt', 'liga', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09' !important", 254 254 // Also override spacing! The cursor will be screwed up otherwise: ··· 266 266 "atlascode.bitbucket.explorer.enabled": false, 267 267 "atlascode.bitbucket.pipelines.explorerEnabled": false, 268 268 "atlascode.bitbucket.issues.explorerEnabled": false, 269 - "atlascode.bitbucket.preferredRemotes": [], 269 + "atlascode.bitbucket.preferredRemotes": [ ], 270 270 "atlascode.bitbucket.contextMenus.enabled": false, 271 271 "atlascode.bitbucket.statusbar.enabled": false, 272 272 "atlascode.bitbucket.enabled": false, ··· 287 287 ], 288 288 "atlascode.outputLevel": "debug", 289 289 290 + // MARK: B 291 + 290 292 "bazel.buildifierFixOnFormat": true, 291 293 "bazel.executable": "/usr/local/bin/bazelisk", 292 294 "bazel.enableCodeLens": true, 293 295 "bazel.queriesShareServer": true, 294 296 295 297 "breadcrumbs.enabled": true, 298 + 299 + // MARK: C 296 300 297 301 "C_Cpp.autocomplete": "disabled", 298 302 "C_Cpp.enhancedColorization": "disabled", ··· 320 324 "--pch-storage=disk", 321 325 "--background-index" 322 326 ], 323 - "clangd.checkUpdates": true, 324 - "clangd.path": "/Users/ichamberlain/Library/Application Support/Code/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/18.1.3/clangd_18.1.3/bin/clangd", 327 + "clangd.checkUpdates": false, 328 + "clangd.path": "/Users/ianchamberlain/Library/Application Support/Code/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/18.1.3/clangd_18.1.3/bin/clangd", 325 329 "clangd.onConfigChanged": "restart", 326 330 327 331 "cmake.ignoreCMakeListsMissing": true, ··· 334 338 "workbench.action.tasks.runTask" 335 339 ], 336 340 337 - "color-highlight.matchRgbWithNoFunction": false, 341 + "color-highlight.matchRgbWithNoFunction": false, 338 342 "color-highlight.languages": [ 339 343 "*", 340 344 "!css", ··· 343 347 "!mapfile", 344 348 ], 345 349 "color-highlight.rgbWithNoFunctionLanguages": [ 346 - "rust", 350 + "rust", 347 351 ], 348 352 "color-highlight.markerType": "dot-before", 349 353 ··· 387 391 "cSpell.diagnosticLevel": "Hint", 388 392 "cSpell.useCustomDecorations": false, 389 393 394 + // MARK: D 395 + 390 396 "diffEditor.hideUnchangedRegions.enabled": true, 397 + "diffEditor.ignoreTrimWhitespace": true, 391 398 "diffEditor.renderSideBySide": true, 392 399 "diffEditor.wordWrap": "on", 393 400 394 401 "diffviewer.colorScheme": "dark", 395 - "diffviewer.outputFormat": "line-by-line", 402 + "diffviewer.outputFormat": "side-by-side", 396 403 397 404 "debug.console.acceptSuggestionOnEnter": "off", 398 405 "debug.console.fontFamily": "Monaspace Argon, Input Mono, Monaco, monospace", ··· 428 435 // "dotfiles.installCommand": "true", // ".config/yadm/bootstrap", 429 436 // "dotfiles.targetPath": "~", 430 437 438 + "dotnetAcquisitionExtension.enableTelemetry": false, 439 + 440 + // MARK: E 431 441 "editor.acceptSuggestionOnEnter": "smart", 432 442 "editor.accessibilitySupport": "off", 433 443 "editor.bracketPairColorization.enabled": true, ··· 456 466 "editor.lineNumbers": "on", 457 467 "editor.renderControlCharacters": true, 458 468 "editor.glyphMargin": true, 459 - "editor.renderWhitespace": "selection", 469 + "editor.renderWhitespace": "none", 460 470 "editor.rulers": [ 461 471 80, 462 472 88, // `black`'s default max length ··· 590 600 "foreground": "#F92672", 591 601 "fontStyle": "", 592 602 }, 593 - }, 594 - { 603 + }, 604 + { 595 605 "scope": "support.type.property-name.array.toml", 596 606 "settings": { 597 607 "foreground": "#A6E22E", ··· 753 763 "asvetliakov.vscode-neovim": 1, 754 764 }, 755 765 766 + // MARK: F 756 767 "files.associations": { 757 768 "**/.cargo/config": "toml", 758 769 "**/.ssh/*config*": "ssh_config", ··· 876 887 "**/private/var/tmp/**": true, 877 888 }, 878 889 890 + // MARK: G 879 891 "git.autorefresh": true, 880 892 "git.autoRepositoryDetection": "openEditors", 881 893 "git.detectSubmodules": true, ··· 1022 1034 "gitlens.mode.statusBar.enabled": false, 1023 1035 "gitlens.plusFeatures.enabled": false, 1024 1036 "gitlens.statusBar.enabled": false, 1037 + "gitlens.telemetry.enabled": false, 1025 1038 "gitlens.terminalLinks.showDetailsView": false, 1026 1039 "gitlens.views.repositories.autoRefresh": false, 1027 1040 ··· 1050 1063 "noSemanticNumber": true, 1051 1064 }, 1052 1065 1053 - "godot_tools.gdscript_lsp_server_port": 6005, 1054 - "godot_tools.editor_path": "/var/lib/flatpak/exports/bin/org.godotengine.Godot", 1066 + "godotTools.editorPath.godot4": "godot", 1067 + "godotTools.lsp.serverPort": 6005, 1055 1068 1056 1069 "groovyLint.format.enable": false, 1057 1070 "groovyLint.format.useDocumentIndentSize": true, ··· 1059 1072 "grunt.autoDetect": "off", 1060 1073 "gulp.autoDetect": "off", 1061 1074 1075 + // MARK: H 1076 + 1062 1077 "haskell.manageHLS": "PATH", 1063 1078 1064 1079 "hexeditor.columnWidth": 16, ··· 1067 1082 "hexeditor.inspectorType": "aside", 1068 1083 1069 1084 "html.autoClosingTags": true, 1085 + 1086 + // MARK: I 1070 1087 1071 1088 "isort.args": [ 1072 1089 "--profile", 1073 1090 "black" 1074 1091 ], 1075 1092 1093 + // MARK: J 1094 + 1076 1095 "jake.autoDetect": "off", 1077 1096 1078 1097 "json.format.keepLines": true, 1079 1098 1080 1099 "jupyter.interactiveWindow.textEditor.magicCommandsAsComments": true, 1081 1100 1101 + // MARK: K 1102 + 1082 1103 // This seems to fix key issues on Linux, but TBD whether it breaks anything on macOS 1083 1104 "keyboard.dispatch": "keyCode", 1084 1105 1106 + // MARK: L 1107 + 1085 1108 "lldb.adapterEnv": { 1086 1109 "PYENV_VERSION": "system" 1087 1110 }, ··· 1097 1120 "?/init.lua", 1098 1121 "?.lua", 1099 1122 ], 1123 + 1124 + // MARK: M 1100 1125 1101 1126 "markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": false, 1102 1127 "markdown-preview-enhanced.codeBlockTheme": "monokai.css", ··· 1119 1144 "merge-conflict.diffViewPosition": "Below", 1120 1145 1121 1146 "mermaid.theme": "dark", 1147 + 1148 + "mesonbuild.downloadLanguageServer": true, 1122 1149 1123 1150 "multiDiffEditor.experimental.enabled": false, 1124 1151 1152 + // MARK: N 1153 + 1125 1154 "nginx-conf-hint.syntax": "sublime", 1126 1155 1127 - "nix.enableLanguageServer": false, 1128 - "nix.serverPath": "nil", // "nixd", 1156 + "nix.enableLanguageServer": true, 1157 + "nix.serverPath": "nil", 1158 + "nix.hiddenLanguageServerErrors" : [ 1159 + "textDocument/definition", 1160 + "textDocument/documentSymbol", 1161 + "textDocument/documentHighlight", 1162 + ], 1163 + "nix.serverEnv": { 1164 + // "NIL_LOG": "trace", 1165 + // "PATH": "${env:PATH}" 1166 + }, 1129 1167 "nix.serverSettings": { 1130 1168 // https://github.com/oxalica/nil/blob/main/docs/configuration.md 1131 1169 "nil": { ··· 1168 1206 }, 1169 1207 "notebook.lineNumbers": "on", 1170 1208 1209 + // MARK: O 1210 + 1171 1211 "org.todoKeywords": [ 1172 1212 "TODO", 1173 1213 "PROG", ··· 1175 1215 ], 1176 1216 1177 1217 "output.smartScroll.enabled": false, 1218 + 1219 + // MARK: P 1178 1220 1179 1221 "plist.editor.spacing": "comfortable", 1180 1222 "plist.logging.level": "verbose", ··· 1201 1243 "python.terminal.activateEnvironment": false, 1202 1244 "python.venvPath": "${env:PYENV_ROOT}", 1203 1245 1246 + // MARK: Q/R 1247 + 1204 1248 "remote.SSH.configFile": "~/.ssh/vscode_config", 1205 1249 1206 1250 "robot.completions.keywords.format": "Title Case", ··· 1216 1260 "rust-analyzer.cargo.features": "all", 1217 1261 "rust-analyzer.cargo.extraEnv": { 1218 1262 "CARGO_UNSTABLE_SPARSE_REGISTRY": "true", 1263 + }, 1264 + "rust-analyzer.server.extraEnv": { 1265 + "PATH": "${userHome}/.nix-profile/bin:${userHome}/.cargo/bin:/usr/local/bin:/usr/sbin:/usr/bin" 1219 1266 }, 1220 1267 "rust-analyzer.cargo.noDefaultFeatures": false, 1221 1268 "rust-analyzer.checkOnSave.allTargets": true, ··· 1264 1311 // Makes debugging test output much more readable 1265 1312 "RUST_TEST_THREADS": "1" 1266 1313 }, 1267 - "rust-analyzer.runnables.extraArgs": [], 1314 + "rust-analyzer.runnables.extraArgs": [ ], 1268 1315 "rust-analyzer.semanticHighlighting.punctuation.specialization.enable": true, 1316 + 1317 + // MARK: S 1269 1318 1270 1319 "salt-lint.enable": true, 1271 1320 "salt-lint.executablePath": "/Users/ichamberlain/.pyenv/versions/i95-py3/bin/salt-lint", ··· 1328 1377 ], 1329 1378 1330 1379 "stylua.searchParentDirectories": true, 1380 + 1381 + // MARK: T 1331 1382 1332 1383 "telemetry.telemetryLevel": "off", 1333 1384 ··· 1352 1403 // Normally we'd want Var to enable certain ligatures, but the integrated terminal 1353 1404 // doesn't seem to support them anyway so just use the non-Var for its higher weight 1354 1405 "terminal.integrated.fontFamily": "Monaspace Argon Var, Monaspace Argon, MonaspiceAr Nerd Font, Input Mono, Monaco, monospace", 1355 - "terminal.integrated.fontSize": 11, 1406 + "terminal.integrated.fontSize": 12, 1356 1407 "terminal.integrated.fontWeight": "400", 1357 1408 "terminal.integrated.fontWeightBold": "800", 1358 1409 // Integrated terminal "letterSpacing" only works in integer increments, but 1359 1410 // ideally I'd probably want 0.5 or something. I'm not sure why the letters look 1360 1411 // so cramped with the default of 0, compared to the editor with 0 1361 - "terminal.integrated.letterSpacing": 0, 1412 + "terminal.integrated.letterSpacing": 1, 1362 1413 "terminal.integrated.ignoreProcessNames": [ 1363 1414 "bash", 1364 1415 "zsh", ··· 1366 1417 ], 1367 1418 "terminal.integrated.defaultProfile.linux": "fish", 1368 1419 "terminal.integrated.defaultProfile.osx": "fish", 1369 - "terminal.integrated.defaultProfile.windows": "Git Bash", 1370 1420 "terminal.integrated.drawBoldTextInBrightColors": false, 1371 1421 "terminal.integrated.enableVisualBell": true, 1372 1422 "terminal.integrated.gpuAcceleration": "auto", ··· 1527 1577 1528 1578 "typescript.check.npmIsInstalled": false, 1529 1579 1580 + // MARK: U/V 1581 + 1530 1582 "vscode-neovim.logOutputToConsole": false, 1531 1583 "vscode-neovim.neovimClean": false, 1532 1584 "vscode-neovim.afterInitConfig": [], 1533 - "vscode-neovim.useWSL": false, 1585 + "vscode-neovim.useWSL": true, 1586 + "vscode-neovim.neovimExecutablePaths.darwin": "nvim", 1534 1587 "vscode-neovim.statusLineSeparator": " ⏐ ", // alternatively maybe § but it's a bit noisy 1535 1588 "vscode-neovim.highlightGroups.highlights": { 1536 1589 "CurSearch": { ··· 1557 1610 "vscode-pets.petType": "crab", 1558 1611 "vscode-pets.throwBallWithMouse": true, 1559 1612 1613 + // MARK: W 1614 + 1560 1615 "window.restoreWindows": "folders", 1561 1616 "window.title": "${folderName}${separator}${activeEditorMedium} ${dirty}", 1562 1617 "window.menuBarVisibility": "visible", ··· 1612 1667 "[Cute]": { 1613 1668 // "activityBar.background": "#fceaf1", 1614 1669 "activityBar.inactiveForeground": "#333333b3", 1615 - "activityBar.background":"#fcdee9",// "#fceaf1", 1670 + "activityBar.background": "#fcdee9", // "#fceaf1", 1616 1671 "activityBar.foreground": "#333333", 1617 1672 "activityBar.dropBorder": "#ff4574", 1618 1673 "activityBar.activeBorder": "#ff4574", ··· 1660 1715 "workbench.startupEditor": "newUntitledFile", 1661 1716 "workbench.trustedDomains.promptInTrustedWorkspace": true, 1662 1717 1718 + // MARK: X 1719 + 1663 1720 "xmlTools.enforcePrettySelfClosingTagOnFormat": true, 1664 1721 "xmlTools.splitAttributesOnFormat": true, 1665 1722 "xmlTools.splitXmlnsOnFormat": true, 1666 1723 "xml.downloadExternalResources.enabled": true, 1667 1724 "xml.validation.resolveExternalEntities": true, 1725 + 1726 + // MARK: Y 1668 1727 1669 1728 "yaml.schemaStore.enable": true, 1670 1729 "yaml.schemas": { ··· 1675 1734 "**/*.tm[Ll]anguage.ya?ml" 1676 1735 ], 1677 1736 }, 1737 + 1738 + // MARK: Z 1678 1739 }
+3 -23
.config/emacs/init.el
··· 33 33 ;; just comment it out by adding a semicolon to the start of the line. 34 34 ;; You may delete these explanatory comments. 35 35 (package-initialize) 36 - 37 36 (custom-set-variables 38 37 ;; custom-set-variables was added by Custom. 39 38 ;; If you edit it by hand, you could mess it up, so be careful. 40 39 ;; Your init file should contain only one such instance. 41 40 ;; If there is more than one, they won't work right. 42 41 '(alert-fade-time 5) 43 - '(auto-save-file-name-transforms '((".*" "~/.local/share/emacs/autosave/" t))) 44 42 '(backup-by-copying t) 45 43 '(backup-directory-alist '(("." . "~/.local/share/emacs/backup"))) 46 44 '(before-save-hook '(delete-trailing-whitespace)) ··· 95 93 ("begin" "$1" "$" "$$" "\\(" "\\["))) 96 94 '(org-image-actual-width nil) 97 95 '(org-indirect-buffer-display 'current-window) 98 - '(org-notifications-play-sounds nil) 99 - '(org-notifications-style 'libnotify) 100 - '(org-notifications-title "Agenda Reminder") 101 96 '(org-preview-latex-default-process 'dvipng) 102 97 '(org-priority-default 68) 103 98 '(org-priority-lowest 68) ··· 108 103 '(org-use-property-inheritance '("DEADLINE" "SCHEDULED")) 109 104 '(org-wild-notifier-keyword-whitelist nil) 110 105 '(package-selected-packages 111 - '(fish-mode ox-slack org-notifications org-ql dash alert orglink ox-gfm go-mode yaml-mode rust-mode hl-todo evil-collection monokai-theme evil-org evil)) 106 + '(fish-mode ox-slack org-ql dash alert orglink ox-gfm go-mode yaml-mode rust-mode hl-todo evil-collection monokai-theme evil-org evil)) 112 107 '(package-user-dir "~/.local/share/emacs/elpa") 113 - '(read-buffer-completion-ignore-case t) 114 108 '(require-final-newline t) 115 109 '(select-enable-clipboard nil) 116 110 '(show-paren-mode t) ··· 123 117 ;; If you edit it by hand, you could mess it up, so be careful. 124 118 ;; Your init file should contain only one such instance. 125 119 ;; If there is more than one, they won't work right. 126 - '(default ((t (:inherit nil :extend nil :stipple nil :background "#272822" :foreground "#F8F8F2" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight regular :height 98 :width normal :foundry "outline" :family "Monospace"))))) 120 + '(default ((t (:inherit nil :extend nil :stipple nil :background "#272822" :foreground "#F8F8F2" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight regular :height 120 :width normal :foundry "nil" :family "Monaspace Argon Var"))))) 121 + 127 122 128 123 ;; ================================================================================ 129 124 ;; User Configuration ··· 264 259 ;; but now it seems like redo is working better 265 260 (org-agenda-redo))))) 266 261 267 - (defun org-agenda-redo-save-hook() 268 - ;; same as above, but only if current mode is org-mode 269 - (when (eq major-mode 'org-mode) 270 - (org-agenda-redo-all) 271 - ;; re-evaluate notifications after updating agenda 272 - (org-notifications-start))) 273 - 274 262 ;; https://emacs.stackexchange.com/a/13238 275 263 (defun org-todo-list-current-file (&optional arg) 276 264 "Like `org-todo-list', but using only the current buffer's file." ··· 379 367 ;; Export org-mode to github-flavored markdown 380 368 (eval-after-load "org" 381 369 '(require 'ox-gfm nil t)) 382 - 383 - (org-notifications-start) 384 - ;; add our own rule to make sure notifs are persistent. 385 - (alert-add-rule :category "org-notifications" 386 - :persistent t 387 - :style 'notifications 388 - ;; by default this is inserted to head of list 389 - :continue t)
+19 -2
.config/flake.nix
··· 124 124 enable = true; 125 125 enableRosetta = true; 126 126 inherit user; 127 + 128 + bundlerGemGroups = [ "livecheck" "style" "audit" ]; 127 129 # TODO: Declarative tap management 128 130 }; 129 131 } ··· 143 145 darwinSystems; 144 146 145 147 nixosConfigurations = mapAttrs 146 - (hostname: { system, user, wsl ? false, ...}: nixpkgs.lib.nixosSystem { 148 + (hostname: { system, user, wsl ? false, ... }: nixpkgs.lib.nixosSystem { 147 149 inherit system; 148 150 specialArgs = specialArgsFor hostname; 149 151 ··· 187 189 modules = [ 188 190 ./home-manager/home.nix 189 191 ({ pkgs, ... }: { 190 - nix.package = inputs.unstable.lix; 192 + nix.package = inputs.nixpkgs-unstable.lix; 191 193 }) 192 194 ./nixpkgs/flake-overlays.nix 193 195 ]; ··· 237 239 yadm 238 240 ]; 239 241 }; 242 + } 243 + ) 244 + systems; 245 + 246 + 247 + packages = lib.mapAttrs' 248 + (_: { system, ... }: 249 + 250 + let pkgs = inputs.nixpkgs-unstable.legacyPackages.${system}; 251 + in lib.nameValuePair system 252 + { 253 + nix-extern-cmd = 254 + pkgs.callPackage ./nixpkgs/packages/nix-extern-cmd { 255 + nix = pkgs.lix; 256 + }; 240 257 } 241 258 ) 242 259 systems;
+1 -1
.config/git/config
··· 43 43 quotePath = true 44 44 protectNTFS = false 45 45 longpaths = true 46 - autocrlf = true 46 + autocrlf = input 47 47 symlinks = true 48 48 [diff] 49 49 tool = code
+8 -1
.config/home-manager/home.nix
··· 32 32 # https://github.com/nix-community/home-manager/issues/5602 33 33 34 34 nix.settings = { 35 - repl-overlays = "/${config.xdg.configHome}/nix/repl-overlays.nix"; 35 + repl-overlays = "${config.xdg.configHome}/nix/repl-overlays.nix"; 36 36 # Use extra- to avoid overwriting settings from nix-darwin 37 37 extra-experimental-features = [ 38 38 "repl-flake" ··· 42 42 43 43 # TODO: try out default-flake 44 44 # https://github.com/nix-community/home-manager/issues/5753 45 + 46 + extra-plugin-files = "${config.xdg.configHome}/nix/plugins"; 47 + use-xdg-base-directories = true; 45 48 }; 49 + # Annoying, idk how to resolve this... 50 + # https://github.com/nix-community/home-manager/issues/5753 51 + nix.checkConfig = false; 46 52 47 53 # https://github.com/nix-community/home-manager/issues/2033 48 54 news = { ··· 71 77 nix 72 78 python 73 79 vimdoc 80 + xml 74 81 ])) 75 82 ]; 76 83 };
+16 -10
.config/iterm2/scripts/AutoLaunch/night_mode_hicontrast.py
··· 14 14 iTerm2 async plugin runtime can serialize it to JSON. 15 15 """ 16 16 17 - HIGH = 0.6 17 + HIGH = 0.7 18 18 MEDIUM = 0.3 19 19 DEFAULT = 0.0 20 20 ··· 31 31 32 32 33 33 async def main(connection): 34 + # Session.all_proxy would be preferable here but seems broken... 34 35 app = await iterm2.async_get_app(connection) 35 - session = app.current_terminal_window.current_tab.current_session 36 - change = iterm2.LocalWriteOnlyProfile() 36 + assert app 37 + sessions = app.buried_sessions 38 + for window in app.windows: 39 + for tab in window.tabs: 40 + sessions.extend(tab.sessions) 41 + 42 + profile = iterm2.LocalWriteOnlyProfile() 37 43 38 44 while True: 39 45 now = datetime.now() ··· 58 64 ) 59 65 60 66 print(f"setting minimum contrast to {min_contrast}") 61 - change.set_minimum_contrast(min_contrast) 62 - try: 63 - await session.async_set_profile_properties(change) 64 - except Exception as err: 65 - print("Failed to set profile properties:", err) 66 - await asyncio.sleep(10) 67 - continue 67 + profile.set_minimum_contrast(min_contrast) 68 + for session in sessions: 69 + try: 70 + await session.async_set_profile_properties(profile) 71 + except Exception as err: 72 + print("Failed to set profile properties:", err) 73 + continue 68 74 69 75 print(f"Sleeping until approximately {wakeup} to adjust contrast again") 70 76 await asyncio.sleep((wakeup - now).total_seconds())
+1 -1
.config/keepassxc/keepassxc.ini
··· 97 97 Dashes=false 98 98 ExcludeAlike=false 99 99 ExcludedChars="<>(){};&" 100 - Length=64 100 + Length=20 101 101 Logograms=true 102 102 Math=false 103 103 Punctuation=false
+1 -1
.config/nix-darwin/homebrew/aarch64-darwin.nix
··· 15 15 system = "x86_64-darwin"; 16 16 17 17 configuration.homebrew = { 18 - inherit (config.homebrew) enable global; 18 + inherit (config.homebrew) enable global taps; 19 19 onActivation = { 20 20 inherit (config.homebrew.onActivation) cleanup extraFlags; 21 21 };
+1
.config/nix-darwin/homebrew/personal.nix
··· 4 4 caskArgs.appdir = "${config.users.users.${host.user}.home}/Applications"; 5 5 casks = [ 6 6 "mullvadvpn" 7 + "android-platform-tools" 7 8 ]; 8 9 }; 9 10 }
+41 -25
.config/nvim/init.lua
··· 28 28 29 29 -- TODO: convert remainder of this to proper Lua config 30 30 31 - if not vim.g.vscode then 32 - -- Default to dark mode if unset 33 - vim.opt.background = os.getenv("COLOR_THEME") or "dark" 31 + -- Wrap this in a pcall in case treesitter isn't installed 32 + pcall(function() 33 + require("nvim-treesitter.configs").setup({ 34 + highlight = { 35 + -- VScode does highlighting and we don't want treesitter 36 + enable = false, -- not vim.g.vscode, 37 + }, 38 + }) 39 + end) 34 40 35 - require("monokai-nightasty").setup({ 36 - on_highlights = function(highlights, colors) 37 - -- It seems like most syntaxes just use String for quotes, but 38 - -- for some (e.g. JSON) they are highlighted differently. 39 - -- This just forces them back to regular String highlight 40 - highlights.Quote = highlights.String 41 + -- Even though vscode should be doing its own highlights, this also 42 + -- enables monokai for e.g. :help highlighting and matches a little better when 43 + -- vscode-neovim tries to highlight things it shouldn't. 44 + -- TODO I should maybe file another issue about the highlight stuff... 45 + require("monokai-nightasty").setup({ 46 + on_highlights = function(highlights, colors) 47 + -- It seems like most syntaxes just use String for quotes, but 48 + -- for some (e.g. JSON) they are highlighted differently. 49 + -- This just forces them back to regular String highlight 50 + highlights.Quote = highlights.String 41 51 42 - -- More like the old vim highlighting: 43 - highlights.gitcommitSummary, highlights.gitcommitOverflow = 44 - highlights.gitcommitOverflow, highlights.gitcommitSummary 45 - end, 46 - }) 47 - vim.cmd.colorscheme("monokai-nightasty") 52 + -- More like the old vim highlighting: 53 + highlights.gitcommitSummary, highlights.gitcommitOverflow = 54 + highlights.gitcommitOverflow, highlights.gitcommitSummary 55 + end, 56 + }) 48 57 49 - -- Wrap this in a pcall in case treesitter isn't installed 50 - pcall(function() 51 - require("nvim-treesitter.configs").setup({ 52 - highlight = { enable = true }, 53 - }) 54 - end) 58 + vim.cmd.colorscheme("monokai-nightasty") 59 + 60 + if not vim.g.vscode then 61 + -- Default to dark mode if unset 62 + vim.opt.background = os.getenv("COLOR_THEME") or "dark" 55 63 56 64 -- TODO: https://github.com/akinsho/git-conflict.nvim 57 65 else 58 66 -- vscode-neovim 59 67 local vscode = require("vscode") 60 68 61 - vim.opt.cmdheight = 1 69 + -- vim.opt.cmdheight = 1 62 70 63 71 local group = vim.api.nvim_create_augroup("vscode-custom", {}) 64 72 ··· 84 92 85 93 -- Fix comment handling for AHK 86 94 vim.api.nvim_create_autocmd({ "BufEnter" }, { 87 - pattern = {"*.ahk", "*.ahk2"}, 95 + pattern = { "*.ahk", "*.ahk2" }, 88 96 group = group, 89 97 callback = function(args) 90 98 vim.opt.comments = { ··· 94 102 ":;;", 95 103 ":;", 96 104 } 97 - end 105 + end, 98 106 }) 99 107 100 108 -- For whatever reason, nvim buffers sometimes open without line numbers: ··· 184 192 }, 185 193 186 194 -- Opt-in to takeover on some URLs 187 - ["https?://(www[.])?shadertoy[.]com"] = { 195 + ["https?://(www[.])?shadertoy[.]com/?.*"] = { 188 196 takeover = "once", 189 197 priority = 5, 190 198 }, ··· 196 204 } 197 205 198 206 if vim.g.started_by_firenvim then 207 + -- TODO: different devices need different font sizes here: 208 + -- https://github.com/glacambre/firenvim/issues/e565 209 + -- h9 is probably ok for a 1080p screen, but hiDPI is different 210 + -- and seems like 18~20 is about right? Lua could probably figure it out 211 + -- using some yadm / os commands 212 + 213 + require("lspconfig").glsl_analyzer.setup({}) 214 + 199 215 vim.cmd([[ 200 216 " For whatever reason this doesn't needs explicit keybinding: 201 217 " https://github.com/glacambre/firenvim/issues/332
+1 -1
.config/yadm/.pre-commit-config.yaml
··· 10 10 id: clean-keepassxc 11 11 language: python 12 12 entry: .config/yadm/hooks/clean-keepassxc-ini.py 13 - args: [.config/keepassxc/keepassxc.ini] 14 13 files: ^[.]config/keepassxc/keepassxc[.]ini 14 + pass_filenames: true 15 15 16 16 # Order these first so any auto-formatting etc. doesn't affect them. 17 17 # For example, merge conflict detection may be affected.
+2
.config/yadm/alt/.config/iterm2/com.googlecode.iterm2.plist##user.ianchamberlain,class.personal,extension.plist
··· 16 16 <integer>16384</integer> 17 17 <key>AiModel</key> 18 18 <string>gpt-3.5-turbo</string> 19 + <key>AllowClipboardAccess</key> 20 + <true/> 19 21 <key>AlternateMouseScroll</key> 20 22 <true/> 21 23 <key>AutoHideTmuxClientSession</key>
.config/yadm/alt/.ssh/config.local##class.personal

This is a binary file and will not be displayed.

.config/yadm/alt/.ssh/known_hosts##class.personal

This is a binary file and will not be displayed.

+63 -69
.config/yadm/alt/Library/Application Support/Stretchly/config.json##os.Darwin
··· 1 1 { 2 - "microbreakDuration": 20000, 3 - "microbreakInterval": 2400000, 4 - "breakDuration": 300000, 5 - "breakInterval": 2, 6 - "breakNotification": true, 7 - "microbreakNotification": true, 8 - "breakNotificationInterval": 30000, 9 - "microbreakNotificationInterval": 10000, 10 - "microbreak": true, 2 + "__internal__": { 3 + "migrations": { 4 + "version": "1.15.1" 5 + } 6 + }, 7 + "allScreens": true, 8 + "appExclusions": [], 9 + "appExclusionsCheckInterval": 1000, 10 + "audio": "reverie", 11 11 "break": true, 12 - "microbreakStrictMode": false, 13 - "breakStrictMode": false, 14 - "morningHour": 8, 15 - "microbreakPostpone": true, 16 - "breakPostpone": true, 17 - "microbreakPostponeTime": 120000, 18 - "breakPostponeTime": 300000, 19 - "microbreakPostponesLimit": 1, 20 - "microbreakPostponableDurationPercent": 30, 21 - "breakPostponesLimit": 1, 22 - "breakPostponableDurationPercent": 30, 23 - "mainColor": "#633738", 24 - "miniBreakColor": "#633738", 25 - "transparentMode": true, 26 - "opacity": 0.9, 27 - "audio": "reverie", 28 - "miniBreakAudio": "reverie", 29 - "volume": 0.8, 30 - "fullscreen": false, 31 - "ideas": true, 32 - "naturalBreaks": true, 33 - "naturalBreaksInactivityResetTime": 300000, 34 - "allScreens": true, 35 - "useIdeasFromSettings": false, 36 - "language": "en", 37 - "notifyNewVersion": true, 38 - "isFirstRun": false, 39 - "posLatitude": 42.37, 40 - "posLongitude": 71.1, 41 - "useMonochromeTrayIcon": true, 42 - "useMonochromeInvertedTrayIcon": true, 43 - "silentNotifications": false, 44 - "monitorDnd": true, 45 - "microbreakStartSoundPlaying": false, 46 - "breakStartSoundPlaying": false, 47 - "themeSource": "system", 48 - "endBreakShortcut": "Super+Esc", 49 - "breakWindowWidth": 0.9, 50 - "breakWindowHeight": 0.9, 51 - "checkNewVersion": true, 12 + "breakDuration": 300000, 52 13 "breakIdeas": [ 53 14 { 54 15 "data": [ ··· 296 257 "enabled": true 297 258 } 298 259 ], 260 + "breakInterval": 2, 261 + "breakNotification": true, 262 + "breakNotificationInterval": 30000, 263 + "breakPostponableDurationPercent": 30, 264 + "breakPostpone": true, 265 + "breakPostponeTime": 300000, 266 + "breakPostponesLimit": 1, 267 + "breakStartSoundPlaying": false, 268 + "breakStrictMode": false, 269 + "breakWindowHeight": 0.9, 270 + "breakWindowWidth": 0.9, 271 + "checkNewVersion": true, 272 + "currentTimeInBreaks": true, 273 + "endBreakShortcut": "CmdOrCtrl+Esc", 274 + "fullscreen": false, 275 + "ideas": true, 276 + "isFirstRun": false, 277 + "language": "en", 278 + "mainColor": "#633738", 279 + "microbreak": true, 280 + "microbreakDuration": 20000, 299 281 "microbreakIdeas": [ 300 282 { 301 283 "data": "Go grab a glass of water.", ··· 502 484 "enabled": true 503 485 } 504 486 ], 505 - "showBreaksAsRegularWindows": false, 506 - "appExclusions": [], 507 - "appExclusionsCheckInterval": 1000, 508 - "pauseForSuspendOrLock": true, 487 + "microbreakInterval": 2400000, 488 + "microbreakNotification": true, 489 + "microbreakNotificationInterval": 10000, 490 + "microbreakPostponableDurationPercent": 30, 491 + "microbreakPostpone": true, 492 + "microbreakPostponeTime": 120000, 493 + "microbreakPostponesLimit": 1, 494 + "microbreakStartSoundPlaying": false, 495 + "microbreakStrictMode": false, 496 + "miniBreakAudio": "reverie", 497 + "miniBreakColor": "#633738", 498 + "monitorDnd": true, 499 + "morningHour": 7, 500 + "naturalBreaks": true, 501 + "naturalBreaksInactivityResetTime": 300000, 502 + "notifyNewVersion": true, 503 + "opacity": 0.75, 509 504 "pauseBreaksToggleShortcut": "", 510 - "pauseBreaksFor30MinutesShortcut": "", 511 - "pauseBreaksFor1HourShortcut": "", 512 - "pauseBreaksFor2HoursShortcut": "", 513 - "pauseBreaksFor5HoursShortcut": "", 514 - "pauseBreaksUntilMorningShortcut": "", 505 + "pauseForSuspendOrLock": true, 506 + "posLatitude": 42.37, 507 + "posLongitude": 71.1, 508 + "resetBreaksShortcut": "", 515 509 "screen": "primary", 516 - "timeToBreakInTray": false, 517 - "currentTimeInBreaks": true, 510 + "showBreaksAsRegularWindows": false, 518 511 "showTrayIcon": true, 519 - "skipToNextScheduledBreakShortcut": "", 520 - "skipToNextMiniBreakShortcut": "", 512 + "silentNotifications": false, 521 513 "skipToNextLongBreakShortcut": "", 522 - "resetBreaksShortcut": "", 523 - "showBreakActionsInStrictMode": false, 524 - "__internal__": { 525 - "migrations": { 526 - "version": "1.16.0" 527 - } 528 - } 514 + "skipToNextMiniBreakShortcut": "", 515 + "skipToNextScheduledBreakShortcut": "", 516 + "themeSource": "system", 517 + "timeToBreakInTray": false, 518 + "transparentMode": true, 519 + "useIdeasFromSettings": false, 520 + "useMonochromeInvertedTrayIcon": false, 521 + "useMonochromeTrayIcon": true, 522 + "volume": 0.8 529 523 }
.config/yadm/alt/Library/Application Support/lghub/settings.db##os.Darwin

This is a binary file and will not be displayed.

+5
.config/yadm/hooks/clean-keepassxc-ini.py
··· 1 1 #!/usr/bin/env python3 2 2 3 3 import configparser 4 + import os 4 5 import pathlib 5 6 import sys 6 7 ··· 16 17 config.remove_section("KeeShare") 17 18 with filename.open("w") as newfile: 18 19 config.write(newfile, space_around_delimiters=False) 20 + 21 + # trim extra trailing newline, to avoid conflict with end-of-file-fixer 22 + newfile.seek(0, os.SEEK_END) 23 + newfile.truncate(newfile.tell() - 1) 19 24 20 25 21 26 if __name__ == "__main__":
.ssh/vscode_config

This is a binary file and will not be displayed.

+1 -5
.vscode/argv.json
··· 8 8 { 9 9 // Use software rendering instead of hardware accelerated rendering. 10 10 // This can help in cases where you see rendering issues in VS Code. 11 - "disable-hardware-acceleration": false, 12 - 13 - // Enabled by default by VS Code to resolve color issues in the renderer 14 - // See https://github.com/microsoft/vscode/issues/51791 for details 15 - "disable-color-correct-rendering": true, 11 + // "disable-hardware-acceleration": true, 16 12 17 13 // Allows to disable crash reporting. 18 14 // Should restart the app if the value is changed.