From 2472f527d19346f3f99036a2ffade0bf63b2653b Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 23 Feb 2025 01:32:45 -0700 Subject: [PATCH] fix remaining packages - testing container is starting to work on macos - still need to do testing for linux machines --- tasks/config/ghostty.yml | 7 +- tasks/config/nomad.yml | 4 + tasks/config/packer.yml | 4 + tasks/config/tailscale.yml | 5 + tasks/config/vault.yml | 4 + tasks/pkgs/air.yml | 1 + tasks/pkgs/alacritty.yml | 1 + tasks/pkgs/ansible-language-server.yml | 1 + tasks/pkgs/bashls.yml | 1 + tasks/pkgs/bitwarden.yml | 1 + tasks/pkgs/broot.yml | 1 + tasks/pkgs/buf.yml | 1 + tasks/pkgs/bufls.yml | 1 + tasks/pkgs/carapace.yml | 2 +- tasks/pkgs/cheat.yml | 1 + tasks/pkgs/checkmake.yml | 1 + tasks/pkgs/choose.yml | 1 + tasks/pkgs/cmakelang.yml | 1 + tasks/pkgs/commitlint-cli.yml | 1 + tasks/pkgs/commitlint-config-conventional.yml | 1 + tasks/pkgs/consul.yml | 2 + tasks/pkgs/cssls.yml | 1 + tasks/pkgs/curlie.yml | 1 + tasks/pkgs/dbeaver.yml | 1 + tasks/pkgs/dockerls.yml | 1 + tasks/pkgs/dotenv-linter.yml | 1 + tasks/pkgs/duf.yml | 1 + tasks/pkgs/dust.yml | 1 + tasks/pkgs/eslint.yml | 1 + tasks/pkgs/eza.yml | 1 + tasks/pkgs/ghostty.yml | 6 +- tasks/pkgs/glow.yml | 1 + tasks/pkgs/godot.yml | 1 + tasks/pkgs/gopls.yml | 1 + tasks/pkgs/gping.yml | 1 + tasks/pkgs/heroic.yml | 1 + tasks/pkgs/htmlls.yml | 1 + tasks/pkgs/httpie.yml | 1 + tasks/pkgs/intelephense.yml | 1 + tasks/pkgs/jinja-lsp.yml | 1 + tasks/pkgs/jsonls.yml | 1 + tasks/pkgs/lazygit.yml | 1 + tasks/pkgs/libreoffice.yml | 2 +- tasks/pkgs/markdownlint-cli.yml | 1 + tasks/pkgs/neovide.yml | 1 + tasks/pkgs/nextcloud.yml | 1 + tasks/pkgs/nginxls.yml | 1 + tasks/pkgs/nomad.yml | 16 ++- tasks/pkgs/packer.yml | 5 +- tasks/pkgs/pgadmin.yml | 1 + tasks/pkgs/pyright.yml | 1 + tasks/pkgs/quobix-vacuum.yml | 1 + tasks/pkgs/revive.yml | 1 + tasks/pkgs/sd.yml | 1 + tasks/pkgs/sqlfluff.yml | 1 + tasks/pkgs/sqlls.yml | 1 + tasks/pkgs/starship.yml | 1 + tasks/pkgs/tailscale.yml | 10 +- tasks/pkgs/tailwindcss-languageserver.yml | 1 + tasks/pkgs/templ.yml | 1 + tasks/pkgs/terraform.yml | 8 +- tasks/pkgs/terraformls.yml | 8 +- tasks/pkgs/vault.yml | 12 +- tasks/pkgs/yamlls.yml | 1 + tasks/pkgs/zls.yml | 1 + tests/Containerfile | 2 +- tests/cleanup.sh | 10 ++ tests/setup.sh | 23 ++++ tests/test.sh | 4 + tests/test.yml | 10 -- tests/test_not_local.yml | 112 ++++++++++++++++++ vars/pkgs/ghostty.yml | 8 +- vars/pkgs/go.yml | 2 +- vars/pkgs/nomad.yml | 7 +- vars/pkgs/packer.yml | 7 +- vars/pkgs/pgadmin.yml | 1 + vars/pkgs/vault.yml | 7 +- 77 files changed, 294 insertions(+), 44 deletions(-) create mode 100644 tasks/config/nomad.yml create mode 100644 tasks/config/packer.yml create mode 100644 tasks/config/tailscale.yml create mode 100644 tasks/config/vault.yml create mode 100755 tests/cleanup.sh create mode 100755 tests/setup.sh create mode 100755 tests/test.sh delete mode 100644 tests/test.yml create mode 100644 tests/test_not_local.yml diff --git a/tasks/config/ghostty.yml b/tasks/config/ghostty.yml index efd0350..6f4c4e1 100644 --- a/tasks/config/ghostty.yml +++ b/tasks/config/ghostty.yml @@ -3,22 +3,23 @@ - name: Set ghostty install method ansible.builtin.set_fact: ghostty: - method: "{{ pkgconfig.ghostty.method[ansible_distribution] | default(pkgconfig.ghostty.method.default) }}" + method: "{{ pkgconfig.ghostty.methods[ansible_distribution] | default(pkgconfig.ghostty.methods.default) }}" - name: Set ghostty config ansible.builtin.set_fact: ghostty: + method: "{{ ghostty.method }}" arch: "{{ pkgconfig.ghostty.archmap[ansible_architecture] }}" deps: "{{ pkgconfig.ghostty.build_deps[ansible_os_family] }}" vers: "{{ pkgconfig.ghostty.version }}" - pkg: "{{ pkgconfig.ghosty[ghostty.method] }}" + pkg: "{{ pkgconfig.ghostty[ghostty.method] }}" - name: Set ghostty config for appimage install when: - ghostty.method == 'appimage' ansible.builtin.set_fact: ghostty: - method: appimage + method: "{{ ghostty.method }}" file: "Ghostty-{{ ghostty.vers }}-{{ ghostty.arch }}.AppImage" link_name: "{{ pkgconfig.ghostty.appimage.link_name }}" url: "{{ pkgconfig.ghostty.appimage.base_url }}/v{{ ghostty.vers }}/Ghostty-{{ ghostty.vers }}-{{ ghostty.arch }}.AppImage" diff --git a/tasks/config/nomad.yml b/tasks/config/nomad.yml new file mode 100644 index 0000000..00f347d --- /dev/null +++ b/tasks/config/nomad.yml @@ -0,0 +1,4 @@ +- name: Set nomad config + ansible.builtin.set_fact: + nomad: + pkgs: "{{ pkgconfig.nomad.pkgs[ansible_system] }}" diff --git a/tasks/config/packer.yml b/tasks/config/packer.yml new file mode 100644 index 0000000..dba9f71 --- /dev/null +++ b/tasks/config/packer.yml @@ -0,0 +1,4 @@ +- name: Set packer config + ansible.builtin.set_fact: + packer: + pkgs: "{{ pkgconfig.packer.pkgs[ansible_system] }}" diff --git a/tasks/config/tailscale.yml b/tasks/config/tailscale.yml new file mode 100644 index 0000000..e8129ed --- /dev/null +++ b/tasks/config/tailscale.yml @@ -0,0 +1,5 @@ +- name: Set tailscale config + ansible.builtin.set_fact: + tailscale: + url_base: "{{ pkgconfig.tailscale.url_base }}" + release: "{{ pkgconfig.tailscale.release[ansible_distribution_release] | default({}) }}" diff --git a/tasks/config/vault.yml b/tasks/config/vault.yml new file mode 100644 index 0000000..e986501 --- /dev/null +++ b/tasks/config/vault.yml @@ -0,0 +1,4 @@ +- name: Set vault config + ansible.builtin.set_fact: + vault: + pkgs: "{{ pkgconfig.vault.pkgs[ansible_system] }}" diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index e9c0b87..9194eb7 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/air-verse/air@latest'] }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index cece2d4..dfce7fb 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -7,6 +7,7 @@ - name: Append to pkgs notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + alacritty.deps }}" pkg_cargo: "{{ pkg_cargo + [alacritty] }}" diff --git a/tasks/pkgs/ansible-language-server.yml b/tasks/pkgs/ansible-language-server.yml index 31eaa7f..fd1724e 100644 --- a/tasks/pkgs/ansible-language-server.yml +++ b/tasks/pkgs/ansible-language-server.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@ansible/ansible-language-server'] }}" diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index bc6d704..a583217 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['bash-language-server'] }}" diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml index 8748d1b..c16482e 100644 --- a/tasks/pkgs/bitwarden.yml +++ b/tasks/pkgs/bitwarden.yml @@ -5,6 +5,7 @@ - bitwarden.method == 'flatpak' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + [bitwarden.pkg] }}" diff --git a/tasks/pkgs/broot.yml b/tasks/pkgs/broot.yml index 5bb1666..030a254 100644 --- a/tasks/pkgs/broot.yml +++ b/tasks/pkgs/broot.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + broot.deps }}" pkg_cargo: "{{ pkg_cargo + [broot] }}" diff --git a/tasks/pkgs/buf.yml b/tasks/pkgs/buf.yml index a71f972..523da55 100644 --- a/tasks/pkgs/buf.yml +++ b/tasks/pkgs/buf.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/bufbuild/buf/cmd/buf@latest'] }}" diff --git a/tasks/pkgs/bufls.yml b/tasks/pkgs/bufls.yml index 071ae3b..5c3ad91 100644 --- a/tasks/pkgs/bufls.yml +++ b/tasks/pkgs/bufls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/bufbuild/buf-language-server/cmd/bufls@latest'] }}" diff --git a/tasks/pkgs/carapace.yml b/tasks/pkgs/carapace.yml index e951935..2d4d8a3 100644 --- a/tasks/pkgs/carapace.yml +++ b/tasks/pkgs/carapace.yml @@ -7,7 +7,7 @@ ansible.builtin.yum_repository: name: "{{ carapace.repo.name }}" description: "{{ carapace.repo.description }}" - baseurl: "{{ charapace.repo.baseurl }}" + baseurl: "{{ carapace.repo.baseurl }}" enabled: true gpgcheck: false state: present diff --git a/tasks/pkgs/cheat.yml b/tasks/pkgs/cheat.yml index 6d40a7d..7cfaaef 100644 --- a/tasks/pkgs/cheat.yml +++ b/tasks/pkgs/cheat.yml @@ -3,5 +3,6 @@ - name: Append to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/cheat/cheat/cmd/cheat@latest'] }}" diff --git a/tasks/pkgs/checkmake.yml b/tasks/pkgs/checkmake.yml index afc1233..3d52128 100644 --- a/tasks/pkgs/checkmake.yml +++ b/tasks/pkgs/checkmake.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/mrtazz/checkmake/cmd/checkmake@latest'] }}" diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 267cbaa..55a9258 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + [choose] }}" diff --git a/tasks/pkgs/cmakelang.yml b/tasks/pkgs/cmakelang.yml index eb13807..35696c2 100644 --- a/tasks/pkgs/cmakelang.yml +++ b/tasks/pkgs/cmakelang.yml @@ -3,5 +3,6 @@ - name: Add to pkg_pipx notify: - Depend pipx + changed_when: true ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + ['cmakelang'] }}" diff --git a/tasks/pkgs/commitlint-cli.yml b/tasks/pkgs/commitlint-cli.yml index 0431296..bd00686 100644 --- a/tasks/pkgs/commitlint-cli.yml +++ b/tasks/pkgs/commitlint-cli.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@commitlint/cli'] }}" diff --git a/tasks/pkgs/commitlint-config-conventional.yml b/tasks/pkgs/commitlint-config-conventional.yml index 0e1f073..4b9a590 100644 --- a/tasks/pkgs/commitlint-config-conventional.yml +++ b/tasks/pkgs/commitlint-config-conventional.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@commitlint/config-conventional'] }}" diff --git a/tasks/pkgs/consul.yml b/tasks/pkgs/consul.yml index 9560e95..6cfeb6f 100644 --- a/tasks/pkgs/consul.yml +++ b/tasks/pkgs/consul.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + consul.pkgs }}" @@ -13,5 +14,6 @@ - ansible_system == 'Darwin' notify: - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_tap: "{{ pkg_tap + consul.pkgs }}" diff --git a/tasks/pkgs/cssls.yml b/tasks/pkgs/cssls.yml index d8ae9f6..b529871 100644 --- a/tasks/pkgs/cssls.yml +++ b/tasks/pkgs/cssls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" diff --git a/tasks/pkgs/curlie.yml b/tasks/pkgs/curlie.yml index 2a0eeab..939d105 100644 --- a/tasks/pkgs/curlie.yml +++ b/tasks/pkgs/curlie.yml @@ -3,5 +3,6 @@ - name: Append to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/rs/curlie@latest'] }}" diff --git a/tasks/pkgs/dbeaver.yml b/tasks/pkgs/dbeaver.yml index 65baefa..bbfdd19 100644 --- a/tasks/pkgs/dbeaver.yml +++ b/tasks/pkgs/dbeaver.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + ['io.dbeaver.DBeaverCommunity'] }}" diff --git a/tasks/pkgs/dockerls.yml b/tasks/pkgs/dockerls.yml index 683275b..b774028 100644 --- a/tasks/pkgs/dockerls.yml +++ b/tasks/pkgs/dockerls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['dockerfile-language-server-nodejs'] }}" diff --git a/tasks/pkgs/dotenv-linter.yml b/tasks/pkgs/dotenv-linter.yml index 159d84f..c4f6ffc 100644 --- a/tasks/pkgs/dotenv-linter.yml +++ b/tasks/pkgs/dotenv-linter.yml @@ -3,5 +3,6 @@ - name: Add to pkg_cargo notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['dotenv-linter'] }}" diff --git a/tasks/pkgs/duf.yml b/tasks/pkgs/duf.yml index e9bdc8f..3d553ea 100644 --- a/tasks/pkgs/duf.yml +++ b/tasks/pkgs/duf.yml @@ -3,5 +3,6 @@ - name: Append to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/muesli/duf@latest'] }}" diff --git a/tasks/pkgs/dust.yml b/tasks/pkgs/dust.yml index 2ef3ca6..89b9842 100644 --- a/tasks/pkgs/dust.yml +++ b/tasks/pkgs/dust.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['du-dust'] }}" diff --git a/tasks/pkgs/eslint.yml b/tasks/pkgs/eslint.yml index d8ae9f6..b529871 100644 --- a/tasks/pkgs/eslint.yml +++ b/tasks/pkgs/eslint.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" diff --git a/tasks/pkgs/eza.yml b/tasks/pkgs/eza.yml index a657330..f6bf6e1 100644 --- a/tasks/pkgs/eza.yml +++ b/tasks/pkgs/eza.yml @@ -3,5 +3,6 @@ - name: Add to pkg_cargo notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['eza'] }}" diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index dc15649..0a3f690 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -4,10 +4,11 @@ when: - ghostty.method == 'src' - ansible_distribution != 'MacOSX' - notify: - - Depend zig block: - name: Build ghostty from source + notify: + - Depend zig + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ghostty.deps }}" pkg_src: "{{ pkg_src + ['ghostty'] }}" @@ -28,6 +29,7 @@ - ansible_distribution == 'Fedora' notify: - Depend terra repo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['ghostty'] }}" diff --git a/tasks/pkgs/glow.yml b/tasks/pkgs/glow.yml index e463817..0d0c3e5 100644 --- a/tasks/pkgs/glow.yml +++ b/tasks/pkgs/glow.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/charmbracelet/glow@latest'] }}" diff --git a/tasks/pkgs/godot.yml b/tasks/pkgs/godot.yml index 0cd00fd..42e0718 100644 --- a/tasks/pkgs/godot.yml +++ b/tasks/pkgs/godot.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + ['org.godotengine.Godot'] }}" diff --git a/tasks/pkgs/gopls.yml b/tasks/pkgs/gopls.yml index ff162b1..34ef4d8 100644 --- a/tasks/pkgs/gopls.yml +++ b/tasks/pkgs/gopls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['golang.org/x/tools/gopls@latest'] }}" diff --git a/tasks/pkgs/gping.yml b/tasks/pkgs/gping.yml index 794f94d..9a26a35 100644 --- a/tasks/pkgs/gping.yml +++ b/tasks/pkgs/gping.yml @@ -11,5 +11,6 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['gping'] }}" diff --git a/tasks/pkgs/heroic.yml b/tasks/pkgs/heroic.yml index cbc233d..b8080a6 100644 --- a/tasks/pkgs/heroic.yml +++ b/tasks/pkgs/heroic.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + ['com.heroicgameslauncher.hgl'] }}" diff --git a/tasks/pkgs/htmlls.yml b/tasks/pkgs/htmlls.yml index d8ae9f6..b529871 100644 --- a/tasks/pkgs/htmlls.yml +++ b/tasks/pkgs/htmlls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" diff --git a/tasks/pkgs/httpie.yml b/tasks/pkgs/httpie.yml index 1596e77..3e41402 100644 --- a/tasks/pkgs/httpie.yml +++ b/tasks/pkgs/httpie.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + ['io.httpie.Httpie'] }}" diff --git a/tasks/pkgs/intelephense.yml b/tasks/pkgs/intelephense.yml index eb1a043..cbfcc8d 100644 --- a/tasks/pkgs/intelephense.yml +++ b/tasks/pkgs/intelephense.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['intelephense'] }}" diff --git a/tasks/pkgs/jinja-lsp.yml b/tasks/pkgs/jinja-lsp.yml index 93d54b8..d983665 100644 --- a/tasks/pkgs/jinja-lsp.yml +++ b/tasks/pkgs/jinja-lsp.yml @@ -3,5 +3,6 @@ - name: Add to pkg_cargo notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['jinja-lsp'] }}" diff --git a/tasks/pkgs/jsonls.yml b/tasks/pkgs/jsonls.yml index d8ae9f6..b529871 100644 --- a/tasks/pkgs/jsonls.yml +++ b/tasks/pkgs/jsonls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" diff --git a/tasks/pkgs/lazygit.yml b/tasks/pkgs/lazygit.yml index 06b0b12..750e785 100644 --- a/tasks/pkgs/lazygit.yml +++ b/tasks/pkgs/lazygit.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/jesseduffield/lazygit@latest'] }}" diff --git a/tasks/pkgs/libreoffice.yml b/tasks/pkgs/libreoffice.yml index 754c7e6..9cafca3 100644 --- a/tasks/pkgs/libreoffice.yml +++ b/tasks/pkgs/libreoffice.yml @@ -4,7 +4,7 @@ when: - libreoffice.method == 'flatpak' ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + libreoffice.flatpak }}" + pkg_flatpak: "{{ pkg_flatpak + [libreoffice.flatpak] }}" - name: Append to pkg_sys when: diff --git a/tasks/pkgs/markdownlint-cli.yml b/tasks/pkgs/markdownlint-cli.yml index b31c30b..978e3a9 100644 --- a/tasks/pkgs/markdownlint-cli.yml +++ b/tasks/pkgs/markdownlint-cli.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['markdownlint-cli'] }}" diff --git a/tasks/pkgs/neovide.yml b/tasks/pkgs/neovide.yml index 771045e..ba42265 100644 --- a/tasks/pkgs/neovide.yml +++ b/tasks/pkgs/neovide.yml @@ -5,6 +5,7 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + neovide.deps }}" pkg_cargo: "{{ pkg_cargo + [neovide] }}" diff --git a/tasks/pkgs/nextcloud.yml b/tasks/pkgs/nextcloud.yml index 54c63e7..8b0a9de 100644 --- a/tasks/pkgs/nextcloud.yml +++ b/tasks/pkgs/nextcloud.yml @@ -6,6 +6,7 @@ - nextcloud.method == 'flatpak' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + [nextcloud] }}" diff --git a/tasks/pkgs/nginxls.yml b/tasks/pkgs/nginxls.yml index b311db7..844322c 100644 --- a/tasks/pkgs/nginxls.yml +++ b/tasks/pkgs/nginxls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_pipx notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + ['nginx-language-server'] }}" diff --git a/tasks/pkgs/nomad.yml b/tasks/pkgs/nomad.yml index 9868b19..f353659 100644 --- a/tasks/pkgs/nomad.yml +++ b/tasks/pkgs/nomad.yml @@ -1,7 +1,19 @@ # vim: set filetype=yaml.ansible : --- -- name: Append to pkgs +- name: Append to pkg_tap + when: + - ansible_distribution == 'MacOSX' notify: - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + [pkgconfig.nomad[ansible_system]] }}" + pkg_tap: "{{ pkg_tap + nomad.pkgs }}" + +- name: Append to pkg_sys + when: + - ansible_system == 'Linux' + notify: + - Depend hashicorp repo + changed_when: true + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + nomad.pkgs }}" diff --git a/tasks/pkgs/packer.yml b/tasks/pkgs/packer.yml index 7ab6642..7030445 100644 --- a/tasks/pkgs/packer.yml +++ b/tasks/pkgs/packer.yml @@ -4,12 +4,13 @@ when: - ansible_system == 'Darwin' ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + [pkgconfig.packer[ansible_system]] }}" + pkg_tap: "{{ pkg_tap + packer.pkgs }}" - name: Append to pkg_sys when: - ansible_system == 'Linux' notify: - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['packer'] }}" + pkg_sys: "{{ pkg_sys + packer.pkgs }}" diff --git a/tasks/pkgs/pgadmin.yml b/tasks/pkgs/pgadmin.yml index 6d219df..7df7ac8 100644 --- a/tasks/pkgs/pgadmin.yml +++ b/tasks/pkgs/pgadmin.yml @@ -5,6 +5,7 @@ - pgadmin.method == 'flatpak' notify: - Depend flatpak + changed_when: true ansible.builtin.set_fact: pkg_flatpak: "{{ pkg_flatpak + [pgadmin.flatpak] }}" diff --git a/tasks/pkgs/pyright.yml b/tasks/pkgs/pyright.yml index 591e5f9..4269cf5 100644 --- a/tasks/pkgs/pyright.yml +++ b/tasks/pkgs/pyright.yml @@ -3,5 +3,6 @@ - name: Add to pkg_pipx notify: - Depend pipx + changed_when: true ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + ['pyright'] }}" diff --git a/tasks/pkgs/quobix-vacuum.yml b/tasks/pkgs/quobix-vacuum.yml index 922898a..291b8a5 100644 --- a/tasks/pkgs/quobix-vacuum.yml +++ b/tasks/pkgs/quobix-vacuum.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@quobix/vacuum'] }}" diff --git a/tasks/pkgs/revive.yml b/tasks/pkgs/revive.yml index 3a497cd..b5e228c 100644 --- a/tasks/pkgs/revive.yml +++ b/tasks/pkgs/revive.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/mgechev/revive@latest'] }}" diff --git a/tasks/pkgs/sd.yml b/tasks/pkgs/sd.yml index 159c154..058a056 100644 --- a/tasks/pkgs/sd.yml +++ b/tasks/pkgs/sd.yml @@ -11,5 +11,6 @@ - ansible_system == 'Linux' notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['sd'] }}" diff --git a/tasks/pkgs/sqlfluff.yml b/tasks/pkgs/sqlfluff.yml index 27bfcca..9199abf 100644 --- a/tasks/pkgs/sqlfluff.yml +++ b/tasks/pkgs/sqlfluff.yml @@ -3,5 +3,6 @@ - name: Add to pkg_pipx notify: - Depend pipx + changed_when: true ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + ['sqlfluff'] }}" diff --git a/tasks/pkgs/sqlls.yml b/tasks/pkgs/sqlls.yml index 205bab9..745823a 100644 --- a/tasks/pkgs/sqlls.yml +++ b/tasks/pkgs/sqlls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['sql-language-server'] }}" diff --git a/tasks/pkgs/starship.yml b/tasks/pkgs/starship.yml index 24afd5d..1c8272a 100644 --- a/tasks/pkgs/starship.yml +++ b/tasks/pkgs/starship.yml @@ -3,5 +3,6 @@ - name: Add to pkg_cargo notify: - Depend cargo + changed_when: true ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + ['starship'] }}" diff --git a/tasks/pkgs/tailscale.yml b/tasks/pkgs/tailscale.yml index 1d44134..3a710d3 100644 --- a/tasks/pkgs/tailscale.yml +++ b/tasks/pkgs/tailscale.yml @@ -11,7 +11,7 @@ - name: Fedora >=41 ansible.builtin.command: creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager addrepo --from-repofile={{ pkgconfig.tailscale.url_base }}/fedora/tailscale.repo" + cmd: "dnf config-manager addrepo --from-repofile={{ tailscale.url_base }}/fedora/tailscale.repo" become: true when: - ansible_distribution == 'Fedora' @@ -20,7 +20,7 @@ - name: Fedora <41 ansible.builtin.command: creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager --add-repo {{ pkgconfig.tailscale.url_base }}/fedora/tailscale.repo" + cmd: "dnf config-manager --add-repo {{ tailscale.url_base }}/fedora/tailscale.repo" become: true when: - ansible_distribution == 'Fedora' @@ -29,7 +29,7 @@ - name: Rhel based distros ansible.builtin.command: creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager --add-repo {{ pkgconfig.tailscale.url_base }}/rhel/{{ ansible_os_major_version }}/tailscale.repo" + cmd: "dnf config-manager --add-repo {{ tailscale.url_base }}/rhel/{{ ansible_os_major_version }}/tailscale.repo" become: true when: - ansible_distribution != 'Fedora' @@ -43,14 +43,14 @@ - name: Get tailscal keyring become: "{{ sys_pkg_become }}" ansible.builtin.get_url: - url: "{{ pkgconfig.tailscale.url_base }}/debian/{{ pkgconfig.tailscale.release[ansible_os_release].gpg }}" + url: "{{ tailscale.url_base }}/debian/{{ tailscale.release.gpg }}" dest: /usr/share/keyrings/tailscale-archive-keyring.gpg mode: '0644' - name: Get tailscale repo list become: "{{ sys_pkg_become }}" ansible.builtin.get_url: - url: "{{ pkgconfig.tailscale.url_base }}/debian/{{ pkgconfig.tailscale.release[ansible_os_release].list }}" + url: "{{ tailscale.url_base }}/debian/{{ tailscale.release.list }}" dest: /etc/apt/sources.list.d/tailscale.list mode: '0644' diff --git a/tasks/pkgs/tailwindcss-languageserver.yml b/tasks/pkgs/tailwindcss-languageserver.yml index 4d78fff..04f47b6 100644 --- a/tasks/pkgs/tailwindcss-languageserver.yml +++ b/tasks/pkgs/tailwindcss-languageserver.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@tailwindcss/language-server'] }}" diff --git a/tasks/pkgs/templ.yml b/tasks/pkgs/templ.yml index ef5f66d..23dd68f 100644 --- a/tasks/pkgs/templ.yml +++ b/tasks/pkgs/templ.yml @@ -3,5 +3,6 @@ - name: Add to pkg_go notify: - Depend go + changed_when: true ansible.builtin.set_fact: pkg_go: "{{ pkg_go + ['github.com/a-h/templ/cmd/templ@latest'] }}" diff --git a/tasks/pkgs/terraform.yml b/tasks/pkgs/terraform.yml index 3c3e297..946eb53 100644 --- a/tasks/pkgs/terraform.yml +++ b/tasks/pkgs/terraform.yml @@ -1,17 +1,21 @@ # vim: set filetype=yaml.ansible : --- - name: Append to pkgs - notify: - - Depend hashicorp repo block: - name: MacOSX specific when: - ansible_distribution == 'MacOSX' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_tap: "{{ pkg_tap + terraform.pkgs }}" - name: Linux specific when: - ansible_system == 'Linux' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + terraform.pkgs }}" diff --git a/tasks/pkgs/terraformls.yml b/tasks/pkgs/terraformls.yml index b5e3532..e804669 100644 --- a/tasks/pkgs/terraformls.yml +++ b/tasks/pkgs/terraformls.yml @@ -1,17 +1,21 @@ # vim: set filetype=yaml.ansible : --- - name: Append to pkgs - notify: - - Depend hashicorp repo block: - name: MacOS specific when: - ansible_system == 'Darwin' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_tap: "{{ pkg_tap + terraformls.pkgs }}" - name: Linux specific when: - ansible_system == 'Linux' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + terraformls.pkgs }}" diff --git a/tasks/pkgs/vault.yml b/tasks/pkgs/vault.yml index a42c509..82c63dd 100644 --- a/tasks/pkgs/vault.yml +++ b/tasks/pkgs/vault.yml @@ -1,17 +1,21 @@ # vim: set filetype=yaml.ansible : --- - name: Append to pkgs - notify: - - Depend hashicorp repo block: - name: MacOS specific when: - ansible_system == 'Darwin' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + [pkgconfig.vault[ansible_system]] }}" + pkg_tap: "{{ pkg_tap + vault.pkgs }}" - name: Linux specific when: - ansible_system == 'Linux' + notify: + - Depend hashicorp repo + changed_when: true ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['vault'] }}" + pkg_sys: "{{ pkg_sys + vault.pkgs }}" diff --git a/tasks/pkgs/yamlls.yml b/tasks/pkgs/yamlls.yml index e3d9210..a27b45f 100644 --- a/tasks/pkgs/yamlls.yml +++ b/tasks/pkgs/yamlls.yml @@ -3,5 +3,6 @@ - name: Add to pkg_npm notify: - Depend node + changed_when: true ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['yaml-language-server'] }}" diff --git a/tasks/pkgs/zls.yml b/tasks/pkgs/zls.yml index 74d0e21..e259621 100644 --- a/tasks/pkgs/zls.yml +++ b/tasks/pkgs/zls.yml @@ -3,5 +3,6 @@ - name: Append to pkgs notify: - Depend zig + changed_when: true ansible.builtin.set_fact: pkg_archive: "{{ pkg_archive + ['zls'] }}" diff --git a/tests/Containerfile b/tests/Containerfile index 2bad7a8..957c9b1 100644 --- a/tests/Containerfile +++ b/tests/Containerfile @@ -3,7 +3,7 @@ LABEL PROJECT "ansible_role_package" LABEL MAINTAINER "Matthew Stobbs " RUN useradd -d /home/ansible -m -G wheel ansible -RUN dnf install -y openssh-server python3-paramiko python3-libdnf5 +RUN dnf install -y openssh-server python3-paramiko python3-libdnf5 gnupg2 EXPOSE 22 USER ansible diff --git a/tests/cleanup.sh b/tests/cleanup.sh new file mode 100755 index 0000000..1669872 --- /dev/null +++ b/tests/cleanup.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env zsh + +IMAGE=packagetest +CONTAINER=packagetest +MACHINENAME=podman-machine-default + +ssh-keygen -R "[127.0.0.1]:2222" +podman stop $CONTAINER +podman rm $IMAGE +podman machine stop $MACHINENAME diff --git a/tests/setup.sh b/tests/setup.sh new file mode 100755 index 0000000..8c2572d --- /dev/null +++ b/tests/setup.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env zsh + +IMAGE=packagetest +CONTAINER=packagetest +MACHINENAME=podman-machine-default + +function machine_state { + echo $(podman machine inspect $MACHINENAME | jq -r '.[].State') +} + +echo "Starting $MACHINENAME" +podman machine start -q $MACHINENAME +while [ "$(machine_state)" != "running" ] +do + echo $(machine_state) + echo "Wating for $MACHINENAME to start" + sleep 1 +done + +echo "Machine $MACHINENAME running" + +echo "Building container images" +podman build --platform linux/amd64 -f Containerfile -t $IMAGE . diff --git a/tests/test.sh b/tests/test.sh new file mode 100755 index 0000000..f0dcb0a --- /dev/null +++ b/tests/test.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env zsh + +podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest +ansible-playbook test_not_local.yml -i inventory.yml diff --git a/tests/test.yml b/tests/test.yml deleted file mode 100644 index 4cff583..0000000 --- a/tests/test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - role: ansible_role_package - vars: - use_local: false - packages: - - air - - ansible-language-server diff --git a/tests/test_not_local.yml b/tests/test_not_local.yml new file mode 100644 index 0000000..d9efe82 --- /dev/null +++ b/tests/test_not_local.yml @@ -0,0 +1,112 @@ +--- +- hosts: localhost + vars: + testpkgs: + - air + - alacritty + - ansible-language-server + - ansible-lint + - ansible + - bashls + - bat + - bitwarden + - blender + - broot + - btop + - buf + - bufls + - carapace + - cheat + - checkmake + - choose + - clangd + - cmake + - cmakelang + - commitlint-cli + - commitlint-config-conventional + - consul + - cssls + - curlie + - dbeaver + - direnv + - dockerls + - dotenv-linter + - duf + - dust + - editorconfig + - eslint + - eza + - fd + - firefox + - flatpak + - fzf + - ghostty + - git + - glow + - go + - godot + - gopls + - gping + - heroic + - htmlls + - htmx-lsp + - httpie + - hugo + - hyperfine + - intelephense + - jinja-lsp + - jq + - jsonls + - kitty + - lazygit + - libreoffice + - lua-language-server + - markdownlint-cli + - mcfly + - neovide + - neovim + - nerdfonts + - nextcloud + - nginxls + - nodejs + - nomad + - packer + - pandoc + - pgadmin + - pipx + - podman + - pyright + - python3 + - quobix-vacuum + - revive + - ripgrep + - rust + - sd + - sqlfluff + - sqlls + - starship + - stow + - tailscale + - tailwindcss-languageserver + - templ + - terraform + - terraformls + - thunderbird + - tidy + - tldr + - tmux + - vault + - xh + - yamlls + - zfs + - zig + - zls + - zoxide + - zsh + tasks: + - name: Test all packages with use_local=false + ansible.builtin.include_role: + name: ansible_role_package + vars: + use_local: false + packages: "{{ testpkgs }}" diff --git a/vars/pkgs/ghostty.yml b/vars/pkgs/ghostty.yml index 3f11d3f..682691c 100644 --- a/vars/pkgs/ghostty.yml +++ b/vars/pkgs/ghostty.yml @@ -15,7 +15,11 @@ ghostty: appimage: base_url: https://github.com/psadi/ghostty-appimage/releases/download/ link_name: ghostty - method: + cask: + - ghostty + sys: + - ghostty + methods: default: appimage Fedora: sys - MacOSX: brew + MacOSX: cask diff --git a/vars/pkgs/go.yml b/vars/pkgs/go.yml index 9a523ca..f3d10fe 100644 --- a/vars/pkgs/go.yml +++ b/vars/pkgs/go.yml @@ -14,7 +14,7 @@ go: amd64: sha256:dee0ea64411a00b47ded586d5a8e30cfe3acf51564aa1bb24e039a6dca807a29 arm64: sha256:b19eb6b7ae87f8371c3e7a84d129db67779a2883d2fffa6bb90412b0167df133 Linux: - amd64: sha256:b19eb6b7ae87f8371c3e7a84d129db67779a2883d2fffa6bb90412b0167df133 + amd64: sha256:dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858 arm64: sha256:c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7 1.23.6: Darwin: diff --git a/vars/pkgs/nomad.yml b/vars/pkgs/nomad.yml index 872edee..42a38c3 100644 --- a/vars/pkgs/nomad.yml +++ b/vars/pkgs/nomad.yml @@ -1,3 +1,6 @@ nomad: - Linux: nomad - Darwin: hashicorp/tap/nomad + pkgs: + Linux: + - nomad + Darwin: + - hashicorp/tap/nomad diff --git a/vars/pkgs/packer.yml b/vars/pkgs/packer.yml index ee0d63e..49a6196 100644 --- a/vars/pkgs/packer.yml +++ b/vars/pkgs/packer.yml @@ -1,3 +1,6 @@ packer: - Linux: packer - Darwin: packer + pkgs: + Linux: + - packer + Darwin: + - packer diff --git a/vars/pkgs/pgadmin.yml b/vars/pkgs/pgadmin.yml index 5e2069e..5e3afe0 100644 --- a/vars/pkgs/pgadmin.yml +++ b/vars/pkgs/pgadmin.yml @@ -10,3 +10,4 @@ pgadmin: pkgs: Darwin: - pgadmin4 + Linux: [] diff --git a/vars/pkgs/vault.yml b/vars/pkgs/vault.yml index ca53cde..017a153 100644 --- a/vars/pkgs/vault.yml +++ b/vars/pkgs/vault.yml @@ -1,3 +1,6 @@ vault: - Linux: vault - Darwin: hashicorp/tap/vault + pkgs: + Linux: + - vault + Darwin: + - hashicorp/tap/vault