diff --git a/tasks/build/alacritty.yml b/tasks/build/alacritty.yml index 9d6d5c9..d691803 100644 --- a/tasks/build/alacritty.yml +++ b/tasks/build/alacritty.yml @@ -1,8 +1,4 @@ --- -- ansible.builtin.include_vars: - file: alacritty.yml - name: _alacritty - - name: build and install alacritty become: true ansible.builtin.command: diff --git a/tasks/build/ghostty.yml b/tasks/build/ghostty.yml new file mode 100644 index 0000000..cd21505 --- /dev/null +++ b/tasks/build/ghostty.yml @@ -0,0 +1,2 @@ +--- + diff --git a/tasks/build/nerdfonts.yml b/tasks/build/nerdfonts.yml index 3390387..1ef0817 100644 --- a/tasks/build/nerdfonts.yml +++ b/tasks/build/nerdfonts.yml @@ -1,33 +1,36 @@ # Install nerdfonts for each platform --- -- name: set install path for non-system installs - ansible.builtin.set_fact: - nerdfont_install_path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts" - when: not nerdfonts_system_install - -- name: set install path for system wide installs - ansible.builtin.set_fact: - nerdfont_install_path: "/usr/local/share/fonts" - when: nerdfonts_system_install - -- name: create nerdfonts directories - ansible.builtin.file: - path: "{{ nerdfonts_install_path }}/{{ font.name }}" - state: directory - become: nerdfonts_system_install - loop: "{{ nerdfonts }}" - loop_control: - loop_var: font - register: nerdfont_result - -- name: Download and extract nerdfonts - ansible.builtin.unarchive: - creates: "{{ nerdfont_install_path }}/{{ font.name }}/README.md" - src: "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ font.name }}.tar.xz" - dest: "{{ nerdfont_install_path }}/{{ font.name }}" - remote_src: true - when: nerdfont_result is changed - become: nerdfonts_system_install - loop: "{{ nerdfonts }}" - loop_control: - loop_var: font +- name: linux installation + when: ansible_system == 'Linux' + block: + - name: set install path for non-system installs + ansible.builtin.set_fact: + nerdfonts_install_path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts" + when: not _nerdfonts.nerdfonts_system_install + + - name: set install path for system wide installs + ansible.builtin.set_fact: + nerdfonts_install_path: "/usr/local/share/fonts" + when: _nerdfonts.nerdfonts_system_install + + - name: create nerdfonts directories + ansible.builtin.file: + path: "{{ nerdfonts_install_path }}/{{ font.name }}" + state: directory + become: "{{ _nerdfonts.nerdfonts_system_install }}" + loop: "{{ nerdfonts }}" + loop_control: + loop_var: font + register: nerdfont_result + + - name: Download and extract nerdfonts + ansible.builtin.unarchive: + creates: "{{ nerdfonts_install_path }}/{{ font.name }}/README.md" + src: "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ font.name }}.tar.xz" + dest: "{{ nerdfonts_install_path }}/{{ font.name }}" + remote_src: true + when: nerdfont_result is changed + become: nerdfonts_system_install + loop: "{{ _nerdfonts.fonts }}" + loop_control: + loop_var: font diff --git a/tasks/pkgs/Darwin/alacritty.yml b/tasks/pkgs/Darwin/alacritty.yml deleted file mode 100644 index bf95a48..0000000 --- a/tasks/pkgs/Darwin/alacritty.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append alacritty to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'alacritty' ] }}" - tags: - - MacOS - - brew - - package diff --git a/tasks/pkgs/Darwin/ansible.yml b/tasks/pkgs/Darwin/ansible.yml deleted file mode 100644 index 7444799..0000000 --- a/tasks/pkgs/Darwin/ansible.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append ansible to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'ansible' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/btop.yml b/tasks/pkgs/Darwin/btop.yml deleted file mode 100644 index d9dc746..0000000 --- a/tasks/pkgs/Darwin/btop.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append btop to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'btop' ]}}" - tags: - - MacOS - - brew - - package diff --git a/tasks/pkgs/Darwin/carapace.yml b/tasks/pkgs/Darwin/carapace.yml deleted file mode 100644 index a71db6a..0000000 --- a/tasks/pkgs/Darwin/carapace.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- ansible.builtin.include_vars: - file: carapace.yml - name: _carapace - -- name: append carapace to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'carapace' ] }}" - tags: - - MacOS - - homebrew - - package - - nushell diff --git a/tasks/pkgs/Darwin/cmake.yml b/tasks/pkgs/Darwin/cmake.yml deleted file mode 100644 index b532339..0000000 --- a/tasks/pkgs/Darwin/cmake.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append cmake to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'homebrew/cask/cmake' ] }}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/editorconfig.yml b/tasks/pkgs/Darwin/editorconfig.yml deleted file mode 100644 index 9792733..0000000 --- a/tasks/pkgs/Darwin/editorconfig.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append editorconfig to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'editorconfig' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/firefox.yml b/tasks/pkgs/Darwin/firefox.yml deleted file mode 100644 index 5143070..0000000 --- a/tasks/pkgs/Darwin/firefox.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: append firefox to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'firefox' ] }}" - tags: - - packages - - MacOS - - homebrew - - web diff --git a/tasks/pkgs/Darwin/fzf.yml b/tasks/pkgs/Darwin/fzf.yml deleted file mode 100644 index b2ec942..0000000 --- a/tasks/pkgs/Darwin/fzf.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append fzf to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'fzf' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/ghostty.yml b/tasks/pkgs/Darwin/ghostty.yml deleted file mode 100644 index 2e4611f..0000000 --- a/tasks/pkgs/Darwin/ghostty.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: append ghostty to caskpkgs - set_fact: - caskpkgs: "{{ caskpkgs + [ 'ghostty' ] }}" - tags: - - MacOS - - brew - - package - - terminal diff --git a/tasks/pkgs/Darwin/git.yml b/tasks/pkgs/Darwin/git.yml deleted file mode 100644 index 549bded..0000000 --- a/tasks/pkgs/Darwin/git.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: set git_pkgs - set_fact: - git_pkgs: - - git - - git-delta - - git-extras - - git-lfs - tags: - - MacOS - - homebrew - - package - -- name: append git to syspkgs - set_fact: - syspkgs: "{{ syspkgs + git_pkgs }}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Darwin/hugo.yml b/tasks/pkgs/Darwin/hugo.yml deleted file mode 100644 index 9281c25..0000000 --- a/tasks/pkgs/Darwin/hugo.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append hugo to syspkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'hugo' ]}}" - tags: - - MacOS - - homebrew - - package diff --git a/tasks/pkgs/Debian/alacritty.yml b/tasks/pkgs/Debian/alacritty.yml deleted file mode 100644 index 7d99e70..0000000 --- a/tasks/pkgs/Debian/alacritty.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: install rust and cargo - ansible.builtin.include_tasks: - file: "pkgs/{{ ansible_os_family }}/rust.yml" - tags: - - rust - - dependency - -- name: install alacritty dependencies for Debian based distributions - ansible.builtin.set_fact: - alacritty_deps: - - cmake - - pkg-config - - libfreetype6-dev - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - -- name: add to pkgs - ansible.builtin.set_fact: - syspkgs: "{{ syspkgs + alacritty_deps }}" - srcpkgs: "{{ srcpkgs + ['build/alacritty.yml'] }}" diff --git a/tasks/pkgs/Debian/ansible.yml b/tasks/pkgs/Debian/ansible.yml deleted file mode 100644 index 34d8bba..0000000 --- a/tasks/pkgs/Debian/ansible.yml +++ /dev/null @@ -1,7 +0,0 @@ -# Install ansible for current platform ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ (syspkgs + [ 'ansible' ] }}" - diff --git a/tasks/pkgs/Debian/carapace.yml b/tasks/pkgs/Debian/carapace.yml deleted file mode 100644 index c213f5b..0000000 --- a/tasks/pkgs/Debian/carapace.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: enable carapace repository - become: true - ansible.builtin.apt_repository: - repo: "deb [trusted=yes] https://apt.fury.io/rsteube/ /" - state: present - update_cache: false - -- name: add carapace to syspkgs - ansible.builtin.set_fact: - syspkgs: "{{ syspkgs + [ 'carapace-bin' ] }}" diff --git a/tasks/pkgs/Debian/consul.yml b/tasks/pkgs/Debian/consul.yml deleted file mode 100644 index 15d64cb..0000000 --- a/tasks/pkgs/Debian/consul.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 + [ 'consul' ] }}" - diff --git a/tasks/pkgs/Debian/firefox.yml b/tasks/pkgs/Debian/firefox.yml deleted file mode 100644 index 0ead138..0000000 --- a/tasks/pkgs/Debian/firefox.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'firefox' ] }}" - tags: - - packages - - RedHat - - web diff --git a/tasks/pkgs/Debian/fzf.yml b/tasks/pkgs/Debian/fzf.yml deleted file mode 100644 index a68a047..0000000 --- a/tasks/pkgs/Debian/fzf.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'fzf' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/ghostty.yml b/tasks/pkgs/Debian/ghostty.yml deleted file mode 100644 index 11753ce..0000000 --- a/tasks/pkgs/Debian/ghostty.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: ensure dependencies - ansible.builtin.include_tasks: - file: packages/RedHat/terra_repo.yml - tags: - - dependency - - package - - terra - - syspkgs - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'ghostty' ] }}" - tags: - - syspkgs diff --git a/tasks/pkgs/Debian/git.yml b/tasks/pkgs/Debian/git.yml deleted file mode 100644 index 8634f42..0000000 --- a/tasks/pkgs/Debian/git.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/Debian/go.yml b/tasks/pkgs/Debian/go.yml deleted file mode 100644 index 18c6cb8..0000000 --- a/tasks/pkgs/Debian/go.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to pkgs - set_fact: - srcpkgs: "{{ srcpkgs + [ 'build/go.yml' ] }}" diff --git a/tasks/pkgs/Debian/hashicorp_repo.yml b/tasks/pkgs/Debian/hashicorp_repo.yml deleted file mode 100644 index a514e79..0000000 --- a/tasks/pkgs/Debian/hashicorp_repo.yml +++ /dev/null @@ -1,27 +0,0 @@ -# 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: - - 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: - repo: "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main" - state: present - update_cache: false diff --git a/tasks/pkgs/Debian/konsole.yml b/tasks/pkgs/Debian/konsole.yml deleted file mode 100644 index d19b56d..0000000 --- a/tasks/pkgs/Debian/konsole.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'konsole' ] }}" - tags: - - RedHat - - linux - - package diff --git a/tasks/pkgs/Debian/nerdfonts.yml b/tasks/pkgs/Debian/nerdfonts.yml index c813667..7f4efba 100644 --- a/tasks/pkgs/Debian/nerdfonts.yml +++ b/tasks/pkgs/Debian/nerdfonts.yml @@ -1,4 +1,4 @@ --- -- name: append to pkgs +- name: append to srcpkgs set_fact: - srcpkgs: "{{ srcpkgs + [ 'Linux/nerdfonts.yml' ] }}" + srcpkgs: "{{ srcpkgs + [ 'nerdfonts' ] }}" diff --git a/tasks/pkgs/RedHat/alacritty.yml b/tasks/pkgs/RedHat/alacritty.yml deleted file mode 100644 index 3e71e72..0000000 --- a/tasks/pkgs/RedHat/alacritty.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: install rust and cargo - ansible.builtin.include_tasks: - file: "pkgs/{{ ansible_os_family }}/rust.yml" - tags: - - rust - - dependency - -- name: set alacritty pkg deps - set_fact: - alacritty_deps: - - cmake - - freetype-devel - - fontconfig-devel - - libxcb-devel - - libxkbcommon-devel - - g++ - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + alacritty_deps }}" - srcpkgs: "{{ srcpkgs + [ 'build/alacritty.yml' ] }}" - tags: - - syspkgs - - srcpkgs diff --git a/tasks/pkgs/RedHat/btop.yml b/tasks/pkgs/RedHat/btop.yml deleted file mode 100644 index 571f07f..0000000 --- a/tasks/pkgs/RedHat/btop.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'btop' ] }}" - diff --git a/tasks/pkgs/RedHat/carapace.yml b/tasks/pkgs/RedHat/carapace.yml deleted file mode 100644 index 15a9f42..0000000 --- a/tasks/pkgs/RedHat/carapace.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- ansible.builtin.include_vars: - file: carapace.yml - name: _carapace - -- name: install carapace RPM - become: true - ansible.builtin.dnf: - name: "{{ _ghbase }}/carapace-sh/carapace-bin/releases/download/v{{ _carapace.version }}/carapace-bin_{{ _carapace.version }}_linux_amd64.rpm" - state: "{{ install_state }}" - disable_gpg_check: true diff --git a/tasks/pkgs/RedHat/cmake.yml b/tasks/pkgs/RedHat/cmake.yml deleted file mode 100644 index 02dda2b..0000000 --- a/tasks/pkgs/RedHat/cmake.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'cmake' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/RedHat/consul.yml b/tasks/pkgs/RedHat/consul.yml deleted file mode 100644 index 0dbc1f9..0000000 --- a/tasks/pkgs/RedHat/consul.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: ensure hashicorp repo is active - ansible.builtin.include_tasks: - file: "pkgs/{{ ansible_os_family }}/hashicorp_repo.yml" - -- name: append to pkgs - set_fact: - syspkgs: "{{ (syspkgs + [ 'consul' ] }}" - diff --git a/tasks/pkgs/RedHat/editorconfig.yml b/tasks/pkgs/RedHat/editorconfig.yml deleted file mode 100644 index b5e2623..0000000 --- a/tasks/pkgs/RedHat/editorconfig.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'editorconfig' ] }}" - tags: - - RedHat - - linux - - package diff --git a/tasks/pkgs/RedHat/firefox.yml b/tasks/pkgs/RedHat/firefox.yml deleted file mode 100644 index 0ead138..0000000 --- a/tasks/pkgs/RedHat/firefox.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'firefox' ] }}" - tags: - - packages - - RedHat - - web diff --git a/tasks/pkgs/RedHat/ghostty.yml b/tasks/pkgs/RedHat/ghostty.yml deleted file mode 100644 index f6da813..0000000 --- a/tasks/pkgs/RedHat/ghostty.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: ensure dependencies - ansible.builtin.include_tasks: - file: "pkgs/{{ ansible_os_family }}/terra_repo.yml" - tags: - - dependency - - package - - terra - - syspkgs - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'ghostty' ] }}" - tags: - - syspkgs diff --git a/tasks/pkgs/RedHat/git.yml b/tasks/pkgs/RedHat/git.yml deleted file mode 100644 index 8634f42..0000000 --- a/tasks/pkgs/RedHat/git.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'git', 'git-delta', 'git-email', 'git-lfs' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/RedHat/go.yml b/tasks/pkgs/RedHat/go.yml deleted file mode 100644 index 18c6cb8..0000000 --- a/tasks/pkgs/RedHat/go.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to pkgs - set_fact: - srcpkgs: "{{ srcpkgs + [ 'build/go.yml' ] }}" diff --git a/tasks/pkgs/RedHat/hashicorp_repo.yml b/tasks/pkgs/RedHat/hashicorp_repo.yml deleted file mode 100644 index 611369a..0000000 --- a/tasks/pkgs/RedHat/hashicorp_repo.yml +++ /dev/null @@ -1,27 +0,0 @@ -# install hashicorp vault for RedHat ---- -- name: enable hashicorp repo for fedora >=41 - become: true - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int >= 41 - ansible.builtin.command: - creates: /etc/yum.repos.d/hashicorp.repo - cmd: dnf config-manager addrepo --from-repofile=https://rpm.releases.hashicorp.com/fedora/hashicorp.repo - -- name: enable hashicorp repo for fedora <41 - become: true - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int < 41 - ansible.builtin.command: - creates: /etc/yum.repos.d/hashicorp.repo - cmd: dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo - -- name: enable hashicorp repo for RHEL like distribution - become: true - when: - - ansible_distribution != 'Fedora' - ansible.builtin.command: - creates: /etc/yum.repos.d/hashicorp.repo - cmd: dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo diff --git a/tasks/pkgs/RedHat/hugo.yml b/tasks/pkgs/RedHat/hugo.yml deleted file mode 100644 index 764cfa5..0000000 --- a/tasks/pkgs/RedHat/hugo.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'hugo' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/RedHat/jq.yml b/tasks/pkgs/RedHat/jq.yml deleted file mode 100644 index 9a38d88..0000000 --- a/tasks/pkgs/RedHat/jq.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'jq' ] }}" - tags: - - RedHat - - linux - - package - diff --git a/tasks/pkgs/RedHat/kitty.yml b/tasks/pkgs/RedHat/kitty.yml deleted file mode 100644 index ca1fa72..0000000 --- a/tasks/pkgs/RedHat/kitty.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: add to syspkgs - ansible.builtin.set_fact: - syspkgs: "{{ (syspkgs | default([])) + ['kitty', 'kitty-shell-integration'] }}" diff --git a/tasks/pkgs/RedHat/konsole.yml b/tasks/pkgs/RedHat/konsole.yml deleted file mode 100644 index d19b56d..0000000 --- a/tasks/pkgs/RedHat/konsole.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- - -- name: append to pkgs - set_fact: - syspkgs: "{{ syspkgs + [ 'konsole' ] }}" - tags: - - RedHat - - linux - - package diff --git a/tasks/pkgs/RedHat/neovide.yml b/tasks/pkgs/RedHat/neovide.yml deleted file mode 100644 index f8cdaea..0000000 --- a/tasks/pkgs/RedHat/neovide.yml +++ /dev/null @@ -1,18 +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 - set_fact: - syspkgs: "{{ syspkgs + neovide_deps }}" - srcpkgs: "{{ srcpkgs + [ 'build/neovide.yml' ] }}" diff --git a/tasks/pkgs/RedHat/neovim.yml b/tasks/pkgs/RedHat/neovim.yml deleted file mode 100644 index c297a77..0000000 --- a/tasks/pkgs/RedHat/neovim.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- 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 deleted file mode 100644 index c813667..0000000 --- a/tasks/pkgs/RedHat/nerdfonts.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: append to pkgs - set_fact: - srcpkgs: "{{ srcpkgs + [ 'Linux/nerdfonts.yml' ] }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml new file mode 100644 index 0000000..b617e77 --- /dev/null +++ b/tasks/pkgs/alacritty.yml @@ -0,0 +1,31 @@ +--- +- ansible.builtin.include_vars: + file: alacritty.yml + name: _alacritty + +- name: linux based installation + when: ansible_system == 'Linux' + block: + - name: install rust and cargo + ansible.builtin.include_tasks: + file: "pkgs/{{ ansible_os_family }}/rust.yml" + tags: + - rust + - dependency + + - name: append to pkgs + set_fact: + syspkgs: "{{ syspkgs + _alacritty[ansible_distribution].build_deps }}" + srcpkgs: "{{ srcpkgs + [ 'build/alacritty.yml' ] }}" + tags: + - syspkgs + - srcpkgs + +- name: append alacritty to caskpkgs + set_fact: + caskpkgs: "{{ caskpkgs + [ 'alacritty' ] }}" + when: ansible_system == 'Darwin' + tags: + - MacOS + - brew + - package diff --git a/tasks/pkgs/RedHat/ansible.yml b/tasks/pkgs/ansible.yml similarity index 100% rename from tasks/pkgs/RedHat/ansible.yml rename to tasks/pkgs/ansible.yml diff --git a/tasks/pkgs/Debian/btop.yml b/tasks/pkgs/btop.yml similarity index 100% rename from tasks/pkgs/Debian/btop.yml rename to tasks/pkgs/btop.yml diff --git a/tasks/pkgs/carapace.yml b/tasks/pkgs/carapace.yml new file mode 100644 index 0000000..5ce2639 --- /dev/null +++ b/tasks/pkgs/carapace.yml @@ -0,0 +1,26 @@ +--- +- ansible.builtin.include_vars: + file: carapace.yml + name: _carapace + +- name: install carapace RPM + ansible.builtin.yum_repository: + name: Gemfury Private Repo + baseurl: https://yum.fury.io/rsteube/ + enabled: true + gpgcheck: false + state: present + when: ansible_os_familiy == 'RedHat' + become: true + +- name: enable carapace repository + become: true + ansible.builtin.apt_repository: + repo: "deb [trusted=yes] https://apt.fury.io/rsteube/ /" + state: present + update_cache: false + when: ansible_os_family == 'Debian' + +- name: add carapace to syspkgs + ansible.builtin.set_fact: + syspkgs: "{{ syspkgs + [ 'carapace-bin' ] }}" diff --git a/tasks/pkgs/Debian/cmake.yml b/tasks/pkgs/cmake.yml similarity index 100% rename from tasks/pkgs/Debian/cmake.yml rename to tasks/pkgs/cmake.yml diff --git a/tasks/pkgs/consul.yml b/tasks/pkgs/consul.yml new file mode 100644 index 0000000..a6ac3ff --- /dev/null +++ b/tasks/pkgs/consul.yml @@ -0,0 +1,13 @@ +--- +- ansible.builtin.include_vars: + file: consul.yml + name: _consul + +- name: ensure hashicorp repo is active + ansible.builtin.include_tasks: + file: "pkgs/hashicorp_repo.yml" + +- name: append to pkgs + set_fact: + syspkgs: "{{ syspkgs + [ _consul[ansible_os_family].pkg ] }}" + diff --git a/tasks/pkgs/Debian/editorconfig.yml b/tasks/pkgs/editorconfig.yml similarity index 100% rename from tasks/pkgs/Debian/editorconfig.yml rename to tasks/pkgs/editorconfig.yml diff --git a/tasks/pkgs/firefox.yml b/tasks/pkgs/firefox.yml new file mode 100644 index 0000000..5d595a0 --- /dev/null +++ b/tasks/pkgs/firefox.yml @@ -0,0 +1,14 @@ +--- +- name: append to pkgs + when: ansible_os_family != 'Darwin' + set_fact: + syspkgs: "{{ syspkgs + [ 'firefox' ] }}" + tags: + - packages + +- name: append to caskpkgs + when: ansible_os_family == 'Darwin' + set_fact: + caskpkgs: "{{ caskpkgs + [ 'firefox' ] }}" + tags: + - packages diff --git a/tasks/pkgs/RedHat/fzf.yml b/tasks/pkgs/fzf.yml similarity index 99% rename from tasks/pkgs/RedHat/fzf.yml rename to tasks/pkgs/fzf.yml index a68a047..68e703d 100644 --- a/tasks/pkgs/RedHat/fzf.yml +++ b/tasks/pkgs/fzf.yml @@ -1,5 +1,4 @@ --- - - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'fzf' ] }}" diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml new file mode 100644 index 0000000..ff5bc20 --- /dev/null +++ b/tasks/pkgs/ghostty.yml @@ -0,0 +1,34 @@ +--- +- name: ensure dependencies + when: ansible_distribution == 'Fedora' + block: + - ansible.builtin.include_tasks: + file: "pkgs/terra_repo.yml" + tags: + - dependency + - package + - terra + - syspkgs + + - name: append to pkgs + set_fact: + syspkgs: "{{ syspkgs + [ 'ghostty' ] }}" + tags: + - syspkgs + +- name: no ghostty for this system + when: + - ansible_distribution != 'Fedora' + - ansible_system == 'Linux' + debug: + msg: ghostty cannot be installed this way for your distribution + +- name: append ghostty to caskpkgs + when: ansible_distribution == 'MacOSX' + set_fact: + caskpkgs: "{{ caskpkgs + [ 'ghostty' ] }}" + tags: + - MacOS + - brew + - package + - terminal diff --git a/tasks/pkgs/git.yml b/tasks/pkgs/git.yml new file mode 100644 index 0000000..777d3b6 --- /dev/null +++ b/tasks/pkgs/git.yml @@ -0,0 +1,13 @@ +--- +- ansible.builtin.include_vars: + file: git.yml + name: _git + +- name: append to pkgs + set_fact: + syspkgs: "{{ syspkgs + _git[ansible_system].pkgs }}" + tags: + - RedHat + - linux + - package + diff --git a/tasks/pkgs/Darwin/go.yml b/tasks/pkgs/go.yml similarity index 100% rename from tasks/pkgs/Darwin/go.yml rename to tasks/pkgs/go.yml diff --git a/tasks/pkgs/hashicorp_repo.yml b/tasks/pkgs/hashicorp_repo.yml new file mode 100644 index 0000000..042a46b --- /dev/null +++ b/tasks/pkgs/hashicorp_repo.yml @@ -0,0 +1,68 @@ +--- +- ansible.builtin.include_vars: + file: hashicorp_repo.yml + name: _hashicorp + +- name: RedHat repository + when: ansible_os_family == 'RedHat' + block: + - name: enable hashicorp repo for fedora >=41 + become: true + when: + - ansible_distribution == 'Fedora' + - 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 }}" + + - name: enable hashicorp repo for fedora <41 + become: true + when: + - ansible_distribution == 'Fedora' + - 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 }}" + + - name: enable hashicorp repo for RHEL like distribution + become: true + when: + - ansible_distribution != 'Fedora' + ansible.builtin.command: + creates: /etc/yum.repos.d/hashicorp.repo + cmd: "dnf config-manager --add-repo {{ _hashicorp.RedHat.repo }}" + +- name: Debian based repository + when: ansible_os_family == 'Debian' + block: + - 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: + - 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: + repo: "{{ _hashicorp.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 diff --git a/tasks/pkgs/Debian/hugo.yml b/tasks/pkgs/hugo.yml similarity index 99% rename from tasks/pkgs/Debian/hugo.yml rename to tasks/pkgs/hugo.yml index 764cfa5..6d1c996 100644 --- a/tasks/pkgs/Debian/hugo.yml +++ b/tasks/pkgs/hugo.yml @@ -1,5 +1,4 @@ --- - - name: append to pkgs set_fact: syspkgs: "{{ syspkgs + [ 'hugo' ] }}" diff --git a/tasks/pkgs/Debian/jq.yml b/tasks/pkgs/jq.yml similarity index 100% rename from tasks/pkgs/Debian/jq.yml rename to tasks/pkgs/jq.yml diff --git a/tasks/pkgs/kitty.yml b/tasks/pkgs/kitty.yml new file mode 100644 index 0000000..d70a05b --- /dev/null +++ b/tasks/pkgs/kitty.yml @@ -0,0 +1,8 @@ +--- +- ansible.builtin.include_vars: + file: kitty.yml + name: _kitty + +- name: add to syspkgs + ansible.builtin.set_fact: + syspkgs: "{{ syspkgs + _kitty[ansible_system].pkgs }}" diff --git a/tasks/pkgs/neovide.yml b/tasks/pkgs/neovide.yml new file mode 100644 index 0000000..431c332 --- /dev/null +++ b/tasks/pkgs/neovide.yml @@ -0,0 +1,15 @@ +--- +- ansible.builtin.include_vars: + file: neovide.yml + name: _neovide + +- name: append to pkgs + when: ansible_system == 'Linux' + set_fact: + syspkgs: "{{ syspkgs + _neovide[ansible_os_family].pkgdeps }}" + srcpkgs: "{{ srcpkgs + [ 'build/neovide.yml' ] }}" + +- name: append neovide to caskpkgs + when: ansible_system == 'Darwin' + set_fact: + caskpkgs: "{{ caskpkgs + [ 'neovide' ] }}" diff --git a/tasks/pkgs/neovim.yml b/tasks/pkgs/neovim.yml new file mode 100644 index 0000000..a4eff0f --- /dev/null +++ b/tasks/pkgs/neovim.yml @@ -0,0 +1,34 @@ +--- +- ansible.builtin.include_vars: + file: neovim.yml + name: _neovim + +- name: linux installation + when: ansible_system == 'Linux' + block: + - name: ensure install dir exists + ansible.builtin.file: + state: directory + path: "{{ _neovim.install_dir }}" + + - name: install neovim appimage + ansible.builtin.get_url: + backup: true + url: "{{ _neovim[ansible_system].appimage.dl }}" + dest: "{{ _neovim.install_dir }}/nvim.appimage" + mode: "0755" + owner: root + group: root + checksum: "{{ _neovim[ansible_system].appimage.checksum }}" + + - name: link neovim to prefix bin + ansible.builtin.file: + state: link + src: "{{ _neovim.install_dir }}/nvim.appimage }}" + path: "{{ _neovim.install_prefix }}/bin/nvim }}" + +- name: append neovim to syspkgs + when: ansible_system == 'Darwin' + set_fact: + syspkgs: "{{ syspkgs + ['neovim'] }}" + diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml new file mode 100644 index 0000000..a739a62 --- /dev/null +++ b/tasks/pkgs/nerdfonts.yml @@ -0,0 +1,17 @@ +--- +- ansible.builtin.include_vars: + file: nerdfonts.yml + name: _nerdfonts + +- name: append to srcpkgs + when: ansible_system == 'Linux' + set_fact: + srcpkgs: "{{ srcpkgs + [ 'nerdfonts' ] }}" + +- name: append to caskpkgs + when: ansible_system == 'Darwin' + set_fact: + caskpkgs: "{{ caskpkgs + [ 'font-' + font.brew + '-nerd-font' ] }}" + loop: "{{ _nerfonts.fonts }}" + loop_control: + loop_var: font diff --git a/tasks/pkgs/RedHat/nodejs.yml b/tasks/pkgs/nodejs.yml similarity index 100% rename from tasks/pkgs/RedHat/nodejs.yml rename to tasks/pkgs/nodejs.yml diff --git a/tasks/pkgs/RedHat/nomad.yml b/tasks/pkgs/nomad.yml similarity index 100% rename from tasks/pkgs/RedHat/nomad.yml rename to tasks/pkgs/nomad.yml diff --git a/tasks/pkgs/RedHat/nushell.yml b/tasks/pkgs/nushell.yml similarity index 100% rename from tasks/pkgs/RedHat/nushell.yml rename to tasks/pkgs/nushell.yml diff --git a/tasks/pkgs/RedHat/packer.yml b/tasks/pkgs/packer.yml similarity index 100% rename from tasks/pkgs/RedHat/packer.yml rename to tasks/pkgs/packer.yml diff --git a/tasks/pkgs/RedHat/pandoc.yml b/tasks/pkgs/pandoc.yml similarity index 100% rename from tasks/pkgs/RedHat/pandoc.yml rename to tasks/pkgs/pandoc.yml diff --git a/tasks/pkgs/RedHat/pipx.yml b/tasks/pkgs/pipx.yml similarity index 100% rename from tasks/pkgs/RedHat/pipx.yml rename to tasks/pkgs/pipx.yml diff --git a/tasks/pkgs/RedHat/python3-pip.yml b/tasks/pkgs/python3-pip.yml similarity index 100% rename from tasks/pkgs/RedHat/python3-pip.yml rename to tasks/pkgs/python3-pip.yml diff --git a/tasks/pkgs/RedHat/ripgrep.yml b/tasks/pkgs/ripgrep.yml similarity index 100% rename from tasks/pkgs/RedHat/ripgrep.yml rename to tasks/pkgs/ripgrep.yml diff --git a/tasks/pkgs/RedHat/rust.yml b/tasks/pkgs/rust.yml similarity index 100% rename from tasks/pkgs/RedHat/rust.yml rename to tasks/pkgs/rust.yml diff --git a/tasks/pkgs/RedHat/stow.yml b/tasks/pkgs/stow.yml similarity index 100% rename from tasks/pkgs/RedHat/stow.yml rename to tasks/pkgs/stow.yml diff --git a/tasks/pkgs/RedHat/terra_repo.yml b/tasks/pkgs/terra_repo.yml similarity index 100% rename from tasks/pkgs/RedHat/terra_repo.yml rename to tasks/pkgs/terra_repo.yml diff --git a/tasks/pkgs/RedHat/terraform.yml b/tasks/pkgs/terraform.yml similarity index 100% rename from tasks/pkgs/RedHat/terraform.yml rename to tasks/pkgs/terraform.yml diff --git a/tasks/pkgs/RedHat/tidy.yml b/tasks/pkgs/tidy.yml similarity index 100% rename from tasks/pkgs/RedHat/tidy.yml rename to tasks/pkgs/tidy.yml diff --git a/tasks/pkgs/RedHat/tmux.yml b/tasks/pkgs/tmux.yml similarity index 100% rename from tasks/pkgs/RedHat/tmux.yml rename to tasks/pkgs/tmux.yml diff --git a/tasks/pkgs/RedHat/vault.yml b/tasks/pkgs/vault.yml similarity index 100% rename from tasks/pkgs/RedHat/vault.yml rename to tasks/pkgs/vault.yml diff --git a/tasks/pkgs/RedHat/zfs.yml b/tasks/pkgs/zfs.yml similarity index 100% rename from tasks/pkgs/RedHat/zfs.yml rename to tasks/pkgs/zfs.yml diff --git a/tasks/pkgs/RedHat/zoxide.yml b/tasks/pkgs/zoxide.yml similarity index 100% rename from tasks/pkgs/RedHat/zoxide.yml rename to tasks/pkgs/zoxide.yml diff --git a/vars/alacritty.yml b/vars/alacritty.yml index 0393897..62a1c11 100644 --- a/vars/alacritty.yml +++ b/vars/alacritty.yml @@ -1,2 +1,19 @@ --- version: 0.15.0 +RedHat: + build_deps: + - cmake + - freetype-devel + - fontconfig-devel + - libxcb-devel + - libxkbcommon-devel + - g++ +Debian: + build_deps: + - cmake + - pkg-config + - libfreetype6-dev + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 diff --git a/vars/consul.yml b/vars/consul.yml new file mode 100644 index 0000000..b32ade9 --- /dev/null +++ b/vars/consul.yml @@ -0,0 +1,5 @@ +--- +Linux: + pkg: consul +Darwin: + pkg: hashicorp/tap/consul diff --git a/vars/git.yml b/vars/git.yml new file mode 100644 index 0000000..0cd0fa5 --- /dev/null +++ b/vars/git.yml @@ -0,0 +1,12 @@ +Darwin: + pkgs: + - git + - git-delta + - git-extras + - git-lfs +Linux: + pkgs: + - git + - git-delta + - git-email + - git-lfs diff --git a/vars/hashicorp_repo.yml b/vars/hashicorp_repo.yml new file mode 100644 index 0000000..9e078ce --- /dev/null +++ b/vars/hashicorp_repo.yml @@ -0,0 +1,7 @@ +--- +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" diff --git a/vars/kitty.yml b/vars/kitty.yml new file mode 100644 index 0000000..2ef3fc0 --- /dev/null +++ b/vars/kitty.yml @@ -0,0 +1,7 @@ +Darwin: + pkgs: + - kitty +Linux: + pkgs: + - kitty + - kitty-shell-integration diff --git a/vars/neovide.yml b/vars/neovide.yml index 1d8420e..2099205 100644 --- a/vars/neovide.yml +++ b/vars/neovide.yml @@ -1,3 +1,25 @@ --- version: 0.14.0 install_prefix: /usr/local +RedHat: + pkgdeps: + - cargo + - fontconfig-devel + - freetype-devel + - libX11-xcb + - libX11-devel + - libstdc++-static + - libstdc++-devel + - "@Development Tools" + - "@Development Libraries" +Debian: + pkgdeps: + - cargo + - fontconfig-devel + - freetype-devel + - libX11-xcb + - libX11-devel + - libstdc++-static + - libstdc++-devel + - "@Development Tools" + - "@Development Libraries" diff --git a/vars/neovim.yml b/vars/neovim.yml index b946dd6..ecee415 100644 --- a/vars/neovim.yml +++ b/vars/neovim.yml @@ -1,5 +1,8 @@ --- -git_repo: https://github.com/neovim/neovim.git -version: 0.10.3 -build_type: Release +version: latest install_prefix: /usr/local +install_dir: /opt/nvim +Linux: + appimage: + dl: https://github.com/neovim/neovim/releases/latest/download/nvim.appimage + checksum: https://github.com/neovim/neovim/releases/download/latest/nvim.appimage.sha256sum diff --git a/vars/nerdfonts.yml b/vars/nerdfonts.yml index 16d56f4..86f98af 100644 --- a/vars/nerdfonts.yml +++ b/vars/nerdfonts.yml @@ -1,5 +1,5 @@ --- -nerdfonts: +fonts: - name: CascadiaCode brew: caskaydia-cove - name: FiraCode @@ -13,4 +13,3 @@ nerdfonts: - name: NerdFontsSymbolsOnly brew: symbols-only nerdfonts_system_install: false -