From 980e9840207ef8a6f87b328306167fc1119e8290 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Wed, 25 Mar 2026 22:07:44 +0100 Subject: [PATCH] Add server templates and normalize role tags --- ansible/inventory/group_vars/server.yml | 11 + ansible/roles/dotfiles_common/tasks/main.yml | 3 + .../roles/profile_desktop_i3/tasks/main.yml | 30 + ansible/roles/profile_server/tasks/main.yml | 12 + ansible/roles/services_runit/tasks/main.yml | 2 + ansible/templates/server/.gitconfig.j2 | 83 +++ dotfiles/server/.gitignore_global | 73 ++ dotfiles/server/.themes.gitignore | 667 ++++++++++++++++++ 8 files changed, 881 insertions(+) create mode 100644 ansible/templates/server/.gitconfig.j2 create mode 100644 dotfiles/server/.gitignore_global create mode 100644 dotfiles/server/.themes.gitignore diff --git a/ansible/inventory/group_vars/server.yml b/ansible/inventory/group_vars/server.yml index d86bf8e..ecad076 100644 --- a/ansible/inventory/group_vars/server.yml +++ b/ansible/inventory/group_vars/server.yml @@ -12,10 +12,21 @@ profile_packages: - rsync server_dotfiles: + - src: .gitignore_global + dest: .gitignore_global + mode: "0644" + - src: .themes.gitignore + dest: .themes.gitignore + mode: "0644" - src: duckdns/ dest: duckdns/ mode: preserve +server_templates: + - src: server/.gitconfig.j2 + dest: .gitconfig + mode: "0644" + server_ufw_rules: - rule: allow name: OpenSSH diff --git a/ansible/roles/dotfiles_common/tasks/main.yml b/ansible/roles/dotfiles_common/tasks/main.yml index 725f3fc..d0ea112 100644 --- a/ansible/roles/dotfiles_common/tasks/main.yml +++ b/ansible/roles/dotfiles_common/tasks/main.yml @@ -1,10 +1,12 @@ --- - name: Ensure bat package is installed + tags: [packages] ansible.builtin.package: name: bat state: present - name: Ensure XDG user directories exist + tags: [dotfiles, dotfiles:common] ansible.builtin.file: path: "{{ user_home }}/{{ item }}" state: directory @@ -26,6 +28,7 @@ label: "{{ item.dest }}" - name: Refresh bat cache + tags: [dotfiles, dotfiles:common] ansible.builtin.command: cmd: "{{ 'batcat' if ansible_facts.os_family == 'Debian' else 'bat' }} cache --build" become_user: "{{ username }}" diff --git a/ansible/roles/profile_desktop_i3/tasks/main.yml b/ansible/roles/profile_desktop_i3/tasks/main.yml index 271a3ca..52a805a 100644 --- a/ansible/roles/profile_desktop_i3/tasks/main.yml +++ b/ansible/roles/profile_desktop_i3/tasks/main.yml @@ -64,6 +64,7 @@ when: ansible_facts['hostname'] == 'nymph' - name: Enable gnome-keyring PAM auth hook + tags: [packages, gnome] ansible.builtin.lineinfile: path: /etc/pam.d/login insertafter: '^auth\s+include\s+system-local-login$' @@ -71,6 +72,7 @@ state: present - name: Enable gnome-keyring PAM session hook + tags: [packages, gnome] ansible.builtin.lineinfile: path: /etc/pam.d/login insertafter: '^session\s+include\s+system-local-login$' @@ -78,6 +80,7 @@ state: present - name: Enable gnome-keyring PAM password hook + tags: [packages, gnome] ansible.builtin.lineinfile: path: /etc/pam.d/login insertafter: '^password\s+include\s+system-local-login$' @@ -199,6 +202,7 @@ - "{{ user_home }}/Maildir/ProtonMailAccount" - name: Bootstrap iCloud keyring secret from Ansible vault + tags: [dotfiles, dotfiles:desktop, gnome] when: desktop_manage_icloud_keyring | default(false) block: - name: Store iCloud mail password in GNOME Keyring @@ -308,6 +312,7 @@ - icloud_keyring_store.rc | default(1) != 0 - name: Clone st repository + tags: [packages] ansible.builtin.git: repo: https://codeberg.org/fscotto/st dest: "{{ user_home }}/.local/src/st" @@ -318,23 +323,27 @@ register: st_repo - name: Check whether st binary is installed + tags: [packages] ansible.builtin.stat: path: /usr/local/bin/st register: st_binary - name: Build and install st + tags: [packages] ansible.builtin.command: cmd: make clean install chdir: "{{ user_home }}/.local/src/st" when: st_repo.changed or not st_binary.stat.exists - name: Clean st build artifacts + tags: [packages] ansible.builtin.command: cmd: make clean chdir: "{{ user_home }}/.local/src/st" when: st_repo.changed or not st_binary.stat.exists - name: Ensure flathub remote is configured + tags: [packages] community.general.flatpak_remote: name: "{{ desktop_flatpak_remote_name | default('flathub') }}" state: present @@ -342,6 +351,7 @@ when: (desktop_flatpak_packages | default([])) | length > 0 - name: Install desktop flatpak applications + tags: [packages] community.general.flatpak: name: "{{ desktop_flatpak_packages }}" state: present @@ -350,6 +360,7 @@ when: (desktop_flatpak_packages | default([])) | length > 0 - name: Install Flatpak extensions + tags: [packages] community.general.flatpak: name: "{{ item }}" state: present @@ -362,6 +373,7 @@ - item | length > 0 - name: Set desktop external tool release metadata + tags: [packages] ansible.builtin.set_fact: desktop_tools_tmp_dir: /tmp/desktop-tools gitmux_version: v0.11.5 @@ -380,27 +392,32 @@ }} - name: Ensure architecture is supported for OpenCode binary + tags: [packages] ansible.builtin.fail: msg: "Unsupported architecture {{ ansible_facts['architecture'] }} for OpenCode release binary" when: opencode_asset_name == '' - name: Ensure architecture is supported for gitmux binary + tags: [packages] ansible.builtin.fail: msg: "Unsupported architecture {{ ansible_facts['architecture'] }} for gitmux release binary" when: gitmux_arch == '' - name: Ensure architecture is supported for bw binary + tags: [packages] ansible.builtin.fail: msg: "Unsupported architecture {{ ansible_facts['architecture'] }} for bw release binary" when: ansible_facts['architecture'] != 'x86_64' - name: Ensure temporary directory exists for external tools + tags: [packages] ansible.builtin.file: path: "{{ desktop_tools_tmp_dir }}" state: directory mode: "0755" - name: Fetch latest OpenCode release metadata + tags: [packages] ansible.builtin.uri: url: https://api.github.com/repos/anomalyco/opencode/releases/latest headers: @@ -410,6 +427,7 @@ changed_when: false - name: Set OpenCode release asset metadata + tags: [packages] ansible.builtin.set_fact: opencode_version: "{{ opencode_latest_release.json.tag_name }}" opencode_asset: >- @@ -421,11 +439,13 @@ }} - name: Ensure latest OpenCode asset metadata is available + tags: [packages] ansible.builtin.fail: msg: "Could not find OpenCode asset {{ opencode_asset_name }} in release {{ opencode_version }}" when: opencode_asset == {} - name: Download OpenCode release archive + tags: [packages] ansible.builtin.get_url: url: "{{ opencode_asset.browser_download_url }}" dest: "{{ desktop_tools_tmp_dir }}/{{ opencode_asset.name }}" @@ -433,12 +453,14 @@ mode: "0644" - name: Extract OpenCode release archive + tags: [packages] ansible.builtin.unarchive: src: "{{ desktop_tools_tmp_dir }}/{{ opencode_asset.name }}" dest: "{{ desktop_tools_tmp_dir }}" remote_src: true - name: Install OpenCode binary + tags: [packages] ansible.builtin.copy: src: "{{ desktop_tools_tmp_dir }}/opencode" dest: /usr/local/bin/opencode @@ -448,10 +470,12 @@ mode: "0755" - name: Set gitmux asset metadata + tags: [packages] ansible.builtin.set_fact: gitmux_asset: "gitmux_{{ gitmux_version }}_linux_{{ gitmux_arch }}.tar.gz" - name: Download gitmux release archive + tags: [packages] ansible.builtin.get_url: url: "https://github.com/arl/gitmux/releases/download/{{ gitmux_version }}/{{ gitmux_asset }}" dest: "{{ desktop_tools_tmp_dir }}/{{ gitmux_asset }}" @@ -459,12 +483,14 @@ mode: "0644" - name: Extract gitmux release archive + tags: [packages] ansible.builtin.unarchive: src: "{{ desktop_tools_tmp_dir }}/{{ gitmux_asset }}" dest: "{{ desktop_tools_tmp_dir }}" remote_src: true - name: Install gitmux binary + tags: [packages] ansible.builtin.copy: src: "{{ desktop_tools_tmp_dir }}/gitmux" dest: /usr/local/bin/gitmux @@ -474,10 +500,12 @@ mode: "0755" - name: Set bw asset metadata + tags: [packages] ansible.builtin.set_fact: bw_asset: "bw-linux-{{ bw_version }}.zip" - name: Download bw release archive + tags: [packages] ansible.builtin.get_url: url: "https://github.com/bitwarden/cli/releases/download/v{{ bw_version }}/{{ bw_asset }}" dest: "{{ desktop_tools_tmp_dir }}/{{ bw_asset }}" @@ -485,12 +513,14 @@ mode: "0644" - name: Extract bw release archive + tags: [packages] ansible.builtin.unarchive: src: "{{ desktop_tools_tmp_dir }}/{{ bw_asset }}" dest: "{{ desktop_tools_tmp_dir }}" remote_src: true - name: Install bw binary + tags: [packages] ansible.builtin.copy: src: "{{ desktop_tools_tmp_dir }}/bw" dest: /usr/local/bin/bw diff --git a/ansible/roles/profile_server/tasks/main.yml b/ansible/roles/profile_server/tasks/main.yml index 2905502..7d0064a 100644 --- a/ansible/roles/profile_server/tasks/main.yml +++ b/ansible/roles/profile_server/tasks/main.yml @@ -12,6 +12,18 @@ loop_control: label: "{{ item.dest }}" +- name: Render server templates + tags: [dotfiles, dotfiles:server] + ansible.builtin.template: + src: "{{ item.src }}" + dest: "{{ user_home }}/{{ item.dest }}" + owner: "{{ username }}" + group: "{{ user_group }}" + mode: "{{ item.mode }}" + loop: "{{ server_templates | default([]) }}" + loop_control: + label: "{{ item.dest }}" + - name: Apply server UFW rules tags: [services, packages] community.general.ufw: diff --git a/ansible/roles/services_runit/tasks/main.yml b/ansible/roles/services_runit/tasks/main.yml index 07b7270..ed6572a 100644 --- a/ansible/roles/services_runit/tasks/main.yml +++ b/ansible/roles/services_runit/tasks/main.yml @@ -1,5 +1,6 @@ --- - name: Enable base runit services + tags: [services, packages] ansible.builtin.file: src: "/etc/sv/{{ item }}" dest: "/var/service/{{ item }}" @@ -7,6 +8,7 @@ loop: "{{ enabled_services | default([]) }}" - name: Enable host runit services + tags: [services, packages] ansible.builtin.file: src: "/etc/sv/{{ item }}" dest: "/var/service/{{ item }}" diff --git a/ansible/templates/server/.gitconfig.j2 b/ansible/templates/server/.gitconfig.j2 new file mode 100644 index 0000000..8a8bb14 --- /dev/null +++ b/ansible/templates/server/.gitconfig.j2 @@ -0,0 +1,83 @@ +[init] + defaultBranch = main + +[core] + excludesfile = ~/.gitignore_global + pager = delta + +[user] + name = {{ vault_personal_full_name }} + email = {{ vault_git_email }} + signingkey = {{ vault_git_signing_key }} + +[fetch] + prune = true + +[remote "origin"] + prune = true + +[pull] + rebase = true + +[commit] + gpgsign = false + +[merge] + conflictstyle = diff3 + tool = meld + +[mergetool] + prompt = false + +[diff] + tool = meld + +[color] + ui = always + +[color "status"] + branch = magenta + untracked = cyan + unmerged = yellow bold + +[color "diff"] + frag = magenta bold + old = red bold + new = green bold + whitespace = red reverse + +[color "diff-highlight"] + oldNormal = red bold + oldHighlight = red bold 52 + newNormal = green bold + newHighlight = green bold 52 + +[help] + autocorrect = 30 + +[interactive] + diffFilter = delta --color-only + +[alias] + co = checkout + br = branch + ci = commit + st = status + ld = log -p + lg = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)%n' --all + glog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' + onelinegraph = log --oneline --graph --decorate + undo = reset --soft HEAD~1 + stash-all = stash save --include-untracked + expireunreachablenow = reflog expire --expire-unreachable=now --all + gcunreachablenow = gc --prune=now + +[include] + path = ~/.themes.gitignore + +[delta] + features = catppuccin-mocha navigate + true-color = always + colorMoved = default + tabs = 4 + side-by-side = true diff --git a/dotfiles/server/.gitignore_global b/dotfiles/server/.gitignore_global new file mode 100644 index 0000000..88ec55f --- /dev/null +++ b/dotfiles/server/.gitignore_global @@ -0,0 +1,73 @@ +# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux +# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux diff --git a/dotfiles/server/.themes.gitignore b/dotfiles/server/.themes.gitignore new file mode 100644 index 0000000..8e6ca86 --- /dev/null +++ b/dotfiles/server/.themes.gitignore @@ -0,0 +1,667 @@ +# To use these themes, first include this file in your own gitconfig file: +# +# [include] +# path = PATH/TO/delta/themes.gitconfig +# +# Then, in your own gitconfig file, activate the chosen theme, e.g. +# +# [delta] +# features = kingfisher +# +# Please add your own themes to this file, and open a PR. +# +# Instructions: +# +# 1. The name of the theme must be the name of some sort of wild organism: +# mammal, bird, plant, mollusk -- whatever. It can be in any language. +# +# 2. Use `delta --show-config` to list all the style settings that are active in +# your current delta environment, but only include settings in your theme +# that are essential to its appearance. +# +# 3. Include either `dark = true` or `light = true` according to whether it is +# designed for a light or dark terminal background. (This marks a feature as +# a "theme", causing it to be picked up by `delta --show-themes`). +# +# 4. Feel free to include a comment line indicating who is the author of the +# theme. E.g. a link to your github user page. + +[delta "colibri"] + # author: https://github.com/pablospe + # Based on woolly-mammoth: https://github.com/Kr1ss-XD. + commit-decoration-style = 130 box + dark = true + file-decoration-style = "#606018" overline + file-added-label = [●] + file-copied-label = [C] + file-modified-label = [+] + file-removed-label = [⛌] + file-renamed-label = [→] + file-style = 232 bold 184 + hunk-header-style = syntax bold italic 237 + line-numbers = true + line-numbers-left-format = "{nm:>1}┊" + line-numbers-left-style = red + line-numbers-minus-style = red bold + line-numbers-plus-style = green bold + line-numbers-right-format = " {np:>1}┊" + line-numbers-right-style = green + line-numbers-zero-style = "#545474" italic + minus-emph-style = normal "#80002a" + minus-style = normal "#5e0000" + plus-emph-style = syntax bold "#007e5e" + plus-style = syntax "#003500" + syntax-theme = OneHalfDark + whitespace-error-style = "#80002a" reverse + zero-style = syntax + blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ " + +[delta "collared-trogon"] + # author: https://github.com/clnoll + commit-decoration-style = bold box ul + dark = true + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#022b45" box ul + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#003300" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#022b45" + line-numbers-minus-style = "#80002a" + line-numbers-plus-style = "#003300" + line-numbers-right-style = "#022b45" + line-numbers-zero-style = "#999999" + minus-emph-style = normal "#80002a" + minus-style = normal "#330011" + plus-emph-style = syntax "#003300" + plus-style = syntax "#001a00" + syntax-theme = Nord + +[delta "coracias-caudatus"] + # author: https://github.com/clnoll + commit-decoration-style = ol "#7536ff" + commit-style = "#200078" + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#cfd6ff" ul + hunk-header-file-style = "#858dff" + hunk-header-line-number-style = "#7536ff" + hunk-header-style = file line-number syntax + light = true + line-numbers = true + line-numbers-left-format = "{nm:>4} ." + line-numbers-left-style = "#e3ab02" + line-numbers-minus-style = "#ff38b6" + line-numbers-plus-style = "#00e0c2" + line-numbers-right-format = "{np:>4} " + line-numbers-right-style = white + line-numbers-zero-style = "#cccccc" + minus-emph-style = bold "#ff3838" "#ffe3f7" + minus-style = "#ff0080" + plus-emph-style = "#008a81" bold "#00ffbf" + plus-style = syntax "#cffff3" + syntax-theme = GitHub + +[delta "hoopoe"] + # author: https://github.com/dandavison + light = true + pink = "#ffe0e0" + dark-pink = "#ffc0c0" + green = "#d0ffd0" + dark-green = "#a0efa0" + dark-green-2 = "#067a00" + minus-style = normal hoopoe.pink + minus-emph-style = normal hoopoe.dark-pink + minus-non-emph-style = minus-style + plus-style = syntax hoopoe.green + plus-emph-style = syntax hoopoe.dark-green + plus-non-emph-style = plus-style + minus-empty-line-marker-style = minus-style + plus-empty-line-marker-style = plus-style + commit-decoration-style = blue ol + commit-style = raw + file-style = omit + hunk-header-decoration-style = blue box + hunk-header-file-style = red + hunk-header-line-number-style = hoopoe.dark-green-2 + hunk-header-style = file line-number syntax + syntax-theme = GitHub + zero-style = syntax + +[delta "tangara-chilensis"] + # author: https://github.com/clnoll + commit-decoration-style = bold box ul "#34fd50" + dark = true + file-decoration-style = none + file-style = omit + hunk-header-decoration-style = "#00b494" box ul + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#03a4ff" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = black + line-numbers-minus-style = "#B10036" + line-numbers-plus-style = "#03a4ff" + line-numbers-right-style = black + line-numbers-zero-style = "#999999" + minus-emph-style = normal "#de004e" + minus-style = normal "#990017" + plus-emph-style = syntax "#03a4ff" + plus-style = syntax "#450eff" + side-by-side = true + syntax-theme = Vibrant Sunburst + +[delta "villsau"] + # author: https://github.com/torarnv + dark = true + file-style = omit + hunk-header-decoration-style = omit + hunk-header-file-style = magenta + hunk-header-line-number-style = dim magenta + hunk-header-style = file line-number syntax + line-numbers = false + minus-emph-style = bold red 52 + minus-empty-line-marker-style = normal "#3f0001" + minus-non-emph-style = dim red + minus-style = bold red + plus-emph-style = bold green 22 + plus-empty-line-marker-style = normal "#002800" + plus-non-emph-style = dim green + plus-style = bold green + syntax-theme = OneHalfDark + whitespace-error-style = reverse red + zero-style = dim syntax + +[delta "woolly-mammoth"] + # author: https://github.com/Kr1ss-XD + commit-decoration-style = 232 130 box + commit-style = 232 bold italic 130 + dark = true + file-added-label = [+] + file-copied-label = [C] + file-decoration-style = "#606018" overline + file-modified-label = [M] + file-removed-label = [-] + file-renamed-label = [R] + file-style = 232 bold 184 + hunk-header-decoration-style = none + hunk-header-style = syntax bold italic 237 + line-numbers = true + line-numbers-left-format = "{nm:>1}┊" + line-numbers-left-style = red + line-numbers-minus-style = red italic black + line-numbers-plus-style = green italic black + line-numbers-right-format = "{np:>1}┊" + line-numbers-right-style = green + line-numbers-zero-style = "#545474" italic + minus-emph-style = syntax bold "#780000" + minus-style = syntax "#400000" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004000" + syntax-theme = Vibrant Sunburst + whitespace-error-style = "#280050" reverse + zero-style = syntax + blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ " + blame-palette = "#101010 #200020 #002800 #000028 #202000 #280000 #002020 #002800 #202020" + +[delta "calochortus-lyallii"] + # author: https://github.com/manojkarthick + commit-decoration-style = none + dark = true + file-added-label = [+] + file-copied-label = [C] + file-decoration-style = none + file-modified-label = [M] + file-removed-label = [-] + file-renamed-label = [R] + file-style = 232 bold 184 + hunk-header-decoration-style = none + hunk-header-file-style = "#999999" + hunk-header-line-number-style = bold "#03a4ff" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = black + line-numbers-minus-style = "#B10036" + line-numbers-plus-style = "#03a4ff" + line-numbers-right-style = black + line-numbers-zero-style = "#999999" + minus-emph-style = syntax bold "#780000" + minus-style = syntax "#400000" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004000" + whitespace-error-style = "#280050" reverse + zero-style = syntax + syntax-theme = Nord + +[delta "mantis-shrimp"] + #author: https://github.com/2kabhishek + dark = true + side-by-side = true + keep-plus-minus-markers = true + hyperlinks = true + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + zero-style = syntax + syntax-theme = Monokai Extended + commit-decoration-style ="#11ce16" box + commit-style = "#ffd21a" bold italic + hunk-header-decoration-style = "#1688f0" box ul + hunk-header-file-style = "#c63bee" ul bold + hunk-header-line-number-style = "#ffd21a" box bold + hunk-header-style = file line-number syntax bold italic + line-numbers = true + line-numbers-left-format = "{nm:>1}|" + line-numbers-left-style = "#1688f0" + line-numbers-minus-style = "#ff0051" bold + line-numbers-plus-style = "#03e57f" bold + line-numbers-right-format = "{np:>1}|" + line-numbers-right-style = "#1688f0" + line-numbers-zero-style = "#aaaaaa" italic + minus-emph-style = syntax bold "#b80000" + minus-style = syntax "#5d001e" + plus-emph-style = syntax bold "#007800" + plus-style = syntax "#004433" + whitespace-error-style = "#280050" + +[delta "mantis-shrimp-lite"] + #author: https://github.com/2kabhishek + dark = true + side-by-side = true + keep-plus-minus-markers = true + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + zero-style = syntax + syntax-theme = Monokai Extended + commit-decoration-style = green box + commit-style = yellow bold italic + hunk-header-decoration-style = blue box ul + hunk-header-file-style = purple ul bold + hunk-header-line-number-style = yellow box bold + hunk-header-style = file line-number syntax bold italic + line-numbers = true + line-numbers-left-format = "{nm:>1}|" + line-numbers-left-style = blue + line-numbers-minus-style = red bold + line-numbers-plus-style = green bold + line-numbers-right-format = "{np:>1}|" + line-numbers-right-style = blue + line-numbers-zero-style = white italic + minus-emph-style = syntax bold red + plus-emph-style = syntax bold green + whitespace-error-style = purple bold + +[delta "zebra-dark"] + minus-style = syntax "#330f0f" + minus-emph-style = syntax "#4f1917" + plus-style = syntax "#0e2f19" + plus-emph-style = syntax "#174525" + map-styles = \ + bold purple => syntax "#330f29", \ + bold blue => syntax "#271344", \ + bold cyan => syntax "#0d3531", \ + bold yellow => syntax "#222f14" + zero-style = syntax + whitespace-error-style = "#aaaaaa" + +[delta "zebra-light"] + minus-style = syntax "#fbdada" + minus-emph-style = syntax "#f6b6b6" + plus-style = syntax "#d6ffd6" + plus-emph-style = syntax "#adffad" + map-styles = \ + bold purple => syntax "#feecf7", \ + bold blue => syntax "#e5dff6", \ + bold cyan => syntax "#d8fdf6", \ + bold yellow => syntax "#f4ffe0" + zero-style = syntax + whitespace-error-style = "#aaaaaa" + +[delta "chameleon"] + #author: https://github.com/AirOnSkin + dark = true + line-numbers = true + side-by-side = true + keep-plus-minus-markers = false + syntax-theme = Nord + file-style = "#434C5E" bold + file-decoration-style = "#434C5E" ul + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + hunk-header-style = omit + line-numbers-left-format = " {nm:>3} │" + line-numbers-left-style = red + line-numbers-right-format = " {np:>3} │" + line-numbers-right-style = green + line-numbers-minus-style = red italic black + line-numbers-plus-style = green italic black + line-numbers-zero-style = "#434C5E" italic + minus-style = bold red + minus-emph-style = bold "#202020" "#FF5555" + minus-non-emph-style = bold + plus-style = bold green + plus-emph-style = bold "#202020" "#50FA7B" + plus-non-emph-style = bold + zero-style = syntax + blame-code-style = syntax + blame-format = "{author:<18} ({commit:>9}) {timestamp:^16}" + blame-palette = "#2E3440" "#3B4252" "#434C5E" "#4C566A" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = "#F1FA8C" bold + merge-conflict-ours-diff-header-decoration-style = "#434C5E" box + merge-conflict-theirs-diff-header-style = "#F1FA8C" bold + merge-conflict-theirs-diff-header-decoration-style = "#434C5E" box + +[delta "gruvmax-fang"] + # author: https://github.com/maxfangx + # General appearance + dark = true + syntax-theme = gruvbox-dark + # File + file-style = "#FFFFFF" bold + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-decoration-style = "#434C5E" ul + file-decoration-style = "#84786A" ul + # No hunk headers + hunk-header-style = omit + # Line numbers + line-numbers = true + line-numbers-left-style = "#84786A" + line-numbers-right-style = "#84786A" + line-numbers-minus-style = "#A02A11" + line-numbers-plus-style = "#479B36" + line-numbers-zero-style = "#84786A" + line-numbers-left-format = " {nm:>3} │" + line-numbers-right-format = " {np:>3} │" + # Diff contents + inline-hint-style = syntax + minus-style = syntax "#330011" + minus-emph-style = syntax "#80002a" + minus-non-emph-style = syntax auto + plus-style = syntax "#001a00" + plus-emph-style = syntax "#003300" + plus-non-emph-style = syntax auto + whitespace-error-style = "#FB4934" reverse + # Commit hash + commit-decoration-style = normal box + commit-style = "#ffffff" bold + # Blame + blame-code-style = syntax + blame-format = "{author:>18} ({commit:>8}) {timestamp:<13} " + blame-palette = "#000000" "#1d2021" "#282828" "#3c3836" + # Merge conflicts + merge-conflict-begin-symbol = ⌃ + merge-conflict-end-symbol = ⌄ + merge-conflict-ours-diff-header-style = "#FABD2F" bold + merge-conflict-theirs-diff-header-style = "#FABD2F" bold overline + merge-conflict-ours-diff-header-decoration-style = '' + merge-conflict-theirs-diff-header-decoration-style = '' + +[delta "discord"] + commit-style = omit + file-style = 34 ul + file-decoration-style = none + hunk-header-style = omit + minus-style = 31 + minus-non-emph-style = 31 + minus-emph-style = 40 + minus-empty-line-marker-style = 31 + zero-style = 30 + plus-style = 32 + plus-non-emph-style = 32 + plus-emph-style = 40 + grep-file-style = 34 + grep-line-number-style = 34 + whitespace-error-style = 41 + blame-code-style = omit + true-color = never + file-modified-label = changed: + right-arrow = > + hyperlinks = false + keep-plus-minus-markers = true + diff-stat-align-width = 10 + syntax-theme = none + width = variable + +[delta "mellow-barbet"] + # author: https://github.com/kvrohit + # To configure terminal colors see https://github.com/kvrohit/mellow.nvim#terminals + dark = true + syntax-theme = base16 + line-numbers = true + side-by-side = true + file-style = brightwhite + file-decoration-style = none + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + hunk-header-decoration-style = "#3e3e43" box ul + plus-style = brightgreen black + plus-emph-style = black green + minus-style = brightred black + minus-emph-style = black red + line-numbers-minus-style = brightred + line-numbers-plus-style = brightgreen + line-numbers-left-style = "#3e3e43" + line-numbers-right-style = "#3e3e43" + line-numbers-zero-style = "#57575f" + zero-style = syntax + whitespace-error-style = black bold + blame-code-style = syntax + blame-palette = "#161617" "#1b1b1d" "#2a2a2d" "#3e3e43" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = yellow bold + merge-conflict-ours-diff-header-decoration-style = "#3e3e43" box + merge-conflict-theirs-diff-header-style = yellow bold + merge-conflict-theirs-diff-header-decoration-style = "#3e3e43" box + +[delta "arctic-fox"] + # author: https://github.com/anthony-halim + dark = true + syntax-theme = Nord + file-added-label = [+] + file-copied-label = [==] + file-modified-label = [*] + file-removed-label = [-] + file-renamed-label = [->] + file-style = omit + hunk-header-decoration-style = "#5E81AC" ul + hunk-header-file-style = blue ul bold + hunk-header-line-number-style = yellow box bold + hunk-header-style = file line-number syntax bold italic + plus-style = brightgreen + plus-emph-style = black green + minus-style = brightred + minus-emph-style = black red + line-numbers = true + line-numbers-minus-style = brightred + line-numbers-plus-style = brightgreen + line-numbers-left-style = "#5E81AC" + line-numbers-right-style = "#5E81AC" + line-numbers-zero-style = "#4C566A" + zero-style = syntax + whitespace-error-style = black bold + blame-code-style = syntax + blame-format = "{author:<18} {commit:<6} {timestamp:<15}" + blame-palette = "#2E3440" "#3B4252" "#434C5E" + merge-conflict-begin-symbol = ~ + merge-conflict-end-symbol = ~ + merge-conflict-ours-diff-header-style = yellow bold + merge-conflict-ours-diff-header-decoration-style = "#5E81AC" box + merge-conflict-theirs-diff-header-style = yellow bold + merge-conflict-theirs-diff-header-decoration-style = "#5E81AC" box + +[delta "corvus"] + # author: https://github.com/evilwaveforms + dark = true + commit-style = "#949494" + file-style = omit + syntax-theme = none + hunk-header-decoration-style = "#949494" ul + hunk-header-file-style = "#949494" + hunk-header-style = "#949494" + line-numbers = true + line-numbers-left-style = "#949494" + line-numbers-right-style = "#949494" + line-numbers-left-format = "{nm:>2}|" + line-numbers-right-format = "{np:>3} " + line-numbers-plus-style = "#54c047" + line-numbers-minus-style = bold "#591102" + plus-style = "#54c047" + plus-emph-style = bold "#54c047" + plus-non-emph-style = dim "#54c047" + minus-style = normal "#591102" + minus-emph-style = normal "#591102" + minus-non-emph-style = bold "#591102" + blame-code-style = omit + blame-format = "{author:<18} {commit:<6} {timestamp:<15}" + blame-palette = "#000000" "#343434" + zero-style = dim + +[delta "catppuccin-latte"] + blame-palette = "#eff1f5 #e6e9ef #dce0e8 #ccd0da #bcc0cc" + commit-decoration-style = box ul + light = true + file-decoration-style = "#4c4f69" + file-style = "#4c4f69" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#6c6f85" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#9ca0b0" + line-numbers-minus-style = bold "#d20f39" + line-numbers-plus-style = bold "#40a02b" + line-numbers-right-style = "#9ca0b0" + line-numbers-zero-style = "#9ca0b0" + # 25% red 75% base + minus-emph-style = bold syntax "#e8b9c6" + # 10% red 90% base + minus-style = syntax "#ecdae2" + # 25% green 75% base + plus-emph-style = bold syntax "#c3ddc3" + # 10% green 90% base + plus-style = syntax "#dee8e0" + map-styles = \ + bold purple => syntax "#d5c3f4", \ + bold blue => syntax "#bbcff5", \ + bold cyan => syntax "#b4def1", \ + bold yellow => syntax "#ebd9bf" + # Should match the name of the bat theme + syntax-theme = Catppuccin Latte + +[delta "catppuccin-frappe"] + blame-palette = "#303446 #292c3c #232634 #414559 #51576d" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#c6d0f5" + file-style = "#c6d0f5" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a5adce" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#737994" + line-numbers-minus-style = bold "#e78284" + line-numbers-plus-style = bold "#a6d189" + line-numbers-right-style = "#737994" + line-numbers-zero-style = "#737994" + # 25% red 75% base + minus-emph-style = bold syntax "#5e4855" + # 10% red 90% base + minus-style = syntax "#433c4c" + # 25% green 75% base + plus-emph-style = bold syntax "#4e5b56" + # 10% green 90% base + plus-style = syntax "#3c444d" + map-styles = \ + bold purple => syntax "#574f6e", \ + bold blue => syntax "#475270", \ + bold cyan => syntax "#4a5b6b", \ + bold yellow => syntax "#5d5958" + # Should match the name of the bat theme + syntax-theme = Catppuccin Frappe + +[delta "catppuccin-macchiato"] + blame-palette = "#24273a #1e2030 #181926 #363a4f #494d64" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#cad3f5" + file-style = "#cad3f5" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a5adcb" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#6e738d" + line-numbers-minus-style = bold "#ed8796" + line-numbers-plus-style = bold "#a6da95" + line-numbers-right-style = "#6e738d" + line-numbers-zero-style = "#6e738d" + # 25% red 75% base + minus-emph-style = bold syntax "#563f51" + # 10% red 90% base + minus-style = syntax "#383143" + # 25% green 75% base + plus-emph-style = bold syntax "#455450" + # 10% green 90% base + plus-style = syntax "#313943" + map-styles = \ + bold purple => syntax "#4d4569", \ + bold blue => syntax "#3e4868", \ + bold cyan => syntax "#3f5364", \ + bold yellow => syntax "#575253" + # Should match the name of the bat theme + syntax-theme = Catppuccin Macchiato + +[delta "catppuccin-mocha"] + blame-palette = "#1e1e2e #181825 #11111b #313244 #45475a" + commit-decoration-style = box ul + dark = true + file-decoration-style = "#cdd6f4" + file-style = "#cdd6f4" + hunk-header-decoration-style = box ul + hunk-header-file-style = bold + hunk-header-line-number-style = bold "#a6adc8" + hunk-header-style = file line-number syntax + line-numbers = true + line-numbers-left-style = "#6c7086" + line-numbers-minus-style = bold "#f38ba8" + line-numbers-plus-style = bold "#a6e3a1" + line-numbers-right-style = "#6c7086" + line-numbers-zero-style = "#6c7086" + # 25% red 75% base + minus-emph-style = bold syntax "#53394c" + # 10% red 90% base + minus-style = syntax "#34293a" + # 25% green 75% base + plus-emph-style = bold syntax "#404f4a" + # 10% green 90% base + plus-style = syntax "#2c3239" + map-styles = \ + bold purple => syntax "#494060", \ + bold blue => syntax "#384361", \ + bold cyan => syntax "#384d5d", \ + bold yellow => syntax "#544f4e" + # Should match the name of the bat theme + syntax-theme = Catppuccin Mocha +