[GIT] refactor submodules: add all to own repo
This commit is contained in:
commit
6ce42341b2
36
README.md
Normal file
36
README.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
Common
|
||||||
|
=========
|
||||||
|
|
||||||
|
Common user settings and tools.
|
||||||
|
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
|
||||||
|
none
|
||||||
|
|
||||||
|
|
||||||
|
Role Variables
|
||||||
|
--------------
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
none
|
||||||
|
|
||||||
|
Example Playbook
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||||
|
|
||||||
|
- hosts: servers
|
||||||
|
roles:
|
||||||
|
- { role: username.rolename, x: 42 }
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
GPLv3
|
2
defaults/main.yml
Normal file
2
defaults/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
# defaults file for common
|
2
handlers/main.yml
Normal file
2
handlers/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
# handlers file for common
|
23
meta/main.yml
Normal file
23
meta/main.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
galaxy_info:
|
||||||
|
author: Jannik Beyerstedt
|
||||||
|
description: My personal common tasks and settings files
|
||||||
|
|
||||||
|
# issue_tracker_url: http://example.com/issue/tracker
|
||||||
|
license: GPLv3
|
||||||
|
min_ansible_version: 2.4
|
||||||
|
|
||||||
|
platforms:
|
||||||
|
- name: Debian
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
- name: Darwin
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
|
||||||
|
galaxy_tags: []
|
||||||
|
# List tags for your role here, one per line.
|
||||||
|
# Be sure to remove the '[]' above, if you add tags to this list.
|
||||||
|
|
||||||
|
dependencies: []
|
||||||
|
# List your role dependencies here, one per line.
|
||||||
|
# Be sure to remove the '[]' above, if you add tags to this list.
|
14
tasks/essentials-Darwin.yml
Normal file
14
tasks/essentials-Darwin.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
# Common/Essentials: Essential Utilities (git, curl; vim, tmux, zsh) - macOS Version
|
||||||
|
|
||||||
|
- name: essentials - Install essential utilities
|
||||||
|
package:
|
||||||
|
name: "{{ packages }}"
|
||||||
|
state: latest
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- git
|
||||||
|
- curl
|
||||||
|
- zsh
|
||||||
|
- vim
|
||||||
|
- tmux
|
17
tasks/essentials-Debian.yml
Normal file
17
tasks/essentials-Debian.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
# Common/Essentials: Essential Utilities (git, curl; vim, tmux, zsh) - Debian Version
|
||||||
|
|
||||||
|
- name: essentials - Install essential utilities
|
||||||
|
become: yes
|
||||||
|
apt:
|
||||||
|
name: "{{ packages }}"
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 3600
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- git
|
||||||
|
- curl
|
||||||
|
- zsh
|
||||||
|
- vim
|
||||||
|
- tmux
|
8
tasks/essentials.yml
Normal file
8
tasks/essentials.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
# Common/Essentials: Essential Utilities (git, curl; vim, tmux, zsh)
|
||||||
|
|
||||||
|
- name: essentials - Install essential utilities
|
||||||
|
include_tasks: "{{ item }}"
|
||||||
|
with_first_found:
|
||||||
|
- "essentials-{{ ansible_distribution }}.yml"
|
||||||
|
- "essentials-{{ ansible_os_family }}.yml"
|
20
tasks/main.yml
Normal file
20
tasks/main.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
# Common setup tasks for all nodes (universial)
|
||||||
|
# ATTENTION: This is just the maintenance version of the Common role. Run all
|
||||||
|
# tasks during setup in this order:
|
||||||
|
# - essentials
|
||||||
|
# - tools
|
||||||
|
# - usersetup
|
||||||
|
# - usersettings
|
||||||
|
|
||||||
|
- name: Install updates
|
||||||
|
import_tasks: update.yml
|
||||||
|
|
||||||
|
- name: Install essential tools
|
||||||
|
import_tasks: essentials.yml
|
||||||
|
|
||||||
|
- name: Install more tools
|
||||||
|
import_tasks: tools.yml
|
||||||
|
|
||||||
|
- name: Apply user settings
|
||||||
|
import_tasks: usersettings.yml
|
11
tasks/tools-Darwin.yml
Normal file
11
tasks/tools-Darwin.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
# Common/Tools: Additional Tools (depending on OS) - macOS Version
|
||||||
|
|
||||||
|
- name: tools - Install basic utilities
|
||||||
|
homebrew:
|
||||||
|
name: "{{ packages }}"
|
||||||
|
state: latest
|
||||||
|
update_homebrew: yes
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- rsync
|
17
tasks/tools-Debian.yml
Normal file
17
tasks/tools-Debian.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
# Common/Tools: Additional Tools (depending on OS) - Debian Version
|
||||||
|
|
||||||
|
- name: tools - Install basic utilities
|
||||||
|
become: yes
|
||||||
|
apt:
|
||||||
|
name: "{{ packages }}"
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 3600
|
||||||
|
vars:
|
||||||
|
packages:
|
||||||
|
- wget
|
||||||
|
- rsync
|
||||||
|
- htop
|
||||||
|
- unzip
|
||||||
|
# - dnsutils
|
8
tasks/tools.yml
Normal file
8
tasks/tools.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
# Common/Tools: Additional Tools (depending on OS)
|
||||||
|
|
||||||
|
- name: tools - Install basic utilities
|
||||||
|
include_tasks: "{{ item }}"
|
||||||
|
with_first_found:
|
||||||
|
- "tools-{{ ansible_distribution }}.yml"
|
||||||
|
- "tools-{{ ansible_os_family }}.yml"
|
7
tasks/update-Darwin.yml
Normal file
7
tasks/update-Darwin.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
# Common/Update: Install All Updates - macOS Version
|
||||||
|
|
||||||
|
- name: update - Update and upgrade all packages
|
||||||
|
homebrew:
|
||||||
|
update_homebrew: yes
|
||||||
|
upgrade_all: yes
|
12
tasks/update-Debian.yml
Normal file
12
tasks/update-Debian.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
# Common/Update: Install All Updates - Debian Version
|
||||||
|
|
||||||
|
- name: update - Update and upgrade all packages
|
||||||
|
become: yes
|
||||||
|
apt:
|
||||||
|
force_apt_get: true
|
||||||
|
name: "*"
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
autoclean: yes
|
||||||
|
autoremove: yes
|
8
tasks/update.yml
Normal file
8
tasks/update.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
# Common/Update: Install All Updates
|
||||||
|
|
||||||
|
- name: update - Update and upgrade all packages
|
||||||
|
include_tasks: "{{ item }}"
|
||||||
|
with_first_found:
|
||||||
|
- "update-{{ ansible_distribution }}.yml"
|
||||||
|
- "update-{{ ansible_os_family }}.yml"
|
41
tasks/usersettings.yml
Normal file
41
tasks/usersettings.yml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
# Common/Usersettings: Universial Dotfiles. Update regularly.
|
||||||
|
|
||||||
|
- name: usersettings - Install/ Update oh-my-zsh for jannik
|
||||||
|
git:
|
||||||
|
repo: https://github.com/robbyrussell/oh-my-zsh.git
|
||||||
|
dest: .oh-my-zsh
|
||||||
|
|
||||||
|
- name: usersettings - Install/ Update fzf sources
|
||||||
|
git:
|
||||||
|
repo: https://github.com/junegunn/fzf.git
|
||||||
|
dest: .fzf
|
||||||
|
register:
|
||||||
|
fzf_git
|
||||||
|
- name: (Re-)Install fzf
|
||||||
|
shell: ".fzf/install --key-bindings --no-completion --no-update-rc"
|
||||||
|
when:
|
||||||
|
- fzf_git.after != fzf_git.before
|
||||||
|
|
||||||
|
- name: usersettings - Copy dotfiles
|
||||||
|
copy:
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
with_items:
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_gitconfig', dest: '.gitconfig' }
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_gitignore_global', dest: '.gitignore_global' }
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_tmux.conf', dest: '.tmux.conf' }
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_vimrc', dest: '.vimrc' }
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_zshrc', dest: '.zshrc' }
|
||||||
|
- { src: '{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/agnoster.zsh-theme', dest: '.oh-my-zsh/custom/themes/agnoster.zsh-theme' }
|
||||||
|
|
||||||
|
- name: usersettings - Install vim plugins
|
||||||
|
git:
|
||||||
|
repo: "{{ item.repo }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
with_items:
|
||||||
|
- { repo: 'https://github.com/itchyny/lightline.vim', dest: '.vim/bundle/lightline' }
|
||||||
|
- { repo: 'https://github.com/w0rp/ale', dest: '.vim/bundle/ale' }
|
||||||
|
- { repo: 'https://github.com/airblade/vim-gitgutter', dest: '.vim/bundle/vim-gitgutter' }
|
||||||
|
- { repo: 'https://github.com/sheerun/vim-polyglot', dest: '.vim/bundle/vim-polyglot' }
|
||||||
|
- { repo: 'https://github.com/tpope/vim-commentary', dest: '.vim/bundle/vim-commentary' }
|
38
tasks/usersetup-Darwin.yml
Normal file
38
tasks/usersetup-Darwin.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
# Common/Usersetup: Auto-setup a user shell and prepare dotfiles - macOS Version
|
||||||
|
# Will run once per user, because of lockfile `~/.ansbl-common-usersetup`
|
||||||
|
|
||||||
|
- name: usersetup - Check, if usersetup already ran
|
||||||
|
stat:
|
||||||
|
path: .ansbl-common-usersetup
|
||||||
|
register:
|
||||||
|
common_usersetup
|
||||||
|
|
||||||
|
- name: usersetup - Change login shell to zsh for current user
|
||||||
|
become: yes
|
||||||
|
user:
|
||||||
|
name: "{{ ansible_user_id }}"
|
||||||
|
shell: /bin/zsh
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Create .vim directory
|
||||||
|
file:
|
||||||
|
path: .vim/autoload
|
||||||
|
state: directory
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Install vim plugin manager
|
||||||
|
get_url:
|
||||||
|
url: https://tpo.pe/pathogen.vim
|
||||||
|
dest: .vim/autoload/pathogen.vim
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Create lockfile
|
||||||
|
file:
|
||||||
|
path: .ansbl-common-usersetup
|
||||||
|
state: touch
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
53
tasks/usersetup-Debian.yml
Normal file
53
tasks/usersetup-Debian.yml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
---
|
||||||
|
# Common/Usersetup: Auto-setup a user shell and prepare dotfiles - Debian Version
|
||||||
|
# Will run once per user, because of lockfile `~/.ansbl-common-usersetup`
|
||||||
|
|
||||||
|
- name: usersetup - Check, if usersetup already ran
|
||||||
|
stat:
|
||||||
|
path: .ansbl-common-usersetup
|
||||||
|
register:
|
||||||
|
common_usersetup
|
||||||
|
|
||||||
|
- name: usersetup - Change login shell to zsh for current user
|
||||||
|
become: yes
|
||||||
|
user:
|
||||||
|
name: "{{ ansible_user_id }}"
|
||||||
|
shell: /bin/zsh
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Create .vim directory
|
||||||
|
file:
|
||||||
|
path: .vim/autoload
|
||||||
|
state: directory
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Install vim plugin manager
|
||||||
|
get_url:
|
||||||
|
url: https://tpo.pe/pathogen.vim
|
||||||
|
dest: .vim/autoload/pathogen.vim
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Setup locale en_US
|
||||||
|
become: yes
|
||||||
|
locale_gen:
|
||||||
|
name: en_US.UTF-8
|
||||||
|
state: present
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
- name: usersetup - Setup locale de_DE
|
||||||
|
become: yes
|
||||||
|
locale_gen:
|
||||||
|
name: de_DE.UTF-8
|
||||||
|
state: present
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
||||||
|
|
||||||
|
- name: usersetup - Create lockfile
|
||||||
|
file:
|
||||||
|
path: .ansbl-common-usersetup
|
||||||
|
state: touch
|
||||||
|
when:
|
||||||
|
- common_usersetup.stat.exists == false
|
9
tasks/usersetup.yml
Normal file
9
tasks/usersetup.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
# Common/Usersetup: Auto-setup a user shell and prepare dotfiles.
|
||||||
|
# Will run once per user, because of lockfile `~/.ansbl-common-usersetup`
|
||||||
|
|
||||||
|
- name: usersetup - Run setup tasks
|
||||||
|
include_tasks: "{{ item }}"
|
||||||
|
with_first_found:
|
||||||
|
- "usersetup-{{ ansible_distribution }}.yml"
|
||||||
|
- "usersetup-{{ ansible_os_family }}.yml"
|
2
vars/main.yml
Normal file
2
vars/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
# vars file for common
|
Loading…
Reference in a new issue