- name: Installing packages become: true package: name: - zsh - curl - gcc - make - wget - git - ranger - jq - nodejs - npm - man-db - clang - podman - ripgrep - lsd - gitui - NetworkManager-tui - tldr - bat - fzf state: present - name: Copy gitconfig base copy: src: dotfiles/gitconfig dest: ~/.gitconfig force: no mode: preserve - name: Setting up oh-my-zsh git: repo: https://github.com/ohmyzsh/ohmyzsh.git dest: ~/.oh-my-zsh version: master - name: Making sure to use ZSH as shell become: true user: name: "{{ running_user }}" shell: /bin/zsh - name: Linking up zsh config (zshrc) file: src: "{{ playbook_dir }}/files/dotfiles/zshrc" dest: ~/.zshrc state: link owner: "{{ ansible_user_id }}" group: "{{ ansible_user_id }}" - name: Add ranger devicons plugin repo git: repo: https://github.com/alexanderjeurissen/ranger_devicons.git dest: ~/.config/ranger/plugins/ranger_devicons version: main - name: Validate ranger config file changed_when: false file: path: ~/.config/ranger/rc.conf state: touch mode: u=rw,g=r,o=r - name: Activate ranger devicons plugin lineinfile: path: ~/.config/ranger/rc.conf line: 'default_linemode devicons' state: present - name: Verifying shell config folder file: path: ~/.shellconfig state: directory mode: '0755' - name: Verifying shell autocomplete config folder file: path: ~/.shellconfig/autocomplete state: directory mode: '0755' - name: Verifying shell cheat config folder file: path: ~/.shellconfig/cheat state: directory mode: '0755' - name: Sync Common shell settings... changed_when: false copy: src: dotfiles/shellconfig/common.sh dest: ~/.shellconfig/common.sh force: yes mode: preserve - name: Sync Cheat script changed_when: false copy: src: dotfiles/shellconfig/cheat.sh dest: ~/.shellconfig/cheat.sh force: yes mode: u+rx,g-rx,o-rwx - name: Copy shell aliases copy: src: dotfiles/shellconfig/aliases.sh dest: ~/.shellconfig/aliases.sh force: no mode: preserve - name: Copy shell functions copy: src: dotfiles/shellconfig/functions.sh dest: ~/.shellconfig/functions.sh force: no mode: preserve - name: Copy shell environment copy: src: dotfiles/shellconfig/environment.sh dest: ~/.shellconfig/environment.sh force: no mode: preserve - name: Copy topics cheat sheet list copy: src: dotfiles/shellconfig/cheat/topics dest: ~/.shellconfig/cheat/topics force: yes mode: preserve - name: Install modern UNIX tools include_role: name: modern_unix_tools - name: Copy workspaces files block: - name: Make sure directory is there file: path: ~/.shellconfig/workspaces state: directory mode: '0755' - name: Copy json copy: src: dotfiles/shellconfig/workspaces/workspaces.json dest: ~/.shellconfig/workspaces/workspaces.json force: no mode: preserve - name: Copy add script copy: src: dotfiles/shellconfig/workspaces/add_workspace.sh dest: ~/.shellconfig/workspaces/add_workspace.sh force: yes mode: preserve - name: Copy open script copy: src: dotfiles/shellconfig/workspaces/open_workspace.sh dest: ~/.shellconfig/workspaces/open_workspace.sh force: yes mode: preserve - name: Copy delete script copy: src: dotfiles/shellconfig/workspaces/delete_workspace.sh dest: ~/.shellconfig/workspaces/delete_workspace.sh force: yes mode: preserve # Gitui - name: Verifying gitui config file: path: ~/.config/gitui state: directory mode: '0755' - name: Copy gitui keybindings copy: src: dotfiles/gitui/key_bindings.ron dest: ~/.config/gitui/key_bindings.ron force: yes mode: preserve - name: Copy gitui theme config copy: src: dotfiles/gitui/theme.ron dest: ~/.config/gitui/theme.ron force: yes mode: preserve # bat (cat) - name: verify Bat (better Cat) theme changed_when: false ansible.builtin.lineinfile: path: "~/.shellconfig/common.sh" regexp: "^export BAT_THEME=" line: 'export BAT_THEME="${{ theme }}"'