180 lines
5.6 KiB
YAML
180 lines
5.6 KiB
YAML
---
|
|
- name: Ensure directories for desktop applications are present
|
|
ansible.builtin.file:
|
|
state: directory
|
|
path: "{{ ansible_user_dir }}/{{ item }}"
|
|
mode: u=rwx,g=rx,o=rx
|
|
with_items:
|
|
- .config/Xresources
|
|
- .config/rofi
|
|
- .local/bin
|
|
- .local/share/fonts
|
|
- .config/qutebrowser
|
|
- .config/tridactyl/themes
|
|
|
|
# Download fonts
|
|
- name: Download Nerd fonts
|
|
ansible.builtin.get_url:
|
|
url: https://raw.githubusercontent.com/ryanoasis/nerd-fonts/704336735f576781b2a57b12a0c723e3316cbdec/patched-fonts/DejaVuSansMono/{{ item.folder }}/complete/{{
|
|
item.filename | urlencode }}
|
|
dest: "{{ ansible_user_dir }}/.local/share/fonts/{{ item.filename }}"
|
|
mode: u=rw,g=r,o=r
|
|
loop:
|
|
- filename: DejaVu Sans Mono Bold Nerd Font Complete Mono.ttf
|
|
folder: Bold
|
|
- filename: DejaVu Sans Mono Bold Oblique Nerd Font Complete Mono.ttf
|
|
folder: Bold-Italic
|
|
- filename: DejaVu Sans Mono Nerd Font Complete Mono.ttf
|
|
folder: Regular
|
|
- filename: DejaVu Sans Mono Oblique Nerd Font Complete Mono.ttf
|
|
folder: Italic
|
|
|
|
- name: Download icon fonts
|
|
ansible.builtin.get_url:
|
|
url: https://raw.githubusercontent.com/FortAwesome/Font-Awesome/a8386aae19e200ddb0f6845b5feeee5eb7013687/fonts/fontawesome-webfont.ttf
|
|
dest: "{{ ansible_user_dir }}/.local/share/fonts/fontawesome-webfont.ttf"
|
|
mode: u=rw,g=r,o=r
|
|
# TODO Either replace with ForkAwesome or Nerd Fonts
|
|
|
|
- name: Install python dependencies for lemonbar
|
|
ansible.builtin.pip:
|
|
requirements: "{{ ansible_user_dir }}/.dotfiles/config/lemonbar/requirements.txt"
|
|
extra_args: --break-system-packages # It's fine, it's local anyways
|
|
|
|
# Build a single color scheme and template and assign it to a variable
|
|
- base16_builder:
|
|
scheme: "{{ base16_scheme }}"
|
|
template: # This requires https://github.com/mnussbaum/base16-builder-ansible/pull/6
|
|
- i3
|
|
- xresources
|
|
- rofi
|
|
- alacritty
|
|
- shell
|
|
- fzf
|
|
- vim
|
|
- qutebrowser
|
|
- tridactyl
|
|
- dunst
|
|
register: base16_schemes
|
|
tags:
|
|
- color
|
|
- i3
|
|
|
|
- name: Configure Alacritty
|
|
ansible.builtin.template:
|
|
src: "{{ ansible_env.HOME }}/.config/alacritty/alacritty.yml.j2"
|
|
dest: "{{ ansible_env.HOME }}/.config/alacritty/alacritty.yml"
|
|
mode: u=rw,g=r,o=r
|
|
# Alacritty has live config reload, so no command to execute
|
|
# However, it doesn't work with yaml includes, hence the template
|
|
tags:
|
|
- color
|
|
|
|
- name: Set base16 theme for Xresources
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['xresources']['xresources']['base16-' + base16_scheme + '-256.Xresources'] }}"
|
|
dest: "{{ ansible_env.HOME }}/.config/Xresources/theme"
|
|
mode: u=rw,g=r,o=r
|
|
notify:
|
|
- xrdb-reload
|
|
tags:
|
|
- color
|
|
when: display_server == 'x11'
|
|
|
|
- name: Download base16 theme for qutebrowser
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['qutebrowser']['themes/minimal']['base16-' + base16_scheme + '.config.py'] }}"
|
|
dest: "{{ ansible_env.HOME }}/.config/qutebrowser/theme.py"
|
|
mode: u=rw,g=r,o=r
|
|
notify:
|
|
- qutebrowser-reload
|
|
tags:
|
|
- color
|
|
|
|
- name: Download base16 theme for Tridactyl
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['tridactyl']['base16-' + base16_scheme + '.config.py'] }}"
|
|
# url: "https://raw.githubusercontent.com/bezmi/base16-tridactyl/master/base16-{{ base16_scheme }}.css"
|
|
dest: "{{ ansible_env.HOME }}/.config/tridactyl/themes/theme.css"
|
|
mode: u=rw,g=r,o=r
|
|
when: false # Not currently used
|
|
tags:
|
|
- color
|
|
|
|
- name: Configure i3
|
|
ansible.builtin.template:
|
|
src: "{{ ansible_env.HOME }}/.config/i3/config.j2"
|
|
dest: "{{ ansible_env.HOME }}/.config/i3/config"
|
|
mode: u=rw,g=r,o=r
|
|
notify:
|
|
- i3-reload
|
|
tags:
|
|
- color
|
|
- i3
|
|
when: display_server == 'x11'
|
|
|
|
- name: Set base16 theme for rofi
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['rofi']['themes']['base16-' + base16_scheme + '.' + item] }}"
|
|
dest: "{{ ansible_env.HOME }}/.config/rofi/theme.{{ item }}"
|
|
mode: u=rw,g=r,o=r
|
|
tags:
|
|
- color
|
|
loop:
|
|
- config
|
|
- rasi
|
|
|
|
- name: Configure Dunst
|
|
ansible.builtin.template:
|
|
src: "{{ ansible_env.HOME }}/.config/dunst/dunstrc.j2"
|
|
dest: "{{ ansible_env.HOME }}/.config/dunst/dunstrc"
|
|
mode: u=rw,g=r,o=r
|
|
tags:
|
|
- color
|
|
when: display_server == 'x11'
|
|
|
|
- name: Download base16 theme for fzf
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['fzf']['bash']['base16-' + base16_scheme + '.config'] }}"
|
|
dest: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApplyFzf"
|
|
mode: u=rw,g=r,o=r
|
|
notify:
|
|
- fzf-reload
|
|
tags:
|
|
- color
|
|
|
|
- name: Download base16 theme for shell
|
|
ansible.builtin.copy:
|
|
content: "{{ base16_schemes['schemes'][base16_scheme]['shell']['script']['base16-' + base16_scheme + '.sh'] }}"
|
|
dest: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApply"
|
|
mode: u=rwx,g=rx,o=rx
|
|
notify:
|
|
- shell-reload
|
|
when: false # Not currently used
|
|
tags:
|
|
- color
|
|
|
|
- name: Set used base16 theme for vim
|
|
ansible.builtin.copy:
|
|
path: "{{ ansible_env.HOME }}/.config/vim/colorscheme.vim"
|
|
mode: u=rw,g=r,o=r
|
|
content: colorscheme base16-{{ base16_scheme }}
|
|
when: false # Not currently used
|
|
tags:
|
|
- color
|
|
|
|
- name: Enable user services
|
|
ansible.builtin.systemd:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: true
|
|
scope: user
|
|
loop:
|
|
- pulseaudio
|
|
- mpd
|
|
when: has_systemd
|
|
|
|
# TODO bar (might change bar in the future, so...)
|
|
# TODO highlight (there IS a template but the colors look different from vim and mostly the same from when there's no config)
|
|
# TODO https://github.com/makuto/auto-base16-theme ? :P
|