diff --git a/tasks/Darwin_do_install.yml b/tasks/Darwin_do_install.yml deleted file mode 100644 index 95a1ec8..0000000 --- a/tasks/Darwin_do_install.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -- name: full homebrew upgrade if enabled - community.general.homebrew: - update_homebrew: true - upgrade_all: true - when: full_upgrade - tags: - - upgrade - - packages - - Darwin - - macOS - - homebrew - -- name: full cask upgrade if enabled - community.general.homebrew_cask: - upgrade_all: true - when: full_upgrade - tags: - - upgrade - - packages - - Darwin - - macOS - - homebrew - - homebrew_cask - -- name: install homebrew pkgs - community.general.homebrew: - name: "{{ syspkgs | unique }}" - state: "{{ install_state }}" - tags: - - packages - - Darwin - - macOS - - homebrew - -- name: install homebrew casks - community.general.homebrew_cask: - name: "{{ (caskpkgs | default([])) | unique }}" - state: "{{ install_state }}" - tags: - - packages - - Darwin - - macOS - - homebrew - - homebrew_cask diff --git a/tasks/Debian/go.yml b/tasks/Debian/go.yml deleted file mode 100644 index 4607b93..0000000 --- a/tasks/Debian/go.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - altpkgs: "{{ altpkgs + [ 'packages/Linux/go.yml' ] }}" diff --git a/tasks/Debian/neovim.yml b/tasks/Debian/neovim.yml deleted file mode 100644 index cb1122f..0000000 --- a/tasks/Debian/neovim.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: append to pkgs - when: ansible_distribution == "Fedora" - set_fact: - syspkgs: "{{ syspkgs + [ 'neovim', 'python3-neovim' ] }}" - tags: - - RedHat - - linux - - package - -- name: install neovim appimage - when: ansible_distribution != "Fedora" - become: true - ansible.builtin.get_url: - url: https://github.com/neovim/neovim/releases/download/v0.10.0/nvim.appimage - dest: /usr/local/bin/nvim - checksum: sha256:6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390 - tags: - - RedHat - - linux - - package - diff --git a/tasks/Debian/nerdfonts.yml b/tasks/Debian/nerdfonts.yml deleted file mode 100644 index 5e9fa72..0000000 --- a/tasks/Debian/nerdfonts.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to pkgs - set_fact: - altpkgs: "{{ altpkgs + [ 'Linux/nerdfonts.yml' ] }}" diff --git a/tasks/Debian/zig.yml b/tasks/Debian/zig.yml deleted file mode 100644 index ddb44b0..0000000 --- a/tasks/Debian/zig.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: add zig to altpkgs - ansible.builtin.set_fact: - altpkgs: "{{ altpkgs + [ 'zig' ] }}" diff --git a/tasks/Debian_do_install.yml b/tasks/Debian_do_install.yml deleted file mode 100644 index 938f741..0000000 --- a/tasks/Debian_do_install.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: full system upgrade if enabled - ansible.builtin.apt: - name: "*" - state: latest - when: full_upgrade - become: true - tags: - - upgrade - - packages - - asroot - -- name: install packages from system package manager - ansible.builtin.dnf: - update_cache: true - name: "{{ syspkgs | unique }}" - state: "{{ install_state }}" - when: syspkgs|length > 0 - become: true - tags: - - packages - - asroot - - os - -- name: install packages from outside system package manager - ansible.builtin.include_tasks: - file: "{{ altpkg }}" - loop: "{{ altpkgs }}" - loop_control: - loop_var: altpkg - tags: - - packages - - altinstall diff --git a/tasks/RedHat/go.yml b/tasks/RedHat/go.yml deleted file mode 100644 index 4607b93..0000000 --- a/tasks/RedHat/go.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - altpkgs: "{{ altpkgs + [ 'packages/Linux/go.yml' ] }}" diff --git a/tasks/RedHat/neovim.yml b/tasks/RedHat/neovim.yml deleted file mode 100644 index cb1122f..0000000 --- a/tasks/RedHat/neovim.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- name: append to pkgs - when: ansible_distribution == "Fedora" - set_fact: - syspkgs: "{{ syspkgs + [ 'neovim', 'python3-neovim' ] }}" - tags: - - RedHat - - linux - - package - -- name: install neovim appimage - when: ansible_distribution != "Fedora" - become: true - ansible.builtin.get_url: - url: https://github.com/neovim/neovim/releases/download/v0.10.0/nvim.appimage - dest: /usr/local/bin/nvim - checksum: sha256:6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390 - tags: - - RedHat - - linux - - package - diff --git a/tasks/RedHat/nerdfonts.yml b/tasks/RedHat/nerdfonts.yml deleted file mode 100644 index 5e9fa72..0000000 --- a/tasks/RedHat/nerdfonts.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to pkgs - set_fact: - altpkgs: "{{ altpkgs + [ 'Linux/nerdfonts.yml' ] }}" diff --git a/tasks/RedHat_do_install.yml b/tasks/RedHat_do_install.yml deleted file mode 100644 index 9e23e78..0000000 --- a/tasks/RedHat_do_install.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: full system upgrade if enabled - ansible.builtin.dnf: - name: "*" - state: latest - when: full_upgrade - become: true - tags: - - upgrade - - packages - - asroot - - RedHat - -- name: install packages from system package manager - ansible.builtin.dnf: - name: "{{ syspkgs | unique }}" - state: "{{ install_state }}" - when: syspkgs|length > 0 - become: true - tags: - - packages - - asroot - - os - -- name: install packages from outside system - ansible.builtin.include_tasks: - file: "{{ altpkg }}" - loop: "{{ altpkgs }}" - loop_control: - loop_var: altpkg - tags: - - packages - - altinstall diff --git a/tasks/build/.crates.toml b/tasks/build/.crates.toml new file mode 100644 index 0000000..e69de29 diff --git a/tasks/build/.crates2.json b/tasks/build/.crates2.json new file mode 100644 index 0000000..e69de29 diff --git a/tasks/Linux/alacritty.yml b/tasks/build/alacritty.yml similarity index 67% rename from tasks/Linux/alacritty.yml rename to tasks/build/alacritty.yml index 663e234..9d6d5c9 100644 --- a/tasks/Linux/alacritty.yml +++ b/tasks/build/alacritty.yml @@ -1,4 +1,8 @@ --- +- ansible.builtin.include_vars: + file: alacritty.yml + name: _alacritty + - name: build and install alacritty become: true ansible.builtin.command: @@ -10,4 +14,4 @@ - --git - https://github.com/alacritty/alacritty.git - --tag - - "v{{ versions.alacritty }}" + - "v{{ _alacritty.version }}" diff --git a/tasks/Linux/files/neovide/icon.png b/tasks/build/files/neovide/icon.png similarity index 100% rename from tasks/Linux/files/neovide/icon.png rename to tasks/build/files/neovide/icon.png diff --git a/tasks/Linux/files/neovide/neovide.desktop b/tasks/build/files/neovide/neovide.desktop similarity index 100% rename from tasks/Linux/files/neovide/neovide.desktop rename to tasks/build/files/neovide/neovide.desktop diff --git a/tasks/Linux/go.yml b/tasks/build/go.yml similarity index 73% rename from tasks/Linux/go.yml rename to tasks/build/go.yml index cd841fe..74cc0c8 100644 --- a/tasks/Linux/go.yml +++ b/tasks/build/go.yml @@ -1,11 +1,15 @@ --- +- ansible.buildin.include_vars: + file: go.yml + name: _go + - name: set go arch ansible.builtin.set_fact: arch: "{{ _go.archmap[ansible_architecture] }}" - name: set go Filename ansible.builtin.set_fact: - goFilename: "go{{ versions.go }}.linux-{{ arch }}.tar.gz" + go_archive: "go{{ _go.version }}.linux-{{ arch }}.tar.gz" tags: - dev - go @@ -20,8 +24,8 @@ - name: download go archive become: true ansible.builtin.get_url: - dest: "{{ d_go_dl_tmp }}/{{ goFilename }}" - url: "https://go.dev/dl/{{ goFilename }}" + dest: "{{ d_go_dl_tmp.path }}/{{ go_archive }}" + url: "https://go.dev/dl/{{ go_archive }}" checksum: "{{ _go[versions.go].Linux[arch] }}" decompress: false tags: @@ -38,5 +42,5 @@ become: true ansible.builtin.unarchive: dest: "{{ _go.install_path }}" - src: "{{ d_go_dl_tmp.path }}/{{ goFilename }}" + src: "{{ d_go_dl_tmp.path }}/{{ go_archive }}" remote_src: true diff --git a/tasks/Linux/neovide.yml b/tasks/build/neovide.yml similarity index 56% rename from tasks/Linux/neovide.yml rename to tasks/build/neovide.yml index 77bb761..9f128a5 100644 --- a/tasks/Linux/neovide.yml +++ b/tasks/build/neovide.yml @@ -1,8 +1,20 @@ --- +- ansible.builtin.include_vars: + file: neovide.yml + name: _neovide + - name: build and install neovide become: true ansible.builtin.command: - cmd: "cargo install --root {{ _neovide.install_prefix }} --git https://github.com/neovide/neovide" + cmd: + - cargo + - install + - --root + - "{% if ansible_os_family != 'Linux' %}.{% else %}{{ _neovide.install_prefix }}" + - --git + - https://github.com/neovide/neovide.git + - --tag + - "{{ _neovide.version }}" - name: Copy neovide icon become: true diff --git a/tasks/build/neovim.yml b/tasks/build/neovim.yml new file mode 100644 index 0000000..b147b9e --- /dev/null +++ b/tasks/build/neovim.yml @@ -0,0 +1,36 @@ +- ansible.builtin.include_vars: + file: neovim.yml + name: _neovim + +- name: create temp path + ansible.builtin.tempfile: + state: directory + prefix: nvim. + register: d_nvim_tmp + +- name: clone neovim git repository + ansible.builtin.git: + depth: 1 + dest: "{{ d_nvim_tmp.path }}/neovim" + repo: "{{ _neovim.git_repo }}" + version: "v{{ _neovim.version }}" + +- name: build neovim + ansible.builtin.command: + chdir: "{{ d_nvim_tmp.path }}/neovim" + cmd: + - make + - "CMAKE_BUILD_Type={{ _neovim.build_type }}" + - "CMAKE_INSTALL_PREFIX={{ _neovim.install_prefix }}" + +- name: install neovim appimage + become: true + ansible.builtin.get_url: + url: https://github.com/neovim/neovim/releases/download/v{{ _neovim.version }}/nvim.appimage + dest: /usr/local/bin/nvim + checksum: sha256:6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390 + tags: + - RedHat + - linux + - package + diff --git a/tasks/Linux/nerdfonts.yml b/tasks/build/nerdfonts.yml similarity index 100% rename from tasks/Linux/nerdfonts.yml rename to tasks/build/nerdfonts.yml diff --git a/tasks/Linux/nushell.yml b/tasks/build/nushell.yml similarity index 75% rename from tasks/Linux/nushell.yml rename to tasks/build/nushell.yml index 699bc5c..51739af 100644 --- a/tasks/Linux/nushell.yml +++ b/tasks/build/nushell.yml @@ -2,7 +2,13 @@ - name: install nushell via cargo become: true ansible.builtin.command: - cmd: "cargo install --root {{ _nushell.install_prefix }} {{ nuitem }} --locked" + cmd: + - cargo + - install + - --root + - "{{ _nushell.install_prefix }}" + - "{{ nuitem }}" + - --locked loop_control: loop_var: nuitem loop: diff --git a/tasks/Linux/zig.yml b/tasks/build/zig.yml similarity index 100% rename from tasks/Linux/zig.yml rename to tasks/build/zig.yml diff --git a/tasks/main.yml b/tasks/main.yml index c3047c9..df597d4 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,7 +1,7 @@ --- -- name: generate package manager installation list +- name: generate package installation lists ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/{{ pkg }}.yml" + file: "pkgs/{{ ansible_os_family }}/{{ pkg }}.yml" loop: "{{ packages }}" loop_control: loop_var: pkg @@ -9,8 +9,60 @@ - config - packages -- name: install system package list - ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}_do_install.yml" +- name: upgrade linux packages + block: + - ansible.builtin.dnf: + name: "*" + state: latest + when: ansible_os_family == 'RedHat' + - ansible.builtin.apt: + name: "*" + state: latest + when: ansible_os_family == 'Debian' + become: true + when: full_upgrade + +- name: Linux specific installation + block: + - ansible.builtin.dnf: + name: "{{ syspkgs }}" + state: "{{ install_state }}" + when: ansible_os_family == 'RedHat' + - ansible.builtin.apt: + name: "{{ syspkgs }}" + state: "{{ install_state }}" + when: ansible_os_family == 'Darwin' + become: true + when: ansible_system == 'Linux' + tags: + - Linux + - RedHat + - Debian + - packages + +- name: Macos specific installation + block: + - community.general.homebrew: + name: "{{ syspkgs | unique }}" + state: "{{ install_state }}" + + - community.general.homebrew_cask: + name: "{{ caskpkgs | unique }}" + state: "{{ install_state }}" tags: - packages + - Darwin + - macOS + - homebrew + - homebrew_cask + +- name: install srcpkgs + ansible.builtin.include_tasks: + file: "build/{{ srcpkg }}.yml" + loop: "{{ srcpkgs }}" + loop_control: + loop_var: srcpkg + when: srcpkgs|length > 0 + tags: + - packages + - source diff --git a/tasks/Darwin/alacritty.yml b/tasks/pkgs/Darwin/alacritty.yml similarity index 100% rename from tasks/Darwin/alacritty.yml rename to tasks/pkgs/Darwin/alacritty.yml diff --git a/tasks/Darwin/ansible.yml b/tasks/pkgs/Darwin/ansible.yml similarity index 100% rename from tasks/Darwin/ansible.yml rename to tasks/pkgs/Darwin/ansible.yml diff --git a/tasks/Darwin/btop.yml b/tasks/pkgs/Darwin/btop.yml similarity index 100% rename from tasks/Darwin/btop.yml rename to tasks/pkgs/Darwin/btop.yml diff --git a/tasks/Darwin/carapace.yml b/tasks/pkgs/Darwin/carapace.yml similarity index 100% rename from tasks/Darwin/carapace.yml rename to tasks/pkgs/Darwin/carapace.yml diff --git a/tasks/Darwin/cmake.yml b/tasks/pkgs/Darwin/cmake.yml similarity index 100% rename from tasks/Darwin/cmake.yml rename to tasks/pkgs/Darwin/cmake.yml diff --git a/tasks/Darwin/editorconfig.yml b/tasks/pkgs/Darwin/editorconfig.yml similarity index 100% rename from tasks/Darwin/editorconfig.yml rename to tasks/pkgs/Darwin/editorconfig.yml diff --git a/tasks/Darwin/firefox.yml b/tasks/pkgs/Darwin/firefox.yml similarity index 100% rename from tasks/Darwin/firefox.yml rename to tasks/pkgs/Darwin/firefox.yml diff --git a/tasks/Darwin/fzf.yml b/tasks/pkgs/Darwin/fzf.yml similarity index 100% rename from tasks/Darwin/fzf.yml rename to tasks/pkgs/Darwin/fzf.yml diff --git a/tasks/Darwin/ghostty.yml b/tasks/pkgs/Darwin/ghostty.yml similarity index 100% rename from tasks/Darwin/ghostty.yml rename to tasks/pkgs/Darwin/ghostty.yml diff --git a/tasks/Darwin/git.yml b/tasks/pkgs/Darwin/git.yml similarity index 100% rename from tasks/Darwin/git.yml rename to tasks/pkgs/Darwin/git.yml diff --git a/tasks/Darwin/go.yml b/tasks/pkgs/Darwin/go.yml similarity index 100% rename from tasks/Darwin/go.yml rename to tasks/pkgs/Darwin/go.yml diff --git a/tasks/Darwin/hugo.yml b/tasks/pkgs/Darwin/hugo.yml similarity index 100% rename from tasks/Darwin/hugo.yml rename to tasks/pkgs/Darwin/hugo.yml diff --git a/tasks/Darwin/iterm2.yml b/tasks/pkgs/Darwin/iterm2.yml similarity index 100% rename from tasks/Darwin/iterm2.yml rename to tasks/pkgs/Darwin/iterm2.yml diff --git a/tasks/Darwin/jq.yml b/tasks/pkgs/Darwin/jq.yml similarity index 100% rename from tasks/Darwin/jq.yml rename to tasks/pkgs/Darwin/jq.yml diff --git a/tasks/Darwin/neovide.yml b/tasks/pkgs/Darwin/neovide.yml similarity index 100% rename from tasks/Darwin/neovide.yml rename to tasks/pkgs/Darwin/neovide.yml diff --git a/tasks/Darwin/neovim.yml b/tasks/pkgs/Darwin/neovim.yml similarity index 100% rename from tasks/Darwin/neovim.yml rename to tasks/pkgs/Darwin/neovim.yml diff --git a/tasks/Darwin/nerdfonts.yml b/tasks/pkgs/Darwin/nerdfonts.yml similarity index 100% rename from tasks/Darwin/nerdfonts.yml rename to tasks/pkgs/Darwin/nerdfonts.yml diff --git a/tasks/Darwin/nodejs.yml b/tasks/pkgs/Darwin/nodejs.yml similarity index 100% rename from tasks/Darwin/nodejs.yml rename to tasks/pkgs/Darwin/nodejs.yml diff --git a/tasks/Darwin/nushell.yml b/tasks/pkgs/Darwin/nushell.yml similarity index 100% rename from tasks/Darwin/nushell.yml rename to tasks/pkgs/Darwin/nushell.yml diff --git a/tasks/Darwin/pandoc.yml b/tasks/pkgs/Darwin/pandoc.yml similarity index 100% rename from tasks/Darwin/pandoc.yml rename to tasks/pkgs/Darwin/pandoc.yml diff --git a/tasks/Darwin/pipx.yml b/tasks/pkgs/Darwin/pipx.yml similarity index 100% rename from tasks/Darwin/pipx.yml rename to tasks/pkgs/Darwin/pipx.yml diff --git a/tasks/Darwin/python3-pip.yml b/tasks/pkgs/Darwin/python3-pip.yml similarity index 100% rename from tasks/Darwin/python3-pip.yml rename to tasks/pkgs/Darwin/python3-pip.yml diff --git a/tasks/Darwin/ripgrep.yml b/tasks/pkgs/Darwin/ripgrep.yml similarity index 100% rename from tasks/Darwin/ripgrep.yml rename to tasks/pkgs/Darwin/ripgrep.yml diff --git a/tasks/Darwin/rust.yml b/tasks/pkgs/Darwin/rust.yml similarity index 100% rename from tasks/Darwin/rust.yml rename to tasks/pkgs/Darwin/rust.yml diff --git a/tasks/Darwin/stow.yml b/tasks/pkgs/Darwin/stow.yml similarity index 100% rename from tasks/Darwin/stow.yml rename to tasks/pkgs/Darwin/stow.yml diff --git a/tasks/Darwin/terraform.yml b/tasks/pkgs/Darwin/terraform.yml similarity index 100% rename from tasks/Darwin/terraform.yml rename to tasks/pkgs/Darwin/terraform.yml diff --git a/tasks/Darwin/tidy.yml b/tasks/pkgs/Darwin/tidy.yml similarity index 100% rename from tasks/Darwin/tidy.yml rename to tasks/pkgs/Darwin/tidy.yml diff --git a/tasks/Darwin/tmux.yml b/tasks/pkgs/Darwin/tmux.yml similarity index 100% rename from tasks/Darwin/tmux.yml rename to tasks/pkgs/Darwin/tmux.yml diff --git a/tasks/Darwin/zoxide.yml b/tasks/pkgs/Darwin/zoxide.yml similarity index 100% rename from tasks/Darwin/zoxide.yml rename to tasks/pkgs/Darwin/zoxide.yml diff --git a/tasks/Debian/alacritty.yml b/tasks/pkgs/Debian/alacritty.yml similarity index 100% rename from tasks/Debian/alacritty.yml rename to tasks/pkgs/Debian/alacritty.yml diff --git a/tasks/Debian/ansible.yml b/tasks/pkgs/Debian/ansible.yml similarity index 100% rename from tasks/Debian/ansible.yml rename to tasks/pkgs/Debian/ansible.yml diff --git a/tasks/Debian/btop.yml b/tasks/pkgs/Debian/btop.yml similarity index 100% rename from tasks/Debian/btop.yml rename to tasks/pkgs/Debian/btop.yml diff --git a/tasks/Debian/carapace.yml b/tasks/pkgs/Debian/carapace.yml similarity index 100% rename from tasks/Debian/carapace.yml rename to tasks/pkgs/Debian/carapace.yml diff --git a/tasks/Debian/cmake.yml b/tasks/pkgs/Debian/cmake.yml similarity index 100% rename from tasks/Debian/cmake.yml rename to tasks/pkgs/Debian/cmake.yml diff --git a/tasks/Debian/consul.yml b/tasks/pkgs/Debian/consul.yml similarity index 100% rename from tasks/Debian/consul.yml rename to tasks/pkgs/Debian/consul.yml diff --git a/tasks/Debian/editorconfig.yml b/tasks/pkgs/Debian/editorconfig.yml similarity index 100% rename from tasks/Debian/editorconfig.yml rename to tasks/pkgs/Debian/editorconfig.yml diff --git a/tasks/Debian/firefox.yml b/tasks/pkgs/Debian/firefox.yml similarity index 100% rename from tasks/Debian/firefox.yml rename to tasks/pkgs/Debian/firefox.yml diff --git a/tasks/Debian/fzf.yml b/tasks/pkgs/Debian/fzf.yml similarity index 100% rename from tasks/Debian/fzf.yml rename to tasks/pkgs/Debian/fzf.yml diff --git a/tasks/Debian/ghostty.yml b/tasks/pkgs/Debian/ghostty.yml similarity index 100% rename from tasks/Debian/ghostty.yml rename to tasks/pkgs/Debian/ghostty.yml diff --git a/tasks/Debian/git.yml b/tasks/pkgs/Debian/git.yml similarity index 100% rename from tasks/Debian/git.yml rename to tasks/pkgs/Debian/git.yml diff --git a/tasks/pkgs/Debian/go.yml b/tasks/pkgs/Debian/go.yml new file mode 100644 index 0000000..bc28383 --- /dev/null +++ b/tasks/pkgs/Debian/go.yml @@ -0,0 +1,5 @@ +--- + +- name: append to pkgs + set_fact: + srcpkgs: "{{ srcpkgs + [ 'packages/Linux/go.yml' ] }}" diff --git a/tasks/Debian/hashicorp_repo.yml b/tasks/pkgs/Debian/hashicorp_repo.yml similarity index 51% rename from tasks/Debian/hashicorp_repo.yml rename to tasks/pkgs/Debian/hashicorp_repo.yml index dece278..a514e79 100644 --- a/tasks/Debian/hashicorp_repo.yml +++ b/tasks/pkgs/Debian/hashicorp_repo.yml @@ -1,9 +1,24 @@ # install hashicorp vault for Debian/Ubuntu --- +- ansible.builtin.tempfile: + state: directory + prefix: hashicorp. + register: d_hashicorp_tmp + +- name: get hashicorp archive gpg key + ansible.built.get_url: + dest: "{{ d_hashicorp_tmp.path }}/gpg" + url: https://apt.releases.hashicorp.com/gpg + - name: install hashicorp archive gpg key become: true ansible.builtin.command: - cmd: wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg + cmd: + - gpg + - --dearmor + - -o + - /usr/share/keyrings/hashicorp-archive-keyring.gpg + - "{{ d_hashicorp_tmp.path }}/gpg" - name: enable hasicorp repo for debian ansible.builtin.apt_repository: diff --git a/tasks/Debian/hugo.yml b/tasks/pkgs/Debian/hugo.yml similarity index 100% rename from tasks/Debian/hugo.yml rename to tasks/pkgs/Debian/hugo.yml diff --git a/tasks/Debian/jq.yml b/tasks/pkgs/Debian/jq.yml similarity index 100% rename from tasks/Debian/jq.yml rename to tasks/pkgs/Debian/jq.yml diff --git a/tasks/Debian/konsole.yml b/tasks/pkgs/Debian/konsole.yml similarity index 100% rename from tasks/Debian/konsole.yml rename to tasks/pkgs/Debian/konsole.yml diff --git a/tasks/RedHat/neovide.yml b/tasks/pkgs/Debian/neovide.yml similarity index 88% rename from tasks/RedHat/neovide.yml rename to tasks/pkgs/Debian/neovide.yml index 361d174..d80ceaa 100644 --- a/tasks/RedHat/neovide.yml +++ b/tasks/pkgs/Debian/neovide.yml @@ -16,4 +16,4 @@ when: ansible_architecture != "aarch64" set_fact: syspkgs: "{{ syspkgs + neovide_deps }}" - altpkgs: "{{ altpkgs + [ 'Linux/neovide.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'Linux/neovide.yml' ] }}" diff --git a/tasks/pkgs/Debian/neovim.yml b/tasks/pkgs/Debian/neovim.yml new file mode 100644 index 0000000..25fd5a0 --- /dev/null +++ b/tasks/pkgs/Debian/neovim.yml @@ -0,0 +1,16 @@ +--- +- 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 new file mode 100644 index 0000000..c813667 --- /dev/null +++ b/tasks/pkgs/Debian/nerdfonts.yml @@ -0,0 +1,4 @@ +--- +- name: append to pkgs + set_fact: + srcpkgs: "{{ srcpkgs + [ 'Linux/nerdfonts.yml' ] }}" diff --git a/tasks/Debian/nodejs.yml b/tasks/pkgs/Debian/nodejs.yml similarity index 100% rename from tasks/Debian/nodejs.yml rename to tasks/pkgs/Debian/nodejs.yml diff --git a/tasks/Debian/nomad.yml b/tasks/pkgs/Debian/nomad.yml similarity index 100% rename from tasks/Debian/nomad.yml rename to tasks/pkgs/Debian/nomad.yml diff --git a/tasks/RedHat/nushell.yml b/tasks/pkgs/Debian/nushell.yml similarity index 87% rename from tasks/RedHat/nushell.yml rename to tasks/pkgs/Debian/nushell.yml index e6a5088..3072a65 100644 --- a/tasks/RedHat/nushell.yml +++ b/tasks/pkgs/Debian/nushell.yml @@ -13,4 +13,4 @@ - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + nushell_pkgdeps }}" - altpkgs: "{{ altpkgs + nushell_altdeps }}" + srcpkgs: "{{ srcpkgs + nushell_altdeps }}" diff --git a/tasks/Debian/packer.yml b/tasks/pkgs/Debian/packer.yml similarity index 100% rename from tasks/Debian/packer.yml rename to tasks/pkgs/Debian/packer.yml diff --git a/tasks/Debian/pandoc.yml b/tasks/pkgs/Debian/pandoc.yml similarity index 100% rename from tasks/Debian/pandoc.yml rename to tasks/pkgs/Debian/pandoc.yml diff --git a/tasks/Debian/pipx.yml b/tasks/pkgs/Debian/pipx.yml similarity index 100% rename from tasks/Debian/pipx.yml rename to tasks/pkgs/Debian/pipx.yml diff --git a/tasks/Debian/python3-pip.yml b/tasks/pkgs/Debian/python3-pip.yml similarity index 100% rename from tasks/Debian/python3-pip.yml rename to tasks/pkgs/Debian/python3-pip.yml diff --git a/tasks/Debian/ripgrep.yml b/tasks/pkgs/Debian/ripgrep.yml similarity index 100% rename from tasks/Debian/ripgrep.yml rename to tasks/pkgs/Debian/ripgrep.yml diff --git a/tasks/Debian/rust.yml b/tasks/pkgs/Debian/rust.yml similarity index 100% rename from tasks/Debian/rust.yml rename to tasks/pkgs/Debian/rust.yml diff --git a/tasks/Debian/stow.yml b/tasks/pkgs/Debian/stow.yml similarity index 100% rename from tasks/Debian/stow.yml rename to tasks/pkgs/Debian/stow.yml diff --git a/tasks/Debian/terminal.yml b/tasks/pkgs/Debian/terminal.yml similarity index 100% rename from tasks/Debian/terminal.yml rename to tasks/pkgs/Debian/terminal.yml diff --git a/tasks/Debian/terraform.yml b/tasks/pkgs/Debian/terraform.yml similarity index 100% rename from tasks/Debian/terraform.yml rename to tasks/pkgs/Debian/terraform.yml diff --git a/tasks/Debian/tidy.yml b/tasks/pkgs/Debian/tidy.yml similarity index 100% rename from tasks/Debian/tidy.yml rename to tasks/pkgs/Debian/tidy.yml diff --git a/tasks/Debian/tmux.yml b/tasks/pkgs/Debian/tmux.yml similarity index 100% rename from tasks/Debian/tmux.yml rename to tasks/pkgs/Debian/tmux.yml diff --git a/tasks/Debian/vault.yml b/tasks/pkgs/Debian/vault.yml similarity index 100% rename from tasks/Debian/vault.yml rename to tasks/pkgs/Debian/vault.yml diff --git a/tasks/Debian/vivaldi.yml b/tasks/pkgs/Debian/vivaldi.yml similarity index 100% rename from tasks/Debian/vivaldi.yml rename to tasks/pkgs/Debian/vivaldi.yml diff --git a/tasks/Debian/zfs.yml b/tasks/pkgs/Debian/zfs.yml similarity index 100% rename from tasks/Debian/zfs.yml rename to tasks/pkgs/Debian/zfs.yml diff --git a/tasks/pkgs/Debian/zig.yml b/tasks/pkgs/Debian/zig.yml new file mode 100644 index 0000000..66fb53d --- /dev/null +++ b/tasks/pkgs/Debian/zig.yml @@ -0,0 +1,4 @@ +--- +- name: add zig to srcpkgs + ansible.builtin.set_fact: + srcpkgs: "{{ srcpkgs + [ 'zig' ] }}" diff --git a/tasks/Debian/zoxide.yml b/tasks/pkgs/Debian/zoxide.yml similarity index 100% rename from tasks/Debian/zoxide.yml rename to tasks/pkgs/Debian/zoxide.yml diff --git a/tasks/Debian/zsh.yml b/tasks/pkgs/Debian/zsh.yml similarity index 100% rename from tasks/Debian/zsh.yml rename to tasks/pkgs/Debian/zsh.yml diff --git a/tasks/RedHat/alacritty.yml b/tasks/pkgs/RedHat/alacritty.yml similarity index 76% rename from tasks/RedHat/alacritty.yml rename to tasks/pkgs/RedHat/alacritty.yml index bbd2003..3e71e72 100644 --- a/tasks/RedHat/alacritty.yml +++ b/tasks/pkgs/RedHat/alacritty.yml @@ -1,7 +1,7 @@ --- - name: install rust and cargo ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/rust.yml" + file: "pkgs/{{ ansible_os_family }}/rust.yml" tags: - rust - dependency @@ -19,7 +19,7 @@ - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + alacritty_deps }}" - altpkgs: "{{ altpkgs + [ 'Linux/alacritty.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'build/alacritty.yml' ] }}" tags: - syspkgs - - altpkgs + - srcpkgs diff --git a/tasks/RedHat/ansible.yml b/tasks/pkgs/RedHat/ansible.yml similarity index 100% rename from tasks/RedHat/ansible.yml rename to tasks/pkgs/RedHat/ansible.yml diff --git a/tasks/RedHat/btop.yml b/tasks/pkgs/RedHat/btop.yml similarity index 100% rename from tasks/RedHat/btop.yml rename to tasks/pkgs/RedHat/btop.yml diff --git a/tasks/RedHat/carapace.yml b/tasks/pkgs/RedHat/carapace.yml similarity index 88% rename from tasks/RedHat/carapace.yml rename to tasks/pkgs/RedHat/carapace.yml index d2d4822..88aaae2 100644 --- a/tasks/RedHat/carapace.yml +++ b/tasks/pkgs/RedHat/carapace.yml @@ -3,5 +3,5 @@ become: true ansible.builtin.dnf: name: "{{ _ghbase }}/carapace-sh/carapace-bin/releases/download/v{{ carapace_version }}/carapace-bin_{{ carapace_version }}_linux_amd64.rpm" - state: present + state: "{{ install_state }}" disable_gpg_check: true diff --git a/tasks/RedHat/cmake.yml b/tasks/pkgs/RedHat/cmake.yml similarity index 100% rename from tasks/RedHat/cmake.yml rename to tasks/pkgs/RedHat/cmake.yml diff --git a/tasks/RedHat/consul.yml b/tasks/pkgs/RedHat/consul.yml similarity index 72% rename from tasks/RedHat/consul.yml rename to tasks/pkgs/RedHat/consul.yml index 15d64cb..0dbc1f9 100644 --- a/tasks/RedHat/consul.yml +++ b/tasks/pkgs/RedHat/consul.yml @@ -1,7 +1,7 @@ --- - name: ensure hashicorp repo is active ansible.builtin.include_tasks: - file: "{{ ansible_os_family }}/hashicorp_repo.yml" + file: "pkgs/{{ ansible_os_family }}/hashicorp_repo.yml" - name: append to pkgs set_fact: diff --git a/tasks/RedHat/editorconfig.yml b/tasks/pkgs/RedHat/editorconfig.yml similarity index 100% rename from tasks/RedHat/editorconfig.yml rename to tasks/pkgs/RedHat/editorconfig.yml diff --git a/tasks/RedHat/firefox.yml b/tasks/pkgs/RedHat/firefox.yml similarity index 100% rename from tasks/RedHat/firefox.yml rename to tasks/pkgs/RedHat/firefox.yml diff --git a/tasks/RedHat/fzf.yml b/tasks/pkgs/RedHat/fzf.yml similarity index 100% rename from tasks/RedHat/fzf.yml rename to tasks/pkgs/RedHat/fzf.yml diff --git a/tasks/RedHat/ghostty.yml b/tasks/pkgs/RedHat/ghostty.yml similarity index 80% rename from tasks/RedHat/ghostty.yml rename to tasks/pkgs/RedHat/ghostty.yml index 11753ce..f6da813 100644 --- a/tasks/RedHat/ghostty.yml +++ b/tasks/pkgs/RedHat/ghostty.yml @@ -1,7 +1,7 @@ --- - name: ensure dependencies ansible.builtin.include_tasks: - file: packages/RedHat/terra_repo.yml + file: "pkgs/{{ ansible_os_family }}/terra_repo.yml" tags: - dependency - package diff --git a/tasks/RedHat/git.yml b/tasks/pkgs/RedHat/git.yml similarity index 100% rename from tasks/RedHat/git.yml rename to tasks/pkgs/RedHat/git.yml diff --git a/tasks/pkgs/RedHat/go.yml b/tasks/pkgs/RedHat/go.yml new file mode 100644 index 0000000..18c6cb8 --- /dev/null +++ b/tasks/pkgs/RedHat/go.yml @@ -0,0 +1,4 @@ +--- +- name: append to pkgs + set_fact: + srcpkgs: "{{ srcpkgs + [ 'build/go.yml' ] }}" diff --git a/tasks/RedHat/hashicorp_repo.yml b/tasks/pkgs/RedHat/hashicorp_repo.yml similarity index 100% rename from tasks/RedHat/hashicorp_repo.yml rename to tasks/pkgs/RedHat/hashicorp_repo.yml diff --git a/tasks/RedHat/hugo.yml b/tasks/pkgs/RedHat/hugo.yml similarity index 100% rename from tasks/RedHat/hugo.yml rename to tasks/pkgs/RedHat/hugo.yml diff --git a/tasks/RedHat/jq.yml b/tasks/pkgs/RedHat/jq.yml similarity index 100% rename from tasks/RedHat/jq.yml rename to tasks/pkgs/RedHat/jq.yml diff --git a/tasks/RedHat/konsole.yml b/tasks/pkgs/RedHat/konsole.yml similarity index 100% rename from tasks/RedHat/konsole.yml rename to tasks/pkgs/RedHat/konsole.yml diff --git a/tasks/Debian/neovide.yml b/tasks/pkgs/RedHat/neovide.yml similarity index 78% rename from tasks/Debian/neovide.yml rename to tasks/pkgs/RedHat/neovide.yml index 361d174..f8cdaea 100644 --- a/tasks/Debian/neovide.yml +++ b/tasks/pkgs/RedHat/neovide.yml @@ -13,7 +13,6 @@ - "@Development Libraries" - name: append to pkgs - when: ansible_architecture != "aarch64" set_fact: syspkgs: "{{ syspkgs + neovide_deps }}" - altpkgs: "{{ altpkgs + [ 'Linux/neovide.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'build/neovide.yml' ] }}" diff --git a/tasks/pkgs/RedHat/neovim.yml b/tasks/pkgs/RedHat/neovim.yml new file mode 100644 index 0000000..c297a77 --- /dev/null +++ b/tasks/pkgs/RedHat/neovim.yml @@ -0,0 +1,20 @@ +--- +- name: add build deps + set_fact: + neovim_deps: + - ninja-build + - cmake + - gcc + - make + - gettext + - curl + - glibc-gconv-extra +- set_fact: + syspkgs: "{{ syspkgs + neovim_deps }}" + +- name: append to srcpkgs + set_fact: + srcpkgs: "{{ srcpkgs + ['neovim'] }}" + tags: + - RedHat + - srcpkg diff --git a/tasks/pkgs/RedHat/nerdfonts.yml b/tasks/pkgs/RedHat/nerdfonts.yml new file mode 100644 index 0000000..c813667 --- /dev/null +++ b/tasks/pkgs/RedHat/nerdfonts.yml @@ -0,0 +1,4 @@ +--- +- name: append to pkgs + set_fact: + srcpkgs: "{{ srcpkgs + [ 'Linux/nerdfonts.yml' ] }}" diff --git a/tasks/RedHat/nodejs.yml b/tasks/pkgs/RedHat/nodejs.yml similarity index 100% rename from tasks/RedHat/nodejs.yml rename to tasks/pkgs/RedHat/nodejs.yml diff --git a/tasks/RedHat/nomad.yml b/tasks/pkgs/RedHat/nomad.yml similarity index 100% rename from tasks/RedHat/nomad.yml rename to tasks/pkgs/RedHat/nomad.yml diff --git a/tasks/Debian/nushell.yml b/tasks/pkgs/RedHat/nushell.yml similarity index 87% rename from tasks/Debian/nushell.yml rename to tasks/pkgs/RedHat/nushell.yml index e6a5088..3072a65 100644 --- a/tasks/Debian/nushell.yml +++ b/tasks/pkgs/RedHat/nushell.yml @@ -13,4 +13,4 @@ - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + nushell_pkgdeps }}" - altpkgs: "{{ altpkgs + nushell_altdeps }}" + srcpkgs: "{{ srcpkgs + nushell_altdeps }}" diff --git a/tasks/RedHat/packer.yml b/tasks/pkgs/RedHat/packer.yml similarity index 100% rename from tasks/RedHat/packer.yml rename to tasks/pkgs/RedHat/packer.yml diff --git a/tasks/RedHat/pandoc.yml b/tasks/pkgs/RedHat/pandoc.yml similarity index 100% rename from tasks/RedHat/pandoc.yml rename to tasks/pkgs/RedHat/pandoc.yml diff --git a/tasks/RedHat/pipx.yml b/tasks/pkgs/RedHat/pipx.yml similarity index 100% rename from tasks/RedHat/pipx.yml rename to tasks/pkgs/RedHat/pipx.yml diff --git a/tasks/RedHat/python3-pip.yml b/tasks/pkgs/RedHat/python3-pip.yml similarity index 100% rename from tasks/RedHat/python3-pip.yml rename to tasks/pkgs/RedHat/python3-pip.yml diff --git a/tasks/RedHat/ripgrep.yml b/tasks/pkgs/RedHat/ripgrep.yml similarity index 100% rename from tasks/RedHat/ripgrep.yml rename to tasks/pkgs/RedHat/ripgrep.yml diff --git a/tasks/RedHat/rust.yml b/tasks/pkgs/RedHat/rust.yml similarity index 100% rename from tasks/RedHat/rust.yml rename to tasks/pkgs/RedHat/rust.yml diff --git a/tasks/RedHat/stow.yml b/tasks/pkgs/RedHat/stow.yml similarity index 100% rename from tasks/RedHat/stow.yml rename to tasks/pkgs/RedHat/stow.yml diff --git a/tasks/RedHat/terra_repo.yml b/tasks/pkgs/RedHat/terra_repo.yml similarity index 100% rename from tasks/RedHat/terra_repo.yml rename to tasks/pkgs/RedHat/terra_repo.yml diff --git a/tasks/RedHat/terraform.yml b/tasks/pkgs/RedHat/terraform.yml similarity index 100% rename from tasks/RedHat/terraform.yml rename to tasks/pkgs/RedHat/terraform.yml diff --git a/tasks/RedHat/tidy.yml b/tasks/pkgs/RedHat/tidy.yml similarity index 100% rename from tasks/RedHat/tidy.yml rename to tasks/pkgs/RedHat/tidy.yml diff --git a/tasks/RedHat/tmux.yml b/tasks/pkgs/RedHat/tmux.yml similarity index 100% rename from tasks/RedHat/tmux.yml rename to tasks/pkgs/RedHat/tmux.yml diff --git a/tasks/RedHat/vault.yml b/tasks/pkgs/RedHat/vault.yml similarity index 100% rename from tasks/RedHat/vault.yml rename to tasks/pkgs/RedHat/vault.yml diff --git a/tasks/RedHat/zfs.yml b/tasks/pkgs/RedHat/zfs.yml similarity index 100% rename from tasks/RedHat/zfs.yml rename to tasks/pkgs/RedHat/zfs.yml diff --git a/tasks/RedHat/zoxide.yml b/tasks/pkgs/RedHat/zoxide.yml similarity index 100% rename from tasks/RedHat/zoxide.yml rename to tasks/pkgs/RedHat/zoxide.yml diff --git a/vars/alacritty.yml b/vars/alacritty.yml new file mode 100644 index 0000000..0393897 --- /dev/null +++ b/vars/alacritty.yml @@ -0,0 +1,2 @@ +--- +version: 0.15.0 diff --git a/vars/carapace.yml b/vars/carapace.yml new file mode 100644 index 0000000..25bb8a3 --- /dev/null +++ b/vars/carapace.yml @@ -0,0 +1,3 @@ +--- +_carapace: + version: 1.1.1 diff --git a/vars/go.yml b/vars/go.yml new file mode 100644 index 0000000..2518273 --- /dev/null +++ b/vars/go.yml @@ -0,0 +1,13 @@ +--- +version: 1.23.5 +install_path: /usr/local +archmap: + aarch64: arm64 + x86_64: amd64 +1.23.5: + Darwin: + arm64: sha256:f819ed94939e08a5016b9a607ec84ebbde6cb3fe59750c59d97aa300c3fd02df + amd64: sha256:d2b06bf0b8299e0187dfe2d8ad39bd3dd96a6d93fe4d1cfd42c7872452f4a0a2 + Linux: + amd64: sha256:cbcad4a6482107c7c7926df1608106c189417163428200ce357695cc7e01d091 + arm64: sha256:47c84d332123883653b70da2db7dd57d2a865921ba4724efcdf56b5da7021db0 diff --git a/vars/main.yml b/vars/main.yml index 5590d3d..bec2495 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,48 +1,9 @@ # variables used in ansible_role_package --- -nerdfonts: - - name: CascadiaCode - brew: caskaydia-cove - - name: FiraCode - brew: fira-code - - name: Hasklig - brew: hasklug - - name: Lilex - brew: lilex - - name: Monoid - brew: monoid - - name: NerdFontsSymbolsOnly - brew: symbols-only -nerdfonts_system_install: false packages: [] syspkgs: [] -altpkgs: [] +srcpkgs: [] +caskpkgs: [] install_state: present full_upgrade: false _ghbase: "https://github.com" -# version of packages to install when altpkgs -versions: - - alacritty: 0.15.0 - - carapace: 1.1.1 - - go: 1.23.5 - - neovim: v0.10.3 - - zig: 0.13.0 -_go: - install_path: /usr/local - archmap: - aarch64: arm64 - x86_64: amd64 - 1.23.5: - Darwin: - arm64: sha256:f819ed94939e08a5016b9a607ec84ebbde6cb3fe59750c59d97aa300c3fd02df - amd64: sha256:d2b06bf0b8299e0187dfe2d8ad39bd3dd96a6d93fe4d1cfd42c7872452f4a0a2 - Linux: - amd64: sha256:cbcad4a6482107c7c7926df1608106c189417163428200ce357695cc7e01d091 - arm64: sha256:47c84d332123883653b70da2db7dd57d2a865921ba4724efcdf56b5da7021db0 -_neovide: - install_prefix: /usr/local -_nushell: - install_prefix: /usr/local -_zig: - install_path: /usr/local - base_url: https://ziglang.org/download diff --git a/vars/neovide.yml b/vars/neovide.yml new file mode 100644 index 0000000..1d8420e --- /dev/null +++ b/vars/neovide.yml @@ -0,0 +1,3 @@ +--- +version: 0.14.0 +install_prefix: /usr/local diff --git a/vars/neovim.yml b/vars/neovim.yml new file mode 100644 index 0000000..b946dd6 --- /dev/null +++ b/vars/neovim.yml @@ -0,0 +1,5 @@ +--- +git_repo: https://github.com/neovim/neovim.git +version: 0.10.3 +build_type: Release +install_prefix: /usr/local diff --git a/vars/nerdfonts.yml b/vars/nerdfonts.yml new file mode 100644 index 0000000..16d56f4 --- /dev/null +++ b/vars/nerdfonts.yml @@ -0,0 +1,16 @@ +--- +nerdfonts: + - name: CascadiaCode + brew: caskaydia-cove + - name: FiraCode + brew: fira-code + - name: Hasklig + brew: hasklug + - name: Lilex + brew: lilex + - name: Monoid + brew: monoid + - name: NerdFontsSymbolsOnly + brew: symbols-only +nerdfonts_system_install: false + diff --git a/vars/nushell.yml b/vars/nushell.yml new file mode 100644 index 0000000..3f2c102 --- /dev/null +++ b/vars/nushell.yml @@ -0,0 +1,4 @@ +--- +_nushell: + install_prefix: /usr/local + diff --git a/vars/zig.yml b/vars/zig.yml new file mode 100644 index 0000000..b5f59f6 --- /dev/null +++ b/vars/zig.yml @@ -0,0 +1,5 @@ +--- +_zig: + version: 0.13.0 + install_path: /usr/local + base_url: https://ziglang.org/download