diff --git a/config/automatrop/playbooks/default.yml b/config/automatrop/playbooks/default.yml index bf37348..b7760c4 100644 --- a/config/automatrop/playbooks/default.yml +++ b/config/automatrop/playbooks/default.yml @@ -1,3 +1,4 @@ +--- - name: Default hosts: all roles: diff --git a/config/automatrop/roles/desktop_environment/handlers/main.yml b/config/automatrop/roles/desktop_environment/handlers/main.yml index 05d0e19..5eaac96 100644 --- a/config/automatrop/roles/desktop_environment/handlers/main.yml +++ b/config/automatrop/roles/desktop_environment/handlers/main.yml @@ -1,14 +1,11 @@ -- name: xrdb-reload - command: "xrdb -I{{ ansible_env.HOME }} {{ ansible_env.HOME }}/.config/Xresources/main" - -- name: i3-reload - command: i3-msg reload - -- name: shell-reload - command: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApply" - -- name: fzf-reload - shell: "source {{ ansible_env.HOME }}/.local/bin/colorSchemeApplyFzf" - -- name: qutebrowser-reload - shell: "! pgrep qutebrowser || qutebrowser :config-source" +--- +- name: Xrdb-reload + ansible.builtin.command: xrdb -I{{ ansible_env.HOME }} {{ ansible_env.HOME }}/.config/Xresources/main +- name: I3-reload + ansible.builtin.command: i3-msg reload +- name: Shell-reload + ansible.builtin.command: "{{ ansible_env.HOME }}/.local/bin/colorSchemeApply" +- name: Fzf-reload + ansible.builtin.command: source {{ ansible_env.HOME }}/.local/bin/colorSchemeApplyFzf +- name: Qutebrowser-reload + ansible.builtin.shell: "! pgrep qutebrowser || qutebrowser :config-source" diff --git a/config/automatrop/roles/desktop_environment/tasks/main.yml b/config/automatrop/roles/desktop_environment/tasks/main.yml index ce68c8e..7bf5de8 100644 --- a/config/automatrop/roles/desktop_environment/tasks/main.yml +++ b/config/automatrop/roles/desktop_environment/tasks/main.yml @@ -1,22 +1,24 @@ +--- - name: Ensure directories for desktop applications are present - file: + ansible.builtin.file: state: directory path: "{{ ansible_user_dir }}/{{ item }}" - mode: "u=rwx,g=rx,o=rx" + mode: u=rwx,g=rx,o=rx with_items: - - ".config/Xresources" - - ".config/rofi" - - ".local/bin" - - ".local/share/fonts" - - ".config/qutebrowser" - - ".config/tridactyl/themes" + - .config/Xresources + - .config/rofi + - .local/bin + - .local/share/fonts + - .config/qutebrowser + - .config/tridactyl/themes # Download fonts - name: Download Nerd fonts - get_url: - url: "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/DejaVuSansMono/{{ item.folder }}/complete/{{ item.filename | urlencode }}" + 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" + mode: u=rw,g=r,o=r loop: - filename: DejaVu Sans Mono Bold Nerd Font Complete Mono.ttf folder: Bold @@ -28,15 +30,16 @@ folder: Italic - name: Download icon fonts - get_url: - url: "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/a8386aae19e200ddb0f6845b5feeee5eb7013687/fonts/fontawesome-webfont.ttf" + 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" + mode: u=rw,g=r,o=r # TODO Either replace with ForkAwesome or Nerd Fonts - name: Install python dependencies for lemonbar - pip: + 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: @@ -58,20 +61,20 @@ - i3 - name: Configure Alacritty - template: + 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 + 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 - copy: + 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" + mode: u=rw,g=r,o=r notify: - xrdb-reload tags: @@ -79,30 +82,30 @@ when: display_server == 'x11' - name: Download base16 theme for qutebrowser - copy: + 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" + mode: u=rw,g=r,o=r notify: - qutebrowser-reload tags: - color - name: Download base16 theme for Tridactyl - copy: + 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 + mode: u=rw,g=r,o=r + when: false # Not currently used tags: - color - name: Configure i3 - template: + 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" + mode: u=rw,g=r,o=r notify: - i3-reload tags: @@ -111,10 +114,10 @@ when: display_server == 'x11' - name: Set base16 theme for rofi - copy: + 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" + mode: u=rw,g=r,o=r tags: - color loop: @@ -122,49 +125,49 @@ - rasi - name: Configure Dunst - template: + 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" + mode: u=rw,g=r,o=r tags: - color when: display_server == 'x11' - name: Download base16 theme for fzf - copy: + 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" + mode: u=rw,g=r,o=r notify: - fzf-reload tags: - color - name: Download base16 theme for shell - copy: + 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" + mode: u=rwx,g=rx,o=rx notify: - shell-reload - when: False # Not currently used + when: false # Not currently used tags: - color - name: Set used base16 theme for vim - copy: + 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 + mode: u=rw,g=r,o=r + content: colorscheme base16-{{ base16_scheme }} + when: false # Not currently used tags: - color - name: Enable user services - systemd: + ansible.builtin.systemd: name: "{{ item }}" state: started - enabled: yes + enabled: true scope: user loop: - pulseaudio diff --git a/config/automatrop/roles/dotfiles/handlers/main.yml b/config/automatrop/roles/dotfiles/handlers/main.yml index e04e684..871fdcc 100644 --- a/config/automatrop/roles/dotfiles/handlers/main.yml +++ b/config/automatrop/roles/dotfiles/handlers/main.yml @@ -1,3 +1,3 @@ -- name: install dotfiles - command: "{{ ansible_user_dir }}/.dotfiles/config/scripts/dotfiles install" -# TODO A python module to do that, so without an handler +--- +- name: Install dotfiles + ansible.builtin.command: "{{ ansible_user_dir }}/.dotfiles/config/scripts/dotfiles install" diff --git a/config/automatrop/roles/dotfiles/tasks/main.yml b/config/automatrop/roles/dotfiles/tasks/main.yml index 3586aa7..61fa7d8 100644 --- a/config/automatrop/roles/dotfiles/tasks/main.yml +++ b/config/automatrop/roles/dotfiles/tasks/main.yml @@ -1,25 +1,26 @@ +--- - name: Ensure directories for applications are present - file: + ansible.builtin.file: state: directory path: "{{ ansible_user_dir }}/{{ item }}" - mode: "u=rwx,g=rx,o=rx" + mode: u=rwx,g=rx,o=rx with_items: - - ".cache/zsh" - - ".cache/mpd" - - ".ssh" - - ".local/bin" - - ".ansible/collections/ansible_collections/geoffreyfrogeye" + - .cache/zsh + - .cache/mpd + - .ssh + - .local/bin + - .ansible/collections/ansible_collections/geoffreyfrogeye - name: Install dotfiles repository - git: + ansible.builtin.git: repo: "{% if has_forge_access %}git@git.frogeye.fr:{% else %}https://git.frogeye.fr/{% endif %}geoffrey/dotfiles.git" dest: "{{ ansible_user_dir }}/.dotfiles" - update: yes + update: true notify: install dotfiles tags: dotfiles_repo # TODO Put actual dotfiles in a subdirectory of the repo, so we don't have to put everything in config - name: Install python dependencies for scripts - pip: + ansible.builtin.pip: requirements: "{{ ansible_user_dir }}/.dotfiles/config/scripts/requirements.txt" - + extra_args: --break-system-packages # It's fine, it's local anyways diff --git a/config/automatrop/roles/extensions/tasks/main.yml b/config/automatrop/roles/extensions/tasks/main.yml index 13024e0..d14feb9 100644 --- a/config/automatrop/roles/extensions/tasks/main.yml +++ b/config/automatrop/roles/extensions/tasks/main.yml @@ -1,13 +1,14 @@ +--- - name: Load extensions - include_role: - name: "geoffreyfrogeye.{{ extension }}automatrop.entry" + ansible.builtin.include_role: + name: geoffreyfrogeye.{{ extension }}automatrop.entry loop: "{{ extensions }}" loop_control: loop_var: extension tags: always - name: Configure extensions rc sourcing - template: + ansible.builtin.template: src: extrc.sh.j2 dest: "{{ ansible_user_dir }}/.config/shell/extrc" - mode: "u=rw,g=r,o=r" + mode: u=rw,g=r,o=r diff --git a/config/automatrop/roles/system/handlers/main.yaml b/config/automatrop/roles/system/handlers/main.yaml index 789dcca..a0bc42e 100644 --- a/config/automatrop/roles/system/handlers/main.yaml +++ b/config/automatrop/roles/system/handlers/main.yaml @@ -1,11 +1,10 @@ - - name: Reload systemd daemon - systemd: - daemon_reload: yes + ansible.builtin.systemd: + daemon_reload: true listen: systemd changed - become: yes + become: true - name: Warn about changed Panfrost config - debug: - msg: "The Panfrost display driver configuration was changed, but needs a reboot to be applied." + ansible.builtin.debug: + msg: The Panfrost display driver configuration was changed, but needs a reboot to be applied. listen: panfrost config changed diff --git a/config/automatrop/roles/system/tasks/main.yml b/config/automatrop/roles/system/tasks/main.yml index f7a3e0d..002d579 100644 --- a/config/automatrop/roles/system/tasks/main.yml +++ b/config/automatrop/roles/system/tasks/main.yml @@ -1,49 +1,49 @@ # Xorg configuration - name: Check if there is Intel backlight - stat: + ansible.builtin.stat: path: /sys/class/backlight/intel_backlight register: intel_backlight when: display_server == 'x11' - name: Install Intel video drivers (Arch based) - pacman: + community.general.pacman: name: xf86-video-intel # state: "{{ intel_backlight.stat.exists }}" state: present - become: yes + become: true when: display_server == 'x11' and intel_backlight.stat.exists and arch_based # TODO With software role? Would permit other distributions - name: Configure Xorg Intel backlight - copy: + ansible.builtin.copy: src: xorg/intel_backlight.conf dest: "{{ item }}/20-intel_backlight.conf" - become: yes + become: true when: display_server == 'x11' and intel_backlight.stat.exists loop: "{{ xorg_common_config_dirs }}" - name: Configure Xorg joystick behaviour - copy: + ansible.builtin.copy: src: xorg/joystick.conf dest: "{{ item }}/50-joystick.conf" - become: yes + become: true when: display_server == 'x11' loop: "{{ xorg_common_config_dirs }}" - name: List modules we're using - slurp: + ansible.builtin.slurp: src: /proc/modules - register: modules + register: modules when: display_server # Not sure the module will be loaded in early setup stages though - name: Make panfrost use OpenGL 3.3 - lineinfile: + ansible.builtin.lineinfile: path: /etc/environment - line: 'PAN_MESA_DEBUG="gl3"' - regexp: '^#? ?PAN_MESA_DEBUG=' - become: yes + line: PAN_MESA_DEBUG="gl3" + regexp: ^#? ?PAN_MESA_DEBUG= + become: true when: display_server and using_panfrost vars: using_panfrost: "{{ 'panfrost' in (modules.content | b64decode) }}" @@ -51,20 +51,20 @@ # Numlock on boot -- name: set numlock on boot - copy: +- name: Set numlock on boot + ansible.builtin.copy: src: getty.service dest: /etc/systemd/system/getty@.service.d/override.conf - become: yes + become: true notify: - systemd changed when: auto_numlock - name: Unset numlock on boot - file: + ansible.builtin.file: path: /etc/systemd/system/getty@.service.d/override.conf state: absent - become: yes + become: true notify: - systemd changed when: not auto_numlock diff --git a/config/automatrop/roles/termux/tasks/main.yml b/config/automatrop/roles/termux/tasks/main.yml index 88ca25d..8656d6d 100644 --- a/config/automatrop/roles/termux/tasks/main.yml +++ b/config/automatrop/roles/termux/tasks/main.yml @@ -1,16 +1,17 @@ +--- - name: Create Termux directory - file: + ansible.builtin.file: state: directory path: "{{ ansible_user_dir }}/.termux" - mode: "u=rwx,g=rx,o=rx" + mode: u=rwx,g=rx,o=rx # TODO This is a dotfiles directory. # Make it not install unless it's Termux - name: Silence Termux login message - file: + ansible.builtin.file: state: file path: "{{ ansible_user_dir }}/.hushlogin" - mode: "u=rw,g=r,o=r" + mode: u=rw,g=r,o=r # Build a single color scheme and template and assign it to a variable - base16_builder: @@ -22,10 +23,10 @@ - color - name: Download base16 theme for Termux - copy: + ansible.builtin.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" + mode: u=rw,g=r,o=r tags: - color