diff --git a/home/.managed/git/delta-config b/home/.managed/git/delta-config new file mode 100644 index 0000000..8909254 --- /dev/null +++ b/home/.managed/git/delta-config @@ -0,0 +1,57 @@ +# Delta Configuration - Dracula Theme +[delta] + # Core Settings + navigate = true # n/N to jump between files + side-by-side = false # Unified diff (better for small changes) + line-numbers = true # Show line numbers + syntax-theme = Dracula # Match Dracula theme + paging = never # Let lazygit handle paging + + # Display Quality + true-color = always + hyperlinks = true + hyperlinks-file-link-format = "file://{path}" + + # Line Number Styling (clearer format) + line-numbers-left-format = "{nm:>4} ⋮" # Old file line + line-numbers-right-format = "{np:>4} │" # New file line + line-numbers-left-style = "#6272a4" # Dracula comment + line-numbers-right-style = "#6272a4" + line-numbers-minus-style = "#ff5555" # Red for removed + line-numbers-plus-style = "#50fa7b" # Green for added + line-numbers-zero-style = "#6272a4" # Comment for unchanged + + # Hunk Headers (the @@ lines) + hunk-header-style = file line-number syntax + hunk-header-decoration-style = "#bd93f9" box # Purple box + hunk-header-line-number-style = "#f1fa8c" # Yellow line numbers + + # File Headers + file-style = "#ff79c6" bold # Pink filename + file-decoration-style = "#ff79c6" ul # Underline + + # Diff Styling (subtle backgrounds) + minus-style = syntax "#3f2d3d" # Subtle red bg for deletions + minus-emph-style = syntax "#5f3746" # Stronger red for changed parts + minus-non-emph-style = syntax auto + plus-style = syntax "#273a2e" # Subtle green bg for additions + plus-emph-style = syntax "#2f4f39" # Stronger green for changed parts + plus-non-emph-style = syntax auto + + # Whitespace Handling + whitespace-error-style = "#ff5555" reverse # Highlight trailing whitespace + + # Merge Conflict Styling + merge-conflict-begin-symbol = "⌃" + merge-conflict-end-symbol = "⌄" + merge-conflict-ours-diff-header-style = "#f1fa8c" bold + merge-conflict-theirs-diff-header-style = "#f1fa8c" bold italic + +[interactive] + diffFilter = delta --color-only --features=interactive + +[delta "interactive"] + keep-plus-minus-markers = false + +[diff] + colorMoved = default diff --git a/home/.managed/lazygit/config.yml b/home/.managed/lazygit/config.yml index 5fafe09..be8a90a 100755 --- a/home/.managed/lazygit/config.yml +++ b/home/.managed/lazygit/config.yml @@ -1,23 +1,137 @@ -gui: - theme: - activeBorderColor: - - "#E97387" - - bold - inactiveBorderColor: - - "#a5adce" - optionsTextColor: - - "#8caaee" - selectedLineBgColor: - - "#ECCFD3" - cherryPickedCommitBgColor: - - "#51576d" - cherryPickedCommitFgColor: - - "#CFF2E2" - unstagedChangesColor: - - "#E97387" - defaultFgColor: - - "#6B6B6B" - searchingActiveBorderColor: - - "#e5c890" - authorColors: - "*": "#babbf1" +gui: + # Dracula Theme - Official Colors + theme: + activeBorderColor: + - "#ff79c6" # Pink + - bold + inactiveBorderColor: + - "#6272a4" # Comment + searchingActiveBorderColor: + - "#8be9fd" # Cyan + - bold + optionsTextColor: + - "#bd93f9" # Purple + selectedLineBgColor: + - "#44475a" # Current Line + inactiveViewSelectedLineBgColor: + - bold + cherryPickedCommitFgColor: + - "#8be9fd" # Cyan + cherryPickedCommitBgColor: + - "#44475a" # Current Line + markedBaseCommitFgColor: + - "#f1fa8c" # Yellow + markedBaseCommitBgColor: + - "#44475a" # Current Line + unstagedChangesColor: + - "#ff5555" # Red + defaultFgColor: + - "#f8f8f2" # Foreground + authorColors: + "*": "#bd93f9" # Unified purple for all authors + # Nerd Fonts + nerdFontsVersion: "3" + showFileIcons: true + # Visual Preferences + border: "rounded" + animateExplosion: true + # Info Density (Balanced) + showListFooter: true + showFileTree: true + showCommandLog: true + showBottomLine: true + showPanelJumps: true + commitHashLength: 8 + showBranchCommitHash: false + showDivergenceFromBaseBranch: "arrowAndNumber" + # Disable Annoying Popups + skipDiscardChangeWarning: true + skipStashWarning: true + skipRewordInEditorWarning: true + showRandomTip: false + # Window Sizing + scrollHeight: 8 + sidePanelWidth: 0.3333 + expandFocusedSidePanel: false + # Commit Display + commitAuthorShortLength: 2 + commitAuthorLongLength: 17 +git: + # Paging (use delta) + pagers: + - colorArg: always + pager: delta + # Auto-behaviors + autoFetch: true + autoRefresh: true + fetchAll: true + autoStageResolvedConflicts: true + # Commit Settings + commit: + signOff: false + autoWrapCommitMessage: true + autoWrapWidth: 72 + # Log Display + log: + order: "topo-order" + showGraph: "always" + showWholeGraph: false + # Parsing + parseEmoji: true + # Copy Behavior + truncateCopiedCommitHashesTo: 12 +os: + edit: "micro {{filename}}" + editAtLine: "micro {{filename}}:{{line}}" + editAtLineAndWait: "micro {{filename}}:{{line}}" + editInTerminal: true +update: + method: "never" +confirmOnQuit: false +quitOnTopLevelReturn: false +disableStartupPopups: true +promptToReturnFromSubprocess: false +refresher: + refreshInterval: 2 # Fast refresh for file changes + fetchInterval: 60 # Fetch from remote every 60s +customCommands: + - key: "a" + context: "commits" + description: "Show CI status for commit" + command: 'bash -c "gh run list --commit {{.SelectedCommit.Sha}} --json conclusion,status,name,updatedAt --jq ''if length == 0 then \"No CI runs found\" else .[] | \"\\(.name): \\(if .conclusion == \"success\" then \"✓\" elif .conclusion == \"failure\" then \"✗\" elif .status == \"in_progress\" then \"⏳\" else \"?\" end) \\(.conclusion // .status)\" end''"' + loadingText: "Checking CI status..." + - key: "A" + context: "commits" + description: "View CI logs for commit" + command: 'bash -c "RUN_ID=$(gh run list --commit {{.SelectedCommit.Sha}} --json databaseId -q ''.[0].databaseId''); if [ -n \"$RUN_ID\" ]; then gh run view $RUN_ID --log; else echo \"No CI runs found for this commit\"; fi"' + loadingText: "Loading CI logs..." + - key: "a" + context: "localBranches" + description: "Show CI status for branch" + command: 'bash -c "gh run list --branch {{.SelectedLocalBranch.Name}} -L 1 --json conclusion,status,name,updatedAt --jq ''if length == 0 then \"No CI runs for this branch\" else .[0] | \"Latest: \\(.name) - \\(if .conclusion == \"success\" then \"✓ Passed\" elif .conclusion == \"failure\" then \"✗ Failed\" elif .status == \"in_progress\" then \"⏳ Running\" else .status end) (\\(.updatedAt))\" end''"' + loadingText: "Checking CI status..." + - key: "A" + context: "localBranches" + description: "View latest CI run for branch" + command: 'bash -c "RUN_ID=$(gh run list --branch {{.SelectedLocalBranch.Name}} -L 1 --json databaseId -q ''.[0].databaseId''); if [ -n \"$RUN_ID\" ]; then gh run view $RUN_ID --log; else echo \"No CI runs found for this branch\"; fi"' + loadingText: "Loading CI logs..." + - key: "w" + context: "files" + description: "Commit staged changes without pre-commit hooks" + prompts: + - type: "input" + title: "Commit message" + key: "message" + command: 'git commit --no-verify -m "{{.Form.message}}"' + - key: "o" + context: "commits" + description: "Open commit in GitHub" + command: "gh browse {{.SelectedCommit.Sha}}" + - key: "o" + context: "files" + description: "Open file in GitHub" + command: "gh browse {{.SelectedFile.Name}}" + - key: "" + context: "localBranches" + description: "Create PR for branch" + command: "gh pr create --fill --web" diff --git a/home/dot_config/fontconfig/fonts.conf b/home/dot_config/fontconfig/fonts.conf index 543b4b2..597dd09 100644 --- a/home/dot_config/fontconfig/fonts.conf +++ b/home/dot_config/fontconfig/fonts.conf @@ -11,10 +11,6 @@ --> - - @@ -87,10 +83,6 @@ - - sans-serif @@ -194,10 +186,6 @@ - -