defaults | ||
files | ||
handlers | ||
meta | ||
tasks | ||
vars | ||
.gitmodules | ||
README.md |
Common
Common user settings and tools used by Jannik Beyerstedt. This role is compatible with Debian based systems and macOS.
Requirements
none
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, ifansible_os_family
is not set correctly
The User Setup will change the user shell and global gitconfig. This can be disabled:
usersetup_chsh
: Boolean to disable changing the user shell to zshusersetup_gitconfig
: Boolean to disable overriding the global gitconfig
For a GUI/ Desktop machine, you can enable to install and configure VS Code:
user_vscode
: Boolean to install and set the basic configuration of VS Codeuser_lang_cpp
: Boolean to install C/C++ dev tools and configure VS Codeuser_lang_python
: Boolean to install Python dev tools and configure VS Codeuser_lang_golang
: Boolean to install Golang dev tools and configure VS Code
The user_lang_*
switches will also install the language onyl, if user_vscode
is set to false.
Dependencies
none
Example Playbook
You can simply run the whole role:
- name: Basic User Shell Setup
hosts: all
strategy: free
tasks:
- name: Basics - Update first
import_role:
name: common
tasks_from: update
- name: Basics - Install essential tools
import_role:
name: common
tasks_from: essentials
- name: Basics - Install more tools
import_role:
name: common
tasks_from: tools
- name: Basics - Setup user shell
import_role:
name: common
tasks_from: usersetup
- name: Basics - Install dotfiles
import_role:
name: common
tasks_from: usersettings
# just for you main machine (not included in the role's main.yml)
- name: Basics - Install user's working utilities
import_role:
name: common
tasks_from: usertools
# (not included in the role's main.yml)
- name: Basics - Install and configure VS Code
import_role:
name: common
tasks_from: vscode
Or call the different tasks individually:
- name: Basic User Shell Setup
hosts: all
strategy: free
tasks:
- name: Basics - Update first
roles:
- common
License
GPLv3