ansible-role-common/tasks/usersettings.yml
2024-12-03 09:48:05 +01:00

168 lines
5.5 KiB
YAML

---
# Common/Usersettings: Universial Dotfiles. Update regularly.
- name: Usersettings - Install required tools
become: true
ignore_errors: true # just fail on systems without sudo access
ansible.builtin.package:
name: "{{ packages }}"
state: present
vars:
packages:
- git
diff: false
- name: Usersettings - Install/ Update oh-my-zsh for current user
ansible.builtin.git:
repo: https://github.com/robbyrussell/oh-my-zsh.git
dest: "{{ ansible_user_dir }}/.oh-my-zsh"
diff: false
- name: Usersettings - Install/ Update fzf sources
ansible.builtin.git:
repo: https://github.com/junegunn/fzf.git
dest: "{{ ansible_user_dir }}/.fzf"
register: fzf_git
diff: false
- name: (Re-)Install fzf
when:
- fzf_git.after != fzf_git.before
ansible.builtin.shell: ".fzf/install --key-bindings --no-completion --no-update-rc"
- name: Usersettings - Install pip virtualenvwrapper
when: usersetup_virtualenvwrapper
diff: false
block:
- name: Usersettings - Install pip3
when:
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) != "Darwin" and
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) != "FreeBSD"
become: true
ignore_errors: true # just fail on systems without sudo access
ansible.builtin.package:
name: "{{ packages }}"
state: present
vars:
packages:
- python3-pip
diff: false
- name: Usersettings - Install pip virtualenvwrapper (Debian)
when: (override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Debian"
become: true
ansible.builtin.pip:
name: virtualenvwrapper
extra_args: --system
- name: Usersettings - Install pip virtualenvwrapper (macOS)
when: (override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Darwin"
environment:
PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
ansible.builtin.pip:
name: virtualenvwrapper
- name: Usersettings - Install pip virtualenvwrapper (CentOS, ArchLinux)
when:
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Centos" or
(override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Archlinux"
become: true
ansible.builtin.pip:
name: virtualenvwrapper
- name: Usersettings - Copy dotfiles
ansible.builtin.copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "0644"
with_items:
- {
src: "{{ role_path }}/files/_gitignore_global",
dest: "{{ ansible_user_dir }}/.gitignore_global",
}
- {
src: "{{ role_path }}/files/_config/mpv.conf",
dest: "{{ ansible_user_dir }}/.config/mpv/",
}
- {
src: "{{ role_path }}/files/_oh-my-zsh/jtbx.zsh-theme",
dest: "{{ ansible_user_dir }}/.oh-my-zsh/custom/themes/jtbx.zsh-theme",
}
- name: Usersettings - Create some directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: "0755"
with_items:
- "{{ ansible_user_dir }}/.config/htop/"
- name: Usersettings - Set templated dotfiles
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
force: "{{ item.force }}"
mode: "0644"
ignore_errors: true
with_items:
- {
src: "{{ role_path }}/templates/_zshrc.j2",
dest: "{{ ansible_user_dir }}/.zshrc",
force: true,
}
- {
src: "{{ role_path }}/templates/_tmux.conf.j2",
dest: "{{ ansible_user_dir }}/.tmux.conf",
force: true,
}
- {
src: "{{ role_path }}/templates/_vimrc.j2",
dest: "{{ ansible_user_dir }}/.vimrc",
force: true,
}
- {
src: "{{ role_path }}/templates/htoprc.j2",
dest: "{{ ansible_user_dir }}/.config/htop/htoprc",
force: false,
}
- name: Usersettings - Set global gitconfig
when: usersetup_gitconfig
ansible.builtin.template:
src: "{{ role_path }}/templates/_gitconfig.j2"
dest: "{{ ansible_user_dir }}/.gitconfig"
mode: "0644"
- name: Usersettings - Vim Plugings
when: usersetup_vimplugins
block:
- name: Usersettings - Create .vim directory
ansible.builtin.file:
path: "{{ ansible_user_dir }}/.vim/autoload"
state: directory
mode: "0755"
- name: Usersettings - Install vim plugin manager
ansible.builtin.get_url:
url: https://tpo.pe/pathogen.vim
dest: "{{ ansible_user_dir }}/.vim/autoload/pathogen.vim"
mode: "0644"
- name: Usersettings - Install vim plugins
ansible.builtin.git:
repo: "{{ item.repo }}"
dest: "{{ item.dest }}"
diff: false
with_items:
- {
repo: "https://github.com/itchyny/lightline.vim",
dest: "{{ ansible_user_dir }}/.vim/bundle/lightline",
}
- {
repo: "https://github.com/w0rp/ale",
dest: "{{ ansible_user_dir }}/.vim/bundle/ale",
}
- {
repo: "https://github.com/airblade/vim-gitgutter",
dest: "{{ ansible_user_dir }}/.vim/bundle/vim-gitgutter",
}
- {
repo: "https://github.com/sheerun/vim-polyglot",
dest: "{{ ansible_user_dir }}/.vim/bundle/vim-polyglot",
}
- {
repo: "https://github.com/tpope/vim-commentary",
dest: "{{ ansible_user_dir }}/.vim/bundle/vim-commentary",
}
# TODO: https://github.com/jan-warchol/selenized