Skip to content

Instantly share code, notes, and snippets.

@zurfyx
Last active February 9, 2026 14:33
Show Gist options
  • Select an option

  • Save zurfyx/9ae0ffc3436ff7a08dcb97ff1df66bd9 to your computer and use it in GitHub Desktop.

Select an option

Save zurfyx/9ae0ffc3436ff7a08dcb97ff1df66bd9 to your computer and use it in GitHub Desktop.
Dot files
[user]
name = Gerard Rovira
email = [email protected]
[gpg]
program = gpg2
[alias]
tree = log --oneline --graph --color --all --decorate
sbranch = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format='%(refname:short)'
pr = "!f() { if [ $# -lt 1 ]; then echo \"Usage: git pr <id> [<remote>] # assuming <remote>[=origin] is on GitHub\"; else git checkout -q \"$(git rev-parse --verify HEAD)\" && git fetch -fv \"${2:-origin}\" pull/\"$1\"/head:pr/\"$1\" && git checkout pr/\"$1\"; fi; }; f"
ac = "!f() { git add . && git commit -m \"$*\"; }; f"
acp = "!f() { \
set -e; \
branch=$(git symbolic-ref --short HEAD); \
git add .; \
git commit -m \"$*\"; \
\
if git rev-parse --abbrev-ref --symbolic-full-name @{u} >/dev/null 2>&1; then \
git push; \
exit 0; \
fi; \
\
for remote in origin $(git remote); do \
if git push --dry-run \"$remote\" \"$branch\" >/dev/null 2>&1; then \
git push -u \"$remote\" \"$branch\"; \
exit 0; \
fi; \
done; \
\
echo \"No writable remote found\" >&2; \
exit 1; \
}; f"
sync = "!f() { \
branch=$(git symbolic-ref --short HEAD) || exit 1; \
git fetch upstream || exit 1; \
git rebase upstream/$branch || exit 1; \
git push origin $branch; \
}; f"
[init]
defaultBranch = main
[credential]
helper = osxkeychain
shell-integration = zsh
macos-titlebar-style = tabs
window-padding-x = 12
font-size = 20
mouse-hide-while-typing = false
scrollback-limit = 1000000
clipboard-paste-protection = false
# Move between splits (no prefix)
keybind = super+left=goto_split:left
keybind = super+down=goto_split:bottom
keybind = super+up=goto_split:top
keybind = super+right=goto_split:right
# Prefix-style actions (Cmd+A instead of Ctrl+A)
keybind = super+a>left=new_split:left
keybind = super+a>down=new_split:down
keybind = super+a>up=new_split:up
keybind = super+a>right=new_split:right
keybind = super+a>z=toggle_split_zoom
keybind = super+a>n=next_tab
keybind = super+a>p=previous_tab
# Other
keybind = super+n=new_window
keybind = super+r=reload_config
window-save-state = always
// Place your key bindings in this file to override the defaults
// https://code.visualstudio.com/docs/getstarted/keybindings#_when-clause-contexts
[
{
"key": "ctrl+j",
"command": "workbench.action.terminal.focus",
"when": "editorFocus"
},
{
"key": "ctrl+j",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+l",
"command": "extension.jumpy-word"
},
{
"key": "ctrl+e",
"command": "editor.action.showHover",
"when": "editorTextFocus"
},
{ "key": "shift+cmd+t", "command": "workbench.action.newWindowTab" },
{ "key": "shift+cmd+m", "command": "workbench.action.mergeAllWindowTabs" }
]
{
// ─────────────────────────────────────────────────────────────────────────────
// Editor
// ─────────────────────────────────────────────────────────────────────────────
"editor.fontSize": 17,
"editor.tabSize": 2,
"editor.detectIndentation": true,
"editor.rulers": [100],
"editor.wordWrapColumn": 100,
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.dragAndDrop": true,
"editor.minimap.enabled": false,
"editor.formatOnSave": true,
"editor.guides.indentation": true,
"editor.stickyScroll.enabled": false,
"editor.accessibilitySupport": "off",
// ─────────────────────────────────────────────────────────────────────────────
// Workbench / UI
// ─────────────────────────────────────────────────────────────────────────────
"breadcrumbs.enabled": false,
"workbench.editor.enablePreview": false,
"workbench.editor.wrapTabs": true,
"workbench.editor.empty.hint": "hidden",
"workbench.layoutControl.enabled": false,
"workbench.colorCustomizations": {
"[Default Dark Modern]": {
// This is the pill (and often what makes that top row feel too light)
"commandCenter.background": "#1e1e1f",
"commandCenter.activeBackground": "#1e1e1f",
"commandCenter.border": "#00000000",
// These help the surrounding chrome blend so the seam disappears
"activityBar.background": "#1e1e1f",
"sideBar.background": "#1e1e1f",
// This one is the usual culprit for the “big light strip” under the native bar
"editorGroupHeader.noTabsBackground": "#1e1e1f",
"editorGroupHeader.tabsBackground": "#1e1e1f",
"sideBarSectionHeader.background": "#1e1e1f",
"sideBarSectionHeader.foreground": "#CCCCCC",
"sideBarSectionHeader.border": "#00000000",
"terminal.background": "#1e1e1f",
"panel.background": "#1e1e1f",
}
},
// ─────────────────────────────────────────────────────────────────────────────
// Explorer / Diff
// ─────────────────────────────────────────────────────────────────────────────
"explorer.openEditors.visible": 0,
"explorer.confirmDragAndDrop": false,
"diffEditor.ignoreTrimWhitespace": false,
// ─────────────────────────────────────────────────────────────────────────────
// Window
// ─────────────────────────────────────────────────────────────────────────────
"window.nativeTabs": true,
"window.openNewWindowsInNativeTabs": true,
"window.systemColorTheme": "dark",
"window.confirmBeforeClose": "always",
"window.zoomLevel": 1,
// Command Center toggle
"window.commandCenter": false,
// ─────────────────────────────────────────────────────────────────────────────
// Git
// ─────────────────────────────────────────────────────────────────────────────
"git.confirmSync": false,
"git.autofetch": true,
"git.enableSmartCommit": true,
"git.enableCommitSigning": true,
"git.autorefresh": false,
"git.decorations.enabled": false,
// ─────────────────────────────────────────────────────────────────────────────
// Language features / validation
// ─────────────────────────────────────────────────────────────────────────────
"html.autoClosingTags": false,
"javascript.validate.enable": false,
// TypeScript performance / behavior
"typescript.tsserver.maxTsServerMemory": 4096,
"typescript.disableAutomaticTypeAcquisition": true,
"typescript.tsserver.experimental.enableProjectDiagnostics": false,
// ─────────────────────────────────────────────────────────────────────────────
// Formatting (per-language)
// ─────────────────────────────────────────────────────────────────────────────
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.formatOnType": true
},
// ─────────────────────────────────────────────────────────────────────────────
// Terminal
// ─────────────────────────────────────────────────────────────────────────────
"terminal.integrated.enableMultiLinePasteWarning": "never",
"terminal.integrated.defaultProfile.osx": "zsh",
// ─────────────────────────────────────────────────────────────────────────────
// Search / File watching
// ─────────────────────────────────────────────────────────────────────────────
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true,
"**/.next": true,
"**/coverage": true
},
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.next/**": true,
"**/coverage/**": true,
"**/.git/objects/**": true
},
// ─────────────────────────────────────────────────────────────────────────────
// Extensions
// ─────────────────────────────────────────────────────────────────────────────
"code-runner.saveFileBeforeRun": true,
"redhat.telemetry.enabled": true,
// GitLens UI tweaks
"gitlens.currentLine.enabled": false,
"gitlens.hovers.currentLine.over": "line",
"gitlens.codeLens.enabled": false,
"gitlens.hovers.enabled": false,
// GitLens AI (updated format)
"gitlens.ai.model": "openai:gpt-4-turbo",
// Copilot
"chat.openOnStartup": false,
"github.copilot.enable": {
"*": false,
"plaintext": false,
"markdown": false,
"scminput": false
},
"github.copilot.nextEditSuggestions.enabled": true,
// Copilot Chat / tools
"chat.tools.terminal.autoApprove": {
"npm test": true,
"/^cat \\.husky/pre-commit \\| od -c$/": {
"approve": true,
"matchCommandLine": true
},
"npm run type-check": true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment