Moved playbooks here; zsh dotfiles distro; new config logs

This commit is contained in:
2026-09-13 14:16:38 -04:00
parent 386e165f6b
commit cd2fb6651f
13 changed files with 260 additions and 2 deletions
+12
View File
@@ -0,0 +1,12 @@
# Gruvbox colors for zsh (fallback)
export MATUGEN_PRIMARY="#83a598"
export MATUGEN_ON_PRIMARY="#282828"
export MATUGEN_SECONDARY="#8ec07c"
export MATUGEN_ON_SECONDARY="#282828"
export MATUGEN_TERTIARY="#d3869b"
export MATUGEN_ON_TERTIARY="#282828"
export MATUGEN_BACKGROUND="#282828"
export MATUGEN_FOREGROUND="#ebdbb2"
export MATUGEN_ERROR="#fb4934"
export MATUGEN_OUTLINE="#928374"
export MATUGEN_SURFACE_CONTAINER="#3c3836"
+20
View File
@@ -0,0 +1,20 @@
# Tmux colors generated by Matugen (Gruvbox fallback)
set -g status-justify "left"
set -g status "on"
set -g status-left-style "none"
set -g message-command-style "fg=#282828,bg=#83a598"
set -g status-right-style "none"
set -g pane-active-border-style "fg=#83a598"
set -g status-style "none,bg=#3c3836"
set -g message-style "fg=#282828,bg=#83a598"
set -g pane-border-style "fg=#504945"
set -g status-right-length "100"
set -g status-left-length "100"
setw -g window-status-activity-style "none"
setw -g window-status-separator ""
setw -g window-status-style "none,fg=#ebdbb2,bg=#3c3836"
set -g status-left "#[fg=#282828,bg=#83a598] #S #[fg=#83a598,bg=#3c3836,nobold,nounderscore,noitalics]"
set -g status-right "#[fg=#504945,bg=#3c3836,nobold,nounderscore,noitalics]#[fg=#ebdbb2,bg=#504945] %Y-%m-%d  %H:%M #[fg=#83a598,bg=#504945,nobold,nounderscore,noitalics]#[fg=#282828,bg=#83a598] #h "
setw -g window-status-format "#[fg=#ebdbb2,bg=#3c3836] #I #[fg=#ebdbb2,bg=#3c3836] #W "
setw -g window-status-current-format "#[fg=#3c3836,bg=#504945,nobold,nounderscore,noitalics]#[fg=#ebdbb2,bg=#504945] #I #[fg=#ebdbb2,bg=#504945] #W #[fg=#504945,bg=#3c3836,nobold,nounderscore,noitalics]"
+94
View File
@@ -0,0 +1,94 @@
---
- name: "Ensure target config directories exist for {{ target_user.user }}"
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: '0755'
owner: "{{ target_user.user }}"
loop:
- "{{ target_user.home }}/.config/tmux"
- "{{ target_user.home }}/.config/zsh"
- "{{ target_user.home }}/.vim"
become: yes
- name: "Sync tmux config directory for {{ target_user.user }}"
ansible.posix.synchronize:
src: /home/trey/.config/tmux/
dest: "{{ target_user.home }}/.config/tmux/"
archive: yes
delete: no
rsync_opts:
- "--exclude=matugen.conf"
become: yes
become_user: "{{ target_user.user }}"
- name: "Sync zsh config directory for {{ target_user.user }}"
ansible.posix.synchronize:
src: /home/trey/.config/zsh/
dest: "{{ target_user.home }}/.config/zsh/"
archive: yes
delete: no
rsync_opts:
- "--exclude=colors.zsh"
become: yes
become_user: "{{ target_user.user }}"
- name: "Sync vim directory for {{ target_user.user }}"
ansible.posix.synchronize:
src: /home/trey/.vim/
dest: "{{ target_user.home }}/.vim/"
archive: yes
delete: no
rsync_opts:
- "--exclude=.git/"
- "--exclude=.netrwhist"
- "--exclude=swap/"
- "--exclude=vimrc"
become: yes
become_user: "{{ target_user.user }}"
- name: "Deploy static fallback gruvbox colors for zsh for {{ target_user.user }}"
ansible.builtin.copy:
src: colors.zsh
dest: "{{ target_user.home }}/.config/zsh/colors.zsh"
mode: '0644'
owner: "{{ target_user.user }}"
become: yes
- name: "Deploy static fallback gruvbox colors for tmux for {{ target_user.user }}"
ansible.builtin.copy:
src: matugen.conf
dest: "{{ target_user.home }}/.config/tmux/matugen.conf"
mode: '0644'
owner: "{{ target_user.user }}"
become: yes
- name: "Copy .zshrc and modify prompt for root user"
ansible.builtin.copy:
content: |
{% set zshrc_content = lookup('file', '/home/trey/.zshrc') %}
{% if target_user.user == 'root' %}
{{ zshrc_content | replace("export PS1='%F{$MATUGEN_PRIMARY}%n%F{$MATUGEN_SECONDARY}@%F{$MATUGEN_TERTIARY}%m%f", "export PS1='%F{red}%m%f") }}
{% else %}
{{ zshrc_content }}
{% endif %}
dest: "{{ target_user.home }}/.zshrc"
mode: '0644'
owner: "{{ target_user.user }}"
become: yes
- name: "Copy vimrc without matugen for {{ target_user.user }}"
ansible.builtin.copy:
content: "{{ lookup('file', '/home/trey/.vim/vimrc') | regex_replace('(?m)^colorscheme matugen', 'colorscheme gruvbox') }}"
dest: "{{ target_user.home }}/.vim/vimrc"
mode: '0644'
owner: "{{ target_user.user }}"
become: yes
- name: "Ensure .vimrc symlink exists for {{ target_user.user }}"
ansible.builtin.file:
src: "{{ target_user.home }}/.vim/vimrc"
dest: "{{ target_user.home }}/.vimrc"
state: link
owner: "{{ target_user.user }}"
become: yes
+10
View File
@@ -0,0 +1,10 @@
---
- name: Deploy dotfiles for users
ansible.builtin.include_tasks: deploy_user.yml
loop:
- user: "{{ 'admin' if inventory_hostname == 'bastion' else 'trey' }}"
home: "{{ '/home/admin' if inventory_hostname == 'bastion' else '/home/trey' }}"
- user: 'root'
home: '/root'
loop_control:
loop_var: target_user