- name: Ensure directories for theme are present file: state: directory path: "{{ ansible_env.HOME }}/{{ item }}" with_items: - ".config/Xresources" - ".config/rofi" - ".local/bin" - ".config/qutebrowser" - ".config/tridactyl/themes" # 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 - termux - alacritty - shell - fzf - vim - qutebrowser - tridactyl - dunst register: base16_schemes - name: Set base16 theme for Xresources 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 - name: Configure i3 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 - name: Set base16 theme for rofi 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" with_items: - rasi - config - name: Download base16 theme for Termux copy: content: "{{ base16_schemes['schemes'][base16_scheme]['termux']['colors']['base16-' + base16_scheme + '.properties'] }}" dest: "{{ ansible_env.HOME }}/.termux/colors.properties" mode: "u+rw,g=r,o=r" # TODO Only on Termux - name: Configure Alacritty 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 - name: Download base16 theme for shell 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 - name: Download base16 theme for fzf 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 - name: Set used base16 theme for vim 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 - name: Download base16 theme for qutebrowser 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 - name: Download base16 theme for Tridactyl 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 - name: Configure Dunst template: src: "{{ ansible_env.HOME }}/.config/dunst/dunstrc.j2" dest: "{{ ansible_env.HOME }}/.config/dunst/dunstrc" mode: "u+rw,g=r,o=r" # 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