From cd9b02906a5d779021a06b5cc92146bb02817d96 Mon Sep 17 00:00:00 2001
From: anima
Date: Fri, 29 Dec 2023 17:32:25 +0100
Subject: [PATCH] add install methods as template
---
installer.yml | 122 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 118 insertions(+), 4 deletions(-)
diff --git a/installer.yml b/installer.yml
index da0fc8d..1e0086a 100755
--- a/installer.yml
+++ b/installer.yml
@@ -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 ..."
\ No newline at end of file
+# 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
\ No newline at end of file