--- - 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: 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