diff --git a/README.md b/README.md index 633f8df..f77c712 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Role Variables -------------- This role uses the apt package manager on Debian based hosts. -But for some operating systems the `ansible_os_family` variable is not set to "Debian" by the fact gathering even if it is Debian based (like Mendel GNU/Linux on the Google Coral Dev Board). -- `override_os_family`: Set to "Debian" in the host inventory, if `ansible_os_family` is not set correctly +But for some operating systems the `ansible_facts['os_family']` variable is not set to "Debian" by the fact gathering even if it is Debian based (like Mendel GNU/Linux on the Google Coral Dev Board). +- `override_os_family`: Set to "Debian" in the host inventory, if `ansible_facts['os_family']` is not set correctly On macOS, it might be needed to specify the full path to the pip3 executable: - `override_pip_exe`: Set a custom pip executable (default: n.a.) @@ -38,7 +38,7 @@ For a GUI/ Desktop machine, you can enable to install and configure VS Code: - `user_lang_cpp`: Boolean to install C/C++ dev tools and configure VS Code (default: false) - `user_lang_python`: Boolean to install Python dev tools and configure VS Code (default: false) - `user_lang_golang`: Boolean to install Golang dev tools and configure VS Code (default: false) - * `user_lang_golang_gopath`: Install path for golang (default: "{{ ansible_user_dir }}/Development/go") + * `user_lang_golang_gopath`: Install path for golang (default: "{{ ansible_facts['user_dir'] }}/Development/go") - `user_lang_latex`: Boolean to install a LaTeX distribution and configure VS Code (default: false) By default, this role will run updates, install some essential tools, set up the user's shell and copy the dotfiles. diff --git a/defaults/main.yml b/defaults/main.yml index 56c565b..8f80ea8 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -23,5 +23,5 @@ user_vscode: false user_lang_cpp: false user_lang_python: false user_lang_golang: false -user_lang_golang_gopath: "{{ ansible_user_dir }}/Development/go" +user_lang_golang_gopath: "{{ ansible_facts['user_dir'] }}/Development/go" user_lang_latex: false diff --git a/tasks/devel-Archlinux.yml b/tasks/devel-Archlinux.yml index 9a30d98..32ba8dd 100644 --- a/tasks/devel-Archlinux.yml +++ b/tasks/devel-Archlinux.yml @@ -35,13 +35,13 @@ diff: false - name: VSCode - Basics - Create settings directory ansible.builtin.file: - path: "{{ ansible_user_dir }}/.config/Code/User" + path: "{{ ansible_facts['user_dir'] }}/.config/Code/User" state: directory mode: "0755" - name: VSCode - Basics - Copy global settings ansible.builtin.copy: src: "{{ role_path }}/files/vscode-settings.json" - dest: "{{ ansible_user_dir }}/.config/Code/User/settings.json" + dest: "{{ ansible_facts['user_dir'] }}/.config/Code/User/settings.json" mode: "0644" # Dev Env - C/C++ Development Tools diff --git a/tasks/devel-Darwin.yml b/tasks/devel-Darwin.yml index 8e9f6b6..7f088b5 100644 --- a/tasks/devel-Darwin.yml +++ b/tasks/devel-Darwin.yml @@ -33,13 +33,13 @@ # - graphviz - name: VSCode - Basics - Create settings directory ansible.builtin.file: - path: "{{ ansible_user_dir }}/Library/Application Support/Code/User" + path: "{{ ansible_facts['user_dir'] }}/Library/Application Support/Code/User" state: directory mode: "0755" - name: VSCode - Basics - Copy global settings ansible.builtin.copy: src: "{{ role_path }}/files/vscode-settings.json" - dest: "{{ ansible_user_dir }}/Library/Application Support/Code/User/settings.json" + dest: "{{ ansible_facts['user_dir'] }}/Library/Application Support/Code/User/settings.json" mode: "0644" # Dev Env - C/C++ Development Tools diff --git a/tasks/devel-Debian.yml b/tasks/devel-Debian.yml index ee70777..8db319d 100644 --- a/tasks/devel-Debian.yml +++ b/tasks/devel-Debian.yml @@ -44,13 +44,13 @@ diff: false - name: VSCode - Basics - Create settings directory ansible.builtin.file: - path: "{{ ansible_user_dir }}/.config/Code/User" + path: "{{ ansible_facts['user_dir'] }}/.config/Code/User" state: directory mode: "0755" - name: VSCode - Basics - Copy global settings ansible.builtin.copy: src: "{{ role_path }}/files/vscode-settings.json" - dest: "{{ ansible_user_dir }}/.config/Code/User/settings.json" + dest: "{{ ansible_facts['user_dir'] }}/.config/Code/User/settings.json" mode: "0644" # Dev Env - C/C++ Development Tools diff --git a/tasks/devel.yml b/tasks/devel.yml index e4efa70..a67d951 100644 --- a/tasks/devel.yml +++ b/tasks/devel.yml @@ -16,8 +16,8 @@ - name: VSCode - Install and configure VS Code ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "devel-{{ ansible_distribution }}.yml" - - "devel-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "devel-{{ ansible_facts['distribution'] }}.yml" + - "devel-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" # Install Visual Studio Code and Set Basic Configuration - name: VSCode - Basics @@ -73,18 +73,18 @@ mode: "0755" - name: Devel - Golang - Create zshrc-host ansible.builtin.file: - path: "{{ ansible_user_dir }}/.zshrc-host" + path: "{{ ansible_facts['user_dir'] }}/.zshrc-host" state: touch mode: "0644" - name: Devel - Golang - Add GOPATH ansible.builtin.lineinfile: - path: "{{ ansible_user_dir }}/.zshrc-host" + path: "{{ ansible_facts['user_dir'] }}/.zshrc-host" line: "export GOPATH={{ user_lang_golang_gopath }}" state: present backup: true - name: Devel - Golang - Add go bin to PATH ansible.builtin.lineinfile: - path: "{{ ansible_user_dir }}/.zshrc-host" + path: "{{ ansible_facts['user_dir'] }}/.zshrc-host" line: "export PATH=$PATH:{{ user_lang_golang_gopath }}/bin" state: present backup: true diff --git a/tasks/essentials.yml b/tasks/essentials.yml index 22866c3..6a473eb 100644 --- a/tasks/essentials.yml +++ b/tasks/essentials.yml @@ -4,5 +4,5 @@ - name: Essentials - Install essential utilities ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "essentials-{{ ansible_distribution }}.yml" - - "essentials-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "essentials-{{ ansible_facts['distribution'] }}.yml" + - "essentials-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" diff --git a/tasks/tools.yml b/tasks/tools.yml index acaf647..e74d282 100644 --- a/tasks/tools.yml +++ b/tasks/tools.yml @@ -4,5 +4,5 @@ - name: Tools - Install basic utilities ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "tools-{{ ansible_distribution }}.yml" - - "tools-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "tools-{{ ansible_facts['distribution'] }}.yml" + - "tools-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" diff --git a/tasks/update.yml b/tasks/update.yml index 5b2eb19..6589075 100644 --- a/tasks/update.yml +++ b/tasks/update.yml @@ -4,6 +4,6 @@ - name: Update - Update and upgrade all packages ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "update-{{ ansible_distribution }}.yml" - - "update-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "update-{{ ansible_facts['distribution'] }}.yml" + - "update-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" ignore_errors: true diff --git a/tasks/usersettings.yml b/tasks/usersettings.yml index 44e52c8..d24265c 100644 --- a/tasks/usersettings.yml +++ b/tasks/usersettings.yml @@ -15,13 +15,13 @@ - 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" + dest: "{{ ansible_facts['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" + dest: "{{ ansible_facts['user_dir'] }}/.fzf" register: fzf_git diff: false - name: (Re-)Install fzf @@ -35,8 +35,8 @@ 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" + (override_os_family is defined) | ternary(override_os_family,ansible_facts['os_family']) != "Darwin" and + (override_os_family is defined) | ternary(override_os_family,ansible_facts['os_family']) != "FreeBSD" become: true ignore_errors: true # just fail on systems without sudo access ansible.builtin.package: @@ -47,21 +47,21 @@ - python3-pip diff: false - name: Usersettings - Install pip virtualenvwrapper (Debian) - when: (override_os_family is defined) | ternary(override_os_family,ansible_os_family) == "Debian" + when: (override_os_family is defined) | ternary(override_os_family,ansible_facts['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" + when: (override_os_family is defined) | ternary(override_os_family,ansible_facts['os_family']) == "Darwin" environment: - PATH: "/usr/local/bin:{{ ansible_env.PATH }}" + PATH: "/usr/local/bin:{{ ansible_facts['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" + (override_os_family is defined) | ternary(override_os_family,ansible_facts['os_family']) == "Centos" or + (override_os_family is defined) | ternary(override_os_family,ansible_facts['os_family']) == "Archlinux" become: true ansible.builtin.pip: name: virtualenvwrapper @@ -73,15 +73,15 @@ with_items: - { src: "{{ role_path }}/files/_gitignore_global", - dest: "{{ ansible_user_dir }}/.gitignore_global", + dest: "{{ ansible_facts['user_dir'] }}/.gitignore_global", } - { src: "{{ role_path }}/files/_config/mpv.conf", - dest: "{{ ansible_user_dir }}/.config/mpv/", + dest: "{{ ansible_facts['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", + dest: "{{ ansible_facts['user_dir'] }}/.oh-my-zsh/custom/themes/jtbx.zsh-theme", } - name: Usersettings - Create some directories ansible.builtin.file: @@ -89,7 +89,7 @@ state: directory mode: "0755" with_items: - - "{{ ansible_user_dir }}/.config/htop/" + - "{{ ansible_facts['user_dir'] }}/.config/htop/" - name: Usersettings - Set templated dotfiles ansible.builtin.template: src: "{{ item.src }}" @@ -100,29 +100,29 @@ with_items: - { src: "{{ role_path }}/templates/_zshrc.j2", - dest: "{{ ansible_user_dir }}/.zshrc", + dest: "{{ ansible_facts['user_dir'] }}/.zshrc", force: true, } - { src: "{{ role_path }}/templates/_tmux.conf.j2", - dest: "{{ ansible_user_dir }}/.tmux.conf", + dest: "{{ ansible_facts['user_dir'] }}/.tmux.conf", force: true, } - { src: "{{ role_path }}/templates/_vimrc.j2", - dest: "{{ ansible_user_dir }}/.vimrc", + dest: "{{ ansible_facts['user_dir'] }}/.vimrc", force: true, } - { src: "{{ role_path }}/templates/htoprc.j2", - dest: "{{ ansible_user_dir }}/.config/htop/htoprc", + dest: "{{ ansible_facts['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" + dest: "{{ ansible_facts['user_dir'] }}/.gitconfig" mode: "0644" - name: Usersettings - Vim Plugings @@ -130,13 +130,13 @@ block: - name: Usersettings - Create .vim directory ansible.builtin.file: - path: "{{ ansible_user_dir }}/.vim/autoload" + path: "{{ ansible_facts['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" + dest: "{{ ansible_facts['user_dir'] }}/.vim/autoload/pathogen.vim" mode: "0644" - name: Usersettings - Install vim plugins ansible.builtin.git: @@ -146,22 +146,22 @@ with_items: - { repo: "https://github.com/itchyny/lightline.vim", - dest: "{{ ansible_user_dir }}/.vim/bundle/lightline", + dest: "{{ ansible_facts['user_dir'] }}/.vim/bundle/lightline", } - { repo: "https://github.com/w0rp/ale", - dest: "{{ ansible_user_dir }}/.vim/bundle/ale", + dest: "{{ ansible_facts['user_dir'] }}/.vim/bundle/ale", } - { repo: "https://github.com/airblade/vim-gitgutter", - dest: "{{ ansible_user_dir }}/.vim/bundle/vim-gitgutter", + dest: "{{ ansible_facts['user_dir'] }}/.vim/bundle/vim-gitgutter", } - { repo: "https://github.com/sheerun/vim-polyglot", - dest: "{{ ansible_user_dir }}/.vim/bundle/vim-polyglot", + dest: "{{ ansible_facts['user_dir'] }}/.vim/bundle/vim-polyglot", } - { repo: "https://github.com/tpope/vim-commentary", - dest: "{{ ansible_user_dir }}/.vim/bundle/vim-commentary", + dest: "{{ ansible_facts['user_dir'] }}/.vim/bundle/vim-commentary", } # TODO: https://github.com/jan-warchol/selenized diff --git a/tasks/usersetup-Archlinux.yml b/tasks/usersetup-Archlinux.yml index 1696396..892dd6a 100644 --- a/tasks/usersetup-Archlinux.yml +++ b/tasks/usersetup-Archlinux.yml @@ -4,7 +4,7 @@ - name: Usersetup - Check, if usersetup already ran ansible.builtin.stat: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" register: common_usersetup - name: Usersetup - Change login shell to zsh for current user @@ -12,7 +12,7 @@ - not common_usersetup.stat.exists and usersetup_chsh become: true ansible.builtin.user: - name: "{{ ansible_user_id }}" + name: "{{ ansible_facts['user_id'] }}" shell: /bin/zsh # TODO: adapt to ArchLinux systems, if needed @@ -42,6 +42,6 @@ when: - not common_usersetup.stat.exists ansible.builtin.file: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" state: touch mode: "0644" diff --git a/tasks/usersetup-Centos.yml b/tasks/usersetup-Centos.yml index b846ca6..0be6bb3 100644 --- a/tasks/usersetup-Centos.yml +++ b/tasks/usersetup-Centos.yml @@ -4,7 +4,7 @@ - name: Usersetup - Check, if usersetup already ran ansible.builtin.stat: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" register: common_usersetup - name: Usersetup - Change login shell to zsh for current user @@ -12,7 +12,7 @@ - not common_usersetup.stat.exists and usersetup_chsh become: true ansible.builtin.user: - name: "{{ ansible_user_id }}" + name: "{{ ansible_facts['user_id'] }}" shell: /bin/zsh # TODO: adapt to CentOS/ RHEL systems, if needed @@ -42,6 +42,6 @@ when: - not common_usersetup.stat.exists ansible.builtin.file: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" state: touch mode: "0644" diff --git a/tasks/usersetup-Darwin.yml b/tasks/usersetup-Darwin.yml index c0cd41f..0aefd6c 100644 --- a/tasks/usersetup-Darwin.yml +++ b/tasks/usersetup-Darwin.yml @@ -4,7 +4,7 @@ - name: Usersetup - Check, if usersetup already ran ansible.builtin.stat: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" register: common_usersetup - name: Usersetup - Change login shell to zsh for current user @@ -12,13 +12,13 @@ - not common_usersetup.stat.exists and usersetup_chsh become: true ansible.builtin.user: - name: "{{ ansible_user_id }}" + name: "{{ ansible_facts['user_id'] }}" shell: /bin/zsh - name: Usersetup - Create lockfile when: - not common_usersetup.stat.exists ansible.builtin.file: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" state: touch mode: "0644" diff --git a/tasks/usersetup-Debian.yml b/tasks/usersetup-Debian.yml index e226e9b..a3b2bda 100644 --- a/tasks/usersetup-Debian.yml +++ b/tasks/usersetup-Debian.yml @@ -4,7 +4,7 @@ - name: Usersetup - Check, if usersetup already ran ansible.builtin.stat: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" register: common_usersetup - name: Usersetup - Change login shell to zsh for current user @@ -12,7 +12,7 @@ - not common_usersetup.stat.exists and usersetup_chsh become: true ansible.builtin.user: - name: "{{ ansible_user_id }}" + name: "{{ ansible_facts['user_id'] }}" shell: /bin/zsh - name: Usersetup - Install locales package @@ -41,6 +41,6 @@ when: - not common_usersetup.stat.exists ansible.builtin.file: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" state: touch mode: "0644" diff --git a/tasks/usersetup-FreeBSD.yml b/tasks/usersetup-FreeBSD.yml index fb1e772..2863f1e 100644 --- a/tasks/usersetup-FreeBSD.yml +++ b/tasks/usersetup-FreeBSD.yml @@ -4,7 +4,7 @@ - name: Usersetup - Check, if usersetup already ran ansible.builtin.stat: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" register: common_usersetup - name: Usersetup - Change login shell to zsh for current user @@ -12,7 +12,7 @@ - not common_usersetup.stat.exists and usersetup_chsh become: true ansible.builtin.user: - name: "{{ ansible_user_id }}" + name: "{{ ansible_facts['user_id'] }}" shell: /usr/local/bin/zsh # - name: Usersetup - Install locales package @@ -41,6 +41,6 @@ when: - not common_usersetup.stat.exists ansible.builtin.file: - path: "{{ ansible_user_dir }}/.ansbl-common-usersetup" + path: "{{ ansible_facts['user_dir'] }}/.ansbl-common-usersetup" state: touch mode: "0644" diff --git a/tasks/usersetup.yml b/tasks/usersetup.yml index 06667f8..be99d1f 100644 --- a/tasks/usersetup.yml +++ b/tasks/usersetup.yml @@ -5,5 +5,5 @@ - name: Usersetup - Run setup tasks ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "usersetup-{{ ansible_distribution }}.yml" - - "usersetup-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "usersetup-{{ ansible_facts['distribution'] }}.yml" + - "usersetup-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" diff --git a/tasks/usertools.yml b/tasks/usertools.yml index 80ad463..b63b423 100644 --- a/tasks/usertools.yml +++ b/tasks/usertools.yml @@ -4,5 +4,5 @@ - name: Usertools - Install user's working utilities ansible.builtin.include_tasks: "{{ item }}" with_first_found: - - "usertools-{{ ansible_distribution }}.yml" - - "usertools-{{ (override_os_family is defined) | ternary(override_os_family, ansible_os_family) }}.yml" + - "usertools-{{ ansible_facts['distribution'] }}.yml" + - "usertools-{{ (override_os_family is defined) | ternary(override_os_family, ansible_facts['os_family']) }}.yml" diff --git a/templates/_tmux.conf.j2 b/templates/_tmux.conf.j2 index 79c5cb6..bda8bab 100644 --- a/templates/_tmux.conf.j2 +++ b/templates/_tmux.conf.j2 @@ -10,7 +10,7 @@ bind r source-file ~/.tmux.conf # shorter timing set -g repeat-time 200 -{% if not (ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7) %} +{% if not (ansible_facts['distribution'] == "CentOS" and ansible_facts['distribution_major_version']|int <= 7) %} # configure mouse setw -g mouse on {% endif %} @@ -29,7 +29,7 @@ setw -g pane-base-index 1 # status bar #set -g status-right '#[fg=white]#(hostname)@#(host `hostname` | cut -d " " -f 4)' set-window-option -g status-left " #S " -{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %} +{% if ansible_facts['distribution'] == "CentOS" and ansible_facts['distribution_major_version']|int <= 7 %} set-window-option -g status-left-fg black set-window-option -g status-left-bg white {% else %} @@ -37,7 +37,7 @@ set-window-option -g status-left-style fg=black,bg=white {% endif %} set-window-option -g status-right " %H:%M %Y-%m-%d | #(hostname) " -{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %} +{% if ansible_facts['distribution'] == "CentOS" and ansible_facts['distribution_major_version']|int <= 7 %} set-window-option -g status-right-fg black set-window-option -g status-right-bg white {% else %} @@ -47,7 +47,7 @@ set-window-option -g status-right-style fg=black,bg=white set-window-option -g window-status-format " #I: #W " set-window-option -g window-status-current-format " #I: #W " -{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %} +{% if ansible_facts['distribution'] == "CentOS" and ansible_facts['distribution_major_version']|int <= 7 %} set-window-option -g window-status-current-fg green set-window-option -g window-status-current-bg black {% else %}