diff --git a/group_vars/all b/group_vars/all
index 06e1fb28..05eff45b 100644
--- a/group_vars/all
+++ b/group_vars/all
@@ -1,6 +1,10 @@
 default_roles:
   - ssh
 
+  - cargo
+  - delta
+  - stylua
+
   - alacritty
   - awesome-wm
   - ctop
@@ -12,7 +16,6 @@ default_roles:
   - git
   - htop
   - jq
-  - cargo
   - mysql-client
   - npm
   - neovim
@@ -23,11 +26,11 @@ default_roles:
   - pulumi
   - pv
   - ripgrep
-  - stylua
   - tldr
   - tree
   - tmux
   - tmuxinator
   - zsh
   - zsh-antigen
+
   - debugger
diff --git a/roles/delta/tasks/main.yaml b/roles/delta/tasks/main.yaml
new file mode 100644
index 00000000..30e3bcfd
--- /dev/null
+++ b/roles/delta/tasks/main.yaml
@@ -0,0 +1,8 @@
+---
+- name: Install
+  community.general.cargo:
+    name:
+      - git-delta
+    path: /usr/local
+    state: latest
+  become: true
diff --git a/roles/git/files/.gitconfig b/roles/git/files/.gitconfig
index f3421e2b..f60f24c9 100644
--- a/roles/git/files/.gitconfig
+++ b/roles/git/files/.gitconfig
@@ -83,6 +83,10 @@
 [core]
 	editor = nvim
 	excludesFile = ~/.gitignore-global
+	pager = delta
+
+[delta]
+	line-numbers = true
 
 [diff]
 	tool = vimdiff