add multiple packages

- stub only: dbeaver, gns3, godot, heroic
- partial:
  - Darwin: httpiegui, jellyfin, libreoffic, pgadmin, tailscale
- full: thunderbird, zfs, zsh
This commit is contained in:
Matthew Stobbs
2025-02-07 11:41:14 -07:00
parent d0adf18378
commit 67a9b39abc
14 changed files with 169 additions and 52 deletions

5
tasks/pkgs/_default.yml Normal file
View File

@@ -0,0 +1,5 @@
# TODO: implement
---
- name: append to syspkgs
debug:
msg: "NOT IMPLEMENTED YET"

10
tasks/pkgs/blender.yml Normal file
View File

@@ -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'

5
tasks/pkgs/dbeaver.yml Normal file
View File

@@ -0,0 +1,5 @@
# TODO: implement
---
- name: append to syspkgs
debug:
msg: "NOT IMPLEMENTED YET"

5
tasks/pkgs/gns3.yml Normal file
View File

@@ -0,0 +1,5 @@
# TODO: implement
---
- name: append to syspkgs
debug:
msg: "NOT IMPLEMENTED YET"

5
tasks/pkgs/godot.yml Normal file
View File

@@ -0,0 +1,5 @@
# TODO: implement
---
- name: append to syspkgs
debug:
msg: "NOT IMPLEMENTED YET"

5
tasks/pkgs/heroic.yml Normal file
View File

@@ -0,0 +1,5 @@
# TODO: implement
---
- name: append to syspkgs
debug:
msg: "NOT IMPLEMENTED YET"

11
tasks/pkgs/httpiegui.yml Normal file
View File

@@ -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'

11
tasks/pkgs/jellyfin.yml Normal file
View File

@@ -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'

View File

@@ -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'

11
tasks/pkgs/pgadmin.yml Normal file
View File

@@ -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'

11
tasks/pkgs/tailscale.yml Normal file
View File

@@ -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'

View File

@@ -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'

View File

@@ -5,61 +5,69 @@
- ansible.builtin.set_fact: - ansible.builtin.set_fact:
pkgconfig_zfs: "{{ _zfs | ansible.builtin.combine(pkgconfig.zfs) }}" pkgconfig_zfs: "{{ _zfs | ansible.builtin.combine(pkgconfig.zfs) }}"
- name: RedHat based configuration - name: Linux based installation
block: block:
- ansible.builtin.set_fact: - name: RedHat based configuration
rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}" block:
- ansible.builtin.command: - ansible.builtin.set_fact:
cmd: rpm --eval "%{dist}" rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}"
register: rpm_dist - ansible.builtin.command:
cmd: rpm --eval "%{dist}"
- name: add openzfs gpg_key register: rpm_dist
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 - 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: ansible.builtin.set_fact:
syspkgs: "{{ pkgconfig_zfs.deppkgs[ansible_os_family] }}" syspkgs: "{{ syspkgs + pkgconfig_zfs.pkgs[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 become: true
when: ansible_os_family != 'Darwin'
- name: pin zfs package to backports - name: append to caskpkgs
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: ansible.builtin.set_fact:
syspkgs: "{{ syspkgs + pkgconfig_zfs.pkgs[ansible_os_family] }}" caskpkgs: "{{ caskpkgs + [ 'openzfs' ] }}"
become: true when: ansible_os_family == 'Darwin'

9
tasks/pkgs/zsh.yml Normal file
View File

@@ -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'