diff --git a/tasks/main.yml b/tasks/main.yml index 31c58eb..fe737c5 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -44,6 +44,11 @@ - name: Macos specific installation block: + - community.general.homebrew_tap: + name: "{{ brewtaps | unique }}" + state: present + when: brewtaps|length > 0 + - community.general.homebrew: name: "{{ syspkgs | unique }}" state: "{{ install_state }}" diff --git a/tasks/pkgs/Darwin/iterm2.yml b/tasks/pkgs/Darwin/iterm2.yml deleted file mode 100644 index c46de29..0000000 --- a/tasks/pkgs/Darwin/iterm2.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append iterm2 to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'iterm2' ] }}" diff --git a/tasks/pkgs/Darwin/jq.yml b/tasks/pkgs/Darwin/jq.yml deleted file mode 100644 index ea9a65b..0000000 --- a/tasks/pkgs/Darwin/jq.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append jq to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'jq' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/neovide.yml b/tasks/pkgs/Darwin/neovide.yml deleted file mode 100644 index b445470..0000000 --- a/tasks/pkgs/Darwin/neovide.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append neovide to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'neovide' ] }}" diff --git a/tasks/pkgs/Darwin/neovim.yml b/tasks/pkgs/Darwin/neovim.yml deleted file mode 100644 index 10f7701..0000000 --- a/tasks/pkgs/Darwin/neovim.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append neovim to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'neovim' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/nerdfonts.yml b/tasks/pkgs/Darwin/nerdfonts.yml deleted file mode 100644 index 8d1c3e1..0000000 --- a/tasks/pkgs/Darwin/nerdfonts.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: MacOS Tap homebrew fonts - community.general.homebrew_tap: - name: homebrew/cask-fonts - state: present - -- name: generate nerdfont cask names - set_fact: - nerdfont_casks: "{{ (nerdfont_casks | default([])) + [ 'homebrew/cask/font-' + font.brew + '-nerd-font' ] }}" - loop: "{{ nerdfonts }}" - loop_control: - loop_var: font - -- name: append nerdfonts to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + nerdfont_casks }}" diff --git a/tasks/pkgs/Darwin/nodejs.yml b/tasks/pkgs/Darwin/nodejs.yml deleted file mode 100644 index b194da8..0000000 --- a/tasks/pkgs/Darwin/nodejs.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append node to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'node' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/nushell.yml b/tasks/pkgs/Darwin/nushell.yml deleted file mode 100644 index 3e6c12f..0000000 --- a/tasks/pkgs/Darwin/nushell.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: append nushell to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'nushell' ]}}" - tags: - - MacOS - - homebrew - - package - - shell diff --git a/tasks/pkgs/Darwin/pandoc.yml b/tasks/pkgs/Darwin/pandoc.yml deleted file mode 100644 index 58f67bd..0000000 --- a/tasks/pkgs/Darwin/pandoc.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append pandoc to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'pandoc' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/pipx.yml b/tasks/pkgs/Darwin/pipx.yml deleted file mode 100644 index 7d10dfd..0000000 --- a/tasks/pkgs/Darwin/pipx.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append pipx to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'pipx' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/python3-pip.yml b/tasks/pkgs/Darwin/python3-pip.yml deleted file mode 100644 index 31bd9f7..0000000 --- a/tasks/pkgs/Darwin/python3-pip.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append python3 to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'python3' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/ripgrep.yml b/tasks/pkgs/Darwin/ripgrep.yml deleted file mode 100644 index 37a2030..0000000 --- a/tasks/pkgs/Darwin/ripgrep.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append ripgrep to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'ripgrep' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/rust.yml b/tasks/pkgs/Darwin/rust.yml deleted file mode 100644 index 822a0be..0000000 --- a/tasks/pkgs/Darwin/rust.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append rust to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'rust' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/stow.yml b/tasks/pkgs/Darwin/stow.yml deleted file mode 100644 index a074541..0000000 --- a/tasks/pkgs/Darwin/stow.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append stow to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'stow' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/terraform.yml b/tasks/pkgs/Darwin/terraform.yml deleted file mode 100644 index 7cf5e31..0000000 --- a/tasks/pkgs/Darwin/terraform.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append terraform to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'terraform' ]}}" diff --git a/tasks/pkgs/Darwin/tidy.yml b/tasks/pkgs/Darwin/tidy.yml deleted file mode 100644 index 46d5cc9..0000000 --- a/tasks/pkgs/Darwin/tidy.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append tidy-html5 to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'tidy-html5' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/tmux.yml b/tasks/pkgs/Darwin/tmux.yml deleted file mode 100644 index 0d7ce33..0000000 --- a/tasks/pkgs/Darwin/tmux.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append tmux to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'tmux' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/zoxide.yml b/tasks/pkgs/Darwin/zoxide.yml deleted file mode 100644 index 39370e5..0000000 --- a/tasks/pkgs/Darwin/zoxide.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append zoxide to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'zoxide' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Debian/neovide.yml b/tasks/pkgs/Debian/neovide.yml deleted file mode 100644 index d80ceaa..0000000 --- a/tasks/pkgs/Debian/neovide.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -- name: set neovide pkg dependencies - set_fact: - neovide_deps: - - cargo - - fontconfig-devel - - freetype-devel - - libX11-xcb - - libX11-devel - - libstdc++-static - - libstdc++-devel - - "@Development Tools" - - "@Development Libraries" - -- name: append to pkgs - when: ansible_architecture != "aarch64" - set_fact: - syspkgs: "{{ syspkgs + neovide_deps }}" - srcpkgs: "{{ srcpkgs + [ 'Linux/neovide.yml' ] }}" diff --git a/tasks/pkgs/Debian/neovim.yml b/tasks/pkgs/Debian/neovim.yml deleted file mode 100644 index 25fd5a0..0000000 --- a/tasks/pkgs/Debian/neovim.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: add build deps - set_fact: - neovim_deps: - - ninja-build - - cmake - - gettext - - curl - - build-essential - -- set_fact: - syspkgs: "{{ syspkgs + neovim_deps }}" - -- name: append to srcpkgs - set_fact: - srcpkgs: "{{ srcpkgs + ['neovim'] }}" diff --git a/tasks/pkgs/Debian/nerdfonts.yml b/tasks/pkgs/Debian/nerdfonts.yml deleted file mode 100644 index 7f4efba..0000000 --- a/tasks/pkgs/Debian/nerdfonts.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to srcpkgs - set_fact: - srcpkgs: "{{ srcpkgs + [ 'nerdfonts' ] }}" diff --git a/tasks/pkgs/Debian/nodejs.yml b/tasks/pkgs/Debian/nodejs.yml deleted file mode 100644 index 88e8acd..0000000 --- a/tasks/pkgs/Debian/nodejs.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'nodejs', 'npm' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/nomad.yml b/tasks/pkgs/Debian/nomad.yml deleted file mode 100644 index af76c25..0000000 --- a/tasks/pkgs/Debian/nomad.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: ensure hashicorp repo is active - ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'nomad' ] }}" - diff --git a/tasks/pkgs/Debian/nushell.yml b/tasks/pkgs/Debian/nushell.yml deleted file mode 100644 index 3072a65..0000000 --- a/tasks/pkgs/Debian/nushell.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: install RedHat dependencies - set_fact: - nushell_pkgdeps: - - cargo - - libxcb - - openssl-devel - - libX11-devel - nushell_altdeps: - - Linux/nushell.yml - - "{{ ansible_os_family }}/carapace.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + nushell_pkgdeps }}" - srcpkgs: "{{ srcpkgs + nushell_altdeps }}" diff --git a/tasks/pkgs/Debian/packer.yml b/tasks/pkgs/Debian/packer.yml deleted file mode 100644 index 777167c..0000000 --- a/tasks/pkgs/Debian/packer.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: ensure hashicorp repo is active - ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'packer' ] }}" diff --git a/tasks/pkgs/Debian/pandoc.yml b/tasks/pkgs/Debian/pandoc.yml deleted file mode 100644 index 9f3c3b8..0000000 --- a/tasks/pkgs/Debian/pandoc.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'pandoc' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/pipx.yml b/tasks/pkgs/Debian/pipx.yml deleted file mode 100644 index 77c48a1..0000000 --- a/tasks/pkgs/Debian/pipx.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'pipx' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/python3-pip.yml b/tasks/pkgs/Debian/python3-pip.yml deleted file mode 100644 index 29a4009..0000000 --- a/tasks/pkgs/Debian/python3-pip.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'python3-pip' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/ripgrep.yml b/tasks/pkgs/Debian/ripgrep.yml deleted file mode 100644 index 9a907f6..0000000 --- a/tasks/pkgs/Debian/ripgrep.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'ripgrep' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/rust.yml b/tasks/pkgs/Debian/rust.yml deleted file mode 100644 index 810d54d..0000000 --- a/tasks/pkgs/Debian/rust.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: set rust_pkgs - set_fact: - rust_pkgs: - - rustc - - cargo -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + rust_pkgs }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/stow.yml b/tasks/pkgs/Debian/stow.yml deleted file mode 100644 index e66719c..0000000 --- a/tasks/pkgs/Debian/stow.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'stow' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/terminal.yml b/tasks/pkgs/Debian/terminal.yml deleted file mode 100644 index 60c70a8..0000000 --- a/tasks/pkgs/Debian/terminal.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# default on Linux is alacritty -# edit config/users.yml:users::terminal:os_name:package name -# ie: config/users.yml:users:[name: stobbsm]:terminal:Fedora:konsole -- name: install and configure system terminal emulator - loop: "{{ users }}" - ansible.builtin.include_tasks: - file: "packages/{{ ansible_os_family }}/{{ item.terminal[ansible_distribution] | default('alacritty') }}.yml" - tags: - - package - - Debian diff --git a/tasks/pkgs/Debian/terraform.yml b/tasks/pkgs/Debian/terraform.yml deleted file mode 100644 index 93a805c..0000000 --- a/tasks/pkgs/Debian/terraform.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: ensure hashicorp repo is active - ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'terraform' ] }}" diff --git a/tasks/pkgs/Debian/tidy.yml b/tasks/pkgs/Debian/tidy.yml deleted file mode 100644 index 222e909..0000000 --- a/tasks/pkgs/Debian/tidy.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'tidy' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/tmux.yml b/tasks/pkgs/Debian/tmux.yml deleted file mode 100644 index 81e73f4..0000000 --- a/tasks/pkgs/Debian/tmux.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'tmux' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/vault.yml b/tasks/pkgs/Debian/vault.yml deleted file mode 100644 index 76b1935..0000000 --- a/tasks/pkgs/Debian/vault.yml +++ /dev/null @@ -1,9 +0,0 @@ -# install hashicorp vault for RedHat ---- -- name: ensure hashicorp repo is active - ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'vault' ] }}" diff --git a/tasks/pkgs/Debian/vivaldi.yml b/tasks/pkgs/Debian/vivaldi.yml deleted file mode 100644 index 174dbc2..0000000 --- a/tasks/pkgs/Debian/vivaldi.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: install vivaldi debian package - become: true - ansible.builtin.apt: - deb: https://downloads.vivaldi.com/stable/vivaldi-stable_6.7.3329.41-1_amd64.deb - state: present diff --git a/tasks/pkgs/Debian/zfs.yml b/tasks/pkgs/Debian/zfs.yml deleted file mode 100644 index b002d6c..0000000 --- a/tasks/pkgs/Debian/zfs.yml +++ /dev/null @@ -1,65 +0,0 @@ ---- -- name: set rpm_dist - ansible.builtin.command: rpm --eval "%{dist}" - register: rpm_dist - tags: - - packages - - RedHat - - config - -- name: set zfs repo facts - set_fact: - zfs_repo_base: https://zfsonlinux.org - zfs_gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2 - zfs_gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141 - -- name: el9+ specific configuration - block: - - name: set el9+ facts - set_fact: - rh_release: epel - zfs_release: 2-3 - when: - - ansible_distribution != 'Fedora' - # TODO: figure out a better way to identify EPEL based distros - # TODO: Alma, rocky, centos, rhel - tags: - - packages - - RedHat - - config - -- name: Fedora specific configuration - block: - - name: set fedora facts - set_fact: - rh_release: fedora - zfs_release: 2-6 - when: ansible_distribution == 'Fedora' - when: ansible_distribution == 'Fedora' - -- name: add openzfs gpg_key - ansible.builtin.rpm_key: - key: "{{ zfs_gpg_key }}" - fingerprint: "{{ zfs_gpg_key_fingerprint }}" - state: present - become: true - tags: - - packages - - RedHat - -- name: enable openzfs repository - ansible.builtin.dnf: - name: "{{ zfs_repo_base }}{{ rh_release }}/zfs-release-{{ zfs_release }}{{ rpm_dist.stdout }}.noarch.rpm" - state: "{{ install_state }}" - become: true - tags: - - packages - - RedHat - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'zfs' ] }}" - become: true - tags: - - RedHat - - packages diff --git a/tasks/pkgs/Debian/zig.yml b/tasks/pkgs/Debian/zig.yml deleted file mode 100644 index 66fb53d..0000000 --- a/tasks/pkgs/Debian/zig.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: add zig to srcpkgs - ansible.builtin.set_fact: - srcpkgs: "{{ srcpkgs + [ 'zig' ] }}" diff --git a/tasks/pkgs/Debian/zoxide.yml b/tasks/pkgs/Debian/zoxide.yml deleted file mode 100644 index 3a1c333..0000000 --- a/tasks/pkgs/Debian/zoxide.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: Enable copr repo for zoxide - become: true - when: ansible_distribution != "Fedora" - community.general.copr: - name: atim/zoxide - state: enabled - chroot: "{{ coprChroot[ansible_distribution].chroot | default(omit) }}" - -- name: append to pkgs - set_fact: - syspkgs: "{{ (syspkgs | default([])) + [ 'zoxide' ] }}" - tags: - - RedHat - - linux - - package diff --git a/tasks/pkgs/Debian/zsh.yml b/tasks/pkgs/Debian/zsh.yml deleted file mode 100644 index 80fc8eb..0000000 --- a/tasks/pkgs/Debian/zsh.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: Install zsh for Debian based distros - become: true - ansible.builtin.apt: - name: zsh - state: latest - tags: - - Debian - - linux - - package - diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index b617e77..fdc0813 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -16,7 +16,7 @@ - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + _alacritty[ansible_distribution].build_deps }}" - srcpkgs: "{{ srcpkgs + [ 'build/alacritty.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'alacritty' ] }}" tags: - syspkgs - srcpkgs diff --git a/tasks/pkgs/carapace.yml b/tasks/pkgs/carapace.yml index 5ce2639..78e62cf 100644 --- a/tasks/pkgs/carapace.yml +++ b/tasks/pkgs/carapace.yml @@ -3,7 +3,7 @@ file: carapace.yml name: _carapace -- name: install carapace RPM +- name: enable carapace yum repository ansible.builtin.yum_repository: name: Gemfury Private Repo baseurl: https://yum.fury.io/rsteube/ @@ -13,14 +13,15 @@ when: ansible_os_familiy == 'RedHat' become: true -- name: enable carapace repository +- name: enable carapace apt repository become: true ansible.builtin.apt_repository: repo: "deb [trusted=yes] https://apt.fury.io/rsteube/ /" state: present update_cache: false + filename: carapace when: ansible_os_family == 'Debian' - name: add carapace to syspkgs ansible.builtin.set_fact: - syspkgs: "{{ syspkgs + [ 'carapace-bin' ] }}" + syspkgs: "{{ syspkgs + _carapace[ansible_system].pkgs }}" diff --git a/tasks/pkgs/consul.yml b/tasks/pkgs/consul.yml index a6ac3ff..531f6bb 100644 --- a/tasks/pkgs/consul.yml +++ b/tasks/pkgs/consul.yml @@ -1,7 +1,7 @@ --- - ansible.builtin.include_vars: - file: consul.yml - name: _consul + file: hashicorp_repo.yml + name: _hashicorp - name: ensure hashicorp repo is active ansible.builtin.include_tasks: @@ -9,5 +9,4 @@ - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ _consul[ansible_os_family].pkg ] }}" - + syspkgs: "{{ syspkgs + [ _hashicorp.consul[ansible_os_family] ] }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 18c6cb8..cb25672 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -1,4 +1,4 @@ --- - name: append to pkgs set_fact: - srcpkgs: "{{ srcpkgs + [ 'build/go.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'go' ] }}" diff --git a/tasks/pkgs/hashicorp_repo.yml b/tasks/pkgs/hashicorp_repo.yml index 042a46b..f8045d3 100644 --- a/tasks/pkgs/hashicorp_repo.yml +++ b/tasks/pkgs/hashicorp_repo.yml @@ -13,7 +13,7 @@ - ansible_distribution_major_version|int >= 41 ansible.builtin.command: creates: /etc/yum.repos.d/hashicorp.repo - cmd: "dnf config-manager addrepo --from-repofile={{ _hashicorp.Fedora.repo }}" + cmd: "dnf config-manager addrepo --from-repofile={{ _hashicorp.Linux.Fedora.repo }}" - name: enable hashicorp repo for fedora <41 become: true @@ -22,7 +22,7 @@ - ansible_distribution_major_version|int < 41 ansible.builtin.command: creates: /etc/yum.repos.d/hashicorp.repo - cmd: "dnf config-manager --add-repo {{ _hashicorp.Fedora.repo }}" + cmd: "dnf config-manager --add-repo {{ _hashicorp.Linux.Fedora.repo }}" - name: enable hashicorp repo for RHEL like distribution become: true @@ -30,7 +30,7 @@ - ansible_distribution != 'Fedora' ansible.builtin.command: creates: /etc/yum.repos.d/hashicorp.repo - cmd: "dnf config-manager --add-repo {{ _hashicorp.RedHat.repo }}" + cmd: "dnf config-manager --add-repo {{ _hashicorp.Linux.RedHat.repo }}" - name: Debian based repository when: ansible_os_family == 'Debian' @@ -57,12 +57,11 @@ - name: enable hasicorp repo for debian ansible.builtin.apt_repository: - repo: "{{ _hashicorp.Debian.repo }}" + repo: "{{ _hashicorp.Linux.Debian.repo }}" state: present update_cache: false - name: enable hashicorp homebrew tap when: ansible_os_family == 'Darwin' - community.general.homebrew_tap: - name: hashicorp/tap - state: present + ansible.builtin.set_fact: + brewtaps: "{{ brewtaps + ['hashicorp/tap'] }}" diff --git a/tasks/pkgs/neovide.yml b/tasks/pkgs/neovide.yml index 431c332..aa8669b 100644 --- a/tasks/pkgs/neovide.yml +++ b/tasks/pkgs/neovide.yml @@ -7,7 +7,7 @@ when: ansible_system == 'Linux' set_fact: syspkgs: "{{ syspkgs + _neovide[ansible_os_family].pkgdeps }}" - srcpkgs: "{{ srcpkgs + [ 'build/neovide.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'neovide' ] }}" - name: append neovide to caskpkgs when: ansible_system == 'Darwin' diff --git a/tasks/pkgs/nodejs.yml b/tasks/pkgs/nodejs.yml index 88e8acd..7e08455 100644 --- a/tasks/pkgs/nodejs.yml +++ b/tasks/pkgs/nodejs.yml @@ -1,8 +1,11 @@ --- +- ansible.builtin.include_vars: + file: nodejs.yml + name: _nodejs - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'nodejs', 'npm' ] }}" + syspkgs: "{{ syspkgs + _nodejs[ansible_system].pkgs }}" tags: - RedHat - linux diff --git a/tasks/pkgs/nomad.yml b/tasks/pkgs/nomad.yml index af76c25..7546d9a 100644 --- a/tasks/pkgs/nomad.yml +++ b/tasks/pkgs/nomad.yml @@ -1,9 +1,13 @@ --- +- ansible.builtin.include_vars: + file: hashicorp_repo.yml + name: _hashicorp + - name: ensure hashicorp repo is active ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" + file: "pkgs/hashicorp_repo.yml" - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'nomad' ] }}" + syspkgs: "{{ syspkgs + [ _hashicorp.nomad[ansible_system] ] }}" diff --git a/tasks/pkgs/nushell.yml b/tasks/pkgs/nushell.yml index 62b64c8..48a7349 100644 --- a/tasks/pkgs/nushell.yml +++ b/tasks/pkgs/nushell.yml @@ -3,18 +3,13 @@ file: nushell.yml name: _nushell -- name: install macOS dependencies - set_fact: - nushell_pkgdeps: - - cargo - - libxcb - - openssl-devel - - libX11-devel - nushell_altdeps: - - build/nushell.yml - - "pkgs/{{ ansible_os_family }}/carapace.yml" +- ansible.builtin.include_tasks: + file: "pkgs/{{ dep }}.yml" + loop: + - rust + - carapace - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + nushell_pkgdeps }}" - srcpkgs: "{{ srcpkgs + nushell_altdeps }}" + syspkgs: "{{ syspkgs + _nushell[ansible_os_family].pkgdeps }}" + cargopkgs: "{{ cargopkgs + _nushell[ansible_os_family].nu_pkgs_list + _nushell.nu_plugins }}" diff --git a/tasks/pkgs/packer.yml b/tasks/pkgs/packer.yml index 777167c..65c2e4c 100644 --- a/tasks/pkgs/packer.yml +++ b/tasks/pkgs/packer.yml @@ -1,8 +1,12 @@ --- +- ansible.builtin.include_vars: + file: hashicorp_repo.yml + name: _hashicorp + - name: ensure hashicorp repo is active ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" + file: "pkgs/hashicorp_repo.yml" - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'packer' ] }}" + syspkgs: "{{ syspkgs + [ _hashicorp.packer[ansible_system] ] }}" diff --git a/tasks/pkgs/pandoc.yml b/tasks/pkgs/pandoc.yml index 9f3c3b8..96b54ae 100644 --- a/tasks/pkgs/pandoc.yml +++ b/tasks/pkgs/pandoc.yml @@ -1,10 +1,6 @@ --- - - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'pandoc' ] }}" tags: - - RedHat - - linux - package - diff --git a/tasks/pkgs/pipx.yml b/tasks/pkgs/pipx.yml index 77c48a1..5b2c2c0 100644 --- a/tasks/pkgs/pipx.yml +++ b/tasks/pkgs/pipx.yml @@ -3,7 +3,4 @@ set_fact: syspkgs: "{{ syspkgs + [ 'pipx' ] }}" tags: - - RedHat - - linux - package - diff --git a/tasks/pkgs/python3-pip.yml b/tasks/pkgs/python3-pip.yml index 29a4009..0db1872 100644 --- a/tasks/pkgs/python3-pip.yml +++ b/tasks/pkgs/python3-pip.yml @@ -1,10 +1,10 @@ --- +- ansible.builtin.include_vars: + file: python3.yml + name: _python3 - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'python3-pip' ] }}" + syspkgs: "{{ syspkgs + _python3[ansible_system].pkgs }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/ripgrep.yml b/tasks/pkgs/ripgrep.yml index 9a907f6..3f7d83b 100644 --- a/tasks/pkgs/ripgrep.yml +++ b/tasks/pkgs/ripgrep.yml @@ -1,10 +1,6 @@ --- - - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'ripgrep' ] }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/rust.yml b/tasks/pkgs/rust.yml index 810d54d..5262d2b 100644 --- a/tasks/pkgs/rust.yml +++ b/tasks/pkgs/rust.yml @@ -1,14 +1,10 @@ --- -- name: set rust_pkgs - set_fact: - rust_pkgs: - - rustc - - cargo +- ansible.builtin.include_vars: + file: rust.yml + name: _rust + - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + rust_pkgs }}" + syspkgs: "{{ syspkgs + _rust[ansible_system].pkgs }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/stow.yml b/tasks/pkgs/stow.yml index e66719c..9464aca 100644 --- a/tasks/pkgs/stow.yml +++ b/tasks/pkgs/stow.yml @@ -1,10 +1,6 @@ --- - - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'stow' ] }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/terra_repo.yml b/tasks/pkgs/terra_repo.yml index 8c5ef62..c79faa5 100644 --- a/tasks/pkgs/terra_repo.yml +++ b/tasks/pkgs/terra_repo.yml @@ -1,22 +1,25 @@ --- -- name: enable terra repo for fedora >=41 - become: true - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int >= 41 - ansible.builtin.command: - creates: /etc/yum.repos.d/terra.repo - cmd: dnf install -y --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release +- ansible.builtin.include_vars: + file: terrarepo.yml + name: _terrarepo -- name: enable terra repo for fedora <41 - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int < 41 +- name: enable terra repo for fedora + when: ansible_distribution == 'Fedora' block: - - ansible.builtin.command: - creates: /etc/yum.repos.d/terra.repo - cmd: dnf config-manager --add-repo https://terra.fyralabs.com/terra.repo + - name: enable terra repo for fedora >=41 become: true + when: ansible_distribution_major_version|int >= 41 + ansible.builtin.command: + creates: /etc/yum.repos.d/terra.repo + cmd: "dnf config-manager addrepo --from-repofile={{ _terrarepo.Fedora.repo }}" + + - name: enable terra repo for fedora < 41 + become: true + when: ansible_distribution_major_version|int < 41 + ansible.builtin.command: + creates: /etc/yum.repos.d/terra.repo + cmd: "dnf config-manager --add-repo {{ _terrarepo.Fedora.repo }}" + - ansible.builtin.dnf: name: terra-release state: present diff --git a/tasks/pkgs/terraform.yml b/tasks/pkgs/terraform.yml index 93a805c..2304641 100644 --- a/tasks/pkgs/terraform.yml +++ b/tasks/pkgs/terraform.yml @@ -1,8 +1,12 @@ --- +- ansible.builtin.include_vars: + file: hashicorp_repo.yml + name: _hashicorp + - name: ensure hashicorp repo is active ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" + file: "pkgs/hashicorp_repo.yml" - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'terraform' ] }}" + syspkgs: "{{ syspkgs + [ _hashicorp.terraform[ansible_system] ] }}" diff --git a/tasks/pkgs/tidy.yml b/tasks/pkgs/tidy.yml index 222e909..f7a4054 100644 --- a/tasks/pkgs/tidy.yml +++ b/tasks/pkgs/tidy.yml @@ -1,10 +1,10 @@ --- +- ansible.builtin.include_vars: + file: tidy.yml + name: _tidy - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'tidy' ] }}" + syspkgs: "{{ syspkgs + _tidy[ansible_system].pkgs }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/tmux.yml b/tasks/pkgs/tmux.yml index 81e73f4..f093a48 100644 --- a/tasks/pkgs/tmux.yml +++ b/tasks/pkgs/tmux.yml @@ -4,7 +4,4 @@ set_fact: syspkgs: "{{ syspkgs + [ 'tmux' ] }}" tags: - - RedHat - - linux - - package - + - packages diff --git a/tasks/pkgs/vault.yml b/tasks/pkgs/vault.yml index 76b1935..2edbb0b 100644 --- a/tasks/pkgs/vault.yml +++ b/tasks/pkgs/vault.yml @@ -1,9 +1,13 @@ # install hashicorp vault for RedHat --- +- ansible.builtin.include_vars: + file: hashicorp_repo.yml + name: _hashicorp + - name: ensure hashicorp repo is active ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" + file: "pkgs/hashicorp_repo.yml" - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'vault' ] }}" + syspkgs: "{{ syspkgs + [ _hashicorp.vault[ansible_system] ] }}" diff --git a/tasks/pkgs/zfs.yml b/tasks/pkgs/zfs.yml index b002d6c..e2c3646 100644 --- a/tasks/pkgs/zfs.yml +++ b/tasks/pkgs/zfs.yml @@ -1,64 +1,74 @@ --- -- name: set rpm_dist - ansible.builtin.command: rpm --eval "%{dist}" - register: rpm_dist - tags: - - packages - - RedHat - - config +- ansible.builtin.include_vars: + file: zfs.yml + name: _zfs -- name: set zfs repo facts - set_fact: - zfs_repo_base: https://zfsonlinux.org - zfs_gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2 - zfs_gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141 - -- name: el9+ specific configuration +- name: RedHat based configuration + when: ansible_os_family == 'RedHat' block: - - name: set el9+ facts - set_fact: - rh_release: epel - zfs_release: 2-3 - when: - - ansible_distribution != 'Fedora' - # TODO: figure out a better way to identify EPEL based distros - # TODO: Alma, rocky, centos, rhel - tags: - - packages - - RedHat - - config + - 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: "{{ _zfs.gpg_key }}" + fingerprint: "{{ _zfs.gpg_key_fingerprint }}" + state: present + become: true + tags: + - packages + - RedHat + + - name: enable openzfs repository + ansible.builtin.dnf: + name: "{{ _zfs.repo_base }}{{ rhname }}/zfs-release-{{ _zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" + state: "{{ install_state }}" + become: true + tags: + - packages + - RedHat -- name: Fedora specific configuration + - name: install zfs deps + ansible.builtin.dnf: + name: "{{ _zfs[ansible_os_family].deppkgs }}" + state: "{{ install_state }}" + become: true + +- name: Debian configuration + when: ansible_os_family == 'Debian' block: - - name: set fedora facts - set_fact: - rh_release: fedora - zfs_release: 2-6 - when: ansible_distribution == 'Fedora' - when: ansible_distribution == 'Fedora' + - name: enable openzfs repository + become: true + 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 -- name: add openzfs gpg_key - ansible.builtin.rpm_key: - key: "{{ zfs_gpg_key }}" - fingerprint: "{{ zfs_gpg_key_fingerprint }}" - state: present - become: true - tags: - - packages - - RedHat + - name: pin zfs package to backports + become: true + 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 -- name: enable openzfs repository - ansible.builtin.dnf: - name: "{{ zfs_repo_base }}{{ rh_release }}/zfs-release-{{ zfs_release }}{{ rpm_dist.stdout }}.noarch.rpm" - state: "{{ install_state }}" - become: true - tags: - - packages - - RedHat + - name: install zfs deps + become: true + ansible.builtin.apt: + name: "{{ _zfs[ansible_os_family].deppkgs }}" + state: "{{ install_state }}" - name: append to pkgs set_fact: - syspkgs: "{{ syspkgs + [ 'zfs' ] }}" + syspkgs: "{{ syspkgs + _zfs[ansible_os_family].pkgs }}" become: true tags: - RedHat diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index 3a1c333..79f4e33 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -1,16 +1,6 @@ --- -- name: Enable copr repo for zoxide - become: true - when: ansible_distribution != "Fedora" - community.general.copr: - name: atim/zoxide - state: enabled - chroot: "{{ coprChroot[ansible_distribution].chroot | default(omit) }}" - - name: append to pkgs set_fact: - syspkgs: "{{ (syspkgs | default([])) + [ 'zoxide' ] }}" + syspkgs: "{{ syspkgs + [ 'zoxide' ] }}" tags: - - RedHat - - linux - - package + - packages diff --git a/vars/carapace.yml b/vars/carapace.yml index d37ddcf..1583721 100644 --- a/vars/carapace.yml +++ b/vars/carapace.yml @@ -1,2 +1,8 @@ --- version: 1.1.1 +Linux: + pkgs: + - carapace-bin +Darwin: + pkgs: + - carapace diff --git a/vars/hashicorp_repo.yml b/vars/hashicorp_repo.yml index 9e078ce..4561127 100644 --- a/vars/hashicorp_repo.yml +++ b/vars/hashicorp_repo.yml @@ -1,7 +1,23 @@ --- -RedHat: - repo: https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo -Fedora: - repo: https://rpm.releases.hashicorp.com/fedora/hashicorp.repo -Debian: - repo: "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main" +Linux: + RedHat: + repo: https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo + Fedora: + repo: https://rpm.releases.hashicorp.com/fedora/hashicorp.repo + Debian: + repo: "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main" +consul: + Linux: consul + Darwin: hashicorp/tap/consul +nomad: + Linux: nomad + Darwin: hashicorp/tap/nomad +terraform: + Linux: terraform + Darwin: hashicorp/tap/terraform +vault: + Linux: vault + Darwin: hashicorp/tap/vault +packer: + Linux: packer + Darwin: packer diff --git a/vars/nodejs.yml b/vars/nodejs.yml new file mode 100644 index 0000000..f5cf1d2 --- /dev/null +++ b/vars/nodejs.yml @@ -0,0 +1,8 @@ +--- +Darwin: + pkgs: + - node +Linux: + pkgs: + - nodejs + - npm diff --git a/vars/nomad.yml b/vars/nomad.yml new file mode 100644 index 0000000..c8b8736 --- /dev/null +++ b/vars/nomad.yml @@ -0,0 +1,7 @@ +--- +Darwin: + pkgs: + - hashicorp/tap/nomad +Linux: + pkgs: + - nomad diff --git a/vars/nushell.yml b/vars/nushell.yml index 056ca35..e6522f3 100644 --- a/vars/nushell.yml +++ b/vars/nushell.yml @@ -1,7 +1,5 @@ --- -install_prefix: /usr/local -nu_pkgs_list: - - nu +nu_plugins: - nu_plugin_inc - nu_plugin_polars - nu_plugin_gstat @@ -14,3 +12,23 @@ nu_pkgs_list: - nu_plugin_qr_maker - nu_plugin_rpm - nu_plugin_semver +Darwin: + nu_pkgs_list: [] + pkgdeps: + - nushell + - openssl + - cmake +Debian: + nu_pkgs_list: + - nu + pkgdeps: + - pkg-config + - libssl-dev + - build-essential +RedHat: + nu_pkgs_list: + - nu + pkgdeps: + - libxcb + - openssl-devel + - libX11-devel diff --git a/vars/packer.yml b/vars/packer.yml new file mode 100644 index 0000000..525bcac --- /dev/null +++ b/vars/packer.yml @@ -0,0 +1,6 @@ +Darwin: + pkgs: + - hashicorp/tap/packer +Linux: + pkgs: + - packer diff --git a/vars/python3.yml b/vars/python3.yml new file mode 100644 index 0000000..6681600 --- /dev/null +++ b/vars/python3.yml @@ -0,0 +1,7 @@ +Darwin: + pkgs: + - python3 +Linux: + pkgs: + - python3 + - python3-pip diff --git a/vars/rust.yml b/vars/rust.yml new file mode 100644 index 0000000..8a4ffbe --- /dev/null +++ b/vars/rust.yml @@ -0,0 +1,7 @@ +Darwin: + pkgs: + - rust +Linux: + pkgs: + - rustc + - cargo diff --git a/vars/terraform.yml b/vars/terraform.yml new file mode 100644 index 0000000..2f74deb --- /dev/null +++ b/vars/terraform.yml @@ -0,0 +1,7 @@ +--- +Darwin: + pkgs: + - hashicorp/tap/terraform +Linux: + pkgs: + - terraform diff --git a/vars/terrarepo.yml b/vars/terrarepo.yml new file mode 100644 index 0000000..6e15587 --- /dev/null +++ b/vars/terrarepo.yml @@ -0,0 +1,3 @@ +--- +Fedora: + repo: https://terra.fyralabs.com/terra.repo diff --git a/vars/tidy.yml b/vars/tidy.yml new file mode 100644 index 0000000..6ab2a23 --- /dev/null +++ b/vars/tidy.yml @@ -0,0 +1,6 @@ +Darwin: + pkgs: + - tidy-html5 +Linux: + pkgs: + - tidy diff --git a/vars/zfs.yml b/vars/zfs.yml new file mode 100644 index 0000000..2563240 --- /dev/null +++ b/vars/zfs.yml @@ -0,0 +1,21 @@ +repo_base: https://zfsonlinux.org +gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2 +gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141 +fedora: + release: 2-6 +epel: + release: 2-3 +RedHat: + deppkgs: + - kernel-devel + - epel-release + pkgs: + - zfs +Debian: + deppkgs: + - dpkg-dev + - linux-headers-generic + - linux-image-generic + pkgs: + - zfs-dkms + - zfsutils-linux