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
|
||||
|
|
|
@ -12,4 +12,4 @@
|
|||
- Telegram (maybe only possible to download)
|
||||
- Oh my zsh?
|
||||
- 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
|
||||
become: true
|
||||
apt:
|
||||
|
@ -35,7 +5,7 @@
|
|||
state: latest
|
||||
update_cache: yes
|
||||
cache_valid_time: 86400 # One day
|
||||
- name: Install global packages
|
||||
- name: Install APT packages
|
||||
become: true
|
||||
apt:
|
||||
state: latest
|
||||
|
@ -43,7 +13,6 @@
|
|||
- git
|
||||
- make
|
||||
- keepassxc
|
||||
- zsh
|
||||
- ripgrep
|
||||
- curl
|
||||
- unzip
|
||||
|
@ -51,89 +20,14 @@
|
|||
- libreoffice-impress
|
||||
- libreoffice-writer
|
||||
- gimp
|
||||
- signal-desktop
|
||||
- nextcloud-desktop
|
||||
- codium
|
||||
- tree
|
||||
- virtualbox-6.1
|
||||
- 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
|
||||
template:
|
||||
src: "{{ role_path }}/templates/.gitconfig.j2"
|
||||
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
|
||||
template:
|
||||
src: "{{ role_path }}/templates/Xresources.j2"
|
||||
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