add install methods as template

This commit is contained in:
2023-12-29 17:32:25 +01:00
parent a81aeecd94
commit cd9b02906a

View File

@@ -6,6 +6,35 @@
vars:
ansible_python_interpreter: auto_silent
#===== config stage start ================================================================
package_installs:
- vim
nondefault_package_installs:
- name: anydesk
gpg: https://keys.anydesk.com/repos/DEB-GPG-KEY
source: deb http://deb.anydesk.com/ all main
deb_installs:
- name: discord
url: https://discordapp.com/api/download/canary?platform=linux&format=deb
appimages:
- name: bitwarden
url: https://vault.bitwarden.com/download/?app=desktop&platform=linux
executables:
- name: bw
url: https://vault.bitwarden.com/download/?app=cli&platform=linux
directorys:
appimage_dir: /opt/appimages
#===== config stage end ==================================================================
# check if user == root
pre_tasks:
- set_fact:
eff_uid_number: "{{ lookup('pipe', 'id -u') }}"
@@ -16,7 +45,92 @@
- meta: end_play
when: eff_uid_number|int != 0
tasks:
- name: Installer Tasks ...
debug:
msg: "install ..."
# run playbook
tasks:
- name: install default packages with package manager
ansible.builtin.package:
name:
- "{{ item }}"
state: present
loop: "{{ package_installs }}"
when: package_installs is defined
# debian tasks
- block:
- name: add gpg keys
ansible.builtin.apt_key:
url: "{{ item.gpg }}"
state: present
loop: "{{ nondefault_package_installs }}"
when: nondefault_package_installs is defined
- name: update apt source.list.d
ansible.builtin.apt_repository:
repo: "{{ item.source }}"
state: present
filename: programms
loop: "{{ nondefault_package_installs }}"
when: nondefault_package_installs is defined
- name: install non-default packages with package manager
ansible.builtin.package:
name:
- "{{ item.name }}"
state: present
loop: "{{ nondefault_package_installs }}"
when: nondefault_package_installs is defined
- name: download deb files
ansible.builtin.get_url:
url: "{{ item.url }}"
dest: "/tmp/{{ item.name }}.deb"
mode: "0440"
loop: "{{ deb_installs }}"
when: deb_installs is defined
- name: install deb files
ansible.builtin.apt:
deb: "/tmp/{{ item.name }}.deb"
loop: "{{ deb_installs }}"
when: deb_installs is defined
- name: update all packages
apt:
name: '*'
state: latest
- name: clean apt cache
apt:
clean: yes
when: ansible_os_family == "Debian"
# debian tasks end
- name: ensure dirs exist
ansible.builtin.file:
path: "{{ item.value }}"
state: directory
mode: '0777'
loop: "{{ directorys | dict2items}}"
when: directorys is defined
- name: get appimage programms
ansible.builtin.get_url:
url: "{{ item.url }}"
dest: "{{ directorys.appimage_dir }}/{{ item.name }}.appimage"
mode: '0775'
loop: "{{ appimages }}"
when: appimages is defined
- name: test
ansible.builtin.debug:
msg: "{{ executables }}"
when: executables is defined
- name: get executable programms
ansible.builtin.get_url:
url: "{{ item.url }}"
dest: "/usr/bin/{{ item.name }}"
mode: '0775'
loop: "{{ executables }}"
when: executables is defined