split into roles
This commit is contained in:
parent
4d072894ec
commit
74b67b7e27
17 changed files with 186 additions and 110 deletions
4
Makefile
4
Makefile
|
@ -1,4 +1,4 @@
|
||||||
run:
|
%:
|
||||||
ansible-playbook playbooks/setup.yml -i inventory/hosts.yml -K
|
ansible-playbook playbooks/$@.yml -i inventory/hosts.yml -K
|
||||||
|
|
||||||
.PHONY: run
|
.PHONY: run
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
- Telegram (maybe only possible to download)
|
- Telegram (maybe only possible to download)
|
||||||
- Oh my zsh?
|
- Oh my zsh?
|
||||||
- Cool neovim setup
|
- Cool neovim setup
|
||||||
- wireshark
|
- syncthing
|
||||||
|
|
4
playbooks/asdf.yml
Normal file
4
playbooks/asdf.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install asdf
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- asdf
|
4
playbooks/neovim.yml
Normal file
4
playbooks/neovim.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install neovim
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- neovim
|
4
playbooks/signal.yml
Normal file
4
playbooks/signal.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install Signal
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- signal
|
4
playbooks/virtualbox.yml
Normal file
4
playbooks/virtualbox.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install VirtualBox
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- virtualbox
|
4
playbooks/vscodium.yml
Normal file
4
playbooks/vscodium.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install VSCodium
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- vscodium
|
4
playbooks/zsh.yml
Normal file
4
playbooks/zsh.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install zsh
|
||||||
|
hosts: self
|
||||||
|
roles:
|
||||||
|
- zsh
|
43
roles/asdf/tasks/main.yml
Normal file
43
roles/asdf/tasks/main.yml
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
- name: Install asdf
|
||||||
|
git:
|
||||||
|
repo: https://github.com/asdf-vm/asdf.git
|
||||||
|
dest: ~/.asdf
|
||||||
|
- name: Install Erlang prerequisite APT packages
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- build-essential
|
||||||
|
- autoconf
|
||||||
|
- m4
|
||||||
|
- libncurses5-dev
|
||||||
|
- libwxgtk3.0-gtk3-dev
|
||||||
|
- libwxgtk-webview3.0-gtk3-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- libglu1-mesa-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libssh-dev
|
||||||
|
- unixodbc-dev
|
||||||
|
- xsltproc
|
||||||
|
- fop
|
||||||
|
- libxml2-utils
|
||||||
|
- libncurses-dev
|
||||||
|
- openjdk-11-jdk
|
||||||
|
- name: Install asdf Erlang plugin
|
||||||
|
shell: asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
|
||||||
|
args:
|
||||||
|
creates: ~/.asdf/plugins/erlang
|
||||||
|
- name: Install Elixir prerequisite APT packages
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- unzip
|
||||||
|
- name: Install asdf Elixir plugin
|
||||||
|
shell: asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
|
||||||
|
args:
|
||||||
|
creates: ~/.asdf/plugins/elixir
|
38
roles/neovim/tasks/main.yml
Normal file
38
roles/neovim/tasks/main.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
- name: Install prerequisite APT packages
|
||||||
|
# https://github.com/neovim/neovim/wiki/Building-Neovim#build-prerequisites
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- ninja-build
|
||||||
|
- gettext
|
||||||
|
- libtool
|
||||||
|
- libtool-bin
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- cmake
|
||||||
|
- g++
|
||||||
|
- pkg-config
|
||||||
|
- unzip
|
||||||
|
- curl
|
||||||
|
- doxygen
|
||||||
|
- name: Pull neovim repository
|
||||||
|
become: true
|
||||||
|
git:
|
||||||
|
repo: https://github.com/neovim/neovim.git
|
||||||
|
dest: ~/neovim
|
||||||
|
- name: Build neovim
|
||||||
|
become: true
|
||||||
|
make:
|
||||||
|
chdir: ~/neovim
|
||||||
|
params:
|
||||||
|
CMAKE_BUILD_TYPE: RelWithDebInfo
|
||||||
|
changed_when: false # I lie a bit, but neovim makefile doesn't cooperate
|
||||||
|
- name: Install neovim
|
||||||
|
become: true
|
||||||
|
make:
|
||||||
|
chdir: ~/neovim
|
||||||
|
target: install
|
||||||
|
changed_when: false # Idem
|
18
roles/signal/tasks/main.yml
Normal file
18
roles/signal/tasks/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
- name: Get Signal APT key
|
||||||
|
become: true
|
||||||
|
get_url:
|
||||||
|
url: https://updates.signal.org/desktop/apt/keys.asc
|
||||||
|
dest: /etc/apt/trusted.gpg.d/signal.asc
|
||||||
|
- name: Install Signal APT repository
|
||||||
|
become: true
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/signal.asc] https://updates.signal.org/desktop/apt xenial main"
|
||||||
|
state: present
|
||||||
|
- name: Install Signal
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- signal-desktop
|
|
@ -1,33 +1,3 @@
|
||||||
- name: Get Signal APT key
|
|
||||||
become: true
|
|
||||||
get_url:
|
|
||||||
url: https://updates.signal.org/desktop/apt/keys.asc
|
|
||||||
dest: /etc/apt/trusted.gpg.d/signal.asc
|
|
||||||
- name: Install Signal APT repository
|
|
||||||
become: true
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/signal.asc] https://updates.signal.org/desktop/apt xenial main"
|
|
||||||
state: present
|
|
||||||
- name: Get VSCodium APT key
|
|
||||||
become: true
|
|
||||||
get_url:
|
|
||||||
url: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
|
|
||||||
dest: /etc/apt/trusted.gpg.d/vscodium-archive-keyring.asc
|
|
||||||
- name: Install VSCodium APT repository
|
|
||||||
become: true
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.asc ] https://download.vscodium.com/debs vscodium main"
|
|
||||||
state: present
|
|
||||||
- name: Get VirtualBox APT key
|
|
||||||
become: true
|
|
||||||
get_url:
|
|
||||||
url: https://www.virtualbox.org/download/oracle_vbox_2016.asc
|
|
||||||
dest: /etc/apt/trusted.gpg.d/oracle_vbox_2016.asc
|
|
||||||
- name: Install VirtualBox APT repository
|
|
||||||
become: true
|
|
||||||
apt_repository:
|
|
||||||
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/oracle_vbox_2016.asc] https://download.virtualbox.org/virtualbox/debian {{ ansible_distribution_release }} contrib"
|
|
||||||
state: present
|
|
||||||
- name: Update repositories
|
- name: Update repositories
|
||||||
become: true
|
become: true
|
||||||
apt:
|
apt:
|
||||||
|
@ -35,7 +5,7 @@
|
||||||
state: latest
|
state: latest
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
cache_valid_time: 86400 # One day
|
cache_valid_time: 86400 # One day
|
||||||
- name: Install global packages
|
- name: Install APT packages
|
||||||
become: true
|
become: true
|
||||||
apt:
|
apt:
|
||||||
state: latest
|
state: latest
|
||||||
|
@ -43,7 +13,6 @@
|
||||||
- git
|
- git
|
||||||
- make
|
- make
|
||||||
- keepassxc
|
- keepassxc
|
||||||
- zsh
|
|
||||||
- ripgrep
|
- ripgrep
|
||||||
- curl
|
- curl
|
||||||
- unzip
|
- unzip
|
||||||
|
@ -51,89 +20,14 @@
|
||||||
- libreoffice-impress
|
- libreoffice-impress
|
||||||
- libreoffice-writer
|
- libreoffice-writer
|
||||||
- gimp
|
- gimp
|
||||||
- signal-desktop
|
|
||||||
- nextcloud-desktop
|
- nextcloud-desktop
|
||||||
- codium
|
|
||||||
- tree
|
- tree
|
||||||
- virtualbox-6.1
|
|
||||||
- wireshark
|
- wireshark
|
||||||
# Erlang stuff: https://github.com/asdf-vm/asdf-erlang#before-asdf-install
|
|
||||||
- build-essential
|
|
||||||
- autoconf
|
|
||||||
- m4
|
|
||||||
- libncurses5-dev
|
|
||||||
- libwxgtk3.0-gtk3-dev
|
|
||||||
- libwxgtk-webview3.0-gtk3-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libglu1-mesa-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libssh-dev
|
|
||||||
- unixodbc-dev
|
|
||||||
- xsltproc
|
|
||||||
- fop
|
|
||||||
- libxml2-utils
|
|
||||||
- libncurses-dev
|
|
||||||
- openjdk-11-jdk
|
|
||||||
# Neovim stuff: https://github.com/neovim/neovim/wiki/Building-Neovim#build-prerequisites
|
|
||||||
- ninja-build
|
|
||||||
- gettext
|
|
||||||
- libtool
|
|
||||||
- libtool-bin
|
|
||||||
- automake
|
|
||||||
- cmake
|
|
||||||
- g++
|
|
||||||
- pkg-config
|
|
||||||
- doxygen
|
|
||||||
- name: Set default shell to zsh
|
|
||||||
become: true
|
|
||||||
user:
|
|
||||||
name: "{{ ansible_user_id }}"
|
|
||||||
shell: /usr/bin/zsh
|
|
||||||
- name: Install .gitconfig
|
- name: Install .gitconfig
|
||||||
template:
|
template:
|
||||||
src: "{{ role_path }}/templates/.gitconfig.j2"
|
src: "{{ role_path }}/templates/.gitconfig.j2"
|
||||||
dest: ~/.gitconfig
|
dest: ~/.gitconfig
|
||||||
- name: Install asdf
|
|
||||||
git:
|
|
||||||
repo: https://github.com/asdf-vm/asdf.git
|
|
||||||
dest: ~/.asdf
|
|
||||||
- name: Install .zshrc
|
|
||||||
template:
|
|
||||||
src: "{{ role_path }}/templates/.zshrc.j2"
|
|
||||||
dest: ~/.zshrc
|
|
||||||
- name: Install asdf Erlang plugin
|
|
||||||
shell: asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
|
|
||||||
args:
|
|
||||||
creates: ~/.asdf/plugins/erlang
|
|
||||||
- name: Install asdf Elixir plugin
|
|
||||||
shell: asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
|
|
||||||
args:
|
|
||||||
creates: ~/.asdf/plugins/elixir
|
|
||||||
- name: Install Regolith Xresources file
|
- name: Install Regolith Xresources file
|
||||||
template:
|
template:
|
||||||
src: "{{ role_path }}/templates/Xresources.j2"
|
src: "{{ role_path }}/templates/Xresources.j2"
|
||||||
dest: ~/.config/regolith2/Xresources
|
dest: ~/.config/regolith2/Xresources
|
||||||
- name: Check VSCodium extensions
|
|
||||||
setup:
|
|
||||||
fact_path: "{{ role_path }}/facts"
|
|
||||||
- name: Install VSCodium extensions
|
|
||||||
shell: "codium --install-extension {{ item }}"
|
|
||||||
loop: "{{ vscodium_extensions | difference(ansible_facts.ansible_local.vscodium_extensions) }}"
|
|
||||||
- name: Pull neovim repository
|
|
||||||
become: true
|
|
||||||
git:
|
|
||||||
repo: https://github.com/neovim/neovim.git
|
|
||||||
dest: ~/neovim
|
|
||||||
- name: Build neovim
|
|
||||||
become: true
|
|
||||||
make:
|
|
||||||
chdir: ~/neovim
|
|
||||||
params:
|
|
||||||
CMAKE_BUILD_TYPE: RelWithDebInfo
|
|
||||||
changed_when: false # I lie a bit, but neovim makefile doesn't cooperate
|
|
||||||
- name: Install neovim
|
|
||||||
become: true
|
|
||||||
make:
|
|
||||||
chdir: ~/neovim
|
|
||||||
target: install
|
|
||||||
changed_when: false # Idem
|
|
||||||
|
|
18
roles/virtualbox/tasks/main.yml
Normal file
18
roles/virtualbox/tasks/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
- name: Get VirtualBox APT key
|
||||||
|
become: true
|
||||||
|
get_url:
|
||||||
|
url: https://www.virtualbox.org/download/oracle_vbox_2016.asc
|
||||||
|
dest: /etc/apt/trusted.gpg.d/oracle_vbox_2016.asc
|
||||||
|
- name: Install VirtualBox APT repository
|
||||||
|
become: true
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/oracle_vbox_2016.asc] https://download.virtualbox.org/virtualbox/debian {{ ansible_distribution_release }} contrib"
|
||||||
|
state: present
|
||||||
|
- name: Install VirtualBox
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- virtualbox-6.1
|
24
roles/vscodium/tasks/main.yml
Normal file
24
roles/vscodium/tasks/main.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
- name: Get VSCodium APT key
|
||||||
|
become: true
|
||||||
|
get_url:
|
||||||
|
url: https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
|
||||||
|
dest: /etc/apt/trusted.gpg.d/vscodium-archive-keyring.asc
|
||||||
|
- name: Install VSCodium APT repository
|
||||||
|
become: true
|
||||||
|
apt_repository:
|
||||||
|
repo: "deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.asc ] https://download.vscodium.com/debs vscodium main"
|
||||||
|
state: present
|
||||||
|
- name: Install VSCodium
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
codium
|
||||||
|
- name: Check VSCodium extensions
|
||||||
|
setup:
|
||||||
|
fact_path: "{{ role_path }}/facts"
|
||||||
|
- name: Install VSCodium extensions
|
||||||
|
shell: "codium --install-extension {{ item }}"
|
||||||
|
loop: "{{ vscodium_extensions | difference(ansible_facts.ansible_local.vscodium_extensions) }}"
|
17
roles/zsh/tasks/main.yml
Normal file
17
roles/zsh/tasks/main.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
- name: Install zsh
|
||||||
|
become: true
|
||||||
|
apt:
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
cache_valid_time: 86400 # One day
|
||||||
|
pkg:
|
||||||
|
- zsh
|
||||||
|
- name: Set default shell to zsh
|
||||||
|
become: true
|
||||||
|
user:
|
||||||
|
name: "{{ ansible_user_id }}"
|
||||||
|
shell: /usr/bin/zsh
|
||||||
|
- name: Install .zshrc
|
||||||
|
template:
|
||||||
|
src: "{{ role_path }}/templates/.zshrc.j2"
|
||||||
|
dest: ~/.zshrc
|
Reference in a new issue