From 67a9b39abcffb33c8d572084c22a3eac67f397b7 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Fri, 7 Feb 2025 11:41:14 -0700 Subject: [PATCH] add multiple packages - stub only: dbeaver, gns3, godot, heroic - partial: - Darwin: httpiegui, jellyfin, libreoffic, pgadmin, tailscale - full: thunderbird, zfs, zsh --- tasks/pkgs/_default.yml | 5 ++ tasks/pkgs/blender.yml | 10 ++++ tasks/pkgs/dbeaver.yml | 5 ++ tasks/pkgs/gns3.yml | 5 ++ tasks/pkgs/godot.yml | 5 ++ tasks/pkgs/heroic.yml | 5 ++ tasks/pkgs/httpiegui.yml | 11 ++++ tasks/pkgs/jellyfin.yml | 11 ++++ tasks/pkgs/libreoffice.yml | 11 ++++ tasks/pkgs/pgadmin.yml | 11 ++++ tasks/pkgs/tailscale.yml | 11 ++++ tasks/pkgs/thunderbird.yml | 10 ++++ tasks/pkgs/zfs.yml | 112 ++++++++++++++++++++----------------- tasks/pkgs/zsh.yml | 9 +++ 14 files changed, 169 insertions(+), 52 deletions(-) create mode 100644 tasks/pkgs/_default.yml create mode 100644 tasks/pkgs/blender.yml create mode 100644 tasks/pkgs/dbeaver.yml create mode 100644 tasks/pkgs/gns3.yml create mode 100644 tasks/pkgs/godot.yml create mode 100644 tasks/pkgs/heroic.yml create mode 100644 tasks/pkgs/httpiegui.yml create mode 100644 tasks/pkgs/jellyfin.yml create mode 100644 tasks/pkgs/libreoffice.yml create mode 100644 tasks/pkgs/pgadmin.yml create mode 100644 tasks/pkgs/tailscale.yml create mode 100644 tasks/pkgs/thunderbird.yml create mode 100644 tasks/pkgs/zsh.yml diff --git a/tasks/pkgs/_default.yml b/tasks/pkgs/_default.yml new file mode 100644 index 0000000..df56900 --- /dev/null +++ b/tasks/pkgs/_default.yml @@ -0,0 +1,5 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" diff --git a/tasks/pkgs/blender.yml b/tasks/pkgs/blender.yml new file mode 100644 index 0000000..c5ba1f2 --- /dev/null +++ b/tasks/pkgs/blender.yml @@ -0,0 +1,10 @@ +--- +- name: append to pkgs + ansible.builtin.set_fact: + syspkgs: "{{ syspkgs + [ 'blender' ] }}" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + ansible.builtin.set_fact: + caskpkgs: "{{ caskpkgs + [ 'blender' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/dbeaver.yml b/tasks/pkgs/dbeaver.yml new file mode 100644 index 0000000..df56900 --- /dev/null +++ b/tasks/pkgs/dbeaver.yml @@ -0,0 +1,5 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" diff --git a/tasks/pkgs/gns3.yml b/tasks/pkgs/gns3.yml new file mode 100644 index 0000000..df56900 --- /dev/null +++ b/tasks/pkgs/gns3.yml @@ -0,0 +1,5 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" diff --git a/tasks/pkgs/godot.yml b/tasks/pkgs/godot.yml new file mode 100644 index 0000000..df56900 --- /dev/null +++ b/tasks/pkgs/godot.yml @@ -0,0 +1,5 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" diff --git a/tasks/pkgs/heroic.yml b/tasks/pkgs/heroic.yml new file mode 100644 index 0000000..df56900 --- /dev/null +++ b/tasks/pkgs/heroic.yml @@ -0,0 +1,5 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" diff --git a/tasks/pkgs/httpiegui.yml b/tasks/pkgs/httpiegui.yml new file mode 100644 index 0000000..6b22cbb --- /dev/null +++ b/tasks/pkgs/httpiegui.yml @@ -0,0 +1,11 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + ansible.builtin.set_fact: + caskpkgs: "{{ caskpkgs + [ 'httpie' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/jellyfin.yml b/tasks/pkgs/jellyfin.yml new file mode 100644 index 0000000..6571962 --- /dev/null +++ b/tasks/pkgs/jellyfin.yml @@ -0,0 +1,11 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + ansible.builtin.set_fact: + caskpkgs: "{{ caskpkgs + [ 'jellyfin' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/libreoffice.yml b/tasks/pkgs/libreoffice.yml new file mode 100644 index 0000000..b09b096 --- /dev/null +++ b/tasks/pkgs/libreoffice.yml @@ -0,0 +1,11 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + ansible.builtin.set_fact: + caskpkgs: "{{ caskpkgs + [ 'libreoffice' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/pgadmin.yml b/tasks/pkgs/pgadmin.yml new file mode 100644 index 0000000..2ee93b9 --- /dev/null +++ b/tasks/pkgs/pgadmin.yml @@ -0,0 +1,11 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + set_fact: + caskpkgs: "{{ caskpkgs + [ 'pgadmin4' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/tailscale.yml b/tasks/pkgs/tailscale.yml new file mode 100644 index 0000000..0098dbf --- /dev/null +++ b/tasks/pkgs/tailscale.yml @@ -0,0 +1,11 @@ +# TODO: implement +--- +- name: append to syspkgs + debug: + msg: "NOT IMPLEMENTED YET" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + set_fact: + caskpkgs: "{{ caskpkgs + [ 'tailscale' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/thunderbird.yml b/tasks/pkgs/thunderbird.yml new file mode 100644 index 0000000..2255e97 --- /dev/null +++ b/tasks/pkgs/thunderbird.yml @@ -0,0 +1,10 @@ +--- +- name: append to syspkgs + set_fact: + syspkgs: "{{ syspkgs + [ 'thunderbird' ] }}" + when: ansible_os_family != 'Darwin' + +- name: append to caskpkgs + set_fact: + caskpkgs: "{{ caskpkgs + [ 'thunderbird' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/zfs.yml b/tasks/pkgs/zfs.yml index 6ea335f..a74e1c4 100644 --- a/tasks/pkgs/zfs.yml +++ b/tasks/pkgs/zfs.yml @@ -5,61 +5,69 @@ - ansible.builtin.set_fact: pkgconfig_zfs: "{{ _zfs | ansible.builtin.combine(pkgconfig.zfs) }}" -- name: RedHat based configuration +- name: Linux based installation block: - - ansible.builtin.set_fact: - rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}" - - ansible.builtin.command: - cmd: rpm --eval "%{dist}" - register: rpm_dist - - - name: add openzfs gpg_key - ansible.builtin.rpm_key: - key: "{{ pkgconfig_zfs.gpg_key }}" - fingerprint: "{{ pkgconfig_zfs.gpg_key_fingerprint }}" - state: present - become: true - - - name: enable openzfs repository - ansible.builtin.dnf: - name: "{{ pkgconfig_zfs.repo_base }}{{ rhname }}/zfs-release-{{ pkgconfig_zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" - state: "{{ install_state }}" - become: true + - name: RedHat based configuration + block: + - ansible.builtin.set_fact: + rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}" + - ansible.builtin.command: + cmd: rpm --eval "%{dist}" + register: rpm_dist - - name: install zfs deps + - name: add openzfs gpg_key + ansible.builtin.rpm_key: + key: "{{ pkgconfig_zfs.gpg_key }}" + fingerprint: "{{ pkgconfig_zfs.gpg_key_fingerprint }}" + state: present + become: true + + - name: enable openzfs repository + ansible.builtin.dnf: + name: "{{ pkgconfig_zfs.repo_base }}{{ rhname }}/zfs-release-{{ pkgconfig_zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" + state: "{{ install_state }}" + become: true + + - name: install zfs deps + ansible.builtin.set_fact: + syspkgs: "{{ pkgconfig_zfs.deppkgs[ansible_os_family] }}" + when: ansible_os_family == 'RedHat' + + - name: Debian configuration + when: ansible_os_family == 'Debian' + block: + - name: enable openzfs repository + ansible.builtin.apt_repository: + repo: | + deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib + deb-src http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib + filename: "{{ ansible_distribution_release }}-backports" + state: present + update_cache: false + become: true + + - name: pin zfs package to backports + ansible.builtin.file: + content: | + Package: src:zfs-linux + Pin: release n={{ ansible_distribution_release }}-backports + Pin-Priority: 990 + dest: /etc/apt/preferences.d/90_zfs + state: present + become: true + + - name: install zfs deps + ansible.builtin.set_fact: + syspkgs: "{{ pkgconfig_zfs.deppkgs[ansible_os_family] }}" + become: true + + - name: append to pkgs ansible.builtin.set_fact: - syspkgs: "{{ pkgconfig_zfs.deppkgs[ansible_os_family] }}" - when: ansible_os_family == 'RedHat' - -- name: Debian configuration - when: ansible_os_family == 'Debian' - block: - - name: enable openzfs repository - ansible.builtin.apt_repository: - repo: | - deb http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib - deb-src http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib - filename: "{{ ansible_distribution_release }}-backports" - state: present - update_cache: false + syspkgs: "{{ syspkgs + pkgconfig_zfs.pkgs[ansible_os_family] }}" become: true + when: ansible_os_family != 'Darwin' - - name: pin zfs package to backports - ansible.builtin.file: - content: | - Package: src:zfs-linux - Pin: release n={{ ansible_distribution_release }}-backports - Pin-Priority: 990 - dest: /etc/apt/preferences.d/90_zfs - state: present - become: true - - - name: install zfs deps - ansible.builtin.set_fact: - syspkgs: "{{ pkgconfig_zfs.deppkgs[ansible_os_family] }}" - become: true - -- name: append to pkgs +- name: append to caskpkgs ansible.builtin.set_fact: - syspkgs: "{{ syspkgs + pkgconfig_zfs.pkgs[ansible_os_family] }}" - become: true + caskpkgs: "{{ caskpkgs + [ 'openzfs' ] }}" + when: ansible_os_family == 'Darwin' diff --git a/tasks/pkgs/zsh.yml b/tasks/pkgs/zsh.yml new file mode 100644 index 0000000..d1567f4 --- /dev/null +++ b/tasks/pkgs/zsh.yml @@ -0,0 +1,9 @@ +--- +- name: append to pkgs + ansible.builtin.set_fact: + syspkgs: "{{ syspkgs + [ 'zsh' ] }}" + when: ansible_os_family != 'Darwin' + +- debug: + msg: "macOS already has zsh, skipping" + when: ansible_os_family == 'Darwin'