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