From 1a8f402c68f62b6caba1090588256517fe1d7f93 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 24 Jan 2026 13:26:07 -0700 Subject: [PATCH 01/48] working on alacritty source install - adding cargo build helper --- tasks/appimage/neovim.yml | 29 --------- tasks/helpers/cargo_build.yml | 39 +++++++++++++ tasks/helpers/git.yml | 15 +++-- tasks/pkgs/alacritty.yml | 107 +++++++++++++++++++++++++++++++--- 4 files changed, 147 insertions(+), 43 deletions(-) delete mode 100644 tasks/appimage/neovim.yml create mode 100644 tasks/helpers/cargo_build.yml diff --git a/tasks/appimage/neovim.yml b/tasks/appimage/neovim.yml deleted file mode 100644 index 4b6b623..0000000 --- a/tasks/appimage/neovim.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Install neovim appimage - become: true - block: - - name: Create install dir - ansible.builin.file: - state: directory - mode: "0755" - path: "{{ nvim.instdir }}" - owner: "{{ pkgconfig_neovim.owner }}" - group: "{{ pkgconfig_neovim.group }}" - - - name: Get neovim appimage - ansible.builtin.get_url: - mode: "0755" - decompress: false - backup: true - url: "{{ pkgconfig_neovim.appimage_url_pfx }}/{{ pkgconfig_neovim.version }}/nvim.appimage" - checksum: "sha256:{{ pkgconfig_neovim.appimage_url_pfx }}/{{ pkgconfig_neovim.version }}/nvim.appimage.sha256sum" - dest: "{{ pkgconfig_neovim.install_dir }}/nvim.appimage.{{ pkgconfig_neovim.version }}" - owner: "{{ pkgconfig_neovim.owner }}" - group: "{{ pkgconfig_neovim.group }}" - - - name: Link neovim appimage - ansible.builtin.file: - state: link - src: "{{ pkgconfig_neovim.install_dir }}/nvim.appimage.{{ pkgconfig_neovim.version }}" - path: "{{ pkgconfig_neovim.install_prefix }}/bin/nvim" diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml new file mode 100644 index 0000000..795ad6b --- /dev/null +++ b/tasks/helpers/cargo_build.yml @@ -0,0 +1,39 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Cargo source install helper + when: + - cargo_install_type == 'source' + block: + - name: Set build variables + ansible.builtin.set_fact: + git_path: "{{ d_tempdir.path }}/{{ name }}" + git_repo: "{{ repo }}" + git_depth: "{{ depth | default(1) }}" + git_recursive: "{{ recursive | default(true) }}" + git_version: "{{ version | default(omit) }}" + + - name: Fetch git repo + ansible.builtin.include_tasks: + file: helpers/git.yml + + - name: Build cargo release + ansible.builtin.command: + creates: "{{ bin_output }}" + chdir: "{{ git_path }}" + argv: "{{ [cargo, build] + cargo_build_flags }}" + + - name: Install cargo release + block: + - name: Install binary + when: + - bin_name is defined + - bin_output is defined + become: true + ansible.builtin.copy: + backup: false + dest: "{{ install_prefix }}/bin/{{ bin_name }}" + owner: root + group: root + mode: "0755" + remote_src: true + src: "{{ git_path }}/{{ bin_output }}" diff --git a/tasks/helpers/git.yml b/tasks/helpers/git.yml index e909813..4e8899e 100644 --- a/tasks/helpers/git.yml +++ b/tasks/helpers/git.yml @@ -1,7 +1,10 @@ -- name: Clone git repository {{ src_pkg }} +# vim: set filetype=yaml.ansible : +--- +- name: Clone git repository ansible.builtin.git: - depth: 1 - force: true - dest: "{{ src_path }}" - repo: "{{ src_gitrepo }}" - version: "{{ src_version | default(omit) }}" + depth: "{{ git_depth | default(1) }}" + dest: "{{ git_path }}" + force: "{{ git_force | default(true) }}" + recursive: "{{ git_recursive | default(true) }}" + repo: "{{ git_repo }}" + version: "{{ git_version | default(omit) }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 97936e6..9d14e29 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -1,23 +1,114 @@ # vim: set filetype=yaml.ansible : --- -- name: Append alacritty +- name: Configure alacritty # {{{ block: - - name: Load alacritty configuration - ansible.builtin.include_tasks: - file: config/alacritty.yml + - name: Set basic variables + ansible.builtin.set_fact: + alacritty_build_version: v0.16.1 + alacritty_git_repo: https://github.com/alacritty/alacritty + alacritty_pkgname: alacritty + - name: Set install type + when: + - alacritty_method is undefined or + alacritty_method == '' + block: + - name: Install via system package manager + when: + - default_install_method == 'package' + ansible.builtin.set_fact: + alacritty_method: package + - name: Install via homebrew casks + when: + - ansible_os_family == 'Darwin' or + default_install_method == 'homebrew' + ansible.builtin.set_fact: + alacritty_method: cask + + - name: Install via source + when: + - default_install_method == 'source' + ansible.builtin.set_fact: + alacritty_method: source + alacritty_src_install: + cargo_install_type: source + cargo_build_flags: + - --release + name: "{{ alacritty_pkgname }}" + repo: "{{ alacritty_git_repo }}" + version: "{{ alacritty_build_version }}" + bin_output: "target/release/alacritty" + bin_name: "alacritty" + install_prefix: "/usr/local" + install_files: + share/pixmaps: + - extra/logo/alacritty-term.svg + desktop: + - extra/linux/Alacritty.desktop + + - name: Set alacritty install options + block: + - name: Set options for RedHat based Linux + when: ansible_os_family == 'RedHat' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + - name: Set options for Debian based Linux + when: ansible_os_family == 'Debian' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - libfontconfig1-dev + - libfreetype6-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - pkg-config + - python3 + - desktop-file-utils + - name: Set options for Alpine based Linux + when: ansible_os_family == 'Alpine' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - fontconfig-dev + - freetype-dev + - g++ + - libxcb-dev + - libxkbcommon-dev + - pkgconf + - desktop-file-utils + - name: Set options for FreeBSD + when: ansible_os_family == 'FreeBSD' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils +# }}} + +- name: Append alacritty installation + block: - name: Append alacritty to pkg_cargo when: - - alacritty.method == 'cargo' + - method == 'source' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty.build_deps }}" - pkg_cargo: "{{ pkg_cargo + [alacritty.cargo] }}" + pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" + pkg_cargo: "{{ pkg_cargo + [alacritty_src_install] }}" - name: Append alacritty to pkg_cask when: - alacritty.method == 'cask' ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['alacritty'] }}" + pkg_cask: "{{ pkg_cask + [alacritty_pkgname] }}" - name: Set alacritty_configured ansible.builtin.set_fact: -- 2.47.3 From fe364e2b6da65b62f2ce29774bc91fc007c11758 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 24 Jan 2026 14:25:33 -0700 Subject: [PATCH 02/48] need to test the alacritty build to make sure it's ready --- tasks/helpers/cargo_build.yml | 29 +++++++++++++++++++++++++++-- tasks/pkgs/alacritty.yml | 23 ++++++++++++++--------- vars/main.yml | 1 + 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 795ad6b..9372217 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -1,8 +1,6 @@ # vim: set filetype=yaml.ansible : --- - name: Cargo source install helper - when: - - cargo_install_type == 'source' block: - name: Set build variables ansible.builtin.set_fact: @@ -37,3 +35,30 @@ mode: "0755" remote_src: true src: "{{ git_path }}/{{ bin_output }}" + + - name: Install additional files + when: + - install_files is defined + block: + - name: Create missing directories + loop: "{{ install_files | dict2items }}" + loop_control: + loop_var: file + ansible.builtin.file: + path: "{{ install_prefix }}/{{ file.value | dirname }}" + owner: root + group: root + mode: "0755" + state: directory + - name: Copy extra files + loop: "{{ install_files | dict2items }}" + loop_control: + loop_var: file + ansible.builtin.copy: + backup: false + dest: "{{ install_prefix }}/{{ file.value }}" + owner: root + group: root + mode: "0644" + remote_src: true + src: "{{ git_path }}/{{ file.key }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 9d14e29..13dfb19 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -1,6 +1,7 @@ # vim: set filetype=yaml.ansible : --- - name: Configure alacritty # {{{ + when: __alacritty_configured is undefined block: - name: Set basic variables ansible.builtin.set_fact: @@ -41,10 +42,12 @@ bin_name: "alacritty" install_prefix: "/usr/local" install_files: - share/pixmaps: - - extra/logo/alacritty-term.svg - desktop: - - extra/linux/Alacritty.desktop + extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg + desktop_files: + - extra/linux/Alacritty.desktop + files_list: + - bin/alacritty + - share/pixmaps/Alacritty.svg - name: Set alacritty install options block: @@ -99,17 +102,19 @@ block: - name: Append alacritty to pkg_cargo when: - - method == 'source' + - alacritty_method == 'source' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" - pkg_cargo: "{{ pkg_cargo + [alacritty_src_install] }}" + pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_cask when: - - alacritty.method == 'cask' + - alacritty_method == 'cask' ansible.builtin.set_fact: pkg_cask: "{{ pkg_cask + [alacritty_pkgname] }}" - - name: Set alacritty_configured + - name: Append alacritty to sys_pkg + when: + - alacritty_method == 'package' ansible.builtin.set_fact: - alacritty_configured: true + pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" diff --git a/vars/main.yml b/vars/main.yml index 9321951..e89fcaf 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,6 +1,7 @@ # vim: set filetype=yaml.ansible : # variables used in ansible_role_package --- +default_install_method: package debug: false use_local: false prefer_method: src -- 2.47.3 From e021d5ebac11fed47e146f9f4f4d1b662edbd487 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 24 Jan 2026 19:52:56 -0700 Subject: [PATCH 03/48] Modifying default variables and config Renamed variables for defaults: - flatpak_method -> default_flatpak_method: system - defaults.paths.prefix -> default_install_prefix: /usr/local New variables: - default_install_method: package --- tasks/facts.yml | 17 ++++++++-------- tasks/{ => helpers}/addpkg.yml | 0 tasks/{ => helpers}/appimage.yml | 10 ++++----- tasks/{ => helpers}/cargo.yml | 0 tasks/helpers/cargo_build.yml | 1 + tasks/helpers/flatpak.yml | 9 ++++++++ tasks/helpers/flatpak_remote.yml | 10 +++++++++ tasks/{ => helpers}/go.yml | 0 tasks/{ => helpers}/npm.yml | 0 tasks/{ => helpers}/pipx.yml | 0 tasks/linux.yml | 35 ++++++++++++++++++-------------- tasks/main.yml | 20 ++++++++++++++++++ tasks/pkgs/alacritty.yml | 2 -- vars/main.yml | 24 ++++++++++------------ vars/pkgs/alacritty.yml | 10 --------- 15 files changed, 85 insertions(+), 53 deletions(-) rename tasks/{ => helpers}/addpkg.yml (100%) rename tasks/{ => helpers}/appimage.yml (61%) rename tasks/{ => helpers}/cargo.yml (100%) create mode 100644 tasks/helpers/flatpak.yml create mode 100644 tasks/helpers/flatpak_remote.yml rename tasks/{ => helpers}/go.yml (100%) rename tasks/{ => helpers}/npm.yml (100%) rename tasks/{ => helpers}/pipx.yml (100%) delete mode 100644 vars/pkgs/alacritty.yml diff --git a/tasks/facts.yml b/tasks/facts.yml index 7b440f4..7dd60fd 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -24,13 +24,13 @@ - not use_local ansible.builtin.set_fact: path: - prefix: "{{ defaults.path.prefix }}" + prefix: "{{ default_install_prefix }}" - name: Set install variables ansible.builtin.set_fact: ext_become: "{{ not use_local }}" path: - prefix: "{{ path.prefix }}" + prefix: "{{ default_install_prefix }}" appimage: "{{ path.appimage | default(path.prefix ~ defaults.path.suffix.appimage) }}" archive: "{{ path.archive | default(path.prefix ~ defaults.path.suffix.archive) }}" bin: "{{ path.bin | default(path.prefix ~ defaults.path.suffix.bin) }}" @@ -45,7 +45,6 @@ flatpak_remote: # flatpak remotes, includes flathub by default - name: flathub url: https://dl.flathub.org/repo/flathub.flatpakrepo - flatpak_method: "{% if use_local %}user{% else %}system{% endif %}" pkg_appimage: [] # appimages to install pkg_flatpak: [] # flatpak packages to install pkg_snap: [] # snpacraft.io packages @@ -70,22 +69,24 @@ - name: Set macOS specific facts when: - - ansible_distribution == 'MacOSX' + - ansible_distribution == 'MacOSX' or + ansible_distribution == 'MacOS' ansible.builtin.set_fact: brewtap: [] # homebrew taps to add - pipx_exec: "/opt/homebrew/bin/pipx" + pipx_exec: "/opt/homebrew/bin/pipx" # pipx executable pkg_cask: [] # homebrew casks pkg_tap: [] # homebrew tap packages sys_pkg_become: false # homebrew doesn't require sudo access - lib_path: lib + lib_path: lib # macos shared library path - name: Set OS independant facts ansible.builtin.set_fact: pkg_archive: [] # packages installed via prebuilt archive - pkg_cargo: [] # rust packages from cargo + pkg_cargo: [] # rust packages from cargo using `cargo install` + pkg_cargo_build: [] # rust packages using `cargo build` before install pkg_go: [] # go applications pkg_npm: [] # npm commands pkg_pipx: [] # pipx packages - pkg_zig: [] + pkg_zig: [] # zig packages pkg_src: [] # packages built from source pkg_sys: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based diff --git a/tasks/addpkg.yml b/tasks/helpers/addpkg.yml similarity index 100% rename from tasks/addpkg.yml rename to tasks/helpers/addpkg.yml diff --git a/tasks/appimage.yml b/tasks/helpers/appimage.yml similarity index 61% rename from tasks/appimage.yml rename to tasks/helpers/appimage.yml index 9a81d8d..b8e78b1 100644 --- a/tasks/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -5,7 +5,7 @@ block: - name: Ensure appimage path exists ansible.builtin.file: - path: "{{ path.appimage }}/{{ pkg.link_name }}" + path: "{{ path.appimage }}/{{ appimage_link_name }}" mode: '0755' state: directory @@ -15,12 +15,12 @@ mode: '0755' decompress: false backup: true - url: "{{ pkg.url }}" - dest: "{{ path.appimage }}/{{ pkg.link_name }}/{{ pkg.file }}" + url: "{{ appimage_url }}" + dest: "{{ path.appimage }}/{{ appimage_link_name }}/{{ appimage_file }}" - name: Link appimage to bin become: "{{ ext_become }}" ansible.builtin.file: state: link - src: "{{ path.appimage }}/{{ pkg.link_name }}/{{ pkg.file }}" - path: "{{ path.bindir }}/{{ pkg.link_name }}" + src: "{{ path.appimage }}/{{ appimage_link_name }}/{{ appimage_file }}" + path: "{{ path.bindir }}/{{ appimage_link_name }}" diff --git a/tasks/cargo.yml b/tasks/helpers/cargo.yml similarity index 100% rename from tasks/cargo.yml rename to tasks/helpers/cargo.yml diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 9372217..56ea3b0 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -50,6 +50,7 @@ group: root mode: "0755" state: directory + - name: Copy extra files loop: "{{ install_files | dict2items }}" loop_control: diff --git a/tasks/helpers/flatpak.yml b/tasks/helpers/flatpak.yml new file mode 100644 index 0000000..fa9fd27 --- /dev/null +++ b/tasks/helpers/flatpak.yml @@ -0,0 +1,9 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Install flatpak + become: "{{ ext_become }}" + community.general.flatpak: + method: "{{ pkg_method }}" + remote: "{{ pkg_remote }}" + name: "{{ pkg_name }}" + state: present diff --git a/tasks/helpers/flatpak_remote.yml b/tasks/helpers/flatpak_remote.yml new file mode 100644 index 0000000..98e1855 --- /dev/null +++ b/tasks/helpers/flatpak_remote.yml @@ -0,0 +1,10 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Add flatpak remote + become: "{{ ext_become }}" + community.general.flatpak_remote: + enabled: "{{ remote_enabled }}" + flatpakrepo_url: "{{ remote_url }}" + method: "{{ remote_method }}" + name: "{{ remote_name }}" + state: "{{ remote_state }}" diff --git a/tasks/go.yml b/tasks/helpers/go.yml similarity index 100% rename from tasks/go.yml rename to tasks/helpers/go.yml diff --git a/tasks/npm.yml b/tasks/helpers/npm.yml similarity index 100% rename from tasks/npm.yml rename to tasks/helpers/npm.yml diff --git a/tasks/pipx.yml b/tasks/helpers/pipx.yml similarity index 100% rename from tasks/pipx.yml rename to tasks/helpers/pipx.yml diff --git a/tasks/linux.yml b/tasks/linux.yml index fcbbdad..bd0a73c 100644 --- a/tasks/linux.yml +++ b/tasks/linux.yml @@ -7,37 +7,42 @@ - name: Add flatpak remotes when: - flatpak_remote|length > 0 - become: "{{ ext_become }}" loop: "{{ flatpak_remote | unique }}" loop_control: loop_var: remote - community.general.flatpak_remote: - enabled: true - flatpakrepo_url: "{{ remote.url }}" - method: "{{ flatpak_method }}" - name: "{{ remote.name }}" - state: present + vars: + remote_enabled: true + remote_url: "{{ remote.url }}" + remote_method: "{{ remote.method | default(default_flatpak_method) }}" + remote_name: "{{ remote.name }}" + remote_state: "{{ remote.state | default('present') }}" + ansible.builtin.include_tasks: + file: helpers/flatpak_remote.yml - name: Install flatpaks when: - pkg_flatpak|length > 0 - become: "{{ ext_become }}" block: - name: Install flatpak loop: "{{ pkg_flatpak | unique }}" loop_control: loop_var: flatpak - community.general.flatpak: - method: "{{ flatpak.method | default(flatpak_method) }}" - name: "{{ flatpak.name | default(flatpak) }}" - remote: "{{ flatpak.remote | default('flathub') }}" - state: present + vars: + pkg_method: "{{ flatpak.method | default(default_flatpak_method) }}" + pkg_remote: "{{ flatpak.remote | default(default_flatpak_remote) }}" + pkg_name: "{{ flatpak.name | default(flatpak) }}" + ansible.builtin.include_tasks: + file: helpers/flatpak.yml - name: Install pkg_appimage when: - pkg_appimage|length > 0 loop: "{{ pkg_appimage }}" loop_control: - loop_var: pkg + loop_var: appimage + vars: + appimage_link_name: "{{ appimage.link_name }}" + appimage_url: "{{ appimage.url }}" + appimage_file: "{{ appimage.file }}" ansible.builtin.include_tasks: - file: appimage.yml + file: helpers/appimage.yml diff --git a/tasks/main.yml b/tasks/main.yml index eeac59e..ca424b4 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -198,6 +198,26 @@ ansible.builtin.include_tasks: file: cargo.yml +- name: Build and install rust apps + when: + - pkg_cargo_build|length > 0 + block: + - name: Run cargo build and install + loop: "{{ cargo_pkg_build }}" + loop_control: + loop_var: pkg + vars: + bin_name: "{{ pkg.bin_name | default(omit) }}" + bin_output: "{{ pkg.bin_output | default(omit) }}" + cargo_build_flags: "{{ pkg.cargo_build_flags | default(omit) }}" + depth: "{{ pkg.depth | default(omit) }}" + install_files: "{{ pkg.install_files | default(omit) }}" + name: "{{ pkg.name | default(omit) }}" + recursive: "{{ pkg.recursive | default(omit) }}" + repo: "{{ pkg.repo | default(omit) }}" + ansible.builtin.include_tasks: + file: helpers/cargo_build.yml + - name: Install go packages when: - pkg_go|length > 0 diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 13dfb19..0fcbbca 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -32,7 +32,6 @@ ansible.builtin.set_fact: alacritty_method: source alacritty_src_install: - cargo_install_type: source cargo_build_flags: - --release name: "{{ alacritty_pkgname }}" @@ -97,7 +96,6 @@ - python3 - desktop-file-utils # }}} - - name: Append alacritty installation block: - name: Append alacritty to pkg_cargo diff --git a/vars/main.yml b/vars/main.yml index e89fcaf..02c5cc0 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,24 +1,22 @@ # vim: set filetype=yaml.ansible : # variables used in ansible_role_package --- -default_install_method: package +default_flatpak_method: system # possible values are 'system' and 'user' +default_install_method: package # possible values are 'package', 'source', 'appimage' +default_install_prefix: /usr/local debug: false use_local: false -prefer_method: src packages: [] # list of packages to install extra_packages: [] # list of extra packages to add to pkg_sys -go_do_update: true -defaults: - path: - prefix: "/usr/local" - suffix: - appimage: "/appimage" # keep appimages here - archive: "/archive" # extract archives here - bin: "/bin" # installation prefix. Binaries are placed in `{{ install }}/bin` - cargo: "/cargo" # cargo install location - go: "/go" # GOROOT - pipx: "/pipx" # where pipx environments are installed (venvs). They are symlinked to `bin` +paths: + suffix: + appimage: "/appimage" # keep appimages in `{{ default_install_prefix }}/appimage` + archive: "/archive" # extract archives to `{{ default_install_prefix }}/archive` + bin: "/bin" # installation prefix. Binaries are placed in `{{ default_install_prefix }}/bin` + cargo: "/cargo" # cargo install location `{{ default_install_prefix }}/cargo` + go: "/go" # GOROOT `{{ default_install_prefix }}/go` + pipx: "/pipx" # where pipx environments are installed `{{ default_install_prefix }}/pipx` # paths resolve to either $HOME/.local as the prefix, or /usr/local # all created paths are named: diff --git a/vars/pkgs/alacritty.yml b/vars/pkgs/alacritty.yml deleted file mode 100644 index 527360b..0000000 --- a/vars/pkgs/alacritty.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -alacritty: - version: 0.15.1 - method: - default: cargo - Darwin: cask - cargo: - locked: true - name: alacritty -- 2.47.3 From 7b8eaf35b759143f6a02361f666fd23229dda7a5 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 24 Jan 2026 20:28:25 -0700 Subject: [PATCH 04/48] workign on argument specs --- meta/argument_spec.yml | 61 +++++++++++++++++++++++++++--------------- vars/main.yml | 32 ++++++++-------------- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index 569e41e..27f4db8 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -9,33 +9,50 @@ argument_specs: author: - Matthew Stobbs options: - use_local: - type: bool - default: true - required: false - description: - Install packages using the current users - `$HOME/.local` directory as the install prefix. - - When `false`, uses the system wide `/usr/local` - as the install prefix, and stores other parts - (appimages, extracted archives, cache) in the - appropriate path starting with `/opt`. packages: type: list elements: str required: true - description: | - The list of packages to install by name. - The list must contain only values that exist in - `Available Packages` in `README.md` - prefer_method: + description: + - The list of packages to install by name. + - The list must contain only values that exist in B(Available Packages) in README.md + extra_packages: + type: list + elements: str + description: + - Extra system packages by installation name to install using the system package manager + default_flatpak_method: + type: str + default: system + description: + - Default installation method for flatpaks. + - Possible values are 'system' and 'user' + default_install_method: type: str - required: false default: system choices: - - flatpak - - langtool - - snap - - source - system + - source + - appimage + - flatpak + - cask + - snap + description: + - Default installation method for packages. + - Varies between each indivdual package, but this is for overall package installation. + - Possible values are V(system), V(source), V(appimage), V(flatpak), V(cask), V(snap) + default_install_prefix: + type: path + default: /usr/local + description: + - Default installation prefix when installation non-system packages. + path_suffix_appimage: + type: path + default: "{{ default_install_prefix }}/appimage" + description: + - Where appimage files are stored. + path_suffix_archive: + type: path + default: "{{ default_install_prefix }}/archive" + description: + - Where archives are downloaded and extracted. diff --git a/vars/main.yml b/vars/main.yml index 02c5cc0..df22908 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,33 +1,23 @@ # vim: set filetype=yaml.ansible : # variables used in ansible_role_package --- -default_flatpak_method: system # possible values are 'system' and 'user' -default_install_method: package # possible values are 'package', 'source', 'appimage' +default_flatpak_method: system +default_install_method: system default_install_prefix: /usr/local debug: false -use_local: false packages: [] # list of packages to install extra_packages: [] # list of extra packages to add to pkg_sys -paths: - suffix: - appimage: "/appimage" # keep appimages in `{{ default_install_prefix }}/appimage` - archive: "/archive" # extract archives to `{{ default_install_prefix }}/archive` - bin: "/bin" # installation prefix. Binaries are placed in `{{ default_install_prefix }}/bin` - cargo: "/cargo" # cargo install location `{{ default_install_prefix }}/cargo` - go: "/go" # GOROOT `{{ default_install_prefix }}/go` - pipx: "/pipx" # where pipx environments are installed `{{ default_install_prefix }}/pipx` +# Path suffixes for installation types. Prefixed by `default_install_prefix` +path_suffix_appimage: appimage +path_suffix_archive: archive +path_suffix_bin: bin +path_suffix_cargo: cargo +path_suffix_go: go +path_suffix_pipx: pipx +path_suffix_source: source -# paths resolve to either $HOME/.local as the prefix, or /usr/local -# all created paths are named: -# - paths.appimage: $PREFIX/appimage -# - paths.archive: $PREFIX/archive -# - paths.bin: $PREFIX/bin -# - paths.cargo: $PREFIX/cargo -# - paths.go: $PREFIX/go -# - paths.pipx: $PREFIX/pipx - -package_default_clean_src: false +default_clean_source: false ## Extra config that usually will not need to be changed hyprgitbase: https://github.com/hyprwm -- 2.47.3 From fc0f6e6a82c4ca04b62bc2e2a895f63781ee408e Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 25 Jan 2026 01:38:28 -0700 Subject: [PATCH 05/48] should have all the variables needed --- meta/argument_spec.yml | 53 ++++++++++++++++++++++++----- meta/main.yml | 6 ++-- tasks/facts.yml | 75 +++++++++++++++++++----------------------- tasks/main.yml | 10 +++--- vars/main.yml | 42 ++++++++++++++++++----- 5 files changed, 120 insertions(+), 66 deletions(-) diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index 27f4db8..a1c6725 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -21,13 +21,13 @@ argument_specs: elements: str description: - Extra system packages by installation name to install using the system package manager - default_flatpak_method: + flatpak_method: type: str default: system description: - Default installation method for flatpaks. - Possible values are 'system' and 'user' - default_install_method: + install_method: type: str default: system choices: @@ -41,18 +41,55 @@ argument_specs: - Default installation method for packages. - Varies between each indivdual package, but this is for overall package installation. - Possible values are V(system), V(source), V(appimage), V(flatpak), V(cask), V(snap) - default_install_prefix: + install_prefix: type: path default: /usr/local description: - Default installation prefix when installation non-system packages. - path_suffix_appimage: + store_path: type: path - default: "{{ default_install_prefix }}/appimage" + default: ANSIBLE_USER_DIR/.cache/ansible_role_package + description: + - Where to store cached files like archives and git repos + clean_source: + type: bool + default: false + description: + - Remove existing installation of package before installing + path_appimage: + type: path + default: INSTALL_PREFIX/appimage description: - Where appimage files are stored. - path_suffix_archive: + path_archive: type: path - default: "{{ default_install_prefix }}/archive" + default: INSTALL_PREFIX/archive description: - - Where archives are downloaded and extracted. + - Where archives are extracted. + path_bin: + type: path + default: INSTALL_PREFIX/bin + description: + - Where binaries are installed or linked. + - Needs to be added to your PATH + path_cargo: + type: path + default: INSTALL_PREFIX/cargo + description: + - Where cargo installs it's packages + path_go: + type: path + default: INSTALL_PREFIX/go + description: + - Where go is installed. Equivalent of GOROOT. + path_pipx: + type: path + default: INSTALL_PREFIX/pipx + description: + - Where pipx installs it's virtual environments + use_become: + type: bool + default: true + description: + - Elevate privileges when installing non-system packages. + - Building will be done as the ansible user, elevating only when installing. diff --git a/meta/main.yml b/meta/main.yml index 4e5a550..0170ee6 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -12,12 +12,10 @@ galaxy_info: platforms: - name: Fedora versions: - - all - - "40" - - "41" + - "41+" - name: EL versions: - - "9" + - "9+" - name: macOS version: - ">=14.2" diff --git a/tasks/facts.yml b/tasks/facts.yml index 7dd60fd..d3e2bae 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -12,54 +12,58 @@ ansible.builtin.set_fact: package_home_base: /home -- name: Set local path prefix - when: - - use_local +- name: Set defaults paths ansible.builtin.set_fact: - path: - prefix: "{{ package_home_base }}/{{ ansible_ssh_user }}/.local" - -- name: Set non-local path prefix - when: - - not use_local - ansible.builtin.set_fact: - path: - prefix: "{{ default_install_prefix }}" + install_prefix: "{{ install_prefix | default(default_install_prefix) }}" + default_store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" + default_path_appimage: "{{ install_prefix | default(default_install_prefix) }}/appimage" + default_path_archive: "{{ install_prefix | default(default_install_prefix) }}/archive" + default_path_bin: "{{ install_prefix | default(default_install_prefix) }}/bin" + default_path_cargo: "{{ install_prefix | default(default_install_prefix) }}/cargo" + default_path_go: "{{ install_prefix | default(default_install_prefix) }}/go" + default_path_pipx: "{{ install_prefix | default(default_install_prefix) }}/pipx" - name: Set install variables ansible.builtin.set_fact: - ext_become: "{{ not use_local }}" - path: - prefix: "{{ default_install_prefix }}" - appimage: "{{ path.appimage | default(path.prefix ~ defaults.path.suffix.appimage) }}" - archive: "{{ path.archive | default(path.prefix ~ defaults.path.suffix.archive) }}" - bin: "{{ path.bin | default(path.prefix ~ defaults.path.suffix.bin) }}" - cargo: "{{ path.cargo | default(path.prefix ~ defaults.path.suffix.cargo) }}" - go: "{% if ansible_distribution == 'MacOSX' %}/usr/local/go{% else %}{{ path.go | default(path.prefix ~ defaults.path.suffix.go) }}{% endif %}" - pipx: "{{ path.pipx | default(path.prefix ~ defaults.path.suffix.pipx) }}" + store_path: "{{ store_path | default(default_store_path) }}" + path_appimage: "{{ path_appimage | default(default_path_appimage) }}" + path_archive: "{{ path_archive | default(default_path_archive) }}" + path_bin: "{{ path_bin | default(default_path_bin) }}" + path_cargo: "{{ path_cargo | default(default_path_cargo) }}" + path_go: "{{ path_go | default(default_path_go) }}" + path_pipx: "{{ path_pipx | default(default_path_pipx) }}" + +- name: Set OS independant facts + ansible.builtin.set_fact: + pkg_archive: [] # packages installed via prebuilt archive + pkg_cargo: [] # rust packages from cargo using `cargo install` + pkg_cargo_build: [] # rust packages using `cargo build` before install + pkg_go: [] # go applications + pkg_npm: [] # npm commands + pkg_pipx: [] # pipx packages + pkg_src: [] # packages built from source + pkg_sys: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based + pkg_zig: [] # zig packages - name: Set Linux specific facts when: - ansible_system == 'Linux' ansible.builtin.set_fact: - flatpak_remote: # flatpak remotes, includes flathub by default - - name: flathub - url: https://dl.flathub.org/repo/flathub.flatpakrepo + flatpak_remotes: "{{ default_flatpak_remotes }}" pkg_appimage: [] # appimages to install pkg_flatpak: [] # flatpak packages to install pkg_snap: [] # snpacraft.io packages pipx_exec: "/usr/bin/pipx" - sys_pkg_become: true # Linux package managers require sudo access - lib_path: lib64 + path_lib: lib64 root_prefix: /usr/local - name: Set alpine linux specific facts when: - ansible_os_family == 'Alpine' ansible.builtin.set_fact: - lib_path: lib + path_lib: lib -- name: Set rpm dist if RedHat based +- name: Set dist code if RedHat based when: - ansible_os_family == 'RedHat' changed_when: false @@ -76,17 +80,4 @@ pipx_exec: "/opt/homebrew/bin/pipx" # pipx executable pkg_cask: [] # homebrew casks pkg_tap: [] # homebrew tap packages - sys_pkg_become: false # homebrew doesn't require sudo access - lib_path: lib # macos shared library path - -- name: Set OS independant facts - ansible.builtin.set_fact: - pkg_archive: [] # packages installed via prebuilt archive - pkg_cargo: [] # rust packages from cargo using `cargo install` - pkg_cargo_build: [] # rust packages using `cargo build` before install - pkg_go: [] # go applications - pkg_npm: [] # npm commands - pkg_pipx: [] # pipx packages - pkg_zig: [] # zig packages - pkg_src: [] # packages built from source - pkg_sys: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based + path_lib: lib # macos shared library path diff --git a/tasks/main.yml b/tasks/main.yml index ca424b4..f423d8b 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -2,12 +2,14 @@ --- # create all the facts used throughout the role, but shouldn't be touched # by the user -- name: Create temporary directory for downloads - register: d_tempdir +- name: Create cache directory + register: d_cache ansible.builtin.file: - path: /tmp/ansible_role_package - state: directory + path: "{{ store_path }}" mode: '0777' + owner: "{{ ansible_user_id }}" + group: "{{ ansible_user_gid }}" + state: directory - name: Set installation facts ansible.builtin.include_tasks: diff --git a/vars/main.yml b/vars/main.yml index df22908..7557790 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -2,20 +2,31 @@ # variables used in ansible_role_package --- default_flatpak_method: system +default_flatpak_remotes: + - name: flathub + url: https://dl.flathub.org/repo/flathub.flatpakrepo +default_flatpak_remote_name: flathub default_install_method: system default_install_prefix: /usr/local -debug: false +default_store_path: HOME/.cache/ansible_role_package +default_path_appimage: /usr/local/appimage +default_path_archive: /usr/local/archive +default_path_bin: /usr/local/bin +default_path_cargo: /usr/local/cargo +default_path_go: /usr/local/go +default_path_pipx: /usr/local/pipx +default_path_git: /usr/local/git packages: [] # list of packages to install extra_packages: [] # list of extra packages to add to pkg_sys # Path suffixes for installation types. Prefixed by `default_install_prefix` -path_suffix_appimage: appimage -path_suffix_archive: archive -path_suffix_bin: bin -path_suffix_cargo: cargo -path_suffix_go: go -path_suffix_pipx: pipx -path_suffix_source: source +directory_appimage: appimage +directory_archive: archive +directory_bin: bin +directory_cargo: cargo +directory_go: go +directory_pipx: pipx +directory_git: git default_clean_source: false @@ -27,3 +38,18 @@ _pkgconfig_force_rebuild: false # neovim configuration _pkgversion_neovim: master _gitbranch_neovim: master + +# Empty variables that need to exist +flatpak_remotes: null # flatpak remotes to add instead of default +flatpak_remote_name: null # the source of flatpak installations +flatpak_method: null # the method to use when installing flatpak +install_method: null # the way to install packages (system, source, etc) +install_prefix: null # the path prefix to install files +store_path: null # the path to store archives, git repos and appimages, etc. +path_appimage: null +path_archive: null +path_bin: null +path_cargo: null +path_go: null +path_pipx: null +use_become: true -- 2.47.3 From 59832a61e5ec14bc345f0f008150f09ffe242273 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 25 Jan 2026 02:16:53 -0700 Subject: [PATCH 06/48] Working on ansible-lint - need to figure out testing --- tasks/pkgs/air.yml | 13 ++++++++++++- tasks/pkgs/alacritty.yml | 9 ++++++++- tasks/pkgs/ansible-lint.yml | 28 +++++++++++++++++++++++----- 3 files changed, 43 insertions(+), 7 deletions(-) diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 8818891..01855b0 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,5 +1,16 @@ # vim: set filetype=yaml.ansible : --- +- name: Set air configuration + block: + - name: Set air version and url + ansible.builtin.set_fact: + air_version: "{{ air_version | default('latest') }}" + air_url: "{{ air_url | default('github.com/air-verse/air') }}" + + - name: Set air install path + ansible.builtin.set_fact: + air_pkg: "{{ air_url }}@{{ air_version }}" + - name: Append air to pkg_go ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/air-verse/air@latest'] }}" + pkg_go: "{{ pkg_go + [air_install] }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 0fcbbca..cd1bc1c 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -1,7 +1,9 @@ # vim: set filetype=yaml.ansible : --- - name: Configure alacritty # {{{ - when: __alacritty_configured is undefined + when: + - __alacritty_configured is undefined or + not __alacritty_configured block: - name: Set basic variables ansible.builtin.set_fact: @@ -95,6 +97,11 @@ - pkgconf - python3 - desktop-file-utils + - name: Finished alacritty configuration + when: __alacritty_configured is undefined + ansible.builtin.set_fact: + __alacritty_configured: true + # }}} - name: Append alacritty installation block: diff --git a/tasks/pkgs/ansible-lint.yml b/tasks/pkgs/ansible-lint.yml index 409cf08..eb95271 100644 --- a/tasks/pkgs/ansible-lint.yml +++ b/tasks/pkgs/ansible-lint.yml @@ -1,9 +1,27 @@ # vim: set filetype=yaml.ansible : --- +- name: Configure ansible-lint + when: + - __ansible_lint_configured is undefined or + not __ansible_lint_configured + block: + - name: Set basic variables + ansible.builtin.set_fact: + ansible_lint_version: latest + ansible_lint_default_install_method: system + - name: Configure package options + ansible.builtin.set_fact: + ansible_lint_install_method: "{{ ansible_lint_install_method | default(install_method) }}" + - name: Set pipx name + when: + - ansible_lint_install_method == 'pipx' + ansible.builtin.set_fact: + ansible_lint_pkgname: ansible-lint + - name: Set package name + when: + - install_method == 'system' + ansible.builtin.set_fact: + ansible_lint_pkgname: ansible-lint - name: Append ansible-lint to pkg_sys ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['ansible-lint'] }}" - -- name: Dump pkg_sys - debug: - var: pkg_sys + pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname] }}" -- 2.47.3 From b727fb423166f006ad6f5408e39e334ee0fb586b Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 25 Jan 2026 15:42:22 -0700 Subject: [PATCH 07/48] starting to standardize the way packages are handled --- meta/argument_spec.yml | 4 +- tasks/pkgs/air.yml | 24 ++++- tasks/pkgs/alacritty.yml | 171 +++++++++++++++++++++--------------- tasks/pkgs/ansible-lint.yml | 27 ------ tasks/pkgs/ansible_lint.yml | 58 ++++++++++++ vars/pkglist.yml | 15 ++++ 6 files changed, 199 insertions(+), 100 deletions(-) delete mode 100644 tasks/pkgs/ansible-lint.yml create mode 100644 tasks/pkgs/ansible_lint.yml create mode 100644 vars/pkglist.yml diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index a1c6725..c6a780d 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -35,12 +35,12 @@ argument_specs: - source - appimage - flatpak - - cask - snap description: - Default installation method for packages. - Varies between each indivdual package, but this is for overall package installation. - - Possible values are V(system), V(source), V(appimage), V(flatpak), V(cask), V(snap) + - Possible values are V(system), V(source), V(appimage), V(flatpak), V(snap) + - When using MacOS, the V(system) option uses homebrew by default. install_prefix: type: path default: /usr/local diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 01855b0..133118d 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,7 +1,16 @@ # vim: set filetype=yaml.ansible : --- - name: Set air configuration + when: + - __air_configured is undefined or + not __air_configured block: + - name: Set air_install_method + when: + - air_install_method is undefined + ansible.builtin.set_fact: + air_install_method: source + - name: Set air version and url ansible.builtin.set_fact: air_version: "{{ air_version | default('latest') }}" @@ -11,6 +20,19 @@ ansible.builtin.set_fact: air_pkg: "{{ air_url }}@{{ air_version }}" + - name: Ensure air_install_method is valid + when: + - air_install_method is defined + - air_install_method not in air_install_methods + ansible.builtin.set_fact: + air_intall_method: air_install_methods[0] + + - name: Complete air configuration + ansible.builtin.set_fact: + __air_configured: true + - name: Append air to pkg_go + when: + - air_install_method == 'source' ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + [air_install] }}" + pkg_go: "{{ pkg_go + [air_pkg] }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index cd1bc1c..4fb57e2 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -7,38 +7,32 @@ block: - name: Set basic variables ansible.builtin.set_fact: - alacritty_build_version: v0.16.1 + alacritty_version: v0.16.1 alacritty_git_repo: https://github.com/alacritty/alacritty alacritty_pkgname: alacritty + - name: Set install type when: - - alacritty_method is undefined or - alacritty_method == '' + - alacritty_install_method is undefined or + alacritty_install_method == '' + ansible.builtin.set_fact: + alacritty_install_method: system + + - name: Install via source + when: + - alacritty_install_method is defined + - alacritty_install_method == 'source' or + install_method == 'source' block: - - name: Install via system package manager - when: - - default_install_method == 'package' + - name: Configure alacritty source install ansible.builtin.set_fact: - alacritty_method: package - - - name: Install via homebrew casks - when: - - ansible_os_family == 'Darwin' or - default_install_method == 'homebrew' - ansible.builtin.set_fact: - alacritty_method: cask - - - name: Install via source - when: - - default_install_method == 'source' - ansible.builtin.set_fact: - alacritty_method: source + alacritty_install_method: source alacritty_src_install: cargo_build_flags: - --release name: "{{ alacritty_pkgname }}" repo: "{{ alacritty_git_repo }}" - version: "{{ alacritty_build_version }}" + version: "{{ alacritty_version }}" bin_output: "target/release/alacritty" bin_name: "alacritty" install_prefix: "/usr/local" @@ -50,54 +44,91 @@ - bin/alacritty - share/pixmaps/Alacritty.svg - - name: Set alacritty install options - block: - - name: Set options for RedHat based Linux - when: ansible_os_family == 'RedHat' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils - - name: Set options for Debian based Linux - when: ansible_os_family == 'Debian' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - libfontconfig1-dev - - libfreetype6-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - pkg-config - - python3 - - desktop-file-utils - - name: Set options for Alpine based Linux - when: ansible_os_family == 'Alpine' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - fontconfig-dev - - freetype-dev - - g++ - - libxcb-dev - - libxkbcommon-dev - - pkgconf - - desktop-file-utils - - name: Set options for FreeBSD - when: ansible_os_family == 'FreeBSD' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils - - name: Finished alacritty configuration + - name: Set alacritty install options + block: + - name: Set options for RedHat based Linux + when: + - ansible_os_family == 'RedHat' + block: + - name: Set common build dependencies + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + + - name: Add extra dependencies for EL7 + when: + - ansible_distribution_major_version == 7 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + + - name: Add extra dependencies for EL8 + when: + - ansible_distribution_major_version == 8 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" + + - name: Set options for Debian based Linux + when: + - ansible_os_family == 'Debian' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + + - name: Set options for Archlinux + when: + - ansible_os_family == 'Archlinux' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + + - name: Set options for Alpine based Linux + when: ansible_os_family == 'Alpine' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + + - name: Set options for FreeBSD + when: ansible_os_family == 'FreeBSD' + ansible.builtin.set_fact: + alacritty_build_deps: + - cmake + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils + + - name: Complete alacritty configuration when: __alacritty_configured is undefined ansible.builtin.set_fact: __alacritty_configured: true @@ -109,7 +140,7 @@ when: - alacritty_method == 'source' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" + pkg_sys: "{{ pkg_sys + alacritty_build_deps + ['git'] }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_cask diff --git a/tasks/pkgs/ansible-lint.yml b/tasks/pkgs/ansible-lint.yml deleted file mode 100644 index eb95271..0000000 --- a/tasks/pkgs/ansible-lint.yml +++ /dev/null @@ -1,27 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure ansible-lint - when: - - __ansible_lint_configured is undefined or - not __ansible_lint_configured - block: - - name: Set basic variables - ansible.builtin.set_fact: - ansible_lint_version: latest - ansible_lint_default_install_method: system - - name: Configure package options - ansible.builtin.set_fact: - ansible_lint_install_method: "{{ ansible_lint_install_method | default(install_method) }}" - - name: Set pipx name - when: - - ansible_lint_install_method == 'pipx' - ansible.builtin.set_fact: - ansible_lint_pkgname: ansible-lint - - name: Set package name - when: - - install_method == 'system' - ansible.builtin.set_fact: - ansible_lint_pkgname: ansible-lint -- name: Append ansible-lint to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname] }}" diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml new file mode 100644 index 0000000..8e78e2d --- /dev/null +++ b/tasks/pkgs/ansible_lint.yml @@ -0,0 +1,58 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Configure ansible-lint + when: + - __ansible_lint_configured is undefined or + not __ansible_lint_configured + block: + - name: Set basic variables + ansible.builtin.set_fact: + ansible_lint_version: latest + + - name: Configure package options + ansible.builtin.set_fact: + ansible_lint_install_method: "{{ ansible_lint_install_method | default(install_method) }}" + + - name: Set pipx name + when: + - ansible_lint_install_method == 'pipx' + ansible.builtin.set_fact: + ansible_lint_pkgname: "{{ 'ansible_lint' if ansible_lint_version == 'latest' else 'ansible-lint==' ~ ansible_lint_version }}" + + - name: Set package name + when: + - install_method == 'system' + block: + - name: Set package name RedHat/Debian/Alpine/Arch distros + when: + - ansible_os_family in ['RedHat', 'Debian', 'Alpine', 'Archlinux'] + ansible.builtin.set_fact: + ansible_lint_pkgname: ansible-lint + + - name: Set package name for FreeBSD + when: + - ansible_os_family == 'FreeBSD' + ansible.builtin.set_fact: + ansible_lint_pkgname: py311-ansible-lint + + - name: Ensure ansible_lint_install_method is valid + when: + - ansible_lint_install_method not in ansible_lint_install_methods + ansible.builtin.set_fact: + ansible_lint_install_method: ansible_lint_install_methods[0] + + - name: Complete ansible_lint configuration + ansible.builtin.set_fact: + __ansible_lint_configured: true + +- name: Add ansible-lint to pipx install list + when: + - ansible_lint_install_method == 'pipx' + ansible.builtin.set_fact: + pkg_pipx: "{{ pkg_pipx + [ansible_lint_pkgname] }}" + +- name: Append ansible-lint to system install list + when: + - ansible_lint_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname] }}" diff --git a/vars/pkglist.yml b/vars/pkglist.yml new file mode 100644 index 0000000..f1d045c --- /dev/null +++ b/vars/pkglist.yml @@ -0,0 +1,15 @@ +# vim: set filetype=yaml.ansible : +--- +# Default install variables as needed + +## Restrictions for package install methods. +## The first item is the default method. If only +## one method exists, all others are ignored. +air_install_methods: + - source +alacritty_install_methods: + - system + - source +ansible_lint_install_methods: + - system + - pipx -- 2.47.3 From 57b63d4503d7c8abe53c5ab6f345f01a038bea79 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Thu, 29 Jan 2026 11:53:09 -0700 Subject: [PATCH 08/48] moving to molecule --- molecule.yml | 0 molecule/fedora/converge.yml | 10 ++++++++ molecule/fedora/create.yml | 35 ++++++++++++++++++++++++++ molecule/fedora/destroy.yml | 24 ++++++++++++++++++ molecule/fedora/inventory.yml | 10 ++++++++ molecule/fedora/molecule.yml | 47 +++++++++++++++++++++++++++++++++++ molecule/fedora/verify.yml | 10 ++++++++ molecule/requirements.yml | 4 +++ tests/Containerfile.debian | 18 -------------- tests/Containerfile.el9 | 17 ------------- tests/Containerfile.fedora | 17 ------------- tests/Containerfile.ubuntu | 18 -------------- tests/cleanup.sh | 20 --------------- tests/inventory.yml | 7 ------ tests/lib.sh | 10 -------- tests/pubkey | 1 - tests/setup.sh | 26 ------------------- tests/test.sh | 11 -------- tests/test.yml | 12 --------- 19 files changed, 140 insertions(+), 157 deletions(-) create mode 100644 molecule.yml create mode 100644 molecule/fedora/converge.yml create mode 100644 molecule/fedora/create.yml create mode 100644 molecule/fedora/destroy.yml create mode 100644 molecule/fedora/inventory.yml create mode 100644 molecule/fedora/molecule.yml create mode 100644 molecule/fedora/verify.yml create mode 100644 molecule/requirements.yml delete mode 100644 tests/Containerfile.debian delete mode 100644 tests/Containerfile.el9 delete mode 100644 tests/Containerfile.fedora delete mode 100644 tests/Containerfile.ubuntu delete mode 100755 tests/cleanup.sh delete mode 100644 tests/inventory.yml delete mode 100644 tests/lib.sh delete mode 100644 tests/pubkey delete mode 100755 tests/setup.sh delete mode 100755 tests/test.sh delete mode 100644 tests/test.yml diff --git a/molecule.yml b/molecule.yml new file mode 100644 index 0000000..e69de29 diff --git a/molecule/fedora/converge.yml b/molecule/fedora/converge.yml new file mode 100644 index 0000000..d3a2052 --- /dev/null +++ b/molecule/fedora/converge.yml @@ -0,0 +1,10 @@ +--- +# Purpose: bring the instance to the desired state by running the role under test. +# Molecule calls this playbook with `molecule converge`. +- name: Converge + hosts: all + gather_facts: true # Disable if your role does not rely on facts + tasks: + - name: Apply role under test + ansible.builtin.include_role: + name: yournamespace.yourcollection.yourrole diff --git a/molecule/fedora/create.yml b/molecule/fedora/create.yml new file mode 100644 index 0000000..fcd6b92 --- /dev/null +++ b/molecule/fedora/create.yml @@ -0,0 +1,35 @@ +--- +- name: Create + hosts: localhost + connection: local + gather_facts: false + # no_log: "{{ molecule_no_log }}" + tasks: + # TODO: Developer must implement and populate 'server' variable + + - name: Create instance config + when: server.changed | default(false) | bool # noqa no-handler + block: + - name: Populate instance config dict # noqa jinja + ansible.builtin.set_fact: + instance_conf_dict: {} + # instance': "{{ }}", + # address': "{{ }}", + # user': "{{ }}", + # port': "{{ }}", + # 'identity_file': "{{ }}", } + with_items: "{{ server.results }}" + register: instance_config_dict + + - name: Convert instance config dict to a list + ansible.builtin.set_fact: + instance_conf: "{{ instance_config_dict.results | map(attribute='ansible_facts.instance_conf_dict') | list }}" + + - name: Dump instance config + ansible.builtin.copy: + content: | + # Molecule managed + + {{ instance_conf | to_json | from_json | to_yaml }} + dest: "{{ molecule_instance_config }}" + mode: "0600" diff --git a/molecule/fedora/destroy.yml b/molecule/fedora/destroy.yml new file mode 100644 index 0000000..59d6a8e --- /dev/null +++ b/molecule/fedora/destroy.yml @@ -0,0 +1,24 @@ +--- +- name: Destroy + hosts: localhost + connection: local + gather_facts: false + # no_log: "{{ molecule_no_log }}" + tasks: + # Developer must implement. + + # Mandatory configuration for Molecule to function. + + - name: Populate instance config + ansible.builtin.set_fact: + instance_conf: {} + + - name: Dump instance config + ansible.builtin.copy: + content: | + # Molecule managed + + {{ instance_conf | to_json | from_json | to_yaml }} + dest: "{{ molecule_instance_config }}" + mode: "0600" + when: server.changed | default(false) | bool # noqa no-handler diff --git a/molecule/fedora/inventory.yml b/molecule/fedora/inventory.yml new file mode 100644 index 0000000..8608676 --- /dev/null +++ b/molecule/fedora/inventory.yml @@ -0,0 +1,10 @@ +--- +all: + children: + builders: + hosts: + fedora-test: + ansible_host: fedora-test + container_image: registry.fedoraproject.org/fedora:latest + container_command: /sbin/init + container_privileged: true diff --git a/molecule/fedora/molecule.yml b/molecule/fedora/molecule.yml new file mode 100644 index 0000000..4219132 --- /dev/null +++ b/molecule/fedora/molecule.yml @@ -0,0 +1,47 @@ +--- +# Dependency management (download roles/collections) +dependency: + name: galaxy + options: + requirements-file: ../requirements.yml + + +ansible: + cfg: + defaults: + host_key_checking: false + verbosity: 1 + + executor: + backend: ansible-playbook + args: + ansible_playbook: + - --diff + - --force-handlers + - --inventory=/path/to/inventory.yml + ansible_navigator: + - --mode stdout + - --pull-policy missing + - --execution-environment-image ghcr.io/ansible/community-ansible-dev-tools:latest + + playbooks: + create: create.yml + converge: converge.yml + destroy: destroy.yml + cleanup: cleanup.yml + prepare: prepare.yml + side_effect: side_effect.yml + verify: verify.yml + +scenario: + name: fedora + test_sequence: + - dependency + - syntax + - create + - prepare + - converge + - idempotence + - verify + - cleanup + - destroy diff --git a/molecule/fedora/verify.yml b/molecule/fedora/verify.yml new file mode 100644 index 0000000..469b98c --- /dev/null +++ b/molecule/fedora/verify.yml @@ -0,0 +1,10 @@ +--- +# Purpose: assert that the instance really ended up in the expected state. +# Molecule calls this playbook with `molecule verify`. +- name: Verify + hosts: instance + gather_facts: false # Quicker, if you do not need facts + tasks: + - name: Assert something + ansible.builtin.assert: + that: true diff --git a/molecule/requirements.yml b/molecule/requirements.yml new file mode 100644 index 0000000..87b2525 --- /dev/null +++ b/molecule/requirements.yml @@ -0,0 +1,4 @@ +--- +collections: + - name: containers.podman + version: ">=1.10.0" diff --git a/tests/Containerfile.debian b/tests/Containerfile.debian deleted file mode 100644 index 67ca74f..0000000 --- a/tests/Containerfile.debian +++ /dev/null @@ -1,18 +0,0 @@ -FROM debian:bookworm -LABEL PROJECT "ansible_role_package" -LABEL MAINTAINER "Matthew Stobbs " - -RUN useradd -d /home/ansible -m -G wheel ansible -RUN apt update && \ - apt install -y openssh-server python3-paramiko gnupg2 -EXPOSE 22 - -USER ansible -WORKDIR /home/ansible -RUN mkdir /home/ansible/.ssh -COPY ./pubkey /home/ansible/.ssh/authorized_keys - -USER root -RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers -RUN ssh-keygen -A -ENTRYPOINT /usr/sbin/sshd -D diff --git a/tests/Containerfile.el9 b/tests/Containerfile.el9 deleted file mode 100644 index 15f4d96..0000000 --- a/tests/Containerfile.el9 +++ /dev/null @@ -1,17 +0,0 @@ -FROM almalinux:9 -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-libdnf gnupg2 -EXPOSE 22 - -USER ansible -WORKDIR /home/ansible -RUN mkdir /home/ansible/.ssh -COPY ./pubkey /home/ansible/.ssh/authorized_keys - -USER root -RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers -RUN ssh-keygen -A -ENTRYPOINT /usr/sbin/sshd -D diff --git a/tests/Containerfile.fedora b/tests/Containerfile.fedora deleted file mode 100644 index 957c9b1..0000000 --- a/tests/Containerfile.fedora +++ /dev/null @@ -1,17 +0,0 @@ -FROM fedora:41 -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 gnupg2 -EXPOSE 22 - -USER ansible -WORKDIR /home/ansible -RUN mkdir /home/ansible/.ssh -COPY ./pubkey /home/ansible/.ssh/authorized_keys - -USER root -RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers -RUN ssh-keygen -A -ENTRYPOINT /usr/sbin/sshd -D diff --git a/tests/Containerfile.ubuntu b/tests/Containerfile.ubuntu deleted file mode 100644 index 334297c..0000000 --- a/tests/Containerfile.ubuntu +++ /dev/null @@ -1,18 +0,0 @@ -FROM ubuntu:24.04 -LABEL PROJECT "ansible_role_package" -LABEL MAINTAINER "Matthew Stobbs " - -RUN useradd -d /home/ansible -m -G wheel ansible -RUN apt update && \ - apt install -y openssh-server python3-paramiko gnupg2 -EXPOSE 22 - -USER ansible -WORKDIR /home/ansible -RUN mkdir /home/ansible/.ssh -COPY ./pubkey /home/ansible/.ssh/authorized_keys - -USER root -RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers -RUN ssh-keygen -A -ENTRYPOINT /usr/sbin/sshd -D diff --git a/tests/cleanup.sh b/tests/cleanup.sh deleted file mode 100755 index f296948..0000000 --- a/tests/cleanup.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env zsh - -set -x - -[[ -f ./lib.sh ]] && source ./lib.sh || exit 1 - -ssh-keygen -R "[127.0.0.1]:2222" - -for os in ${OSBUILDS[@]} -do - if podman container exists ${CONTAINER}_${os} - then - podman stop ${CONTAINER}_${os} - fi -done - -if [ "$HOSTOS" = "Darwin" ] -then - podman machine stop ${MACHINENAME} -fi diff --git a/tests/inventory.yml b/tests/inventory.yml deleted file mode 100644 index dd14dfb..0000000 --- a/tests/inventory.yml +++ /dev/null @@ -1,7 +0,0 @@ -test: - hosts: - localhost: - ansible_ssh_host: 127.0.0.1 - ansible_ssh_port: 2222 - ansible_ssh_user: ansible - ansible_ssh_extra_args: "-o StrictHostKeyChecking=no" diff --git a/tests/lib.sh b/tests/lib.sh deleted file mode 100644 index 4b6986b..0000000 --- a/tests/lib.sh +++ /dev/null @@ -1,10 +0,0 @@ -HOSTOS="$(uname -o)" -IMAGE=${IMAGE:-packagetest} -CONTAINER=${CONTAINER:-packagetest} -MACHINENAME=${MACHINENAME:-podman-machine-default} -# OSBUILDS=("fedora" "el9" "debian" "ubuntu") -OSBUILDS=("fedora") - -function machine_state { - echo $(podman machine inspect $MACHINENAME | jq -r '.[].State') -} diff --git a/tests/pubkey b/tests/pubkey deleted file mode 100644 index ea6ad18..0000000 --- a/tests/pubkey +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAAxfDLK7wu1ITTMV8gIzImO+KkXsjByvN7gYebqb5e+ stobbsm@ed25591 diff --git a/tests/setup.sh b/tests/setup.sh deleted file mode 100755 index 985e1aa..0000000 --- a/tests/setup.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env zsh - -set -x - -[[ -f ./lib.sh ]] && source ./lib.sh || exit 1 - -if [ "$HOSTOS" = "Darwin" ] -then - 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" -fi - -echo "Building container images" -for os in ${OSBUILDS[@]} -do - echo "Building image for ${os}" - podman build --platform linux/amd64 -f Containerfile.${os} -t localhost/${IMAGE}:${os} . -done diff --git a/tests/test.sh b/tests/test.sh deleted file mode 100755 index 186ad87..0000000 --- a/tests/test.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env zsh - -set -x - -[[ -f ./lib.sh ]] && source ./lib.sh || exit 1 - -for os in ${OSBUILDS[@]} -do - podman run --rm -it -d --platform linux/amd64 --name ${CONTAINER}_${os} -p 2222:22 localhost/${IMAGE}:${os} - ansible-playbook "test.yml" -i inventory.yml -done diff --git a/tests/test.yml b/tests/test.yml deleted file mode 100644 index f15442e..0000000 --- a/tests/test.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- hosts: localhost - vars: - testpkgs: - - hyprland - tasks: - - name: Test all packages with use_local=false - ansible.builtin.include_role: - name: ansible_role_package - vars: - use_local: false - packages: "{{ testpkgs }}" -- 2.47.3 From fa78c0aa0c0c38c255df08a6b66d9ce5c85e319b Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 1 Feb 2026 21:38:59 -0700 Subject: [PATCH 09/48] updated yazi to single file build Signed-off-by: Matthew Stobbs --- tasks/config/yazi.yml | 8 ----- tasks/pkgs/alacritty.yml | 2 +- tasks/pkgs/yazi.yml | 78 +++++++++++++++++++++++++++++++++------- vars/pkgs/yazi.yml | 37 ------------------- 4 files changed, 66 insertions(+), 59 deletions(-) delete mode 100644 tasks/config/yazi.yml delete mode 100644 vars/pkgs/yazi.yml diff --git a/tasks/config/yazi.yml b/tasks/config/yazi.yml deleted file mode 100644 index 29511de..0000000 --- a/tasks/config/yazi.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible ---- -- name: Set yazi vars - ansible.builtin.set_fact: - yazi: - pkgs: "{{ pkgconfig.yazi.pkgs }}" - deps: "{{ pkgconfig.yazi.depends[ansible_os_family] }}" - pkg_deps: "{{ pkgconfig.yazi.pkg_depends }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 4fb57e2..40c0549 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -35,7 +35,7 @@ version: "{{ alacritty_version }}" bin_output: "target/release/alacritty" bin_name: "alacritty" - install_prefix: "/usr/local" + install_prefix: "{{ install_prefix }}" install_files: extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg desktop_files: diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index 69e8426..aac6ae8 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -1,25 +1,77 @@ # vim: set filetype=yaml.ansible : --- +- name: Configure yazi-fm + when: + - __yazi_configured is undefined or + not __yazi_configured + block: + - name: Configure yazi installation + ansible.builtin.set_fact: + yazi_git_repo: https://github.com/sxyazi/yazi.git + yazi_version: v26.1.22 + yazi_pkgname: yazi + yazi_pkg_depends: + - fd + - ripgrep + - fzf + - zoxide + yazi_build_depends: + RedHat: + - ImageMagick + - ffmpeg-free + - file + - jq + - oniguruma + - oniguruma-devel + - p7zip-plugins + - poppler + - wl-clipboard + - "@c-development" + - "@development-tools" + Darwin: + - ffmpeg + - file + - imagemagick + - jq + - oniguruma + - p7zip + - poppler + - name: Configure yazi source install + ansible.builtin.set_fact: + yazi_src_install: + cargo_build_flags: + - --release --locked + name: "{{ yazi_pkgname }}" + repo: "{{ yazi_git_repo }}" + version: "{{ yazi_version }}" + bin_output: "target/release/yazi" + bin_name: "yazi" + install_prefix: "{{ install_prefix }}" + install_files: + target/release/ya: bin/ya + files_list: + - bin/yazi + - bin/ya + + - name: Set _yazi_configured + when: + - __yazi_configured is undefined or + not __yazi_configured + ansible.builtin.set_fact: + __yazi_configured: true + - name: Add yazi-fm block: - - name: Load yazi-fm config - ansible.builtin.include_tasks: - file: config/yazi.yml - - name: Append yazi-fm pkg_deps - loop: "{{ yazi.pkg_deps }}" + loop: "{{ yazi_pkg_depends }}" loop_control: loop_var: yazi_pkg_dep vars: pkg: "{{ yazi_pkg_dep }}" ansible.builtin.include_tasks: - file: "pkgs/{{ yazi_pkg_dep }}.yml" + file: "helpers/addpkg.yml" - - name: Append yazi to pkg_cargo + - name: Append yazi to pkg_cargo_build ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + yazi.deps }}" - pkg_cargo: "{{ pkg_cargo + yazi.pkgs }}" - - - name: Set yazi-fm_configured - ansible.builtin.set_fact: - yazi_fm_configured: true + pkg_sys: "{{ pkg_sys + yazi_build_depends[ansible_os_family] }}" + pkg_cargo_build: "{{ pkg_cargo + yazi_src_install }}" diff --git a/vars/pkgs/yazi.yml b/vars/pkgs/yazi.yml deleted file mode 100644 index 6a7f5a3..0000000 --- a/vars/pkgs/yazi.yml +++ /dev/null @@ -1,37 +0,0 @@ -yazi: - pkgs: - - name: yazi-build - vers: 25.12.29 - locked: true - - name: yazi-fm - vers: 25.12.29 - locked: true - - name: yazi-cli - vers: 25.12.29 - locked: true - pkg_depends: - - fd - - ripgrep - - fzf - - zoxide - depends: - RedHat: - - ImageMagick - - ffmpeg-free - - file - - jq - - oniguruma - - oniguruma-devel - - p7zip-plugins - - poppler - - wl-clipboard - - "@c-development" - - "@development-tools" - Darwin: - - ffmpeg - - file - - imagemagick - - jq - - oniguruma - - p7zip - - poppler -- 2.47.3 From c613a29ce489b56cb3c63ebc00e18939cfe93a9e Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 2 Feb 2026 02:35:16 -0700 Subject: [PATCH 10/48] Working on source packages Signed-off-by: Matthew Stobbs --- handlers/main.yml | 13 --- meta/argument_spec.yml | 139 +++++++++++++++++-------- tasks/facts.yml | 40 +------- tasks/helpers/addpkg.yml | 5 - tasks/helpers/archive.yml | 29 ++++++ tasks/main.yml | 151 ++++++++++++--------------- tasks/pkgs/air.yml | 21 ++-- tasks/pkgs/alacritty.yml | 199 ++++++++++++++++-------------------- tasks/pkgs/ansible.yml | 32 +++++- tasks/pkgs/ansible_lint.yml | 50 +++++---- tasks/pkgs/go.yml | 82 +++++++++++++-- vars/main.yml | 92 ++++++++--------- vars/maintainers.yml | 6 ++ vars/pkglist.yml | 7 ++ 14 files changed, 470 insertions(+), 396 deletions(-) delete mode 100644 handlers/main.yml delete mode 100644 tasks/helpers/addpkg.yml create mode 100644 tasks/helpers/archive.yml create mode 100644 vars/maintainers.yml diff --git a/handlers/main.yml b/handlers/main.yml deleted file mode 100644 index c4fbbd2..0000000 --- a/handlers/main.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Depend terra repo - ansible.builtin.include_tasks: - file: repos/terra.yml - -- name: Depend hashicorp repo - ansible.builtin.include_tasks: - file: repos/hashicorp.yml - -- name: Depend zfs repo - ansible.builtin.include_tasks: - file: repos/zfs.yml diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index c6a780d..54466f4 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -5,10 +5,61 @@ argument_specs: short_description: Install software using ansible description: - Make the installation of packages consistent on each platform. - - Installs for RedHat, Debian and MacOS based systems. - author: - - Matthew Stobbs + - Will install via system package managers, source, or specific install tool. For example, a go package installed via source will run `go install`. + maintainers: + - Matthew Stobbs options: + packages: + type: list + elements: str + required: true + description: + - List of packages to install using this role's package name. + - See README.md for the list of available packages. + install_become: + type: bool + default: true + description: + - Install packages using privilege elevation. + install_become_user: + type: bool + default: root + description: + - User to become when install_become is true. + install_method: + type: str + default: system + description: + - Install packages using system package manager when available. + - When a package doesn't have a system install candidate for the host, it uses it's default install method as defined in the pkglist variables called `_install_methods` + - Most packages will be either `system` or `source` installs. + - System installs default to using the system package manager, if possible. + - Source installs download, build and install the package via source code. Source installs could be of different types based on the language. For example; python packages installed using `source` are installed with either pipx (default) or system pip. + choices: + - system + - source + python_package_method: + type: str + default: pipx + description: + - How to install pip packages. + choices: + - pipx + - system + install_prefix: + type: str + required: false + default: /usr/local + description: + - The prefix to use for non-system package installs. + - All package files will be installed using the directory prefixed by this prefix. + extra_ldd_paths: + type: list + elements: path + required: false + default: [] + description: + - Paths to add to the ld.so.conf path list. Will create a file in `/etc/ld.so.conf.d/` on most systems. packages: type: list elements: str @@ -16,80 +67,84 @@ argument_specs: description: - The list of packages to install by name. - The list must contain only values that exist in B(Available Packages) in README.md - extra_packages: + packages_extra: type: list elements: str + required: false + default: [] description: - Extra system packages by installation name to install using the system package manager + - These are installed directly using the system package manager + flatpak_default_remote: + type: str + required: false + default: flathub + description: + - the Default remote name to use with flatpak installation. flatpak_method: type: str + required: false default: system description: - Default installation method for flatpaks. - - Possible values are 'system' and 'user' - install_method: - type: str - default: system - choices: - - system - - source - - appimage - - flatpak - - snap + - Possible values are 'system' and 'user'. + - Only applies to linux distros. + flatpak_remotes: + type: list + elements: dict + required: false + default: + - name: flathub + url: https://dl.flathub.org/repo/flathub.flatpakrepo description: - - Default installation method for packages. - - Varies between each indivdual package, but this is for overall package installation. - - Possible values are V(system), V(source), V(appimage), V(flatpak), V(snap) - - When using MacOS, the V(system) option uses homebrew by default. - install_prefix: - type: path - default: /usr/local - description: - - Default installation prefix when installation non-system packages. - store_path: - type: path - default: ANSIBLE_USER_DIR/.cache/ansible_role_package - description: - - Where to store cached files like archives and git repos - clean_source: + - List of flatpak remotes to add to the system. + - Does not remove pre existing flatpak repos. + clean_install: type: bool default: false description: - - Remove existing installation of package before installing + - Remove existing installation of package before installing. path_appimage: type: path - default: INSTALL_PREFIX/appimage + default: /usr/local/appimage description: - Where appimage files are stored. path_archive: type: path - default: INSTALL_PREFIX/archive + default: /usr/local/archive description: - Where archives are extracted. path_bin: type: path - default: INSTALL_PREFIX/bin + default: /usr/local/bin description: - Where binaries are installed or linked. - - Needs to be added to your PATH + - Needs to be added to your PATH to be usable. path_cargo: type: path - default: INSTALL_PREFIX/cargo + default: /usr/local/cargo description: - Where cargo installs it's packages path_go: type: path - default: INSTALL_PREFIX/go + default: /usr/local/go description: - Where go is installed. Equivalent of GOROOT. path_pipx: type: path - default: INSTALL_PREFIX/pipx + default: /usr/local/pipx description: - Where pipx installs it's virtual environments - use_become: - type: bool - default: true + store_path: + type: path + default: //.cache/ansible_role_package + required: false description: - - Elevate privileges when installing non-system packages. - - Building will be done as the ansible user, elevating only when installing. + - Where cached files are kept, such as git repositories. + - Packages that are compiled have their source extracted here. + clean_cache: + type: bool + default: false + description: + - Clean the V(store_path) after completing package install. + - Removes source code, archives and git repositories diff --git a/tasks/facts.yml b/tasks/facts.yml index d3e2bae..afb9bd3 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -8,51 +8,15 @@ - name: Set package_home_base for Linux when: - - ansible_system == 'Linux' + - ansible_system == 'Linux' or + ansible_os_family == 'FreeBSD' ansible.builtin.set_fact: package_home_base: /home -- name: Set defaults paths - ansible.builtin.set_fact: - install_prefix: "{{ install_prefix | default(default_install_prefix) }}" - default_store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" - default_path_appimage: "{{ install_prefix | default(default_install_prefix) }}/appimage" - default_path_archive: "{{ install_prefix | default(default_install_prefix) }}/archive" - default_path_bin: "{{ install_prefix | default(default_install_prefix) }}/bin" - default_path_cargo: "{{ install_prefix | default(default_install_prefix) }}/cargo" - default_path_go: "{{ install_prefix | default(default_install_prefix) }}/go" - default_path_pipx: "{{ install_prefix | default(default_install_prefix) }}/pipx" - -- name: Set install variables - ansible.builtin.set_fact: - store_path: "{{ store_path | default(default_store_path) }}" - path_appimage: "{{ path_appimage | default(default_path_appimage) }}" - path_archive: "{{ path_archive | default(default_path_archive) }}" - path_bin: "{{ path_bin | default(default_path_bin) }}" - path_cargo: "{{ path_cargo | default(default_path_cargo) }}" - path_go: "{{ path_go | default(default_path_go) }}" - path_pipx: "{{ path_pipx | default(default_path_pipx) }}" - -- name: Set OS independant facts - ansible.builtin.set_fact: - pkg_archive: [] # packages installed via prebuilt archive - pkg_cargo: [] # rust packages from cargo using `cargo install` - pkg_cargo_build: [] # rust packages using `cargo build` before install - pkg_go: [] # go applications - pkg_npm: [] # npm commands - pkg_pipx: [] # pipx packages - pkg_src: [] # packages built from source - pkg_sys: [] # system package manager packages, homebrew on macOS, dnf for RedHat based, apt for Debian Based - pkg_zig: [] # zig packages - - name: Set Linux specific facts when: - ansible_system == 'Linux' ansible.builtin.set_fact: - flatpak_remotes: "{{ default_flatpak_remotes }}" - pkg_appimage: [] # appimages to install - pkg_flatpak: [] # flatpak packages to install - pkg_snap: [] # snpacraft.io packages pipx_exec: "/usr/bin/pipx" path_lib: lib64 root_prefix: /usr/local diff --git a/tasks/helpers/addpkg.yml b/tasks/helpers/addpkg.yml deleted file mode 100644 index aa1e058..0000000 --- a/tasks/helpers/addpkg.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: "Add include task for {{ pkg }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ pkg }}.yml" diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml new file mode 100644 index 0000000..fc79212 --- /dev/null +++ b/tasks/helpers/archive.yml @@ -0,0 +1,29 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Extract archive to given path + block: + - name: Ensure directory exists + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + ansible.bulitin.file: + state: directory + path: "{{ extract_path }}" + mode: "{{ install_prefix_mode }}" + owner: "{{ install_prefix_owner }}" + group: "{{ install_prefix_group }}" + + - name: Download archive to cache + ansible.builtin.get_url: + dest: "{{ d_cache }}/{{ archive_name }}" + url: "{{ archive_url }}" + checksum: "{{ archive_checksum }}" + decompress: false + mode: '0644' + + - name: Extract go archive + ansible.builtin.unarchive: + dest: "{{ extract_path }}" + src: "{{ d_cache }}/{{ archive_name }}" + remote_src: true + include: "{{ archive_include | default(omit) }}" + exclude: "{{ archive_exclude | default(omit) }}" diff --git a/tasks/main.yml b/tasks/main.yml index f423d8b..0d14e24 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,110 +1,89 @@ # vim: set filetype=yaml.ansible : --- -# create all the facts used throughout the role, but shouldn't be touched -# by the user -- name: Create cache directory - register: d_cache - ansible.builtin.file: - path: "{{ store_path }}" - mode: '0777' - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" - state: directory - - name: Set installation facts ansible.builtin.include_tasks: file: facts.yml -- name: Ensure directory exists {{ path.prefix }} - become: "{{ ext_become }}" +- name: Create cache directory + register: d_cache + ansible.builtin.file: + path: "{{ store_path }}" + mode: '0755' + owner: "{{ ansible_user_id }}" + group: "{{ ansible_user_gid }}" + state: directory + +- name: Ensure required paths exists + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: + - "{{ install_prefix }}" + - "{{ path_appimage }}" + - "{{ path_archive }}" + - "{{ path_bin }}" + - "{{ path_cargo }}" + - "{{ path_git }}" + - "{{ path_pipx }}" + loop_control: + loop_var: path ansible.builtin.file: state: directory mode: '0755' - path: "{{ path.prefix }}" + owner: "{{ install_prefix_owner }}" + group: "{{ install_prefix_group }}" + path: "{{ path }}" -- name: Ensure directory exists {{ path.bin }} - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.bin }}" - -- name: Read default package configuration +- name: Read package configuration ansible.builtin.include_vars: - dir: pkgs - extensions: - - yml - name: pkgconfig + file: pkglist.yml -- name: Read default package configuration - ansible.builtin.include_vars: - dir: src - extensions: - - yml - name: srcconfig - -- name: Append system_packages to pkg_sys +- name: Add needed packages for Fedora + when: + - ansible_distribution == 'Fedora' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + extra_packages }}" + pkg_sys: "{{ packages_extra + ['python3-paramiko'] }}" + +- name: Add needed MacOS packages + when: + - ansible_distribution == 'MacOSX' + ansible.builtin.set_fact: + pkg_sys: "{{ packages_extra + ['gnu-tar', 'virtualenv'] }}" + +- name: Add needed Alpine packages + when: + - ansible_os_family == 'Alpine' + ansible.builtin.set_fact: + pkg_sys: "{{ packages_extra + ['tar', 'unzip'] }}" + +- name: Append extra packages to system install list + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + packages_extra }}" - name: Generate package installation lists loop: "{{ packages | unique }}" loop_control: loop_var: pkg ansible.builtin.include_tasks: - file: addpkg.yml + file: "pkgs/{{ pkg }}.yml" -- name: Flush handlers to ensure dependencies are installed - ansible.builtin.meta: flush_handlers - -- name: Add needed packages for Fedora +- name: Install go if required when: - - ansible_distribution == 'Fedora' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['python3-paramiko'] }}" + - pkg_go|length > 0 + ansible.builtin.include_tasks: + file: pkgs/go.yml -- name: Add needed MacOS packages +- name: Install rust and cargo if required when: - - ansible_distribution == 'MacOSX' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['gnu-tar', 'virtualenv'] }}" + - pkg_cargo|length > 0 or + pkg_cargo_build|length > 0 + ansible.builtin.include_tasks: + file: pkgs/rust.yml -- name: Add needed Alpine packages +- name: Ensure pipx is installed when: - - ansible_os_family == 'Alpine' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['tar', 'unzip'] }}" - -- name: Ensure extra dependencies are installed - block: - - name: Ensure go binary is installed - when: pkg_go|length > 0 - vars: - pkg: go - ansible.builtin.include_tasks: - file: addpkg.yml - - - name: Ensure go path exists - become: "{{ ext_become }}" - when: pkg_go|length > 0 - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.go }}" - - - name: Ensure rust and cargo are installed - when: pkg_cargo|length > 0 - vars: - pkg: rust - ansible.builtin.include_tasks: - file: addpkg.yml - - - name: Ensure pipx is installed - when: pkg_pipx|length > 0 - vars: - pkg: pipx - ansible.builtin.include_tasks: - file: addpkg.yml + - pkg_pipx|length > 0 + ansible.builtin.include_tasks: + file: pkgs/pipx.yml - name: Ensure pipx path exists when: pkg_pipx|length > 0 @@ -141,12 +120,14 @@ path: "{{ path.appimage }}" - name: Ensure archive path exists - when: pkg_archive|length > 0 - become: "{{ ext_become }}" + when: + - pkg_archive|length > 0 + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.file: state: directory mode: '0755' - path: "{{ path.archive }}" + path: "{{ path_archive }}" - name: Depend zig when: pkg_zig|length > 0 diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 133118d..9003993 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,36 +1,29 @@ # vim: set filetype=yaml.ansible : --- -- name: Set air configuration +- name: Set air configuration # {{{ when: - __air_configured is undefined or not __air_configured block: - - name: Set air_install_method + - name: Set air install method when: - air_install_method is undefined ansible.builtin.set_fact: - air_install_method: source + air_install_method: "{% if install_method in air_install_methods %}{{ install_method }}{% else %}{{ air_install_method[0] }}{% endif %}" - name: Set air version and url ansible.builtin.set_fact: air_version: "{{ air_version | default('latest') }}" - air_url: "{{ air_url | default('github.com/air-verse/air') }}" + air_install_url: "{{ air_install_url | default('github.com/air-verse/air') }}" - - name: Set air install path + - name: Set air install package ansible.builtin.set_fact: - air_pkg: "{{ air_url }}@{{ air_version }}" - - - name: Ensure air_install_method is valid - when: - - air_install_method is defined - - air_install_method not in air_install_methods - ansible.builtin.set_fact: - air_intall_method: air_install_methods[0] + air_pkg: "{{ air_install_url }}@{{ air_version }}" - name: Complete air configuration ansible.builtin.set_fact: __air_configured: true - +# }}} - name: Append air to pkg_go when: - air_install_method == 'source' diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 40c0549..1b56398 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -5,128 +5,103 @@ - __alacritty_configured is undefined or not __alacritty_configured block: + - name: Set install method + when: + - alacritty_install_method is undefined + ansible.builtin.set_fact: + alacritty_install_method: "{% if default_install_method in alacritty_install_methods %}{{ default_install_method }}{% else %}{{ alacritty_install_methods[0] }}{% endif %}" + - name: Set basic variables ansible.builtin.set_fact: - alacritty_version: v0.16.1 - alacritty_git_repo: https://github.com/alacritty/alacritty - alacritty_pkgname: alacritty + alacritty_version: "{{ alacritty_version | default('v0.16.1') }}" + alacritty_git_repo: "{{ alacritty_git_repo | default('https://github.com/alacritty/alacritty') }}" + alacritty_pkgname: "{{ alacritty_pkgname | default('alacritty') }}" + alacritty_build_deps_extra: [] - - name: Set install type + - name: Configure alacritty source install when: - - alacritty_install_method is undefined or - alacritty_install_method == '' + - alacritty_install_method == "source" ansible.builtin.set_fact: - alacritty_install_method: system + alacritty_src_install: + cargo_build_flags: + - --release + name: "{{ alacritty_pkgname }}" + repo: "{{ alacritty_git_repo }}" + version: "{{ alacritty_version }}" + bin_output: "target/release/alacritty" + bin_name: "alacritty" + install_prefix: "{{ install_prefix }}" + install_files: + extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg + desktop_files: + - extra/linux/Alacritty.desktop + files_list: + - bin/alacritty + - share/pixmaps/Alacritty.svg + alacritty_build_deps: + RedHat: + - cmake + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + Debian: + - cmake + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + Alpine: + - cmake + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + Archlinux: + - cmake + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + FreeBSD: + - cmake + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils - - name: Install via source - when: - - alacritty_install_method is defined - - alacritty_install_method == 'source' or - install_method == 'source' - block: - - name: Configure alacritty source install - ansible.builtin.set_fact: - alacritty_install_method: source - alacritty_src_install: - cargo_build_flags: - - --release - name: "{{ alacritty_pkgname }}" - repo: "{{ alacritty_git_repo }}" - version: "{{ alacritty_version }}" - bin_output: "target/release/alacritty" - bin_name: "alacritty" - install_prefix: "{{ install_prefix }}" - install_files: - extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg - desktop_files: - - extra/linux/Alacritty.desktop - files_list: - - bin/alacritty - - share/pixmaps/Alacritty.svg - - - name: Set alacritty install options + - name: Set alacritty install extra build deps + when: + - alacritty_install_method == "source" + - ansible_os_family == "RedHat" + - ansible_os_major_version < 9 block: - - name: Set options for RedHat based Linux + - name: Add extra dependencies for EL7 when: - - ansible_os_family == 'RedHat' - block: - - name: Set common build dependencies - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils + - ansible_distribution_major_version == 7 + ansible.builtin.set_fact: + alacritty_build_deps_extra: ['xcb-util-devel', '@Development Tools'] - - name: Add extra dependencies for EL7 - when: - - ansible_distribution_major_version == 7 - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" - - - name: Add extra dependencies for EL8 - when: - - ansible_distribution_major_version == 8 - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" - - - name: Set options for Debian based Linux + - name: Add extra dependencies for EL8 when: - - ansible_os_family == 'Debian' + - ansible_distribution_major_version == 8 ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - g++ - - pkg-config - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - - libfreetype6-dev - - desktop-file-utils - - - name: Set options for Archlinux - when: - - ansible_os_family == 'Archlinux' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - freetype2 - - fontconfig - - pkg-config - - make - - libxcb - - libxkbcommon - - python - - desktop-file-utils - - - name: Set options for Alpine based Linux - when: ansible_os_family == 'Alpine' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - pkgconf - - freetype-dev - - fontconfig-dev - - python3 - - libxcb-dev - - g++ - - libxkbcommon-dev - - desktop-file-utils - - - name: Set options for FreeBSD - when: ansible_os_family == 'FreeBSD' - ansible.builtin.set_fact: - alacritty_build_deps: - - cmake - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils + alacritty_build_deps_extra: ['@Development Tools'] - name: Complete alacritty configuration when: __alacritty_configured is undefined @@ -140,7 +115,7 @@ when: - alacritty_method == 'source' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps + ['git'] }}" + pkg_sys: "{{ pkg_sys + alacritty_build_deps + alacritty_build_deps_extra + ['git'] }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_cask diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 2c408af..7bf730d 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -1,5 +1,33 @@ # vim: set filetype=yaml.ansible : --- -- name: Append ansible to pkg_sys +- name: Set maintainer ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['ansible'] }}" + ansible_maintainers: + - Matthew Stobbs +- name: Configure ansible + when: + - __ansible_configured is undefined or + not __ansible_configured + block: + - name: Set ansible install method + when: + - ansible_install_method is undefined + ansible.bulitin.set_fact: + ansible_install_method: "{% if install_method in ansible_install_methods %}{{ install_method }}{% else %}{{ ansible_install_methods[0] }}{% endif %}" + ansible_pkgname: + RedHat: ansible + Debian: ansible + Alpine: ansible + Archlinux: ansible + + - name: Complete ansible configuration + ansible.builtin.set_fact: + __ansible_configured: true + +- name: Append ansible to system package manager install list + when: + - ansible_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ansible_pkgname[ansible_os_family]] }}" + +- name: Append ansible to pipx install list diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 8e78e2d..69b2685 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -1,58 +1,54 @@ # vim: set filetype=yaml.ansible : --- -- name: Configure ansible-lint +- name: Configure ansible_lint when: - __ansible_lint_configured is undefined or not __ansible_lint_configured block: - name: Set basic variables ansible.builtin.set_fact: - ansible_lint_version: latest + ansible_lint_version: "{{ ansible_lint_version | default('latest') }}" - - name: Configure package options - ansible.builtin.set_fact: - ansible_lint_install_method: "{{ ansible_lint_install_method | default(install_method) }}" - - - name: Set pipx name + - name: Set ansible_lint install method when: - - ansible_lint_install_method == 'pipx' + - ansible_lint_install_method is undefined + ansible.builtin.set_fact: + ansible_lint_install_method: "{% if install_method in ansible_lint_install_methods %}{{ install_method }}{% else %}{{ ansible_lint_install_methods[0] }}{% endif %}" + + - name: Set pipx pkgnname + when: + - ansible_lint_install_method == 'pipx' or + ansible_lint_install_method == 'system_pip' ansible.builtin.set_fact: ansible_lint_pkgname: "{{ 'ansible_lint' if ansible_lint_version == 'latest' else 'ansible-lint==' ~ ansible_lint_version }}" - name: Set package name when: - install_method == 'system' - block: - - name: Set package name RedHat/Debian/Alpine/Arch distros - when: - - ansible_os_family in ['RedHat', 'Debian', 'Alpine', 'Archlinux'] - ansible.builtin.set_fact: - ansible_lint_pkgname: ansible-lint - - - name: Set package name for FreeBSD - when: - - ansible_os_family == 'FreeBSD' - ansible.builtin.set_fact: - ansible_lint_pkgname: py311-ansible-lint - - - name: Ensure ansible_lint_install_method is valid - when: - - ansible_lint_install_method not in ansible_lint_install_methods ansible.builtin.set_fact: - ansible_lint_install_method: ansible_lint_install_methods[0] + ansible_lint_pkgname: + RedHat: ansible-lint + Debian: ansible-lint + Archlinux: ansible-lint + Alpine: ansible-lint + FreeBSD: py311-ansible-lint - name: Complete ansible_lint configuration ansible.builtin.set_fact: __ansible_lint_configured: true -- name: Add ansible-lint to pipx install list +- name: Add ansible_lint to pipx install list when: - ansible_lint_install_method == 'pipx' ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + [ansible_lint_pkgname] }}" +- name: Add ansible_lint to system_pip install list + when: + - ansible_lint_install_method == 'system_pip' + - name: Append ansible-lint to system install list when: - ansible_lint_install_method == 'system' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname] }}" + pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[ansible_os_family]] }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 9664b51..721da72 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -1,16 +1,78 @@ # vim: set filetype=yaml.ansible : --- -- name: Load go config - ansible.builtin.include_tasks: - file: config/go.yml - -- name: Append go to pkg_archive +- name: Configure go for install when: - - go.method == 'archive' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['go'] }}" + - __go_configured is undefined + block: + - name: Configure go install method + when: + - go_install_method is undefined + ansible.builtin.set_fact: + go_install_method: "{% if install_method in go_install_methods %}{{ install_method }}{% else %}{{ go_install_methods[0] }}{% endif %}" -- name: Append to pkg_sys - - go.method != 'archive' + - name: Configure go archive installation + when: + - go_install_method == 'archive' + block: + - name: Configure go + ansible.builtin.set_fact: + go_version: "{{ go_version | default('1.25.6') }}" + go_system: "{{ ansible_system | lower }}" + go_archmap: + arm64: arm64 + aarch64: arm64 + x86_64: amd64 + go_install_sums: + 1.25.6: + Darwin: + amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 + arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 + Linux: + amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a + arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 + + - name: Set go architecture + ansible.builtin.set_fact: + go_arch: "{{ go_archmap[ansible_architecture] }}" + + - name: Set archive name + ansible.builtin.set_fact: + go_archive: "go{{ go_version }}.{{ go_system }}-{{ go_arch }}.tar.gz" + + - name: Set go download url + ansible.builtin.set_fact: + go_archive_url: "https://go.dev/dl/{{ go_archive }}" + + - name: Set archive extract location + ansible.builtin.set_fact: + go_extract_path: "{{ path_archive }}/go{{ go_version }}" + + - name: Complete go archive install configuration + ansible.builtin.set_fact: + __go_configured: true + go_archive_install: + extract_path: "{{ go_extract_path }}" + archive_url: "{{ go_archive_url }}" + archive_name: "{{ go_archive }}" + archive_checksum: "{{ go_install_sums[go_version][ansible_system][go_arch] }}" + +- name: Install vis system package manager + when: + - go_install_method == 'system' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['go'] }}" + +- name: Install via archive + when: + - go_install_method == 'archive' + block: + - name: Add go archive extract install + ansible.builtin.set_fact: + pkg_archive: "{{ pkg_archive + [go_archive_install] }}" + + - name: Set symbolic link to archive path + ansible.bulitin.file: + state: link + force: true + path: "{{ path_go }}" + src: "{{ got_extract_path }}/go" diff --git a/vars/main.yml b/vars/main.yml index 7557790..1d887fc 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,55 +1,51 @@ # vim: set filetype=yaml.ansible : # variables used in ansible_role_package --- -default_flatpak_method: system -default_flatpak_remotes: - - name: flathub - url: https://dl.flathub.org/repo/flathub.flatpakrepo -default_flatpak_remote_name: flathub -default_install_method: system -default_install_prefix: /usr/local -default_store_path: HOME/.cache/ansible_role_package -default_path_appimage: /usr/local/appimage -default_path_archive: /usr/local/archive -default_path_bin: /usr/local/bin -default_path_cargo: /usr/local/cargo -default_path_go: /usr/local/go -default_path_pipx: /usr/local/pipx -default_path_git: /usr/local/git -packages: [] # list of packages to install -extra_packages: [] # list of extra packages to add to pkg_sys +# General configuration +clean_install: false +clean_cache: false +install_become: true +install_become_user: root +install_method: system +install_prefix: /usr/local +install_prefix_mode: '0755' +install_prefix_owner: root +install_prefix_group: root +extra_ldd_paths: [] +packages_extra: [] -# Path suffixes for installation types. Prefixed by `default_install_prefix` -directory_appimage: appimage -directory_archive: archive -directory_bin: bin -directory_cargo: cargo -directory_go: go -directory_pipx: pipx -directory_git: git +# flatpak default configuration +flathub_remote: + name: flathub + url: https://dl.flathub.org/repo/flathub.flatpakrepo +flatpak_default_remote: flathub +flatpak_method: system +flatpak_remotes: "{{ [flathub_remote] }}" -default_clean_source: false +# Installation paths +path_appimage: "{{ install_prefix }}/appimage" +path_archive: "{{ install_prefix }}/archive" +path_bin: "{{ install_prefix }}/bin" +path_cargo: "{{ install_prefix }}/cargo" +path_git: "{{ store_path }}/git" +path_go: "{{ install_prefix }}/go" +path_pipx: "{{ install_prefix }}/pipx" +store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" -## Extra config that usually will not need to be changed -hyprgitbase: https://github.com/hyprwm +# System paths -_pkgconfig_force_rebuild: false - -# neovim configuration -_pkgversion_neovim: master -_gitbranch_neovim: master - -# Empty variables that need to exist -flatpak_remotes: null # flatpak remotes to add instead of default -flatpak_remote_name: null # the source of flatpak installations -flatpak_method: null # the method to use when installing flatpak -install_method: null # the way to install packages (system, source, etc) -install_prefix: null # the path prefix to install files -store_path: null # the path to store archives, git repos and appimages, etc. -path_appimage: null -path_archive: null -path_bin: null -path_cargo: null -path_go: null -path_pipx: null -use_become: true +# empty lists that must be defined +pkg_archive: [] # packages installed via prebuilt archive +pkg_cargo: [] # rust packages from cargo using `cargo install` +pkg_cargo_build: [] # rust packages using `cargo build` before install +pkg_go: [] # go applications +pkg_npm: [] # npm commands +pkg_pipx: [] # pipx packages +pkg_sys_pip: [] # system pip packages +pkg_src: [] # packages built from source +pkg_sys: [] # system package manager packages +pkg_zig: [] # zig packages +pkg_sh: [] # use shell commands to install a package +pkg_appimage: [] # appimages to install +pkg_flatpak: [] # flatpak packages to install +pkg_snap: [] # snpacraft.io packages diff --git a/vars/maintainers.yml b/vars/maintainers.yml new file mode 100644 index 0000000..c457dbb --- /dev/null +++ b/vars/maintainers.yml @@ -0,0 +1,6 @@ +# vim: set filetype=yaml.ansible : +--- +maintainers: + - name: Matthew Stobbs + packages: + - all diff --git a/vars/pkglist.yml b/vars/pkglist.yml index f1d045c..6602708 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -12,4 +12,11 @@ alacritty_install_methods: - source ansible_lint_install_methods: - system + - system_pip - pipx +ansible_install_methods: + - system + - system_pip +yazi_install_methods: + - source + - cargo -- 2.47.3 From b9fdf03298345904f62a0598dc9d1002f7fa7ea3 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 2 Feb 2026 16:01:28 -0700 Subject: [PATCH 11/48] working on hyprland packages Signed-off-by: Matthew Stobbs --- tasks/pkgs/hyprland.yml | 53 ++++++++++++++++++++++++++++-- tasks/pkgs/hyprwayland_scanner.yml | 1 + vars/main.yml | 2 ++ vars/pkglist.yml | 3 ++ vars/src/aquamarine.yml | 53 ------------------------------ 5 files changed, 56 insertions(+), 56 deletions(-) diff --git a/tasks/pkgs/hyprland.yml b/tasks/pkgs/hyprland.yml index 2241681..41479a8 100644 --- a/tasks/pkgs/hyprland.yml +++ b/tasks/pkgs/hyprland.yml @@ -1,8 +1,55 @@ # vim: set filetype=yaml.ansible : --- -- name: Load hyprland config - ansible.builtin.include_tasks: - file: config/hyprland.yml +- name: Configure Hyprland + when: + - __hyprland_configured is undefined + block: + - name: Set Hyprland install method + when: + - hyprland_install_method is undefined + ansible.bulitin.set_fact: + hyprland_install_method: "{% if install_method in hyprland_install_methods %}{{ install_method }}{% else %}{{ hyprland_install_methods[0] }}{% endif %}" + + - name: Set Hyprland source install configuration + when: + - hyprland_install_method == 'source' + ansible.bulitin.set_fact: + hyprland_version: "{{ hyprland_version | default('v0.53.3') }}" + hyprland_git_repo: "{{ hyprland_git_repo | default('https://github.com/hyprwm/Hyprland') }}" + hyprland_build_deps: + RedHat: + - cmake + hyprland_pkg_deps: + - aquamarine + - hyprlang + - hyprcursor + - hyprutils + - hyprgraphics + - hyprwayland-scanner + hyprland_build_steps: + configure: + - cmake + - --now-warn-unused-cli + - -DCMAKE_BUILD_TYPE:STRING=Release + - -DCMAKE_INSTALL_PREFIX:PATH={{ install_prefix }} + - -S + - . + - -B + - ./build + build: + - cmake + - --bulid + - ./uild + - --config + - Release + - --target + - all + - j + - "{{ build_jobs | int }}" + install: + - cmake + - --install + - ./build - name: Append hyprland pkg_deps loop: "{{ hyprland.pkg_deps }}" diff --git a/tasks/pkgs/hyprwayland_scanner.yml b/tasks/pkgs/hyprwayland_scanner.yml index acc77d6..14a22fc 100644 --- a/tasks/pkgs/hyprwayland_scanner.yml +++ b/tasks/pkgs/hyprwayland_scanner.yml @@ -1,5 +1,6 @@ # vim: set filetype=yaml.ansible : --- +# build deps: pugixml - name: Load hyprwayland-scanner config ansible.builtin.include_tasks: file: config/hyprwayland_scanner.yml diff --git a/vars/main.yml b/vars/main.yml index 1d887fc..a1311b6 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -4,6 +4,7 @@ # General configuration clean_install: false clean_cache: false +build_jobs: "{{ ansible_processor_nproc | int }}" install_become: true install_become_user: root install_method: system @@ -31,6 +32,7 @@ path_git: "{{ store_path }}/git" path_go: "{{ install_prefix }}/go" path_pipx: "{{ install_prefix }}/pipx" store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" +path_lib: "{{ install_prefix }}/lib" # System paths diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 6602708..aa457f2 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -17,6 +17,9 @@ ansible_lint_install_methods: ansible_install_methods: - system - system_pip +# hyprland packages +aquamarine_install_methods: + - source yazi_install_methods: - source - cargo diff --git a/vars/src/aquamarine.yml b/vars/src/aquamarine.yml index 91252ba..67b5942 100644 --- a/vars/src/aquamarine.yml +++ b/vars/src/aquamarine.yml @@ -4,58 +4,5 @@ aquamarine: gitrepo: "{{ hyprgitbase }}/aquamarine" src_path: "{{ d_tempdir.path }}/aquamarine" deps: - RedHat: - - hwdata-devel - - libdisplay-info-devel - - libdrm-devel - - libinput-devel - - libseat-devel - - mesa-libgbm-devel - - systemd-devel - - wayland-devel - - wayland-protocols-devel - Alpine: - - build-base - - elogind-dev - - hwdata-dev - - libdisplay-info-dev - - libdrm-dev - - libinput-dev - - libseat-dev - - mesa-gbm - - mesa-dev - - wayland-dev - - wayland-protocols - configure: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ root_prefix }} - - -S - - . - - -B - - ./build build_creates: "{{ d_tempdir.path }}/build/libaquamarine.so" - build: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" install_creates: "{{ root_prefix }}/{{ lib_path }}/libaquamarine.so" - install: - - cmake - - --install - - ./build - build_installed_files: - - "{{ lib_path }}/libaquamarine.so.0.8.0" - - "{{ lib_path }}/libaquamarine.so.7" - - "{{ lib_path }}/libaquamarine.so.0.7.2" - - "{{ lib_path }}libaquamarine.so.6" - - "{{ lib_path }}/libaquamarine.so" - - include/aquamarine - - "{{ lib_path }}/pkgconfig/aquamarine.pc" -- 2.47.3 From 81a1dd74692fb742443454dc2aff15fdd3a1d9e2 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 2 Feb 2026 17:06:31 -0700 Subject: [PATCH 12/48] working on go Signed-off-by: Matthew Stobbs --- README.md | 2 +- tasks/helpers/go.yml | 18 +++++-- tasks/pkgs/air.yml | 50 +++++++++++++------- tasks/pkgs/alacritty.yml | 99 ++++++++++----------------------------- tasks/pkgs/aquamarine.yml | 46 ++++++++++++++++-- tasks/pkgs/go.yml | 73 ++++++++++++----------------- tasks/pkgs/hyprland.yml | 8 ++-- vars/main.yml | 85 +++++++++++++++++++++++++++++++++ vars/pkglist.yml | 3 +- 9 files changed, 237 insertions(+), 147 deletions(-) diff --git a/README.md b/README.md index 96db1ee..04ddcd4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ special handling. Order of precedence for package installation: 1. System package manager (dnf, apt, homebrew, etc.) -2. Source built - only in some situations, like for fast moving software (neovim) +2. Source built - only in some situations, like for fast moving software (neovim, hyprland) 3. Appimage (Linux only) 4. Flatpak (Linux only) 5. Snap (Linux only), takes precedence over flatpak on Ubuntu based systems diff --git a/tasks/helpers/go.yml b/tasks/helpers/go.yml index 4c1c607..38b99c6 100644 --- a/tasks/helpers/go.yml +++ b/tasks/helpers/go.yml @@ -1,9 +1,17 @@ # vim: set filetype=yaml.ansible : --- -- name: Install go package {{ pkg }} - become: "{{ ext_become }}" +- name: Install go packages + become: "{{ install_become }}" environment: - GOBIN: "{{ path.bin }}" - PATH: "{{ path.go }}/bin:$PATH" + GOBIN: "{{ path_bin }}" + GOROOT: "{{ path_go }}" + PATH: "{{ path_go }}/bin:$PATH" + loop: pkg_go + loop_control: + loop_var: current ansible.builtin.command: - cmd: go install {{ pkg }} + creates: "{{ current.bin }}" + argv: + - go + - install + - "{{ current.url }}" diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 9003993..aae2976 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,9 +1,8 @@ # vim: set filetype=yaml.ansible : --- -- name: Set air configuration # {{{ +- name: Configure air # {{{ when: - - __air_configured is undefined or - not __air_configured + - __air_configured is undefined block: - name: Set air install method when: @@ -11,21 +10,40 @@ ansible.builtin.set_fact: air_install_method: "{% if install_method in air_install_methods %}{{ install_method }}{% else %}{{ air_install_method[0] }}{% endif %}" - - name: Set air version and url - ansible.builtin.set_fact: - air_version: "{{ air_version | default('latest') }}" - air_install_url: "{{ air_install_url | default('github.com/air-verse/air') }}" + - name: Configure air source install + when: + - air_install_method == 'source' + block: + - name: Set air install package + ansible.builtin.set_fact: + air_go_pkg: + url: "{{ air_install_url }}@{{ air_version }}" + bin: "{{ path_bin }}/air" +# }}} + - name: Append air to pkg_go + when: + - air_install_method == 'source' + block: + - name: Clean existing air install + when: + - clean_install + loop: air_build_files + loop_control: + lopo_var: air_file + ansible.builtin.file: + state: absent + path: "{{ install_prefix }}/{{ air_file }}" - - name: Set air install package - ansible.builtin.set_fact: - air_pkg: "{{ air_install_url }}@{{ air_version }}" + - name: Configure pkg dependencies + loop: "{{ air_pkg_deps }}" + loop_control: + loop_var: air_pkg_dep + ansible.builtin.include_tasks: "{{ air_pkg_dep }}" + + - name: Add air to install list + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [air_go_pkg] }}" - name: Complete air configuration ansible.builtin.set_fact: __air_configured: true -# }}} -- name: Append air to pkg_go - when: - - air_install_method == 'source' - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + [air_pkg] }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 1b56398..f6d4a37 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -2,29 +2,21 @@ --- - name: Configure alacritty # {{{ when: - - __alacritty_configured is undefined or - not __alacritty_configured + - __alacritty_configured is undefined block: - - name: Set install method + - name: Set alacritty install method when: - alacritty_install_method is undefined ansible.builtin.set_fact: alacritty_install_method: "{% if default_install_method in alacritty_install_methods %}{{ default_install_method }}{% else %}{{ alacritty_install_methods[0] }}{% endif %}" - - name: Set basic variables - ansible.builtin.set_fact: - alacritty_version: "{{ alacritty_version | default('v0.16.1') }}" - alacritty_git_repo: "{{ alacritty_git_repo | default('https://github.com/alacritty/alacritty') }}" - alacritty_pkgname: "{{ alacritty_pkgname | default('alacritty') }}" - alacritty_build_deps_extra: [] - - name: Configure alacritty source install when: - alacritty_install_method == "source" ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps[ansible_os_family] }}" alacritty_src_install: - cargo_build_flags: - - --release + cargo_build_flags: "{{ alacritty_cargo_build_flags }}" name: "{{ alacritty_pkgname }}" repo: "{{ alacritty_git_repo }}" version: "{{ alacritty_version }}" @@ -35,55 +27,7 @@ extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg desktop_files: - extra/linux/Alacritty.desktop - files_list: - - bin/alacritty - - share/pixmaps/Alacritty.svg - alacritty_build_deps: - RedHat: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils - Debian: - - cmake - - g++ - - pkg-config - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - - libfreetype6-dev - - desktop-file-utils - Alpine: - - cmake - - pkgconf - - freetype-dev - - fontconfig-dev - - python3 - - libxcb-dev - - g++ - - libxkbcommon-dev - - desktop-file-utils - Archlinux: - - cmake - - freetype2 - - fontconfig - - pkg-config - - make - - libxcb - - libxkbcommon - - python - - desktop-file-utils - FreeBSD: - - cmake - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils + files_list: "{{ alacritty_build_files }}" - name: Set alacritty install extra build deps when: @@ -95,27 +39,29 @@ when: - ansible_distribution_major_version == 7 ansible.builtin.set_fact: - alacritty_build_deps_extra: ['xcb-util-devel', '@Development Tools'] + alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" - name: Add extra dependencies for EL8 when: - ansible_distribution_major_version == 8 ansible.builtin.set_fact: - alacritty_build_deps_extra: ['@Development Tools'] - - - name: Complete alacritty configuration - when: __alacritty_configured is undefined - ansible.builtin.set_fact: - __alacritty_configured: true + alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" # }}} -- name: Append alacritty installation - block: - - name: Append alacritty to pkg_cargo - when: - - alacritty_method == 'source' + - name: Append alacritty installation + block: + - name: Append alacritty to pkg_cargo + when: + - alacritty_method == 'source' + block: + - name: Configure pkg dependencies + loop: "{{ alacritty_pkg_deps }}" + loop_control: + loop_var: alacritty_pkg_dep + ansible.builtin.include_tasks: "{{ alacritty_pkg_dep }}" + ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps + alacritty_build_deps_extra + ['git'] }}" + pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_cask @@ -129,3 +75,8 @@ - alacritty_method == 'package' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" + + - name: Complete alacritty configuration + when: __alacritty_configured is undefined + ansible.builtin.set_fact: + __alacritty_configured: true diff --git a/tasks/pkgs/aquamarine.yml b/tasks/pkgs/aquamarine.yml index 77e355f..0eeb4c0 100644 --- a/tasks/pkgs/aquamarine.yml +++ b/tasks/pkgs/aquamarine.yml @@ -2,11 +2,49 @@ --- - name: Add aquamarine when: - - aquamarine_configured is undefined + - __aquamarine_configured is undefined block: - - name: Load aquamarine config - ansible.builtin.include_tasks: - file: config/aquamarine.yml + - name: Set aquamarine install method + when: + - aquamarine_install_method is undefined + ansible.builtin.set_fact: + aquamarine_install_method: "{% if install_method in aquamarine_install_methods %}{{ install_method }}{% else %}{{ aquamarine_install_methods[0] }}{% endif %}" + + - name: Configure aquamarine source install + when: + - aquamarine_install_method == 'source' + ansible.builtin.set_fact: + aquamarine_git_repo: + aquamarine_build_steps: + configure: + - cmake + - --no-warn-unused-cli + - -DCMAKE_BUILD_TYPE=Release + - -DCMAKE_INSTALL_PREFIX={{ install_prefix }} + - -S + - . + - -B + - ./build + build: + - cmake + - --build + - ./build + - --config + - Release + - --target + - all + - j + - "{{ build_jobs | int }}" + install: + - cmake + - --install + - ./build + + - name: Finish aquamarine configuration + when: + - __aquamarine_configured is undefined + ansible.builtin.set_fact: + __aquamarine_configured: true - name: Append aquamarine pkg_deps loop: "{{ aquamarine.pkg_deps }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 721da72..39068d2 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -16,20 +16,7 @@ block: - name: Configure go ansible.builtin.set_fact: - go_version: "{{ go_version | default('1.25.6') }}" go_system: "{{ ansible_system | lower }}" - go_archmap: - arm64: arm64 - aarch64: arm64 - x86_64: amd64 - go_install_sums: - 1.25.6: - Darwin: - amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 - arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 - Linux: - amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a - arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 - name: Set go architecture ansible.builtin.set_fact: @@ -37,42 +24,44 @@ - name: Set archive name ansible.builtin.set_fact: - go_archive: "go{{ go_version }}.{{ go_system }}-{{ go_arch }}.tar.gz" + go_archive_file: "go{{ go_archive_version }}.{{ go_system }}-{{ go_arch }}.tar.gz" - - name: Set go download url + - name: Set go archive url and path ansible.builtin.set_fact: - go_archive_url: "https://go.dev/dl/{{ go_archive }}" + go_archive_url: "https://go.dev/dl/{{ go_archive_file }}" + go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}" - - name: Set archive extract location - ansible.builtin.set_fact: - go_extract_path: "{{ path_archive }}/go{{ go_version }}" - - - name: Complete go archive install configuration - ansible.builtin.set_fact: - __go_configured: true + - name: Finalize go archive install + ansible.builtin.set_fact go_archive_install: extract_path: "{{ go_extract_path }}" archive_url: "{{ go_archive_url }}" archive_name: "{{ go_archive }}" - archive_checksum: "{{ go_install_sums[go_version][ansible_system][go_arch] }}" + archive_checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" -- name: Install vis system package manager - when: - - go_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['go'] }}" + - name: Queue go install + block: + - name: Go system package install + when: + - go_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['go'] }}" -- name: Install via archive - when: - - go_install_method == 'archive' - block: - - name: Add go archive extract install + - name: Install via archive + when: + - go_install_method == 'archive' + block: + - name: Add go archive extract install + ansible.builtin.set_fact: + pkg_archive: "{{ pkg_archive + [go_archive_install] }}" + + - name: Set symbolic link to archive path + ansible.bulitin.file: + state: link + force: true + path: "{{ path_go }}" + src: "{{ go_extract_path }}/go" + + - name: Complete go archive install configuration ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + [go_archive_install] }}" - - - name: Set symbolic link to archive path - ansible.bulitin.file: - state: link - force: true - path: "{{ path_go }}" - src: "{{ got_extract_path }}/go" + __go_configured: true diff --git a/tasks/pkgs/hyprland.yml b/tasks/pkgs/hyprland.yml index 41479a8..c4e4db3 100644 --- a/tasks/pkgs/hyprland.yml +++ b/tasks/pkgs/hyprland.yml @@ -29,9 +29,9 @@ hyprland_build_steps: configure: - cmake - - --now-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ install_prefix }} + - --no-warn-unused-cli + - -DCMAKE_BUILD_TYPE=Release + - -DCMAKE_INSTALL_PREFIX={{ install_prefix }} - -S - . - -B @@ -39,7 +39,7 @@ build: - cmake - --bulid - - ./uild + - ./build - --config - Release - --target diff --git a/vars/main.yml b/vars/main.yml index a1311b6..e24bd02 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -51,3 +51,88 @@ pkg_sh: [] # use shell commands to install a package pkg_appimage: [] # appimages to install pkg_flatpak: [] # flatpak packages to install pkg_snap: [] # snpacraft.io packages + +# Per package variables +## {{{ air +air_version: latest +air_install_url: github.com/air-verse/air +air_pkg_deps: + - pkgs/go.yml +air_build_files: + - bin/air +# }}} +## {{{ alacritty +alacritty_version: v0.16.1 +alacritty_git_repo: https://github.com/alacritty/alacritty +alacritty_pkgname: alacritty +alacritty_pkg_deps: + - pkgs/git.yml + - pkgs/cargo.yml +alacritty_build_files: + - bin/alacritty + - share/pixmaps/Alacritty.svg + - share/applications/Alacritty.desktop +alacritty_cargo_build_flags: + - --release +alacritty_build_deps: + RedHat: + - cmake + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + Debian: + - cmake + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + Alpine: + - cmake + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + Archlinux: + - cmake + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + FreeBSD: + - cmake + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils +# }}} +# go {{{ +go_archive_version: 1.25.6 +go_archive_archmap: + arm64: arm64 + aarch64: arm64 + x86_64: amd64 +go_archive_sums: + 1.25.6: + Darwin: + amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 + arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 + Linux: + amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a + arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 +# }}} diff --git a/vars/pkglist.yml b/vars/pkglist.yml index aa457f2..a663d2c 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -17,9 +17,10 @@ ansible_lint_install_methods: ansible_install_methods: - system - system_pip -# hyprland packages aquamarine_install_methods: - source +hyprland_install_methods: + - source yazi_install_methods: - source - cargo -- 2.47.3 From ac7ad62d401474a7f79a6cc3d5928db40be7ca9b Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 2 Feb 2026 21:09:51 -0700 Subject: [PATCH 13/48] fixing documentation --- README.md | 261 +++++++++++++++++++------------------- tasks/helpers/archive.yml | 37 ++++-- tasks/main.yml | 2 +- tasks/pkgs/go.yml | 33 ++++- vars/main.yml | 16 +++ vars/pkglist.yml | 11 +- 6 files changed, 210 insertions(+), 150 deletions(-) diff --git a/README.md b/README.md index 04ddcd4..a4826f9 100644 --- a/README.md +++ b/README.md @@ -34,137 +34,136 @@ To install any of the available packages, they must be part of a list called ## Available Packages -- air: hot reload for go #development -- alacritty: terminal built in rust #gui -- ansible-lint: linting for yaml.ansible files #development #mangement -- ansible: configuration management #management -- ansible_ls: ansible language-server #development -- aquamarine: graphics library for hyrpland #hyprland #linux #gui -- bashls: bash language server #development -- bat: bat, an ehanced replacement for cat #cli -- bitwarden: password mananger #gui #security -- blender: 3d modeling, video editing tools #gui #media -- broot: a file browser/manager for the cli #cli -- btop: advanced top replacement #cli #management -- buf: protocol buffer tooling in go #development -- bufls: protocol buffer language server #development -- carapace: universal command completion engine #cli -- cheat: cli cheatsheet creator and viewer #cli -- checkmake: a linter and analyzer for makefiles #development -- choose: an alternative to cut written in rust #cli -- clangd: the LLVM based C/C++ compiler, langauge server and linter #development -- cmake: build system for C/C++ projects #development -- cmakelang: cmake linter and formatter #development -- cockpit: webui to managed linux systems #management -- commitlint-cli: linting for git commit messages #development -- commitlint-config-conventional: config for commitlint-cli #development -- consul: service discovery by hashicorp #hashicorp #service -- cssls: css language server #development -- curlie: enhanced version of curl #cli #network -- dbeaver: database manager gui #development #gui -- direnv: load .env files in the cli #development #mangement -- dockerls: dockerfile lanaguage server #development -- dotenv-linter: linter for .env files #development -- duf: a good looking replacement for df #cli #management -- dust: a better looking version of du #cli #management -- editorconfig: common editor configuration system #development -- eslint: ECMA Script linting #development -- eza: a modern ls replacement #cli -- fd: a modern replacement for find #cli -- firefox: a modern OSS web browser #gui -- firewalld: modern zone based firewall #cli #management #security -- flatpak: universal linux package management system #cli #linux #management -- fzf: fuzzy find from a list given over stdin #cli -- ghostty: a modern advanced terminal emulator #gui -- git: project versioning system #development #management -- glow: cli markdown parser and viewer #cli -- go: the go programming language #development -- godot: the best OSS game making studio/engine #development #gui -- gopls: the go language server #development -- gping: graphical pinging on the cli #cli #management -- greetd: a simple system greeter #cli #linux #gui #hyprland -- heroic: heroic games launcher #gui #linux -- htmlls: html language server #development -- htmx-lsp: htmx language server #developement -- httpie: a graphical REST client #development #gui -- hugo: static html site generator #cli #development -- hyperfine: a cli benchmarking tool #cli -- hyprcursor: a hyprland support library #hyprland -- hyprgraphics: a hyrpland graphics library #hyprland -- hypridle: hyprland system idle monitor #hyprland -- hyprland: a pretty tiling window manager #hyprland #linux #gui -- hyprland_protocols: a hyprland wayland protocol library #hyprland -- hyprland_qt_support: hyprland qt libraries #hyprland -- hyprland_qtutils: hyrpland tools in qt: #hyprland -- hyprlang: hyprland configuration language #hyrpland -- hyprlock: hyprland screen locker #hyprland -- hyprpaper: hyprland wallpaper manager #hyprland -- hyprpicker: hyprland colour picker #hyprland -- hyprpolkitagent: hyprland policy kit agent #hyprland #management #security -- hyprutils: hyprland utilities library #hyprland -- hyprwayland_scanner: hyprland wayland library scanner #hyprland -- intelephense: php language server, linter and formatter #development -- jinja-lsp: the jinja language server #development -- jq: json cli parser #cli #development -- jsonls: json language server #development -- kitty: high perfomance terminal emulator #gui -- lazygit: git made easy #git #cli #development -- libreoffice: the free office suite #gui -- luals: lua language server #development -- markdownlint-cli: markdown linter #development -- mcfly: cli history manager #cli #management -- minio_client: cli S3 client #cli #management -- neovide: graphical interface for neovim in rust #development #gui -- neovim: best vim fork ever #neovim #development #cli #development -- nerdfonts: fonts patched with icons and glyphs #cli #gui -- nextcloud: nextcloud desktop sync client #gui #management -- nfs_client: nfs client software #management -- nfs_server: nfs server software #managment -- nginxls: nginx configuration language server #development -- nodejs: javascript runtime engine #javascript #cli #development -- nomad: application orchestration by hashicorp #hashicorp #management -- nwg_hello: a greetd greeter #gui #linux #hyprland -- packer: machine builder by hashicorp #vm #development #hashicorp #management -- pandoc: universal document translator #cli -- pgadmin: postgresql administration gui #development #development #gui -- pipx: install pip packages as self contained executables #cli #management -- podman: container runtime engine compatible with docker #cli #mangement -- pulumi: infrastructure as code via regular programming languages #cli #development #manage -- pyright: python language server, linter and formatter #development -- python3: python3 language interpreter #development -- quobix-vacuum: openapi linter and sdk written in go #development -- restic: an advanced backup system #management -- revive: a fast and strict linter for go #development -- ripgrep: fast modern grep replacement #cli -- rust: the rust programming language #development #cli -- samba_client: client software for samba #management -- samba_server: server software for samba #management -- sd: a modern replacement for sed #cli -- sdbus_cpp_2: systemd dbus library version 2 #development #hyprland -- sqlfluff: sql linter #development -- sqlls: sql language server #development -- starship: command line prompt generator #cli -- stow: manage dotfiles easily #cli #management -- tailscale: p2p vpn with wireguard #security #cli #gui -- tailwindcss-languageserver: tailwindcss language server #development -- templ: generate HTML using go #go #html #development -- terraform: infrastructre as code via configuration files #cli #hashicorp #management -- terraformls: terraform language server #development #hashicorp -- thunderbird: email client from mozilla #gui -- tidy: html linter and formatter #development -- tldr: manpage summarizer #cli -- tmux: terminal multiplexer #cli -- uwsm: universal wayland system manager #hyprland #linux #gui -- vault: secrets management by hashicorp #security #hashicorp -- xdg_desktop_portal_hyprland: xdg portal for hyprland #hyprland #gui #linux -- xh: cli curl replacement #cli #network -- yamlls: yaml language server #development -- yazi: terminal file manager in rust #cli #management -- zfs: the zetabyte filesystem #filesystem #cli -- zig: the zig programming language #development -- zls: the zig language server #development -- zoxide: easily jump between directories #cli #management -- zsh: Z shell #cli +- air: hot reload for go _default method_ **source** +- alacritty: terminal built in rust _default method_ **source** +- ansible-lint: linting for yaml.ansible files _default method_ **pipx** +- ansible: configuration management _default method_ **system** +- ansible_ls: ansible language-server +- aquamarine: graphics library for hyrpland _default method_ **source** +- bashls: bash language server +- bat: bat, an ehanced replacement for cat +- bitwarden: password mananger +- blender: 3d modeling, video editing tools +- broot: a file browser/manager for the cli +- btop: advanced top replacement +- buf: protocol buffer tooling in go +- bufls: protocol buffer language server +- carapace: universal command completion engine +- cheat: cli cheatsheet creator and viewer +- checkmake: a linter and analyzer for makefiles +- choose: an alternative to cut written in rust +- clangd: the LLVM based C/C++ compiler, langauge server and linter +- cmake: build system for C/C++ projects +- cmakelang: cmake linter and formatter +- cockpit: webui to managed linux systems +- commitlint-cli: linting for git commit messages +- commitlint-config-conventional: config for commitlint-cli +- consul: service discovery by hashicorp +- cssls: css language server +- curlie: enhanced version of curl +- dbeaver: database manager gui +- direnv: load .env files in the cli +- dockerls: dockerfile lanaguage server +- dotenv-linter: linter for .env files +- duf: a good looking replacement for df +- dust: a better looking version of du +- editorconfig: common editor configuration system +- eslint: ECMA Script linting +- eza: a modern ls replacement +- fd: a modern replacement for find +- firefox: a modern OSS web browser +- firewalld: modern zone based firewall +- flatpak: universal linux package management system +- fzf: fuzzy find from a list given over stdin +- ghostty: a modern advanced terminal emulator +- git: project versioning system _default method_ **system** +- glow: cli markdown parser and viewer +- go: the go programming language _default method_ **archive** +- godot: the best OSS game making studio/engine +- gopls: the go language server +- gping: graphical pinging on the cli +- greetd: a simple system greeter +- heroic: heroic games launcher +- htmlls: html language server +- htmx-lsp: htmx language server +- httpie: a graphical REST client +- hugo: static html site generator +- hyperfine: a cli benchmarking tool +- hyprcursor: a hyprland support library +- hyprgraphics: a hyrpland graphics library +- hypridle: hyprland system idle monitor +- hyprland: a pretty tiling window manager +- hyprland_protocols: a hyprland wayland protocol library +- hyprland_qt_support: hyprland qt libraries +- hyprland_qtutils: hyrpland tools in qt +- hyprlang: hyprland configuration language +- hyprlock: hyprland screen locker +- hyprpaper: hyprland wallpaper manager +- hyprpicker: hyprland colour picker +- hyprpolkitagent: hyprland policy kit agent +- hyprutils: hyprland utilities library +- hyprwayland_scanner: hyprland wayland library scanner +- intelephense: php language server, linter and formatter +- jinja-lsp: the jinja language server +- jq: json cli parser +- jsonls: json language server +- kitty: high perfomance terminal emulator +- lazygit: git made easy +- libreoffice: the free office suite +- luals: lua language server +- markdownlint-cli: markdown linter +- mcfly: cli history manager +- minio_client: cli S3 client +- neovide: graphical interface for neovim in rust +- neovim: best vim fork ever #neovim #development +- nerdfonts: fonts patched with icons and glyphs +- nfs_client: nfs client software +- nfs_server: nfs server software +- nginxls: nginx configuration language server +- nodejs: javascript runtime engine +- nomad: application orchestration by hashicorp +- nwg_hello: a greetd greeter +- packer: machine builder by hashicorp +- pandoc: universal document translator +- pgadmin: postgresql administration gui +- pipx: install pip packages as self contained executables +- podman: container runtime engine compatible with docker +- pulumi: infrastructure as code via regular programming languages +- pyright: python language server, linter and formatter +- python3: python3 language interpreter +- quobix-vacuum: openapi linter and sdk written in go +- restic: an advanced backup system +- revive: a fast and strict linter for go +- ripgrep: fast modern grep replacement +- rust: the rust programming language +- samba_client: client software for samba +- samba_server: server software for samba +- sd: a modern replacement for sed +- sdbus_cpp_2: systemd dbus library version 2 +- sqlfluff: sql linter +- sqlls: sql language server +- starship: command line prompt generator +- stow: manage dotfiles easily +- tailscale: p2p vpn with wireguard +- tailwindcss-languageserver: tailwindcss language server +- templ: generate HTML using go +- terraform: infrastructre as code via configuration files +- terraformls: terraform language server +- thunderbird: email client from mozilla +- tidy: html linter and formatter +- tldr: manpage summarizer +- tmux: terminal multiplexer +- uwsm: universal wayland system manager +- vault: secrets management by hashicorp +- xdg_desktop_portal_hyprland: xdg portal for hyprland +- xh: cli curl replacement +- yamlls: yaml language server +- yazi: terminal file manager in rust _default method_ **source** +- zfs: the zetabyte filesystem +- zig: the zig programming language +- zls: the zig language server +- zoxide: easily jump between directories +- zsh: Z shell ## Requirements diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index fc79212..9fa8b5b 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -7,23 +7,36 @@ become_user: "{{ install_become_user }}" ansible.bulitin.file: state: directory - path: "{{ extract_path }}" - mode: "{{ install_prefix_mode }}" - owner: "{{ install_prefix_owner }}" - group: "{{ install_prefix_group }}" + path: "{{ pkg.extract_path }}" + mode: "{{ pkg.install_prefix_mode | default('0755') }}" + owner: "{{ pkg.install_prefix_owner | default(ansible_user_id)}}" + group: "{{ pkg.install_prefix_group | default(ansible_user_gid) }}" - name: Download archive to cache ansible.builtin.get_url: - dest: "{{ d_cache }}/{{ archive_name }}" - url: "{{ archive_url }}" - checksum: "{{ archive_checksum }}" + dest: "{{ d_cache }}/{{ pkg.archive_name }}" + url: "{{ pkg.archive_url }}" + checksum: "{{ pkg.archive_checksum | default(omit) }}" decompress: false mode: '0644' - - name: Extract go archive + - name: Extract archive ansible.builtin.unarchive: - dest: "{{ extract_path }}" - src: "{{ d_cache }}/{{ archive_name }}" + dest: "{{ pkg.extract_path }}" + src: "{{ d_cache }}/{{ pkg.archive_name }}" remote_src: true - include: "{{ archive_include | default(omit) }}" - exclude: "{{ archive_exclude | default(omit) }}" + include: "{{ pkg.archive_include | default(omit) }}" + exclude: "{{ pkg.archive_exclude | default(omit) }}" + + - name: Symlink archive files + when: + - pkg.link_bin is defined + - pkg.link_bin | length > 0 + loop: pkg.link_bin + loop_control: + loop_var: lnk + ansible.builtin.file: + state: link + path: "{{ lnk.to }}" + src: "{{ lnk.from }}" + force: "{{ lnk.force | default(omit) }}" diff --git a/tasks/main.yml b/tasks/main.yml index 0d14e24..ad07731 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -161,7 +161,7 @@ loop_control: loop_var: pkg ansible.builtin.include_tasks: - file: "archive/{{ pkg }}.yml" + file: "helpers/archive.yml" - name: Install cargo packages when: diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 39068d2..8ad4fa7 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -10,6 +10,28 @@ ansible.builtin.set_fact: go_install_method: "{% if install_method in go_install_methods %}{{ install_method }}{% else %}{{ go_install_methods[0] }}{% endif %}" + - name: Configure go system installation + when: + - go_install_method == 'system' + block: + - name: Set go pkgname for linux + when: + - ansible_system == 'Linux' + ansible.builtin.set_fact: + go_pkgname: "{{ go_pkgname[ansible_os_family] }}" + + - name: Set go pkgname for FreeBSD + when: + - ansible_os_family == 'FreeBSD' + ansible.bulitin.set_fact: + go_pkgname: "{{ go_pkgname[ansible_os_family][go_bsd_version] | default(go_pkgname[ansible_os_family]['default']) }}" + + - name: Set go pkgname for Darwin/MacOS + when: + - ansible_os_family == 'Darwin' + ansible.builtin.set_fact: + go_pkgname: "{{ go_pkgname[ansible_os_family] }}" + - name: Configure go archive installation when: - go_install_method == 'archive' @@ -32,12 +54,19 @@ go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}" - name: Finalize go archive install - ansible.builtin.set_fact + ansible.builtin.set_fact: go_archive_install: extract_path: "{{ go_extract_path }}" archive_url: "{{ go_archive_url }}" archive_name: "{{ go_archive }}" archive_checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" + link_bin: + - from: "{{ go_archive_path }}/go" + to: "{{ path_go }}" + force: true + - from: "{{ path_go }}/bin/go" + to: "{{ path_bin }}/go" + force: true - name: Queue go install block: @@ -45,7 +74,7 @@ when: - go_install_method == 'system' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['go'] }}" + pkg_sys: "{{ pkg_sys + [go_pkgname] }}" - name: Install via archive when: diff --git a/vars/main.yml b/vars/main.yml index e24bd02..ff22eee 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -135,4 +135,20 @@ go_archive_sums: Linux: amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 + FreeBSD: + amd64: sha256:61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b + arm64: sha256:648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77 +go_profile_path: + Linux: /etc/profile.d + FreeBSD: /etc/profile.d +go_pkgname: + RedHat: go + Debian: go + Darwin: go + FreeBSD: + default: go + 1.25: go125 + 1.24: go124 + 1.23: go123 + 1.22: go122 # }}} diff --git a/vars/pkglist.yml b/vars/pkglist.yml index a663d2c..67b3714 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -8,17 +8,20 @@ air_install_methods: - source alacritty_install_methods: - - system - source -ansible_lint_install_methods: - system - - system_pip +ansible_lint_install_methods: - pipx + - system ansible_install_methods: - system - - system_pip aquamarine_install_methods: - source +git_install_methods: + - system +go_install_methods: + - archive + - system hyprland_install_methods: - source yazi_install_methods: -- 2.47.3 From 4e65d36b6465f01d5f5516306f17dc019e683095 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 4 Feb 2026 15:05:05 -0700 Subject: [PATCH 14/48] more work being done --- tasks/config/alacritty.yml | 18 -------------- tasks/config/aquamarine.yml | 10 -------- tasks/pkgs/ansible_ls.yml | 12 ++++++++-- tasks/src/aquamarine.yml | 48 ------------------------------------- vars/main.yml | 5 ++++ vars/pkglist.yml | 3 +++ 6 files changed, 18 insertions(+), 78 deletions(-) delete mode 100644 tasks/config/alacritty.yml delete mode 100644 tasks/config/aquamarine.yml delete mode 100644 tasks/src/aquamarine.yml diff --git a/tasks/config/alacritty.yml b/tasks/config/alacritty.yml deleted file mode 100644 index 6aba863..0000000 --- a/tasks/config/alacritty.yml +++ /dev/null @@ -1,18 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set alacritty install method - ansible.builtin.set_fact: - alacritty: - method: "{{ pkgconfig.alacritty.method[ansible_os_family] | default(pkgconfig.alacritty.method.default) }}" - -- name: Set alacritty configuration - when: - - alacritty.method == 'cargo' - ansible.builtin.set_fact: - alacritty: - method: "{{ alacritty.method }}" - build_deps: "{{ srcconfig.alacritty.deps[ansible_os_family] }}" - cargo: - vers: "{{ pkgconfig.alacritty.version }}" - locked: true - name: alacritty diff --git a/tasks/config/aquamarine.yml b/tasks/config/aquamarine.yml deleted file mode 100644 index 4b47447..0000000 --- a/tasks/config/aquamarine.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set aquamarine config - ansible.builtin.set_fact: - aquamarine: - bin: aquamarine - build_deps: "{{ srcconfig.aquamarine.deps[ansible_os_family] }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" - pkg_deps: "{{ pkgconfig.aquamarine.pkg_deps }}" - vers: "{{ pkgconfig.aquamarine.version }}" diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 159eda3..165d51e 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -2,12 +2,20 @@ --- - name: Add ansible_ls when: - - ansible_ls_configured is undefined + - __ansible_ls_configured is undefined block: + - name: Set ansible_ls install method + when: + - ansible_ls_install_method is undefined + ansible.builtin.set_fact: + ansible_ls_install_method: "{% if install_method in ansible_ls_install_methods %}{{ install_method }}{% else %}{{ ansible_ls_install_methods[0] }}{% endif %}" + - name: Append ansible-language-server to pkg_npm ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + ['@ansible/ansible-language-server'] }}" - name: Set ansible_ls_configured + when: + - __ansible_ls_configured is undefined ansible.builtin.set_fact: - ansible_ls_configured: true + __ansible_ls_configured: true diff --git a/tasks/src/aquamarine.yml b/tasks/src/aquamarine.yml deleted file mode 100644 index 8a07f9b..0000000 --- a/tasks/src/aquamarine.yml +++ /dev/null @@ -1,48 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - aquamarine.clean - vars: - file_list: "{{ srcconfig.aquamarine.build_installed_files }}" - ansible.builtin.include_tasks: - file: helpers/clean_install.yml - -- name: Check for installed {{ pkg }} - register: stat_aquamarine_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/{{ lib_path }}/libaquamarine.so" - -- name: Build and install {{ pkg }} - when: - - not stat_aquamarine_inst.stat.exists - block: - - name: Do repo clone {{ pkg }} - vars: - src_pkg: aquamarine - src_path: "{{ srcconfig.aquamarine.src_path }}" - src_gitrepo: "{{ srcconfig.aquamarine.gitrepo }}" - src_version: "{{ aquamarine.vers }}" - ansible.builtin.include_tasks: - file: helpers/git.yml - - - name: Apply patch for alpine linux {{ pkg }} - when: - - ansible_os_family == 'Alpine' - ansible.posix.patch: - basedir: "{{ aquamarine.git_path }}" - src: aquamarine/Alpine.patch - state: present - strip: 1 - - - name: Do build and install {{ pkg }} - vars: - do_become: true - src_path: "{{ srcconfig.aquamarine.src_path }}" - configure: "{{ srcconfig.aquamarine.configure }}" - build_creates: "{{ srcconfig.aquamarine.build_creates }}" - build: "{{ srcconfig.aquamarine.build }}" - install_creates: "{{ srcconfig.aquamarine.install_creates }}" - install: "{{ srcconfig.aquamarine.install }}" - ansible.builtin.include_tasks: - file: helpers/cmake_build.yml diff --git a/vars/main.yml b/vars/main.yml index ff22eee..cf76903 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -121,6 +121,11 @@ alacritty_build_deps: - python3 - desktop-file-utils # }}} +# {{{ ansible_ls +ansible_ls_version: latest +ansible_ls_pkg_deps: + - pkgs/npm.yml +# }}} # go {{{ go_archive_version: 1.25.6 go_archive_archmap: diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 67b3714..19efa4a 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -15,6 +15,9 @@ ansible_lint_install_methods: - system ansible_install_methods: - system +ansible_ls_install_methods: + - source + - system aquamarine_install_methods: - source git_install_methods: -- 2.47.3 From e231c6ae7ae82c29625b7e096e1630691670462c Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 4 Feb 2026 22:26:15 -0700 Subject: [PATCH 15/48] updating documentation - giving things a better structure - better documentation with the way things need to be as a standard --- CONTRIBUTING.md | 155 ++++++++++------------- README.md | 23 ++-- tasks/helpers/add_repository.yml | 22 ++++ tasks/helpers/appimage.yml | 29 +++-- tasks/helpers/archive.yml | 78 ++++++------ tasks/helpers/cargo.yml | 13 +- tasks/helpers/cargo_build.yml | 16 +-- tasks/helpers/git.yml | 12 +- tasks/helpers/{go.yml => go_install.yml} | 0 tasks/helpers/npm.yml | 12 +- tasks/pkgs/air.yml | 14 +- tasks/pkgs/ansible.yml | 4 - tasks/pkgs/ansible_ls.yml | 16 ++- tasks/pkgs/go.yml | 10 +- vars/main.yml | 11 +- 15 files changed, 221 insertions(+), 194 deletions(-) create mode 100644 tasks/helpers/add_repository.yml rename tasks/helpers/{go.yml => go_install.yml} (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f86a1f1..103eadc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,108 +2,83 @@ ## Package definition -Package defintions are just `yaml` tasks in the directory -`tasks/pkgs`, which handle how a package is installed. +A "package" is just a yaml task list that defines how to install a piece of software. +It does this through the use of `helpers` that manage; -Most can be installed using the `syspkgs` list, and are simply -appending the package name to said list based on the system. +- dependency installations +- building from source +- linking binaries to a usable `PATH` +- calling external tools when required +- installation via package managers on the system -If a package can be installed via an entry to `syspkgs` for some, -but not all platforms, handling is done to either inform the user -that the package is not available, or to append the package name -to another installation method such as: +## Anatomy of a Package Definition -- `appimages` to install the appimage of a package -- `cargopkgs` to install via the rust cargo package manager -- `cargoversioned` to install version lockec cargo packages -- `caskpkgs` to install a homebrew cask -- `flatpkgs` to install flatpaks -- `gopkgs` to install using the `go install` command -- `npmpkgs` to install packages from npm -- `pipxpkgs` to install packages from Python pip -- `srcpkgs` to build packages from source -- `tappkgs` to install packages from home brew taps +It starts with package metadata, as a comment block above the installation steps. +This should come after the line `# vim: set filetype=yaml.ansible :`, which sets +up the correct linter and language server when using neovim/vim. -Alternative sources of packages can be defined with entries to: +### Metadata -- `fpremotes` to add a flatpak remote -- `brewtaps` to add a homebrew tap - -### Adding system level repositories - -Many packages exist in their own external repository for the -given system, such as `/etc/yum.repos.d` for RedHat based linux -distros, `/etc/apt/sources.list.d` for Debian based distros and -others. Since you an add the package to `syspkgs` by enabling a -repo, the coresponding task in `tasks/pkgs` should take the -steps needed to enable the repository. - -### Packages with multiple instllation methods - -Many packages can be installed in different ways, like the -`bitwarden` package. `bitwarden` can be installed as a `syspkg` -on some machines, a `caskpkg` on macOS, an `appimage`, a `flatpak` -or even a `snap`. - -For such packages, a default is chosen to install, in the following order -of precedence: `syspkgs`, `flatpkgs`, `snappkgs`, `appimages`. - -In that order, `syspkgs` and `caskpkgs` have equal weight, as it applies -to macOS. - -## Formatting rules - -- Use indentation explicitness. Lists should be indented: +The metadata consists of at minimum 6 key: value pairs ```yaml -# Good -my_good_list: - - my_list_item - -# Bad -my_bad_list: -- my_list_item +# Package: +# Description: +# Version: +# Methods: +# Helpers: +# Maintainers: ``` +This list should match package defaults where it makes sense, for example, +the `Version:` should match the default installed version of the package. -- Variables should be in snake case, separating words -- Short names are fine if they are explicit. ie `vers` can be used instead of `version` -- If more then one variable starts with the same words, put it into a dict if it makes sense: +### Configuration acknowledgement + +The "Configuration acknowledgement" MUST be at the start of the yaml file, +and cover everything this package does. This is important for gating when +a package should be configured or not. + +It looks like this, using the `air` package: ```yaml -# variables that should be a dict -cargo_locked: true -cargo_pkg: alacritty - -# better to just be -cargo: - locked: true - pkg: alacritty -``` -- Tasks **MUST** follow the convention in this example: - -```yaml -- name: Capitalize first letter of name +- name: Start air configuration when: - - each condition has it's own line - - (brackets around conditions with) or - (to show they are separate) - become: "{{ not use_local }}" # must be able to be used with use_local - become_user: # this should not be needed, but always follows become if it is - loop: "{{ my_loopable_list }}" - loop_control: # **MUST** always use at least loop_var for any loop - loop_var: my_item - ansible.builtin.set_fact: # always use the full module name - ... + - "'air' is not in __configured" + block: + - name: Configure air installation method + ... + + - name: Finalize air configuration + ansible.builtin.set_fact: + __air_configured: true ``` -- `name`: Every task needs a name, and the first letter must be capitalized -- `when`: If a when clause exists, it follows the name - - Each clause must have it's own line, including and `or` clause, as seen above -- `become`: must follow the when clause if it exists, name otherwise - - Any other `become_` settings follow `become` in alphabetical order -- `loop`: must be defined just before the module invocation - - Every loop needs to rename the `loop_var` to something that makes sense - - `until` is consider the same as `loop` for the purposes of placement -- The last item must be the module invocation, using the fully qualified name - - For example, don't use `set_fact:`, use `ansible.builtin.set_fact:` +or alternatively: + +```yaml +- name: Start air configuration + when: + - __configured['air'] is undefined +``` + +This way, if a package is included as part of another packages build, it only happens once. + +### Setting and adding package configuration to list + +Adding the configuration for a package is done by appending the configuration to the +appropriate list. Each helper has it's own installation block in `tasks/main.yml`. + +Depending on the package installation method, the package must be added to the appropriate list. + +#### Different lists, and when to use them + +The following is a list of the different lists that are used, and the +order they are run. + +- system: pkg_sys + - Only for packages installed from the system package manager + - If a package adds a repository to handle the system installation, it should be + done in the package configuration itself. For example, installing `ghostty` via + the system package manager requires adding a copr repo on fedora. This should be + done in a section named 'Adding copr repository scottames/ghostty' diff --git a/README.md b/README.md index a4826f9..fb99df0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# ansible_role_package +# Ansible package manager +## _A ports like system for ansible_ Manage package installation for a number of packages that sometimes need special handling. Some are built from @@ -10,14 +11,16 @@ special instructions to properly install and use. I decided to simplify the management of those packages by creating a role with special handling. +_The following are for general use. Not all packages have a candidate for system package managers_ + Order of precedence for package installation: 1. System package manager (dnf, apt, homebrew, etc.) 2. Source built - only in some situations, like for fast moving software (neovim, hyprland) -3. Appimage (Linux only) -4. Flatpak (Linux only) -5. Snap (Linux only), takes precedence over flatpak on Ubuntu based systems -6. Language package manager (`cargo install`, `go install`, `npm install`, etc.) + - Includes language package managers like `go install`, `cargo install`, and `npm install` +3. Flatpak (Linux only) +4. Snap (Linux only) +5. Appimage (Linux only) _This does not configure installed software, just installs it_ @@ -26,11 +29,11 @@ To install any of the available packages, they must be part of a list called ## Supported Operating Systems -- Fedora Linux -- MacOS -- RHEL based distributions *Experimental* *best effort* -- Debian *Experimental* -- Alpine linux *Experimental* *best effort) +- Fedora Linux _first class support_ +- MacOS _best effort_ +- RHEL based distributions _Experimental, best effort_ +- Debian _Experimental, best effort_ +- Alpine linux _Experimental, best effort_ ## Available Packages diff --git a/tasks/helpers/add_repository.yml b/tasks/helpers/add_repository.yml new file mode 100644 index 0000000..21a1c1f --- /dev/null +++ b/tasks/helpers/add_repository.yml @@ -0,0 +1,22 @@ +# vim: set filetype=yaml.ansible : +# Helper: external repository +--- +- name: Add copr repository + when: + - ansible_os_family == 'RedHat' + community.general.copr: + host: "{{ repo.host | default('copr.fedorainfracloud.org') }}" + state: "{{ repo.state | default('enabled') }}" + name: "@{{ repo.name }}" + include: "{{ repo.include | default(omit) }}" + exclude: "{{ repo.exclude | default(omit) }}" + +- name: Add apt ppa + when: + - ansible_os_family == 'Debian' + ansible.builtin.apt_repository: + codename: "{{ repo.codename | default(omit) }}" + filename: "{{ repo.filename | default(omit) }}" + install_python_apt: true + repo: "{{ repo.name }}" + state: "{{ repo.state | default('present') }}" diff --git a/tasks/helpers/appimage.yml b/tasks/helpers/appimage.yml index b8e78b1..3845f6e 100644 --- a/tasks/helpers/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -1,26 +1,33 @@ # vim: set filetype=yaml.ansible : --- - name: Install appimage {{ pkg }} - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" block: - name: Ensure appimage path exists ansible.builtin.file: - path: "{{ path.appimage }}/{{ appimage_link_name }}" - mode: '0755' + path: "{{ path_appimage }}/{{ pkg.name }}" + mode: "{{ pkg.mode | default('0755') }}" + owner: "{{ pkg.owner | default(ansible_user_id) }}" + group: "{{ pkg.group | default(ansible_user_gid) }}" state: directory - name: Fetch appimage - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.get_url: - mode: '0755' + mode: "{{ pkg.mode | default('0755') }}" + owner: "{{ pkg.owner | default(ansible_user_id) }}" + group: "{{ pkg.group | default(ansible_user_gid) }}" + url: "{{ pkg.url }}" + dest: "{{ path_appimage }}/{{ pkg.name }}/{{ pkg.filename }}" decompress: false - backup: true - url: "{{ appimage_url }}" - dest: "{{ path.appimage }}/{{ appimage_link_name }}/{{ appimage_file }}" + backup: false - name: Link appimage to bin - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.file: state: link - src: "{{ path.appimage }}/{{ appimage_link_name }}/{{ appimage_file }}" - path: "{{ path.bindir }}/{{ appimage_link_name }}" + src: "{{ path_appimage }}/{{ pkg.name }}/{{ pkg.filename }}" + path: "{{ path_bin }}/{{ pkg.name }}" diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index 9fa8b5b..6c884c0 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -1,42 +1,48 @@ # vim: set filetype=yaml.ansible : --- -- name: Extract archive to given path +- name: Ensure requirements met + when: + - pkg.extract_to is defined + - pkg.name is defined + - pkg.url is defined block: - - name: Ensure directory exists - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.bulitin.file: - state: directory - path: "{{ pkg.extract_path }}" - mode: "{{ pkg.install_prefix_mode | default('0755') }}" - owner: "{{ pkg.install_prefix_owner | default(ansible_user_id)}}" - group: "{{ pkg.install_prefix_group | default(ansible_user_gid) }}" + - name: Extract archive to given path + block: + - name: Ensure directory exists + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + ansible.bulitin.file: + state: directory + path: "{{ pkg.extract_to }}" + mode: "{{ pkg.mode | default('0755') }}" + owner: "{{ pkg.owner | default(ansible_user_id)}}" + group: "{{ pkg.group | default(ansible_user_gid) }}" - - name: Download archive to cache - ansible.builtin.get_url: - dest: "{{ d_cache }}/{{ pkg.archive_name }}" - url: "{{ pkg.archive_url }}" - checksum: "{{ pkg.archive_checksum | default(omit) }}" - decompress: false - mode: '0644' + - name: Download archive to cache + ansible.builtin.get_url: + dest: "{{ d_cache }}/{{ pkg.name }}" + url: "{{ pkg.url }}" + checksum: "{{ pkg.checksum | default(omit) }}" + decompress: false + mode: '0644' - - name: Extract archive - ansible.builtin.unarchive: - dest: "{{ pkg.extract_path }}" - src: "{{ d_cache }}/{{ pkg.archive_name }}" - remote_src: true - include: "{{ pkg.archive_include | default(omit) }}" - exclude: "{{ pkg.archive_exclude | default(omit) }}" + - name: Extract archive + ansible.builtin.unarchive: + dest: "{{ pkg.extract_to }}" + src: "{{ d_cache }}/{{ pkg.name }}" + remote_src: true + include: "{{ pkg.include | default(omit) }}" + exclude: "{{ pkg.exclude | default(omit) }}" - - name: Symlink archive files - when: - - pkg.link_bin is defined - - pkg.link_bin | length > 0 - loop: pkg.link_bin - loop_control: - loop_var: lnk - ansible.builtin.file: - state: link - path: "{{ lnk.to }}" - src: "{{ lnk.from }}" - force: "{{ lnk.force | default(omit) }}" + - name: Symlink archive files + when: + - pkg.bins is defined + - pkg.bins | length > 0 + loop: pkg.bins + loop_control: + loop_var: lnk + ansible.builtin.file: + state: link + path: "{{ lnk.to }}" + src: "{{ lnk.from }}" + force: "{{ lnk.force | default(omit) }}" diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index 25d51eb..629e62f 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -1,11 +1,10 @@ # vim: set filetype=yaml.ansible --- -- name: Install cargo {{ pkg }} - become: "{{ ext_become }}" - environment: - RUSTONIG_SYSTEM_LIBONIG: 1 +- name: Install cargo + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" community.general.cargo: name: "{{ pkg.name | default(pkg) }}" - version: "{{ pkg.vers | default(omit) }}" - path: "{{ path.cargo | default(path.prefix) }}" - locked: "{{ pkg.locked | default(omit) }}" + version: "{{ pkg.version | default(omit) }}" + locked: "{{ pkg.locked | default(false) }}" + path: "{{ install_prefix }}" diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 56ea3b0..59514d5 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -4,11 +4,11 @@ block: - name: Set build variables ansible.builtin.set_fact: - git_path: "{{ d_tempdir.path }}/{{ name }}" - git_repo: "{{ repo }}" - git_depth: "{{ depth | default(1) }}" - git_recursive: "{{ recursive | default(true) }}" - git_version: "{{ version | default(omit) }}" + git_path: "{{ d_tempdir.path }}/{{ pkg.name }}" + git_repo: "{{ pkg.repo }}" + git_depth: "{{ pkg.depth | default(1) }}" + git_recursive: "{{ pkg.recursive | default(true) }}" + git_version: "{{ pkg.version | default(omit) }}" - name: Fetch git repo ansible.builtin.include_tasks: @@ -16,9 +16,9 @@ - name: Build cargo release ansible.builtin.command: - creates: "{{ bin_output }}" - chdir: "{{ git_path }}" - argv: "{{ [cargo, build] + cargo_build_flags }}" + creates: "{{ pkg.bin_output }}" + chdir: "{{ pkg.path }}" + argv: "{{ [cargo, build] + pkg.build_flags }}" - name: Install cargo release block: diff --git a/tasks/helpers/git.yml b/tasks/helpers/git.yml index 4e8899e..575fe35 100644 --- a/tasks/helpers/git.yml +++ b/tasks/helpers/git.yml @@ -2,9 +2,9 @@ --- - name: Clone git repository ansible.builtin.git: - depth: "{{ git_depth | default(1) }}" - dest: "{{ git_path }}" - force: "{{ git_force | default(true) }}" - recursive: "{{ git_recursive | default(true) }}" - repo: "{{ git_repo }}" - version: "{{ git_version | default(omit) }}" + depth: "{{ git.depth | default(1) }}" + dest: "{{ git.path }}" + force: "{{ git.force | default(true) }}" + recursive: "{{ git.recursive | default(true) }}" + repo: "{{ git.repo }}" + version: "{{ git.version | default(omit) }}" diff --git a/tasks/helpers/go.yml b/tasks/helpers/go_install.yml similarity index 100% rename from tasks/helpers/go.yml rename to tasks/helpers/go_install.yml diff --git a/tasks/helpers/npm.yml b/tasks/helpers/npm.yml index 1afab30..ff42439 100644 --- a/tasks/helpers/npm.yml +++ b/tasks/helpers/npm.yml @@ -1,8 +1,10 @@ # vim: set filetype=yaml.ansible : --- -- name: Install npm {{ pkg }} - become: true +- name: Install npm + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" community.general.npm: - global: true - name: "{{ pkg }}" - state: present + global: "{{ pkg.global | default(true) }}" + name: "{{ pkg.name }}" + version: "{{ pkg.version | default('latest') }}" + state: "{{ pkg.state | default('present') }}" diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index aae2976..11ebce5 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,8 +1,14 @@ # vim: set filetype=yaml.ansible : +# Package: air +# Description: application auto reload for go +# Version: latest +# Methods: source (go install) +# Helpers: go_install --- -- name: Configure air # {{{ +# {{{ Configure air +- name: Start air configuration when: - - __air_configured is undefined + - "'air' not in __configured" block: - name: Set air install method when: @@ -44,6 +50,6 @@ ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [air_go_pkg] }}" - - name: Complete air configuration + - name: Finalize air configuration ansible.builtin.set_fact: - __air_configured: true + __configured: "{{ __configured | combine( { 'air': true } ) }}" diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 7bf730d..d348b64 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -1,9 +1,5 @@ # vim: set filetype=yaml.ansible : --- -- name: Set maintainer - ansible.builtin.set_fact: - ansible_maintainers: - - Matthew Stobbs - name: Configure ansible when: - __ansible_configured is undefined or diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 165d51e..1893de6 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -1,6 +1,6 @@ # vim: set filetype=yaml.ansible : --- -- name: Add ansible_ls +- name: Configure ansible_ls when: - __ansible_ls_configured is undefined block: @@ -10,9 +10,19 @@ ansible.builtin.set_fact: ansible_ls_install_method: "{% if install_method in ansible_ls_install_methods %}{{ install_method }}{% else %}{{ ansible_ls_install_methods[0] }}{% endif %}" - - name: Append ansible-language-server to pkg_npm + - name: Configure ansible_ls source npm installation + when: + - ansible_ls_install_method == 'source' ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['@ansible/ansible-language-server'] }}" + ansible_npm_pkg: + name: '@ansible/ansible-language-server' + global: true + + - name: Append ansible-language-server to pkg_npm + when: + - ansible_ls_install_method == 'source' + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [ansible_npm_pkg] }}" - name: Set ansible_ls_configured when: diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 8ad4fa7..6cc754e 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -56,11 +56,11 @@ - name: Finalize go archive install ansible.builtin.set_fact: go_archive_install: - extract_path: "{{ go_extract_path }}" - archive_url: "{{ go_archive_url }}" - archive_name: "{{ go_archive }}" - archive_checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" - link_bin: + extract_to: "{{ go_extract_path }}" + url: "{{ go_archive_url }}" + name: "{{ go_archive }}" + checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" + bins: - from: "{{ go_archive_path }}/go" to: "{{ path_go }}" force: true diff --git a/vars/main.yml b/vars/main.yml index cf76903..81183b9 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -37,20 +37,21 @@ path_lib: "{{ install_prefix }}/lib" # System paths # empty lists that must be defined +pkg_appimage: [] # appimages to install pkg_archive: [] # packages installed via prebuilt archive pkg_cargo: [] # rust packages from cargo using `cargo install` pkg_cargo_build: [] # rust packages using `cargo build` before install +pkg_flatpak: [] # flatpak packages to install pkg_go: [] # go applications pkg_npm: [] # npm commands pkg_pipx: [] # pipx packages -pkg_sys_pip: [] # system pip packages +pkg_sh: [] # use shell commands to install a package +pkg_snap: [] # snpacraft.io packages pkg_src: [] # packages built from source pkg_sys: [] # system package manager packages +pkg_sys_pip: [] # system pip packages pkg_zig: [] # zig packages -pkg_sh: [] # use shell commands to install a package -pkg_appimage: [] # appimages to install -pkg_flatpak: [] # flatpak packages to install -pkg_snap: [] # snpacraft.io packages +__configured: [] # list of configured packages # Per package variables ## {{{ air -- 2.47.3 From e91e7e969807ae0614c70de7b9c774c33a7cc2bc Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Thu, 5 Feb 2026 17:18:02 -0700 Subject: [PATCH 16/48] working on helpers --- CONTRIBUTING.md | 82 ++++++++++++++++----- tasks/config/firefox.yml | 2 +- tasks/helpers/archive.yml | 16 ++-- tasks/helpers/flatpak.yml | 11 +-- tasks/helpers/flatpak_remote.yml | 13 ++-- tasks/linux.yml | 8 +- tasks/main.yml | 123 +++++++++++++++---------------- tasks/pkgs/ansible.yml | 2 +- tasks/pkgs/go.yml | 41 +++-------- tasks/pkgs/hyprland.yml | 4 +- vars/main.yml | 9 ++- vars/maintainers.yml | 6 -- 12 files changed, 170 insertions(+), 147 deletions(-) delete mode 100644 vars/maintainers.yml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 103eadc..a30c529 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ up the correct linter and language server when using neovim/vim. ### Metadata -The metadata consists of at minimum 6 key: value pairs +The metadata consists of `key: value` pairs, at minimum requiring: ```yaml # Package: @@ -32,6 +32,35 @@ The metadata consists of at minimum 6 key: value pairs This list should match package defaults where it makes sense, for example, the `Version:` should match the default installed version of the package. +### Default configuration + +Default, non-computed configuration must exist in `vars/main.yml`, generally consisting of +the default version, urls, internal dependencies (internal to Ansible package manager) and +list of files installed after a build, without the `install_prefix`. + +When adding default configuration, it MUST match the following: + +- Surround the configuration in `# {{{ configuration` and `# }}}` + - Where "package" is the name of the package +- Prefix the configuration with the name of the package, using snake case + - Example: `alacritty_version: v0.16.1` + - This keeps the configuration unique per package, and allows for the defaults + to be over-ridden where needed. + +The things that should be in the default configuration, if relevant, are: + +- Default version, as `_version` +- Git repository for pulling the source as `_git_repo` +- Archive URL as `_archive_url` +- Internal dependecies as `_pkg_deps: ` +- Files installed when building from source as `_build_files` +- Default compile flags for the build system. + - Example using cargo: `_cargo_build_flags: ` +- Package build dependencies per ansible_os_family. These are only for system + packages that are required for building the package from source. +- Package runtime dependencies as `_run_deps: ` + - These should only be system packages, not internal packages + ### Configuration acknowledgement The "Configuration acknowledgement" MUST be at the start of the yaml file, @@ -50,15 +79,7 @@ It looks like this, using the `air` package: - name: Finalize air configuration ansible.builtin.set_fact: - __air_configured: true -``` - -or alternatively: - -```yaml -- name: Start air configuration - when: - - __configured['air'] is undefined + __configured: "{{ __configured | combine( { 'air': true } ) }}" ``` This way, if a package is included as part of another packages build, it only happens once. @@ -68,17 +89,44 @@ This way, if a package is included as part of another packages build, it only ha Adding the configuration for a package is done by appending the configuration to the appropriate list. Each helper has it's own installation block in `tasks/main.yml`. -Depending on the package installation method, the package must be added to the appropriate list. +Depending on the package installation method, the package must be added to the +appropriate list. #### Different lists, and when to use them The following is a list of the different lists that are used, and the order they are run. -- system: pkg_sys - - Only for packages installed from the system package manager - - If a package adds a repository to handle the system installation, it should be - done in the package configuration itself. For example, installing `ghostty` via - the system package manager requires adding a copr repo on fedora. This should be - done in a section named 'Adding copr repository scottames/ghostty' +##### System packages +pkg_sys: List of system package manager packages to install + +- Installed using `ansible.builtin.package` +- Installs the entire gathered list of packages at once, instead of looping over single items. +- The package list is made unique by applying the `unique` filter to the list + +##### Archive packages + +Archive packages are binaries installed by extracting an archive and linking the files +in place (usually in `/bin`). + +- Archives are kept in a cache after download, unless `clean_cache` is `true` +- Extracted archives are placed in `/archive/` +- Archive files are linked to the appropriate place under `install_prefix`, as dictated by + the `pkg.links` list, where `pkg` is the top level dict object of the archive + +2. pkg_archive: List of packages installed via archive, like `go` + - Loops over list of archives and downloads, extracts and links them before moving + on to the next. +3. Linux only packages. Flatpaks, appimages, and snapcraft packages. + - Flatpaks: use the lists `flatpak_remotes` and `pkg_flatpak` + - `flatpak_remotes` is a list of dicts containing the flatpak remote configurations + - Managed using `community.general.flatpak_remote` ansible module. + - Format is: + ```yaml + remote: + name: + url: + method: 0 - loop: pkg.bins + - pkg.links is defined + - pkg.links | length > 0 + loop: "{{ pkg.links }}" loop_control: loop_var: lnk ansible.builtin.file: diff --git a/tasks/helpers/flatpak.yml b/tasks/helpers/flatpak.yml index fa9fd27..82dfcb4 100644 --- a/tasks/helpers/flatpak.yml +++ b/tasks/helpers/flatpak.yml @@ -1,9 +1,10 @@ # vim: set filetype=yaml.ansible : --- - name: Install flatpak - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" community.general.flatpak: - method: "{{ pkg_method }}" - remote: "{{ pkg_remote }}" - name: "{{ pkg_name }}" - state: present + method: "{{ flatpak.method | default('system') }}" + remote: "{{ flatpak.remote }}" + name: "{{ flatpak.name }}" + state: "{{ flatpak.state | default('present') }}" diff --git a/tasks/helpers/flatpak_remote.yml b/tasks/helpers/flatpak_remote.yml index 98e1855..a266dda 100644 --- a/tasks/helpers/flatpak_remote.yml +++ b/tasks/helpers/flatpak_remote.yml @@ -1,10 +1,11 @@ # vim: set filetype=yaml.ansible : --- - name: Add flatpak remote - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" community.general.flatpak_remote: - enabled: "{{ remote_enabled }}" - flatpakrepo_url: "{{ remote_url }}" - method: "{{ remote_method }}" - name: "{{ remote_name }}" - state: "{{ remote_state }}" + enabled: "{{ remote.enabled | default(true) }}" + flatpakrepo_url: "{{ remote.url }}" + method: "{{ remote.method | default('system') }}" + name: "{{ remote.name }}" + state: "{{ remote.state | default('present') }}" diff --git a/tasks/linux.yml b/tasks/linux.yml index bd0a73c..3e9556c 100644 --- a/tasks/linux.yml +++ b/tasks/linux.yml @@ -7,15 +7,9 @@ - name: Add flatpak remotes when: - flatpak_remote|length > 0 - loop: "{{ flatpak_remote | unique }}" + loop: "{{ flatpak_remotes }}" loop_control: loop_var: remote - vars: - remote_enabled: true - remote_url: "{{ remote.url }}" - remote_method: "{{ remote.method | default(default_flatpak_method) }}" - remote_name: "{{ remote.name }}" - remote_state: "{{ remote.state | default('present') }}" ansible.builtin.include_tasks: file: helpers/flatpak_remote.yml diff --git a/tasks/main.yml b/tasks/main.yml index ad07731..3467d51 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,9 @@ # vim: set filetype=yaml.ansible : --- +- name: Show indev warning + ansible.builtin.debug: + msg: "This software is in development. Use at your own risk" + - name: Set installation facts ansible.builtin.include_tasks: file: facts.yml @@ -85,63 +89,73 @@ ansible.builtin.include_tasks: file: pkgs/pipx.yml - - name: Ensure pipx path exists - when: pkg_pipx|length > 0 - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.pipx }}" +- name: Ensure pipx path exists + when: pkg_pipx|length > 0 + become: "{{ ext_become }}" + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ path.pipx }}" - - name: Ensure nodejs and npm are installed - when: pkg_npm|length > 0 - vars: - pkg: nodejs - ansible.builtin.include_tasks: - file: addpkg.yml +- name: Ensure nodejs and npm are installed + when: pkg_npm|length > 0 + vars: + pkg: nodejs + ansible.builtin.include_tasks: + file: addpkg.yml - - name: Ensure flatpak is installed - when: - - pkg_flatpak is defined - - pkg_flatpak|length > 0 - vars: - pkg: flatpak - ansible.builtin.include_tasks: - file: addpkg.yml +- name: Ensure flatpak is installed + when: + - pkg_flatpak is defined + - pkg_flatpak|length > 0 + vars: + pkg: flatpak + ansible.builtin.include_tasks: + file: addpkg.yml - - name: Ensure appimage path exists - when: - - pkg_appimage is defined - - pkg_appimage|length > 0 - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.appimage }}" +- name: Ensure appimage path exists + when: + - pkg_appimage is defined + - pkg_appimage|length > 0 + become: "{{ ext_become }}" + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ path.appimage }}" - - name: Ensure archive path exists - when: - - pkg_archive|length > 0 - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path_archive }}" +- name: Ensure archive path exists + when: + - pkg_archive|length > 0 + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ path_archive }}" - - name: Depend zig - when: pkg_zig|length > 0 - vars: - pkg: zig - ansible.builtin.include_tasks: - file: addpkg.yml +- name: Depend zig + when: pkg_zig|length > 0 + vars: + pkg: zig + ansible.builtin.include_tasks: + file: addpkg.yml - name: Install sys_pkgs list using system package manager - become: "{{ sys_pkg_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.package: name: "{{ pkg_sys | unique }}" state: present +- name: Install pkg_archive + when: + - pkg_archive|length > 0 + loop: "{{ pkg_archive }}" + loop_control: + loop_var: pkg + ansible.builtin.include_tasks: + file: helpers/archive.yml + - name: Linux specific tasks when: - ansible_system == 'Linux' @@ -154,15 +168,6 @@ ansible.builtin.include_tasks: file: macos.yml -- name: Install pkg_archive - when: - - pkg_archive|length > 0 - loop: "{{ pkg_archive }}" - loop_control: - loop_var: pkg - ansible.builtin.include_tasks: - file: "helpers/archive.yml" - - name: Install cargo packages when: - pkg_cargo|length > 0 @@ -238,11 +243,3 @@ loop_var: pkg ansible.builtin.include_tasks: file: "src/{{ pkg }}.yml" - -- name: Cleanup {{ d_tempdir.path }} - become: true - when: - - not debug - ansible.builtin.file: - state: absent - path: "{{ d_tempdir.path }}" diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index d348b64..fa56b80 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -8,7 +8,7 @@ - name: Set ansible install method when: - ansible_install_method is undefined - ansible.bulitin.set_fact: + ansible.builtin.set_fact: ansible_install_method: "{% if install_method in ansible_install_methods %}{{ install_method }}{% else %}{{ ansible_install_methods[0] }}{% endif %}" ansible_pkgname: RedHat: ansible diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 6cc754e..b24e092 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -2,7 +2,7 @@ --- - name: Configure go for install when: - - __go_configured is undefined + - "'go' not in __configured" block: - name: Configure go install method when: @@ -14,23 +14,15 @@ when: - go_install_method == 'system' block: - - name: Set go pkgname for linux - when: - - ansible_system == 'Linux' + - name: Set go pkgname ansible.builtin.set_fact: go_pkgname: "{{ go_pkgname[ansible_os_family] }}" - name: Set go pkgname for FreeBSD when: - ansible_os_family == 'FreeBSD' - ansible.bulitin.set_fact: - go_pkgname: "{{ go_pkgname[ansible_os_family][go_bsd_version] | default(go_pkgname[ansible_os_family]['default']) }}" - - - name: Set go pkgname for Darwin/MacOS - when: - - ansible_os_family == 'Darwin' ansible.builtin.set_fact: - go_pkgname: "{{ go_pkgname[ansible_os_family] }}" + go_pkgname: "{{ go_pkgname[go_bsd_version] | default(go_pkgname['default']) }}" - name: Configure go archive installation when: @@ -39,10 +31,7 @@ - name: Configure go ansible.builtin.set_fact: go_system: "{{ ansible_system | lower }}" - - - name: Set go architecture - ansible.builtin.set_fact: - go_arch: "{{ go_archmap[ansible_architecture] }}" + go_arch: "{{ go_archive_archmap[ansible_architecture] }}" - name: Set archive name ansible.builtin.set_fact: @@ -50,7 +39,7 @@ - name: Set go archive url and path ansible.builtin.set_fact: - go_archive_url: "https://go.dev/dl/{{ go_archive_file }}" + go_archive_url: "{{ go_archive_url_base }}/{{ go_archive_file }}" go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}" - name: Finalize go archive install @@ -58,15 +47,14 @@ go_archive_install: extract_to: "{{ go_extract_path }}" url: "{{ go_archive_url }}" - name: "{{ go_archive }}" + name: "{{ go_archive_file }}" checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" - bins: - - from: "{{ go_archive_path }}/go" + links: + - from: "{{ go_extract_path }}/go" to: "{{ path_go }}" force: true - - from: "{{ path_go }}/bin/go" - to: "{{ path_bin }}/go" - force: true + __add_to_path: "{{ __add_to_path + [path_go ~ '/bin'] }}" + __var_to_env: "{{ __var_to_env | combine( { 'GOROOT': path_go } ) }}" - name: Queue go install block: @@ -84,13 +72,6 @@ ansible.builtin.set_fact: pkg_archive: "{{ pkg_archive + [go_archive_install] }}" - - name: Set symbolic link to archive path - ansible.bulitin.file: - state: link - force: true - path: "{{ path_go }}" - src: "{{ go_extract_path }}/go" - - name: Complete go archive install configuration ansible.builtin.set_fact: - __go_configured: true + __configured: "{{ __configured | combine( { 'go': true } ) }}" diff --git a/tasks/pkgs/hyprland.yml b/tasks/pkgs/hyprland.yml index c4e4db3..0abb1ee 100644 --- a/tasks/pkgs/hyprland.yml +++ b/tasks/pkgs/hyprland.yml @@ -7,13 +7,13 @@ - name: Set Hyprland install method when: - hyprland_install_method is undefined - ansible.bulitin.set_fact: + ansible.builtin.set_fact: hyprland_install_method: "{% if install_method in hyprland_install_methods %}{{ install_method }}{% else %}{{ hyprland_install_methods[0] }}{% endif %}" - name: Set Hyprland source install configuration when: - hyprland_install_method == 'source' - ansible.bulitin.set_fact: + ansible.builtin.set_fact: hyprland_version: "{{ hyprland_version | default('v0.53.3') }}" hyprland_git_repo: "{{ hyprland_git_repo | default('https://github.com/hyprwm/Hyprland') }}" hyprland_build_deps: diff --git a/vars/main.yml b/vars/main.yml index 81183b9..335a8b4 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -51,16 +51,18 @@ pkg_src: [] # packages built from source pkg_sys: [] # system package manager packages pkg_sys_pip: [] # system pip packages pkg_zig: [] # zig packages -__configured: [] # list of configured packages +__configured: {} # dict of configured packages +__add_to_path: [] # list of paths that should be in PATH +__var_to_env: {} # dict of variables to add to your env # Per package variables ## {{{ air air_version: latest +air_build_files: + - bin/air air_install_url: github.com/air-verse/air air_pkg_deps: - pkgs/go.yml -air_build_files: - - bin/air # }}} ## {{{ alacritty alacritty_version: v0.16.1 @@ -133,6 +135,7 @@ go_archive_archmap: arm64: arm64 aarch64: arm64 x86_64: amd64 +go_archive_url_base: https://go.dev/dl go_archive_sums: 1.25.6: Darwin: diff --git a/vars/maintainers.yml b/vars/maintainers.yml deleted file mode 100644 index c457dbb..0000000 --- a/vars/maintainers.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -maintainers: - - name: Matthew Stobbs - packages: - - all -- 2.47.3 From b87fc8235e269596d061b1177d174bddcccc0362 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Fri, 6 Feb 2026 01:28:14 -0700 Subject: [PATCH 17/48] fixing obvious errors --- CONTRIBUTING.md | 15 ++++-- tasks/helpers/appimage.yml | 28 +++++------ tasks/helpers/archive.yml | 34 ++++++------- tasks/helpers/cargo.yml | 6 +-- tasks/helpers/cargo_build.yml | 84 +++++++++++++------------------- tasks/helpers/flatpak.yml | 4 +- tasks/helpers/flatpak_remote.yml | 6 +-- tasks/linux.yml | 20 ++------ tasks/main.yml | 69 ++++++++++++-------------- tasks/pkgs/alacritty.yml | 64 +++++++++++------------- 10 files changed, 149 insertions(+), 181 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a30c529..fb73e30 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,7 +45,7 @@ When adding default configuration, it MUST match the following: - Prefix the configuration with the name of the package, using snake case - Example: `alacritty_version: v0.16.1` - This keeps the configuration unique per package, and allows for the defaults - to be over-ridden where needed. + to be overridden where needed. The things that should be in the default configuration, if relevant, are: @@ -127,6 +127,15 @@ in place (usually in `/bin`). remote: name: url: - method: + ``` + - `pkg_flatpak` is a list of dicts describing how to install a flatpak + - Managed using `community.general.flatpak` ansible module. + - Format is: + ```yaml + flatpak: + name: + remote: + method: + state: ``` - - `pkg_flatpak` is a list of dicts diff --git a/tasks/helpers/appimage.yml b/tasks/helpers/appimage.yml index 3845f6e..aa472a4 100644 --- a/tasks/helpers/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -1,33 +1,29 @@ # vim: set filetype=yaml.ansible : --- -- name: Install appimage {{ pkg }} +- name: Install appimages become: "{{ install_become }}" become_user: "{{ install_become_user }}" block: - name: Ensure appimage path exists ansible.builtin.file: - path: "{{ path_appimage }}/{{ pkg.name }}" - mode: "{{ pkg.mode | default('0755') }}" - owner: "{{ pkg.owner | default(ansible_user_id) }}" - group: "{{ pkg.group | default(ansible_user_gid) }}" + path: "{{ path_appimage }}/{{ appimage.name }}" + mode: "{{ appimage.mode | default('0755') }}" + owner: "{{ appimage.owner | default(ansible_user_id) }}" + group: "{{ appimage.group | default(ansible_user_gid) }}" state: directory - name: Fetch appimage - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" ansible.builtin.get_url: - mode: "{{ pkg.mode | default('0755') }}" - owner: "{{ pkg.owner | default(ansible_user_id) }}" - group: "{{ pkg.group | default(ansible_user_gid) }}" - url: "{{ pkg.url }}" - dest: "{{ path_appimage }}/{{ pkg.name }}/{{ pkg.filename }}" + mode: "{{ appimage.mode | default('0755') }}" + owner: "{{ appimage.owner | default(ansible_user_id) }}" + group: "{{ appimage.group | default(ansible_user_gid) }}" + url: "{{ appimage.url }}" + dest: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" decompress: false backup: false - name: Link appimage to bin - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" ansible.builtin.file: state: link - src: "{{ path_appimage }}/{{ pkg.name }}/{{ pkg.filename }}" - path: "{{ path_bin }}/{{ pkg.name }}" + src: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" + path: "{{ path_bin }}/{{ appimage.name }}" diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index cd45132..ef35939 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -2,9 +2,9 @@ --- - name: Ensure requirements met when: - - pkg.extract_to is defined - - pkg.name is defined - - pkg.url is defined + - archive.extract_to is defined + - archive.name is defined + - archive.url is defined block: - name: Extract archive to given path block: @@ -13,16 +13,16 @@ become_user: "{{ install_become_user }}" ansible.builtin.file: state: directory - path: "{{ pkg.extract_to }}" - mode: "{{ pkg.mode | default('0755') }}" - owner: "{{ pkg.owner | default(ansible_user_id)}}" - group: "{{ pkg.group | default(ansible_user_gid) }}" + path: "{{ archive.extract_to }}" + mode: "{{ archive.mode | default('0755') }}" + owner: "{{ archive.owner | default(ansible_user_id)}}" + group: "{{ archive.group | default(ansible_user_gid) }}" - name: Download archive to cache ansible.builtin.get_url: - dest: "{{ d_cache.path }}/{{ pkg.name }}" - url: "{{ pkg.url }}" - checksum: "{{ pkg.checksum | default(omit) }}" + dest: "{{ d_cache.path }}/{{ archive.name }}" + url: "{{ archive.url }}" + checksum: "{{ archive.checksum | default(omit) }}" decompress: false mode: '0644' @@ -30,19 +30,19 @@ become: "{{ install_become }}" become_user: "{{ install_become_user }}" ansible.builtin.unarchive: - dest: "{{ pkg.extract_to }}" - src: "{{ d_cache.path }}/{{ pkg.name }}" + dest: "{{ archive.extract_to }}" + src: "{{ d_cache.path }}/{{ archive.name }}" remote_src: true - include: "{{ pkg.include | default(omit) }}" - exclude: "{{ pkg.exclude | default(omit) }}" + include: "{{ archive.include | default(omit) }}" + exclude: "{{ archive.exclude | default(omit) }}" - name: Symlink archive files become: "{{ install_become }}" become_user: "{{ install_become_user }}" when: - - pkg.links is defined - - pkg.links | length > 0 - loop: "{{ pkg.links }}" + - archive.links is defined + - archive.links | length > 0 + loop: "{{ archive.links }}" loop_control: loop_var: lnk ansible.builtin.file: diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index 629e62f..4a0d11f 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -4,7 +4,7 @@ become: "{{ install_become }}" become_user: "{{ install_become_user }}" community.general.cargo: - name: "{{ pkg.name | default(pkg) }}" - version: "{{ pkg.version | default(omit) }}" - locked: "{{ pkg.locked | default(false) }}" + name: "{{ cargo.name }}" + version: "{{ cargo.version | default(omit) }}" + locked: "{{ cargo.locked | default(false) }}" path: "{{ install_prefix }}" diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 59514d5..830ed9c 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -2,64 +2,50 @@ --- - name: Cargo source install helper block: - - name: Set build variables - ansible.builtin.set_fact: - git_path: "{{ d_tempdir.path }}/{{ pkg.name }}" - git_repo: "{{ pkg.repo }}" - git_depth: "{{ pkg.depth | default(1) }}" - git_recursive: "{{ pkg.recursive | default(true) }}" - git_version: "{{ pkg.version | default(omit) }}" - - name: Fetch git repo + vars: + git: + path: "{{ d_cache.path }}/{{ cargo_build.name }}" + repo: "{{ cargo_build.repo }}" + depth: "{{ cargo_build.depth | default(1) }}" + force: "{{ cargo_build.force_git | default(true) }}" + recursive: "{{ cargo_build.recursive | default(true) }}" + version: "{{ cargo_build.version | default(omit) }}" ansible.builtin.include_tasks: file: helpers/git.yml - name: Build cargo release ansible.builtin.command: - creates: "{{ pkg.bin_output }}" - chdir: "{{ pkg.path }}" - argv: "{{ [cargo, build] + pkg.build_flags }}" + chdir: "{{ d_cache.path }}/{{ cargo_build.name }}" + argv: "{{ [cargo, build] + cargo_build.build_flags }}" - name: Install cargo release block: - - name: Install binary - when: - - bin_name is defined - - bin_output is defined - become: true + - name: Create missing directories + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ cargo_build.files }}" + loop_control: + loop_var: file + ansible.builtin.file: + state: directory + path: "{{ install_prefix }}/{{ file.to | dirname }}" + mode: '0755' + owner: "{{ cargo_build.owner | default(ansible_user_id) }}" + group: "{{ cargo_build.group | default(ansible_user_gid) }}" + + - name: Install release files + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ cargo_build.files }}" + loop_control: + loop_var: file ansible.builtin.copy: backup: false - dest: "{{ install_prefix }}/bin/{{ bin_name }}" - owner: root - group: root - mode: "0755" remote_src: true - src: "{{ git_path }}/{{ bin_output }}" - - - name: Install additional files - when: - - install_files is defined - block: - - name: Create missing directories - loop: "{{ install_files | dict2items }}" - loop_control: - loop_var: file - ansible.builtin.file: - path: "{{ install_prefix }}/{{ file.value | dirname }}" - owner: root - group: root - mode: "0755" - state: directory - - - name: Copy extra files - loop: "{{ install_files | dict2items }}" - loop_control: - loop_var: file - ansible.builtin.copy: - backup: false - dest: "{{ install_prefix }}/{{ file.value }}" - owner: root - group: root - mode: "0644" - remote_src: true - src: "{{ git_path }}/{{ file.key }}" + src: "{{ d_cache.path }}/{{ cargo_build.name }}/{{ file.from }}" + dest: "{{ install_prefix }}/{{ file.to }}" + owner: "{{ cargo_build.owner | default(ansible_user_id) }}" + group: "{{ cargo_build.group | default(ansible_user_gid) }}" + mode: "{{ file.mode | default('0644') }}" + force: "{{ file.force | default(true) }}" diff --git a/tasks/helpers/flatpak.yml b/tasks/helpers/flatpak.yml index 82dfcb4..8e0d361 100644 --- a/tasks/helpers/flatpak.yml +++ b/tasks/helpers/flatpak.yml @@ -4,7 +4,7 @@ become: "{{ install_become }}" become_user: "{{ install_become_user }}" community.general.flatpak: - method: "{{ flatpak.method | default('system') }}" - remote: "{{ flatpak.remote }}" name: "{{ flatpak.name }}" + remote: "{{ flatpak.remote }}" + method: "{{ flatpak.method | default('system') }}" state: "{{ flatpak.state | default('present') }}" diff --git a/tasks/helpers/flatpak_remote.yml b/tasks/helpers/flatpak_remote.yml index a266dda..ab7f32a 100644 --- a/tasks/helpers/flatpak_remote.yml +++ b/tasks/helpers/flatpak_remote.yml @@ -4,8 +4,8 @@ become: "{{ install_become }}" become_user: "{{ install_become_user }}" community.general.flatpak_remote: - enabled: "{{ remote.enabled | default(true) }}" - flatpakrepo_url: "{{ remote.url }}" - method: "{{ remote.method | default('system') }}" name: "{{ remote.name }}" + flatpakrepo_url: "{{ remote.url }}" + enabled: "{{ remote.enabled | default(true) }}" + method: "{{ remote.method | default('system') }}" state: "{{ remote.state | default('present') }}" diff --git a/tasks/linux.yml b/tasks/linux.yml index 3e9556c..a3a512a 100644 --- a/tasks/linux.yml +++ b/tasks/linux.yml @@ -16,17 +16,11 @@ - name: Install flatpaks when: - pkg_flatpak|length > 0 - block: - - name: Install flatpak - loop: "{{ pkg_flatpak | unique }}" - loop_control: - loop_var: flatpak - vars: - pkg_method: "{{ flatpak.method | default(default_flatpak_method) }}" - pkg_remote: "{{ flatpak.remote | default(default_flatpak_remote) }}" - pkg_name: "{{ flatpak.name | default(flatpak) }}" - ansible.builtin.include_tasks: - file: helpers/flatpak.yml + loop: "{{ pkg_flatpak | unique }}" + loop_control: + loop_var: flatpak + ansible.builtin.include_tasks: + file: helpers/flatpak.yml - name: Install pkg_appimage when: @@ -34,9 +28,5 @@ loop: "{{ pkg_appimage }}" loop_control: loop_var: appimage - vars: - appimage_link_name: "{{ appimage.link_name }}" - appimage_url: "{{ appimage.url }}" - appimage_file: "{{ appimage.file }}" ansible.builtin.include_tasks: file: helpers/appimage.yml diff --git a/tasks/main.yml b/tasks/main.yml index 3467d51..0d95020 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -86,42 +86,42 @@ - name: Ensure pipx is installed when: - pkg_pipx|length > 0 - ansible.builtin.include_tasks: - file: pkgs/pipx.yml + block: + - name: Queue pipx install + ansible.builtin.include_tasks: + file: pkgs/pipx.yml -- name: Ensure pipx path exists - when: pkg_pipx|length > 0 - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.pipx }}" + - name: Ensure pipx path exists + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ path_pipx }}" - name: Ensure nodejs and npm are installed - when: pkg_npm|length > 0 - vars: - pkg: nodejs + when: + - pkg_npm|length > 0 ansible.builtin.include_tasks: - file: addpkg.yml + file: pkgs/nodejs.yml - name: Ensure flatpak is installed when: - pkg_flatpak is defined - pkg_flatpak|length > 0 - vars: - pkg: flatpak ansible.builtin.include_tasks: - file: addpkg.yml + file: pkgs/flatpak.yml - name: Ensure appimage path exists when: - pkg_appimage is defined - pkg_appimage|length > 0 - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.file: state: directory mode: '0755' - path: "{{ path.appimage }}" + path: "{{ path_appimage }}" - name: Ensure archive path exists when: @@ -134,13 +134,14 @@ path: "{{ path_archive }}" - name: Depend zig - when: pkg_zig|length > 0 - vars: - pkg: zig + when: + - pkg_zig|length > 0 ansible.builtin.include_tasks: - file: addpkg.yml + file: pkgs/zig.yml -- name: Install sys_pkgs list using system package manager +- name: Install pkg_sys list using system package manager + when: + - pkg_sys|length > 0 become: "{{ install_become }}" become_user: "{{ install_become_user }}" ansible.builtin.package: @@ -152,7 +153,7 @@ - pkg_archive|length > 0 loop: "{{ pkg_archive }}" loop_control: - loop_var: pkg + loop_var: archive ansible.builtin.include_tasks: file: helpers/archive.yml @@ -173,18 +174,19 @@ - pkg_cargo|length > 0 block: - name: Ensure cargo path exists - become: "{{ ext_become }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" ansible.builtin.file: state: directory mode: '0755' - path: "{{ path.cargo }}" + path: "{{ path_cargo }}" - name: Install cargo packages loop: "{{ pkg_cargo | unique }}" loop_control: - loop_var: pkg + loop_var: cargo ansible.builtin.include_tasks: - file: cargo.yml + file: helpers/cargo.yml - name: Build and install rust apps when: @@ -193,16 +195,7 @@ - name: Run cargo build and install loop: "{{ cargo_pkg_build }}" loop_control: - loop_var: pkg - vars: - bin_name: "{{ pkg.bin_name | default(omit) }}" - bin_output: "{{ pkg.bin_output | default(omit) }}" - cargo_build_flags: "{{ pkg.cargo_build_flags | default(omit) }}" - depth: "{{ pkg.depth | default(omit) }}" - install_files: "{{ pkg.install_files | default(omit) }}" - name: "{{ pkg.name | default(omit) }}" - recursive: "{{ pkg.recursive | default(omit) }}" - repo: "{{ pkg.repo | default(omit) }}" + loop_var: cargo_build ansible.builtin.include_tasks: file: helpers/cargo_build.yml diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index f6d4a37..dda3f48 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -2,7 +2,7 @@ --- - name: Configure alacritty # {{{ when: - - __alacritty_configured is undefined + - "'alacritty' not in __configured" block: - name: Set alacritty install method when: @@ -16,41 +16,41 @@ ansible.builtin.set_fact: alacritty_build_deps: "{{ alacritty_build_deps[ansible_os_family] }}" alacritty_src_install: - cargo_build_flags: "{{ alacritty_cargo_build_flags }}" + build_flags: "{{ alacritty_cargo_build_flags }}" name: "{{ alacritty_pkgname }}" repo: "{{ alacritty_git_repo }}" version: "{{ alacritty_version }}" - bin_output: "target/release/alacritty" - bin_name: "alacritty" - install_prefix: "{{ install_prefix }}" - install_files: - extra/logo/alacritty-term.svg: share/pixmaps/Alacritty.svg - desktop_files: - - extra/linux/Alacritty.desktop - files_list: "{{ alacritty_build_files }}" + files: + - from: target/release/alacritty + to: bin/alacritty + mode: '0755' + - from: extra/logo/alacritty-term.svg + to: share/pixmaps/Alacritty.svg + - from: extra/linux/Alacritty.desktop + to: share/applications/Alacritty.desktop - - name: Set alacritty install extra build deps + - name: Set alacritty install extra build deps + when: + - alacritty_install_method == "source" + - ansible_os_family == "RedHat" + - ansible_os_major_version < 9 + block: + - name: Add extra dependencies for EL7 when: - - alacritty_install_method == "source" - - ansible_os_family == "RedHat" - - ansible_os_major_version < 9 - block: - - name: Add extra dependencies for EL7 - when: - - ansible_distribution_major_version == 7 - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + - ansible_distribution_major_version == 7 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" - - name: Add extra dependencies for EL8 - when: - - ansible_distribution_major_version == 8 - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" + - name: Add extra dependencies for EL8 + when: + - ansible_distribution_major_version == 8 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" # }}} - name: Append alacritty installation block: - - name: Append alacritty to pkg_cargo + - name: Append alacritty to pkg_cargo_build when: - alacritty_method == 'source' block: @@ -64,19 +64,13 @@ pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - - name: Append alacritty to pkg_cask + - name: Append alacritty to pkg_sys when: - - alacritty_method == 'cask' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + [alacritty_pkgname] }}" - - - name: Append alacritty to sys_pkg - when: - - alacritty_method == 'package' + - alacritty_method == 'system' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" - name: Complete alacritty configuration when: __alacritty_configured is undefined ansible.builtin.set_fact: - __alacritty_configured: true + __configured: "{{ __configured | combine( { 'alacritty': true } ) }}" -- 2.47.3 From 906603b6d4dccca9bd35611f5c5d54a30da3da47 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 8 Feb 2026 14:44:54 -0700 Subject: [PATCH 18/48] doing nerdfonts --- tasks/pkgs/nerdfonts.yml | 46 +++++++++-- vars/main.yml | 12 +++ vars/nerdfonts.yml | 164 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 214 insertions(+), 8 deletions(-) create mode 100644 vars/nerdfonts.yml diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml index 060bbbb..6fa52d5 100644 --- a/tasks/pkgs/nerdfonts.yml +++ b/tasks/pkgs/nerdfonts.yml @@ -2,17 +2,47 @@ --- - name: Add nerdfonts when: - - nerdfonts_configured is undefined + - "'nerdfonts' in __configured" block: - - name: Load nerdfonts config - ansible.builtin.include_tasks: - file: config/nerdfonts.yml + - name: Load nerdfonts list + ansible.builtin.include_vars: + file: nerdfonts.yml + name: __nerdfonts - - name: Append nerdfonts to pkg_archive + - name: Create nerdfonts directories + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" when: - - ansible_system == 'Linux' + - nerdfonts_install_list|length > 0 + loop: "{{ nerdfonts_install_list }}" + loop_control: + loop_var: nf + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" + owner: "{{ install_prefix_owner }}" + group: "{{ install_prefix_group }}" + + - name: Generate nerdfont configs + when: + - nerdfonts_install_list|length > 0 + loop: "{{ nerdfonts_install_list }}" + loop_control: + loop_var: nf + ansible.bulitin.set_fact: + "nerdfont_{{ nf }}": + extract_to: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" + url: "{{ nerdfonts_base_url }}/{{ __nerdfonts[nf].archive | default(nf) }}.tar.xz" + + - name: Create nerdfont install list + when: + - nerdfonts_install_list|length > 0 + loop: "{{ nerdfonts_install_list }}" + loop_control: + loop_var: nf ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['nerdfonts'] }}" + nerdfonts_archives: "{{ nerdfonts_archives + [] }}" - name: Append nerdfonts to pkg_cask when: @@ -25,4 +55,4 @@ - name: Set nerdfonts_configured ansible.builtin.set_fact: - nerdfonts_configured: true + __configured: "{{ __configured | combine( { 'nerdfonts': true } ) }}" diff --git a/vars/main.yml b/vars/main.yml index 335a8b4..0a35f79 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -161,3 +161,15 @@ go_pkgname: 1.23: go123 1.22: go122 # }}} +# {{{ nerdfonts +nerdfonts_install_list: + JetBrainsMono + - FiraCode + - FiraMono + - GoMono + - Hack + - Symbols +nerdfonts_base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download +nerdfonts_install_path: share/fonts +nerdfonts_archives: [] +# }}} diff --git a/vars/nerdfonts.yml b/vars/nerdfonts.yml new file mode 100644 index 0000000..39bcd99 --- /dev/null +++ b/vars/nerdfonts.yml @@ -0,0 +1,164 @@ +fonts: + 0xProto: + brew: font-0xproto-nerd-font + "3270": + brew: font-3270-nerd-font + Agave: + brew: font-agave-nerd-font + AnonymicePro: + archive: AnonymousPro + brew: font-anonymice-nerd-font + Arimo: + brew: font-arimo-nerd-font + AurulentSansM: + archive: AurulentSansMono + brew: font-aurulent-sans-mono-nerd-font + BigBlueTerm: + archive: BigBlueTerminal + brew: font-bigblue-terminal-nerd-font + BitstromWera: + archive: BitstreamVeraSansMono + brew: font-bitstream-vera-sans-mono-nerd-font + BlexMono: + archive: IBMPlexMono + brew: font-blex-mono-nerd-font + CaskaydiaCove: + archive: CascadiaCode + brew: font-caskaydia-cove-nerd-font + CaskaydiaMono: + archive: CascadiaMono + brew: font-caskaydia-mono-nerd-font + CodeNewRoman: + brew: font-code-new-roman-nerd-font + ComicShannsMono: + brew: font-comic-shanns-mono-nerd-font + CommitMono: + brew: font-commit-mono-nerd-font + Cousine: + brew: font-cousine-nerd-font + D2CodingLigature: + archive: D2Coding + brew: font-d2coding-nerd-font + DaddyTimeMono: + brew: font-daddy-time-mono-nerd-font + DejaVuSansM: + archive: DejaVuSansMono + brew: font-dejavu-sans-mono-nerd-font + DepartureMono: + brew: font-departure-mono-nerd-font + DroidSansM: + archive: DroidSansMono + brew: font-droid-sans-mono-nerd-font + EnvyCodeR: + brew: font-envy-code-r-nerd-font + FantasqueSansM: + archive: FantasqueSansMono + brew: font-fantasque-sans-mono-nerd-font + FiraCode: + brew: font-fira-code-nerd-font + FiraMono: + brew: font-fira-mono-nerd-font + GeistMono: + brew: font-geist-mono-nerd-font + GoMono: + archive: Go-Mono + brew: font-go-mono-nerd-font + GohuFont: + archive: Gohu + brew: font-gohufont-nerd-font + Hack: + brew: font-hack-nerd-font + Hasklug: + archive: Hasklig + brew: font-hasklug-nerd-font + HeavyData: + brew: font-heavy-data-nerd-font + Hurmit: + archive: Hermit + brew: font-hurmit-nerd-font + iMWriting: + archive: IA-Writer + brew: font-im-writing-nerd-font + Inconsolata: + brew: font-inconsolata-nerd-font + InconsolataGo: + brew: font-inconsolata-go-nerd-font + InconsolataLGC: + brew: font-inconsolata-lgc-nerd-font + IntoneMono: + archive: IntelOneMono + brew: font-intone-mono-nerd-font + Iosevka: + brew: font-iosevka-nerd-font + IosevkaTerm: + brew: font-iosevka-term-nerd-font + IosevkaTermSlab: + brew: font-iosevka-term-slab-nerd-font + JetBrainsMono: + brew: font-jetbrains-mono-nerd-font + Lekton: + brew: font-lekton-nerd-font + LiterationMono: + archive: LiberationMono + brew: font-liberation-nerd-font + Lilex: + brew: font-lilex-nerd-font + MartianMono: + brew: font-martian-mono-nerd-font + MesloLG: + archive: Meslo + brew: font-meslo-lg-nerd-font + Monaspice: + archive: Monaspace + brew: font-monaspace-nerd-font + Monofur: + brew: font-monofur-nerd-font + Monoid: + brew: font-monoid-nerd-font + Mononoki: + brew: font-mononoki-nerd-font + M+: + archive: MPlus + brew: font-m+-nerd-font + Noto: + brew: font-noto-nerd-font + OpenDyslexic: + brew: font-open-dyslexic-nerd-font + Overpass: + brew: font-overpass-nerd-font + ProFont: + brew: font-profont-nerd-font + ProggyClean: + brew: font-proggy-clean-tt-nerd-font + RecMono: + archive: Recursive + brew: font-recursive-mono-nerd-font + RobotoMono: + brew: font-roboto-mono-nerd-font + ShureTechMono: + archive: ShareTechMono + brew: font-shure-tech-mono-nerd-font + SauceCodePro: + archive: SourceCodePro + brew: font-sauce-code-pro-nerd-font + SpaceMono: + brew: font-space-mono-nerd-font + Symbols: + archive: NerdFontsSymbolsOnly + brew: font-symbols-only-nerd-font + Terminess: + archive: Terminus + brew: font-terminess-ttf-nerd-font + Tinos: + brew: font-tinos-nerd-font + Ubuntu: + brew: font-ubuntu-nerd-font + UbuntuMono: + brew: font-ubuntu-mono-nerd-font + UbuntuSans: + brew: font-ubuntu-sans-nerd-font + VictorMono: + brew: font-victor-mono-nerd-font + ZedMono: + brew: font-zed-mono-nerd-font +base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download -- 2.47.3 From 2c1f4ec4227ebd6b1d0702829a5621c3098c61c5 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 10 Feb 2026 16:13:44 -0700 Subject: [PATCH 19/48] working on nerdfonts still --- tasks/facts.yml | 29 +++++++++++++------ tasks/helpers/archive.yml | 7 +++-- tasks/helpers/nerdfont_config.yml | 27 +++++++++++++++++ tasks/main.yml | 17 +++++++---- tasks/pkgs/nerdfonts.yml | 34 ++++++---------------- vars/main.yml | 48 +------------------------------ 6 files changed, 74 insertions(+), 88 deletions(-) create mode 100644 tasks/helpers/nerdfont_config.yml diff --git a/tasks/facts.yml b/tasks/facts.yml index afb9bd3..1f41fa8 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -2,20 +2,33 @@ --- - name: Set package_home_base for Darwin when: - - ansible_system == 'Darwin' + - ansible_facts["system"] == 'Darwin' ansible.builtin.set_fact: package_home_base: /Users - name: Set package_home_base for Linux when: - - ansible_system == 'Linux' or - ansible_os_family == 'FreeBSD' + - ansible_facts["system"] == 'Linux' or + ansible_facts["os_family"] == 'FreeBSD' ansible.builtin.set_fact: package_home_base: /home +- name: Set default paths + ansible.builtin.set_fact: + path_appimage: "{{ install_prefix }}/appimage" + path_archive: "{{ install_prefix }}/archive" + path_bin: "{{ install_prefix }}/bin" + path_cargo: "{{ install_prefix }}/cargo" + path_git: "{{ install_prefix }}/git" + path_go: "{{ install_prefix }}/go" + path_pipx: "{{ install_prefix }}/pipx" + store_path: "{{ ansible_facts['user_dir'] }}/.cache/ansible_role_package" + path_lib: "{{ install_prefix }}/lib" + + - name: Set Linux specific facts when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' ansible.builtin.set_fact: pipx_exec: "/usr/bin/pipx" path_lib: lib64 @@ -23,13 +36,13 @@ - name: Set alpine linux specific facts when: - - ansible_os_family == 'Alpine' + - ansible_facts["os_family"] == 'Alpine' ansible.builtin.set_fact: path_lib: lib - name: Set dist code if RedHat based when: - - ansible_os_family == 'RedHat' + - ansible_facts["os_family"] == 'RedHat' changed_when: false register: rpm_dist ansible.builtin.command: @@ -37,8 +50,8 @@ - name: Set macOS specific facts when: - - ansible_distribution == 'MacOSX' or - ansible_distribution == 'MacOS' + - ansible_facts["distribution"] == 'MacOSX' or + ansible_facts["distribution"] == 'MacOS' ansible.builtin.set_fact: brewtap: [] # homebrew taps to add pipx_exec: "/opt/homebrew/bin/pipx" # pipx executable diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index ef35939..22fb1ed 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -6,6 +6,9 @@ - archive.name is defined - archive.url is defined block: + - name: Dump archive vars + ansible.builtin.debug: + var: archive - name: Extract archive to given path block: - name: Ensure directory exists @@ -15,8 +18,8 @@ state: directory path: "{{ archive.extract_to }}" mode: "{{ archive.mode | default('0755') }}" - owner: "{{ archive.owner | default(ansible_user_id)}}" - group: "{{ archive.group | default(ansible_user_gid) }}" + owner: "{{ archive.owner | default(ansible_facts['user_id']) }}" + group: "{{ archive.group | default(ansible_facts['user_gid']) }}" - name: Download archive to cache ansible.builtin.get_url: diff --git a/tasks/helpers/nerdfont_config.yml b/tasks/helpers/nerdfont_config.yml new file mode 100644 index 0000000..d194084 --- /dev/null +++ b/tasks/helpers/nerdfont_config.yml @@ -0,0 +1,27 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Load nerdfonts list + ansible.builtin.include_vars: + file: nerdfonts.yml + name: __nerdfonts + +- name: Generate nerdfont configs + when: + - __nerdfonts[nf] is defined + ansible.builtin.set_fact: + __font_config: + extract_to: "{{ path_archive }}/nerdfonts/{{ nf }}" + url: "{{ nerdfonts_base_url }}/{{ __nerdfonts[nf]['archive'] | default(nf) }}.tar.xz" + name: "{{ __nerdfonts[nf]['archive'] | default(nf) }}.tar.xz" + links: + - from: "{{ path_archive }}/nerdfonts/{{ nf }}" + to: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" + force: true + +- name: Dump current nerdfont config + ansible.builtin.debug: + var: __font_config + +- name: Append config to pkg archive + ansible.builtin.set_fact: + pkg_archive: "{{ pkg_archive + [__font_config] }}" diff --git a/tasks/main.yml b/tasks/main.yml index 0d95020..751f35a 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -13,8 +13,8 @@ ansible.builtin.file: path: "{{ store_path }}" mode: '0755' - owner: "{{ ansible_user_id }}" - group: "{{ ansible_user_gid }}" + owner: "{{ ansible_facts['user_id'] }}" + group: "{{ ansible_facts['user_gid'] }}" state: directory - name: Ensure required paths exists @@ -40,16 +40,21 @@ - name: Read package configuration ansible.builtin.include_vars: file: pkglist.yml + +- name: Load nerdfonts list + ansible.builtin.include_vars: + file: nerdfonts.yml + name: __nerdfonts - name: Add needed packages for Fedora when: - - ansible_distribution == 'Fedora' + - ansible_facts["distribution"] == 'Fedora' ansible.builtin.set_fact: pkg_sys: "{{ packages_extra + ['python3-paramiko'] }}" - name: Add needed MacOS packages when: - - ansible_distribution == 'MacOSX' + - ansible_facts["distribution"] == 'MacOSX' ansible.builtin.set_fact: pkg_sys: "{{ packages_extra + ['gnu-tar', 'virtualenv'] }}" @@ -159,13 +164,13 @@ - name: Linux specific tasks when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' ansible.builtin.include_tasks: file: linux.yml - name: MacOS specific tasks when: - - ansible_distribution == 'MacOSX' + - ansible_facts["distribution"] == 'MacOSX' ansible.builtin.include_tasks: file: macos.yml diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml index 6fa52d5..5a509e5 100644 --- a/tasks/pkgs/nerdfonts.yml +++ b/tasks/pkgs/nerdfonts.yml @@ -2,7 +2,7 @@ --- - name: Add nerdfonts when: - - "'nerdfonts' in __configured" + - "'nerdfonts' not in __configured" block: - name: Load nerdfonts list ansible.builtin.include_vars: @@ -12,46 +12,30 @@ - name: Create nerdfonts directories become: "{{ install_become }}" become_user: "{{ install_become_user }}" - when: - - nerdfonts_install_list|length > 0 - loop: "{{ nerdfonts_install_list }}" - loop_control: - loop_var: nf ansible.builtin.file: state: directory mode: '0755' - path: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" + path: "{{ install_prefix }}/{{ nerdfonts_install_path }}" owner: "{{ install_prefix_owner }}" group: "{{ install_prefix_group }}" - - name: Generate nerdfont configs + - name: Configure nerdfonts archive install when: - nerdfonts_install_list|length > 0 + - ansible_facts["system"] != 'Darwin' loop: "{{ nerdfonts_install_list }}" loop_control: loop_var: nf - ansible.bulitin.set_fact: - "nerdfont_{{ nf }}": - extract_to: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" - url: "{{ nerdfonts_base_url }}/{{ __nerdfonts[nf].archive | default(nf) }}.tar.xz" - - - name: Create nerdfont install list - when: - - nerdfonts_install_list|length > 0 - loop: "{{ nerdfonts_install_list }}" - loop_control: - loop_var: nf - ansible.builtin.set_fact: - nerdfonts_archives: "{{ nerdfonts_archives + [] }}" + ansible.builtin.include_tasks: helpers/nerdfont_config.yml - name: Append nerdfonts to pkg_cask when: - - ansible_system == 'Darwin' - loop: "{{ nerdfonts.fonts }}" + - ansible_facts["system"] == 'Darwin' + loop: "{{ nerdfonts_install_list }}" loop_control: - loop_var: font + loop_var: nf ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + [pkgconfig.nerdfonts.fonts[font].brew] }}" + pkg_cask: "{{ pkg_cask + [__nerdfonts[nf].brew] }}" - name: Set nerdfonts_configured ansible.builtin.set_fact: diff --git a/vars/main.yml b/vars/main.yml index 0a35f79..b6c1a68 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -23,19 +23,6 @@ flatpak_default_remote: flathub flatpak_method: system flatpak_remotes: "{{ [flathub_remote] }}" -# Installation paths -path_appimage: "{{ install_prefix }}/appimage" -path_archive: "{{ install_prefix }}/archive" -path_bin: "{{ install_prefix }}/bin" -path_cargo: "{{ install_prefix }}/cargo" -path_git: "{{ store_path }}/git" -path_go: "{{ install_prefix }}/go" -path_pipx: "{{ install_prefix }}/pipx" -store_path: "{{ ansible_user_dir }}/.cache/ansible_role_package" -path_lib: "{{ install_prefix }}/lib" - -# System paths - # empty lists that must be defined pkg_appimage: [] # appimages to install pkg_archive: [] # packages installed via prebuilt archive @@ -129,41 +116,9 @@ ansible_ls_version: latest ansible_ls_pkg_deps: - pkgs/npm.yml # }}} -# go {{{ -go_archive_version: 1.25.6 -go_archive_archmap: - arm64: arm64 - aarch64: arm64 - x86_64: amd64 -go_archive_url_base: https://go.dev/dl -go_archive_sums: - 1.25.6: - Darwin: - amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 - arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 - Linux: - amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a - arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 - FreeBSD: - amd64: sha256:61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b - arm64: sha256:648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77 -go_profile_path: - Linux: /etc/profile.d - FreeBSD: /etc/profile.d -go_pkgname: - RedHat: go - Debian: go - Darwin: go - FreeBSD: - default: go - 1.25: go125 - 1.24: go124 - 1.23: go123 - 1.22: go122 -# }}} # {{{ nerdfonts nerdfonts_install_list: - JetBrainsMono + - JetBrainsMono - FiraCode - FiraMono - GoMono @@ -171,5 +126,4 @@ nerdfonts_install_list: - Symbols nerdfonts_base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download nerdfonts_install_path: share/fonts -nerdfonts_archives: [] # }}} -- 2.47.3 From 0a335f23b0b27bd76ee1e6bc02e03fae6ca16a42 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 10 Feb 2026 19:02:15 -0700 Subject: [PATCH 20/48] fix go, finish nerdfonts --- tasks/helpers/archive.yml | 3 - tasks/helpers/nerdfont_config.yml | 11 +- vars/main.yml | 32 +++ vars/nerdfonts.yml | 325 +++++++++++++++--------------- 4 files changed, 195 insertions(+), 176 deletions(-) diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index 22fb1ed..c98802c 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -6,9 +6,6 @@ - archive.name is defined - archive.url is defined block: - - name: Dump archive vars - ansible.builtin.debug: - var: archive - name: Extract archive to given path block: - name: Ensure directory exists diff --git a/tasks/helpers/nerdfont_config.yml b/tasks/helpers/nerdfont_config.yml index d194084..b5787d7 100644 --- a/tasks/helpers/nerdfont_config.yml +++ b/tasks/helpers/nerdfont_config.yml @@ -1,13 +1,8 @@ # vim: set filetype=yaml.ansible : --- -- name: Load nerdfonts list - ansible.builtin.include_vars: - file: nerdfonts.yml - name: __nerdfonts - - name: Generate nerdfont configs when: - - __nerdfonts[nf] is defined + - "__nerdfonts[nf] is defined" ansible.builtin.set_fact: __font_config: extract_to: "{{ path_archive }}/nerdfonts/{{ nf }}" @@ -18,10 +13,6 @@ to: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" force: true -- name: Dump current nerdfont config - ansible.builtin.debug: - var: __font_config - - name: Append config to pkg archive ansible.builtin.set_fact: pkg_archive: "{{ pkg_archive + [__font_config] }}" diff --git a/vars/main.yml b/vars/main.yml index b6c1a68..d064dbb 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -116,6 +116,38 @@ ansible_ls_version: latest ansible_ls_pkg_deps: - pkgs/npm.yml # }}} +# {{{ go +go_archive_version: 1.25.6 +go_archive_archmap: + arm64: arm64 + aarch64: arm64 + x86_64: amd64 +go_archive_url_base: https://go.dev/dl +go_archive_sums: + 1.25.6: + Darwin: + amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 + arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 + Linux: + amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a + arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 + FreeBSD: + amd64: sha256:61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b + arm64: sha256:648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77 +go_profile_path: + Linux: /etc/profile.d + FreeBSD: /etc/profile.d +go_pkgname: + RedHat: go + Debian: go + Darwin: go + FreeBSD: + default: go + 1.25: go125 + 1.24: go124 + 1.23: go123 + 1.22: go122 +# }}} # {{{ nerdfonts nerdfonts_install_list: - JetBrainsMono diff --git a/vars/nerdfonts.yml b/vars/nerdfonts.yml index 39bcd99..a3a68cb 100644 --- a/vars/nerdfonts.yml +++ b/vars/nerdfonts.yml @@ -1,164 +1,163 @@ -fonts: - 0xProto: - brew: font-0xproto-nerd-font - "3270": - brew: font-3270-nerd-font - Agave: - brew: font-agave-nerd-font - AnonymicePro: - archive: AnonymousPro - brew: font-anonymice-nerd-font - Arimo: - brew: font-arimo-nerd-font - AurulentSansM: - archive: AurulentSansMono - brew: font-aurulent-sans-mono-nerd-font - BigBlueTerm: - archive: BigBlueTerminal - brew: font-bigblue-terminal-nerd-font - BitstromWera: - archive: BitstreamVeraSansMono - brew: font-bitstream-vera-sans-mono-nerd-font - BlexMono: - archive: IBMPlexMono - brew: font-blex-mono-nerd-font - CaskaydiaCove: - archive: CascadiaCode - brew: font-caskaydia-cove-nerd-font - CaskaydiaMono: - archive: CascadiaMono - brew: font-caskaydia-mono-nerd-font - CodeNewRoman: - brew: font-code-new-roman-nerd-font - ComicShannsMono: - brew: font-comic-shanns-mono-nerd-font - CommitMono: - brew: font-commit-mono-nerd-font - Cousine: - brew: font-cousine-nerd-font - D2CodingLigature: - archive: D2Coding - brew: font-d2coding-nerd-font - DaddyTimeMono: - brew: font-daddy-time-mono-nerd-font - DejaVuSansM: - archive: DejaVuSansMono - brew: font-dejavu-sans-mono-nerd-font - DepartureMono: - brew: font-departure-mono-nerd-font - DroidSansM: - archive: DroidSansMono - brew: font-droid-sans-mono-nerd-font - EnvyCodeR: - brew: font-envy-code-r-nerd-font - FantasqueSansM: - archive: FantasqueSansMono - brew: font-fantasque-sans-mono-nerd-font - FiraCode: - brew: font-fira-code-nerd-font - FiraMono: - brew: font-fira-mono-nerd-font - GeistMono: - brew: font-geist-mono-nerd-font - GoMono: - archive: Go-Mono - brew: font-go-mono-nerd-font - GohuFont: - archive: Gohu - brew: font-gohufont-nerd-font - Hack: - brew: font-hack-nerd-font - Hasklug: - archive: Hasklig - brew: font-hasklug-nerd-font - HeavyData: - brew: font-heavy-data-nerd-font - Hurmit: - archive: Hermit - brew: font-hurmit-nerd-font - iMWriting: - archive: IA-Writer - brew: font-im-writing-nerd-font - Inconsolata: - brew: font-inconsolata-nerd-font - InconsolataGo: - brew: font-inconsolata-go-nerd-font - InconsolataLGC: - brew: font-inconsolata-lgc-nerd-font - IntoneMono: - archive: IntelOneMono - brew: font-intone-mono-nerd-font - Iosevka: - brew: font-iosevka-nerd-font - IosevkaTerm: - brew: font-iosevka-term-nerd-font - IosevkaTermSlab: - brew: font-iosevka-term-slab-nerd-font - JetBrainsMono: - brew: font-jetbrains-mono-nerd-font - Lekton: - brew: font-lekton-nerd-font - LiterationMono: - archive: LiberationMono - brew: font-liberation-nerd-font - Lilex: - brew: font-lilex-nerd-font - MartianMono: - brew: font-martian-mono-nerd-font - MesloLG: - archive: Meslo - brew: font-meslo-lg-nerd-font - Monaspice: - archive: Monaspace - brew: font-monaspace-nerd-font - Monofur: - brew: font-monofur-nerd-font - Monoid: - brew: font-monoid-nerd-font - Mononoki: - brew: font-mononoki-nerd-font - M+: - archive: MPlus - brew: font-m+-nerd-font - Noto: - brew: font-noto-nerd-font - OpenDyslexic: - brew: font-open-dyslexic-nerd-font - Overpass: - brew: font-overpass-nerd-font - ProFont: - brew: font-profont-nerd-font - ProggyClean: - brew: font-proggy-clean-tt-nerd-font - RecMono: - archive: Recursive - brew: font-recursive-mono-nerd-font - RobotoMono: - brew: font-roboto-mono-nerd-font - ShureTechMono: - archive: ShareTechMono - brew: font-shure-tech-mono-nerd-font - SauceCodePro: - archive: SourceCodePro - brew: font-sauce-code-pro-nerd-font - SpaceMono: - brew: font-space-mono-nerd-font - Symbols: - archive: NerdFontsSymbolsOnly - brew: font-symbols-only-nerd-font - Terminess: - archive: Terminus - brew: font-terminess-ttf-nerd-font - Tinos: - brew: font-tinos-nerd-font - Ubuntu: - brew: font-ubuntu-nerd-font - UbuntuMono: - brew: font-ubuntu-mono-nerd-font - UbuntuSans: - brew: font-ubuntu-sans-nerd-font - VictorMono: - brew: font-victor-mono-nerd-font - ZedMono: - brew: font-zed-mono-nerd-font +0xProto: + brew: font-0xproto-nerd-font +"3270": + brew: font-3270-nerd-font +Agave: + brew: font-agave-nerd-font +AnonymicePro: + archive: AnonymousPro + brew: font-anonymice-nerd-font +Arimo: + brew: font-arimo-nerd-font +AurulentSansM: + archive: AurulentSansMono + brew: font-aurulent-sans-mono-nerd-font +BigBlueTerm: + archive: BigBlueTerminal + brew: font-bigblue-terminal-nerd-font +BitstromWera: + archive: BitstreamVeraSansMono + brew: font-bitstream-vera-sans-mono-nerd-font +BlexMono: + archive: IBMPlexMono + brew: font-blex-mono-nerd-font +CaskaydiaCove: + archive: CascadiaCode + brew: font-caskaydia-cove-nerd-font +CaskaydiaMono: + archive: CascadiaMono + brew: font-caskaydia-mono-nerd-font +CodeNewRoman: + brew: font-code-new-roman-nerd-font +ComicShannsMono: + brew: font-comic-shanns-mono-nerd-font +CommitMono: + brew: font-commit-mono-nerd-font +Cousine: + brew: font-cousine-nerd-font +D2CodingLigature: + archive: D2Coding + brew: font-d2coding-nerd-font +DaddyTimeMono: + brew: font-daddy-time-mono-nerd-font +DejaVuSansM: + archive: DejaVuSansMono + brew: font-dejavu-sans-mono-nerd-font +DepartureMono: + brew: font-departure-mono-nerd-font +DroidSansM: + archive: DroidSansMono + brew: font-droid-sans-mono-nerd-font +EnvyCodeR: + brew: font-envy-code-r-nerd-font +FantasqueSansM: + archive: FantasqueSansMono + brew: font-fantasque-sans-mono-nerd-font +FiraCode: + brew: font-fira-code-nerd-font +FiraMono: + brew: font-fira-mono-nerd-font +GeistMono: + brew: font-geist-mono-nerd-font +GoMono: + archive: Go-Mono + brew: font-go-mono-nerd-font +GohuFont: + archive: Gohu + brew: font-gohufont-nerd-font +Hack: + brew: font-hack-nerd-font +Hasklug: + archive: Hasklig + brew: font-hasklug-nerd-font +HeavyData: + brew: font-heavy-data-nerd-font +Hurmit: + archive: Hermit + brew: font-hurmit-nerd-font +iMWriting: + archive: IA-Writer + brew: font-im-writing-nerd-font +Inconsolata: + brew: font-inconsolata-nerd-font +InconsolataGo: + brew: font-inconsolata-go-nerd-font +InconsolataLGC: + brew: font-inconsolata-lgc-nerd-font +IntoneMono: + archive: IntelOneMono + brew: font-intone-mono-nerd-font +Iosevka: + brew: font-iosevka-nerd-font +IosevkaTerm: + brew: font-iosevka-term-nerd-font +IosevkaTermSlab: + brew: font-iosevka-term-slab-nerd-font +JetBrainsMono: + brew: font-jetbrains-mono-nerd-font +Lekton: + brew: font-lekton-nerd-font +LiterationMono: + archive: LiberationMono + brew: font-liberation-nerd-font +Lilex: + brew: font-lilex-nerd-font +MartianMono: + brew: font-martian-mono-nerd-font +MesloLG: + archive: Meslo + brew: font-meslo-lg-nerd-font +Monaspice: + archive: Monaspace + brew: font-monaspace-nerd-font +Monofur: + brew: font-monofur-nerd-font +Monoid: + brew: font-monoid-nerd-font +Mononoki: + brew: font-mononoki-nerd-font +M+: + archive: MPlus + brew: font-m+-nerd-font +Noto: + brew: font-noto-nerd-font +OpenDyslexic: + brew: font-open-dyslexic-nerd-font +Overpass: + brew: font-overpass-nerd-font +ProFont: + brew: font-profont-nerd-font +ProggyClean: + brew: font-proggy-clean-tt-nerd-font +RecMono: + archive: Recursive + brew: font-recursive-mono-nerd-font +RobotoMono: + brew: font-roboto-mono-nerd-font +ShureTechMono: + archive: ShareTechMono + brew: font-shure-tech-mono-nerd-font +SauceCodePro: + archive: SourceCodePro + brew: font-sauce-code-pro-nerd-font +SpaceMono: + brew: font-space-mono-nerd-font +Symbols: + archive: NerdFontsSymbolsOnly + brew: font-symbols-only-nerd-font +Terminess: + archive: Terminus + brew: font-terminess-ttf-nerd-font +Tinos: + brew: font-tinos-nerd-font +Ubuntu: + brew: font-ubuntu-nerd-font +UbuntuMono: + brew: font-ubuntu-mono-nerd-font +UbuntuSans: + brew: font-ubuntu-sans-nerd-font +VictorMono: + brew: font-victor-mono-nerd-font +ZedMono: + brew: font-zed-mono-nerd-font base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download -- 2.47.3 From c592ec4bfd6549910677faad48e026b351749982 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 10 Feb 2026 19:05:06 -0700 Subject: [PATCH 21/48] add go executable to INSTALL_PREFIX/bin/go --- tasks/pkgs/go.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index b24e092..0608ad4 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -53,6 +53,9 @@ - from: "{{ go_extract_path }}/go" to: "{{ path_go }}" force: true + - from: "{{ go_extract_path }}/go/bin/go" + to: "{{ path_bin }}/go" + force: true __add_to_path: "{{ __add_to_path + [path_go ~ '/bin'] }}" __var_to_env: "{{ __var_to_env | combine( { 'GOROOT': path_go } ) }}" -- 2.47.3 From 7ca12c74e56214cd2c1807635ef0f139ed0d84c1 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 10 Feb 2026 19:24:09 -0700 Subject: [PATCH 22/48] add ansible and bashls --- tasks/config/go.yml | 23 ----------------------- tasks/pkgs/ansible.yml | 30 ++++++++++++++---------------- tasks/pkgs/bashls.yml | 16 ++++++++++++---- vars/main.yml | 19 +++++++++++++++++-- 4 files changed, 43 insertions(+), 45 deletions(-) delete mode 100644 tasks/config/go.yml diff --git a/tasks/config/go.yml b/tasks/config/go.yml deleted file mode 100644 index 6be7b4e..0000000 --- a/tasks/config/go.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set go configuration - ansible.builtin.set_fact: - go: - method: archive - arch: "{{ pkgconfig.go.archmap[ansible_architecture] }}" - ext: "{{ pkgconfig.go.extmap[ansible_system] }}" - sys: "{{ ansible_system | lower }}" - vers: "{{ pkgconfig.go.version }}" - -- name: Set go composite facts - ansible.builtin.set_fact: - go: - method: archive - arch: "{{ go.arch }}" - archive: "go{{ go.vers }}.{{ go.sys }}-{{ go.arch }}.{{ pkgconfig.go.extmap[ansible_system] }}" - ext: "{{ go.ext }}" - prefix: "{% if ansible_distribution == 'MacOSX' %}/{% else %}{{ path.prefix }}{% endif %}" - sum: "{{ pkgconfig.go.sums[go.vers][ansible_system][go.arch] }}" - sys: "{{ go.sys }}" - base_url: "{{ pkgconfig.go.base_url }}" - vers: "{{ go.vers }}" diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index fa56b80..cad0fe2 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -2,28 +2,26 @@ --- - name: Configure ansible when: - - __ansible_configured is undefined or - not __ansible_configured + - "'ansible' not in __configured" block: - name: Set ansible install method when: - ansible_install_method is undefined ansible.builtin.set_fact: ansible_install_method: "{% if install_method in ansible_install_methods %}{{ install_method }}{% else %}{{ ansible_install_methods[0] }}{% endif %}" - ansible_pkgname: - RedHat: ansible - Debian: ansible - Alpine: ansible - Archlinux: ansible + + - name: Append ansible to system package manager install list + when: + - ansible_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ansible_pkgname[ansible_os_family]] }}" + + - name: Append ansible to pipx install list + when: + - ansible_install_method == 'source' + ansible.builtin.set_fact: + pkg_pipx: "{{ pkg_pipx + [ansible_pip_pkgname] }}" - name: Complete ansible configuration ansible.builtin.set_fact: - __ansible_configured: true - -- name: Append ansible to system package manager install list - when: - - ansible_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_pkgname[ansible_os_family]] }}" - -- name: Append ansible to pipx install list + __configured: "{{ __configured | combine( { 'ansible': true } ) }}" diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index 3e79ff0..5b0ce76 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -2,12 +2,20 @@ --- - name: Add bashls when: - - bashls_configured is undefined + - "'bashls' not in __configured" block: - - name: Append bash-language-server to pkg_npm + - name: Set bashls install method + when: + - bashls_install_method is undefined ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['bash-language-server'] }}" + bashls_install_method: "{% if install_method in bashls_install_methods %}{{ install_method }}{% else %}{{ bashls_install_methods[0] }}{% endif %}" + + - name: Append bash-language-server to pkg_npm + when: + - bashls_install_method == 'source' + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [bashls_npm_pkgname] }}" - name: Set bashls_configured ansible.builtin.set_fact: - bashls_configured: true + __configured: "{{ __configured | combine( { 'bashls': true } ) }}" diff --git a/vars/main.yml b/vars/main.yml index d064dbb..34fd772 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -43,7 +43,7 @@ __add_to_path: [] # list of paths that should be in PATH __var_to_env: {} # dict of variables to add to your env # Per package variables -## {{{ air +# {{{ air air_version: latest air_build_files: - bin/air @@ -51,7 +51,7 @@ air_install_url: github.com/air-verse/air air_pkg_deps: - pkgs/go.yml # }}} -## {{{ alacritty +# {{{ alacritty alacritty_version: v0.16.1 alacritty_git_repo: https://github.com/alacritty/alacritty alacritty_pkgname: alacritty @@ -111,11 +111,26 @@ alacritty_build_deps: - python3 - desktop-file-utils # }}} +# {{{ ansible +ansible_install_methods: + - system + - source +ansible_pkgname: + RedHat: ansible + Debian: ansible + Alpine: ansible + Archlinux: ansible +# }}} # {{{ ansible_ls ansible_ls_version: latest ansible_ls_pkg_deps: - pkgs/npm.yml # }}} +# {{{ bashls +bashls_install_methods: + - source +bashls_npm_pkgname: bash-language-server +# }}} # {{{ go go_archive_version: 1.25.6 go_archive_archmap: -- 2.47.3 From b6f7ba485b906494c9bec480320fd886eb7264b1 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 10 Feb 2026 19:37:54 -0700 Subject: [PATCH 23/48] fix ansible_ls --- tasks/pkgs/ansible_lint.yml | 49 +++++++++++-------------------------- tasks/pkgs/ansible_ls.yml | 28 ++++++++++----------- vars/main.yml | 17 +++++++++++++ 3 files changed, 44 insertions(+), 50 deletions(-) diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 69b2685..4e3a82c 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -2,53 +2,32 @@ --- - name: Configure ansible_lint when: - - __ansible_lint_configured is undefined or - not __ansible_lint_configured + - "'ansible_lint' not in __configured" block: - - name: Set basic variables - ansible.builtin.set_fact: - ansible_lint_version: "{{ ansible_lint_version | default('latest') }}" - - name: Set ansible_lint install method when: - ansible_lint_install_method is undefined ansible.builtin.set_fact: - ansible_lint_install_method: "{% if install_method in ansible_lint_install_methods %}{{ install_method }}{% else %}{{ ansible_lint_install_methods[0] }}{% endif %}" + ansible_lint_install_method: "{{ install_method if install_method in ansible_lint_install_methods else ansible_lint_methods[0] }}" - name: Set pipx pkgnname when: - - ansible_lint_install_method == 'pipx' or - ansible_lint_install_method == 'system_pip' + - ansible_lint_install_method == 'source' ansible.builtin.set_fact: - ansible_lint_pkgname: "{{ 'ansible_lint' if ansible_lint_version == 'latest' else 'ansible-lint==' ~ ansible_lint_version }}" + ansible_lint_pkgname: "{{ ansible_lint_pkgname['pipx'] }}{{ '==' ~ ansible_lint_version if ansible_lint_version != 'latest' }}" - - name: Set package name + - name: Add ansible_lint to pipx install list when: - - install_method == 'system' + - ansible_lint_install_method == 'source' ansible.builtin.set_fact: - ansible_lint_pkgname: - RedHat: ansible-lint - Debian: ansible-lint - Archlinux: ansible-lint - Alpine: ansible-lint - FreeBSD: py311-ansible-lint + pkg_pipx: "{{ pkg_pipx + [ansible_lint_pkgname] }}" + + - name: Append ansible-lint to system install list + when: + - ansible_lint_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[ansible_os_family]] }}" - name: Complete ansible_lint configuration ansible.builtin.set_fact: - __ansible_lint_configured: true - -- name: Add ansible_lint to pipx install list - when: - - ansible_lint_install_method == 'pipx' - ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + [ansible_lint_pkgname] }}" - -- name: Add ansible_lint to system_pip install list - when: - - ansible_lint_install_method == 'system_pip' - -- name: Append ansible-lint to system install list - when: - - ansible_lint_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[ansible_os_family]] }}" + __configured: "{{ __configured | combine( { 'ansible_lint': true } ) }}" diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 1893de6..7c53381 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -2,30 +2,28 @@ --- - name: Configure ansible_ls when: - - __ansible_ls_configured is undefined + - "'ansible_ls' not in __configured" block: - name: Set ansible_ls install method when: - ansible_ls_install_method is undefined ansible.builtin.set_fact: - ansible_ls_install_method: "{% if install_method in ansible_ls_install_methods %}{{ install_method }}{% else %}{{ ansible_ls_install_methods[0] }}{% endif %}" - - - name: Configure ansible_ls source npm installation - when: - - ansible_ls_install_method == 'source' - ansible.builtin.set_fact: - ansible_npm_pkg: - name: '@ansible/ansible-language-server' - global: true + ansible_ls_install_method: "{{ install_method if install_method in ansible_ls_install_methods else ansible_ls_install_methods[0] }}" - name: Append ansible-language-server to pkg_npm when: - ansible_ls_install_method == 'source' - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [ansible_npm_pkg] }}" + block: + - name: Load required installation dependencies + loop: "{{ ansible_ls_pkg_deps }}" + loop_control: + loop_var: pkgdep + ansible.builtin.include_tasks: "{{ pkgdep }}" + + - name: Append ansible ls to pkg_npm + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [ansible_npm_pkg] }}" - name: Set ansible_ls_configured - when: - - __ansible_ls_configured is undefined ansible.builtin.set_fact: - __ansible_ls_configured: true + __configured: "{{ __configured | combine( { 'ansible_ls': true } ) }}" diff --git a/vars/main.yml b/vars/main.yml index 34fd772..9140051 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -120,9 +120,26 @@ ansible_pkgname: Debian: ansible Alpine: ansible Archlinux: ansible +ansible_pip_pkgname: ansible +# }}} +# {{{ ansible_lint +ansible_lint_version: latest +ansible_lint_install_methods: + - system + - source +ansible_lint_pkgname: + RedHat: ansible-lint + Debian: ansible-lint + Archlinux: ansible-lint + Alpine: ansible-lint + FreeBSD: py311-ansible-lint + pipx: ansible_lint # }}} # {{{ ansible_ls ansible_ls_version: latest +ansible_npm_pkg: + name: '@ansible/ansible-language-server' + global: true ansible_ls_pkg_deps: - pkgs/npm.yml # }}} -- 2.47.3 From 3df63f1451de1c478f0fa9504c95d192d5fa4dd4 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 11 Feb 2026 10:50:48 -0700 Subject: [PATCH 24/48] go_install helper now being used --- tasks/helpers/go_install.yml | 10 +-- tasks/main.yml | 9 +- tasks/pkgs/air.yml | 9 +- tasks/pkgs/alacritty.yml | 11 ++- tasks/pkgs/nerdfonts.yml | 5 -- vars/nerdfonts.yml | 163 --------------------------------- vars/pkglist.yml | 169 +++++++++++++++++++++++++++++++++++ 7 files changed, 190 insertions(+), 186 deletions(-) delete mode 100644 vars/nerdfonts.yml diff --git a/tasks/helpers/go_install.yml b/tasks/helpers/go_install.yml index 38b99c6..b380732 100644 --- a/tasks/helpers/go_install.yml +++ b/tasks/helpers/go_install.yml @@ -1,17 +1,15 @@ # vim: set filetype=yaml.ansible : --- -- name: Install go packages +- name: Install go package "{{ pkg.url }}" become: "{{ install_become }}" + become_user: "{{ install_become_user }}" environment: GOBIN: "{{ path_bin }}" GOROOT: "{{ path_go }}" PATH: "{{ path_go }}/bin:$PATH" - loop: pkg_go - loop_control: - loop_var: current ansible.builtin.command: - creates: "{{ current.bin }}" + creates: "{{ pkg.bin }}" argv: - go - install - - "{{ current.url }}" + - "{{ pkg.url }}" diff --git a/tasks/main.yml b/tasks/main.yml index 751f35a..c2937d6 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -41,11 +41,6 @@ ansible.builtin.include_vars: file: pkglist.yml -- name: Load nerdfonts list - ansible.builtin.include_vars: - file: nerdfonts.yml - name: __nerdfonts - - name: Add needed packages for Fedora when: - ansible_facts["distribution"] == 'Fedora' @@ -209,11 +204,11 @@ - pkg_go|length > 0 block: - name: Install go pkgs - loop: "{{ pkg_go | unique }}" + loop: "{{ pkg_go }}" loop_control: loop_var: pkg ansible.builtin.include_tasks: - file: go.yml + file: helpers/go_install.yml - name: Install local npm packages when: diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 11ebce5..3897380 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -2,7 +2,8 @@ # Package: air # Description: application auto reload for go # Version: latest -# Methods: source (go install) +# Methods: +# - source (go install) # Helpers: go_install --- # {{{ Configure air @@ -14,7 +15,7 @@ when: - air_install_method is undefined ansible.builtin.set_fact: - air_install_method: "{% if install_method in air_install_methods %}{{ install_method }}{% else %}{{ air_install_method[0] }}{% endif %}" + air_install_method: "{{ install_method if install_method in air_install_methods else air_install_methods[0] }}" - name: Configure air source install when: @@ -33,9 +34,9 @@ - name: Clean existing air install when: - clean_install - loop: air_build_files + loop: "{{ air_build_files }}" loop_control: - lopo_var: air_file + loop_var: air_file ansible.builtin.file: state: absent path: "{{ install_prefix }}/{{ air_file }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index dda3f48..9d5627e 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -1,6 +1,15 @@ # vim: set filetype=yaml.ansible : +# Package: alacritty +# Description: GPU accelerated terminal emulator written in rust +# Version: v0.16.1 +# Methods: +# - system +# - source (cargo build) +# Helpers: +# - cargo_build --- -- name: Configure alacritty # {{{ + # {{{ pre install configuration +- name: Configure alacritty when: - "'alacritty' not in __configured" block: diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml index 5a509e5..2672056 100644 --- a/tasks/pkgs/nerdfonts.yml +++ b/tasks/pkgs/nerdfonts.yml @@ -4,11 +4,6 @@ when: - "'nerdfonts' not in __configured" block: - - name: Load nerdfonts list - ansible.builtin.include_vars: - file: nerdfonts.yml - name: __nerdfonts - - name: Create nerdfonts directories become: "{{ install_become }}" become_user: "{{ install_become_user }}" diff --git a/vars/nerdfonts.yml b/vars/nerdfonts.yml deleted file mode 100644 index a3a68cb..0000000 --- a/vars/nerdfonts.yml +++ /dev/null @@ -1,163 +0,0 @@ -0xProto: - brew: font-0xproto-nerd-font -"3270": - brew: font-3270-nerd-font -Agave: - brew: font-agave-nerd-font -AnonymicePro: - archive: AnonymousPro - brew: font-anonymice-nerd-font -Arimo: - brew: font-arimo-nerd-font -AurulentSansM: - archive: AurulentSansMono - brew: font-aurulent-sans-mono-nerd-font -BigBlueTerm: - archive: BigBlueTerminal - brew: font-bigblue-terminal-nerd-font -BitstromWera: - archive: BitstreamVeraSansMono - brew: font-bitstream-vera-sans-mono-nerd-font -BlexMono: - archive: IBMPlexMono - brew: font-blex-mono-nerd-font -CaskaydiaCove: - archive: CascadiaCode - brew: font-caskaydia-cove-nerd-font -CaskaydiaMono: - archive: CascadiaMono - brew: font-caskaydia-mono-nerd-font -CodeNewRoman: - brew: font-code-new-roman-nerd-font -ComicShannsMono: - brew: font-comic-shanns-mono-nerd-font -CommitMono: - brew: font-commit-mono-nerd-font -Cousine: - brew: font-cousine-nerd-font -D2CodingLigature: - archive: D2Coding - brew: font-d2coding-nerd-font -DaddyTimeMono: - brew: font-daddy-time-mono-nerd-font -DejaVuSansM: - archive: DejaVuSansMono - brew: font-dejavu-sans-mono-nerd-font -DepartureMono: - brew: font-departure-mono-nerd-font -DroidSansM: - archive: DroidSansMono - brew: font-droid-sans-mono-nerd-font -EnvyCodeR: - brew: font-envy-code-r-nerd-font -FantasqueSansM: - archive: FantasqueSansMono - brew: font-fantasque-sans-mono-nerd-font -FiraCode: - brew: font-fira-code-nerd-font -FiraMono: - brew: font-fira-mono-nerd-font -GeistMono: - brew: font-geist-mono-nerd-font -GoMono: - archive: Go-Mono - brew: font-go-mono-nerd-font -GohuFont: - archive: Gohu - brew: font-gohufont-nerd-font -Hack: - brew: font-hack-nerd-font -Hasklug: - archive: Hasklig - brew: font-hasklug-nerd-font -HeavyData: - brew: font-heavy-data-nerd-font -Hurmit: - archive: Hermit - brew: font-hurmit-nerd-font -iMWriting: - archive: IA-Writer - brew: font-im-writing-nerd-font -Inconsolata: - brew: font-inconsolata-nerd-font -InconsolataGo: - brew: font-inconsolata-go-nerd-font -InconsolataLGC: - brew: font-inconsolata-lgc-nerd-font -IntoneMono: - archive: IntelOneMono - brew: font-intone-mono-nerd-font -Iosevka: - brew: font-iosevka-nerd-font -IosevkaTerm: - brew: font-iosevka-term-nerd-font -IosevkaTermSlab: - brew: font-iosevka-term-slab-nerd-font -JetBrainsMono: - brew: font-jetbrains-mono-nerd-font -Lekton: - brew: font-lekton-nerd-font -LiterationMono: - archive: LiberationMono - brew: font-liberation-nerd-font -Lilex: - brew: font-lilex-nerd-font -MartianMono: - brew: font-martian-mono-nerd-font -MesloLG: - archive: Meslo - brew: font-meslo-lg-nerd-font -Monaspice: - archive: Monaspace - brew: font-monaspace-nerd-font -Monofur: - brew: font-monofur-nerd-font -Monoid: - brew: font-monoid-nerd-font -Mononoki: - brew: font-mononoki-nerd-font -M+: - archive: MPlus - brew: font-m+-nerd-font -Noto: - brew: font-noto-nerd-font -OpenDyslexic: - brew: font-open-dyslexic-nerd-font -Overpass: - brew: font-overpass-nerd-font -ProFont: - brew: font-profont-nerd-font -ProggyClean: - brew: font-proggy-clean-tt-nerd-font -RecMono: - archive: Recursive - brew: font-recursive-mono-nerd-font -RobotoMono: - brew: font-roboto-mono-nerd-font -ShureTechMono: - archive: ShareTechMono - brew: font-shure-tech-mono-nerd-font -SauceCodePro: - archive: SourceCodePro - brew: font-sauce-code-pro-nerd-font -SpaceMono: - brew: font-space-mono-nerd-font -Symbols: - archive: NerdFontsSymbolsOnly - brew: font-symbols-only-nerd-font -Terminess: - archive: Terminus - brew: font-terminess-ttf-nerd-font -Tinos: - brew: font-tinos-nerd-font -Ubuntu: - brew: font-ubuntu-nerd-font -UbuntuMono: - brew: font-ubuntu-mono-nerd-font -UbuntuSans: - brew: font-ubuntu-sans-nerd-font -VictorMono: - brew: font-victor-mono-nerd-font -ZedMono: - brew: font-zed-mono-nerd-font -base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 19efa4a..641fff0 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -27,6 +27,175 @@ go_install_methods: - system hyprland_install_methods: - source +nerdfonts_install_methods: + - archive + - system yazi_install_methods: - source - cargo + +## Package specific configuration that never need to be set by the installer +__nerdfonts: + 0xProto: + brew: font-0xproto-nerd-font + "3270": + brew: font-3270-nerd-font + Agave: + brew: font-agave-nerd-font + AnonymicePro: + archive: AnonymousPro + brew: font-anonymice-nerd-font + Arimo: + brew: font-arimo-nerd-font + AurulentSansM: + archive: AurulentSansMono + brew: font-aurulent-sans-mono-nerd-font + BigBlueTerm: + archive: BigBlueTerminal + brew: font-bigblue-terminal-nerd-font + BitstromWera: + archive: BitstreamVeraSansMono + brew: font-bitstream-vera-sans-mono-nerd-font + BlexMono: + archive: IBMPlexMono + brew: font-blex-mono-nerd-font + CaskaydiaCove: + archive: CascadiaCode + brew: font-caskaydia-cove-nerd-font + CaskaydiaMono: + archive: CascadiaMono + brew: font-caskaydia-mono-nerd-font + CodeNewRoman: + brew: font-code-new-roman-nerd-font + ComicShannsMono: + brew: font-comic-shanns-mono-nerd-font + CommitMono: + brew: font-commit-mono-nerd-font + Cousine: + brew: font-cousine-nerd-font + D2CodingLigature: + archive: D2Coding + brew: font-d2coding-nerd-font + DaddyTimeMono: + brew: font-daddy-time-mono-nerd-font + DejaVuSansM: + archive: DejaVuSansMono + brew: font-dejavu-sans-mono-nerd-font + DepartureMono: + brew: font-departure-mono-nerd-font + DroidSansM: + archive: DroidSansMono + brew: font-droid-sans-mono-nerd-font + EnvyCodeR: + brew: font-envy-code-r-nerd-font + FantasqueSansM: + archive: FantasqueSansMono + brew: font-fantasque-sans-mono-nerd-font + FiraCode: + brew: font-fira-code-nerd-font + FiraMono: + brew: font-fira-mono-nerd-font + GeistMono: + brew: font-geist-mono-nerd-font + GoMono: + archive: Go-Mono + brew: font-go-mono-nerd-font + GohuFont: + archive: Gohu + brew: font-gohufont-nerd-font + Hack: + brew: font-hack-nerd-font + Hasklug: + archive: Hasklig + brew: font-hasklug-nerd-font + HeavyData: + brew: font-heavy-data-nerd-font + Hurmit: + archive: Hermit + brew: font-hurmit-nerd-font + iMWriting: + archive: IA-Writer + brew: font-im-writing-nerd-font + Inconsolata: + brew: font-inconsolata-nerd-font + InconsolataGo: + brew: font-inconsolata-go-nerd-font + InconsolataLGC: + brew: font-inconsolata-lgc-nerd-font + IntoneMono: + archive: IntelOneMono + brew: font-intone-mono-nerd-font + Iosevka: + brew: font-iosevka-nerd-font + IosevkaTerm: + brew: font-iosevka-term-nerd-font + IosevkaTermSlab: + brew: font-iosevka-term-slab-nerd-font + JetBrainsMono: + brew: font-jetbrains-mono-nerd-font + Lekton: + brew: font-lekton-nerd-font + LiterationMono: + archive: LiberationMono + brew: font-liberation-nerd-font + Lilex: + brew: font-lilex-nerd-font + MartianMono: + brew: font-martian-mono-nerd-font + MesloLG: + archive: Meslo + brew: font-meslo-lg-nerd-font + Monaspice: + archive: Monaspace + brew: font-monaspace-nerd-font + Monofur: + brew: font-monofur-nerd-font + Monoid: + brew: font-monoid-nerd-font + Mononoki: + brew: font-mononoki-nerd-font + M+: + archive: MPlus + brew: font-m+-nerd-font + Noto: + brew: font-noto-nerd-font + OpenDyslexic: + brew: font-open-dyslexic-nerd-font + Overpass: + brew: font-overpass-nerd-font + ProFont: + brew: font-profont-nerd-font + ProggyClean: + brew: font-proggy-clean-tt-nerd-font + RecMono: + archive: Recursive + brew: font-recursive-mono-nerd-font + RobotoMono: + brew: font-roboto-mono-nerd-font + ShureTechMono: + archive: ShareTechMono + brew: font-shure-tech-mono-nerd-font + SauceCodePro: + archive: SourceCodePro + brew: font-sauce-code-pro-nerd-font + SpaceMono: + brew: font-space-mono-nerd-font + Symbols: + archive: NerdFontsSymbolsOnly + brew: font-symbols-only-nerd-font + Terminess: + archive: Terminus + brew: font-terminess-ttf-nerd-font + Tinos: + brew: font-tinos-nerd-font + Ubuntu: + brew: font-ubuntu-nerd-font + UbuntuMono: + brew: font-ubuntu-mono-nerd-font + UbuntuSans: + brew: font-ubuntu-sans-nerd-font + VictorMono: + brew: font-victor-mono-nerd-font + ZedMono: + brew: font-zed-mono-nerd-font + base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download -- 2.47.3 From b1a4780a976b52157621b436f779a5fa469acd9b Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 11 Feb 2026 12:28:21 -0700 Subject: [PATCH 25/48] add symlink helper - symlinking is done often enough that it makes sense to have a helper for it - move appimage and archive helpers to use symlink helper - fix formatting of air and alacritty --- tasks/helpers/appimage.yml | 9 ++--- tasks/helpers/archive.yml | 13 ++----- tasks/helpers/symlink.yml | 20 +++++++++++ tasks/pkgs/air.yml | 2 +- tasks/pkgs/alacritty.yml | 73 +++++++++++++++++++------------------- 5 files changed, 66 insertions(+), 51 deletions(-) create mode 100644 tasks/helpers/symlink.yml diff --git a/tasks/helpers/appimage.yml b/tasks/helpers/appimage.yml index aa472a4..53ea633 100644 --- a/tasks/helpers/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -23,7 +23,8 @@ backup: false - name: Link appimage to bin - ansible.builtin.file: - state: link - src: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" - path: "{{ path_bin }}/{{ appimage.name }}" + vars: + links: + - from: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" + to: "{{ path_bin }}/{{ appimage.name }}" + ansible.builtin.include_tasks: helpers/symlink.yml diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index c98802c..ac66a29 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -37,16 +37,9 @@ exclude: "{{ archive.exclude | default(omit) }}" - name: Symlink archive files - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" when: - archive.links is defined - archive.links | length > 0 - loop: "{{ archive.links }}" - loop_control: - loop_var: lnk - ansible.builtin.file: - state: link - path: "{{ lnk.to }}" - src: "{{ lnk.from }}" - force: "{{ lnk.force | default(omit) }}" + vars: + links: "{{ archive.links }}" + ansible.builtin.include_tasks: helpers/symlink.yml diff --git a/tasks/helpers/symlink.yml b/tasks/helpers/symlink.yml new file mode 100644 index 0000000..b2874e7 --- /dev/null +++ b/tasks/helpers/symlink.yml @@ -0,0 +1,20 @@ +# vim: set filetype=yaml.ansible : +# +## Helper: symlink.yml +## Description: symlink source to target +## Variables: +## - from: the source of the symlink +## - to: path of the symlink +## - force: _optional_, force create the symlink +--- +- name: Create symlinks + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ links }}" + loop_control: + loop_var: link + ansible.builtin.file: + state: link + path: "{{ link.to }}" + src: "{{ link.from }}" + force: "{{ link.force | default(omit) }}" diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 3897380..c0296ac 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -17,7 +17,7 @@ ansible.builtin.set_fact: air_install_method: "{{ install_method if install_method in air_install_methods else air_install_methods[0] }}" - - name: Configure air source install + - name: Set air build facts when: - air_install_method == 'source' block: diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 9d5627e..cdb68eb 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -8,8 +8,8 @@ # Helpers: # - cargo_build --- - # {{{ pre install configuration -- name: Configure alacritty + # {{{ Configure alacritty +- name: Start alacritty configuration when: - "'alacritty' not in __configured" block: @@ -17,44 +17,45 @@ when: - alacritty_install_method is undefined ansible.builtin.set_fact: - alacritty_install_method: "{% if default_install_method in alacritty_install_methods %}{{ default_install_method }}{% else %}{{ alacritty_install_methods[0] }}{% endif %}" + alacritty_install_method: "{{ install_method if install_method in alacritty_install_methods else alacritty_install_methods[0] }}" - name: Configure alacritty source install when: - alacritty_install_method == "source" - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps[ansible_os_family] }}" - alacritty_src_install: - build_flags: "{{ alacritty_cargo_build_flags }}" - name: "{{ alacritty_pkgname }}" - repo: "{{ alacritty_git_repo }}" - version: "{{ alacritty_version }}" - files: - - from: target/release/alacritty - to: bin/alacritty - mode: '0755' - - from: extra/logo/alacritty-term.svg - to: share/pixmaps/Alacritty.svg - - from: extra/linux/Alacritty.desktop - to: share/applications/Alacritty.desktop - - - name: Set alacritty install extra build deps - when: - - alacritty_install_method == "source" - - ansible_os_family == "RedHat" - - ansible_os_major_version < 9 block: - - name: Add extra dependencies for EL7 - when: - - ansible_distribution_major_version == 7 + - name: Set alacritty build facts ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + alacritty_build_deps: "{{ alacritty_build_deps[ansible_os_family] }}" + alacritty_src_install: + build_flags: "{{ alacritty_cargo_build_flags }}" + name: "{{ alacritty_pkgname }}" + repo: "{{ alacritty_git_repo }}" + version: "{{ alacritty_version }}" + files: + - from: target/release/alacritty + to: bin/alacritty + mode: '0755' + - from: extra/logo/alacritty-term.svg + to: share/pixmaps/Alacritty.svg + - from: extra/linux/Alacritty.desktop + to: share/applications/Alacritty.desktop - - name: Add extra dependencies for EL8 + - name: Set alacritty install extra build deps when: - - ansible_distribution_major_version == 8 - ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" + - ansible_os_family == "RedHat" + - ansible_os_major_version < 9 + block: + - name: Add extra dependencies for EL7 + when: + - ansible_distribution_major_version == 7 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + + - name: Add extra dependencies for EL8 + when: + - ansible_distribution_major_version == 8 + ansible.builtin.set_fact: + alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" # }}} - name: Append alacritty installation @@ -69,9 +70,10 @@ loop_var: alacritty_pkg_dep ansible.builtin.include_tasks: "{{ alacritty_pkg_dep }}" - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" - pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" + - name: Append build dependencies and cargo config + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" + pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_sys when: @@ -80,6 +82,5 @@ pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" - name: Complete alacritty configuration - when: __alacritty_configured is undefined ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'alacritty': true } ) }}" -- 2.47.3 From e39c3b70461ef2418ec132222814e1d666f8afe3 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 15 Feb 2026 17:57:05 -0700 Subject: [PATCH 26/48] working on cleanup and fixing a few format issues - modifying how installs are done --- tasks/facts.yml | 8 ++- tasks/helpers/cargo_build.yml | 51 ++++++----------- tasks/helpers/clean_install.yml | 17 +++++- tasks/helpers/git.yml | 12 ++-- tasks/helpers/install.yml | 40 +++++++++++++ tasks/internal/remove_empty_dir.yml | 16 ++++++ tasks/main.yml | 5 +- tasks/pkgs/air.yml | 19 +++---- tasks/pkgs/alacritty.yml | 27 ++++----- vars/main.yml | 58 +------------------ vars/pkglist.yml | 87 ++++++++++++++++++++++++++--- 11 files changed, 201 insertions(+), 139 deletions(-) create mode 100644 tasks/helpers/install.yml create mode 100644 tasks/internal/remove_empty_dir.yml diff --git a/tasks/facts.yml b/tasks/facts.yml index 1f41fa8..bd218cd 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -19,12 +19,18 @@ path_archive: "{{ install_prefix }}/archive" path_bin: "{{ install_prefix }}/bin" path_cargo: "{{ install_prefix }}/cargo" - path_git: "{{ install_prefix }}/git" + path_source: "{{ install_prefix }}/source" path_go: "{{ install_prefix }}/go" path_pipx: "{{ install_prefix }}/pipx" store_path: "{{ ansible_facts['user_dir'] }}/.cache/ansible_role_package" path_lib: "{{ install_prefix }}/lib" +- name: Set install_become_group from install_become_user + block: + - name: Get install_become_user userinfo + ansible.builtin.getent: + database: passwd + key: "{{ install_become_user }}" - name: Set Linux specific facts when: diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 830ed9c..6dd2ba8 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -4,48 +4,29 @@ block: - name: Fetch git repo vars: - git: - path: "{{ d_cache.path }}/{{ cargo_build.name }}" - repo: "{{ cargo_build.repo }}" - depth: "{{ cargo_build.depth | default(1) }}" - force: "{{ cargo_build.force_git | default(true) }}" - recursive: "{{ cargo_build.recursive | default(true) }}" - version: "{{ cargo_build.version | default(omit) }}" - ansible.builtin.include_tasks: - file: helpers/git.yml + path: "{{ path_source }}/{{ cargo_build.source_dir }}" + repo: "{{ cargo_build.repo }}" + depth: "{{ cargo_build.depth | default(1) }}" + force: "{{ cargo_build.force_git | default(true) }}" + recursive: "{{ cargo_build.recursive | default(true) }}" + version: "{{ cargo_build.version | default(omit) }}" + ansible.builtin.include_tasks: helpers/git.yml - name: Build cargo release ansible.builtin.command: - chdir: "{{ d_cache.path }}/{{ cargo_build.name }}" + chdir: "{{ path_source }}/{{ cargo_build.source_dir }}" argv: "{{ [cargo, build] + cargo_build.build_flags }}" + - name: Clean existing install + vars: + files: "{{ cargo_build.files }}" + ansible.builtin.include_tasks: helpers/clean.yml + - name: Install cargo release block: - name: Create missing directories become: "{{ install_become }}" become_user: "{{ install_become_user }}" - loop: "{{ cargo_build.files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: directory - path: "{{ install_prefix }}/{{ file.to | dirname }}" - mode: '0755' - owner: "{{ cargo_build.owner | default(ansible_user_id) }}" - group: "{{ cargo_build.group | default(ansible_user_gid) }}" - - - name: Install release files - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - loop: "{{ cargo_build.files }}" - loop_control: - loop_var: file - ansible.builtin.copy: - backup: false - remote_src: true - src: "{{ d_cache.path }}/{{ cargo_build.name }}/{{ file.from }}" - dest: "{{ install_prefix }}/{{ file.to }}" - owner: "{{ cargo_build.owner | default(ansible_user_id) }}" - group: "{{ cargo_build.group | default(ansible_user_gid) }}" - mode: "{{ file.mode | default('0644') }}" - force: "{{ file.force | default(true) }}" + vars: + source_dir: "{{ cargo_build.source_dir }}" + ansible.builtin.include_tasks: helpers/install.yml diff --git a/tasks/helpers/clean_install.yml b/tasks/helpers/clean_install.yml index cdda8f8..f5abb20 100644 --- a/tasks/helpers/clean_install.yml +++ b/tasks/helpers/clean_install.yml @@ -1,10 +1,21 @@ # vim: set filetype=yaml.ansible : --- - name: Remove file list - become: true - loop: "{{ file_list }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ files }}" loop_control: loop_var: file + when: + - file.to is defined ansible.builtin.file: state: absent - path: "{{ file }}" + path: "{{ install_prefix }}/{{ file.to }}" + +- name: Check for and remove empty directories + loop: "{{ files }}" + loop_control: + loop_var: dir + when: + - file.directory is defined + ansible.builtin.include_tasks: internal/remove_empty_dir.yml diff --git a/tasks/helpers/git.yml b/tasks/helpers/git.yml index 575fe35..e6629a3 100644 --- a/tasks/helpers/git.yml +++ b/tasks/helpers/git.yml @@ -2,9 +2,9 @@ --- - name: Clone git repository ansible.builtin.git: - depth: "{{ git.depth | default(1) }}" - dest: "{{ git.path }}" - force: "{{ git.force | default(true) }}" - recursive: "{{ git.recursive | default(true) }}" - repo: "{{ git.repo }}" - version: "{{ git.version | default(omit) }}" + dest: "{{ path }}" + repo: "{{ repo }}" + depth: "{{ depth | default(1) }}" + force: "{{ force | default(true) }}" + recursive: "{{ recursive | default(true) }}" + version: "{{ version | default(omit) }}" diff --git a/tasks/helpers/install.yml b/tasks/helpers/install.yml new file mode 100644 index 0000000..df3fbd9 --- /dev/null +++ b/tasks/helpers/install.yml @@ -0,0 +1,40 @@ +# vim: set filetype=yaml.ansible : +# +## Helper: install.yml +## Description: install files defined in dict +## Variables: +## _Note_ This is mutually exclusive to having a 'to' key +## - directory: path prefixed by {{ install_prefix }} of a directory to +## be created +## mode: _optional_, _default_ '0755' +## +## _Note_ This is mutually exclusive to having a 'directory' key +## - to: where to install file to, prefixed with {{ install_prefix }} +## from: source file from build path root for package +## mode: _optional_, _default_ '0644'## +## +## Notes: This is only used when copying files or creating directories +## for installing. If a source package doesn't require you to manually +## copy anthing (go install, as an example), don't use this. +--- +- name: Create directories + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ pkg_clean }}" + loop_control: + loop_var: dir + when: + - dir.directory is defined + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ install_prefix }}/{{ dir.directory }}" + +- name: Copy installable files + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ pkg_clean }}" + ansible.builtin.copy: + dest: "{{ install_prefix }}/{{ file.to }}" + mode: "{{ file.mode | default('0644') }}" + src: "{{ file.builddir | default(omit) }}/" diff --git a/tasks/internal/remove_empty_dir.yml b/tasks/internal/remove_empty_dir.yml new file mode 100644 index 0000000..724848c --- /dev/null +++ b/tasks/internal/remove_empty_dir.yml @@ -0,0 +1,16 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Check if dir is empty + ansible.builtin.find: + paths: + - "{{ dir }}" + file_type: any + hidden: true + register: fd_empty + +- name: Remove empty dir + when: + - fd_empty.matched|int == 0 + ansible.builtin.file: + path: "{{ dir }}" + state: absent diff --git a/tasks/main.yml b/tasks/main.yml index c2937d6..d6008bf 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -26,7 +26,7 @@ - "{{ path_archive }}" - "{{ path_bin }}" - "{{ path_cargo }}" - - "{{ path_git }}" + - "{{ path_source }}" - "{{ path_pipx }}" loop_control: loop_var: path @@ -70,6 +70,9 @@ ansible.builtin.include_tasks: file: "pkgs/{{ pkg }}.yml" +- name: Clean installations that require it + ansible.builtin.include_tasks: "helpers/clean_install.yml" + - name: Install go if required when: - pkg_go|length > 0 diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index c0296ac..75644dd 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -15,7 +15,7 @@ when: - air_install_method is undefined ansible.builtin.set_fact: - air_install_method: "{{ install_method if install_method in air_install_methods else air_install_methods[0] }}" + air_install_method: "{{ install_method if install_method in air.install_methods else air.install_methods[0] }}" - name: Set air build facts when: @@ -27,6 +27,7 @@ url: "{{ air_install_url }}@{{ air_version }}" bin: "{{ path_bin }}/air" # }}} +# {{{ air build and install steps - name: Append air to pkg_go when: - air_install_method == 'source' @@ -34,23 +35,19 @@ - name: Clean existing air install when: - clean_install - loop: "{{ air_build_files }}" - loop_control: - loop_var: air_file - ansible.builtin.file: - state: absent - path: "{{ install_prefix }}/{{ air_file }}" + ansible.builtin.set_fact: + pkg_clean: "{{ pkg_clean + air.install_files }}" - name: Configure pkg dependencies - loop: "{{ air_pkg_deps }}" + loop: "{{ air.pkg_deps }}" loop_control: - loop_var: air_pkg_dep - ansible.builtin.include_tasks: "{{ air_pkg_dep }}" + loop_var: pkg + ansible.builtin.include_tasks: "pkgs/{{ pkg }}.yml" - name: Add air to install list ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [air_go_pkg] }}" - +# }}} - name: Finalize air configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'air': true } ) }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index cdb68eb..b82037c 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -17,7 +17,7 @@ when: - alacritty_install_method is undefined ansible.builtin.set_fact: - alacritty_install_method: "{{ install_method if install_method in alacritty_install_methods else alacritty_install_methods[0] }}" + alacritty_install_method: "{{ install_method if install_method in alacritty.install_methods else alacritty.install_methods[0] }}" - name: Configure alacritty source install when: @@ -25,20 +25,13 @@ block: - name: Set alacritty build facts ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps[ansible_os_family] }}" alacritty_src_install: + build_deps: "{{ alacritty.build_deps[ansible_facts['os_family']] }}" build_flags: "{{ alacritty_cargo_build_flags }}" - name: "{{ alacritty_pkgname }}" + source_dir: "{{ alacritty.install_files.source_dir }}" repo: "{{ alacritty_git_repo }}" version: "{{ alacritty_version }}" - files: - - from: target/release/alacritty - to: bin/alacritty - mode: '0755' - - from: extra/logo/alacritty-term.svg - to: share/pixmaps/Alacritty.svg - - from: extra/linux/Alacritty.desktop - to: share/applications/Alacritty.desktop + files: "{{ alacritty.install_files.files }}" - name: Set alacritty install extra build deps when: @@ -49,13 +42,13 @@ when: - ansible_distribution_major_version == 7 ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + alacritty_build_deps: "{{ build_deps + ['xcb-util-devel', '@Development Tools'] }}" - name: Add extra dependencies for EL8 when: - ansible_distribution_major_version == 8 ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" + alacritty_build_deps: "{{ build_deps + ['@Development Tools'] }}" # }}} - name: Append alacritty installation @@ -65,14 +58,14 @@ - alacritty_method == 'source' block: - name: Configure pkg dependencies - loop: "{{ alacritty_pkg_deps }}" + loop: "{{ alacritty.pkg_deps }}" loop_control: - loop_var: alacritty_pkg_dep - ansible.builtin.include_tasks: "{{ alacritty_pkg_dep }}" + loop_var: pkg + ansible.builtin.include_tasks: "pkgs/{{ pkg }}.yml" - name: Append build dependencies and cargo config ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" + pkg_sys: "{{ pkg_sys + build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_sys diff --git a/vars/main.yml b/vars/main.yml index 9140051..766265b 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -28,6 +28,7 @@ pkg_appimage: [] # appimages to install pkg_archive: [] # packages installed via prebuilt archive pkg_cargo: [] # rust packages from cargo using `cargo install` pkg_cargo_build: [] # rust packages using `cargo build` before install +pkg_clean: [] # list of files to remove before running archive and source installations pkg_flatpak: [] # flatpak packages to install pkg_go: [] # go applications pkg_npm: [] # npm commands @@ -45,71 +46,14 @@ __var_to_env: {} # dict of variables to add to your env # Per package variables # {{{ air air_version: latest -air_build_files: - - bin/air air_install_url: github.com/air-verse/air -air_pkg_deps: - - pkgs/go.yml # }}} # {{{ alacritty alacritty_version: v0.16.1 alacritty_git_repo: https://github.com/alacritty/alacritty alacritty_pkgname: alacritty -alacritty_pkg_deps: - - pkgs/git.yml - - pkgs/cargo.yml -alacritty_build_files: - - bin/alacritty - - share/pixmaps/Alacritty.svg - - share/applications/Alacritty.desktop alacritty_cargo_build_flags: - --release -alacritty_build_deps: - RedHat: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils - Debian: - - cmake - - g++ - - pkg-config - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - - libfreetype6-dev - - desktop-file-utils - Alpine: - - cmake - - pkgconf - - freetype-dev - - fontconfig-dev - - python3 - - libxcb-dev - - g++ - - libxkbcommon-dev - - desktop-file-utils - Archlinux: - - cmake - - freetype2 - - fontconfig - - pkg-config - - make - - libxcb - - libxkbcommon - - python - - desktop-file-utils - FreeBSD: - - cmake - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils # }}} # {{{ ansible ansible_install_methods: diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 641fff0..00c7da6 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -5,14 +5,85 @@ ## Restrictions for package install methods. ## The first item is the default method. If only ## one method exists, all others are ignored. -air_install_methods: - - source -alacritty_install_methods: - - source - - system -ansible_lint_install_methods: - - pipx - - system +air: # {{{ + install_methods: + - source + install_files: + - to: bin/air + pkg_deps: + - go +# }}} +alacritty: # {{{ + install_methods: + - source + - system + install_files: + source_dir: alacritty + files: + - from: target/release/alacritty + to: bin/alacritty + mode: '0755' + - from: extra/logo/alacritty-term.svg + to: share/pixmaps/Alacritty.svg + mode: '0644' + - from: extra/linux/Alacritty.desktop + to: share/applications/Alacritty.desktop + mode: '0644' + pkg_deps: + - git + - cargo + sys_build_deps: + RedHat: + - cmake + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + Debian: + - cmake + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + Alpine: + - cmake + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + Archlinux: + - cmake + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + FreeBSD: + - cmake + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils +# }}} +ansible_lint: # {{{ + install_methods: + - pipx + - system +# }}} ansible_install_methods: - system ansible_ls_install_methods: -- 2.47.3 From 30313d28580c7ae405a34da9e9e5d8cef8f6788c Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Wed, 25 Feb 2026 17:10:20 -0700 Subject: [PATCH 27/48] cleanup --- tasks/pkgs/aquamarine.yml | 65 -------------------- tasks/pkgs/bashls.yml | 2 +- tasks/pkgs/carapace.yml | 31 ---------- tasks/pkgs/greetd.yml | 9 --- tasks/pkgs/heroic.yml | 21 ------- tasks/pkgs/hyperfine.yml | 5 -- tasks/pkgs/hyprcursor.yml | 13 ---- tasks/pkgs/hyprgraphics.yml | 13 ---- tasks/pkgs/hypridle.yml | 22 ------- tasks/pkgs/hyprland.yml | 69 ---------------------- tasks/pkgs/hyprland_protocols.yml | 13 ---- tasks/pkgs/hyprland_qt_support.yml | 22 ------- tasks/pkgs/hyprland_qtutils.yml | 22 ------- tasks/pkgs/hyprlang.yml | 22 ------- tasks/pkgs/hyprlock.yml | 22 ------- tasks/pkgs/hyprpaper.yml | 22 ------- tasks/pkgs/hyprpicker.yml | 22 ------- tasks/pkgs/hyprpolkitagent.yml | 13 ---- tasks/pkgs/hyprutils.yml | 13 ---- tasks/pkgs/hyprwayland_scanner.yml | 14 ----- tasks/pkgs/nwg-drawer.yml | 5 -- tasks/pkgs/nwg-panel.yml | 5 -- tasks/pkgs/nwg_hello.yml | 9 --- tasks/pkgs/sdbus_cpp_2.yml | 13 ---- tasks/pkgs/usr_local_bin_profile_path.yml | 7 --- tasks/pkgs/xdg_desktop_portal_hyprland.yml | 31 ---------- tasks/pkgs/zsh.yml | 22 +++++++ vars/main.yml | 4 ++ vars/pkglist.yml | 6 +- 29 files changed, 32 insertions(+), 505 deletions(-) delete mode 100644 tasks/pkgs/aquamarine.yml delete mode 100644 tasks/pkgs/carapace.yml delete mode 100644 tasks/pkgs/greetd.yml delete mode 100644 tasks/pkgs/heroic.yml delete mode 100644 tasks/pkgs/hyperfine.yml delete mode 100644 tasks/pkgs/hyprcursor.yml delete mode 100644 tasks/pkgs/hyprgraphics.yml delete mode 100644 tasks/pkgs/hypridle.yml delete mode 100644 tasks/pkgs/hyprland.yml delete mode 100644 tasks/pkgs/hyprland_protocols.yml delete mode 100644 tasks/pkgs/hyprland_qt_support.yml delete mode 100644 tasks/pkgs/hyprland_qtutils.yml delete mode 100644 tasks/pkgs/hyprlang.yml delete mode 100644 tasks/pkgs/hyprlock.yml delete mode 100644 tasks/pkgs/hyprpaper.yml delete mode 100644 tasks/pkgs/hyprpicker.yml delete mode 100644 tasks/pkgs/hyprpolkitagent.yml delete mode 100644 tasks/pkgs/hyprutils.yml delete mode 100644 tasks/pkgs/hyprwayland_scanner.yml delete mode 100644 tasks/pkgs/nwg-drawer.yml delete mode 100644 tasks/pkgs/nwg-panel.yml delete mode 100644 tasks/pkgs/nwg_hello.yml delete mode 100644 tasks/pkgs/sdbus_cpp_2.yml delete mode 100644 tasks/pkgs/usr_local_bin_profile_path.yml delete mode 100644 tasks/pkgs/xdg_desktop_portal_hyprland.yml diff --git a/tasks/pkgs/aquamarine.yml b/tasks/pkgs/aquamarine.yml deleted file mode 100644 index 0eeb4c0..0000000 --- a/tasks/pkgs/aquamarine.yml +++ /dev/null @@ -1,65 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add aquamarine - when: - - __aquamarine_configured is undefined - block: - - name: Set aquamarine install method - when: - - aquamarine_install_method is undefined - ansible.builtin.set_fact: - aquamarine_install_method: "{% if install_method in aquamarine_install_methods %}{{ install_method }}{% else %}{{ aquamarine_install_methods[0] }}{% endif %}" - - - name: Configure aquamarine source install - when: - - aquamarine_install_method == 'source' - ansible.builtin.set_fact: - aquamarine_git_repo: - aquamarine_build_steps: - configure: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ install_prefix }} - - -S - - . - - -B - - ./build - build: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - j - - "{{ build_jobs | int }}" - install: - - cmake - - --install - - ./build - - - name: Finish aquamarine configuration - when: - - __aquamarine_configured is undefined - ansible.builtin.set_fact: - __aquamarine_configured: true - - - name: Append aquamarine pkg_deps - loop: "{{ aquamarine.pkg_deps }}" - loop_control: - loop_var: aquamarine_pkg_dep - vars: - pkg: "{{ aquamarine_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ aquamarine_pkg_dep }}.yml" - - - name: Append aquamarine to pkg_sys and pkg_src - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + aquamarine.build_deps }}" - pkg_src: "{{ pkg_src + ['aquamarine'] }}" - - - name: Set aquamarine_configured - ansible.builtin.set_fact: - aquamarine_configured: true diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index 5b0ce76..135ba18 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -8,7 +8,7 @@ when: - bashls_install_method is undefined ansible.builtin.set_fact: - bashls_install_method: "{% if install_method in bashls_install_methods %}{{ install_method }}{% else %}{{ bashls_install_methods[0] }}{% endif %}" + bashls_install_method: "{{ install_method if install_method in bashls_install_methods else bashls_install_methods[0] }}" - name: Append bash-language-server to pkg_npm when: diff --git a/tasks/pkgs/carapace.yml b/tasks/pkgs/carapace.yml deleted file mode 100644 index 689d610..0000000 --- a/tasks/pkgs/carapace.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load carapace config - ansible.builtin.include_tasks: - file: config/carapace.yml - -- name: Enable carapace yum repository - when: - - ansible_os_family == 'RedHat' - become: true - ansible.builtin.yum_repository: - name: "{{ carapace.repo.name }}" - description: "{{ carapace.repo.description }}" - baseurl: "{{ carapace.repo.baseurl }}" - enabled: true - gpgcheck: false - state: present - -- name: Enable carapace apt repository - when: - - ansible_os_family == 'Debian' - become: true - ansible.builtin.apt_repository: - repo: "{{ carapace.repo.repo }}" - filename: "{{ carapace.repo.name }}" - state: present - update_cache: false - -- name: Append carapace to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + carapace.pkgs }}" diff --git a/tasks/pkgs/greetd.yml b/tasks/pkgs/greetd.yml deleted file mode 100644 index 758dbd3..0000000 --- a/tasks/pkgs/greetd.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load greetd config - ansible.builtin.include_tasks: - file: config/greetd.yml - -- name: Append greetd to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + greetd.pkgs }}" diff --git a/tasks/pkgs/heroic.yml b/tasks/pkgs/heroic.yml deleted file mode 100644 index 5430d5a..0000000 --- a/tasks/pkgs/heroic.yml +++ /dev/null @@ -1,21 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add heroic - when: - - heroic_configured is undefined - block: - - name: Append heroic to pkg_flatpak - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + ['com.heroicgameslauncher.hgl'] }}" - - - name: Append heroic to pkg_cask - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['heroic'] }}" - - - name: Set heroic_configured - ansible.builtin.set_fact: - heroic_configured: true diff --git a/tasks/pkgs/hyperfine.yml b/tasks/pkgs/hyperfine.yml deleted file mode 100644 index 631f565..0000000 --- a/tasks/pkgs/hyperfine.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append hyperfine to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['hyperfine'] }}" diff --git a/tasks/pkgs/hyprcursor.yml b/tasks/pkgs/hyprcursor.yml deleted file mode 100644 index 4e18655..0000000 --- a/tasks/pkgs/hyprcursor.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprcursor config - ansible.builtin.include_tasks: - file: config/hyprcursor.yml - -- name: Append hyprcursor build deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprcursor.build_deps }}" - -- name: Append hyprcursor to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprcursor'] }}" diff --git a/tasks/pkgs/hyprgraphics.yml b/tasks/pkgs/hyprgraphics.yml deleted file mode 100644 index 72b33b6..0000000 --- a/tasks/pkgs/hyprgraphics.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprgraphics config - ansible.builtin.include_tasks: - file: config/hyprgraphics.yml - -- name: Append hyprgraphics build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprgraphics.build_deps }}" - -- name: Append hyprcursor to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprgraphics'] }}" diff --git a/tasks/pkgs/hypridle.yml b/tasks/pkgs/hypridle.yml deleted file mode 100644 index 2a174f1..0000000 --- a/tasks/pkgs/hypridle.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hypridle config - ansible.builtin.include_tasks: - file: config/hypridle.yml - -- name: Append hypridle pkg_deps - loop: "{{ hypridle.pkg_deps }}" - loop_control: - loop_var: hypridle_pkg_dep - vars: - pkg: "{{ hypridle_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hypridle_pkg_dep }}.yml" - -- name: Append hypridle build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hypridle.build_deps }}" - -- name: Append hypridle to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hypridle'] }}" diff --git a/tasks/pkgs/hyprland.yml b/tasks/pkgs/hyprland.yml deleted file mode 100644 index 0abb1ee..0000000 --- a/tasks/pkgs/hyprland.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure Hyprland - when: - - __hyprland_configured is undefined - block: - - name: Set Hyprland install method - when: - - hyprland_install_method is undefined - ansible.builtin.set_fact: - hyprland_install_method: "{% if install_method in hyprland_install_methods %}{{ install_method }}{% else %}{{ hyprland_install_methods[0] }}{% endif %}" - - - name: Set Hyprland source install configuration - when: - - hyprland_install_method == 'source' - ansible.builtin.set_fact: - hyprland_version: "{{ hyprland_version | default('v0.53.3') }}" - hyprland_git_repo: "{{ hyprland_git_repo | default('https://github.com/hyprwm/Hyprland') }}" - hyprland_build_deps: - RedHat: - - cmake - hyprland_pkg_deps: - - aquamarine - - hyprlang - - hyprcursor - - hyprutils - - hyprgraphics - - hyprwayland-scanner - hyprland_build_steps: - configure: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ install_prefix }} - - -S - - . - - -B - - ./build - build: - - cmake - - --bulid - - ./build - - --config - - Release - - --target - - all - - j - - "{{ build_jobs | int }}" - install: - - cmake - - --install - - ./build - -- name: Append hyprland pkg_deps - loop: "{{ hyprland.pkg_deps }}" - loop_control: - loop_var: hyprland_pkg_dep - vars: - pkg: "{{ hyprland_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprland_pkg_dep }}.yml" - -- name: Append hyprland build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprland.build_deps }}" - -- name: Append hyprland to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprland'] }}" diff --git a/tasks/pkgs/hyprland_protocols.yml b/tasks/pkgs/hyprland_protocols.yml deleted file mode 100644 index 55b109c..0000000 --- a/tasks/pkgs/hyprland_protocols.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprland-protocols config - ansible.builtin.include_tasks: - file: config/hyprland_protocols.yml - -- name: Append hyprland-protocols build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprland_protocols.build_deps }}" - -- name: Append hyprland-protocols to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprland_protocols'] }}" diff --git a/tasks/pkgs/hyprland_qt_support.yml b/tasks/pkgs/hyprland_qt_support.yml deleted file mode 100644 index e173007..0000000 --- a/tasks/pkgs/hyprland_qt_support.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprland_qt_support config - ansible.builtin.include_tasks: - file: config/hyprland_qt_support.yml - -- name: Append hyprland_qt_support pkg_deps - loop: "{{ hyprland_qt_support.pkg_deps }}" - loop_control: - loop_var: hyprland_qt_support_pkg_dep - vars: - pkg: "{{ hyprland_qt_support_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprland_qt_support_pkg_dep }}.yml" - -- name: Append hyprland_qt_support build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprland_qt_support.build_deps }}" - -- name: Append hyprland_qt_support to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprland_qt_support'] }}" diff --git a/tasks/pkgs/hyprland_qtutils.yml b/tasks/pkgs/hyprland_qtutils.yml deleted file mode 100644 index 9eb64bb..0000000 --- a/tasks/pkgs/hyprland_qtutils.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprland_qtutils config - ansible.builtin.include_tasks: - file: config/hyprland_qtutils.yml - -- name: Append hyprland_qtutils pkg_deps - loop: "{{ hyprland_qtutils.pkg_deps }}" - loop_control: - loop_var: hyprland_qtutils_pkg_dep - vars: - pkg: "{{ hyprland_qtutils_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprland_qtutils_pkg_dep }}.yml" - -- name: Append hyprland_qtutils build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprland_qtutils.build_deps }}" - -- name: Append hyprland_qtutils to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprland_qtutils'] }}" diff --git a/tasks/pkgs/hyprlang.yml b/tasks/pkgs/hyprlang.yml deleted file mode 100644 index e9a9539..0000000 --- a/tasks/pkgs/hyprlang.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprlang config - ansible.builtin.include_tasks: - file: config/hyprlang.yml - -- name: Append hyprland pkg_deps - loop: "{{ hyprlang.pkg_deps }}" - loop_control: - loop_var: hyprlang_pkg_dep - vars: - pkg: "{{ hyprlang_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprlang_pkg_dep }}.yml" - -- name: Append hyprlang build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprlang.build_deps }}" - -- name: Append hyprlang to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprlang'] }}" diff --git a/tasks/pkgs/hyprlock.yml b/tasks/pkgs/hyprlock.yml deleted file mode 100644 index eb2cd8f..0000000 --- a/tasks/pkgs/hyprlock.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprlock config - ansible.builtin.include_tasks: - file: config/hyprlock.yml - -- name: Append hyprlock pkg_deps - loop: "{{ hyprlock.pkg_deps }}" - loop_control: - loop_var: hyprlock_pkg_dep - vars: - pkg: "{{ hyprlock_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprlock_pkg_dep }}.yml" - -- name: Append hyprlock build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprlock.build_deps }}" - -- name: Append hyprlock to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprlock'] }}" diff --git a/tasks/pkgs/hyprpaper.yml b/tasks/pkgs/hyprpaper.yml deleted file mode 100644 index b612ed8..0000000 --- a/tasks/pkgs/hyprpaper.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprpaper config - ansible.builtin.include_tasks: - file: config/hyprpaper.yml - -- name: Append hyprpaper pkg_deps - loop: "{{ hyprpaper.pkg_deps }}" - loop_control: - loop_var: hyprpaper_pkg_dep - vars: - pkg: "{{ hyprpaper_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprpaper_pkg_dep }}.yml" - -- name: Append hyprpaper build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprpaper.build_deps }}" - -- name: Append hyprpaper to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprpaper'] }}" diff --git a/tasks/pkgs/hyprpicker.yml b/tasks/pkgs/hyprpicker.yml deleted file mode 100644 index db4dafd..0000000 --- a/tasks/pkgs/hyprpicker.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprpicker config - ansible.builtin.include_tasks: - file: config/hyprpicker.yml - -- name: Append hyprpicker pkg_deps - loop: "{{ hyprpicker.pkg_deps }}" - loop_control: - loop_var: hyprpicker_pkg_dep - vars: - pkg: "{{ hyprpicker_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ hyprpicker_pkg_dep }}.yml" - -- name: Append hyprpicker build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprpicker.build_deps }}" - -- name: Append hyprpicker to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprpicker'] }}" diff --git a/tasks/pkgs/hyprpolkitagent.yml b/tasks/pkgs/hyprpolkitagent.yml deleted file mode 100644 index a0220b3..0000000 --- a/tasks/pkgs/hyprpolkitagent.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprpolkitagent config - ansible.builtin.include_tasks: - file: config/hyprpolkitagent.yml - -- name: Append hyprpolkitagent build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprpolkitagent.build_deps }}" - -- name: Append hyprpolkitagent to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprpolkitagent'] }}" diff --git a/tasks/pkgs/hyprutils.yml b/tasks/pkgs/hyprutils.yml deleted file mode 100644 index c077f88..0000000 --- a/tasks/pkgs/hyprutils.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hyprutils config - ansible.builtin.include_tasks: - file: config/hyprutils.yml - -- name: Append hyprutils build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprutils.build_deps }}" - -- name: Append hyprutils to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprutils'] }}" diff --git a/tasks/pkgs/hyprwayland_scanner.yml b/tasks/pkgs/hyprwayland_scanner.yml deleted file mode 100644 index 14a22fc..0000000 --- a/tasks/pkgs/hyprwayland_scanner.yml +++ /dev/null @@ -1,14 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -# build deps: pugixml -- name: Load hyprwayland-scanner config - ansible.builtin.include_tasks: - file: config/hyprwayland_scanner.yml - -- name: Append hyprwayland-scanner build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + hyprwayland_scanner.build_deps }}" - -- name: Append hyprwayland-scanner to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['hyprwayland_scanner'] }}" diff --git a/tasks/pkgs/nwg-drawer.yml b/tasks/pkgs/nwg-drawer.yml deleted file mode 100644 index 0d26e7f..0000000 --- a/tasks/pkgs/nwg-drawer.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add nwg-drawer to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['nwg-drawer'] }}" diff --git a/tasks/pkgs/nwg-panel.yml b/tasks/pkgs/nwg-panel.yml deleted file mode 100644 index 5898f16..0000000 --- a/tasks/pkgs/nwg-panel.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add nwg-panel to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['nwg-panel'] }}" diff --git a/tasks/pkgs/nwg_hello.yml b/tasks/pkgs/nwg_hello.yml deleted file mode 100644 index 46d7734..0000000 --- a/tasks/pkgs/nwg_hello.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load nwg-hello config - ansible.builtin.include_tasks: - file: config/nwg_hello.yml - -- name: Append nwg-hello build_deps to sys_pkg - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + nwg_hello.build_deps }}" diff --git a/tasks/pkgs/sdbus_cpp_2.yml b/tasks/pkgs/sdbus_cpp_2.yml deleted file mode 100644 index b0dbb8a..0000000 --- a/tasks/pkgs/sdbus_cpp_2.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load sdbus-cpp-2 config - ansible.builtin.include_tasks: - file: config/sdbus_cpp_2.yml - -- name: Append sdbus-cpp-2 build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + sdbus_cpp_2.build_deps }}" - -- name: Append sdbus-cpp-2 to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['sdbus_cpp_2'] }}" diff --git a/tasks/pkgs/usr_local_bin_profile_path.yml b/tasks/pkgs/usr_local_bin_profile_path.yml deleted file mode 100644 index 5078526..0000000 --- a/tasks/pkgs/usr_local_bin_profile_path.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add /usr/local/bin to PATH - when: - - ansible_os_family == 'RedHat' - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['usr_local_bin_profile_path'] }}" diff --git a/tasks/pkgs/xdg_desktop_portal_hyprland.yml b/tasks/pkgs/xdg_desktop_portal_hyprland.yml deleted file mode 100644 index e3685a6..0000000 --- a/tasks/pkgs/xdg_desktop_portal_hyprland.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add xdg-desktop-portal-hyprland - block: - - name: Load xdg-desktop-portal-hyprland config - when: - - xdg_desktop_portal_hyprland is undefined - ansible.builtin.include_tasks: - file: config/xdg_desktop_portal_hyprland.yml - - - name: Ensure xdg-desktop-portal-hyprland pkg_deps are added - loop: "{{ xdg_desktop_portal_hyprland.pkg_deps }}" - loop_control: - loop_var: xdg_pkg_dep - vars: - pkg: "{{ xdg_pkg_dep }}" - ansible.builtin.include_tasks: - file: "pkgs/{{ xdg_pkg_dep }}.yml" - - - name: Append xdg-desktop-portal-hyprland build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + xdg_desktop_portal_hyprland.build_deps }}" - - - name: Append xdg-desktop-portal-hyprland to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['xdg_desktop_portal_hyprland'] }}" - - - - name: Set xdg_desktop_portal_hyprland_configured - ansible.builtin.set_fact: - xdg_desktop_portal_hyprland_configured: true diff --git a/tasks/pkgs/zsh.yml b/tasks/pkgs/zsh.yml index b3dabb9..0a7a0a3 100644 --- a/tasks/pkgs/zsh.yml +++ b/tasks/pkgs/zsh.yml @@ -1,11 +1,33 @@ # vim: set filetype=yaml.ansible : --- - name: Add zsh + when: + - "'zsh' not in __configured" block: + - name: Set zsh install method + when: + - zsh_install_method is undefined + ansible.bulitin.set_fact: + zsh_install_method: "{{ install_method if install_method in zsh_install_methods else zsh_install_methods[0] }}" + - name: Append zsh to pkg_sys + when: + - zsh_install_method == 'system' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['zsh'] }}" + - name: Configure zsh source install + when: + - zsh_install_method == 'source' + ansible.builtin.set_fact: + zsh_source_install: + build_deps: + build_flags: + source_dir: + repo: "{{ zsh_base_url }}" + version: "{{ zsh_version }}" + files: + - name: Set zsh_configured ansible.builtin.set_fact: zsh_configured: true diff --git a/vars/main.yml b/vars/main.yml index 766265b..72b18c7 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -135,3 +135,7 @@ nerdfonts_install_list: nerdfonts_base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download nerdfonts_install_path: share/fonts # }}} +# {{{ zsh +zsh_base_url: git://git.code.sf.net/p/zsh/code +zsh_version: zsh-5.9 +# }}} diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 00c7da6..8b55ccc 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -104,9 +104,12 @@ nerdfonts_install_methods: yazi_install_methods: - source - cargo +zsh_install_methods: + - system + - source ## Package specific configuration that never need to be set by the installer -__nerdfonts: +__nerdfonts: # {{{ 0xProto: brew: font-0xproto-nerd-font "3270": @@ -270,3 +273,4 @@ __nerdfonts: ZedMono: brew: font-zed-mono-nerd-font base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download +# }}} -- 2.47.3 From 24a4ec17ecfa4abab9997e7e1a2a42f61d8c6999 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 3 Mar 2026 12:42:22 -0700 Subject: [PATCH 28/48] fixing up formatting and style --- tasks/facts.yml | 31 +- tasks/main.yml | 14 +- tasks/pkgs/air.yml | 2 +- tasks/pkgs/alacritty.yml | 10 +- tasks/pkgs/ansible.yml | 2 +- tasks/pkgs/cargo.yml | 31 + tasks/pkgs/direnv.yml | 22 +- tasks/pkgs/neovim.yml | 9 + tasks/pkgs/rust.yml | 32 +- tasks/pkgs/starship.yml | 6 +- tasks/pkgs/zoxide.yml | 12 +- vars/main.yml | 54 + vars/pkglist.yml | 72 +- vars/pkgs/aquamarine.yml | 7 - vars/pkgs/neovim.yml | 2199 -------------------------------------- vars/pkgs/nerdfonts.yml | 177 --- 16 files changed, 236 insertions(+), 2444 deletions(-) create mode 100644 tasks/pkgs/cargo.yml delete mode 100644 vars/pkgs/aquamarine.yml delete mode 100644 vars/pkgs/neovim.yml delete mode 100644 vars/pkgs/nerdfonts.yml diff --git a/tasks/facts.yml b/tasks/facts.yml index bd218cd..ea419d5 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -1,15 +1,28 @@ # vim: set filetype=yaml.ansible : --- +- name: Set common facts + ansible.builtin.set_fact: + distribution: "{{ ansible_facts['distribution'] }}" + system: "{{ ansible_facts['system'] }}" + os_family: "{{ ansible_facts['os_family'] }}" + user_dir: "{{ ansible_facts['user_dir'] }}" + user_id: "{{ ansible_facts['user_id'] }}" + user_gid: "{{ ansible_facts['user_gid'] }}" + os_version: + major: "{{ ansible_facts['distribution_major_version'] }}" + version: "{{ ansible_facts['distribution_version'] }}" + release: "{{ ansible_facts['release'] }}" + - name: Set package_home_base for Darwin when: - - ansible_facts["system"] == 'Darwin' + - system == 'Darwin' ansible.builtin.set_fact: package_home_base: /Users - name: Set package_home_base for Linux when: - - ansible_facts["system"] == 'Linux' or - ansible_facts["os_family"] == 'FreeBSD' + - system == 'Linux' or + os_family == 'FreeBSD' ansible.builtin.set_fact: package_home_base: /home @@ -22,7 +35,7 @@ path_source: "{{ install_prefix }}/source" path_go: "{{ install_prefix }}/go" path_pipx: "{{ install_prefix }}/pipx" - store_path: "{{ ansible_facts['user_dir'] }}/.cache/ansible_role_package" + store_path: "{{ user_dir }}/.cache/ansible_role_package" path_lib: "{{ install_prefix }}/lib" - name: Set install_become_group from install_become_user @@ -34,7 +47,7 @@ - name: Set Linux specific facts when: - - ansible_facts["system"] == 'Linux' + - system == 'Linux' ansible.builtin.set_fact: pipx_exec: "/usr/bin/pipx" path_lib: lib64 @@ -42,13 +55,13 @@ - name: Set alpine linux specific facts when: - - ansible_facts["os_family"] == 'Alpine' + - os_family == 'Alpine' ansible.builtin.set_fact: path_lib: lib - name: Set dist code if RedHat based when: - - ansible_facts["os_family"] == 'RedHat' + - os_family == 'RedHat' changed_when: false register: rpm_dist ansible.builtin.command: @@ -56,8 +69,8 @@ - name: Set macOS specific facts when: - - ansible_facts["distribution"] == 'MacOSX' or - ansible_facts["distribution"] == 'MacOS' + - distribution == 'MacOSX' or + distribution == 'MacOS' ansible.builtin.set_fact: brewtap: [] # homebrew taps to add pipx_exec: "/opt/homebrew/bin/pipx" # pipx executable diff --git a/tasks/main.yml b/tasks/main.yml index d6008bf..4678303 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -13,8 +13,8 @@ ansible.builtin.file: path: "{{ store_path }}" mode: '0755' - owner: "{{ ansible_facts['user_id'] }}" - group: "{{ ansible_facts['user_gid'] }}" + owner: "{{ user_id }}" + group: "{{ user_gid }}" state: directory - name: Ensure required paths exists @@ -43,19 +43,19 @@ - name: Add needed packages for Fedora when: - - ansible_facts["distribution"] == 'Fedora' + - distribution == 'Fedora' ansible.builtin.set_fact: pkg_sys: "{{ packages_extra + ['python3-paramiko'] }}" - name: Add needed MacOS packages when: - - ansible_facts["distribution"] == 'MacOSX' + - distribution == 'MacOSX' ansible.builtin.set_fact: pkg_sys: "{{ packages_extra + ['gnu-tar', 'virtualenv'] }}" - name: Add needed Alpine packages when: - - ansible_os_family == 'Alpine' + - os_family == 'Alpine' ansible.builtin.set_fact: pkg_sys: "{{ packages_extra + ['tar', 'unzip'] }}" @@ -162,13 +162,13 @@ - name: Linux specific tasks when: - - ansible_facts["system"] == 'Linux' + - system == 'Linux' ansible.builtin.include_tasks: file: linux.yml - name: MacOS specific tasks when: - - ansible_facts["distribution"] == 'MacOSX' + - distribution == 'MacOSX' ansible.builtin.include_tasks: file: macos.yml diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 75644dd..29ea18d 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -50,4 +50,4 @@ # }}} - name: Finalize air configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'air': true } ) }}" + __configured: "{{ __configured | combine( { 'air': air_install_method } ) }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index b82037c..4b8b165 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -26,7 +26,7 @@ - name: Set alacritty build facts ansible.builtin.set_fact: alacritty_src_install: - build_deps: "{{ alacritty.build_deps[ansible_facts['os_family']] }}" + build_deps: "{{ alacritty.build_deps[os_family] }}" build_flags: "{{ alacritty_cargo_build_flags }}" source_dir: "{{ alacritty.install_files.source_dir }}" repo: "{{ alacritty_git_repo }}" @@ -60,12 +60,12 @@ - name: Configure pkg dependencies loop: "{{ alacritty.pkg_deps }}" loop_control: - loop_var: pkg - ansible.builtin.include_tasks: "pkgs/{{ pkg }}.yml" + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" - name: Append build dependencies and cargo config ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + build_deps }}" + pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - name: Append alacritty to pkg_sys @@ -76,4 +76,4 @@ - name: Complete alacritty configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'alacritty': true } ) }}" + __configured: "{{ __configured | combine( { 'alacritty': alacritty_install_method } ) }}" diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index cad0fe2..4e80eba 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -24,4 +24,4 @@ - name: Complete ansible configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible': true } ) }}" + __configured: "{{ __configured | combine( { 'ansible': ansible_install_method } ) }}" diff --git a/tasks/pkgs/cargo.yml b/tasks/pkgs/cargo.yml new file mode 100644 index 0000000..448c58d --- /dev/null +++ b/tasks/pkgs/cargo.yml @@ -0,0 +1,31 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Configure cargo + when: + - "'cargo' not in __configured" + block: + - name: Set cargo install method + when: + - cargo_install_method is undefined + ansible.builtin.set_fact: + cargo_install_method: "{{ install_method if install_method in cargo_install_methods else cargo_install_methods[0] }}" + + - name: Add dependencies + when: + - cargo_pkgdeps is defined + loop: cargo_pkgdeps + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + + - name: Append cargo to install list + when: + - cargo_install_method == "system" + block: + - name: Queue cargo install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [cargo_pkgname] }}" + + - name: Finalize cargo configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine ( { 'cargo': cargo_install_method } ) }}" diff --git a/tasks/pkgs/direnv.yml b/tasks/pkgs/direnv.yml index 7c65d8d..c10b521 100644 --- a/tasks/pkgs/direnv.yml +++ b/tasks/pkgs/direnv.yml @@ -1,5 +1,21 @@ # vim: set filetype=yaml.ansible : --- -- name: Append direnv to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['direnv'] }}" +- name: Configure direnv + when: + - "'direnv' not in __configured" + block: + - name: Set direnv install method + when: + - direnv_install_method is undefined + ansible.builtin.set_fact: + direnv_install_method: "{{ install_method if install_method in direnv_install_methods else direnv_install_methods[0] }}" + + - name: Append direnv to pkg_sys + when: + - direnv_install_method == "system" + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['direnv'] }}" + + - name: Finalize direnv configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'direnv': true } ) }}" diff --git a/tasks/pkgs/neovim.yml b/tasks/pkgs/neovim.yml index 4005fc5..100da57 100644 --- a/tasks/pkgs/neovim.yml +++ b/tasks/pkgs/neovim.yml @@ -1,5 +1,14 @@ # vim: set filetype=yaml.ansible : --- +- name: Configure neovim + when: + - "'neovim' not in __configured" + block: + - name: Set neovim install method + when: + - neovim_install_method is undefined + ansible.builtin.set_fact: + neovim_install_method: "{{ install_method if install_method in neovim_install_methods else neovim_install_methods[0] }}" - name: Load neovim config ansible.builtin.include_tasks: file: config/neovim.yml diff --git a/tasks/pkgs/rust.yml b/tasks/pkgs/rust.yml index a8c1d9a..a7d1a40 100644 --- a/tasks/pkgs/rust.yml +++ b/tasks/pkgs/rust.yml @@ -1,9 +1,29 @@ # vim: set filetype=yaml.ansible : --- -- name: Load rust config - ansible.builtin.include_tasks: - file: config/rust.yml +- name: Configure rust + when: + - "'rust' not in __configured" + block: + - name: Set rust install method + when: + - rust_install_method is undefined + ansible.builtin.set_fact: + rust_install_method: "{{ install_method if install_method in rust_install_methods else rust_install_methods[0] }}" -- name: Install rust and cargo - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + rust.pkgs }}" + - name: Add dependencies + loop: rust_pkgdeps + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + + - name: Append rust to install list + when: + - rust_install_method == "system" + block: + - name: Queue rust install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [rust_pkgname] }}" + + - name: Finalize rust configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine ( { 'rust': rust_install_method } ) }}" diff --git a/tasks/pkgs/starship.yml b/tasks/pkgs/starship.yml index a054c13..2617c5e 100644 --- a/tasks/pkgs/starship.yml +++ b/tasks/pkgs/starship.yml @@ -2,12 +2,12 @@ --- - name: Add starship when: - - starship_configured is undefined + - "'starship' not in __configured" block: - name: Append starship to pkg_cargo ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + [{'name': 'starship', 'locked': true}] }}" - - name: Set starship_configured + - name: Finalize startship configuration ansible.builtin.set_fact: - starship_configured: true + __configured: "{{ __configured | combine( { 'starship': true } ) }}" diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index 2c14477..fa22423 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -1,11 +1,19 @@ # vim: set filetype=yaml.ansible : --- -- name: Add zoxide +- name: Configure zoxide + when: + - "'zoxide' not in __configured" block: + - name: Set zoxied install method + when: + - zoxide_install_method is undefined + ansible.builtin.set_fact: + zoxide_install_method: "{{ install_method if intall_method in zoxide_install_methods else zoxide_install_methods[0] }}" + - name: Append zoxide to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['zoxide'] }}" - name: Set zoxide_configured ansible.builtin.set_fact: - zoxide_configured: true + __configured: "{{ __configured | combine( { 'zoxide': true } ) }}" diff --git a/vars/main.yml b/vars/main.yml index 72b18c7..63a46ac 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -92,6 +92,9 @@ bashls_install_methods: - source bashls_npm_pkgname: bash-language-server # }}} +# cargo {{{ +cargo_pkgname: cargo +# }}} # {{{ go go_archive_version: 1.25.6 go_archive_archmap: @@ -124,6 +127,52 @@ go_pkgname: 1.23: go123 1.22: go122 # }}} +# neovim {{{ +neovim_version: master +neovim_build_type: Release +neovim_git_repo: https://github.com/neovim/neovim +neovim_appimage: + base_url: https://github.com/neovim/neovim/releases/download + link_name: nvim +neovim_pkgname: + RedHat: neovim + Debian: neovim + Darwin: neovim + FreeBSD: neovim +neovim_build_deps: + RedHat: + - cmake + - curl + - gcc + - gettext + - glibc-gconv-extra + - make + - ninja-build + Debian: + - build-essential + - cmake + - curl + - gettext + - ninja-build + Darwin: + - cmake + - curl + - gettext + - ninja + Alpine: + - build-base + - cmake + - coreutils + - curl + - gettext-dev +neovim_build_files: + - lib64/nvim + - bin/nvim + - share/nvim + - share/applications/nvim.desktop + - share/icons/hicolor/128x128/apps/nvim.png + - share/man/man1/nvim.1 +# }}} # {{{ nerdfonts nerdfonts_install_list: - JetBrainsMono @@ -135,6 +184,11 @@ nerdfonts_install_list: nerdfonts_base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download nerdfonts_install_path: share/fonts # }}} +# rust {{{ +rust_pkgname: rust +rust_pkgdeps: + - cargo +# }}} # {{{ zsh zsh_base_url: git://git.code.sf.net/p/zsh/code zsh_version: zsh-5.9 diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 8b55ccc..7a4cdd5 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -32,7 +32,7 @@ alacritty: # {{{ pkg_deps: - git - cargo - sys_build_deps: + build_deps: RedHat: - cmake - fontconfig-devel @@ -84,29 +84,53 @@ ansible_lint: # {{{ - pipx - system # }}} -ansible_install_methods: - - system -ansible_ls_install_methods: - - source - - system -aquamarine_install_methods: - - source -git_install_methods: - - system -go_install_methods: - - archive - - system -hyprland_install_methods: - - source -nerdfonts_install_methods: - - archive - - system -yazi_install_methods: - - source - - cargo -zsh_install_methods: - - system - - source +ansible: + install_methods: + - system +ansible_ls: + install_methods: + - source + - system +direnv: + install_methods: + - system +cargo: + install_methods: + - system +git: + install_methods: + - system +go: + install_methods: + - archive + - system +hyprland: + install_methods: + - source +neovim: + install_methods: + - source + - system + - appimage + - archive +nerdfonts: + install_methods: + - archive + - system +rust: + install_methods: + - system +yazi: + install_methods: + - source + - cargo +zoxide: + install_methods: + - system +zsh: + install_methods: + - system + - source ## Package specific configuration that never need to be set by the installer __nerdfonts: # {{{ diff --git a/vars/pkgs/aquamarine.yml b/vars/pkgs/aquamarine.yml deleted file mode 100644 index 4211d78..0000000 --- a/vars/pkgs/aquamarine.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -aquamarine: - version: v0.8.0 - pkg_deps: - - hyprwayland_scanner - - hyprutils diff --git a/vars/pkgs/neovim.yml b/vars/pkgs/neovim.yml deleted file mode 100644 index e02e6f5..0000000 --- a/vars/pkgs/neovim.yml +++ /dev/null @@ -1,2199 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -neovim: - version: "{{ _pkgversion_neovim }}" - build_type: Release - clean_install: "{{ _pkgconfig_force_rebuild }}" - git_repo: https://github.com/neovim/neovim - git_branch: "{{ _gitbranch_neovim }}" - appimage: - base_url: https://github.com/neovim/neovim/releases/download - link_name: nvim - methods: - default: src - AlmaLinux: appimage - Alpine: src - Debian: appimage - Fedora: src - MacOSX: src - RedHat: appimage - Rocky: appimage - Ubuntu: src - pkgs: - default: - - neovim - Alpine: - - neovim - Arch: - - neovim - - python-pynvim - RedHat: &rhelbased - - neovim - - python3-neovim - AlmaLinux: *rhelbased - Rocky: *rhelbased - Debian: - - neovim - - python3-neovim - Fedora: - - neovim - - python3-neovim - Ubuntu: - - neovim - - python3-neovim - FreeBSD: - - neovim - - py36-pynvim - build_deps: - RedHat: - - cmake - - curl - - gcc - - gettext - - glibc-gconv-extra - - make - - ninja-build - Debian: - - build-essential - - cmake - - curl - - gettext - - ninja-build - Darwin: - - cmake - - curl - - gettext - - ninja - Alpine: - - build-base - - cmake - - coreutils - - curl - - gettext-dev - build_installed_files: - - share/man/man1/nvim.1 - - share/nvim - - share/applications/nvim.desktop - - share/icons/hicolor/128x128/apps/nvim.png - - bin/nvim - - lib64/nvim - extra_files: - - lib64/nvim/parser/vimdoc.so - - lib64/nvim/parser/lua.so - - lib64/nvim/parser/markdown.so - - lib64/nvim/parser/markdown_inline.so - - lib64/nvim/parser/query.so - - lib64/nvim/parser/vim.so - - lib64/nvim/parser/c.so - - lib64/nvim/parser - - share/nvim/runtime/lua/jit/bc.lua - - share/nvim/runtime/lua/jit/bcsave.lua - - share/nvim/runtime/lua/jit/dump.lua - - share/nvim/runtime/lua/jit/p.lua - - share/nvim/runtime/lua/jit/v.lua - - share/nvim/runtime/lua/jit/zone.lua - - share/nvim/runtime/lua/jit/dis_x86.lua - - share/nvim/runtime/lua/jit/dis_x64.lua - - share/nvim/runtime/lua/jit/dis_arm.lua - - share/nvim/runtime/lua/jit/dis_arm64.lua - - share/nvim/runtime/lua/jit/dis_arm64be.lua - - share/nvim/runtime/lua/jit/dis_ppc.lua - - share/nvim/runtime/lua/jit/dis_mips.lua - - share/nvim/runtime/lua/jit/dis_mipsel.lua - - share/nvim/runtime/lua/jit/dis_mips64.lua - - share/nvim/runtime/lua/jit/dis_mips64el.lua - - share/nvim/runtime/lua/jit/dis_mips64r6.lua - - share/nvim/runtime/lua/jit/dis_mips64r6el.lua - - share/nvim/runtime/lua/jit/vmdef.lua - - share/nvim/runtime/lua/jit - - share/nvim/runtime/lua/_vim9script.lua - - share/nvim/runtime/lua/coxpcall.lua - - share/nvim/runtime/lua/editorconfig.lua - - share/nvim/runtime/lua/man.lua - - share/nvim/runtime/lua/tohtml.lua - - share/nvim/runtime/lua/vim/F.lua - - share/nvim/runtime/lua/vim/_buf.lua - - share/nvim/runtime/lua/vim/_comment.lua - - share/nvim/runtime/lua/vim/_defaults.lua - - share/nvim/runtime/lua/vim/_editor.lua - - share/nvim/runtime/lua/vim/_ftplugin/lua.lua - - share/nvim/runtime/lua/vim/_ftplugin - - share/nvim/runtime/lua/vim/_init_packages.lua - - share/nvim/runtime/lua/vim/_inspector.lua - - share/nvim/runtime/lua/vim/_meta.lua - - share/nvim/runtime/lua/vim/_meta/api.lua - - share/nvim/runtime/lua/vim/_meta/api_keysets.lua - - share/nvim/runtime/lua/vim/_meta/api_keysets_extra.lua - - share/nvim/runtime/lua/vim/_meta/base64.lua - - share/nvim/runtime/lua/vim/_meta/builtin.lua - - share/nvim/runtime/lua/vim/_meta/builtin_types.lua - - share/nvim/runtime/lua/vim/_meta/diff.lua - - share/nvim/runtime/lua/vim/_meta/json.lua - - share/nvim/runtime/lua/vim/_meta/lpeg.lua - - share/nvim/runtime/lua/vim/_meta/misc.lua - - share/nvim/runtime/lua/vim/_meta/mpack.lua - - share/nvim/runtime/lua/vim/_meta/options.lua - - share/nvim/runtime/lua/vim/_meta/re.lua - - share/nvim/runtime/lua/vim/_meta/regex.lua - - share/nvim/runtime/lua/vim/_meta/spell.lua - - share/nvim/runtime/lua/vim/_meta/vimfn.lua - - share/nvim/runtime/lua/vim/_meta/vvars.lua - - share/nvim/runtime/lua/vim/_meta/vvars_extra.lua - - share/nvim/runtime/lua/vim/_meta - - share/nvim/runtime/lua/vim/_options.lua - - share/nvim/runtime/lua/vim/_system.lua - - share/nvim/runtime/lua/vim/_watch.lua - - share/nvim/runtime/lua/vim/deprecated/health.lua - - share/nvim/runtime/lua/vim/deprecated - - share/nvim/runtime/lua/vim/diagnostic.lua - - share/nvim/runtime/lua/vim/filetype.lua - - share/nvim/runtime/lua/vim/filetype/detect.lua - - share/nvim/runtime/lua/vim/filetype/options.lua - - share/nvim/runtime/lua/vim/filetype - - share/nvim/runtime/lua/vim/fs.lua - - share/nvim/runtime/lua/vim/func.lua - - share/nvim/runtime/lua/vim/func/_memoize.lua - - share/nvim/runtime/lua/vim/func - - share/nvim/runtime/lua/vim/glob.lua - - share/nvim/runtime/lua/vim/health.lua - - share/nvim/runtime/lua/vim/health/health.lua - - share/nvim/runtime/lua/vim/health - - share/nvim/runtime/lua/vim/hl.lua - - share/nvim/runtime/lua/vim/inspect.lua - - share/nvim/runtime/lua/vim/iter.lua - - share/nvim/runtime/lua/vim/keymap.lua - - share/nvim/runtime/lua/vim/loader.lua - - share/nvim/runtime/lua/vim/lsp.lua - - share/nvim/runtime/lua/vim/lsp/_changetracking.lua - - share/nvim/runtime/lua/vim/lsp/_folding_range.lua - - share/nvim/runtime/lua/vim/lsp/_meta.lua - - share/nvim/runtime/lua/vim/lsp/_meta - - share/nvim/runtime/lua/vim/lsp/_meta/protocol.lua - - share/nvim/runtime/lua/vim/lsp/_snippet_grammar.lua - - share/nvim/runtime/lua/vim/lsp/_tagfunc.lua - - share/nvim/runtime/lua/vim/lsp/_transport.lua - - share/nvim/runtime/lua/vim/lsp/_watchfiles.lua - - share/nvim/runtime/lua/vim/lsp/buf.lua - - share/nvim/runtime/lua/vim/lsp/client.lua - - share/nvim/runtime/lua/vim/lsp/codelens.lua - - share/nvim/runtime/lua/vim/lsp/completion.lua - - share/nvim/runtime/lua/vim/lsp/diagnostic.lua - - share/nvim/runtime/lua/vim/lsp/handlers.lua - - share/nvim/runtime/lua/vim/lsp/health.lua - - share/nvim/runtime/lua/vim/lsp/inlay_hint.lua - - share/nvim/runtime/lua/vim/lsp/log.lua - - share/nvim/runtime/lua/vim/lsp/protocol.lua - - share/nvim/runtime/lua/vim/lsp/rpc.lua - - share/nvim/runtime/lua/vim/lsp/semantic_tokens.lua - - share/nvim/runtime/lua/vim/lsp/sync.lua - - share/nvim/runtime/lua/vim/lsp/util.lua - - share/nvim/runtime/lua/vim/lsp - - share/nvim/runtime/lua/vim/provider.lua - - share/nvim/runtime/lua/vim/provider/health.lua - - share/nvim/runtime/lua/vim/provider/perl.lua - - share/nvim/runtime/lua/vim/provider/python.lua - - share/nvim/runtime/lua/vim/provider/ruby.lua - - share/nvim/runtime/lua/vim/provider - - share/nvim/runtime/lua/vim/re.lua - - share/nvim/runtime/lua/vim/secure.lua - - share/nvim/runtime/lua/vim/shared.lua - - share/nvim/runtime/lua/vim/snippet.lua - - share/nvim/runtime/lua/vim/termcap.lua - - share/nvim/runtime/lua/vim/text.lua - - share/nvim/runtime/lua/vim/treesitter.lua - - share/nvim/runtime/lua/vim/treesitter/_fold.lua - - share/nvim/runtime/lua/vim/treesitter/_headings.lua - - share/nvim/runtime/lua/vim/treesitter/_meta - - share/nvim/runtime/lua/vim/treesitter/_meta/misc.lua - - share/nvim/runtime/lua/vim/treesitter/_meta/tsnode.lua - - share/nvim/runtime/lua/vim/treesitter/_meta/tsquery.lua - - share/nvim/runtime/lua/vim/treesitter/_meta/tstree.lua - - share/nvim/runtime/lua/vim/treesitter/_query_linter.lua - - share/nvim/runtime/lua/vim/treesitter/_range.lua - - share/nvim/runtime/lua/vim/treesitter/dev.lua - - share/nvim/runtime/lua/vim/treesitter/health.lua - - share/nvim/runtime/lua/vim/treesitter/highlighter.lua - - share/nvim/runtime/lua/vim/treesitter/language.lua - - share/nvim/runtime/lua/vim/treesitter/languagetree.lua - - share/nvim/runtime/lua/vim/treesitter/query.lua - - share/nvim/runtime/lua/vim/treesitter - - share/nvim/runtime/lua/vim/ui.lua - - share/nvim/runtime/lua/vim/ui/clipboard/osc52.lua - - share/nvim/runtime/lua/vim/ui/clipboard - - share/nvim/runtime/lua/vim/ui - - share/nvim/runtime/lua/vim/uri.lua - - share/nvim/runtime/lua/vim/version.lua - - share/nvim/runtime/lua/vim - - share/nvim/runtime/lua - - share/nvim/runtime/pack/dist/opt/matchit/doc/matchit.txt - - share/nvim/runtime/pack/dist/opt/matchit/doc/tags - - share/nvim/runtime/pack/dist/opt/matchit/doc - - share/nvim/runtime/pack/dist/opt/matchit/autoload/matchit.vim - - share/nvim/runtime/pack/dist/opt/matchit/autoload - - share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim - - share/nvim/runtime/pack/dist/opt/matchit/plugin - - share/nvim/runtime/pack/dist/opt/matchit - - share/nvim/runtime/pack/dist/opt/netrw/doc/tags - - share/nvim/runtime/pack/dist/opt/netrw/doc/netrw.txt - - share/nvim/runtime/pack/dist/opt/netrw/doc - - share/nvim/runtime/pack/dist/opt/netrw/LICENSE.txt - - share/nvim/runtime/pack/dist/opt/netrw/README.md - - share/nvim/runtime/pack/dist/opt/netrw/autoload/netrw.vim - - share/nvim/runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim - - share/nvim/runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim - - share/nvim/runtime/pack/dist/opt/netrw/autoload - - share/nvim/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim - - share/nvim/runtime/pack/dist/opt/netrw/plugin - - share/nvim/runtime/pack/dist/opt/netrw/syntax/netrw.vim - - share/nvim/runtime/pack/dist/opt/netrw/syntax - - share/nvim/runtime/pack/dist/opt/netrw - - share/nvim/runtime/pack/dist/opt/cfilter/plugin/cfilter.lua - - share/nvim/runtime/pack/dist/opt/cfilter/plugin - - share/nvim/runtime/pack/dist/opt/cfilter - - share/nvim/runtime/pack/dist/opt/justify/plugin/justify.vim - - share/nvim/runtime/pack/dist/opt/justify/plugin - - share/nvim/runtime/pack/dist/opt/justify - - share/nvim/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim - - share/nvim/runtime/pack/dist/opt/nohlsearch/plugin - - share/nvim/runtime/pack/dist/opt/nohlsearch - - share/nvim/runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim - - share/nvim/runtime/pack/dist/opt/shellmenu/plugin - - share/nvim/runtime/pack/dist/opt/shellmenu - - share/nvim/runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim - - share/nvim/runtime/pack/dist/opt/swapmouse/plugin - - share/nvim/runtime/pack/dist/opt/swapmouse - - share/nvim/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim - - share/nvim/runtime/pack/dist/opt/termdebug/plugin - - share/nvim/runtime/pack/dist/opt/termdebug - - share/nvim/runtime/pack/dist - - share/nvim/runtime/pack/dist/opt - - share/nvim/runtime/pack - - share/nvim/runtime/doc - - share/nvim/runtime/doc/tags - - share/nvim/runtime/doc/api.txt - - share/nvim/runtime/doc/arabic.txt - - share/nvim/runtime/doc/autocmd.txt - - share/nvim/runtime/doc/builtin.txt - - share/nvim/runtime/doc/change.txt - - share/nvim/runtime/doc/channel.txt - - share/nvim/runtime/doc/cmdline.txt - - share/nvim/runtime/doc/credits.txt - - share/nvim/runtime/doc/debug.txt - - share/nvim/runtime/doc/deprecated.txt - - share/nvim/runtime/doc/dev_arch.txt - - share/nvim/runtime/doc/dev_style.txt - - share/nvim/runtime/doc/dev_theme.txt - - share/nvim/runtime/doc/dev_tools.txt - - share/nvim/runtime/doc/dev_vimpatch.txt - - share/nvim/runtime/doc/develop.txt - - share/nvim/runtime/doc/diagnostic.txt - - share/nvim/runtime/doc/diff.txt - - share/nvim/runtime/doc/digraph.txt - - share/nvim/runtime/doc/editing.txt - - share/nvim/runtime/doc/editorconfig.txt - - share/nvim/runtime/doc/eval.txt - - share/nvim/runtime/doc/faq.txt - - share/nvim/runtime/doc/filetype.txt - - share/nvim/runtime/doc/fold.txt - - share/nvim/runtime/doc/ft_ada.txt - - share/nvim/runtime/doc/ft_hare.txt - - share/nvim/runtime/doc/ft_ps1.txt - - share/nvim/runtime/doc/ft_raku.txt - - share/nvim/runtime/doc/ft_rust.txt - - share/nvim/runtime/doc/ft_sql.txt - - share/nvim/runtime/doc/gui.txt - - share/nvim/runtime/doc/health.txt - - share/nvim/runtime/doc/hebrew.txt - - share/nvim/runtime/doc/help.txt - - share/nvim/runtime/doc/helphelp.txt - - share/nvim/runtime/doc/if_perl.txt - - share/nvim/runtime/doc/if_pyth.txt - - share/nvim/runtime/doc/if_ruby.txt - - share/nvim/runtime/doc/indent.txt - - share/nvim/runtime/doc/index.txt - - share/nvim/runtime/doc/insert.txt - - share/nvim/runtime/doc/intro.txt - - share/nvim/runtime/doc/job_control.txt - - share/nvim/runtime/doc/lsp.txt - - share/nvim/runtime/doc/lua-bit.txt - - share/nvim/runtime/doc/lua-guide.txt - - share/nvim/runtime/doc/lua.txt - - share/nvim/runtime/doc/luaref.txt - - share/nvim/runtime/doc/luvref.txt - - share/nvim/runtime/doc/map.txt - - share/nvim/runtime/doc/mbyte.txt - - share/nvim/runtime/doc/message.txt - - share/nvim/runtime/doc/mlang.txt - - share/nvim/runtime/doc/motion.txt - - share/nvim/runtime/doc/news-0.10.txt - - share/nvim/runtime/doc/news-0.9.txt - - share/nvim/runtime/doc/news.txt - - share/nvim/runtime/doc/nvim.txt - - share/nvim/runtime/doc/options.txt - - share/nvim/runtime/doc/pattern.txt - - share/nvim/runtime/doc/pi_gzip.txt - - share/nvim/runtime/doc/pi_msgpack.txt - - share/nvim/runtime/doc/pi_paren.txt - - share/nvim/runtime/doc/pi_spec.txt - - share/nvim/runtime/doc/pi_tar.txt - - share/nvim/runtime/doc/pi_tutor.txt - - share/nvim/runtime/doc/pi_zip.txt - - share/nvim/runtime/doc/provider.txt - - share/nvim/runtime/doc/quickfix.txt - - share/nvim/runtime/doc/quickref.txt - - share/nvim/runtime/doc/recover.txt - - share/nvim/runtime/doc/remote.txt - - share/nvim/runtime/doc/remote_plugin.txt - - share/nvim/runtime/doc/repeat.txt - - share/nvim/runtime/doc/rileft.txt - - share/nvim/runtime/doc/russian.txt - - share/nvim/runtime/doc/scroll.txt - - share/nvim/runtime/doc/sign.txt - - share/nvim/runtime/doc/spell.txt - - share/nvim/runtime/doc/starting.txt - - share/nvim/runtime/doc/support.txt - - share/nvim/runtime/doc/syntax.txt - - share/nvim/runtime/doc/tabpage.txt - - share/nvim/runtime/doc/tagsrch.txt - - share/nvim/runtime/doc/terminal.txt - - share/nvim/runtime/doc/testing.txt - - share/nvim/runtime/doc/tips.txt - - share/nvim/runtime/doc/treesitter.txt - - share/nvim/runtime/doc/tui.txt - - share/nvim/runtime/doc/uganda.txt - - share/nvim/runtime/doc/ui.txt - - share/nvim/runtime/doc/undo.txt - - share/nvim/runtime/doc/userfunc.txt - - share/nvim/runtime/doc/usr_01.txt - - share/nvim/runtime/doc/usr_02.txt - - share/nvim/runtime/doc/usr_03.txt - - share/nvim/runtime/doc/usr_04.txt - - share/nvim/runtime/doc/usr_05.txt - - share/nvim/runtime/doc/usr_06.txt - - share/nvim/runtime/doc/usr_07.txt - - share/nvim/runtime/doc/usr_08.txt - - share/nvim/runtime/doc/usr_09.txt - - share/nvim/runtime/doc/usr_10.txt - - share/nvim/runtime/doc/usr_11.txt - - share/nvim/runtime/doc/usr_12.txt - - share/nvim/runtime/doc/usr_20.txt - - share/nvim/runtime/doc/usr_21.txt - - share/nvim/runtime/doc/usr_22.txt - - share/nvim/runtime/doc/usr_23.txt - - share/nvim/runtime/doc/usr_24.txt - - share/nvim/runtime/doc/usr_25.txt - - share/nvim/runtime/doc/usr_26.txt - - share/nvim/runtime/doc/usr_27.txt - - share/nvim/runtime/doc/usr_28.txt - - share/nvim/runtime/doc/usr_29.txt - - share/nvim/runtime/doc/usr_30.txt - - share/nvim/runtime/doc/usr_31.txt - - share/nvim/runtime/doc/usr_32.txt - - share/nvim/runtime/doc/usr_40.txt - - share/nvim/runtime/doc/usr_41.txt - - share/nvim/runtime/doc/usr_42.txt - - share/nvim/runtime/doc/usr_43.txt - - share/nvim/runtime/doc/usr_44.txt - - share/nvim/runtime/doc/usr_45.txt - - share/nvim/runtime/doc/usr_toc.txt - - share/nvim/runtime/doc/various.txt - - share/nvim/runtime/doc/vi_diff.txt - - share/nvim/runtime/doc/vietnamese.txt - - share/nvim/runtime/doc/vim_diff.txt - - share/nvim/runtime/doc/visual.txt - - share/nvim/runtime/doc/vvars.txt - - share/nvim/runtime/doc/windows.txt - - share/nvim/runtime/syntax - - share/nvim/runtime/syntax/vim - - share/nvim/runtime/syntax/vim/generated.vim - - share/nvim/runtime/syntax/8th.vim - - share/nvim/runtime/syntax/README.txt - - share/nvim/runtime/syntax/a2ps.vim - - share/nvim/runtime/syntax/a65.vim - - share/nvim/runtime/syntax/aap.vim - - share/nvim/runtime/syntax/abap.vim - - share/nvim/runtime/syntax/abaqus.vim - - share/nvim/runtime/syntax/abc.vim - - share/nvim/runtime/syntax/abel.vim - - share/nvim/runtime/syntax/abnf.vim - - share/nvim/runtime/syntax/acedb.vim - - share/nvim/runtime/syntax/ada.vim - - share/nvim/runtime/syntax/aflex.vim - - share/nvim/runtime/syntax/ahdl.vim - - share/nvim/runtime/syntax/aidl.vim - - share/nvim/runtime/syntax/alsaconf.vim - - share/nvim/runtime/syntax/amiga.vim - - share/nvim/runtime/syntax/aml.vim - - share/nvim/runtime/syntax/ampl.vim - - share/nvim/runtime/syntax/ant.vim - - share/nvim/runtime/syntax/antlr.vim - - share/nvim/runtime/syntax/antlr4.vim - - share/nvim/runtime/syntax/apache.vim - - share/nvim/runtime/syntax/apachestyle.vim - - share/nvim/runtime/syntax/apkbuild.vim - - share/nvim/runtime/syntax/aptconf.vim - - share/nvim/runtime/syntax/arch.vim - - share/nvim/runtime/syntax/arduino.vim - - share/nvim/runtime/syntax/art.vim - - share/nvim/runtime/syntax/asciidoc.vim - - share/nvim/runtime/syntax/asm.vim - - share/nvim/runtime/syntax/asm68k.vim - - share/nvim/runtime/syntax/asmh8300.vim - - share/nvim/runtime/syntax/asn.vim - - share/nvim/runtime/syntax/aspperl.vim - - share/nvim/runtime/syntax/aspvbs.vim - - share/nvim/runtime/syntax/asterisk.vim - - share/nvim/runtime/syntax/asteriskvm.vim - - share/nvim/runtime/syntax/astro.vim - - share/nvim/runtime/syntax/asy.vim - - share/nvim/runtime/syntax/atlas.vim - - share/nvim/runtime/syntax/autodoc.vim - - share/nvim/runtime/syntax/autohotkey.vim - - share/nvim/runtime/syntax/autoit.vim - - share/nvim/runtime/syntax/automake.vim - - share/nvim/runtime/syntax/ave.vim - - share/nvim/runtime/syntax/avra.vim - - share/nvim/runtime/syntax/awk.vim - - share/nvim/runtime/syntax/ayacc.vim - - share/nvim/runtime/syntax/b.vim - - share/nvim/runtime/syntax/baan.vim - - share/nvim/runtime/syntax/bash.vim - - share/nvim/runtime/syntax/basic.vim - - share/nvim/runtime/syntax/bc.vim - - share/nvim/runtime/syntax/bdf.vim - - share/nvim/runtime/syntax/bib.vim - - share/nvim/runtime/syntax/bindzone.vim - - share/nvim/runtime/syntax/bitbake.vim - - share/nvim/runtime/syntax/blank.vim - - share/nvim/runtime/syntax/bsdl.vim - - share/nvim/runtime/syntax/bst.vim - - share/nvim/runtime/syntax/btm.vim - - share/nvim/runtime/syntax/bzl.vim - - share/nvim/runtime/syntax/bzr.vim - - share/nvim/runtime/syntax/c.vim - - share/nvim/runtime/syntax/cabal.vim - - share/nvim/runtime/syntax/cabalconfig.vim - - share/nvim/runtime/syntax/cabalproject.vim - - share/nvim/runtime/syntax/calendar.vim - - share/nvim/runtime/syntax/catalog.vim - - share/nvim/runtime/syntax/cdl.vim - - share/nvim/runtime/syntax/cdrdaoconf.vim - - share/nvim/runtime/syntax/cdrtoc.vim - - share/nvim/runtime/syntax/cf.vim - - share/nvim/runtime/syntax/cfg.vim - - share/nvim/runtime/syntax/cgdbrc.vim - - share/nvim/runtime/syntax/ch.vim - - share/nvim/runtime/syntax/chaiscript.vim - - share/nvim/runtime/syntax/change.vim - - share/nvim/runtime/syntax/changelog.vim - - share/nvim/runtime/syntax/chaskell.vim - - share/nvim/runtime/syntax/chatito.vim - - share/nvim/runtime/syntax/checkhealth.vim - - share/nvim/runtime/syntax/cheetah.vim - - share/nvim/runtime/syntax/chicken.vim - - share/nvim/runtime/syntax/chill.vim - - share/nvim/runtime/syntax/chordpro.vim - - share/nvim/runtime/syntax/chuck.vim - - share/nvim/runtime/syntax/cl.vim - - share/nvim/runtime/syntax/clean.vim - - share/nvim/runtime/syntax/clipper.vim - - share/nvim/runtime/syntax/clojure.vim - - share/nvim/runtime/syntax/cmacro.vim - - share/nvim/runtime/syntax/cmake.vim - - share/nvim/runtime/syntax/cmakecache.vim - - share/nvim/runtime/syntax/cmod.vim - - share/nvim/runtime/syntax/cmusrc.vim - - share/nvim/runtime/syntax/cobol.vim - - share/nvim/runtime/syntax/coco.vim - - share/nvim/runtime/syntax/colortest.vim - - share/nvim/runtime/syntax/conaryrecipe.vim - - share/nvim/runtime/syntax/conf.vim - - share/nvim/runtime/syntax/config.vim - - share/nvim/runtime/syntax/confini.vim - - share/nvim/runtime/syntax/context.vim - - share/nvim/runtime/syntax/cpp.vim - - share/nvim/runtime/syntax/crm.vim - - share/nvim/runtime/syntax/crontab.vim - - share/nvim/runtime/syntax/cs.vim - - share/nvim/runtime/syntax/csc.vim - - share/nvim/runtime/syntax/csdl.vim - - share/nvim/runtime/syntax/csh.vim - - share/nvim/runtime/syntax/csp.vim - - share/nvim/runtime/syntax/css.vim - - share/nvim/runtime/syntax/csv.vim - - share/nvim/runtime/syntax/cterm.vim - - share/nvim/runtime/syntax/ctrlh.vim - - share/nvim/runtime/syntax/cucumber.vim - - share/nvim/runtime/syntax/cuda.vim - - share/nvim/runtime/syntax/cupl.vim - - share/nvim/runtime/syntax/cuplsim.vim - - share/nvim/runtime/syntax/cvs.vim - - share/nvim/runtime/syntax/cvsrc.vim - - share/nvim/runtime/syntax/cweb.vim - - share/nvim/runtime/syntax/cynlib.vim - - share/nvim/runtime/syntax/cynpp.vim - - share/nvim/runtime/syntax/d.vim - - share/nvim/runtime/syntax/dart.vim - - share/nvim/runtime/syntax/datascript.vim - - share/nvim/runtime/syntax/dcd.vim - - share/nvim/runtime/syntax/dcl.vim - - share/nvim/runtime/syntax/deb822sources.vim - - share/nvim/runtime/syntax/debchangelog.vim - - share/nvim/runtime/syntax/debcontrol.vim - - share/nvim/runtime/syntax/debcopyright.vim - - share/nvim/runtime/syntax/debsources.vim - - share/nvim/runtime/syntax/def.vim - - share/nvim/runtime/syntax/denyhosts.vim - - share/nvim/runtime/syntax/dep3patch.vim - - share/nvim/runtime/syntax/desc.vim - - share/nvim/runtime/syntax/desktop.vim - - share/nvim/runtime/syntax/dictconf.vim - - share/nvim/runtime/syntax/dictdconf.vim - - share/nvim/runtime/syntax/diff.vim - - share/nvim/runtime/syntax/dircolors.vim - - share/nvim/runtime/syntax/dirpager.vim - - share/nvim/runtime/syntax/diva.vim - - share/nvim/runtime/syntax/django.vim - - share/nvim/runtime/syntax/dns.vim - - share/nvim/runtime/syntax/dnsmasq.vim - - share/nvim/runtime/syntax/docbk.vim - - share/nvim/runtime/syntax/docbksgml.vim - - share/nvim/runtime/syntax/docbkxml.vim - - share/nvim/runtime/syntax/dockerfile.vim - - share/nvim/runtime/syntax/dosbatch.vim - - share/nvim/runtime/syntax/dosini.vim - - share/nvim/runtime/syntax/dot.vim - - share/nvim/runtime/syntax/doxygen.vim - - share/nvim/runtime/syntax/dracula.vim - - share/nvim/runtime/syntax/dsl.vim - - share/nvim/runtime/syntax/dtd.vim - - share/nvim/runtime/syntax/dtml.vim - - share/nvim/runtime/syntax/dtrace.vim - - share/nvim/runtime/syntax/dts.vim - - share/nvim/runtime/syntax/dune.vim - - share/nvim/runtime/syntax/dylan.vim - - share/nvim/runtime/syntax/dylanintr.vim - - share/nvim/runtime/syntax/dylanlid.vim - - share/nvim/runtime/syntax/ecd.vim - - share/nvim/runtime/syntax/edif.vim - - share/nvim/runtime/syntax/editorconfig.vim - - share/nvim/runtime/syntax/eiffel.vim - - share/nvim/runtime/syntax/elf.vim - - share/nvim/runtime/syntax/elinks.vim - - share/nvim/runtime/syntax/elm.vim - - share/nvim/runtime/syntax/elmfilt.vim - - share/nvim/runtime/syntax/erlang.vim - - share/nvim/runtime/syntax/eruby.vim - - share/nvim/runtime/syntax/esmtprc.vim - - share/nvim/runtime/syntax/esqlc.vim - - share/nvim/runtime/syntax/esterel.vim - - share/nvim/runtime/syntax/eterm.vim - - share/nvim/runtime/syntax/euphoria3.vim - - share/nvim/runtime/syntax/euphoria4.vim - - share/nvim/runtime/syntax/eviews.vim - - share/nvim/runtime/syntax/exim.vim - - share/nvim/runtime/syntax/expect.vim - - share/nvim/runtime/syntax/exports.vim - - share/nvim/runtime/syntax/falcon.vim - - share/nvim/runtime/syntax/fan.vim - - share/nvim/runtime/syntax/fasm.vim - - share/nvim/runtime/syntax/fdcc.vim - - share/nvim/runtime/syntax/fetchmail.vim - - share/nvim/runtime/syntax/fgl.vim - - share/nvim/runtime/syntax/fish.vim - - share/nvim/runtime/syntax/flexwiki.vim - - share/nvim/runtime/syntax/focexec.vim - - share/nvim/runtime/syntax/form.vim - - share/nvim/runtime/syntax/forth.vim - - share/nvim/runtime/syntax/fortran.vim - - share/nvim/runtime/syntax/foxpro.vim - - share/nvim/runtime/syntax/fpcmake.vim - - share/nvim/runtime/syntax/framescript.vim - - share/nvim/runtime/syntax/freebasic.vim - - share/nvim/runtime/syntax/fstab.vim - - share/nvim/runtime/syntax/fvwm.vim - - share/nvim/runtime/syntax/fvwm2m4.vim - - share/nvim/runtime/syntax/gdb.vim - - share/nvim/runtime/syntax/gdmo.vim - - share/nvim/runtime/syntax/gdresource.vim - - share/nvim/runtime/syntax/gdscript.vim - - share/nvim/runtime/syntax/gdshader.vim - - share/nvim/runtime/syntax/gedcom.vim - - share/nvim/runtime/syntax/gel.vim - - share/nvim/runtime/syntax/gemtext.vim - - share/nvim/runtime/syntax/gift.vim - - share/nvim/runtime/syntax/git.vim - - share/nvim/runtime/syntax/gitattributes.vim - - share/nvim/runtime/syntax/gitcommit.vim - - share/nvim/runtime/syntax/gitconfig.vim - - share/nvim/runtime/syntax/gitignore.vim - - share/nvim/runtime/syntax/gitolite.vim - - share/nvim/runtime/syntax/gitrebase.vim - - share/nvim/runtime/syntax/gitsendemail.vim - - share/nvim/runtime/syntax/gkrellmrc.vim - - share/nvim/runtime/syntax/glsl.vim - - share/nvim/runtime/syntax/gnash.vim - - share/nvim/runtime/syntax/gnuplot.vim - - share/nvim/runtime/syntax/go.vim - - share/nvim/runtime/syntax/goaccess.vim - - share/nvim/runtime/syntax/godoc.vim - - share/nvim/runtime/syntax/gp.vim - - share/nvim/runtime/syntax/gpg.vim - - share/nvim/runtime/syntax/gprof.vim - - share/nvim/runtime/syntax/grads.vim - - share/nvim/runtime/syntax/graphql.vim - - share/nvim/runtime/syntax/gretl.vim - - share/nvim/runtime/syntax/groff.vim - - share/nvim/runtime/syntax/groovy.vim - - share/nvim/runtime/syntax/group.vim - - share/nvim/runtime/syntax/grub.vim - - share/nvim/runtime/syntax/gsp.vim - - share/nvim/runtime/syntax/gtkrc.vim - - share/nvim/runtime/syntax/gvpr.vim - - share/nvim/runtime/syntax/gyp.vim - - share/nvim/runtime/syntax/haml.vim - - share/nvim/runtime/syntax/hamster.vim - - share/nvim/runtime/syntax/hare.vim - - share/nvim/runtime/syntax/haredoc.vim - - share/nvim/runtime/syntax/haskell.vim - - share/nvim/runtime/syntax/haste.vim - - share/nvim/runtime/syntax/hastepreproc.vim - - share/nvim/runtime/syntax/hb.vim - - share/nvim/runtime/syntax/hcl.vim - - share/nvim/runtime/syntax/help.vim - - share/nvim/runtime/syntax/help_it.vim - - share/nvim/runtime/syntax/help_ru.vim - - share/nvim/runtime/syntax/hercules.vim - - share/nvim/runtime/syntax/hex.vim - - share/nvim/runtime/syntax/hgcommit.vim - - share/nvim/runtime/syntax/hitest.vim - - share/nvim/runtime/syntax/hlsplaylist.vim - - share/nvim/runtime/syntax/hog.vim - - share/nvim/runtime/syntax/hollywood.vim - - share/nvim/runtime/syntax/hostconf.vim - - share/nvim/runtime/syntax/hostsaccess.vim - - share/nvim/runtime/syntax/html.vim - - share/nvim/runtime/syntax/htmlangular.vim - - share/nvim/runtime/syntax/htmlcheetah.vim - - share/nvim/runtime/syntax/htmldjango.vim - - share/nvim/runtime/syntax/htmlm4.vim - - share/nvim/runtime/syntax/htmlos.vim - - share/nvim/runtime/syntax/hyprlang.vim - - share/nvim/runtime/syntax/i3config.vim - - share/nvim/runtime/syntax/ia64.vim - - share/nvim/runtime/syntax/ibasic.vim - - share/nvim/runtime/syntax/icemenu.vim - - share/nvim/runtime/syntax/icon.vim - - share/nvim/runtime/syntax/idl.vim - - share/nvim/runtime/syntax/idlang.vim - - share/nvim/runtime/syntax/idris2.vim - - share/nvim/runtime/syntax/indent.vim - - share/nvim/runtime/syntax/inform.vim - - share/nvim/runtime/syntax/initex.vim - - share/nvim/runtime/syntax/initng.vim - - share/nvim/runtime/syntax/inittab.vim - - share/nvim/runtime/syntax/ipfilter.vim - - share/nvim/runtime/syntax/ipkg.vim - - share/nvim/runtime/syntax/ishd.vim - - share/nvim/runtime/syntax/iss.vim - - share/nvim/runtime/syntax/ist.vim - - share/nvim/runtime/syntax/j.vim - - share/nvim/runtime/syntax/jal.vim - - share/nvim/runtime/syntax/jam.vim - - share/nvim/runtime/syntax/jargon.vim - - share/nvim/runtime/syntax/java.vim - - share/nvim/runtime/syntax/javacc.vim - - share/nvim/runtime/syntax/javascript.vim - - share/nvim/runtime/syntax/javascriptreact.vim - - share/nvim/runtime/syntax/jess.vim - - share/nvim/runtime/syntax/jgraph.vim - - share/nvim/runtime/syntax/jinja.vim - - share/nvim/runtime/syntax/jjdescription.vim - - share/nvim/runtime/syntax/jovial.vim - - share/nvim/runtime/syntax/jproperties.vim - - share/nvim/runtime/syntax/jq.vim - - share/nvim/runtime/syntax/json.vim - - share/nvim/runtime/syntax/json5.vim - - share/nvim/runtime/syntax/jsonc.vim - - share/nvim/runtime/syntax/jsp.vim - - share/nvim/runtime/syntax/julia.vim - - share/nvim/runtime/syntax/just.vim - - share/nvim/runtime/syntax/karel.vim - - share/nvim/runtime/syntax/kconfig.vim - - share/nvim/runtime/syntax/kdl.vim - - share/nvim/runtime/syntax/kivy.vim - - share/nvim/runtime/syntax/kix.vim - - share/nvim/runtime/syntax/kotlin.vim - - share/nvim/runtime/syntax/krl.vim - - share/nvim/runtime/syntax/kscript.vim - - share/nvim/runtime/syntax/kwt.vim - - share/nvim/runtime/syntax/lace.vim - - share/nvim/runtime/syntax/latte.vim - - share/nvim/runtime/syntax/lc.vim - - share/nvim/runtime/syntax/ld.vim - - share/nvim/runtime/syntax/ldapconf.vim - - share/nvim/runtime/syntax/ldif.vim - - share/nvim/runtime/syntax/less.vim - - share/nvim/runtime/syntax/lex.vim - - share/nvim/runtime/syntax/lf.vim - - share/nvim/runtime/syntax/lftp.vim - - share/nvim/runtime/syntax/lhaskell.vim - - share/nvim/runtime/syntax/libao.vim - - share/nvim/runtime/syntax/lidris2.vim - - share/nvim/runtime/syntax/lifelines.vim - - share/nvim/runtime/syntax/lilo.vim - - share/nvim/runtime/syntax/limits.vim - - share/nvim/runtime/syntax/liquid.vim - - share/nvim/runtime/syntax/lisp.vim - - share/nvim/runtime/syntax/lite.vim - - share/nvim/runtime/syntax/litestep.vim - - share/nvim/runtime/syntax/livebook.vim - - share/nvim/runtime/syntax/lnk.vim - - share/nvim/runtime/syntax/lnkmap.vim - - share/nvim/runtime/syntax/loginaccess.vim - - share/nvim/runtime/syntax/logindefs.vim - - share/nvim/runtime/syntax/logtalk.vim - - share/nvim/runtime/syntax/lotos.vim - - share/nvim/runtime/syntax/lout.vim - - share/nvim/runtime/syntax/lpc.vim - - share/nvim/runtime/syntax/lprolog.vim - - share/nvim/runtime/syntax/lscript.vim - - share/nvim/runtime/syntax/lsl.vim - - share/nvim/runtime/syntax/lsp_markdown.vim - - share/nvim/runtime/syntax/lss.vim - - share/nvim/runtime/syntax/lua.vim - - share/nvim/runtime/syntax/luau.vim - - share/nvim/runtime/syntax/lynx.vim - - share/nvim/runtime/syntax/lyrics.vim - - share/nvim/runtime/syntax/m17ndb.vim - - share/nvim/runtime/syntax/m3build.vim - - share/nvim/runtime/syntax/m3quake.vim - - share/nvim/runtime/syntax/m4.vim - - share/nvim/runtime/syntax/mail.vim - - share/nvim/runtime/syntax/mailaliases.vim - - share/nvim/runtime/syntax/mailcap.vim - - share/nvim/runtime/syntax/make.vim - - share/nvim/runtime/syntax/mallard.vim - - share/nvim/runtime/syntax/man.vim - - share/nvim/runtime/syntax/manconf.vim - - share/nvim/runtime/syntax/manual.vim - - share/nvim/runtime/syntax/maple.vim - - share/nvim/runtime/syntax/markdown.vim - - share/nvim/runtime/syntax/masm.vim - - share/nvim/runtime/syntax/mason.vim - - share/nvim/runtime/syntax/master.vim - - share/nvim/runtime/syntax/matlab.vim - - share/nvim/runtime/syntax/maxima.vim - - share/nvim/runtime/syntax/mediawiki.vim - - share/nvim/runtime/syntax/mel.vim - - share/nvim/runtime/syntax/mermaid.vim - - share/nvim/runtime/syntax/meson.vim - - share/nvim/runtime/syntax/messages.vim - - share/nvim/runtime/syntax/mf.vim - - share/nvim/runtime/syntax/mgl.vim - - share/nvim/runtime/syntax/mgp.vim - - share/nvim/runtime/syntax/mib.vim - - share/nvim/runtime/syntax/mix.vim - - share/nvim/runtime/syntax/mma.vim - - share/nvim/runtime/syntax/mmix.vim - - share/nvim/runtime/syntax/mmp.vim - - share/nvim/runtime/syntax/modconf.vim - - share/nvim/runtime/syntax/model.vim - - share/nvim/runtime/syntax/modsim3.vim - - share/nvim/runtime/syntax/modula2.vim - - share/nvim/runtime/syntax/modula2 - - share/nvim/runtime/syntax/modula2/opt - - share/nvim/runtime/syntax/modula2/opt/iso.vim - - share/nvim/runtime/syntax/modula2/opt/pim.vim - - share/nvim/runtime/syntax/modula2/opt/r10.vim - - share/nvim/runtime/syntax/modula3.vim - - share/nvim/runtime/syntax/mojo.vim - - share/nvim/runtime/syntax/monk.vim - - share/nvim/runtime/syntax/moo.vim - - share/nvim/runtime/syntax/mp.vim - - share/nvim/runtime/syntax/mplayerconf.vim - - share/nvim/runtime/syntax/mrxvtrc.vim - - share/nvim/runtime/syntax/msidl.vim - - share/nvim/runtime/syntax/msmessages.vim - - share/nvim/runtime/syntax/msql.vim - - share/nvim/runtime/syntax/mss.vim - - share/nvim/runtime/syntax/mupad.vim - - share/nvim/runtime/syntax/murphi.vim - - share/nvim/runtime/syntax/mush.vim - - share/nvim/runtime/syntax/muttrc.vim - - share/nvim/runtime/syntax/mysql.vim - - share/nvim/runtime/syntax/n1ql.vim - - share/nvim/runtime/syntax/named.vim - - share/nvim/runtime/syntax/nanorc.vim - - share/nvim/runtime/syntax/nasm.vim - - share/nvim/runtime/syntax/nastran.vim - - share/nvim/runtime/syntax/natural.vim - - share/nvim/runtime/syntax/ncf.vim - - share/nvim/runtime/syntax/neomuttlog.vim - - share/nvim/runtime/syntax/neomuttrc.vim - - share/nvim/runtime/syntax/netrc.vim - - share/nvim/runtime/syntax/nginx.vim - - share/nvim/runtime/syntax/ninja.vim - - share/nvim/runtime/syntax/nix.vim - - share/nvim/runtime/syntax/nosyntax.vim - - share/nvim/runtime/syntax/nqc.vim - - share/nvim/runtime/syntax/nroff.vim - - share/nvim/runtime/syntax/nsis.vim - - share/nvim/runtime/syntax/obj.vim - - share/nvim/runtime/syntax/objc.vim - - share/nvim/runtime/syntax/objcpp.vim - - share/nvim/runtime/syntax/obse.vim - - share/nvim/runtime/syntax/ocaml.vim - - share/nvim/runtime/syntax/occam.vim - - share/nvim/runtime/syntax/odin.vim - - share/nvim/runtime/syntax/omnimark.vim - - share/nvim/runtime/syntax/ondir.vim - - share/nvim/runtime/syntax/opam.vim - - share/nvim/runtime/syntax/opencl.vim - - share/nvim/runtime/syntax/openroad.vim - - share/nvim/runtime/syntax/openscad.vim - - share/nvim/runtime/syntax/openvpn.vim - - share/nvim/runtime/syntax/opl.vim - - share/nvim/runtime/syntax/ora.vim - - share/nvim/runtime/syntax/org.vim - - share/nvim/runtime/syntax/pacmanlog.vim - - share/nvim/runtime/syntax/pamconf.vim - - share/nvim/runtime/syntax/pamenv.vim - - share/nvim/runtime/syntax/pandoc.vim - - share/nvim/runtime/syntax/papp.vim - - share/nvim/runtime/syntax/pascal.vim - - share/nvim/runtime/syntax/passwd.vim - - share/nvim/runtime/syntax/pbtxt.vim - - share/nvim/runtime/syntax/pcap.vim - - share/nvim/runtime/syntax/pccts.vim - - share/nvim/runtime/syntax/pdf.vim - - share/nvim/runtime/syntax/perl.vim - - share/nvim/runtime/syntax/pf.vim - - share/nvim/runtime/syntax/pfmain.vim - - share/nvim/runtime/syntax/php.vim - - share/nvim/runtime/syntax/phtml.vim - - share/nvim/runtime/syntax/pic.vim - - share/nvim/runtime/syntax/pike.vim - - share/nvim/runtime/syntax/pilrc.vim - - share/nvim/runtime/syntax/pine.vim - - share/nvim/runtime/syntax/pinfo.vim - - share/nvim/runtime/syntax/plaintex.vim - - share/nvim/runtime/syntax/pli.vim - - share/nvim/runtime/syntax/plm.vim - - share/nvim/runtime/syntax/plp.vim - - share/nvim/runtime/syntax/plsql.vim - - share/nvim/runtime/syntax/po.vim - - share/nvim/runtime/syntax/pod.vim - - share/nvim/runtime/syntax/poefilter.vim - - share/nvim/runtime/syntax/poke.vim - - share/nvim/runtime/syntax/postscr.vim - - share/nvim/runtime/syntax/pov.vim - - share/nvim/runtime/syntax/povini.vim - - share/nvim/runtime/syntax/ppd.vim - - share/nvim/runtime/syntax/ppwiz.vim - - share/nvim/runtime/syntax/prescribe.vim - - share/nvim/runtime/syntax/privoxy.vim - - share/nvim/runtime/syntax/procmail.vim - - share/nvim/runtime/syntax/progress.vim - - share/nvim/runtime/syntax/prolog.vim - - share/nvim/runtime/syntax/promela.vim - - share/nvim/runtime/syntax/proto.vim - - share/nvim/runtime/syntax/protocols.vim - - share/nvim/runtime/syntax/prql.vim - - share/nvim/runtime/syntax/ps1.vim - - share/nvim/runtime/syntax/ps1xml.vim - - share/nvim/runtime/syntax/psf.vim - - share/nvim/runtime/syntax/psl.vim - - share/nvim/runtime/syntax/ptcap.vim - - share/nvim/runtime/syntax/ptx.vim - - share/nvim/runtime/syntax/purifylog.vim - - share/nvim/runtime/syntax/pymanifest.vim - - share/nvim/runtime/syntax/pyrex.vim - - share/nvim/runtime/syntax/python.vim - - share/nvim/runtime/syntax/python2.vim - - share/nvim/runtime/syntax/qb64.vim - - share/nvim/runtime/syntax/qf.vim - - share/nvim/runtime/syntax/qml.vim - - share/nvim/runtime/syntax/quake.vim - - share/nvim/runtime/syntax/quarto.vim - - share/nvim/runtime/syntax/query.lua - - share/nvim/runtime/syntax/r.vim - - share/nvim/runtime/syntax/racc.vim - - share/nvim/runtime/syntax/racket.vim - - share/nvim/runtime/syntax/radiance.vim - - share/nvim/runtime/syntax/raku.vim - - share/nvim/runtime/syntax/raml.vim - - share/nvim/runtime/syntax/rapid.vim - - share/nvim/runtime/syntax/rasi.vim - - share/nvim/runtime/syntax/ratpoison.vim - - share/nvim/runtime/syntax/rc.vim - - share/nvim/runtime/syntax/rcs.vim - - share/nvim/runtime/syntax/rcslog.vim - - share/nvim/runtime/syntax/readline.vim - - share/nvim/runtime/syntax/rebol.vim - - share/nvim/runtime/syntax/redif.vim - - share/nvim/runtime/syntax/registry.vim - - share/nvim/runtime/syntax/rego.vim - - share/nvim/runtime/syntax/remind.vim - - share/nvim/runtime/syntax/requirements.vim - - share/nvim/runtime/syntax/resolv.vim - - share/nvim/runtime/syntax/reva.vim - - share/nvim/runtime/syntax/rexx.vim - - share/nvim/runtime/syntax/rhelp.vim - - share/nvim/runtime/syntax/rib.vim - - share/nvim/runtime/syntax/rmd.vim - - share/nvim/runtime/syntax/rnc.vim - - share/nvim/runtime/syntax/rng.vim - - share/nvim/runtime/syntax/rnoweb.vim - - share/nvim/runtime/syntax/robots.vim - - share/nvim/runtime/syntax/routeros.vim - - share/nvim/runtime/syntax/rpcgen.vim - - share/nvim/runtime/syntax/rpl.vim - - share/nvim/runtime/syntax/rrst.vim - - share/nvim/runtime/syntax/rst.vim - - share/nvim/runtime/syntax/rtf.vim - - share/nvim/runtime/syntax/ruby.vim - - share/nvim/runtime/syntax/rust.vim - - share/nvim/runtime/syntax/salt.vim - - share/nvim/runtime/syntax/samba.vim - - share/nvim/runtime/syntax/sas.vim - - share/nvim/runtime/syntax/sass.vim - - share/nvim/runtime/syntax/sather.vim - - share/nvim/runtime/syntax/sbt.vim - - share/nvim/runtime/syntax/scala.vim - - share/nvim/runtime/syntax/scdoc.vim - - share/nvim/runtime/syntax/scheme.vim - - share/nvim/runtime/syntax/scilab.vim - - share/nvim/runtime/syntax/screen.vim - - share/nvim/runtime/syntax/scss.vim - - share/nvim/runtime/syntax/sd.vim - - share/nvim/runtime/syntax/sdc.vim - - share/nvim/runtime/syntax/sdl.vim - - share/nvim/runtime/syntax/sed.vim - - share/nvim/runtime/syntax/sendpr.vim - - share/nvim/runtime/syntax/sensors.vim - - share/nvim/runtime/syntax/services.vim - - share/nvim/runtime/syntax/setserial.vim - - share/nvim/runtime/syntax/sexplib.vim - - share/nvim/runtime/syntax/sgml.vim - - share/nvim/runtime/syntax/sgmldecl.vim - - share/nvim/runtime/syntax/sgmllnx.vim - - share/nvim/runtime/syntax/sh.vim - - share/nvim/runtime/syntax/shada.vim - - share/nvim/runtime/syntax/shaderslang.vim - - share/nvim/runtime/syntax/shared - - share/nvim/runtime/syntax/shared/README.txt - - share/nvim/runtime/syntax/shared/debversions.vim - - share/nvim/runtime/syntax/shared/hgcommitDiff.vim - - share/nvim/runtime/syntax/shared/typescriptcommon.vim - - share/nvim/runtime/syntax/sicad.vim - - share/nvim/runtime/syntax/sieve.vim - - share/nvim/runtime/syntax/sil.vim - - share/nvim/runtime/syntax/simula.vim - - share/nvim/runtime/syntax/sinda.vim - - share/nvim/runtime/syntax/sindacmp.vim - - share/nvim/runtime/syntax/sindaout.vim - - share/nvim/runtime/syntax/sisu.vim - - share/nvim/runtime/syntax/skill.vim - - share/nvim/runtime/syntax/sl.vim - - share/nvim/runtime/syntax/slang.vim - - share/nvim/runtime/syntax/slice.vim - - share/nvim/runtime/syntax/slpconf.vim - - share/nvim/runtime/syntax/slpreg.vim - - share/nvim/runtime/syntax/slpspi.vim - - share/nvim/runtime/syntax/slrnrc.vim - - share/nvim/runtime/syntax/slrnsc.vim - - share/nvim/runtime/syntax/sm.vim - - share/nvim/runtime/syntax/smarty.vim - - share/nvim/runtime/syntax/smcl.vim - - share/nvim/runtime/syntax/smil.vim - - share/nvim/runtime/syntax/smith.vim - - share/nvim/runtime/syntax/sml.vim - - share/nvim/runtime/syntax/snnsnet.vim - - share/nvim/runtime/syntax/snnspat.vim - - share/nvim/runtime/syntax/snnsres.vim - - share/nvim/runtime/syntax/snobol4.vim - - share/nvim/runtime/syntax/solidity.vim - - share/nvim/runtime/syntax/spec.vim - - share/nvim/runtime/syntax/specman.vim - - share/nvim/runtime/syntax/spice.vim - - share/nvim/runtime/syntax/splint.vim - - share/nvim/runtime/syntax/spup.vim - - share/nvim/runtime/syntax/spyce.vim - - share/nvim/runtime/syntax/sql.vim - - share/nvim/runtime/syntax/sqlanywhere.vim - - share/nvim/runtime/syntax/sqlforms.vim - - share/nvim/runtime/syntax/sqlhana.vim - - share/nvim/runtime/syntax/sqlinformix.vim - - share/nvim/runtime/syntax/sqlj.vim - - share/nvim/runtime/syntax/sqloracle.vim - - share/nvim/runtime/syntax/sqr.vim - - share/nvim/runtime/syntax/squid.vim - - share/nvim/runtime/syntax/squirrel.vim - - share/nvim/runtime/syntax/srec.vim - - share/nvim/runtime/syntax/srt.vim - - share/nvim/runtime/syntax/ssa.vim - - share/nvim/runtime/syntax/sshconfig.vim - - share/nvim/runtime/syntax/sshdconfig.vim - - share/nvim/runtime/syntax/st.vim - - share/nvim/runtime/syntax/stata.vim - - share/nvim/runtime/syntax/stp.vim - - share/nvim/runtime/syntax/strace.vim - - share/nvim/runtime/syntax/structurizr.vim - - share/nvim/runtime/syntax/stylus.vim - - share/nvim/runtime/syntax/sudoers.vim - - share/nvim/runtime/syntax/svg.vim - - share/nvim/runtime/syntax/svn.vim - - share/nvim/runtime/syntax/swayconfig.vim - - share/nvim/runtime/syntax/swift.vim - - share/nvim/runtime/syntax/swiftgyb.vim - - share/nvim/runtime/syntax/swig.vim - - share/nvim/runtime/syntax/synload.vim - - share/nvim/runtime/syntax/syntax.vim - - share/nvim/runtime/syntax/sysctl.vim - - share/nvim/runtime/syntax/systemd.vim - - share/nvim/runtime/syntax/systemverilog.vim - - share/nvim/runtime/syntax/tads.vim - - share/nvim/runtime/syntax/tags.vim - - share/nvim/runtime/syntax/tak.vim - - share/nvim/runtime/syntax/takcmp.vim - - share/nvim/runtime/syntax/takout.vim - - share/nvim/runtime/syntax/tap.vim - - share/nvim/runtime/syntax/tar.vim - - share/nvim/runtime/syntax/taskdata.vim - - share/nvim/runtime/syntax/taskedit.vim - - share/nvim/runtime/syntax/tasm.vim - - share/nvim/runtime/syntax/tcl.vim - - share/nvim/runtime/syntax/tcsh.vim - - share/nvim/runtime/syntax/template.vim - - share/nvim/runtime/syntax/tera.vim - - share/nvim/runtime/syntax/teraterm.vim - - share/nvim/runtime/syntax/terminfo.vim - - share/nvim/runtime/syntax/terraform.vim - - share/nvim/runtime/syntax/tex.vim - - share/nvim/runtime/syntax/texinfo.vim - - share/nvim/runtime/syntax/texmf.vim - - share/nvim/runtime/syntax/tf.vim - - share/nvim/runtime/syntax/thrift.vim - - share/nvim/runtime/syntax/tiasm.vim - - share/nvim/runtime/syntax/tidy.vim - - share/nvim/runtime/syntax/tilde.vim - - share/nvim/runtime/syntax/tli.vim - - share/nvim/runtime/syntax/tmux.vim - - share/nvim/runtime/syntax/toml.vim - - share/nvim/runtime/syntax/tpp.vim - - share/nvim/runtime/syntax/trasys.vim - - share/nvim/runtime/syntax/treetop.vim - - share/nvim/runtime/syntax/trustees.vim - - share/nvim/runtime/syntax/tsalt.vim - - share/nvim/runtime/syntax/tsscl.vim - - share/nvim/runtime/syntax/tssgm.vim - - share/nvim/runtime/syntax/tssop.vim - - share/nvim/runtime/syntax/tsv.vim - - share/nvim/runtime/syntax/tt2.vim - - share/nvim/runtime/syntax/tt2html.vim - - share/nvim/runtime/syntax/tt2js.vim - - share/nvim/runtime/syntax/tutor.vim - - share/nvim/runtime/syntax/typescript.vim - - share/nvim/runtime/syntax/typescriptreact.vim - - share/nvim/runtime/syntax/typst.vim - - share/nvim/runtime/syntax/uc.vim - - share/nvim/runtime/syntax/uci.vim - - share/nvim/runtime/syntax/udevconf.vim - - share/nvim/runtime/syntax/udevperm.vim - - share/nvim/runtime/syntax/udevrules.vim - - share/nvim/runtime/syntax/uil.vim - - share/nvim/runtime/syntax/unison.vim - - share/nvim/runtime/syntax/updatedb.vim - - share/nvim/runtime/syntax/upstart.vim - - share/nvim/runtime/syntax/upstreamdat.vim - - share/nvim/runtime/syntax/upstreaminstalllog.vim - - share/nvim/runtime/syntax/upstreamlog.vim - - share/nvim/runtime/syntax/upstreamrpt.vim - - share/nvim/runtime/syntax/urlshortcut.vim - - share/nvim/runtime/syntax/usserverlog.vim - - share/nvim/runtime/syntax/usw2kagtlog.vim - - share/nvim/runtime/syntax/valgrind.vim - - share/nvim/runtime/syntax/vb.vim - - share/nvim/runtime/syntax/vdf.vim - - share/nvim/runtime/syntax/vera.vim - - share/nvim/runtime/syntax/verilog.vim - - share/nvim/runtime/syntax/verilogams.vim - - share/nvim/runtime/syntax/vgrindefs.vim - - share/nvim/runtime/syntax/vhdl.vim - - share/nvim/runtime/syntax/vim.vim - - share/nvim/runtime/syntax/viminfo.vim - - share/nvim/runtime/syntax/vimnormal.vim - - share/nvim/runtime/syntax/virata.vim - - share/nvim/runtime/syntax/vmasm.vim - - share/nvim/runtime/syntax/voscm.vim - - share/nvim/runtime/syntax/vrml.vim - - share/nvim/runtime/syntax/vroom.vim - - share/nvim/runtime/syntax/vsejcl.vim - - share/nvim/runtime/syntax/vue.vim - - share/nvim/runtime/syntax/wat.vim - - share/nvim/runtime/syntax/wdiff.vim - - share/nvim/runtime/syntax/wdl.vim - - share/nvim/runtime/syntax/web.vim - - share/nvim/runtime/syntax/webmacro.vim - - share/nvim/runtime/syntax/wget.vim - - share/nvim/runtime/syntax/wget2.vim - - share/nvim/runtime/syntax/whitespace.vim - - share/nvim/runtime/syntax/winbatch.vim - - share/nvim/runtime/syntax/wml.vim - - share/nvim/runtime/syntax/wsh.vim - - share/nvim/runtime/syntax/wsml.vim - - share/nvim/runtime/syntax/wvdial.vim - - share/nvim/runtime/syntax/xbl.vim - - share/nvim/runtime/syntax/xcompose.vim - - share/nvim/runtime/syntax/xdefaults.vim - - share/nvim/runtime/syntax/xf86conf.vim - - share/nvim/runtime/syntax/xhtml.vim - - share/nvim/runtime/syntax/xinetd.vim - - share/nvim/runtime/syntax/xkb.vim - - share/nvim/runtime/syntax/xmath.vim - - share/nvim/runtime/syntax/xml.vim - - share/nvim/runtime/syntax/xmodmap.vim - - share/nvim/runtime/syntax/xpm.vim - - share/nvim/runtime/syntax/xpm2.vim - - share/nvim/runtime/syntax/xquery.vim - - share/nvim/runtime/syntax/xs.vim - - share/nvim/runtime/syntax/xsd.vim - - share/nvim/runtime/syntax/xslt.vim - - share/nvim/runtime/syntax/xxd.vim - - share/nvim/runtime/syntax/yacc.vim - - share/nvim/runtime/syntax/yaml.vim - - share/nvim/runtime/syntax/z8a.vim - - share/nvim/runtime/syntax/zathurarc.vim - - share/nvim/runtime/syntax/zig.vim - - share/nvim/runtime/syntax/zimbu.vim - - share/nvim/runtime/syntax/zir.vim - - share/nvim/runtime/syntax/zserio.vim - - share/nvim/runtime/syntax/zsh.vim - - share/nvim/runtime/delmenu.vim - - share/nvim/runtime/filetype.lua - - share/nvim/runtime/ftoff.vim - - share/nvim/runtime/ftplugin.vim - - share/nvim/runtime/ftplugof.vim - - share/nvim/runtime/indent.vim - - share/nvim/runtime/indoff.vim - - share/nvim/runtime/makemenu.vim - - share/nvim/runtime/menu.vim - - share/nvim/runtime/neovim.ico - - share/nvim/runtime/optwin.vim - - share/nvim/runtime/synmenu.vim - - share/nvim/runtime/autoload - - share/nvim/runtime/autoload/README.txt - - share/nvim/runtime/autoload/RstFold.vim - - share/nvim/runtime/autoload/ada.vim - - share/nvim/runtime/autoload/adacomplete.vim - - share/nvim/runtime/autoload/bitbake.vim - - share/nvim/runtime/autoload/cargo.vim - - share/nvim/runtime/autoload/cargo - - share/nvim/runtime/autoload/cargo/quickfix.vim - - share/nvim/runtime/autoload/ccomplete.lua - - share/nvim/runtime/autoload/ccomplete.vim - - share/nvim/runtime/autoload/clojurecomplete.vim - - share/nvim/runtime/autoload/context.vim - - share/nvim/runtime/autoload/contextcomplete.vim - - share/nvim/runtime/autoload/csscomplete.vim - - share/nvim/runtime/autoload/decada.vim - - share/nvim/runtime/autoload/dist - - share/nvim/runtime/autoload/dist/vim.vim - - share/nvim/runtime/autoload/freebasic.vim - - share/nvim/runtime/autoload/gnat.vim - - share/nvim/runtime/autoload/gzip.vim - - share/nvim/runtime/autoload/hare.vim - - share/nvim/runtime/autoload/haskellcomplete.vim - - share/nvim/runtime/autoload/hcl.vim - - share/nvim/runtime/autoload/htmlcomplete.vim - - share/nvim/runtime/autoload/javaformat.vim - - share/nvim/runtime/autoload/javascriptcomplete.vim - - share/nvim/runtime/autoload/modula2.vim - - share/nvim/runtime/autoload/msgpack.vim - - share/nvim/runtime/autoload/paste.vim - - share/nvim/runtime/autoload/phpcomplete.vim - - share/nvim/runtime/autoload/provider.vim - - share/nvim/runtime/autoload/provider - - share/nvim/runtime/autoload/provider/clipboard.vim - - share/nvim/runtime/autoload/provider/node.vim - - share/nvim/runtime/autoload/provider/perl.vim - - share/nvim/runtime/autoload/provider/python3.vim - - share/nvim/runtime/autoload/provider/ruby.vim - - share/nvim/runtime/autoload/provider/script_host.rb - - share/nvim/runtime/autoload/python.vim - - share/nvim/runtime/autoload/python3complete.vim - - share/nvim/runtime/autoload/pythoncomplete.vim - - share/nvim/runtime/autoload/remote - - share/nvim/runtime/autoload/remote/define.vim - - share/nvim/runtime/autoload/remote/host.vim - - share/nvim/runtime/autoload/rubycomplete.vim - - share/nvim/runtime/autoload/rust.vim - - share/nvim/runtime/autoload/rust - - share/nvim/runtime/autoload/rust/debugging.vim - - share/nvim/runtime/autoload/rustfmt.vim - - share/nvim/runtime/autoload/shada.vim - - share/nvim/runtime/autoload/spellfile.vim - - share/nvim/runtime/autoload/spotbugs.vim - - share/nvim/runtime/autoload/sqlcomplete.vim - - share/nvim/runtime/autoload/syntaxcomplete.vim - - share/nvim/runtime/autoload/tar.vim - - share/nvim/runtime/autoload/tutor.vim - - share/nvim/runtime/autoload/typst.vim - - share/nvim/runtime/autoload/vimexpect.vim - - share/nvim/runtime/autoload/xml - - share/nvim/runtime/autoload/xml/html32.vim - - share/nvim/runtime/autoload/xml/html401f.vim - - share/nvim/runtime/autoload/xml/html401s.vim - - share/nvim/runtime/autoload/xml/html401t.vim - - share/nvim/runtime/autoload/xml/html40f.vim - - share/nvim/runtime/autoload/xml/html40s.vim - - share/nvim/runtime/autoload/xml/html40t.vim - - share/nvim/runtime/autoload/xml/xhtml10f.vim - - share/nvim/runtime/autoload/xml/xhtml10s.vim - - share/nvim/runtime/autoload/xml/xhtml10t.vim - - share/nvim/runtime/autoload/xml/xhtml11.vim - - share/nvim/runtime/autoload/xml/xsd.vim - - share/nvim/runtime/autoload/xml/xsl.vim - - share/nvim/runtime/autoload/xmlcomplete.vim - - share/nvim/runtime/autoload/xmlformat.vim - - share/nvim/runtime/autoload/zip.vim - - share/nvim/runtime/colors - - share/nvim/runtime/colors/README.txt - - share/nvim/runtime/colors/blue.vim - - share/nvim/runtime/colors/darkblue.vim - - share/nvim/runtime/colors/default.vim - - share/nvim/runtime/colors/delek.vim - - share/nvim/runtime/colors/desert.vim - - share/nvim/runtime/colors/elflord.vim - - share/nvim/runtime/colors/evening.vim - - share/nvim/runtime/colors/habamax.vim - - share/nvim/runtime/colors/industry.vim - - share/nvim/runtime/colors/koehler.vim - - share/nvim/runtime/colors/lunaperche.vim - - share/nvim/runtime/colors/morning.vim - - share/nvim/runtime/colors/murphy.vim - - share/nvim/runtime/colors/pablo.vim - - share/nvim/runtime/colors/peachpuff.vim - - share/nvim/runtime/colors/quiet.vim - - share/nvim/runtime/colors/retrobox.vim - - share/nvim/runtime/colors/ron.vim - - share/nvim/runtime/colors/shine.vim - - share/nvim/runtime/colors/slate.vim - - share/nvim/runtime/colors/sorbet.vim - - share/nvim/runtime/colors/torte.vim - - share/nvim/runtime/colors/unokai.vim - - share/nvim/runtime/colors/vim.lua - - share/nvim/runtime/colors/wildcharm.vim - - share/nvim/runtime/colors/zaibatsu.vim - - share/nvim/runtime/colors/zellner.vim - - share/nvim/runtime/compiler - - share/nvim/runtime/compiler/README.txt - - share/nvim/runtime/compiler/ant.vim - - share/nvim/runtime/compiler/bash.vim - - share/nvim/runtime/compiler/bcc.vim - - share/nvim/runtime/compiler/bdf.vim - - share/nvim/runtime/compiler/cargo.vim - - share/nvim/runtime/compiler/checkstyle.vim - - share/nvim/runtime/compiler/cm3.vim - - share/nvim/runtime/compiler/context.vim - - share/nvim/runtime/compiler/cppcheck.vim - - share/nvim/runtime/compiler/cs.vim - - share/nvim/runtime/compiler/csslint.vim - - share/nvim/runtime/compiler/cucumber.vim - - share/nvim/runtime/compiler/dart.vim - - share/nvim/runtime/compiler/dart2js.vim - - share/nvim/runtime/compiler/dart2native.vim - - share/nvim/runtime/compiler/dartanalyser.vim - - share/nvim/runtime/compiler/dartdevc.vim - - share/nvim/runtime/compiler/dartdoc.vim - - share/nvim/runtime/compiler/dartfmt.vim - - share/nvim/runtime/compiler/decada.vim - - share/nvim/runtime/compiler/dot.vim - - share/nvim/runtime/compiler/dotnet.vim - - share/nvim/runtime/compiler/erlang.vim - - share/nvim/runtime/compiler/eruby.vim - - share/nvim/runtime/compiler/eslint.vim - - share/nvim/runtime/compiler/fbc.vim - - share/nvim/runtime/compiler/fortran_F.vim - - share/nvim/runtime/compiler/fortran_cv.vim - - share/nvim/runtime/compiler/fortran_elf90.vim - - share/nvim/runtime/compiler/fortran_g77.vim - - share/nvim/runtime/compiler/fortran_lf95.vim - - share/nvim/runtime/compiler/fpc.vim - - share/nvim/runtime/compiler/g95.vim - - share/nvim/runtime/compiler/gawk.vim - - share/nvim/runtime/compiler/gcc.vim - - share/nvim/runtime/compiler/gfortran.vim - - share/nvim/runtime/compiler/ghc.vim - - share/nvim/runtime/compiler/gjs.vim - - share/nvim/runtime/compiler/gm2.vim - - share/nvim/runtime/compiler/gnat.vim - - share/nvim/runtime/compiler/go.vim - - share/nvim/runtime/compiler/groff.vim - - share/nvim/runtime/compiler/haml.vim - - share/nvim/runtime/compiler/hare.vim - - share/nvim/runtime/compiler/hp_acc.vim - - share/nvim/runtime/compiler/icc.vim - - share/nvim/runtime/compiler/icon.vim - - share/nvim/runtime/compiler/ifort.vim - - share/nvim/runtime/compiler/intel.vim - - share/nvim/runtime/compiler/irix5_c.vim - - share/nvim/runtime/compiler/irix5_cpp.vim - - share/nvim/runtime/compiler/javac.vim - - share/nvim/runtime/compiler/jest.vim - - share/nvim/runtime/compiler/jikes.vim - - share/nvim/runtime/compiler/jjs.vim - - share/nvim/runtime/compiler/jq.vim - - share/nvim/runtime/compiler/jshint.vim - - share/nvim/runtime/compiler/jsonlint.vim - - share/nvim/runtime/compiler/make.vim - - share/nvim/runtime/compiler/maven.vim - - share/nvim/runtime/compiler/mcs.vim - - share/nvim/runtime/compiler/mips_c.vim - - share/nvim/runtime/compiler/mipspro_c89.vim - - share/nvim/runtime/compiler/mipspro_cpp.vim - - share/nvim/runtime/compiler/modelsim_vcom.vim - - share/nvim/runtime/compiler/msbuild.vim - - share/nvim/runtime/compiler/msvc.vim - - share/nvim/runtime/compiler/mypy.vim - - share/nvim/runtime/compiler/neato.vim - - share/nvim/runtime/compiler/ocaml.vim - - share/nvim/runtime/compiler/onsgmls.vim - - share/nvim/runtime/compiler/pandoc.vim - - share/nvim/runtime/compiler/pbx.vim - - share/nvim/runtime/compiler/perl.vim - - share/nvim/runtime/compiler/perlcritic.vim - - share/nvim/runtime/compiler/php.vim - - share/nvim/runtime/compiler/pip_compile.vim - - share/nvim/runtime/compiler/podchecker.vim - - share/nvim/runtime/compiler/powershell.vim - - share/nvim/runtime/compiler/pylint.vim - - share/nvim/runtime/compiler/pytest.vim - - share/nvim/runtime/compiler/pyunit.vim - - share/nvim/runtime/compiler/raco.vim - - share/nvim/runtime/compiler/racomake.vim - - share/nvim/runtime/compiler/racosetup.vim - - share/nvim/runtime/compiler/racotest.vim - - share/nvim/runtime/compiler/rake.vim - - share/nvim/runtime/compiler/rhino.vim - - share/nvim/runtime/compiler/rime_deployer.vim - - share/nvim/runtime/compiler/rspec.vim - - share/nvim/runtime/compiler/rst.vim - - share/nvim/runtime/compiler/rubocop.vim - - share/nvim/runtime/compiler/ruby.vim - - share/nvim/runtime/compiler/rubyunit.vim - - share/nvim/runtime/compiler/ruff.vim - - share/nvim/runtime/compiler/rustc.vim - - share/nvim/runtime/compiler/sass.vim - - share/nvim/runtime/compiler/scdoc.vim - - share/nvim/runtime/compiler/se.vim - - share/nvim/runtime/compiler/shellcheck.vim - - share/nvim/runtime/compiler/sml.vim - - share/nvim/runtime/compiler/spectral.vim - - share/nvim/runtime/compiler/splint.vim - - share/nvim/runtime/compiler/spotbugs.vim - - share/nvim/runtime/compiler/stack.vim - - share/nvim/runtime/compiler/standard.vim - - share/nvim/runtime/compiler/stylelint.vim - - share/nvim/runtime/compiler/svelte-check.vim - - share/nvim/runtime/compiler/tcl.vim - - share/nvim/runtime/compiler/tex.vim - - share/nvim/runtime/compiler/tidy.vim - - share/nvim/runtime/compiler/ts-node.vim - - share/nvim/runtime/compiler/tsc.vim - - share/nvim/runtime/compiler/typedoc.vim - - share/nvim/runtime/compiler/typst.vim - - share/nvim/runtime/compiler/vimdoc.vim - - share/nvim/runtime/compiler/xbuild.vim - - share/nvim/runtime/compiler/xmllint.vim - - share/nvim/runtime/compiler/xmlwf.vim - - share/nvim/runtime/compiler/xo.vim - - share/nvim/runtime/compiler/yamllint.vim - - share/nvim/runtime/compiler/zig.vim - - share/nvim/runtime/compiler/zig_build.vim - - share/nvim/runtime/compiler/zig_build_exe.vim - - share/nvim/runtime/compiler/zig_test.vim - - share/nvim/runtime/compiler/zsh.vim - - share/nvim/runtime/ftplugin/8th.vim - - share/nvim/runtime/ftplugin/README.txt - - share/nvim/runtime/ftplugin/a2ps.vim - - share/nvim/runtime/ftplugin/aap.vim - - share/nvim/runtime/ftplugin/abap.vim - - share/nvim/runtime/ftplugin/abaqus.vim - - share/nvim/runtime/ftplugin/ada.vim - - share/nvim/runtime/ftplugin/alsaconf.vim - - share/nvim/runtime/ftplugin/ant.vim - - share/nvim/runtime/ftplugin/antlr4.vim - - share/nvim/runtime/ftplugin/apache.vim - - share/nvim/runtime/ftplugin/arch.vim - - share/nvim/runtime/ftplugin/arduino.lua - - share/nvim/runtime/ftplugin/arduino.vim - - share/nvim/runtime/ftplugin/art.vim - - share/nvim/runtime/ftplugin/asciidoc.vim - - share/nvim/runtime/ftplugin/asm.vim - - share/nvim/runtime/ftplugin/aspvbs.vim - - share/nvim/runtime/ftplugin/astro.vim - - share/nvim/runtime/ftplugin/asy.vim - - share/nvim/runtime/ftplugin/autohotkey.vim - - share/nvim/runtime/ftplugin/automake.vim - - share/nvim/runtime/ftplugin/awk.vim - - share/nvim/runtime/ftplugin/bash.vim - - share/nvim/runtime/ftplugin/basic.vim - - share/nvim/runtime/ftplugin/bdf.vim - - share/nvim/runtime/ftplugin/bindzone.vim - - share/nvim/runtime/ftplugin/bitbake.vim - - share/nvim/runtime/ftplugin/bp.vim - - share/nvim/runtime/ftplugin/bst.vim - - share/nvim/runtime/ftplugin/btm.vim - - share/nvim/runtime/ftplugin/bzl.vim - - share/nvim/runtime/ftplugin/c.lua - - share/nvim/runtime/ftplugin/c.vim - - share/nvim/runtime/ftplugin/c3.vim - - share/nvim/runtime/ftplugin/cabal.vim - - share/nvim/runtime/ftplugin/calendar.vim - - share/nvim/runtime/ftplugin/cdrdaoconf.vim - - share/nvim/runtime/ftplugin/cedar.vim - - share/nvim/runtime/ftplugin/cfg.vim - - share/nvim/runtime/ftplugin/cgdbrc.vim - - share/nvim/runtime/ftplugin/ch.lua - - share/nvim/runtime/ftplugin/ch.vim - - share/nvim/runtime/ftplugin/changelog.vim - - share/nvim/runtime/ftplugin/chatito.vim - - share/nvim/runtime/ftplugin/checkhealth.lua - - share/nvim/runtime/ftplugin/checkhealth.vim - - share/nvim/runtime/ftplugin/chicken.vim - - share/nvim/runtime/ftplugin/clojure.vim - - share/nvim/runtime/ftplugin/cmake.vim - - share/nvim/runtime/ftplugin/cmakecache.vim - - share/nvim/runtime/ftplugin/cobol.vim - - share/nvim/runtime/ftplugin/conf.vim - - share/nvim/runtime/ftplugin/config.vim - - share/nvim/runtime/ftplugin/confini.vim - - share/nvim/runtime/ftplugin/context.vim - - share/nvim/runtime/ftplugin/cook.vim - - share/nvim/runtime/ftplugin/corn.vim - - share/nvim/runtime/ftplugin/cpp.vim - - share/nvim/runtime/ftplugin/crm.vim - - share/nvim/runtime/ftplugin/crontab.vim - - share/nvim/runtime/ftplugin/cs.lua - - share/nvim/runtime/ftplugin/cs.vim - - share/nvim/runtime/ftplugin/csc.vim - - share/nvim/runtime/ftplugin/csh.vim - - share/nvim/runtime/ftplugin/css.vim - - share/nvim/runtime/ftplugin/csv.vim - - share/nvim/runtime/ftplugin/cucumber.vim - - share/nvim/runtime/ftplugin/cuda.vim - - share/nvim/runtime/ftplugin/cvsrc.vim - - share/nvim/runtime/ftplugin/d.lua - - share/nvim/runtime/ftplugin/dart.vim - - share/nvim/runtime/ftplugin/deb822sources.vim - - share/nvim/runtime/ftplugin/debchangelog.vim - - share/nvim/runtime/ftplugin/debcontrol.vim - - share/nvim/runtime/ftplugin/debsources.vim - - share/nvim/runtime/ftplugin/denyhosts.vim - - share/nvim/runtime/ftplugin/desktop.vim - - share/nvim/runtime/ftplugin/dictconf.vim - - share/nvim/runtime/ftplugin/dictdconf.vim - - share/nvim/runtime/ftplugin/diff.vim - - share/nvim/runtime/ftplugin/dircolors.vim - - share/nvim/runtime/ftplugin/dnsmasq.vim - - share/nvim/runtime/ftplugin/docbk.vim - - share/nvim/runtime/ftplugin/dockerfile.vim - - share/nvim/runtime/ftplugin/dosbatch.vim - - share/nvim/runtime/ftplugin/dosini.vim - - share/nvim/runtime/ftplugin/dot.lua - - share/nvim/runtime/ftplugin/dtd.vim - - share/nvim/runtime/ftplugin/dtrace.vim - - share/nvim/runtime/ftplugin/dts.vim - - share/nvim/runtime/ftplugin/dune.vim - - share/nvim/runtime/ftplugin/editorconfig.vim - - share/nvim/runtime/ftplugin/eiffel.vim - - share/nvim/runtime/ftplugin/elinks.vim - - share/nvim/runtime/ftplugin/elixir.vim - - share/nvim/runtime/ftplugin/elm.vim - - share/nvim/runtime/ftplugin/erlang.vim - - share/nvim/runtime/ftplugin/eruby.vim - - share/nvim/runtime/ftplugin/eterm.vim - - share/nvim/runtime/ftplugin/expect.vim - - share/nvim/runtime/ftplugin/exports.vim - - share/nvim/runtime/ftplugin/falcon.vim - - share/nvim/runtime/ftplugin/faust.lua - - share/nvim/runtime/ftplugin/fennel.vim - - share/nvim/runtime/ftplugin/fetchmail.vim - - share/nvim/runtime/ftplugin/fish.vim - - share/nvim/runtime/ftplugin/flexwiki.vim - - share/nvim/runtime/ftplugin/forth.vim - - share/nvim/runtime/ftplugin/fortran.vim - - share/nvim/runtime/ftplugin/fpcmake.vim - - share/nvim/runtime/ftplugin/framescript.vim - - share/nvim/runtime/ftplugin/freebasic.vim - - share/nvim/runtime/ftplugin/fstab.vim - - share/nvim/runtime/ftplugin/fvwm.vim - - share/nvim/runtime/ftplugin/gdb.vim - - share/nvim/runtime/ftplugin/gdscript.vim - - share/nvim/runtime/ftplugin/gdshader.vim - - share/nvim/runtime/ftplugin/gel.vim - - share/nvim/runtime/ftplugin/git.vim - - share/nvim/runtime/ftplugin/gitattributes.vim - - share/nvim/runtime/ftplugin/gitcommit.vim - - share/nvim/runtime/ftplugin/gitconfig.vim - - share/nvim/runtime/ftplugin/gitignore.vim - - share/nvim/runtime/ftplugin/gitrebase.vim - - share/nvim/runtime/ftplugin/gitsendemail.vim - - share/nvim/runtime/ftplugin/gleam.vim - - share/nvim/runtime/ftplugin/glsl.lua - - share/nvim/runtime/ftplugin/go.vim - - share/nvim/runtime/ftplugin/goaccess.vim - - share/nvim/runtime/ftplugin/gomod.vim - - share/nvim/runtime/ftplugin/gpg.vim - - share/nvim/runtime/ftplugin/gprof.vim - - share/nvim/runtime/ftplugin/graphql.vim - - share/nvim/runtime/ftplugin/groovy.vim - - share/nvim/runtime/ftplugin/group.vim - - share/nvim/runtime/ftplugin/grub.vim - - share/nvim/runtime/ftplugin/gyp.vim - - share/nvim/runtime/ftplugin/haml.vim - - share/nvim/runtime/ftplugin/hamster.vim - - share/nvim/runtime/ftplugin/hare.vim - - share/nvim/runtime/ftplugin/haredoc.vim - - share/nvim/runtime/ftplugin/haskell.vim - - share/nvim/runtime/ftplugin/hcl.vim - - share/nvim/runtime/ftplugin/heex.vim - - share/nvim/runtime/ftplugin/help.lua - - share/nvim/runtime/ftplugin/help.vim - - share/nvim/runtime/ftplugin/hgcommit.vim - - share/nvim/runtime/ftplugin/hlsplaylist.vim - - share/nvim/runtime/ftplugin/hog.vim - - share/nvim/runtime/ftplugin/hostconf.vim - - share/nvim/runtime/ftplugin/hostsaccess.vim - - share/nvim/runtime/ftplugin/html.vim - - share/nvim/runtime/ftplugin/htmlangular.vim - - share/nvim/runtime/ftplugin/htmldjango.vim - - share/nvim/runtime/ftplugin/http.vim - - share/nvim/runtime/ftplugin/hurl.vim - - share/nvim/runtime/ftplugin/hyprlang.vim - - share/nvim/runtime/ftplugin/i3config.vim - - share/nvim/runtime/ftplugin/icon.vim - - share/nvim/runtime/ftplugin/idris2.vim - - share/nvim/runtime/ftplugin/indent.lua - - share/nvim/runtime/ftplugin/indent.vim - - share/nvim/runtime/ftplugin/initex.vim - - share/nvim/runtime/ftplugin/ipkg.vim - - share/nvim/runtime/ftplugin/ishd.vim - - share/nvim/runtime/ftplugin/j.vim - - share/nvim/runtime/ftplugin/java.vim - - share/nvim/runtime/ftplugin/javacc.vim - - share/nvim/runtime/ftplugin/javascript.vim - - share/nvim/runtime/ftplugin/javascriptreact.vim - - share/nvim/runtime/ftplugin/jjdescription.vim - - share/nvim/runtime/ftplugin/jproperties.vim - - share/nvim/runtime/ftplugin/jq.vim - - share/nvim/runtime/ftplugin/json.vim - - share/nvim/runtime/ftplugin/json5.vim - - share/nvim/runtime/ftplugin/jsonc.vim - - share/nvim/runtime/ftplugin/jsonnet.vim - - share/nvim/runtime/ftplugin/jsp.vim - - share/nvim/runtime/ftplugin/julia.vim - - share/nvim/runtime/ftplugin/just.vim - - share/nvim/runtime/ftplugin/karel.vim - - share/nvim/runtime/ftplugin/kconfig.vim - - share/nvim/runtime/ftplugin/kdl.vim - - share/nvim/runtime/ftplugin/kivy.vim - - share/nvim/runtime/ftplugin/kotlin.vim - - share/nvim/runtime/ftplugin/kwt.vim - - share/nvim/runtime/ftplugin/lc.vim - - share/nvim/runtime/ftplugin/ld.vim - - share/nvim/runtime/ftplugin/ldapconf.vim - - share/nvim/runtime/ftplugin/leo.vim - - share/nvim/runtime/ftplugin/less.vim - - share/nvim/runtime/ftplugin/lex.vim - - share/nvim/runtime/ftplugin/lftp.vim - - share/nvim/runtime/ftplugin/libao.vim - - share/nvim/runtime/ftplugin/limits.vim - - share/nvim/runtime/ftplugin/liquid.vim - - share/nvim/runtime/ftplugin/lisp.vim - - share/nvim/runtime/ftplugin/livebook.vim - - share/nvim/runtime/ftplugin/llvm.vim - - share/nvim/runtime/ftplugin/lnk.vim - - share/nvim/runtime/ftplugin/lnkmap.vim - - share/nvim/runtime/ftplugin/logcheck.vim - - share/nvim/runtime/ftplugin/loginaccess.vim - - share/nvim/runtime/ftplugin/logindefs.vim - - share/nvim/runtime/ftplugin/logtalk.dict - - share/nvim/runtime/ftplugin/logtalk.vim - - share/nvim/runtime/ftplugin/lprolog.vim - - share/nvim/runtime/ftplugin/lua.lua - - share/nvim/runtime/ftplugin/lua.vim - - share/nvim/runtime/ftplugin/luau.vim - - share/nvim/runtime/ftplugin/lynx.vim - - share/nvim/runtime/ftplugin/m17ndb.vim - - share/nvim/runtime/ftplugin/m3build.vim - - share/nvim/runtime/ftplugin/m3quake.vim - - share/nvim/runtime/ftplugin/m4.vim - - share/nvim/runtime/ftplugin/mail.vim - - share/nvim/runtime/ftplugin/mailaliases.vim - - share/nvim/runtime/ftplugin/mailcap.vim - - share/nvim/runtime/ftplugin/make.vim - - share/nvim/runtime/ftplugin/man.vim - - share/nvim/runtime/ftplugin/manconf.vim - - share/nvim/runtime/ftplugin/markdown.lua - - share/nvim/runtime/ftplugin/markdown.vim - - share/nvim/runtime/ftplugin/masm.vim - - share/nvim/runtime/ftplugin/matlab.vim - - share/nvim/runtime/ftplugin/mediawiki.vim - - share/nvim/runtime/ftplugin/mermaid.vim - - share/nvim/runtime/ftplugin/meson.vim - - share/nvim/runtime/ftplugin/mf.vim - - share/nvim/runtime/ftplugin/mlir.vim - - share/nvim/runtime/ftplugin/mma.vim - - share/nvim/runtime/ftplugin/modconf.vim - - share/nvim/runtime/ftplugin/modula2.vim - - share/nvim/runtime/ftplugin/modula3.vim - - share/nvim/runtime/ftplugin/mojo.vim - - share/nvim/runtime/ftplugin/mp.vim - - share/nvim/runtime/ftplugin/mplayerconf.vim - - share/nvim/runtime/ftplugin/mrxvtrc.vim - - share/nvim/runtime/ftplugin/msmessages.vim - - share/nvim/runtime/ftplugin/mss.vim - - share/nvim/runtime/ftplugin/muttrc.vim - - share/nvim/runtime/ftplugin/mysql.vim - - share/nvim/runtime/ftplugin/nanorc.vim - - share/nvim/runtime/ftplugin/neomuttrc.vim - - share/nvim/runtime/ftplugin/netrc.vim - - share/nvim/runtime/ftplugin/nginx.vim - - share/nvim/runtime/ftplugin/nim.vim - - share/nvim/runtime/ftplugin/nix.vim - - share/nvim/runtime/ftplugin/nroff.vim - - share/nvim/runtime/ftplugin/nsis.vim - - share/nvim/runtime/ftplugin/nu.vim - - share/nvim/runtime/ftplugin/objc.lua - - share/nvim/runtime/ftplugin/objc.vim - - share/nvim/runtime/ftplugin/objcpp.vim - - share/nvim/runtime/ftplugin/objdump.vim - - share/nvim/runtime/ftplugin/obse.vim - - share/nvim/runtime/ftplugin/ocaml.vim - - share/nvim/runtime/ftplugin/occam.vim - - share/nvim/runtime/ftplugin/octave.vim - - share/nvim/runtime/ftplugin/odin.vim - - share/nvim/runtime/ftplugin/ondir.vim - - share/nvim/runtime/ftplugin/opencl.vim - - share/nvim/runtime/ftplugin/openvpn.vim - - share/nvim/runtime/ftplugin/org.vim - - share/nvim/runtime/ftplugin/pamconf.vim - - share/nvim/runtime/ftplugin/pascal.vim - - share/nvim/runtime/ftplugin/passwd.vim - - share/nvim/runtime/ftplugin/pbtxt.vim - - share/nvim/runtime/ftplugin/pdf.vim - - share/nvim/runtime/ftplugin/perl.vim - - share/nvim/runtime/ftplugin/php.vim - - share/nvim/runtime/ftplugin/pinfo.vim - - share/nvim/runtime/ftplugin/plaintex.vim - - share/nvim/runtime/ftplugin/plsql.vim - - share/nvim/runtime/ftplugin/pod.vim - - share/nvim/runtime/ftplugin/poefilter.vim - - share/nvim/runtime/ftplugin/poke.vim - - share/nvim/runtime/ftplugin/postscr.vim - - share/nvim/runtime/ftplugin/prisma.vim - - share/nvim/runtime/ftplugin/procmail.vim - - share/nvim/runtime/ftplugin/prolog.vim - - share/nvim/runtime/ftplugin/proto.vim - - share/nvim/runtime/ftplugin/protocols.vim - - share/nvim/runtime/ftplugin/ps1.vim - - share/nvim/runtime/ftplugin/ps1xml.vim - - share/nvim/runtime/ftplugin/ptx.vim - - share/nvim/runtime/ftplugin/purescript.vim - - share/nvim/runtime/ftplugin/pymanifest.vim - - share/nvim/runtime/ftplugin/pyrex.vim - - share/nvim/runtime/ftplugin/python.vim - - share/nvim/runtime/ftplugin/qb64.vim - - share/nvim/runtime/ftplugin/qf.vim - - share/nvim/runtime/ftplugin/qml.vim - - share/nvim/runtime/ftplugin/quake.vim - - share/nvim/runtime/ftplugin/quarto.vim - - share/nvim/runtime/ftplugin/query.lua - - share/nvim/runtime/ftplugin/r.vim - - share/nvim/runtime/ftplugin/racc.vim - - share/nvim/runtime/ftplugin/racket.vim - - share/nvim/runtime/ftplugin/raku.vim - - share/nvim/runtime/ftplugin/rasi.vim - - share/nvim/runtime/ftplugin/readline.vim - - share/nvim/runtime/ftplugin/registry.vim - - share/nvim/runtime/ftplugin/requirements.vim - - share/nvim/runtime/ftplugin/rescript.vim - - share/nvim/runtime/ftplugin/reva.vim - - share/nvim/runtime/ftplugin/rhelp.vim - - share/nvim/runtime/ftplugin/rmd.vim - - share/nvim/runtime/ftplugin/rnc.vim - - share/nvim/runtime/ftplugin/rnoweb.vim - - share/nvim/runtime/ftplugin/roc.vim - - share/nvim/runtime/ftplugin/routeros.vim - - share/nvim/runtime/ftplugin/rpl.vim - - share/nvim/runtime/ftplugin/rrst.vim - - share/nvim/runtime/ftplugin/rst.vim - - share/nvim/runtime/ftplugin/ruby.vim - - share/nvim/runtime/ftplugin/rust.vim - - share/nvim/runtime/ftplugin/samba.vim - - share/nvim/runtime/ftplugin/sass.vim - - share/nvim/runtime/ftplugin/sbt.vim - - share/nvim/runtime/ftplugin/scala.vim - - share/nvim/runtime/ftplugin/scdoc.vim - - share/nvim/runtime/ftplugin/scheme.vim - - share/nvim/runtime/ftplugin/screen.vim - - share/nvim/runtime/ftplugin/scss.vim - - share/nvim/runtime/ftplugin/sed.vim - - share/nvim/runtime/ftplugin/sensors.vim - - share/nvim/runtime/ftplugin/services.vim - - share/nvim/runtime/ftplugin/setserial.vim - - share/nvim/runtime/ftplugin/sexplib.vim - - share/nvim/runtime/ftplugin/sgml.vim - - share/nvim/runtime/ftplugin/sh.vim - - share/nvim/runtime/ftplugin/shada.vim - - share/nvim/runtime/ftplugin/shaderslang.vim - - share/nvim/runtime/ftplugin/sieve.vim - - share/nvim/runtime/ftplugin/slint.vim - - share/nvim/runtime/ftplugin/slpconf.vim - - share/nvim/runtime/ftplugin/slpreg.vim - - share/nvim/runtime/ftplugin/slpspi.vim - - share/nvim/runtime/ftplugin/snakemake.vim - - share/nvim/runtime/ftplugin/solidity.vim - - share/nvim/runtime/ftplugin/solution.vim - - share/nvim/runtime/ftplugin/spec.vim - - share/nvim/runtime/ftplugin/sql.vim - - share/nvim/runtime/ftplugin/squirrel.vim - - share/nvim/runtime/ftplugin/ssa.vim - - share/nvim/runtime/ftplugin/sshconfig.vim - - share/nvim/runtime/ftplugin/sshdconfig.vim - - share/nvim/runtime/ftplugin/stata.lua - - share/nvim/runtime/ftplugin/stylus.vim - - share/nvim/runtime/ftplugin/sudoers.vim - - share/nvim/runtime/ftplugin/supercollider.lua - - share/nvim/runtime/ftplugin/svelte.vim - - share/nvim/runtime/ftplugin/svg.vim - - share/nvim/runtime/ftplugin/sway.vim - - share/nvim/runtime/ftplugin/swayconfig.vim - - share/nvim/runtime/ftplugin/swift.lua - - share/nvim/runtime/ftplugin/swift.vim - - share/nvim/runtime/ftplugin/swiftgyb.vim - - share/nvim/runtime/ftplugin/swig.vim - - share/nvim/runtime/ftplugin/sysctl.vim - - share/nvim/runtime/ftplugin/systemd.vim - - share/nvim/runtime/ftplugin/systemverilog.vim - - share/nvim/runtime/ftplugin/tap.vim - - share/nvim/runtime/ftplugin/tcl.vim - - share/nvim/runtime/ftplugin/tcsh.vim - - share/nvim/runtime/ftplugin/tera.vim - - share/nvim/runtime/ftplugin/terminfo.vim - - share/nvim/runtime/ftplugin/terraform.vim - - share/nvim/runtime/ftplugin/tex.vim - - share/nvim/runtime/ftplugin/text.vim - - share/nvim/runtime/ftplugin/tf.vim - - share/nvim/runtime/ftplugin/thrift.vim - - share/nvim/runtime/ftplugin/tiasm.vim - - share/nvim/runtime/ftplugin/tidy.vim - - share/nvim/runtime/ftplugin/tmux.vim - - share/nvim/runtime/ftplugin/toml.vim - - share/nvim/runtime/ftplugin/treetop.vim - - share/nvim/runtime/ftplugin/tt2html.vim - - share/nvim/runtime/ftplugin/tutor.vim - - share/nvim/runtime/ftplugin/typescript.vim - - share/nvim/runtime/ftplugin/typescriptreact.vim - - share/nvim/runtime/ftplugin/typst.vim - - share/nvim/runtime/ftplugin/uci.vim - - share/nvim/runtime/ftplugin/udevconf.vim - - share/nvim/runtime/ftplugin/udevperm.vim - - share/nvim/runtime/ftplugin/udevrules.vim - - share/nvim/runtime/ftplugin/unison.vim - - share/nvim/runtime/ftplugin/updatedb.vim - - share/nvim/runtime/ftplugin/urlshortcut.vim - - share/nvim/runtime/ftplugin/usd.vim - - share/nvim/runtime/ftplugin/v.vim - - share/nvim/runtime/ftplugin/vb.vim - - share/nvim/runtime/ftplugin/vdf.vim - - share/nvim/runtime/ftplugin/verilog.vim - - share/nvim/runtime/ftplugin/vhdl.vim - - share/nvim/runtime/ftplugin/vim.vim - - share/nvim/runtime/ftplugin/vroom.vim - - share/nvim/runtime/ftplugin/vue.vim - - share/nvim/runtime/ftplugin/wat.vim - - share/nvim/runtime/ftplugin/wget.vim - - share/nvim/runtime/ftplugin/wget2.vim - - share/nvim/runtime/ftplugin/xcompose.vim - - share/nvim/runtime/ftplugin/xdefaults.vim - - share/nvim/runtime/ftplugin/xf86conf.vim - - share/nvim/runtime/ftplugin/xhtml.vim - - share/nvim/runtime/ftplugin/xinetd.vim - - share/nvim/runtime/ftplugin/xml.vim - - share/nvim/runtime/ftplugin/xmodmap.vim - - share/nvim/runtime/ftplugin/xs.lua - - share/nvim/runtime/ftplugin/xs.vim - - share/nvim/runtime/ftplugin/xsd.vim - - share/nvim/runtime/ftplugin/xslt.vim - - share/nvim/runtime/ftplugin/yacc.vim - - share/nvim/runtime/ftplugin/yaml.vim - - share/nvim/runtime/ftplugin/zathurarc.vim - - share/nvim/runtime/ftplugin/zig.vim - - share/nvim/runtime/ftplugin/zimbu.vim - - share/nvim/runtime/ftplugin/zsh.vim - - share/nvim/runtime/ftplugin - - share/nvim/runtime/indent/Makefile - - share/nvim/runtime/indent/README.txt - - share/nvim/runtime/indent/aap.vim - - share/nvim/runtime/indent/ada.vim - - share/nvim/runtime/indent/ant.vim - - share/nvim/runtime/indent/arduino.vim - - share/nvim/runtime/indent/astro.vim - - share/nvim/runtime/indent/automake.vim - - share/nvim/runtime/indent/awk.vim - - share/nvim/runtime/indent/bash.vim - - share/nvim/runtime/indent/basic.vim - - share/nvim/runtime/indent/bib.vim - - share/nvim/runtime/indent/bitbake.vim - - share/nvim/runtime/indent/bst.vim - - share/nvim/runtime/indent/bzl.vim - - share/nvim/runtime/indent/c.vim - - share/nvim/runtime/indent/cdl.vim - - share/nvim/runtime/indent/ch.vim - - share/nvim/runtime/indent/chaiscript.vim - - share/nvim/runtime/indent/changelog.vim - - share/nvim/runtime/indent/chatito.vim - - share/nvim/runtime/indent/clojure.vim - - share/nvim/runtime/indent/cmake.vim - - share/nvim/runtime/indent/cobol.vim - - share/nvim/runtime/indent/config.vim - - share/nvim/runtime/indent/context.vim - - share/nvim/runtime/indent/cpp.vim - - share/nvim/runtime/indent/cs.vim - - share/nvim/runtime/indent/css.vim - - share/nvim/runtime/indent/cucumber.vim - - share/nvim/runtime/indent/cuda.vim - - share/nvim/runtime/indent/d.vim - - share/nvim/runtime/indent/dictconf.vim - - share/nvim/runtime/indent/dictdconf.vim - - share/nvim/runtime/indent/docbk.vim - - share/nvim/runtime/indent/dosbatch.vim - - share/nvim/runtime/indent/dtd.vim - - share/nvim/runtime/indent/dtrace.vim - - share/nvim/runtime/indent/dts.vim - - share/nvim/runtime/indent/dune.vim - - share/nvim/runtime/indent/dylan.vim - - share/nvim/runtime/indent/eiffel.vim - - share/nvim/runtime/indent/elm.vim - - share/nvim/runtime/indent/erlang.vim - - share/nvim/runtime/indent/eruby.vim - - share/nvim/runtime/indent/eterm.vim - - share/nvim/runtime/indent/expect.vim - - share/nvim/runtime/indent/falcon.vim - - share/nvim/runtime/indent/fennel.vim - - share/nvim/runtime/indent/fish.vim - - share/nvim/runtime/indent/fortran.vim - - share/nvim/runtime/indent/framescript.vim - - share/nvim/runtime/indent/freebasic.vim - - share/nvim/runtime/indent/gdscript.vim - - share/nvim/runtime/indent/gitconfig.vim - - share/nvim/runtime/indent/gitolite.vim - - share/nvim/runtime/indent/glsl.vim - - share/nvim/runtime/indent/go.vim - - share/nvim/runtime/indent/graphql.vim - - share/nvim/runtime/indent/gyp.vim - - share/nvim/runtime/indent/haml.vim - - share/nvim/runtime/indent/hamster.vim - - share/nvim/runtime/indent/hare.vim - - share/nvim/runtime/indent/hcl.vim - - share/nvim/runtime/indent/hog.vim - - share/nvim/runtime/indent/html.vim - - share/nvim/runtime/indent/htmldjango.vim - - share/nvim/runtime/indent/idlang.vim - - share/nvim/runtime/indent/idris2.vim - - share/nvim/runtime/indent/ishd.vim - - share/nvim/runtime/indent/j.vim - - share/nvim/runtime/indent/java.vim - - share/nvim/runtime/indent/javascript.vim - - share/nvim/runtime/indent/javascriptreact.vim - - share/nvim/runtime/indent/json.vim - - share/nvim/runtime/indent/json5.vim - - share/nvim/runtime/indent/jsonc.vim - - share/nvim/runtime/indent/jsp.vim - - share/nvim/runtime/indent/julia.vim - - share/nvim/runtime/indent/just.vim - - share/nvim/runtime/indent/kdl.vim - - share/nvim/runtime/indent/kotlin.vim - - share/nvim/runtime/indent/krl.vim - - share/nvim/runtime/indent/ld.vim - - share/nvim/runtime/indent/less.vim - - share/nvim/runtime/indent/lifelines.vim - - share/nvim/runtime/indent/liquid.vim - - share/nvim/runtime/indent/lisp.vim - - share/nvim/runtime/indent/livebook.vim - - share/nvim/runtime/indent/logtalk.vim - - share/nvim/runtime/indent/lua.vim - - share/nvim/runtime/indent/luau.vim - - share/nvim/runtime/indent/m17ndb.vim - - share/nvim/runtime/indent/mail.vim - - share/nvim/runtime/indent/make.vim - - share/nvim/runtime/indent/matlab.vim - - share/nvim/runtime/indent/meson.vim - - share/nvim/runtime/indent/mf.vim - - share/nvim/runtime/indent/mma.vim - - share/nvim/runtime/indent/mojo.vim - - share/nvim/runtime/indent/mp.vim - - share/nvim/runtime/indent/nginx.vim - - share/nvim/runtime/indent/nsis.vim - - share/nvim/runtime/indent/objc.vim - - share/nvim/runtime/indent/obse.vim - - share/nvim/runtime/indent/ocaml.vim - - share/nvim/runtime/indent/occam.vim - - share/nvim/runtime/indent/odin.vim - - share/nvim/runtime/indent/pascal.vim - - share/nvim/runtime/indent/perl.vim - - share/nvim/runtime/indent/php.vim - - share/nvim/runtime/indent/postscr.vim - - share/nvim/runtime/indent/pov.vim - - share/nvim/runtime/indent/prolog.vim - - share/nvim/runtime/indent/proto.vim - - share/nvim/runtime/indent/ps1.vim - - share/nvim/runtime/indent/pyrex.vim - - share/nvim/runtime/indent/python.vim - - share/nvim/runtime/indent/qb64.vim - - share/nvim/runtime/indent/qml.vim - - share/nvim/runtime/indent/quarto.vim - - share/nvim/runtime/indent/query.lua - - share/nvim/runtime/indent/r.vim - - share/nvim/runtime/indent/racket.vim - - share/nvim/runtime/indent/raku.vim - - share/nvim/runtime/indent/raml.vim - - share/nvim/runtime/indent/rapid.vim - - share/nvim/runtime/indent/readline.vim - - share/nvim/runtime/indent/rhelp.vim - - share/nvim/runtime/indent/rmd.vim - - share/nvim/runtime/indent/rnoweb.vim - - share/nvim/runtime/indent/rpl.vim - - share/nvim/runtime/indent/rrst.vim - - share/nvim/runtime/indent/rst.vim - - share/nvim/runtime/indent/ruby.vim - - share/nvim/runtime/indent/rust.vim - - share/nvim/runtime/indent/sas.vim - - share/nvim/runtime/indent/sass.vim - - share/nvim/runtime/indent/scala.vim - - share/nvim/runtime/indent/scheme.vim - - share/nvim/runtime/indent/scss.vim - - share/nvim/runtime/indent/sdl.vim - - share/nvim/runtime/indent/sh.vim - - share/nvim/runtime/indent/sml.vim - - share/nvim/runtime/indent/solidity.vim - - share/nvim/runtime/indent/sql.vim - - share/nvim/runtime/indent/sqlanywhere.vim - - share/nvim/runtime/indent/sshconfig.vim - - share/nvim/runtime/indent/stylus.vim - - share/nvim/runtime/indent/systemverilog.vim - - share/nvim/runtime/indent/tcl.vim - - share/nvim/runtime/indent/tcsh.vim - - share/nvim/runtime/indent/teraterm.vim - - share/nvim/runtime/indent/terraform.vim - - share/nvim/runtime/indent/testdir - - share/nvim/runtime/indent/testdir/README.txt - - share/nvim/runtime/indent/testdir/bash.in - - share/nvim/runtime/indent/testdir/bash.ok - - share/nvim/runtime/indent/testdir/bitbake.in - - share/nvim/runtime/indent/testdir/bitbake.ok - - share/nvim/runtime/indent/testdir/dts.in - - share/nvim/runtime/indent/testdir/dts.ok - - share/nvim/runtime/indent/testdir/html.in - - share/nvim/runtime/indent/testdir/html.ok - - share/nvim/runtime/indent/testdir/krl.in - - share/nvim/runtime/indent/testdir/krl.ok - - share/nvim/runtime/indent/testdir/lua.in - - share/nvim/runtime/indent/testdir/lua.ok - - share/nvim/runtime/indent/testdir/matlab.in - - share/nvim/runtime/indent/testdir/matlab.ok - - share/nvim/runtime/indent/testdir/python.in - - share/nvim/runtime/indent/testdir/python.ok - - share/nvim/runtime/indent/testdir/rapid.in - - share/nvim/runtime/indent/testdir/rapid.ok - - share/nvim/runtime/indent/testdir/runtest.vim - - share/nvim/runtime/indent/testdir/sshconfig.in - - share/nvim/runtime/indent/testdir/sshconfig.ok - - share/nvim/runtime/indent/testdir/tcl.in - - share/nvim/runtime/indent/testdir/tcl.ok - - share/nvim/runtime/indent/testdir/thrift.in - - share/nvim/runtime/indent/testdir/thrift.ok - - share/nvim/runtime/indent/testdir/vb.in - - share/nvim/runtime/indent/testdir/vb.ok - - share/nvim/runtime/indent/testdir/vim.in - - share/nvim/runtime/indent/testdir/vim.ok - - share/nvim/runtime/indent/testdir/xml.in - - share/nvim/runtime/indent/testdir/xml.ok - - share/nvim/runtime/indent/testdir/yaml.in - - share/nvim/runtime/indent/testdir/yaml.ok - - share/nvim/runtime/indent/tex.vim - - share/nvim/runtime/indent/tf.vim - - share/nvim/runtime/indent/thrift.vim - - share/nvim/runtime/indent/tilde.vim - - share/nvim/runtime/indent/treetop.vim - - share/nvim/runtime/indent/typescript.vim - - share/nvim/runtime/indent/typescriptreact.vim - - share/nvim/runtime/indent/typst.vim - - share/nvim/runtime/indent/vb.vim - - share/nvim/runtime/indent/verilog.vim - - share/nvim/runtime/indent/vhdl.vim - - share/nvim/runtime/indent/vim.vim - - share/nvim/runtime/indent/vroom.vim - - share/nvim/runtime/indent/vue.vim - - share/nvim/runtime/indent/wat.vim - - share/nvim/runtime/indent/xf86conf.vim - - share/nvim/runtime/indent/xhtml.vim - - share/nvim/runtime/indent/xinetd.vim - - share/nvim/runtime/indent/xml.vim - - share/nvim/runtime/indent/xsd.vim - - share/nvim/runtime/indent/xslt.vim - - share/nvim/runtime/indent/yacc.vim - - share/nvim/runtime/indent/yaml.vim - - share/nvim/runtime/indent/zig.vim - - share/nvim/runtime/indent/zimbu.vim - - share/nvim/runtime/indent/zsh.vim - - share/nvim/runtime/indent - - share/nvim/runtime/keymap/README.txt - - share/nvim/runtime/keymap/accents.vim - - share/nvim/runtime/keymap/arabic.vim - - share/nvim/runtime/keymap/arabic_utf-8.vim - - share/nvim/runtime/keymap/armenian-eastern_utf-8.vim - - share/nvim/runtime/keymap/armenian-western_utf-8.vim - - share/nvim/runtime/keymap/belarusian-jcuken.vim - - share/nvim/runtime/keymap/bulgarian-bds.vim - - share/nvim/runtime/keymap/bulgarian-phonetic.vim - - share/nvim/runtime/keymap/canfr-win.vim - - share/nvim/runtime/keymap/croatian.vim - - share/nvim/runtime/keymap/croatian_cp1250.vim - - share/nvim/runtime/keymap/croatian_iso-8859-2.vim - - share/nvim/runtime/keymap/croatian_utf-8.vim - - share/nvim/runtime/keymap/czech.vim - - share/nvim/runtime/keymap/czech_utf-8.vim - - share/nvim/runtime/keymap/dvorak.vim - - share/nvim/runtime/keymap/esperanto.vim - - share/nvim/runtime/keymap/esperanto_utf-8.vim - - share/nvim/runtime/keymap/french-azerty.vim - - share/nvim/runtime/keymap/georgian-qwerty.vim - - share/nvim/runtime/keymap/german-qwertz.vim - - share/nvim/runtime/keymap/greek.vim - - share/nvim/runtime/keymap/greek_cp1253.vim - - share/nvim/runtime/keymap/greek_cp737.vim - - share/nvim/runtime/keymap/greek_iso-8859-7.vim - - share/nvim/runtime/keymap/greek_utf-8.vim - - share/nvim/runtime/keymap/hebrew.vim - - share/nvim/runtime/keymap/hebrew_cp1255.vim - - share/nvim/runtime/keymap/hebrew_iso-8859-8.vim - - share/nvim/runtime/keymap/hebrew_utf-8.vim - - share/nvim/runtime/keymap/hebrewp.vim - - share/nvim/runtime/keymap/hebrewp_cp1255.vim - - share/nvim/runtime/keymap/hebrewp_iso-8859-8.vim - - share/nvim/runtime/keymap/hebrewp_utf-8.vim - - share/nvim/runtime/keymap/kana.vim - - share/nvim/runtime/keymap/kazakh-jcuken.vim - - share/nvim/runtime/keymap/korean-dubeolsik_utf-8.vim - - share/nvim/runtime/keymap/korean.vim - - share/nvim/runtime/keymap/lithuanian-baltic.vim - - share/nvim/runtime/keymap/magyar_utf-8.vim - - share/nvim/runtime/keymap/mongolian_utf-8.vim - - share/nvim/runtime/keymap/oldturkic-orkhon_utf-8.vim - - share/nvim/runtime/keymap/oldturkic-yenisei_utf-8.vim - - share/nvim/runtime/keymap/persian-iranian_utf-8.vim - - share/nvim/runtime/keymap/persian.vim - - share/nvim/runtime/keymap/pinyin.vim - - share/nvim/runtime/keymap/polish-slash.vim - - share/nvim/runtime/keymap/polish-slash_cp1250.vim - - share/nvim/runtime/keymap/polish-slash_cp852.vim - - share/nvim/runtime/keymap/polish-slash_iso-8859-2.vim - - share/nvim/runtime/keymap/polish-slash_utf-8.vim - - share/nvim/runtime/keymap/russian-dvorak.vim - - share/nvim/runtime/keymap/russian-jcuken.vim - - share/nvim/runtime/keymap/russian-jcukenmac.vim - - share/nvim/runtime/keymap/russian-jcukenwin.vim - - share/nvim/runtime/keymap/russian-jcukenwintype.vim - - share/nvim/runtime/keymap/russian-typograph.vim - - share/nvim/runtime/keymap/russian-yawerty.vim - - share/nvim/runtime/keymap/serbian-latin.vim - - share/nvim/runtime/keymap/serbian-latin_utf-8.vim - - share/nvim/runtime/keymap/serbian.vim - - share/nvim/runtime/keymap/serbian_cp1250.vim - - share/nvim/runtime/keymap/serbian_cp1251.vim - - share/nvim/runtime/keymap/serbian_iso-8859-2.vim - - share/nvim/runtime/keymap/serbian_iso-8859-5.vim - - share/nvim/runtime/keymap/serbian_utf-8.vim - - share/nvim/runtime/keymap/sinhala-phonetic_utf-8.vim - - share/nvim/runtime/keymap/sinhala.vim - - share/nvim/runtime/keymap/slovak.vim - - share/nvim/runtime/keymap/slovak_cp1250.vim - - share/nvim/runtime/keymap/slovak_iso-8859-2.vim - - share/nvim/runtime/keymap/slovak_utf-8.vim - - share/nvim/runtime/keymap/tamil_tscii.vim - - share/nvim/runtime/keymap/thaana-phonetic_utf-8.vim - - share/nvim/runtime/keymap/thaana.vim - - share/nvim/runtime/keymap/turkish-f.vim - - share/nvim/runtime/keymap/turkish-q.vim - - share/nvim/runtime/keymap/ukrainian-dvorak.vim - - share/nvim/runtime/keymap/ukrainian-enhanced.vim - - share/nvim/runtime/keymap/ukrainian-jcuken.vim - - share/nvim/runtime/keymap/vietnamese-telex_utf-8.vim - - share/nvim/runtime/keymap/vietnamese-viqr_utf-8.vim - - share/nvim/runtime/keymap/vietnamese-vni_utf-8.vim - - share/nvim/runtime/keymap - - share/nvim/runtime/plugin/editorconfig.lua - - share/nvim/runtime/plugin/gzip.vim - - share/nvim/runtime/plugin/man.lua - - share/nvim/runtime/plugin/matchit.vim - - share/nvim/runtime/plugin/matchparen.vim - - share/nvim/runtime/plugin/netrwPlugin.vim - - share/nvim/runtime/plugin/osc52.lua - - share/nvim/runtime/plugin/rplugin.vim - - share/nvim/runtime/plugin/shada.vim - - share/nvim/runtime/plugin/spellfile.vim - - share/nvim/runtime/plugin/tarPlugin.vim - - share/nvim/runtime/plugin/tohtml.lua - - share/nvim/runtime/plugin/tutor.vim - - share/nvim/runtime/plugin/zipPlugin.vim - - share/nvim/runtime/plugin - - share/nvim/runtime/queries/c/folds.scm - - share/nvim/runtime/queries/c/highlights.scm - - share/nvim/runtime/queries/c/injections.scm - - share/nvim/runtime/queries/c - - share/nvim/runtime/queries/lua/folds.scm - - share/nvim/runtime/queries/lua/highlights.scm - - share/nvim/runtime/queries/lua/injections.scm - - share/nvim/runtime/queries/lua - - share/nvim/runtime/queries/markdown/folds.scm - - share/nvim/runtime/queries/markdown/highlights.scm - - share/nvim/runtime/queries/markdown/injections.scm - - share/nvim/runtime/queries/markdown - - share/nvim/runtime/queries/markdown_inline/highlights.scm - - share/nvim/runtime/queries/markdown_inline/injections.scm - - share/nvim/runtime/queries/markdown_inline - - share/nvim/runtime/queries/query/folds.scm - - share/nvim/runtime/queries/query/highlights.scm - - share/nvim/runtime/queries/query - - share/nvim/runtime/queries/vim/folds.scm - - share/nvim/runtime/queries/vim/highlights.scm - - share/nvim/runtime/queries/vim/injections.scm - - share/nvim/runtime/queries/vim - - share/nvim/runtime/queries/vimdoc/highlights.scm - - share/nvim/runtime/queries/vimdoc/injections.scm - - share/nvim/runtime/queries/vimdoc - - share/nvim/runtime/queries - - share/nvim/runtime/scripts/emoji_list.lua - - share/nvim/runtime/scripts/less.bat - - share/nvim/runtime/scripts/less.sh - - share/nvim/runtime/scripts/less.vim - - share/nvim/runtime/scripts/mswin.vim - - share/nvim/runtime/scripts - - share/nvim/runtime/spell/cleanadd.vim - - share/nvim/runtime/spell/en.utf-8.spl - - share/nvim/runtime/spell - - share/nvim/runtime/tutor/en/vim-01-beginner.tutor - - share/nvim/runtime/tutor/en/vim-01-beginner.tutor.json - - share/nvim/runtime/tutor/en - - share/nvim/runtime/tutor/ja/vim-01-beginner.tutor - - share/nvim/runtime/tutor/ja/vim-01-beginner.tutor.json - - share/nvim/runtime/tutor/ja - - share/nvim/runtime/tutor/tutor.tutor - - share/nvim/runtime/tutor/tutor.tutor.json - - share/nvim/runtime/tutor - - share/nvim/runtime diff --git a/vars/pkgs/nerdfonts.yml b/vars/pkgs/nerdfonts.yml deleted file mode 100644 index 0003426..0000000 --- a/vars/pkgs/nerdfonts.yml +++ /dev/null @@ -1,177 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -# Font key is the name from [https://www.nerdfonts.com/font-downloads] -# If the archive name is different from the listed name, it is set as the archive key -nerdfonts: - fonts: - 0xProto: - brew: font-0xproto-nerd-font - "3270": - brew: font-3270-nerd-font - Agave: - brew: font-agave-nerd-font - AnonymicePro: - archive: AnonymousPro - brew: font-anonymice-nerd-font - Arimo: - brew: font-arimo-nerd-font - AurulentSansM: - archive: AurulentSansMono - brew: font-aurulent-sans-mono-nerd-font - BigBlueTerm: - archive: BigBlueTerminal - brew: font-bigblue-terminal-nerd-font - BitstromWera: - archive: BitstreamVeraSansMono - brew: font-bitstream-vera-sans-mono-nerd-font - BlexMono: - archive: IBMPlexMono - brew: font-blex-mono-nerd-font - CaskaydiaCove: - archive: CascadiaCode - brew: font-caskaydia-cove-nerd-font - CaskaydiaMono: - archive: CascadiaMono - brew: font-caskaydia-mono-nerd-font - CodeNewRoman: - brew: font-code-new-roman-nerd-font - ComicShannsMono: - brew: font-comic-shanns-mono-nerd-font - CommitMono: - brew: font-commit-mono-nerd-font - Cousine: - brew: font-cousine-nerd-font - D2CodingLigature: - archive: D2Coding - brew: font-d2coding-nerd-font - DaddyTimeMono: - brew: font-daddy-time-mono-nerd-font - DejaVuSansM: - archive: DejaVuSansMono - brew: font-dejavu-sans-mono-nerd-font - DepartureMono: - brew: font-departure-mono-nerd-font - DroidSansM: - archive: DroidSansMono - brew: font-droid-sans-mono-nerd-font - EnvyCodeR: - brew: font-envy-code-r-nerd-font - FantasqueSansM: - archive: FantasqueSansMono - brew: font-fantasque-sans-mono-nerd-font - FiraCode: - brew: font-fira-code-nerd-font - FiraMono: - brew: font-fira-mono-nerd-font - GeistMono: - brew: font-geist-mono-nerd-font - GoMono: - archive: Go-Mono - brew: font-go-mono-nerd-font - GohuFont: - archive: Gohu - brew: font-gohufont-nerd-font - Hack: - brew: font-hack-nerd-font - Hasklug: - archive: Hasklig - brew: font-hasklug-nerd-font - HeavyData: - brew: font-heavy-data-nerd-font - Hurmit: - archive: Hermit - brew: font-hurmit-nerd-font - iMWriting: - archive: IA-Writer - brew: font-im-writing-nerd-font - Inconsolata: - brew: font-inconsolata-nerd-font - InconsolataGo: - brew: font-inconsolata-go-nerd-font - InconsolataLGC: - brew: font-inconsolata-lgc-nerd-font - IntoneMono: - archive: IntelOneMono - brew: font-intone-mono-nerd-font - Iosevka: - brew: font-iosevka-nerd-font - IosevkaTerm: - brew: font-iosevka-term-nerd-font - IosevkaTermSlab: - brew: font-iosevka-term-slab-nerd-font - JetBrainsMono: - brew: font-jetbrains-mono-nerd-font - Lekton: - brew: font-lekton-nerd-font - LiterationMono: - archive: LiberationMono - brew: font-liberation-nerd-font - Lilex: - brew: font-lilex-nerd-font - MartianMono: - brew: font-martian-mono-nerd-font - MesloLG: - archive: Meslo - brew: font-meslo-lg-nerd-font - Monaspice: - archive: Monaspace - brew: font-monaspace-nerd-font - Monofur: - brew: font-monofur-nerd-font - Monoid: - brew: font-monoid-nerd-font - Mononoki: - brew: font-mononoki-nerd-font - M+: - archive: MPlus - brew: font-m+-nerd-font - Noto: - brew: font-noto-nerd-font - OpenDyslexic: - brew: font-open-dyslexic-nerd-font - Overpass: - brew: font-overpass-nerd-font - ProFont: - brew: font-profont-nerd-font - ProggyClean: - brew: font-proggy-clean-tt-nerd-font - RecMono: - archive: Recursive - brew: font-recursive-mono-nerd-font - RobotoMono: - brew: font-roboto-mono-nerd-font - ShureTechMono: - archive: ShareTechMono - brew: font-shure-tech-mono-nerd-font - SauceCodePro: - archive: SourceCodePro - brew: font-sauce-code-pro-nerd-font - SpaceMono: - brew: font-space-mono-nerd-font - Symbols: - archive: NerdFontsSymbolsOnly - brew: font-symbols-only-nerd-font - Terminess: - archive: Terminus - brew: font-terminess-ttf-nerd-font - Tinos: - brew: font-tinos-nerd-font - Ubuntu: - brew: font-ubuntu-nerd-font - UbuntuMono: - brew: font-ubuntu-mono-nerd-font - UbuntuSans: - brew: font-ubuntu-sans-nerd-font - VictorMono: - brew: font-victor-mono-nerd-font - ZedMono: - brew: font-zed-mono-nerd-font - base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download - path: share/fonts - default_install: - - CaskaydiaCove - - FiraCode - - Hasklug - - Lilex - - Monoid - - Symbols -- 2.47.3 From 065031b77f85833755118c5a4bbc68a8d8b73d6a Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 3 Mar 2026 15:08:15 -0700 Subject: [PATCH 29/48] finished with a bunch more --- tasks/facts.yml | 2 +- tasks/helpers/cargo.yml | 12 +++-- tasks/helpers/cargo_build.yml | 20 ++++----- tasks/helpers/git.yml | 10 +++++ tasks/helpers/make.yml | 23 ++++++++++ tasks/helpers/npm.yml | 3 ++ tasks/main.yml | 78 ++++++++++++-------------------- tasks/pkgs/alacritty.yml | 32 ++++++------- tasks/pkgs/ansible.yml | 2 +- tasks/pkgs/ansible_lint.yml | 2 +- tasks/pkgs/ansible_ls.yml | 12 ++--- tasks/pkgs/bashls.yml | 12 ++--- tasks/pkgs/cmake.yml | 24 ++++++++-- tasks/pkgs/direnv.yml | 4 +- tasks/pkgs/eza.yml | 27 ++++++++--- tasks/pkgs/fzf.yml | 24 ++++++++-- tasks/pkgs/git.yml | 26 ++++++++--- tasks/pkgs/go.yml | 2 +- tasks/pkgs/neovim.yml | 52 ++++++++++++--------- tasks/pkgs/nodejs.yml | 30 ++++++++++--- tasks/pkgs/npm.yml | 3 ++ tasks/pkgs/rust.yml | 8 +--- tasks/pkgs/starship.yml | 24 ++++++++-- tasks/pkgs/zoxide.yml | 4 +- tasks/pkgs/zsh.yml | 4 +- vars/main.yml | 47 +------------------ vars/pkglist.yml | 85 +++++++++++++++++++++++++++++++++-- 27 files changed, 364 insertions(+), 208 deletions(-) create mode 100644 tasks/helpers/make.yml create mode 100644 tasks/pkgs/npm.yml diff --git a/tasks/facts.yml b/tasks/facts.yml index ea419d5..8cb1acc 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -11,7 +11,7 @@ os_version: major: "{{ ansible_facts['distribution_major_version'] }}" version: "{{ ansible_facts['distribution_version'] }}" - release: "{{ ansible_facts['release'] }}" + release: "{{ ansible_facts['distribution_release'] }}" - name: Set package_home_base for Darwin when: diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index 4a0d11f..d6ce129 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -1,10 +1,14 @@ # vim: set filetype=yaml.ansible --- -- name: Install cargo +- name: Dump install vars + ansible.builtin.debug: + var: pkg + +- name: Install with cargo become: "{{ install_become }}" become_user: "{{ install_become_user }}" community.general.cargo: - name: "{{ cargo.name }}" - version: "{{ cargo.version | default(omit) }}" - locked: "{{ cargo.locked | default(false) }}" + name: "{{ pkg.name }}" + version: "{{ pkg.version | default(omit) }}" + locked: "{{ pkg.locked | default(false) }}" path: "{{ install_prefix }}" diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 6dd2ba8..4f68055 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -4,22 +4,22 @@ block: - name: Fetch git repo vars: - path: "{{ path_source }}/{{ cargo_build.source_dir }}" - repo: "{{ cargo_build.repo }}" - depth: "{{ cargo_build.depth | default(1) }}" - force: "{{ cargo_build.force_git | default(true) }}" - recursive: "{{ cargo_build.recursive | default(true) }}" - version: "{{ cargo_build.version | default(omit) }}" + path: "{{ path_source }}/{{ pkg.source_dir }}" + repo: "{{ pkg.repo }}" + depth: "{{ pkg.depth | default(1) }}" + force: "{{ pkg.force_git | default(true) }}" + recursive: "{{ pkg.recursive | default(true) }}" + version: "{{ pkg.version | default(omit) }}" ansible.builtin.include_tasks: helpers/git.yml - name: Build cargo release ansible.builtin.command: - chdir: "{{ path_source }}/{{ cargo_build.source_dir }}" - argv: "{{ [cargo, build] + cargo_build.build_flags }}" + chdir: "{{ path_source }}/{{ pkg.source_dir }}" + argv: "{{ [cargo, build] + pkg.build_flags }}" - name: Clean existing install vars: - files: "{{ cargo_build.files }}" + files: "{{ pkg.files }}" ansible.builtin.include_tasks: helpers/clean.yml - name: Install cargo release @@ -28,5 +28,5 @@ become: "{{ install_become }}" become_user: "{{ install_become_user }}" vars: - source_dir: "{{ cargo_build.source_dir }}" + source_dir: "{{ pkg.source_dir }}" ansible.builtin.include_tasks: helpers/install.yml diff --git a/tasks/helpers/git.yml b/tasks/helpers/git.yml index e6629a3..e1ccbdf 100644 --- a/tasks/helpers/git.yml +++ b/tasks/helpers/git.yml @@ -1,4 +1,14 @@ # vim: set filetype=yaml.ansible : +# +## Helper: git.yml +## Description: pull git repositories +## Variables: +## path: Destination path when cloning +## repo: url to git repo +## depth: _optional_ (default: 1) set git clone depth +## force: _optional_ (default: true) force cloning to given path +## recursive: _optional_ (default: true) do a recursive clone +## version: _optional_ (default: empty) git branch/tag to clone --- - name: Clone git repository ansible.builtin.git: diff --git a/tasks/helpers/make.yml b/tasks/helpers/make.yml new file mode 100644 index 0000000..edb2e0a --- /dev/null +++ b/tasks/helpers/make.yml @@ -0,0 +1,23 @@ +# vim: set filetype=yaml.ansible : +# +## Helper: make.yml +## Description: run make to build packages +## Variables: +## +--- +- name: Fetch source code + vars: + path: "{{ pkg.path }}" + repo: "{{ pkg.repo }}" + version: "{{ pkg.version | default(omit) }}" + ansible.builtin.include_tasks: helpers/git.yml + +- name: Run make targets + loop: "{{ pkg.targets }}" + loop_control: + loop_var: target + become: "{{ target.do_become }}" + community.general.make: + chdir: "{{ pkg.path }}" + target: "{{ target.name }}" + params: "{{ target.params | default(omit) }}" diff --git a/tasks/helpers/npm.yml b/tasks/helpers/npm.yml index ff42439..6864921 100644 --- a/tasks/helpers/npm.yml +++ b/tasks/helpers/npm.yml @@ -1,5 +1,8 @@ # vim: set filetype=yaml.ansible : --- +- name: Dump npm pkg + ansible.builtin.debug: + var: pkg - name: Install npm become: "{{ install_become }}" become_user: "{{ install_become_user }}" diff --git a/tasks/main.yml b/tasks/main.yml index 4678303..5734f99 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -76,23 +76,20 @@ - name: Install go if required when: - pkg_go|length > 0 - ansible.builtin.include_tasks: - file: pkgs/go.yml + ansible.builtin.include_tasks: pkgs/go.yml - name: Install rust and cargo if required when: - pkg_cargo|length > 0 or pkg_cargo_build|length > 0 - ansible.builtin.include_tasks: - file: pkgs/rust.yml + ansible.builtin.include_tasks: pkgs/rust.yml - name: Ensure pipx is installed when: - pkg_pipx|length > 0 block: - name: Queue pipx install - ansible.builtin.include_tasks: - file: pkgs/pipx.yml + ansible.builtin.include_tasks: pkgs/pipx.yml - name: Ensure pipx path exists become: "{{ install_become }}" @@ -105,15 +102,13 @@ - name: Ensure nodejs and npm are installed when: - pkg_npm|length > 0 - ansible.builtin.include_tasks: - file: pkgs/nodejs.yml + ansible.builtin.include_tasks: pkgs/nodejs.yml - name: Ensure flatpak is installed when: - pkg_flatpak is defined - pkg_flatpak|length > 0 - ansible.builtin.include_tasks: - file: pkgs/flatpak.yml + ansible.builtin.include_tasks: pkgs/flatpak.yml - name: Ensure appimage path exists when: @@ -139,8 +134,7 @@ - name: Depend zig when: - pkg_zig|length > 0 - ansible.builtin.include_tasks: - file: pkgs/zig.yml + ansible.builtin.include_tasks: pkgs/zig.yml - name: Install pkg_sys list using system package manager when: @@ -157,50 +151,34 @@ loop: "{{ pkg_archive }}" loop_control: loop_var: archive - ansible.builtin.include_tasks: - file: helpers/archive.yml + ansible.builtin.include_tasks: helpers/archive.yml - name: Linux specific tasks when: - system == 'Linux' - ansible.builtin.include_tasks: - file: linux.yml + ansible.builtin.include_tasks: linux.yml - name: MacOS specific tasks when: - distribution == 'MacOSX' - ansible.builtin.include_tasks: - file: macos.yml + ansible.builtin.include_tasks: macos.yml - name: Install cargo packages when: - - pkg_cargo|length > 0 + - pkg_cargo|length > 0 or + pkg_cargo_build|length > 0 block: - - name: Ensure cargo path exists - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path_cargo }}" - - name: Install cargo packages loop: "{{ pkg_cargo | unique }}" loop_control: - loop_var: cargo - ansible.builtin.include_tasks: - file: helpers/cargo.yml + loop_var: pkg + ansible.builtin.include_tasks: helpers/cargo.yml -- name: Build and install rust apps - when: - - pkg_cargo_build|length > 0 - block: - - name: Run cargo build and install - loop: "{{ cargo_pkg_build }}" + - name: Install cargo_build packages + loop: "{{ pkg_cargo_build }}" loop_control: - loop_var: cargo_build - ansible.builtin.include_tasks: - file: helpers/cargo_build.yml + loop_var: pkg + ansible.builtin.include_tasks: helpers/cargo_build.yml - name: Install go packages when: @@ -210,8 +188,7 @@ loop: "{{ pkg_go }}" loop_control: loop_var: pkg - ansible.builtin.include_tasks: - file: helpers/go_install.yml + ansible.builtin.include_tasks: helpers/go_install.yml - name: Install local npm packages when: @@ -219,8 +196,7 @@ loop: "{{ pkg_npm | unique }}" loop_control: loop_var: pkg - ansible.builtin.include_tasks: - file: npm.yml + ansible.builtin.include_tasks: helpers/npm.yml - name: Install python pipx packages for user when: @@ -228,14 +204,16 @@ loop: "{{ pkg_pipx | unique }}" loop_control: loop_var: pkg - ansible.builtin.include_tasks: - file: pipx.yml + ansible.builtin.include_tasks: helpers/pipx.yml -- name: Build and install source packages +- name: Build and install make packages when: - - pkg_src|length > 0 - loop: "{{ pkg_src | unique }}" + - pkg_make|length > 0 + loop: "{{ pkg_make | unique }}" loop_control: loop_var: pkg - ansible.builtin.include_tasks: - file: "src/{{ pkg }}.yml" + ansible.builtin.include_tasks: helpers/make.yml + +- name: Dump __configured + ansible.builtin.debug: + var: __configured diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 4b8b165..9a0bf2b 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -8,7 +8,6 @@ # Helpers: # - cargo_build --- - # {{{ Configure alacritty - name: Start alacritty configuration when: - "'alacritty' not in __configured" @@ -19,7 +18,7 @@ ansible.builtin.set_fact: alacritty_install_method: "{{ install_method if install_method in alacritty.install_methods else alacritty.install_methods[0] }}" - - name: Configure alacritty source install + - name: Configure alacritty source install # {{{ when: - alacritty_install_method == "source" block: @@ -50,29 +49,24 @@ ansible.builtin.set_fact: alacritty_build_deps: "{{ build_deps + ['@Development Tools'] }}" -# }}} - - name: Append alacritty installation - block: - - name: Append alacritty to pkg_cargo_build - when: - - alacritty_method == 'source' - block: - - name: Configure pkg dependencies - loop: "{{ alacritty.pkg_deps }}" - loop_control: - loop_var: dep - ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + - name: Configure pkg dependencies + loop: "{{ alacritty.pkg_deps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" - name: Append build dependencies and cargo config ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - - - name: Append alacritty to pkg_sys +# }}} + - name: Configure alacritty system install when: - - alacritty_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" + - alacritty_install_method == 'system' + block: + - name: Queue alacritty for installation + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" - name: Complete alacritty configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 4e80eba..254bcfc 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -8,7 +8,7 @@ when: - ansible_install_method is undefined ansible.builtin.set_fact: - ansible_install_method: "{% if install_method in ansible_install_methods %}{{ install_method }}{% else %}{{ ansible_install_methods[0] }}{% endif %}" + ansible_install_method: "{{ install_method if install_method in ansible_install_methods else ansible_install_methods[0] }}" - name: Append ansible to system package manager install list when: diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 4e3a82c..9bfbafd 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -30,4 +30,4 @@ - name: Complete ansible_lint configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible_lint': true } ) }}" + __configured: "{{ __configured | combine( { 'ansible_lint': ansible_lint_install_method } ) }}" diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 7c53381..1eb299c 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -8,22 +8,22 @@ when: - ansible_ls_install_method is undefined ansible.builtin.set_fact: - ansible_ls_install_method: "{{ install_method if install_method in ansible_ls_install_methods else ansible_ls_install_methods[0] }}" + ansible_ls_install_method: "{{ install_method if install_method in ansible_ls.install_methods else ansible_ls.install_methods[0] }}" - - name: Append ansible-language-server to pkg_npm + - name: Configure ansible_ls source install when: - ansible_ls_install_method == 'source' block: - name: Load required installation dependencies loop: "{{ ansible_ls_pkg_deps }}" loop_control: - loop_var: pkgdep - ansible.builtin.include_tasks: "{{ pkgdep }}" + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" - name: Append ansible ls to pkg_npm ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [ansible_npm_pkg] }}" + pkg_npm: "{{ pkg_npm + [ansible_ls.npm_pkg] }}" - name: Set ansible_ls_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible_ls': true } ) }}" + __configured: "{{ __configured | combine( { 'ansible_ls': ansible_ls_install_method } ) }}" diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index 135ba18..2bb9c5f 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -8,14 +8,16 @@ when: - bashls_install_method is undefined ansible.builtin.set_fact: - bashls_install_method: "{{ install_method if install_method in bashls_install_methods else bashls_install_methods[0] }}" + bashls_install_method: "{{ install_method if install_method in bashls.install_methods else bashls.install_methods[0] }}" - - name: Append bash-language-server to pkg_npm + - name: Configure bashls source install when: - bashls_install_method == 'source' - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [bashls_npm_pkgname] }}" + block: + - name: Append bashls to pkg_npm + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [bashls.npm_pkg] }}" - name: Set bashls_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'bashls': true } ) }}" + __configured: "{{ __configured | combine( { 'bashls': bashls_install_method } ) }}" diff --git a/tasks/pkgs/cmake.yml b/tasks/pkgs/cmake.yml index 2a0b3a0..cdb2505 100644 --- a/tasks/pkgs/cmake.yml +++ b/tasks/pkgs/cmake.yml @@ -1,5 +1,23 @@ # vim: set filetype=yaml.ansible : --- -- name: Append cmake to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['cmake'] }}" +- name: Configure cmake + when: + - "'cmake' not in __configured" + block: + - name: Set cmake install method + when: + - cmake_install_method is undefined + ansible.builtin.set_fact: + cmake_install_method: "{{ install_method if install_method in cmake.install_methods else cmake.install_methods[0] }}" + + - name: Configure cmake system install + when: + - cmake_install_method == "system" + block: + - name: Append cmake to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['cmake'] }}" + + - name: Finalize cmake configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'cmake': cmake_install_method } ) }}" diff --git a/tasks/pkgs/direnv.yml b/tasks/pkgs/direnv.yml index c10b521..f2edd27 100644 --- a/tasks/pkgs/direnv.yml +++ b/tasks/pkgs/direnv.yml @@ -8,7 +8,7 @@ when: - direnv_install_method is undefined ansible.builtin.set_fact: - direnv_install_method: "{{ install_method if install_method in direnv_install_methods else direnv_install_methods[0] }}" + direnv_install_method: "{{ install_method if install_method in direnv.install_methods else direnv.install_methods[0] }}" - name: Append direnv to pkg_sys when: @@ -18,4 +18,4 @@ - name: Finalize direnv configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'direnv': true } ) }}" + __configured: "{{ __configured | combine( { 'direnv': direnv_install_method } ) }}" diff --git a/tasks/pkgs/eza.yml b/tasks/pkgs/eza.yml index 1061a98..dbc0d62 100644 --- a/tasks/pkgs/eza.yml +++ b/tasks/pkgs/eza.yml @@ -1,13 +1,28 @@ # vim: set filetype=yaml.ansible : --- -- name: Add eza +- name: Configure eza when: - - eza_configured is undefined + - "'eza' not in __configured" block: - - name: Append eza to pkg_cargo + - name: Set eza install method + when: + - eza_install_method is undefined ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['eza'] }}" + eza_install_method: "{{ install_method if install_method in eza.install_methods else eza.install_methods[0] }}" - - name: Set eza_configured + - name: Configure eza source install + when: + - eza_install_method == "source" + block: + - name: Configure eza cargo facts + ansible.builtin.set_fact: + eza_cargo_install: + name: eza + + - name: Append eza to pkg_cargo + ansible.builtin.set_fact: + pkg_cargo: "{{ pkg_cargo + [eza_cargo_install] }}" + + - name: Finalized eza configuration ansible.builtin.set_fact: - eza_configured: true + __configured: "{{ __configured | combine( { 'eza': eza_install_method} ) }}" diff --git a/tasks/pkgs/fzf.yml b/tasks/pkgs/fzf.yml index 545410f..bec4d44 100644 --- a/tasks/pkgs/fzf.yml +++ b/tasks/pkgs/fzf.yml @@ -1,5 +1,23 @@ # vim: set filetype=yaml.ansible : --- -- name: Append fzf to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['fzf'] }}" +- name: Configure fzf + when: + - "'fzf' not in __configured" + block: + - name: Set fzf install method + when: + - fzf_install_method is undefined + ansible.builtin.set_fact: + fzf_install_method: "{{ install_method if install_method in fzf.install_methods else fzf.install_methods[0] }}" + + - name: Configure fzf system install + when: + - fzf_install_method == "system" + block: + - name: Append fzf to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['fzf'] }}" + + - name: Finalize fzf configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'fzf': fzf_install_method } ) }}" diff --git a/tasks/pkgs/git.yml b/tasks/pkgs/git.yml index 33ce14b..6a6c941 100644 --- a/tasks/pkgs/git.yml +++ b/tasks/pkgs/git.yml @@ -1,9 +1,23 @@ # vim: set filetype=yaml.ansible : --- -- name: Load git config - ansible.builtin.include_tasks: - file: config/git.yml +- name: Configure git + when: + - "'git' not in __configured" + block: + - name: Set git install method + when: + - git_install_method is undefined + ansible.builtin.set_fact: + git_install_method: "{{ install_method if install_method in git.install_methods else git.install_methods[0] }}" -- name: Append git to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + git.pkgs }}" + - name: Configure git system install + when: + - git_install_method == "system" + block: + - name: Append git to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['git'] }}" + + - name: Finalize git configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'git': git_install_method } ) }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 0608ad4..cee5b34 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -8,7 +8,7 @@ when: - go_install_method is undefined ansible.builtin.set_fact: - go_install_method: "{% if install_method in go_install_methods %}{{ install_method }}{% else %}{{ go_install_methods[0] }}{% endif %}" + go_install_method: "{{ install_method if install_method in go.install_methods else go.install_methods[0] }}" - name: Configure go system installation when: diff --git a/tasks/pkgs/neovim.yml b/tasks/pkgs/neovim.yml index 100da57..6294150 100644 --- a/tasks/pkgs/neovim.yml +++ b/tasks/pkgs/neovim.yml @@ -8,26 +8,38 @@ when: - neovim_install_method is undefined ansible.builtin.set_fact: - neovim_install_method: "{{ install_method if install_method in neovim_install_methods else neovim_install_methods[0] }}" -- name: Load neovim config - ansible.builtin.include_tasks: - file: config/neovim.yml + neovim_install_method: "{{ install_method if install_method in neovim.install_methods else neovim.install_methods[0] }}" -- name: Append neovim to pkg_appimage - when: - - neovim.method == 'appimage' - ansible.builtin.set_fact: - pkg_appimage: "{{ pkg_appimage + ['neovim'] }}" + - name: Configure neovim source install + when: + - neovim_install_method == "source" + block: + - name: Queue pkg build deps + when: + - neovim.build_pkgdeps is defined + loop: "{{ neovim.build_pkgdeps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" -- name: Append neovim to pkg_sys - when: - - neovim.method == 'sys' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['neovim'] }}" + - name: Set helper facts + ansible.builtin.set_fact: + neovim_src_install: + path: "{{ d_cache.path }}/neovim" + repo: "{{ neovim.git_repo }}" + version: "{{ neovim_version }}" + targets: + - name: "" + do_become: false + params: + CMAKE_BUILD_TYPE: Release + CMAKE_EXTRA_FLAGS: "-DCMAKE_INSTALL_PREFIX={{ install_prefix }}" + - name: install + do_become: true + - name: Append neovim to source install list + ansible.builtin.set_fact: + pkg_make: "{{ pkg_make + [neovim_src_install] }}" -- name: Append neovim to pkg_src - when: - - neovim.method == 'src' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + neovim.build_deps }}" - pkg_src: "{{ pkg_src + ['neovim'] }}" + - name: Finalized neovim configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'neovim': neovim_install_method } ) }}" diff --git a/tasks/pkgs/nodejs.yml b/tasks/pkgs/nodejs.yml index 3405a9d..e221d54 100644 --- a/tasks/pkgs/nodejs.yml +++ b/tasks/pkgs/nodejs.yml @@ -1,9 +1,27 @@ # vim: set filetype=yaml.ansible : --- -- name: Load nodejs config - ansible.builtin.include_tasks: - file: config/nodejs.yml +- name: Configure nodejs + when: + - "'nodejs' not in __configured" + block: + - name: Set nodejs install method + when: + - nodejs_install_method is undefined + ansible.builtin.set_fact: + nodejs_install_method: "{{ install_method if install_method in nodejs.install_methods else nodejs.install_methods[0] }}" -- name: Append nodejs to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + nodejs.pkgs }}" + - name: Configure nodejs system install + when: + - nodejs_install_method == "system" + block: + - name: Set nodejs package name + ansible.builtin.set_fact: + nodejs_pkgname: "{{ nodejs.pkgname[system] }}" + nodejs_deps: "{{ nodejs.pkg_deps[system] | default([]) }}" + - name: Append nodejs to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [nodejs_pkgname] + nodejs_deps }}" + + - name: Finalize nodejs configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'nodejs': nodejs_install_method } ) }}" diff --git a/tasks/pkgs/npm.yml b/tasks/pkgs/npm.yml new file mode 100644 index 0000000..b0cc098 --- /dev/null +++ b/tasks/pkgs/npm.yml @@ -0,0 +1,3 @@ +--- +- name: Include nodejs to satisfy npm + ansible.builtin.include_tasks: pkgs/nodejs.yml diff --git a/tasks/pkgs/rust.yml b/tasks/pkgs/rust.yml index a7d1a40..c804b3f 100644 --- a/tasks/pkgs/rust.yml +++ b/tasks/pkgs/rust.yml @@ -8,13 +8,7 @@ when: - rust_install_method is undefined ansible.builtin.set_fact: - rust_install_method: "{{ install_method if install_method in rust_install_methods else rust_install_methods[0] }}" - - - name: Add dependencies - loop: rust_pkgdeps - loop_control: - loop_var: dep - ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + rust_install_method: "{{ install_method if install_method in rust.install_methods else rust.install_methods[0] }}" - name: Append rust to install list when: diff --git a/tasks/pkgs/starship.yml b/tasks/pkgs/starship.yml index 2617c5e..d22e8c0 100644 --- a/tasks/pkgs/starship.yml +++ b/tasks/pkgs/starship.yml @@ -4,10 +4,26 @@ when: - "'starship' not in __configured" block: - - name: Append starship to pkg_cargo + - name: Set starship install method + when: + - starship_install_method is undefined ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + [{'name': 'starship', 'locked': true}] }}" + starship_install_method: "{{ install_method if install_method in starship.install_methods else starship.install_methods[0] }}" - - name: Finalize startship configuration + - name: Configure starship source install + when: + - starship_install_method == "source" + block: + - name: Set cargo build options + ansible.builtin.set_fact: + starship_cargo_install: + name: starship + locked: true + version: "{{ starship_version | default(omit) }}" + - name: Append starship to pkg_cargo + ansible.builtin.set_fact: + pkg_cargo: "{{ pkg_cargo + [{'name': 'starship', 'locked': true}] }}" + + - name: Finalize starship configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'starship': true } ) }}" + __configured: "{{ __configured | combine( { 'starship': starship_install_method } ) }}" diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index fa22423..3fd8c27 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -8,7 +8,7 @@ when: - zoxide_install_method is undefined ansible.builtin.set_fact: - zoxide_install_method: "{{ install_method if intall_method in zoxide_install_methods else zoxide_install_methods[0] }}" + zoxide_install_method: "{{ install_method if install_method in zoxide.install_methods else zoxide.install_methods[0] }}" - name: Append zoxide to pkg_sys ansible.builtin.set_fact: @@ -16,4 +16,4 @@ - name: Set zoxide_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'zoxide': true } ) }}" + __configured: "{{ __configured | combine( { 'zoxide': zoxide_install_method } ) }}" diff --git a/tasks/pkgs/zsh.yml b/tasks/pkgs/zsh.yml index 0a7a0a3..ef34f14 100644 --- a/tasks/pkgs/zsh.yml +++ b/tasks/pkgs/zsh.yml @@ -7,8 +7,8 @@ - name: Set zsh install method when: - zsh_install_method is undefined - ansible.bulitin.set_fact: - zsh_install_method: "{{ install_method if install_method in zsh_install_methods else zsh_install_methods[0] }}" + ansible.builtin.set_fact: + zsh_install_method: "{{ install_method if install_method in zsh.install_methods else zsh.install_methods[0] }}" - name: Append zsh to pkg_sys when: diff --git a/vars/main.yml b/vars/main.yml index 63a46ac..bd778c8 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -31,6 +31,7 @@ pkg_cargo_build: [] # rust packages using `cargo build` before install pkg_clean: [] # list of files to remove before running archive and source installations pkg_flatpak: [] # flatpak packages to install pkg_go: [] # go applications +pkg_make: [] # use gnu make to build/install pkg_npm: [] # npm commands pkg_pipx: [] # pipx packages pkg_sh: [] # use shell commands to install a package @@ -84,8 +85,6 @@ ansible_ls_version: latest ansible_npm_pkg: name: '@ansible/ansible-language-server' global: true -ansible_ls_pkg_deps: - - pkgs/npm.yml # }}} # {{{ bashls bashls_install_methods: @@ -130,48 +129,6 @@ go_pkgname: # neovim {{{ neovim_version: master neovim_build_type: Release -neovim_git_repo: https://github.com/neovim/neovim -neovim_appimage: - base_url: https://github.com/neovim/neovim/releases/download - link_name: nvim -neovim_pkgname: - RedHat: neovim - Debian: neovim - Darwin: neovim - FreeBSD: neovim -neovim_build_deps: - RedHat: - - cmake - - curl - - gcc - - gettext - - glibc-gconv-extra - - make - - ninja-build - Debian: - - build-essential - - cmake - - curl - - gettext - - ninja-build - Darwin: - - cmake - - curl - - gettext - - ninja - Alpine: - - build-base - - cmake - - coreutils - - curl - - gettext-dev -neovim_build_files: - - lib64/nvim - - bin/nvim - - share/nvim - - share/applications/nvim.desktop - - share/icons/hicolor/128x128/apps/nvim.png - - share/man/man1/nvim.1 # }}} # {{{ nerdfonts nerdfonts_install_list: @@ -186,8 +143,6 @@ nerdfonts_install_path: share/fonts # }}} # rust {{{ rust_pkgname: rust -rust_pkgdeps: - - cargo # }}} # {{{ zsh zsh_base_url: git://git.code.sf.net/p/zsh/code diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 7a4cdd5..c2677a9 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -91,10 +91,32 @@ ansible_ls: install_methods: - source - system + npm_pkg: + name: '@ansible/ansible-language-server' + global: true + pkg_deps: + - nodejs +# {{{ bashls +bashls: + install_methods: + - source + npm_pkg: + name: bash-language-server + global: true +# }}} +cargo: + install_methods: + - system +cmake: + install_methods: + - system direnv: install_methods: - system -cargo: +eza: + install_methods: + - source +fzf: install_methods: - system git: @@ -107,19 +129,77 @@ go: hyprland: install_methods: - source -neovim: +neovim: # {{{ + git_repo: https://github.com/neovim/neovim + appimage: + base_url: https://github.com/neovim/neovim/releases/download + pkgname: + RedHat: neovim + Debian: neovim + Darwin: neovim + FreeBSD: neovim + build_files: + - lib64/nvim + - bin/nvim + - share/nvim + - share/applications/nvim.desktop + - share/icons/hicolor/128x128/apps/nvim.png + - share/man/man1/nvim.1 + build_pkgdeps: + - cmake + - git + build_deps: + RedHat: + - cmake + - curl + - gcc + - gettext + - glibc-gconv-extra + - make + - ninja-build + Debian: + - build-essential + - cmake + - curl + - gettext + - ninja-build + Darwin: + - cmake + - curl + - gettext + - ninja + Alpine: + - build-base + - cmake + - coreutils + - curl + - gettext-dev install_methods: - source - system - appimage - archive +# }}} nerdfonts: install_methods: - archive - system +nodejs: + install_methods: + - system + pkgname: + Linux: nodejs + Darwin: node + pkg_deps: + Linux: + - npm + - sqlite rust: install_methods: - system +starship: + install_methods: + - source yazi: install_methods: - source @@ -130,7 +210,6 @@ zoxide: zsh: install_methods: - system - - source ## Package specific configuration that never need to be set by the installer __nerdfonts: # {{{ -- 2.47.3 From 692e9dd99a479bf4a66bf3bfb9ef164502f529bf Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 3 Mar 2026 21:35:46 -0700 Subject: [PATCH 30/48] start developing module for go_install not going to be used for a long time Making pkg tasks truly single file --- library/go_install.py | 141 +++++++++++++++++++++++++++++++++ molecule/fedora/converge.yml | 10 --- molecule/fedora/create.yml | 35 -------- molecule/fedora/destroy.yml | 24 ------ molecule/fedora/inventory.yml | 10 --- molecule/fedora/molecule.yml | 47 ----------- molecule/fedora/verify.yml | 10 --- molecule/requirements.yml | 4 - tasks/helpers/pipx.yml | 16 ++-- tasks/pkgs/air.yml | 37 +++++---- tasks/pkgs/alacritty.yml | 100 +++++++++++++++++++---- tasks/pkgs/ansible.yml | 27 ++++++- tasks/pkgs/ansible_lint.yml | 38 ++++++--- tasks/pkgs/ansible_ls.yml | 32 +++++++- tasks/pkgs/bashls.yml | 28 ++++++- tasks/pkgs/bat.yml | 44 +++++++++- tasks/pkgs/bitwarden.yml | 31 -------- tasks/pkgs/cockpit.yml | 9 --- tasks/pkgs/firefox.yml | 23 ------ tasks/pkgs/go_profile_path.yml | 7 -- tasks/pkgs/godot.yml | 21 ----- tasks/pkgs/libreoffice.yml | 23 ------ tasks/pkgs/neovide.yml | 29 ------- tasks/pkgs/nextcloud.yml | 31 -------- tasks/pkgs/targetcli.yml | 5 -- tasks/pkgs/thunderbird.yml | 17 ---- vars/main.yml | 46 ----------- vars/pkglist.yml | 109 +++---------------------- 28 files changed, 417 insertions(+), 537 deletions(-) create mode 100644 library/go_install.py delete mode 100644 molecule/fedora/converge.yml delete mode 100644 molecule/fedora/create.yml delete mode 100644 molecule/fedora/destroy.yml delete mode 100644 molecule/fedora/inventory.yml delete mode 100644 molecule/fedora/molecule.yml delete mode 100644 molecule/fedora/verify.yml delete mode 100644 molecule/requirements.yml delete mode 100644 tasks/pkgs/bitwarden.yml delete mode 100644 tasks/pkgs/cockpit.yml delete mode 100644 tasks/pkgs/firefox.yml delete mode 100644 tasks/pkgs/go_profile_path.yml delete mode 100644 tasks/pkgs/godot.yml delete mode 100644 tasks/pkgs/libreoffice.yml delete mode 100644 tasks/pkgs/neovide.yml delete mode 100644 tasks/pkgs/nextcloud.yml delete mode 100644 tasks/pkgs/targetcli.yml delete mode 100644 tasks/pkgs/thunderbird.yml diff --git a/library/go_install.py b/library/go_install.py new file mode 100644 index 0000000..570533b --- /dev/null +++ b/library/go_install.py @@ -0,0 +1,141 @@ +#!/usr/bin/python + +# Copyright: (c) 2026, Matthew Stobbs +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +DOCUMENTATION = r''' +--- +module: go_install + +short_description: Manage the installation and removal of go packages +description: Manage the installation and removal of go packages using `go install` + +options: + name: + description: + - Name of the go package without the module part. + - This is the name of the executable that is installed in `bin`. + required: true + type: str + module: + description: + - The full module name (example.org/path/to/module) + - Only required if state != 'absent' + required: false + type: str + version: + description: + - The version of the module to install. + - Do not set this to '/v2' if you are using a '/v2' module, normally just latest. + - Defaults to 'latest' + required: false + type: str + state: + description: + - One of either 'present', 'latest' or 'absent'. + - Defaults to 'present' + require: false + type: str +author: + - Matthew Stobbs +''' + +EXAMPLES = r''' +# Install the 'air' package at the latest version +- name: Install package 'air' + go_install: + name: air + module: github.com/air-verse/air + state: latest + +# Remove the 'air' package +- name: Install package 'air' + go_install: + name: air + state: absent + +# Install the 'pgx' package of /v5 +- name: Install package 'pgx' + go_install: + name: pgx + module: github.com/jackc/pgx/v5 + +# Install the 'templ' package at a specific version +- name: Install package 'templ' at version 0.3.906 + go_install: + name: templ + module: github.com/a-h/templ/cmd/templ + version: v0.3.906 +''' + +RETURN = r''' +# After installing air +result: "installed github.com/air-verse/air@latest to /usr/local/bin/air" + +# After removing air +result: "removed /usr/local/bin/air" +''' + +from ansible.module_utils.basic import AnsibleModule + +def run_module(): + # define available arguments/parameters a user can pass to the module + module_args = dict( + name=dict(type='str', required=True), + module=dict(type='str', required=False, default="") + version=dict(type='str', required=False, default="latest") + state=dict(type='str', required=False, default="present") + ) + + # seed the result dict in the object + # we primarily care about changed and state + # changed is if this module effectively modified the target + # state will include any data that you want your module to pass back + # for consumption, for example, in a subsequent task + result = dict( + changed=False, + result='' + ) + + # the AnsibleModule object will be our abstraction working with Ansible + # this includes instantiation, a couple of common attr would be the + # args/params passed to the execution, as well as if the module + # supports check mode + module = AnsibleModule( + argument_spec=module_args, + supports_check_mode=True + ) + + # if the user is working with this module in only check mode we do not + # want to make any changes to the environment, just return the current + # state with no modifications + if module.check_mode: + module.exit_json(**result) + + # manipulate or modify the state as needed (this is going to be the + # part where your module will do what it needs to do) + result['result'] = module.params['name'] + + # use whatever logic you need to determine whether or not this module + # made any modifications to your target + if module.params['new']: + result['changed'] = True + + # during the execution of the module, if there is an exception or a + # conditional state that effectively causes a failure, run + # AnsibleModule.fail_json() to pass in the message and the result + if module.params['name'] == 'fail me': + module.fail_json(msg='You requested this to fail', **result) + + # in the event of a successful module execution, you will want to + # simple AnsibleModule.exit_json(), passing the key/value results + module.exit_json(**result) + + +def main(): + run_module() + +if __name__ == '__main__': + main() diff --git a/molecule/fedora/converge.yml b/molecule/fedora/converge.yml deleted file mode 100644 index d3a2052..0000000 --- a/molecule/fedora/converge.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Purpose: bring the instance to the desired state by running the role under test. -# Molecule calls this playbook with `molecule converge`. -- name: Converge - hosts: all - gather_facts: true # Disable if your role does not rely on facts - tasks: - - name: Apply role under test - ansible.builtin.include_role: - name: yournamespace.yourcollection.yourrole diff --git a/molecule/fedora/create.yml b/molecule/fedora/create.yml deleted file mode 100644 index fcd6b92..0000000 --- a/molecule/fedora/create.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -- name: Create - hosts: localhost - connection: local - gather_facts: false - # no_log: "{{ molecule_no_log }}" - tasks: - # TODO: Developer must implement and populate 'server' variable - - - name: Create instance config - when: server.changed | default(false) | bool # noqa no-handler - block: - - name: Populate instance config dict # noqa jinja - ansible.builtin.set_fact: - instance_conf_dict: {} - # instance': "{{ }}", - # address': "{{ }}", - # user': "{{ }}", - # port': "{{ }}", - # 'identity_file': "{{ }}", } - with_items: "{{ server.results }}" - register: instance_config_dict - - - name: Convert instance config dict to a list - ansible.builtin.set_fact: - instance_conf: "{{ instance_config_dict.results | map(attribute='ansible_facts.instance_conf_dict') | list }}" - - - name: Dump instance config - ansible.builtin.copy: - content: | - # Molecule managed - - {{ instance_conf | to_json | from_json | to_yaml }} - dest: "{{ molecule_instance_config }}" - mode: "0600" diff --git a/molecule/fedora/destroy.yml b/molecule/fedora/destroy.yml deleted file mode 100644 index 59d6a8e..0000000 --- a/molecule/fedora/destroy.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -- name: Destroy - hosts: localhost - connection: local - gather_facts: false - # no_log: "{{ molecule_no_log }}" - tasks: - # Developer must implement. - - # Mandatory configuration for Molecule to function. - - - name: Populate instance config - ansible.builtin.set_fact: - instance_conf: {} - - - name: Dump instance config - ansible.builtin.copy: - content: | - # Molecule managed - - {{ instance_conf | to_json | from_json | to_yaml }} - dest: "{{ molecule_instance_config }}" - mode: "0600" - when: server.changed | default(false) | bool # noqa no-handler diff --git a/molecule/fedora/inventory.yml b/molecule/fedora/inventory.yml deleted file mode 100644 index 8608676..0000000 --- a/molecule/fedora/inventory.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -all: - children: - builders: - hosts: - fedora-test: - ansible_host: fedora-test - container_image: registry.fedoraproject.org/fedora:latest - container_command: /sbin/init - container_privileged: true diff --git a/molecule/fedora/molecule.yml b/molecule/fedora/molecule.yml deleted file mode 100644 index 4219132..0000000 --- a/molecule/fedora/molecule.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -# Dependency management (download roles/collections) -dependency: - name: galaxy - options: - requirements-file: ../requirements.yml - - -ansible: - cfg: - defaults: - host_key_checking: false - verbosity: 1 - - executor: - backend: ansible-playbook - args: - ansible_playbook: - - --diff - - --force-handlers - - --inventory=/path/to/inventory.yml - ansible_navigator: - - --mode stdout - - --pull-policy missing - - --execution-environment-image ghcr.io/ansible/community-ansible-dev-tools:latest - - playbooks: - create: create.yml - converge: converge.yml - destroy: destroy.yml - cleanup: cleanup.yml - prepare: prepare.yml - side_effect: side_effect.yml - verify: verify.yml - -scenario: - name: fedora - test_sequence: - - dependency - - syntax - - create - - prepare - - converge - - idempotence - - verify - - cleanup - - destroy diff --git a/molecule/fedora/verify.yml b/molecule/fedora/verify.yml deleted file mode 100644 index 469b98c..0000000 --- a/molecule/fedora/verify.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Purpose: assert that the instance really ended up in the expected state. -# Molecule calls this playbook with `molecule verify`. -- name: Verify - hosts: instance - gather_facts: false # Quicker, if you do not need facts - tasks: - - name: Assert something - ansible.builtin.assert: - that: true diff --git a/molecule/requirements.yml b/molecule/requirements.yml deleted file mode 100644 index 87b2525..0000000 --- a/molecule/requirements.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -collections: - - name: containers.podman - version: ">=1.10.0" diff --git a/tasks/helpers/pipx.yml b/tasks/helpers/pipx.yml index 0f82031..05c59f8 100644 --- a/tasks/helpers/pipx.yml +++ b/tasks/helpers/pipx.yml @@ -1,11 +1,17 @@ # vim: set filetype=yaml.ansible : +# +## Helper: pipx.yml +## Description: modular approach to installing pip applications +## Variables: +## name: the name of the pip package to install --- -- name: Install pipx {{ pkg }} - become: "{{ ext_become }}" +- name: Install pipx {{ pkg.name }} + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" environment: - PIPX_HOME: "{{ path.pipx }}" - PIPX_BIN_DIR: "{{ path.bin }}" + PIPX_HOME: "{{ path_pipx }}" + PIPX_BIN_DIR: "{{ path_bin }}" community.general.pipx: executable: "{{ pipx_exec }}" - name: "{{ pkg }}" + name: "{{ pkg.name }}" state: latest diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 29ea18d..d0d5377 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -1,12 +1,24 @@ # vim: set filetype=yaml.ansible : -# Package: air -# Description: application auto reload for go -# Version: latest -# Methods: -# - source (go install) -# Helpers: go_install +# +## Package: air +## Description: application auto reload for go +## Version: latest +## Methods: +## - source (go install) +## Helpers: go_install --- -# {{{ Configure air +- name: Set air default facts # {{{ + ansible.builtin.set_fact: + air: + install_methods: + - source + install_files: + - to: bin/air + install_url: github.com/air-verse/air + pkg_deps: + - go + air_version: "{{ air_version | default('latest')}}" +# }}} - name: Start air configuration when: - "'air' not in __configured" @@ -24,14 +36,9 @@ - name: Set air install package ansible.builtin.set_fact: air_go_pkg: - url: "{{ air_install_url }}@{{ air_version }}" + url: "{{ air.install_url }}@{{ air_version }}" bin: "{{ path_bin }}/air" -# }}} -# {{{ air build and install steps - - name: Append air to pkg_go - when: - - air_install_method == 'source' - block: + - name: Clean existing air install when: - clean_install @@ -47,7 +54,7 @@ - name: Add air to install list ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [air_go_pkg] }}" -# }}} + - name: Finalize air configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'air': air_install_method } ) }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 9a0bf2b..9dcef01 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -1,13 +1,79 @@ # vim: set filetype=yaml.ansible : -# Package: alacritty -# Description: GPU accelerated terminal emulator written in rust -# Version: v0.16.1 -# Methods: -# - system -# - source (cargo build) -# Helpers: -# - cargo_build +# +## Package: alacritty +## Description: GPU accelerated terminal emulator written in rust +## Version: v0.16.1 +## Methods: +## - system +## - source (cargo build) +## Helpers: +## - cargo_build --- +- name: Set alacritty default facts # {{{ + ansible.builtin.set_fact: + alacritty_version: "{{ alacritty_version | default('v0.16.1') }}" + alacritty_build_flags: "{{ alacritty_build_flags | default( ['--release'] ) }}" + alacritty: + install_methods: + - source + - system + git_repo: https://github.com/alacritty/alacritty + install_files: + - from: target/release/alacritty + to: bin/alacritty + mode: '0755' + - from: extra/logo/alacritty-term.svg + to: share/pixmaps/Alacritty.svg + mode: '0644' + - from: extra/linux/Alacritty.desktop + to: share/applications/Alacritty.desktop + mode: '0644' + pkg_deps: + - git + - cargo + - cmake + build_deps: + RedHat: + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + Debian: + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + Alpine: + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + Archlinux: + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + FreeBSD: + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils +# }}} - name: Start alacritty configuration when: - "'alacritty' not in __configured" @@ -25,12 +91,12 @@ - name: Set alacritty build facts ansible.builtin.set_fact: alacritty_src_install: - build_deps: "{{ alacritty.build_deps[os_family] }}" - build_flags: "{{ alacritty_cargo_build_flags }}" - source_dir: "{{ alacritty.install_files.source_dir }}" - repo: "{{ alacritty_git_repo }}" + build_flags: "{{ alacritty_build_flags }}" + source_dir: "{{ d_cache.path }}/alacritty" + repo: "{{ alacritty.git_repo }}" version: "{{ alacritty_version }}" - files: "{{ alacritty.install_files.files }}" + files: "{{ alacritty.install_files }}" + alacritty_build_deps: "{{ alacritty.build_deps[os_family] }}" - name: Set alacritty install extra build deps when: @@ -41,13 +107,13 @@ when: - ansible_distribution_major_version == 7 ansible.builtin.set_fact: - alacritty_build_deps: "{{ build_deps + ['xcb-util-devel', '@Development Tools'] }}" + alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" - name: Add extra dependencies for EL8 when: - ansible_distribution_major_version == 8 ansible.builtin.set_fact: - alacritty_build_deps: "{{ build_deps + ['@Development Tools'] }}" + alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" - name: Configure pkg dependencies loop: "{{ alacritty.pkg_deps }}" @@ -59,14 +125,14 @@ ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" -# }}} + - name: Configure alacritty system install when: - alacritty_install_method == 'system' block: - name: Queue alacritty for installation ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [alacritty_pkgname] }}" + pkg_sys: "{{ pkg_sys + [ alacritty.pkgname[os_family] ] }}" - name: Complete alacritty configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 254bcfc..eeaa37d 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -1,5 +1,24 @@ # vim: set filetype=yaml.ansible : +# +## Package: ansible +## Description: simple infrastructure as code tool +## Version: latest +## Methods: +## - system +## - source (pipx) --- +- name: Set ansible default facts # {{{ + ansible.builtin.set_fact: + ansible: + install_methods: + - system + pkgname: + RedHat: ansible + Debian: ansible + Alpine: ansible + Archlinux: ansible + pip: ansible +# }}} - name: Configure ansible when: - "'ansible' not in __configured" @@ -8,19 +27,19 @@ when: - ansible_install_method is undefined ansible.builtin.set_fact: - ansible_install_method: "{{ install_method if install_method in ansible_install_methods else ansible_install_methods[0] }}" + ansible_install_method: "{{ install_method if install_method in ansible.install_methods else ansible.install_methods[0] }}" - name: Append ansible to system package manager install list when: - - ansible_install_method == 'system' + - ansible_install_method == "system" ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_pkgname[ansible_os_family]] }}" + pkg_sys: "{{ pkg_sys + [ ansible_pkgname[os_family] ] }}" - name: Append ansible to pipx install list when: - ansible_install_method == 'source' ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + [ansible_pip_pkgname] }}" + pkg_pipx: "{{ pkg_pipx + [ { 'name': ansible_pkgname['pip'] } ] }}" - name: Complete ansible configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 9bfbafd..8a73ab2 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -1,5 +1,27 @@ # vim: set filetype=yaml.ansible : +# +## Package: ansible_lint +## Description: Linter for ansible yaml +## Version: latest +## Methods: +## - source (pipx) +## Helpers: pipx --- +- name: Set ansible_lint default facts # {{{ + ansible.builtin.set_fact: + ansible_lint_version: "{{ ansible_lint_version | default('latest') }}" + ansible_lint: + install_methods: + - source + - system + pkgname: + RedHat: ansible-lint + Debian: ansible-lint + Archlinux: ansible-lint + Alpine: ansible-lint + FreeBSD: py311-ansible-lint + pip: ansible_lint +# }}} - name: Configure ansible_lint when: - "'ansible_lint' not in __configured" @@ -10,17 +32,13 @@ ansible.builtin.set_fact: ansible_lint_install_method: "{{ install_method if install_method in ansible_lint_install_methods else ansible_lint_methods[0] }}" - - name: Set pipx pkgnname + - name: Configure pipx source install when: - - ansible_lint_install_method == 'source' - ansible.builtin.set_fact: - ansible_lint_pkgname: "{{ ansible_lint_pkgname['pipx'] }}{{ '==' ~ ansible_lint_version if ansible_lint_version != 'latest' }}" - - - name: Add ansible_lint to pipx install list - when: - - ansible_lint_install_method == 'source' - ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + [ansible_lint_pkgname] }}" + - ansible_lint_install_method == "source" + block: + - name: Add ansible_lint to pipx install list + ansible.builtin.set_fact: + pkg_pipx: "{{ pkg_pipx + [ansible_lint.pkgname['pip']] }}" - name: Append ansible-lint to system install list when: diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 1eb299c..30cec88 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -1,5 +1,26 @@ # vim: set filetype=yaml.ansible : +# +## Package: ansible_ls +## Description: language server for ansible yaml +## Version: latest +## Methods: +## - source (npm) +## - system +## Helpers: npm --- +- name: Set ansible_ls default facts # {{{ + ansible.builtin.set_fact: + ansible_ls: + install_methods: + - source + - system + npm_pkg: + name: '@ansible/ansible-language-server' + global: true + version: latest + pkg_deps: + - nodejs +# }}} - name: Configure ansible_ls when: - "'ansible_ls' not in __configured" @@ -15,14 +36,21 @@ - ansible_ls_install_method == 'source' block: - name: Load required installation dependencies - loop: "{{ ansible_ls_pkg_deps }}" + loop: "{{ ansible_ls.pkg_deps }}" loop_control: loop_var: dep ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + - name: Set ansible_ls npm_pkg config + ansible.builtin.set_fact: + ansible_ls_npm_pkg: + name: "{{ ansible_ls.npm_pkg.name }}" + global: "{{ ansible_ls.npm_pkg.global }}" + version: "{{ ansible_ls_version | default(ansible_ls.npm_pkg.version) }}" + - name: Append ansible ls to pkg_npm ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [ansible_ls.npm_pkg] }}" + pkg_npm: "{{ pkg_npm + [ansible_ls_npm_pkg] }}" - name: Set ansible_ls_configured ansible.builtin.set_fact: diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index 2bb9c5f..e8ea92a 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -1,6 +1,23 @@ # vim: set filetype=yaml.ansible : +# +## Package: bashls +## Description: language server for bash (sh compatible) +## Version: latest +## Methods: +## - source (npm) +## Helpers: npm --- -- name: Add bashls +- name: Set bashls default facts # {{{ + ansible.builtin.set_fact: + bashls: + install_methods: + - source + npm_pkg: + name: bash-language-server + global: true + version: latest +# }}} +- name: Configure bashls when: - "'bashls' not in __configured" block: @@ -14,9 +31,16 @@ when: - bashls_install_method == 'source' block: + - name: Set bashls npm_pkg config + ansible.builtin.set_fact: + bashls_npm_pkg: + name: "{{ bashls.npm_pkg.name }}" + global: "{{ bashls.npm_pkg.global }}" + version: "{{ bashls_version | default(bashls.npm_pkg.version) }}" + - name: Append bashls to pkg_npm ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [bashls.npm_pkg] }}" + pkg_npm: "{{ pkg_npm + [bashls_npm_pkg] }}" - name: Set bashls_configured ansible.builtin.set_fact: diff --git a/tasks/pkgs/bat.yml b/tasks/pkgs/bat.yml index 6a9a087..5cba019 100644 --- a/tasks/pkgs/bat.yml +++ b/tasks/pkgs/bat.yml @@ -1,5 +1,43 @@ # vim: set filetype=yaml.ansible : +# +## Package: bat +## Description: cat replacement with style +## Version: latest +## Methods: +## - system --- -- name: Append bat to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['bat'] }}" +- name: Start bat configuration + when: + - "'bat' not in __configured" + block: + - name: Set bat install method + when: + - bat_install_method is undefined + ansible.builtin.set_fact: + bat_install_method: "{{ install_method if install_method in bat.install_methods else bat.install_methods[0] }}" + + - name: Configure bat source install + when: + - bat_install_method == "source" + block: + - name: Set bat cargo configuration + ansible.builtin.set_fact: + bat_cargo_install: + name: bat + locked: true + + - name: Queue bat for cargo install + ansible.builtin.set_fact: + pkg_carg: "{{ pkg_cargo + [bat_cargo_install] }}" + + - name: Configure bat system install + when: + - bat_install_method == "system" + block: + - name: Append bat to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ bat.pkgname[os_family] ] }}" + + - name: Finalize bat configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'bat': bat_install_method } ) }}" diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml deleted file mode 100644 index 10ae66d..0000000 --- a/tasks/pkgs/bitwarden.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add bitwarden - when: - - bitwarden_configured is undefined - block: - - name: Load bitwarden config - ansible.builtin.include_tasks: - file: config/bitwarden.yml - - - name: Append bitwarden to pkg_flatpak - when: - - bitwarden.method == 'flatpak' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + [bitwarden.pkg] }}" - - - name: Append bitwarden to pkg_appimage - when: - - bitwarden.method == 'appimage' - ansible.builtin.set_fact: - pkg_appimage: "{{ pkg_appimage + [bitwarden.pkg] }}" - - - name: Append bitwarden to pkg_cask - when: - - bitwarden.method == 'cask' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + [bitwarden.pkg] }}" - - - name: Set bitwarden_configured - ansible.builtin.set_fact: - bitwarden_configured: true diff --git a/tasks/pkgs/cockpit.yml b/tasks/pkgs/cockpit.yml deleted file mode 100644 index 7145330..0000000 --- a/tasks/pkgs/cockpit.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load cockpit configuration - ansible.builtin.include_tasks: - file: config/cockpit.yml - -- name: Append cockpit to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + cockpit.pkgs }}" diff --git a/tasks/pkgs/firefox.yml b/tasks/pkgs/firefox.yml deleted file mode 100644 index 2b421f5..0000000 --- a/tasks/pkgs/firefox.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load firefox config - ansible.builtin.include_tasks: - file: config/firefox.yml - -- name: Append firefox to pkg_sys - when: - - firefox.method == 'sys' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['firefox'] }}" - -- name: Install firefox as flatpak - when: - - firefox.method == 'flatpak' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_sys + ['org.mozilla.firefox'] }}" - -- name: Append firefox to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['firefox'] }}" diff --git a/tasks/pkgs/go_profile_path.yml b/tasks/pkgs/go_profile_path.yml deleted file mode 100644 index 4ac2d45..0000000 --- a/tasks/pkgs/go_profile_path.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add goroot to /etc/profile.d - when: - - ansible_os_family == 'RedHat' - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['go_profile_path'] }}" diff --git a/tasks/pkgs/godot.yml b/tasks/pkgs/godot.yml deleted file mode 100644 index 81edb49..0000000 --- a/tasks/pkgs/godot.yml +++ /dev/null @@ -1,21 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add godot - when: - - godot_configured is undefined - block: - - name: Append godot to pkg_flatpak - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + ['org.godotengine.Godot'] }}" - - - name: Append godot to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['godot'] }}" - - - name: Set godot_configured - ansible.builtin.set_fact: - godot_configured: true diff --git a/tasks/pkgs/libreoffice.yml b/tasks/pkgs/libreoffice.yml deleted file mode 100644 index 7580973..0000000 --- a/tasks/pkgs/libreoffice.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load libreoffice config - ansible.builtin.include_tasks: - file: config/libreoffice.yml - -- name: Append libreoffice to pkg_flatpak - when: - - libreoffice.method == 'flatpak' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + [libreoffice.flatpak] }}" - -- name: Append libreoffice to pkg_sys - when: - - libreoffice.method == 'sys' - ansible.builtin.set_fact: - sys_pkg: "{{ sys_pkg + libreoffice.pkgs }}" - -- name: Append libreoffice to caskpkgs - when: - - libreoffice.method == 'cask' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + libreoffice.pkgs }}" diff --git a/tasks/pkgs/neovide.yml b/tasks/pkgs/neovide.yml deleted file mode 100644 index 8600e01..0000000 --- a/tasks/pkgs/neovide.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add neovide - block: - - name: Load neovide config - ansible.builtin.include_tasks: - file: config/neovide.yml - - - name: Linux based neovide install - when: - - ansible_system == 'Linux' - block: - - name: Append neovide build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + neovide.build_deps }}" - - - name: Append neovide to pkg_cargo - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + [neovide] }}" - - - name: Append neovide to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['neovide'] }}" - - - name: Set neovide_configured - ansible.builtin.set_fact: - neovide_configured: true diff --git a/tasks/pkgs/nextcloud.yml b/tasks/pkgs/nextcloud.yml deleted file mode 100644 index 14059dc..0000000 --- a/tasks/pkgs/nextcloud.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add nextcloud_client - block: - - name: Load nextcloud-client config - ansible.builtin.include_tasks: - file: config/nextcloud.yml - - - name: Append nextcloud-client to pkg_Flatpak - when: - - ansible_system == 'Linux' - - nextcloud.method == 'flatpak' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + [nextcloud] }}" - - - name: Append nextcloud-client to pkg_sys - when: - - ansible_system == 'Linux' - - nextcloud.method == 'sys' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['nextcloud'] }}" - - - name: Append nextcloud-client to pkg_cask - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['nextcloud'] }}" - - - name: Set nextcloud_client_configured - ansible.builtin.set_fact: - nextcloud_client_configured: true diff --git a/tasks/pkgs/targetcli.yml b/tasks/pkgs/targetcli.yml deleted file mode 100644 index 8b4eef1..0000000 --- a/tasks/pkgs/targetcli.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append targetcli to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + targetcli.pkgs }}" diff --git a/tasks/pkgs/thunderbird.yml b/tasks/pkgs/thunderbird.yml deleted file mode 100644 index be27b4b..0000000 --- a/tasks/pkgs/thunderbird.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append thunderbird to pkg_sys - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['thunderbird'] }}" - -- name: Append thunderbird to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['thunderbird'] }}" - -- name: Set thunderbird_configured - ansible.builtin.set_fact: - thunderbird_configured: true diff --git a/vars/main.yml b/vars/main.yml index bd778c8..877bf92 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -45,52 +45,6 @@ __add_to_path: [] # list of paths that should be in PATH __var_to_env: {} # dict of variables to add to your env # Per package variables -# {{{ air -air_version: latest -air_install_url: github.com/air-verse/air -# }}} -# {{{ alacritty -alacritty_version: v0.16.1 -alacritty_git_repo: https://github.com/alacritty/alacritty -alacritty_pkgname: alacritty -alacritty_cargo_build_flags: - - --release -# }}} -# {{{ ansible -ansible_install_methods: - - system - - source -ansible_pkgname: - RedHat: ansible - Debian: ansible - Alpine: ansible - Archlinux: ansible -ansible_pip_pkgname: ansible -# }}} -# {{{ ansible_lint -ansible_lint_version: latest -ansible_lint_install_methods: - - system - - source -ansible_lint_pkgname: - RedHat: ansible-lint - Debian: ansible-lint - Archlinux: ansible-lint - Alpine: ansible-lint - FreeBSD: py311-ansible-lint - pipx: ansible_lint -# }}} -# {{{ ansible_ls -ansible_ls_version: latest -ansible_npm_pkg: - name: '@ansible/ansible-language-server' - global: true -# }}} -# {{{ bashls -bashls_install_methods: - - source -bashls_npm_pkgname: bash-language-server -# }}} # cargo {{{ cargo_pkgname: cargo # }}} diff --git a/vars/pkglist.yml b/vars/pkglist.yml index c2677a9..522442c 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -5,114 +5,29 @@ ## Restrictions for package install methods. ## The first item is the default method. If only ## one method exists, all others are ignored. -air: # {{{ +bat: # {{{ install_methods: - - source - install_files: - - to: bin/air - pkg_deps: - - go -# }}} -alacritty: # {{{ - install_methods: - - source - system - install_files: - source_dir: alacritty - files: - - from: target/release/alacritty - to: bin/alacritty - mode: '0755' - - from: extra/logo/alacritty-term.svg - to: share/pixmaps/Alacritty.svg - mode: '0644' - - from: extra/linux/Alacritty.desktop - to: share/applications/Alacritty.desktop - mode: '0644' - pkg_deps: - - git - - cargo - build_deps: - RedHat: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils - Debian: - - cmake - - g++ - - pkg-config - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - - libfreetype6-dev - - desktop-file-utils - Alpine: - - cmake - - pkgconf - - freetype-dev - - fontconfig-dev - - python3 - - libxcb-dev - - g++ - - libxkbcommon-dev - - desktop-file-utils - Archlinux: - - cmake - - freetype2 - - fontconfig - - pkg-config - - make - - libxcb - - libxkbcommon - - python - - desktop-file-utils - FreeBSD: - - cmake - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils + pkgname: + RedHat: bat + Debian: bat + Archlinux: bat + Alpine: bat + Darwin: bat + FreeBSD: bat # }}} -ansible_lint: # {{{ +cargo: # {{{ install_methods: - - pipx - system # }}} -ansible: +cmake: # {{{ install_methods: - system -ansible_ls: - install_methods: - - source - - system - npm_pkg: - name: '@ansible/ansible-language-server' - global: true - pkg_deps: - - nodejs -# {{{ bashls -bashls: - install_methods: - - source - npm_pkg: - name: bash-language-server - global: true # }}} -cargo: - install_methods: - - system -cmake: - install_methods: - - system -direnv: +direnv: # {{{ install_methods: - system +# }}} eza: install_methods: - source -- 2.47.3 From 19ec5f341b061f8f5e58ff8afed5542de35fdabb Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 7 Mar 2026 13:31:39 -0700 Subject: [PATCH 31/48] work on bitwarden and flatpak --- .ansible/.lock | 0 tasks/archive/go.yml | 59 ------------------- tasks/archive/nerdfonts.yml | 29 ---------- tasks/config/bitwarden.yml | 31 ---------- tasks/config/broot.yml | 9 --- tasks/config/carapace.yml | 7 --- tasks/config/cbfmt.yml | 9 --- tasks/config/choose.yml | 9 --- tasks/config/clangd.yml | 6 -- tasks/config/cmake-format.yml | 9 --- tasks/config/cockpit.yml | 7 --- tasks/config/consul.yml | 6 -- tasks/config/fd.yml | 6 -- tasks/config/firefox.yml | 6 -- tasks/config/ghostty.yml | 42 -------------- tasks/config/git.yml | 6 -- tasks/config/gitea-server.yml | 21 ------- tasks/config/greetd.yml | 6 -- tasks/config/hashicorp.yml | 15 ----- tasks/config/httpie.yml | 12 ---- tasks/config/hyprcursor.yml | 9 --- tasks/config/hyprgraphics.yml | 8 --- tasks/config/hypridle.yml | 12 ---- tasks/config/hyprland.yml | 13 ----- tasks/config/hyprland_protocols.yml | 11 ---- tasks/config/hyprland_qt_support.yml | 12 ---- tasks/config/hyprland_qtutils.yml | 12 ---- tasks/config/hyprlang.yml | 12 ---- tasks/config/hyprlock.yml | 12 ---- tasks/config/hyprpaper.yml | 12 ---- tasks/config/hyprpicker.yml | 12 ---- tasks/config/hyprpolkitagent.yml | 11 ---- tasks/config/hyprutils.yml | 11 ---- tasks/config/hyprwayland_scanner.yml | 11 ---- tasks/config/kitty.yml | 6 -- tasks/config/libreoffice.yml | 8 --- tasks/config/luals.yml | 17 ------ tasks/config/neovide.yml | 9 --- tasks/config/neovim.yml | 39 ------------- tasks/config/nerdfonts.yml | 9 --- tasks/config/nextcloud.yml | 15 ----- tasks/config/nfs_client.yml | 6 -- tasks/config/nfs_server.yml | 6 -- tasks/config/nodejs.yml | 6 -- tasks/config/nomad.yml | 6 -- tasks/config/nwg_hello.yml | 11 ---- tasks/config/packer.yml | 25 -------- tasks/config/pgadmin.yml | 8 --- tasks/config/postgresql_server.yml | 15 ----- tasks/config/pulumi.yml | 14 ----- tasks/config/python3.yml | 6 -- tasks/config/rust.yml | 6 -- tasks/config/samba_client.yml | 6 -- tasks/config/samba_server.yml | 6 -- tasks/config/sdbus_cpp_2.yml | 11 ---- tasks/config/tailscale.yml | 7 --- tasks/config/targetcli.yml | 7 --- tasks/config/terraform.yml | 25 -------- tasks/config/terraformls.yml | 22 ------- tasks/config/tidy.yml | 6 -- tasks/config/uwsm.yml | 12 ---- tasks/config/vault.yml | 25 -------- tasks/config/xdg_desktop_portal_hyprland.yml | 12 ---- tasks/config/xh.yml | 8 --- tasks/config/zfs.yml | 23 -------- tasks/config/zig.yml | 9 --- tasks/config/zls.yml | 9 --- tasks/main.yml | 6 -- tasks/pkgs/bitwarden.yml | 47 +++++++++++++++ tasks/pkgs/flatpak.yml | 13 +++++ vars/pkglist.yml | 60 +++++++++++++++++++- 71 files changed, 119 insertions(+), 860 deletions(-) create mode 100644 .ansible/.lock delete mode 100644 tasks/archive/go.yml delete mode 100644 tasks/archive/nerdfonts.yml delete mode 100644 tasks/config/bitwarden.yml delete mode 100644 tasks/config/broot.yml delete mode 100644 tasks/config/carapace.yml delete mode 100644 tasks/config/cbfmt.yml delete mode 100644 tasks/config/choose.yml delete mode 100644 tasks/config/clangd.yml delete mode 100644 tasks/config/cmake-format.yml delete mode 100644 tasks/config/cockpit.yml delete mode 100644 tasks/config/consul.yml delete mode 100644 tasks/config/fd.yml delete mode 100644 tasks/config/firefox.yml delete mode 100644 tasks/config/ghostty.yml delete mode 100644 tasks/config/git.yml delete mode 100644 tasks/config/gitea-server.yml delete mode 100644 tasks/config/greetd.yml delete mode 100644 tasks/config/hashicorp.yml delete mode 100644 tasks/config/httpie.yml delete mode 100644 tasks/config/hyprcursor.yml delete mode 100644 tasks/config/hyprgraphics.yml delete mode 100644 tasks/config/hypridle.yml delete mode 100644 tasks/config/hyprland.yml delete mode 100644 tasks/config/hyprland_protocols.yml delete mode 100644 tasks/config/hyprland_qt_support.yml delete mode 100644 tasks/config/hyprland_qtutils.yml delete mode 100644 tasks/config/hyprlang.yml delete mode 100644 tasks/config/hyprlock.yml delete mode 100644 tasks/config/hyprpaper.yml delete mode 100644 tasks/config/hyprpicker.yml delete mode 100644 tasks/config/hyprpolkitagent.yml delete mode 100644 tasks/config/hyprutils.yml delete mode 100644 tasks/config/hyprwayland_scanner.yml delete mode 100644 tasks/config/kitty.yml delete mode 100644 tasks/config/libreoffice.yml delete mode 100644 tasks/config/luals.yml delete mode 100644 tasks/config/neovide.yml delete mode 100644 tasks/config/neovim.yml delete mode 100644 tasks/config/nerdfonts.yml delete mode 100644 tasks/config/nextcloud.yml delete mode 100644 tasks/config/nfs_client.yml delete mode 100644 tasks/config/nfs_server.yml delete mode 100644 tasks/config/nodejs.yml delete mode 100644 tasks/config/nomad.yml delete mode 100644 tasks/config/nwg_hello.yml delete mode 100644 tasks/config/packer.yml delete mode 100644 tasks/config/pgadmin.yml delete mode 100644 tasks/config/postgresql_server.yml delete mode 100644 tasks/config/pulumi.yml delete mode 100644 tasks/config/python3.yml delete mode 100644 tasks/config/rust.yml delete mode 100644 tasks/config/samba_client.yml delete mode 100644 tasks/config/samba_server.yml delete mode 100644 tasks/config/sdbus_cpp_2.yml delete mode 100644 tasks/config/tailscale.yml delete mode 100644 tasks/config/targetcli.yml delete mode 100644 tasks/config/terraform.yml delete mode 100644 tasks/config/terraformls.yml delete mode 100644 tasks/config/tidy.yml delete mode 100644 tasks/config/uwsm.yml delete mode 100644 tasks/config/vault.yml delete mode 100644 tasks/config/xdg_desktop_portal_hyprland.yml delete mode 100644 tasks/config/xh.yml delete mode 100644 tasks/config/zfs.yml delete mode 100644 tasks/config/zig.yml delete mode 100644 tasks/config/zls.yml create mode 100644 tasks/pkgs/bitwarden.yml diff --git a/.ansible/.lock b/.ansible/.lock new file mode 100644 index 0000000..e69de29 diff --git a/tasks/archive/go.yml b/tasks/archive/go.yml deleted file mode 100644 index 3117313..0000000 --- a/tasks/archive/go.yml +++ /dev/null @@ -1,59 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if go is already installed - ansible.builtin.stat: - path: "{{ path.go }}/bin/go" - register: stat_path_go - -- name: Check installed go version - when: - - stat_path_go.stat.exists - block: - - name: Get installed version - register: r_go_version - ansible.builtin.command: - argv: - - "{{ path.go }}/bin/go" - - version - - - name: Check if go needs updating - ansible.builtin.set_fact: - go_do_update: "{{ r_go_version.stdout.find(go.vers) == -1 }}" - -- name: Install/update go - when: - - not stat_path_go.stat.exists or - go_do_update - block: - - name: Remove existing go install - when: - - ansible_system == 'Linux' - become: "{{ ext_become }}" - ansible.builtin.file: - state: absent - path: "{{ path.go }}" - - - name: Download go archive - register: get_url_go - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ go.archive }}" - url: "{{ go.base_url }}/{{ go.archive }}" - checksum: "{{ go.sum }}" - decompress: false - mode: '0644' - - - name: Extract go package for Linux - become: "{{ ext_become }}" - when: - - ansible_system == 'Linux' - ansible.builtin.unarchive: - dest: "{{ go.prefix }}" - src: "{{ d_tempdir.path }}/{{ go.archive }}" - remote_src: true - - - name: Install go macOS using pkg file - become: true - when: - - ansible_distribution == 'MacOSX' - ansible.builtin.command: - cmd: "installer -pkg {{ d_tempdir.path }}/{{ go.archive }} -target {{ go.prefix }}" diff --git a/tasks/archive/nerdfonts.yml b/tasks/archive/nerdfonts.yml deleted file mode 100644 index bf1bb20..0000000 --- a/tasks/archive/nerdfonts.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Linux installation - when: ansible_system == 'Linux' - block: - - name: Create nerdfonts directories - become: "{{ ext_become }}" - loop: "{{ nerdfonts.fonts }}" - loop_control: - loop_var: font - register: nerdfont_result - ansible.builtin.file: - path: "{{ path.prefix }}/{{ nerdfonts.path }}/{{ font }}" - state: directory - mode: '0755' - - - name: Download and extract nerdfonts - when: - - nerdfont_result is changed or - nerdfonts.force_install - become: "{{ ext_become }}" - loop: "{{ nerdfonts.fonts }}" - loop_control: - loop_var: font - ansible.builtin.unarchive: - creates: "{{ path.prefix }}/{{ nerdfonts.path }}/{{ font }}/README.md" - src: "{{ nerdfonts.base_url }}/{{ pkgconfig.nerdfonts.fonts[font].archive | default(font) }}.tar.xz" - dest: "{{ path.prefix }}/{{ nerdfonts.path }}/{{ font }}" - remote_src: true diff --git a/tasks/config/bitwarden.yml b/tasks/config/bitwarden.yml deleted file mode 100644 index 33130cd..0000000 --- a/tasks/config/bitwarden.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set bitwarden install method for Linux - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - bitwarden: - method: "{{ pkgconfig.bitwarden.method[ansible_distribution] | default('flatpak') }}" - -- name: Set bitwarden install method for MacOSX - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - bitwarden: - method: cask - -- name: Set bitwarden config - ansible.builtin.set_fact: - bitwarden: - method: "{{ bitwarden.method }}" - pkg: "{{ pkgconfig.bitwarden[bitwarden.method] }}" - -- name: Set bitwarden config for appimage install - when: - - bitwarden.method == 'appimage' - ansible.builtin.set_fact: - bitwarden: - method: appimage - file: "{{ pkgconfig.bitwarden.appimage.name }}" - link_name: "{{ pkgconfig.bitwarden.appimage.link_name }}" - url: "{{ pkgconfig.bitwarden.appimage.url }}" diff --git a/tasks/config/broot.yml b/tasks/config/broot.yml deleted file mode 100644 index 1c111dd..0000000 --- a/tasks/config/broot.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set broot config - ansible.builtin.set_fact: - broot: - vers: "{{ pkgconfig.broot.version }}" - name: broot - locked: true - deps: "{{ pkgconfig.broot.build_deps[ansible_os_family] }}" diff --git a/tasks/config/carapace.yml b/tasks/config/carapace.yml deleted file mode 100644 index 37aae70..0000000 --- a/tasks/config/carapace.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set carapace config - ansible.builtin.set_fact: - carapace: - pkgs: "{{ pkgconfig.carapace.pkgs[ansible_os_family] }}" - repo: "{{ pkgconfig.carapace.repo[ansible_os_family] }}" diff --git a/tasks/config/cbfmt.yml b/tasks/config/cbfmt.yml deleted file mode 100644 index a401171..0000000 --- a/tasks/config/cbfmt.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load cbfmt configuration - ansible.builtin.include_tasks: - file: config/cbfmt.yml - -- name: Append cbfmt to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + cbfmt.pkgs }}" diff --git a/tasks/config/choose.yml b/tasks/config/choose.yml deleted file mode 100644 index 40f62a4..0000000 --- a/tasks/config/choose.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set choose config - ansible.builtin.set_fact: - choose: - name: choose - vers: "{{ pkgconfig.choose.version }}" - locked: true - choose_configured: true diff --git a/tasks/config/clangd.yml b/tasks/config/clangd.yml deleted file mode 100644 index ec1c9a6..0000000 --- a/tasks/config/clangd.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set clangd config - ansible.builtin.set_fact: - clangd: - pkgs: "{{ pkgconfig.clangd.pkgs[ansible_os_family] }}" diff --git a/tasks/config/cmake-format.yml b/tasks/config/cmake-format.yml deleted file mode 100644 index 761d02d..0000000 --- a/tasks/config/cmake-format.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load cmake-format configuration - ansible.builtin.include_tasks: - file: config/cmake-format.yml - -- name: Append cmake-format to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + cmake_format.pkgs }}" diff --git a/tasks/config/cockpit.yml b/tasks/config/cockpit.yml deleted file mode 100644 index 1e8618c..0000000 --- a/tasks/config/cockpit.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set cockpit configuration - ansible.builtin.set_fact: - cockpit: - enabled: true - pkgs: "{{ pkgconfig.cockpit.pkgs[ansible_os_family] | default([]) }}" diff --git a/tasks/config/consul.yml b/tasks/config/consul.yml deleted file mode 100644 index d2cdf6c..0000000 --- a/tasks/config/consul.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set configuration for consul - ansible.builtin.set_fact: - consul: - pkgs: "{{ pkgconfig.consul.pkgs[ansible_system] }}" diff --git a/tasks/config/fd.yml b/tasks/config/fd.yml deleted file mode 100644 index 911c2d4..0000000 --- a/tasks/config/fd.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set fd config - ansible.builtin.set_fact: - fd: - pkgs: "{{ pkgconfig.fd.pkgs[ansible_os_family] }}" diff --git a/tasks/config/firefox.yml b/tasks/config/firefox.yml deleted file mode 100644 index 68b966e..0000000 --- a/tasks/config/firefox.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load firefox pkgconfig - ansible.builtin.set_fact: - firefox: - method: "{{ pkgconfig.firefox.method[ansible_os_family] | default(pkgconfig.firefox.method.default) }}" diff --git a/tasks/config/ghostty.yml b/tasks/config/ghostty.yml deleted file mode 100644 index c3d654b..0000000 --- a/tasks/config/ghostty.yml +++ /dev/null @@ -1,42 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set ghostty install method - ansible.builtin.set_fact: - ghostty: - method: "{{ pkgconfig.ghostty.methods[ansible_distribution] | default(pkgconfig.ghostty.methods.default) }}" - -- name: Set ghostty config - when: - - ghostty.method == 'src' - ansible.builtin.set_fact: - ghostty: - method: "{{ ghostty.method }}" - arch: "{{ pkgconfig.ghostty.archmap[ansible_architecture] }}" - clean: "{{ pkgconfig_ghostty_clean | default(package_default_clean_src) }}" - deps: "{{ pkgconfig.ghostty.build_deps[ansible_os_family] }}" - vers: "{{ pkgconfig.ghostty.version }}" - pkg: "{{ pkgconfig.ghostty[ghostty.method] }}" - repo: "{{ pkgconfig.ghostty.git_repo }}" - build_deps: "{{ pkgconfig.ghostty.build_deps[ansible_os_family] }}" - optimize: "{{ pkgconfig.ghostty.optimize }}" - installed_files: "{{ pkgconfig.ghostty.build_installed_files }}" - -- name: Set ghostty package manager install - when: - - ghostty.method == 'sys' or - ghostty.method == 'cask' - ansible.builtin.set_fact: - ghostty: - method: "{{ ghostty.method }}" - pkg: "{{ pkgconfig.ghostty[ghostty.method] }}" - pkg_repo: "{{ pkgconfig.ghostty.pkg_repo[ansible_distribution] | default(omit) }}" - -- name: Set ghostty config for appimage install - when: - - ghostty.method == 'appimage' - ansible.builtin.set_fact: - ghostty: - 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/git.yml b/tasks/config/git.yml deleted file mode 100644 index fdaba8e..0000000 --- a/tasks/config/git.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set git config - ansible.builtin.set_fact: - git: - pkgs: "{{ pkgconfig.git.pkgs[ansible_os_family] }}" diff --git a/tasks/config/gitea-server.yml b/tasks/config/gitea-server.yml deleted file mode 100644 index 5050824..0000000 --- a/tasks/config/gitea-server.yml +++ /dev/null @@ -1,21 +0,0 @@ -# vim: set filetype=yaml.ansible # ---- -- name: Set gitea server version - ansible.builtin.set_fact: - gitea_server: - vers: "{{ pkgconfig.gitea_server.version }}" - -- name: Set gitea server url and filename - ansible.builtin.set_fact: - gitea_server: - vers: "{{ gitea_server.vers }}" - url: "{{ pkgconfig.gitea_server.baseurl }}/{{ gitea_server.vers }}" - file: "gitea-{{ gitea_server.vers }}-{{ pkgconfig.gitea_server.os[ansible_system] }}-{{ pkgconfig.gitea_server.arch[ansible_architecture] }}" - -- name: Set gitea server sha256sum url - ansible.builtin.set_fact: - gitea_server: - vers: "{{ gitea_server.vers }}" - url: "{{ gitea_server.url }}" - file: "{{ gitea_server.file }}" - sha256url: "sha256:{{ pkgconfig.gitea_server.baseurl }}/{{ gitea_server.vers }}/{{ gitea_server.file }}.sha256" diff --git a/tasks/config/greetd.yml b/tasks/config/greetd.yml deleted file mode 100644 index 73302c6..0000000 --- a/tasks/config/greetd.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set config for greetd - ansible.builtin.set_fact: - greetd: - pkgs: "{{ pkgconfig.greetd.pkgs[ansible_os_family] }}" diff --git a/tasks/config/hashicorp.yml b/tasks/config/hashicorp.yml deleted file mode 100644 index 9ffb9d5..0000000 --- a/tasks/config/hashicorp.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set OS name for RedHat family - when: - - ansible_os_family == 'RedHat' - ansible.builtin.set_fact: - hashicorp: - repo: "{{ pkgconfig.hashicorp.Linux[rpm_dist.stdout].repo }}" - -- name: Set repo for debian - when: - - ansible_os_family == 'Debian' - ansible.builtin.set_fact: - hashicorp: - repo: "{{ pkgconfig.hashicorp.Linux.Debian.repo }}" diff --git a/tasks/config/httpie.yml b/tasks/config/httpie.yml deleted file mode 100644 index 81bb2b6..0000000 --- a/tasks/config/httpie.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set method for httpie - ansible.builtin.set_fact: - httpie: - method: "{{ pkgconfig.httpie.method[ansible_distribution] | default(pkgconfig.httpie.method.default) }}" - -- name: Set config for httpie - ansible.builtin.set_fact: - httpie: - method: "{{ httpie.method }}" - pkg: "{{ pkgconfig.httpie[httpie.method] }}" diff --git a/tasks/config/hyprcursor.yml b/tasks/config/hyprcursor.yml deleted file mode 100644 index cab811b..0000000 --- a/tasks/config/hyprcursor.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprcursor config - ansible.builtin.set_fact: - hyprcursor: - vers: "{{ pkgconfig.hyprcursor.version }}" - pkg_deps: "{{ pkgconfig.hyprcursor.pkg_deps }}" - build_deps: "{{ srcconfig.hyprcursor.deps[ansible_os_family] }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprgraphics.yml b/tasks/config/hyprgraphics.yml deleted file mode 100644 index 9291a8f..0000000 --- a/tasks/config/hyprgraphics.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprgraphics config - ansible.builtin.set_fact: - hyprgraphics: - vers: "{{ pkgconfig.hyprgraphics.version }}" - build_deps: "{{ srcconfig.hyprgraphics.deps[ansible_os_family] }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hypridle.yml b/tasks/config/hypridle.yml deleted file mode 100644 index 9fe907f..0000000 --- a/tasks/config/hypridle.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hypridle config - ansible.builtin.set_fact: - hypridle: - vers: "{{ pkgconfig.hypridle.version }}" - repo: "{{ pkgconfig.hypridle.repo }}" - pkg_deps: "{{ pkgconfig.hypridle.pkg_deps }}" - build_deps: "{{ pkgconfig.hypridle.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hypridle.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hypridle" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprland.yml b/tasks/config/hyprland.yml deleted file mode 100644 index 1400ebb..0000000 --- a/tasks/config/hyprland.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprland config - ansible.builtin.set_fact: - hyprland: - vers: "{{ pkgconfig.hyprland.version }}" - repo: "{{ pkgconfig.hyprland.repo }}" - pkg_deps: "{{ pkgconfig.hyprland.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprland.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprland.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/Hyprland" - prefix: "/usr/local" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprland_protocols.yml b/tasks/config/hyprland_protocols.yml deleted file mode 100644 index adc7585..0000000 --- a/tasks/config/hyprland_protocols.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprland-protocols config - ansible.builtin.set_fact: - hyprland_protocols: - vers: "{{ pkgconfig.hyprland_protocols.version }}" - repo: "{{ pkgconfig.hyprland_protocols.repo }}" - build_deps: "{{ pkgconfig.hyprland_protocols.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprland_protocols.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprland-protocols" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprland_qt_support.yml b/tasks/config/hyprland_qt_support.yml deleted file mode 100644 index f499068..0000000 --- a/tasks/config/hyprland_qt_support.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprland_qt_support config - ansible.builtin.set_fact: - hyprland_qt_support: - vers: "{{ pkgconfig.hyprland_qt_support.version }}" - repo: "{{ pkgconfig.hyprland_qt_support.repo }}" - pkg_deps: "{{ pkgconfig.hyprland_qt_support.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprland_qt_support.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprland_qt_support.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprland_qt_support" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprland_qtutils.yml b/tasks/config/hyprland_qtutils.yml deleted file mode 100644 index 0a30330..0000000 --- a/tasks/config/hyprland_qtutils.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprland_qtutils config - ansible.builtin.set_fact: - hyprland_qtutils: - vers: "{{ pkgconfig.hyprland_qtutils.version }}" - repo: "{{ pkgconfig.hyprland_qtutils.repo }}" - pkg_deps: "{{ pkgconfig.hyprland_qtutils.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprland_qtutils.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprland_qtutils.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprland_qtutils" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprlang.yml b/tasks/config/hyprlang.yml deleted file mode 100644 index 5935227..0000000 --- a/tasks/config/hyprlang.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprlang config - ansible.builtin.set_fact: - hyprlang: - vers: "{{ pkgconfig.hyprlang.version }}" - repo: "{{ pkgconfig.hyprlang.repo }}" - pkg_deps: "{{ pkgconfig.hyprlang.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprlang.build_deps[ansible_os_family] }}" - git_path: "{{ d_tempdir.path }}/hyprlang" - installed_files: "{{ pkgconfig.hyprlang.build_installed_files }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprlock.yml b/tasks/config/hyprlock.yml deleted file mode 100644 index 7aede14..0000000 --- a/tasks/config/hyprlock.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprlock config - ansible.builtin.set_fact: - hyprlock: - vers: "{{ pkgconfig.hyprlock.version }}" - repo: "{{ pkgconfig.hyprlock.repo }}" - pkg_deps: "{{ pkgconfig.hyprlock.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprlock.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprlock.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprlock" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprpaper.yml b/tasks/config/hyprpaper.yml deleted file mode 100644 index 575a56c..0000000 --- a/tasks/config/hyprpaper.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprpaper config - ansible.builtin.set_fact: - hyprpaper: - vers: "{{ pkgconfig.hyprpaper.version }}" - repo: "{{ pkgconfig.hyprpaper.repo }}" - pkg_deps: "{{ pkgconfig.hyprpaper.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprpaper.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprpaper.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprpaper" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprpicker.yml b/tasks/config/hyprpicker.yml deleted file mode 100644 index 306702f..0000000 --- a/tasks/config/hyprpicker.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprpicker config - ansible.builtin.set_fact: - hyprpicker: - vers: "{{ pkgconfig.hyprpicker.version }}" - repo: "{{ pkgconfig.hyprpicker.repo }}" - pkg_deps: "{{ pkgconfig.hyprpicker.pkg_deps }}" - build_deps: "{{ pkgconfig.hyprpicker.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprpicker.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprpicker" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprpolkitagent.yml b/tasks/config/hyprpolkitagent.yml deleted file mode 100644 index a9db2bf..0000000 --- a/tasks/config/hyprpolkitagent.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprpolkitagent config - ansible.builtin.set_fact: - hyprpolkitagent: - vers: "{{ pkgconfig.hyprpolkitagent.version }}" - repo: "{{ pkgconfig.hyprpolkitagent.repo }}" - build_deps: "{{ pkgconfig.hyprpolkitagent.build_deps[ansible_os_family] }}" - installed_files: "{{ pkgconfig.hyprpolkitagent.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/hyprpolkitagent" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprutils.yml b/tasks/config/hyprutils.yml deleted file mode 100644 index d1ac26d..0000000 --- a/tasks/config/hyprutils.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyprutils config - ansible.builtin.set_fact: - hyprutils: - vers: "{{ pkgconfig.hyprutils.version }}" - repo: "{{ pkgconfig.hyprutils.repo }}" - git_path: "{{ d_tempdir.path }}/hyprutils" - installed_files: "{{ pkgconfig.hyprutils.build_installed_files }}" - build_deps: "{{ pkgconfig.hyprutils.build_deps[ansible_os_family] }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/hyprwayland_scanner.yml b/tasks/config/hyprwayland_scanner.yml deleted file mode 100644 index 8daf50f..0000000 --- a/tasks/config/hyprwayland_scanner.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set hyperwayland-scanner config - ansible.builtin.set_fact: - hyprwayland_scanner: - vers: "{{ pkgconfig.hyprwayland_scanner.version }}" - repo: "{{ pkgconfig.hyprwayland_scanner.repo }}" - build_deps: "{{ pkgconfig.hyprwayland_scanner.build_deps[ansible_os_family] }}" - git_path: "{{ d_tempdir.path }}/hyprwayland-scanner" - installed_files: "{{ pkgconfig.hyprwayland_scanner.build_installed_files }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/kitty.yml b/tasks/config/kitty.yml deleted file mode 100644 index 5b37fbf..0000000 --- a/tasks/config/kitty.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set kitty config - ansible.builtin.set_fact: - kitty: - pkgs: "{{ pkgconfig.kitty.pkgs[ansible_system] }}" diff --git a/tasks/config/libreoffice.yml b/tasks/config/libreoffice.yml deleted file mode 100644 index 6dbd69a..0000000 --- a/tasks/config/libreoffice.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set libreoffice config - ansible.builtin.set_fact: - libreoffice: - method: "{{ pkgconfig.libreoffice.methods[ansible_distribution] | default(pkgconfig.libreoffice.methods.default) }}" - flatpak: "{{ pkgconfig.libreoffice.flatpak }}" - pkgs: "{{ pkgconfig.libreoffice.pkgs[ansible_os_family] }}" diff --git a/tasks/config/luals.yml b/tasks/config/luals.yml deleted file mode 100644 index 7b24ec2..0000000 --- a/tasks/config/luals.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set luals config - ansible.builtin.set_fact: - luals: - vers: "{{ pkgconfig.luals.version }}" - sys: "{{ pkgconfig.luals.sysmap[ansible_system] }}" - arch: "{{ pkgconfig.luals.archmap[ansible_architecture] }}" - -- name: Set luals config - ansible.builtin.set_fact: - luals: - vers: "{{ luals.vers }}" - sys: "{{ luals.sys }}" - arch: "{{ luals.arch }}" - archive: "lua-language-server-{{ luals.vers }}-{{ luals.sys }}-{{ luals.arch }}.tar.gz" - url: "{{ pkgconfig.luals.base_url }}/{{ luals.vers }}" diff --git a/tasks/config/neovide.yml b/tasks/config/neovide.yml deleted file mode 100644 index 925acab..0000000 --- a/tasks/config/neovide.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set neovide config - ansible.builtin.set_fact: - neovide: - name: neovide - build_deps: "{{ pkgconfig.neovide.build_deps[ansible_os_family] }}" - vers: "{{ pkgconfig.neovide.version }}" - locked: true diff --git a/tasks/config/neovim.yml b/tasks/config/neovim.yml deleted file mode 100644 index edb46fa..0000000 --- a/tasks/config/neovim.yml +++ /dev/null @@ -1,39 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set neovim install method - ansible.builtin.set_fact: - neovim: - method: "{{ pkgconfig.neovim.methods[ansible_distribution] | default(pkgconfig.neovim.methods.default) }}" - -- name: Set neovim sys package manager config - when: - - neovim.method == 'sys' - ansible.builtin.set_fact: - neovim: - method: "{{ neovim.method }}" - pkgs: "{{ pkgconfig.neovim.pkgs[ansible_distribution] | default(pkgconfig.neovim.pkgs.default) }}" - -- name: Set neovim src build config - when: - - neovim.method == 'src' - ansible.builtin.set_fact: - neovim: - method: "{{ neovim.method }}" - vers: "{{ pkgconfig.neovim.git_branch }}" - build_deps: "{{ pkgconfig.neovim.build_deps[ansible_os_family] }}" - git_repo: "{{ pkgconfig.neovim.git_repo }}" - git_path: "{{ d_tempdir.path }}/neovim" - git_branch: "{{ pkgconfig.neovim.git_branch }}" - build_type: "{{ pkgconfig.neovim.build_type }}" - clean: "{{ pkgconfig_neovim.clean | default(_pkgconfig_force_rebuild) }}" - installed_files: "{{ pkgconfig.neovim.build_installed_files }}" - -- name: Set neovim config for appimage install - when: - - neovim.method == 'appimage' - ansible.builtin.set_fact: - neovim: - method: "{{ neovim.method }}" - file: "nvim-linux-{{ ansible_architecture }}.appimage" - link_name: nvim - url: "{{ pkgconfig.neovim.appimage.base_url }}/{{ neovim.vers }}/nvim-linux-{{ ansible_architecture }}.appimage" diff --git a/tasks/config/nerdfonts.yml b/tasks/config/nerdfonts.yml deleted file mode 100644 index 099cb46..0000000 --- a/tasks/config/nerdfonts.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set facts for nerdfonts - ansible.builtin.set_fact: - nerdfonts: - fonts: "{{ nerdfonts_install | default(pkgconfig.nerdfonts.default_install) }}" - path: "{{ pkgconfig.nerdfonts.path }}" - base_url: "{{ pkgconfig.nerdfonts.base_url }}" - force_install: "{{ pkgconfig.force_install_nerdfonts | default(false) }}" diff --git a/tasks/config/nextcloud.yml b/tasks/config/nextcloud.yml deleted file mode 100644 index 6c622ee..0000000 --- a/tasks/config/nextcloud.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set nextcloud install method - ansible.builtin.set_fact: - nextcloud: - method: "{{ pkgconfig.nextcloud.method | default('flatpak') }}" - -- name: Set nextcloud config - when: - - nextcloud.method == 'flatpak' - ansible.builtin.set_fact: - nextcloud: - method: "{{ nextcloud.method }}" - name: "{{ pkgconfig.nextcloud.flatpak.name }}" - remote: "{{ pkgconfig.nextcloud.flatpak.remote }}" diff --git a/tasks/config/nfs_client.yml b/tasks/config/nfs_client.yml deleted file mode 100644 index 63fc50f..0000000 --- a/tasks/config/nfs_client.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure nfs_client - ansible.builtin.set_fact: - nfs_client: - pkgs: "{{ pkgconfig.nfs_client.pkgs[ansible_os_family] }}" diff --git a/tasks/config/nfs_server.yml b/tasks/config/nfs_server.yml deleted file mode 100644 index 9f87c3a..0000000 --- a/tasks/config/nfs_server.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure nfs_server - ansible.builtin.set_fact: - nfs_server: - pkgs: "{{ pkgconfig.nfs_server.pkgs[ansible_os_family] }}" diff --git a/tasks/config/nodejs.yml b/tasks/config/nodejs.yml deleted file mode 100644 index cd4ff44..0000000 --- a/tasks/config/nodejs.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set nodejs config - ansible.builtin.set_fact: - nodejs: - pkgs: "{{ pkgconfig.nodejs.pkgs[ansible_system] }}" diff --git a/tasks/config/nomad.yml b/tasks/config/nomad.yml deleted file mode 100644 index 473ef47..0000000 --- a/tasks/config/nomad.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set nomad config - ansible.builtin.set_fact: - nomad: - pkgs: "{{ pkgconfig.nomad.pkgs[ansible_system] }}" diff --git a/tasks/config/nwg_hello.yml b/tasks/config/nwg_hello.yml deleted file mode 100644 index eec01df..0000000 --- a/tasks/config/nwg_hello.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set nwg-hello configuration - ansible.builtin.set_fact: - nwg_hello: - vers: "{{ pkgconfig.nwg_hello.version }}" - git_repo: "{{ pkgconfig.nwg_hello.git_repo }}" - installed_files: "{{ pkgconfig.nwg_hello.build_installed_files }}" - git_path: "{{ d_tempdir.path }}/nwg-hello" - build_deps: "{{ pkgconfig.nwg_hello.bulid_deps[ansible_os_family] }}" - clean: "{{ pkgconfig_nwg_hello_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/packer.yml b/tasks/config/packer.yml deleted file mode 100644 index 9c54a91..0000000 --- a/tasks/config/packer.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set packer config - ansible.builtin.set_fact: - packer: - method: "{{ pkgconfig.packer.method[ansible_system] | default(pkgconfig.packer.method.default) }}" - -- name: Set packer config for system install - when: - - packer.method == 'sys' or - packer.method == 'tap' - ansible.builtin.set_fact: - packer: - method: "{{ packer.method }}" - pkgs: "{{ pkgconfig.packer.pkgs[ansible_system] }}" - -- name: Set packer config for archive install - when: - - packer.method == 'archive' - ansible.builtin.set_fact: - packer: - method: "{{ packer.method }}" - archive: - file: "packer_{{ pkgconfig.packer.version }}_linux_amd64.zip" - url: "{{ pkgconfig.packer.archive.baseurl }}/packer/{{ pkgconfig.packer.version }}" diff --git a/tasks/config/pgadmin.yml b/tasks/config/pgadmin.yml deleted file mode 100644 index 4f71c99..0000000 --- a/tasks/config/pgadmin.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set pgadmin config - ansible.builtin.set_fact: - pgadmin: - method: "{{ pkgconfig.pgadmin.methods[ansible_distribution] | default(pkgconfig.pgadmin.methods.default) }}" - pkgs: "{{ pkgconfig.pgadmin.pkgs[ansible_system] }}" - flatpak: "{{ pkgconfig.pgadmin.flatpak }}" diff --git a/tasks/config/postgresql_server.yml b/tasks/config/postgresql_server.yml deleted file mode 100644 index f83e935..0000000 --- a/tasks/config/postgresql_server.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set postgresql server install method - ansible.builtin.set_fact: - postgresql_server: - method: "{{ pkgconfig.postgresql_server.method[ansible_os_family] | default(pkgconfig.postgresql_server.method.default) }}" - vers: "{{ pkgconfig.postgresql_server.version }}" - -- name: Set postgresql server config - when: - - postgresql_server.method == 'sys' - ansible.builtin.set_fact: - postgresql_server: - method: "{{ postgresql_server.method }}" - pkgs: "{{ pkgconfig.postgresql_server.pkgs[ansible_os_family][postgresql_server.vers] }}" diff --git a/tasks/config/pulumi.yml b/tasks/config/pulumi.yml deleted file mode 100644 index a359f5f..0000000 --- a/tasks/config/pulumi.yml +++ /dev/null @@ -1,14 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set pulumi config - ansible.builtin.set_fact: - pulumi: - vers: "{{ pkgconfig.pulumi.version }}" - archive: "pulumi-{{ pkgconfig.pulumi.version }}-{{ ansible_system | lower }}-{{ pkgconfig.pulumi.archmap[ansible_architecture] }}.tar.gz" - -- name: Set pulumi config - ansible.builtin.set_fact: - pulumi: - vers: "{{ pulumi.vers }}" - archive: "{{ pulumi.archive }}" - dlurl: "{{ pkgconfig.pulumi.url_base }}/{{ pulumi.archive }}" diff --git a/tasks/config/python3.yml b/tasks/config/python3.yml deleted file mode 100644 index c35fb6b..0000000 --- a/tasks/config/python3.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set python3 config - ansible.builtin.set_fact: - python3: - pkgs: "{{ pkgconfig.python3.pkgs[ansible_os_family] }}" diff --git a/tasks/config/rust.yml b/tasks/config/rust.yml deleted file mode 100644 index 2ca567a..0000000 --- a/tasks/config/rust.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set rust config - ansible.builtin.set_fact: - rust: - pkgs: "{{ pkgconfig.rust.pkgs[ansible_os_family] }}" diff --git a/tasks/config/samba_client.yml b/tasks/config/samba_client.yml deleted file mode 100644 index 02a6855..0000000 --- a/tasks/config/samba_client.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure samba_client - ansible.builtin.set_fact: - samba_client: - pkgs: "{{ pkgconfig.samba_client.pkgs[ansible_os_family] | default([]) }}" diff --git a/tasks/config/samba_server.yml b/tasks/config/samba_server.yml deleted file mode 100644 index fc3c903..0000000 --- a/tasks/config/samba_server.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure samba_server - ansible.builtin.set_fact: - samba_server: - pkgs: "{{ pkgconfig.samba_server.pkgs[ansible_os_family] }}" diff --git a/tasks/config/sdbus_cpp_2.yml b/tasks/config/sdbus_cpp_2.yml deleted file mode 100644 index 651630f..0000000 --- a/tasks/config/sdbus_cpp_2.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set sdbus-cpp-2 config - ansible.builtin.set_fact: - sdbus_cpp_2: - vers: "{{ pkgconfig.sdbus_cpp_2.version }}" - repo: "{{ pkgconfig.sdbus_cpp_2.repo }}" - build_deps: "{{ pkgconfig.sdbus_cpp_2.build_deps[ansible_os_family] }}" - git_path: "{{ d_tempdir.path }}/sdbus-cpp" - prefix: "/usr/local" - clean: "{{ pkgconfig_sdbus_cpp_2_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/tailscale.yml b/tasks/config/tailscale.yml deleted file mode 100644 index 6ba9f2d..0000000 --- a/tasks/config/tailscale.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- 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/targetcli.yml b/tasks/config/targetcli.yml deleted file mode 100644 index 98e3d0a..0000000 --- a/tasks/config/targetcli.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Configure targetcli - ansible.builtin.set_fact: - targetcli: - pkgs: "{{ pkgconfig.targetcli.pkgs[ansible_os_family] | default([]) }}" - services: "{{ pkgconfig.targetcli.services[ansible_os_family] | default([]) }}" diff --git a/tasks/config/terraform.yml b/tasks/config/terraform.yml deleted file mode 100644 index 7617c5c..0000000 --- a/tasks/config/terraform.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set terraform install method - ansible.builtin.set_fact: - terraform: - method: "{{ pkgconfig.terraform.method[ansible_os_family] | default(pkgconfig.terraform.method.default) }}" - -- name: Set terraform config - when: - - terraform.method == 'sys' - ansible.builtin.set_fact: - terraform: - method: "{{ terraform.method }}" - pkgs: "{{ pkgconfig.terraform.pkgs[ansible_system] }}" - -- name: Set terraform archive config - when: - - terraform.method == 'archive' - ansible.builtin.set_fact: - terraform: - method: "{{ terraform.method }}" - archive: "terraform_{{ pkgconfig.terraform.version }}_{{ pkgconfig.terraform[sysmap] }}_{{ pkgconfig.terraform[archmap] }}.zip" - url: "{{ pkgconfig.terraform.archive.baseurl }}/{{ pkgconfig.terraform.version }}" - path: "{{ path.archive }}/terraform" - bin: "{{ path.bin }}/terraform" diff --git a/tasks/config/terraformls.yml b/tasks/config/terraformls.yml deleted file mode 100644 index 1cc7fca..0000000 --- a/tasks/config/terraformls.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set terraformls install method - ansible.builtin.set_fact: - terraformls: - method: "{{ pkgconfig.terraformls.method[ansible_os_family] | default(pkgconfig.terraformls.method.default) }}" - -- name: Set terraformls config - when: - - terraformls.method == 'sys' - ansible.builtin.set_fact: - terraformls: - method: "{{ terraformls.method }}" - pkgs: "{{ pkgconfig.terraformls.pkgs[ansible_system] }}" - -- name: Set terraformls config - when: - - terraformls.method == 'gosrc' - ansible.builtin.set_fact: - terraformls: - method: "{{ terraformls.method }}" - gopkg: "{{ pkgconfig.terraformls.gobase }}@{{ pkgconfig.terraformls.version }}" diff --git a/tasks/config/tidy.yml b/tasks/config/tidy.yml deleted file mode 100644 index a083f0a..0000000 --- a/tasks/config/tidy.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set tidy config - ansible.builtin.set_fact: - tidy: - pkgs: "{{ pkgconfig.tidy.pkgs[ansible_os_family] }}" diff --git a/tasks/config/uwsm.yml b/tasks/config/uwsm.yml deleted file mode 100644 index 106d6df..0000000 --- a/tasks/config/uwsm.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set uwsm config - ansible.builtin.set_fact: - uwsm: - vers: "{{ pkgconfig.uwsm.version }}" - repo: "{{ pkgconfig.uwsm.repo }}" - build_deps: "{{ pkgconfig.uwsm.build_deps[ansible_os_family] }}" - deps: "{{ pkgconfig.uwsm.deps[ansible_os_family] }}" - clean: "{{ pkgconfig_uwsm_clean | default(package_default_clean_src) }}" - installed_files: "{{ pkgconfig.uwsm.build_installed_files }}" - prefix: "/usr/local" diff --git a/tasks/config/vault.yml b/tasks/config/vault.yml deleted file mode 100644 index dc8dd7c..0000000 --- a/tasks/config/vault.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set vault install method - ansible.builtin.set_fact: - vault: - method: "{{ pkgconfig.vault.method[ansible_os_family] | default(pkgconfig.vault.method.default) }}" - -- name: Set vault config - when: - - vault.method == 'sys' - ansible.builtin.set_fact: - vault: - method: "{{ vault.method }}" - pkgs: "{{ pkgconfig.vault.pkgs[ansible_system] }}" - -- name: Set vault config - when: - - vault.method == 'archive' - ansible.builtin.set_fact: - vault: - method: "{{ vault.method }}" - archive: "vault_{{ pkgconfig.vault.version }}_{{ pkgconfig.vault.sysmap[ansible_system] }}_{{ pkgconfig.vault.archmap[ansible_architecture] }}.zip" - url: "{{ pkgconfig.vault.archive.baseurl }}/{{ pkgconfig.vault.version }}" - path: "{{ path.archive }}/vault" - bin: "{{ path.bin }}/vault" diff --git a/tasks/config/xdg_desktop_portal_hyprland.yml b/tasks/config/xdg_desktop_portal_hyprland.yml deleted file mode 100644 index 1d30151..0000000 --- a/tasks/config/xdg_desktop_portal_hyprland.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set xdg-desktop-portal-hyprland config - ansible.builtin.set_fact: - xdg_desktop_portal_hyprland: - vers: "{{ pkgconfig.xdg_desktop_portal_hyprland.version }}" - repo: "{{ pkgconfig.xdg_desktop_portal_hyprland.repo }}" - pkg_deps: "{{ pkgconfig.xdg_desktop_portal_hyprland.pkg_deps }}" - build_deps: "{{ pkgconfig.xdg_desktop_portal_hyprland.build_deps[ansible_os_family] }}" - git_path: "{{ d_tempdir.path }}/xdg-desktop-portal-hyprland" - installed_files: "{{ pkgconfig.xdg_desktop_portal_hyprland.build_installed_files }}" - clean: "{{ pkgconfig_hyprland_clean | default(package_default_clean_src) }}" diff --git a/tasks/config/xh.yml b/tasks/config/xh.yml deleted file mode 100644 index d65b215..0000000 --- a/tasks/config/xh.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set xh config - ansible.builtin.set_fact: - xh: - vers: "{{ pkgconfig.xh.version }}" - name: xh - locked: true diff --git a/tasks/config/zfs.yml b/tasks/config/zfs.yml deleted file mode 100644 index 1e84719..0000000 --- a/tasks/config/zfs.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set distro name - when: - - ansible_os_family == 'RedHat' - ansible.builtin.set_fact: - rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}" - -- name: Set deps for distros - ansible.builtin.set_fact: - zfs: - deps: "{% if ansible_distribution == 'Fedora' %}{{ pkgconfig.zfs.build_deps.Fedora }}{% else %}{{ pkgconfig.zfs.build_deps[ansible_os_family] }}{% endif %}" - -- name: Set ZFS config - ansible.builtin.set_fact: - zfs: - repo_pkg: "{{ pkgconfig.zfs.repo_base }}/{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm" - deps: "{{ zfs.deps }}" - pkgs: "{{ pkgconfig.zfs.pkgs[ansible_os_family] }}" - skip_gpg_check: "{{ rhname == 'fedora' }}" - release: "{{ ansible_distribution_release }}" - gpg_key: "{{ pkgconfig.zfs.gpg_key }}" - gpg_fp: "{{ pkgconfig.zfs.gpg_key_fingerprint }}" diff --git a/tasks/config/zig.yml b/tasks/config/zig.yml deleted file mode 100644 index dcb875b..0000000 --- a/tasks/config/zig.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set zig configuration - ansible.builtin.set_fact: - zig: - vers: "{{ pkgconfig.zig.version }}" - path: "zig-{{ pkgconfig.zig.sysmap[ansible_system] }}-{{ pkgconfig.zig.archmap[ansible_architecture] }}-{{ pkgconfig.zig.version }}" - pkg: "zig-{{ pkgconfig.zig.sysmap[ansible_system] }}-{{ pkgconfig.zig.archmap[ansible_architecture] }}-{{ pkgconfig.zig.version }}.tar.xz" - base_url: "{{ pkgconfig.zig.base_url }}" diff --git a/tasks/config/zls.yml b/tasks/config/zls.yml deleted file mode 100644 index b53b8e6..0000000 --- a/tasks/config/zls.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set zls config - ansible.builtin.set_fact: - zls: - path: "zls-{{ pkgconfig.zls.sysmap[ansible_system] }}-{{ pkgconfig.zls.archmap[ansible_architecture] }}-{{ pkgconfig.zls.version }}" - pkg: "zls-{{ pkgconfig.zls.sysmap[ansible_system] }}-{{ pkgconfig.zls.archmap[ansible_architecture] }}-{{ pkgconfig.zls.version }}.tar.xz" - vers: "{{ pkgconfig.zls.version }}" - base_url: "{{ pkgconfig.zls.base_url }}" diff --git a/tasks/main.yml b/tasks/main.yml index 5734f99..d7acaeb 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -104,12 +104,6 @@ - pkg_npm|length > 0 ansible.builtin.include_tasks: pkgs/nodejs.yml -- name: Ensure flatpak is installed - when: - - pkg_flatpak is defined - - pkg_flatpak|length > 0 - ansible.builtin.include_tasks: pkgs/flatpak.yml - - name: Ensure appimage path exists when: - pkg_appimage is defined diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml new file mode 100644 index 0000000..93ff94f --- /dev/null +++ b/tasks/pkgs/bitwarden.yml @@ -0,0 +1,47 @@ +# vim: set filetype=yaml.ansible : +# +## Package: bitwarden +## Description: Desktop GUI for the bitwarden password/secrets manager +## Version: latest +## Methods: +## - flatpak +## - appimage +## Helpers: +## - flatpak +## - appimage +--- +- name: Set bitwarden default facts # {{{ + ansible.builtin.set_fact: + bitwarden: + install_methods: + - flatpak + - appimage + flatpak: + name: com.bitwarden.desktop + remote: flathub + method: system + appimage_url: https://bitwarden.com/download/?app=desktop&platform=linux&variant=appimage + pkg_deps: + - flatpak + - flathub +# }}} +- name: Configure bitwarden + when: + - "'bitwarden' not in __configured" + block: + - name: Set bitwarden install method + when: + - bitwarden_install_method is undefined + ansible.builtin.set_fact: + bitwarden_install_method: "{{ install_method if install_method in bitwarden.install_methods else bitwarden.install_methods[0] }}" + + - name: Set flatpak install facts + when: + - bitwarden_install_method == "flatpak" + block: + - name: Set flatpak package name + ansible.builtin.set_fact: + bitwarden_flatpak: + name: "{{ bitwarden.flatpak.name }}" + remote: "{{ bitwarden.flatpak.remote }}" + method: "{{ bitwarden_flatpak_method | default(flatpak_method) }}" diff --git a/tasks/pkgs/flatpak.yml b/tasks/pkgs/flatpak.yml index 3665a35..96ac4c5 100644 --- a/tasks/pkgs/flatpak.yml +++ b/tasks/pkgs/flatpak.yml @@ -1,5 +1,18 @@ # vim: set filetype=yaml.ansible : +# +## Package: flatpak +## Description: Universal application runtime for linux +## Version: latest +## Methods: +## - system --- +- name: Set flatpak default facts # {{{ + ansible.builtin.set_fact: + flatpak: + install_methods: + - system + pkgname: "{{ pkglist[os_family] }}" +# }}} - name: Append flatpak to pkg_sys when: - ansible_system == 'Linux' diff --git a/vars/pkglist.yml b/vars/pkglist.yml index 522442c..ef14324 100644 --- a/vars/pkglist.yml +++ b/vars/pkglist.yml @@ -1,6 +1,64 @@ # vim: set filetype=yaml.ansible : --- -# Default install variables as needed +## Package level variables for per distribution install names +## Format: +## [pkgname]: +## [os_family]: +## name: distro pkgname +## build_deps: [list of deps for building], only included if required + +alacritty: + RedHat: + name: alacritty + build_deps: + - fontconfig-devel + - freetype-devel + - g++ + - libxcb-devel + - libxkbcommon-devel + - desktop-file-utils + Debian: + name: alacritty + build_deps: + - g++ + - pkg-config + - libfontconfig1-dev + - libxcb-xfixes0-dev + - libxkbcommon-dev + - python3 + - libfreetype6-dev + - desktop-file-utils + Alpine: + name: alacritty + build_deps: + - pkgconf + - freetype-dev + - fontconfig-dev + - python3 + - libxcb-dev + - g++ + - libxkbcommon-dev + - desktop-file-utils + Archlinux: + name: alacritty + build_deps: + - freetype2 + - fontconfig + - pkg-config + - make + - libxcb + - libxkbcommon + - python + - desktop-file-utils + FreeBSD: + + - freetype2 + - fontconfig + - pkgconf + - python3 + - desktop-file-utils +flatpak: + name: flatpak ## Restrictions for package install methods. ## The first item is the default method. If only -- 2.47.3 From fe266d4b735bc16e0d6ee0423db5b5e1a7c1c2ef Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sat, 14 Mar 2026 20:22:51 -0600 Subject: [PATCH 32/48] just finished cbfmt --- tasks/pkgs/alacritty.yml | 2 +- tasks/pkgs/ansible.yml | 4 +-- tasks/pkgs/ansible_lint.yml | 2 +- tasks/pkgs/bitwarden.yml | 6 ++++ tasks/pkgs/broot.yml | 60 +++++++++++++++++++++++++++++-------- tasks/pkgs/btop.yml | 25 ++++++++++++++-- tasks/pkgs/buf.yml | 33 ++++++++++++++++---- tasks/pkgs/bufls.yml | 36 ++++++++++++++++------ tasks/pkgs/cargo.yml | 9 ++++-- tasks/pkgs/cbfmt.yml | 27 +++++++++++++++-- 10 files changed, 166 insertions(+), 38 deletions(-) diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 9dcef01..da0aaf3 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -101,7 +101,7 @@ - name: Set alacritty install extra build deps when: - ansible_os_family == "RedHat" - - ansible_os_major_version < 9 + - ansible_distribution_major_version|int <= 8 block: - name: Add extra dependencies for EL7 when: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index eeaa37d..8319ae7 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -33,13 +33,13 @@ when: - ansible_install_method == "system" ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ ansible_pkgname[os_family] ] }}" + pkg_sys: "{{ pkg_sys + [ ansible.pkgname[os_family] ] }}" - name: Append ansible to pipx install list when: - ansible_install_method == 'source' ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + [ { 'name': ansible_pkgname['pip'] } ] }}" + pkg_pipx: "{{ pkg_pipx + [ { 'name': ansible.pkgname['pip'] } ] }}" - name: Complete ansible configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 8a73ab2..aa634fa 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -30,7 +30,7 @@ when: - ansible_lint_install_method is undefined ansible.builtin.set_fact: - ansible_lint_install_method: "{{ install_method if install_method in ansible_lint_install_methods else ansible_lint_methods[0] }}" + ansible_lint_install_method: "{{ install_method if install_method in ansible_lint.install_methods else ansible_lint.install_methods[0] }}" - name: Configure pipx source install when: diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml index 93ff94f..a0a508d 100644 --- a/tasks/pkgs/bitwarden.yml +++ b/tasks/pkgs/bitwarden.yml @@ -45,3 +45,9 @@ name: "{{ bitwarden.flatpak.name }}" remote: "{{ bitwarden.flatpak.remote }}" method: "{{ bitwarden_flatpak_method | default(flatpak_method) }}" + + - name: Finalize bitwarden configuration + when: + - "'bitwarden' not in __configured" + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'bitwarden': bitwarden_install_method } ) }}" diff --git a/tasks/pkgs/broot.yml b/tasks/pkgs/broot.yml index 2b10567..83a51b8 100644 --- a/tasks/pkgs/broot.yml +++ b/tasks/pkgs/broot.yml @@ -1,24 +1,58 @@ # vim: set filetype=yaml.ansible : --- +- name: Set default broot values + ansible.builtin.set_fact: + broot: + install_methods: + - system + - source + version: 1.55.0 + build_deps: + Debian: + - build-essential + - libxcb1-dev + - libxcb-render0-dev + - libxcb-shape0-dev + - libxcb-xfixes0-dev + RedHat: + - libxcb-devel + Alpine: + - libxcb-dev + Darwin: [] - name: Add broot + when: + - "'broot' not in __configured" block: - - name: Load broot config - ansible.builtin.include_tasks: - file: config/broot.yml - - - name: Append broot to pkg_sys and pkg_cargo + - name: Set broot install method when: - - ansible_system == 'Linux' + - broot_install_method is undefined ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + broot.deps }}" - pkg_cargo: "{{ pkg_cargo + [broot] }}" + broot_install_method: "{{ install_method if install_method in broot.install_methods else broot.install_methods[0] }}" - - name: Append broot to pkg_sys + - name: Configure broot source install when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['broot'] }}" + - broot_install_method == 'source' + block: + - name: Set cargo build options + ansible.builtin.set_fact: + broot_cargo_install: + name: broot + version: "{{ broot.version }}" + - name: Append broot to install list + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + broot.build_deps[os_family] }}" + pkg_cargo: "{{ pkg_cargo + [broot_cargo_install] }}" + + - name: Configure broot system install + when: + - broot_install_method == 'system' + block: + - name: Append broot to pkg_sys + when: + - ansible_system == 'Darwin' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['broot'] }}" - name: Set broot_configured ansible.builtin.set_fact: - broot_configured: true + __configured: "{{ __configured | combine( { 'broot': broot_install_method } ) }}" diff --git a/tasks/pkgs/btop.yml b/tasks/pkgs/btop.yml index 56c6cf7..0c65712 100644 --- a/tasks/pkgs/btop.yml +++ b/tasks/pkgs/btop.yml @@ -1,5 +1,26 @@ # vim: set filetype=yaml.ansible : --- -- name: Append btop to pkg_ssys +- name: Set default btop options ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['btop'] }}" + btop: + install_methods: + - system + pkgname: btop +- name: Configure btop install + when: + - "'btop' not in __configured" + block: + - name: Set btop install method + ansible.builtin.set_fact: + btop_install_method: "{{ install_method if install_method in btop.install_methods else btop.install_methods[0] }}" + + - name: Configure btop system install + when: + - btop_install_method == 'system' + block: + - name: Append btop to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [btop.pkgname] }}" + - name: Finalise btop configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'btop': btop_install_method } ) }}" diff --git a/tasks/pkgs/buf.yml b/tasks/pkgs/buf.yml index 6b90811..dfbdc9a 100644 --- a/tasks/pkgs/buf.yml +++ b/tasks/pkgs/buf.yml @@ -1,13 +1,34 @@ # vim: set filetype=yaml.ansible : --- -- name: Add buf +- name: Set default buf values + ansible.builtin.set_fact: + buf: + install_methods: + - source + build_deps: + - go + version: latest + go_pkg: github.com/bufbuild/buf/cmd/buf +- name: Configure bug install when: - - buf_configured is undefined + - "'buf' not in __configured" block: - - name: Append buf to pkg_go + - name: Set buf install method + when: + - buf_install_method is undefined ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/bufbuild/buf/cmd/buf@latest'] }}" + buf_install_method: "{{ install_method if install_method in buf.install_methods else buf.install_methods[0] }}" - - name: Set buf_configured + - name: Configure buf source install + when: + - buf_install_method == 'source' + block: + - name: Append buf to pkg_go + ansible.builtin.set_fact: + buf_go_install: + bin: buf + url: "{{ buf.go_pkg }}@{{ buf.version }}" + + - name: Finalise buf configuration ansible.builtin.set_fact: - buf_configured: true + __configured: "{{ __configured | combine( { 'buf': buf_install_method } ) }}" diff --git a/tasks/pkgs/bufls.yml b/tasks/pkgs/bufls.yml index 0b6506a..b008b48 100644 --- a/tasks/pkgs/bufls.yml +++ b/tasks/pkgs/bufls.yml @@ -1,13 +1,31 @@ # vim: set filetype=yaml.ansible : --- -- name: Add bufls - when: - - bufls_configured is undefined - block: - - name: Append bufls to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/bufbuild/buf-language-server/cmd/bufls@latest'] }}" +- name: Set default bufls options + ansible.builtin.set_fact: + bufls: + install_methods: + - source + version: latest + go_pkg: github.com/bufbuild/buf-language-server/cmd/bufls - - name: Set bufls_configured +- name: Configure bufls install + when: + - "'bufls' not in __configured" + block: + - name: Set bufls install method ansible.builtin.set_fact: - bufls_configured: true + bufls_install_method: "{{ install_method if install_method in bufls.install_methods else bufls.install_methods[0] }}" + + - name: Configure bufls source install + when: + - bufls_install_method == 'source' + block: + - name: Configure bufls go install + ansible.builtin.set_fact: + bufls_go_install: + url: "{{ bufls.go_pkg }}@{{ bufls.version }}" + bin: "{{ path_bin }}/bufls" + + - name: Finalise bufls configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'bufls': bufls_install_method } ) }}" diff --git a/tasks/pkgs/cargo.yml b/tasks/pkgs/cargo.yml index 448c58d..28f0de5 100644 --- a/tasks/pkgs/cargo.yml +++ b/tasks/pkgs/cargo.yml @@ -1,5 +1,10 @@ # vim: set filetype=yaml.ansible : --- +- name: Set default cargo values + ansible.builtin.set_fact: + cargo: + install_methods: + - system - name: Configure cargo when: - "'cargo' not in __configured" @@ -8,12 +13,12 @@ when: - cargo_install_method is undefined ansible.builtin.set_fact: - cargo_install_method: "{{ install_method if install_method in cargo_install_methods else cargo_install_methods[0] }}" + cargo_install_method: "{{ install_method if install_method in cargo.install_methods else cargo.install_methods[0] }}" - name: Add dependencies when: - cargo_pkgdeps is defined - loop: cargo_pkgdeps + loop: "{{ cargo_pkgdeps }}" loop_control: loop_var: dep ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" diff --git a/tasks/pkgs/cbfmt.yml b/tasks/pkgs/cbfmt.yml index b9e8c2d..b921d71 100644 --- a/tasks/pkgs/cbfmt.yml +++ b/tasks/pkgs/cbfmt.yml @@ -1,6 +1,29 @@ # vim: set filetype=yaml.ansible : --- -- name: Set cbfmt config +- name: Set default cbfmt values ansible.builtin.set_fact: cbfmt: - pkgs: "{{ pkgconfig.cbfmt.pkgs }}" + install_methods: + - system + pkgname: cbfmt +- name: Configure cbfmt install + when: + - "'cbfmt' not in __configured" + block: + - name: Set cbfmt install method + when: + - cbfmt_install_method is undefined + ansible.builtin.set_fact: + cbfmt_install_method: "{{ install_method if install_method in cbfmt.install_methods else cbfmt.install_methods[0] }}" + + - name: Configure cbfmt system install + when: + - cbfmt_install_method == 'system' + block: + - name: Append cbfmt to system install list + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [cbfmt.pkgname] }}" + + - name: Finalise cbfmt configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'cbfmt': cbfmt_install_method } ) }}" -- 2.47.3 From f52a6eca6a570bdfc8ddc1e63c5ef089c2d38b8e Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 15 Mar 2026 22:38:49 -0600 Subject: [PATCH 33/48] updating and removing --- tasks/pkgs/alacritty.yml | 18 +++++++++++-- tasks/pkgs/ansible_lint.yml | 18 ++++++++++--- tasks/pkgs/bat.yml | 2 +- tasks/pkgs/bitwarden.yml | 53 ------------------------------------- tasks/pkgs/blender.yml | 13 --------- tasks/pkgs/broot.yml | 24 ++++++++++++++--- tasks/pkgs/cbfmt.yml | 12 +++++++++ tasks/pkgs/cheat.yml | 39 +++++++++++++++++++++++---- tasks/pkgs/checkmake.yml | 36 ++++++++++++++++++++++--- 9 files changed, 130 insertions(+), 85 deletions(-) delete mode 100644 tasks/pkgs/bitwarden.yml delete mode 100644 tasks/pkgs/blender.yml diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index da0aaf3..e7de935 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -14,6 +14,10 @@ alacritty_version: "{{ alacritty_version | default('v0.16.1') }}" alacritty_build_flags: "{{ alacritty_build_flags | default( ['--release'] ) }}" alacritty: + pkgname: + RedHat: alacritty + Debian: alacritty + Alpine: alacritty install_methods: - source - system @@ -81,9 +85,19 @@ - name: Set alacritty install method when: - alacritty_install_method is undefined - ansible.builtin.set_fact: - alacritty_install_method: "{{ install_method if install_method in alacritty.install_methods else alacritty.install_methods[0] }}" + block: + - name: Configure for RedHat enterprise linux 10 + when: + - os_family == 'RedHat' + - ansible_distribution_major_version|int <= 10 + ansible.builtin.set_fact: + alacritty_install_method: source + - name: Fallback configuration for alacritty + when: + - alacritty_install_method is undefined + ansible.builtin.set_fact: + alacritty_install_method: "{{ install_method if install_method in alacritty.install_methods else alacritty.install_methods[0] }}" - name: Configure alacritty source install # {{{ when: - alacritty_install_method == "source" diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index aa634fa..3cb38f3 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -3,8 +3,7 @@ ## Package: ansible_lint ## Description: Linter for ansible yaml ## Version: latest -## Methods: -## - source (pipx) +## Methods: source ## Helpers: pipx --- - name: Set ansible_lint default facts # {{{ @@ -29,8 +28,19 @@ - name: Set ansible_lint install method when: - ansible_lint_install_method is undefined - ansible.builtin.set_fact: - ansible_lint_install_method: "{{ install_method if install_method in ansible_lint.install_methods else ansible_lint.install_methods[0] }}" + block: + - name: Configure for RedHat <= 10 + when: + - os_family == 'RedHat' + - ansible_distribution_major_version|int <= 10 + ansible.builtin.set_fact: + ansible_lint_install_method: source + + - name: Fallback set ansible_lint install method + when: + - ansible_lint_install_method is undefined + ansible.builtin.set_fact: + ansible_lint_install_method: "{{ install_method if install_method in ansible_lint.install_methods else ansible_lint.install_methods[0] }}" - name: Configure pipx source install when: diff --git a/tasks/pkgs/bat.yml b/tasks/pkgs/bat.yml index 5cba019..397cf6d 100644 --- a/tasks/pkgs/bat.yml +++ b/tasks/pkgs/bat.yml @@ -4,7 +4,7 @@ ## Description: cat replacement with style ## Version: latest ## Methods: -## - system +## - source --- - name: Start bat configuration when: diff --git a/tasks/pkgs/bitwarden.yml b/tasks/pkgs/bitwarden.yml deleted file mode 100644 index a0a508d..0000000 --- a/tasks/pkgs/bitwarden.yml +++ /dev/null @@ -1,53 +0,0 @@ -# vim: set filetype=yaml.ansible : -# -## Package: bitwarden -## Description: Desktop GUI for the bitwarden password/secrets manager -## Version: latest -## Methods: -## - flatpak -## - appimage -## Helpers: -## - flatpak -## - appimage ---- -- name: Set bitwarden default facts # {{{ - ansible.builtin.set_fact: - bitwarden: - install_methods: - - flatpak - - appimage - flatpak: - name: com.bitwarden.desktop - remote: flathub - method: system - appimage_url: https://bitwarden.com/download/?app=desktop&platform=linux&variant=appimage - pkg_deps: - - flatpak - - flathub -# }}} -- name: Configure bitwarden - when: - - "'bitwarden' not in __configured" - block: - - name: Set bitwarden install method - when: - - bitwarden_install_method is undefined - ansible.builtin.set_fact: - bitwarden_install_method: "{{ install_method if install_method in bitwarden.install_methods else bitwarden.install_methods[0] }}" - - - name: Set flatpak install facts - when: - - bitwarden_install_method == "flatpak" - block: - - name: Set flatpak package name - ansible.builtin.set_fact: - bitwarden_flatpak: - name: "{{ bitwarden.flatpak.name }}" - remote: "{{ bitwarden.flatpak.remote }}" - method: "{{ bitwarden_flatpak_method | default(flatpak_method) }}" - - - name: Finalize bitwarden configuration - when: - - "'bitwarden' not in __configured" - ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'bitwarden': bitwarden_install_method } ) }}" diff --git a/tasks/pkgs/blender.yml b/tasks/pkgs/blender.yml deleted file mode 100644 index 16c9e59..0000000 --- a/tasks/pkgs/blender.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append blender to pkg_sys - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['blender'] }}" - -- name: Append blender to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['blender'] }}" diff --git a/tasks/pkgs/broot.yml b/tasks/pkgs/broot.yml index 83a51b8..9d2a64d 100644 --- a/tasks/pkgs/broot.yml +++ b/tasks/pkgs/broot.yml @@ -1,11 +1,17 @@ # vim: set filetype=yaml.ansible : +# +## Package: broot +## Description: terminal utility for navigating directory trees +## Version: 1.55.0 +## Methods: [source, system] +## Helpers: cargo --- - name: Set default broot values ansible.builtin.set_fact: broot: install_methods: - - system - source + - system version: 1.55.0 build_deps: Debian: @@ -26,8 +32,19 @@ - name: Set broot install method when: - broot_install_method is undefined - ansible.builtin.set_fact: - broot_install_method: "{{ install_method if install_method in broot.install_methods else broot.install_methods[0] }}" + block: + - name: Configure for RedHat <= 10 + when: + - os_family == 'RedHat' + - ansible_distribution_major_version|int <= 10 + ansible.builtin.set_fact: + broot_install_method: source + + - name: Fallback set ansible_lint install method + when: + - broot_install_method is undefined + ansible.builtin.set_fact: + broot_install_method: "{{ install_method if install_method in broot.install_methods else broot.install_methods[0] }}" - name: Configure broot source install when: @@ -38,6 +55,7 @@ broot_cargo_install: name: broot version: "{{ broot.version }}" + - name: Append broot to install list ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + broot.build_deps[os_family] }}" diff --git a/tasks/pkgs/cbfmt.yml b/tasks/pkgs/cbfmt.yml index b921d71..8c1114b 100644 --- a/tasks/pkgs/cbfmt.yml +++ b/tasks/pkgs/cbfmt.yml @@ -1,4 +1,7 @@ # vim: set filetype=yaml.ansible : +# +## Package: cbfmt +## Description --- - name: Set default cbfmt values ansible.builtin.set_fact: @@ -24,6 +27,15 @@ ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [cbfmt.pkgname] }}" + - name: Configure cbfmt source install + when: + - cbfmt_install_method == 'source' + block: + - name: Configure cbfmt cargo install + ansible.builtin.set_fact: + cbfmt_cargo_install: + + - name: Finalise cbfmt configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'cbfmt': cbfmt_install_method } ) }}" diff --git a/tasks/pkgs/cheat.yml b/tasks/pkgs/cheat.yml index 9f2ab44..a2c2c26 100644 --- a/tasks/pkgs/cheat.yml +++ b/tasks/pkgs/cheat.yml @@ -1,13 +1,42 @@ # vim: set filetype=yaml.ansible : +# +## Package: cheet +## Version: latest +## Methods: source +## Helpers: go --- -- name: Add cheat +- name: Set cheat default facts # {{{ + ansible.builtin.set_fact: + cheat: + install_methods: + - source + go_pkg: github.com/cheat/cheat/cmd/cheat + version: latest +# }}} +- name: Configure cheat when: - - cheat_configured is undefined + - "'cheat' not in __configured" block: - - name: Append cheat to pkg_go + - name: Set cheat install method + when: + - cheat_install_method is undefined ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/cheat/cheat/cmd/cheat@latest'] }}" + cheat_install_method: "{{ install_method if install_method in cheat.install_methods else cheat.install_methods[0] }}" + + - name: Configure cheat source install + when: + - cheat_install_method == 'source' + block: + - name: Configure cheat go install + ansible.builtin.set_fact: + cheat_go_install: + url: "{{ cheat.go_pkg }}@{{ cheat.version }}" + bin: "{{ path_bin }}/cheat" + + - name: Append cheat to pkg_go + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [cheat_go_install] }}" - name: Set cheat_configured ansible.builtin.set_fact: - cheat_configured: true + __configured: "{{ __configured | combine( { 'cheat': cheat_install_method } ) }}" diff --git a/tasks/pkgs/checkmake.yml b/tasks/pkgs/checkmake.yml index d91ba9c..c854820 100644 --- a/tasks/pkgs/checkmake.yml +++ b/tasks/pkgs/checkmake.yml @@ -1,13 +1,41 @@ # vim: set filetype=yaml.ansible : +# +## Package: checkmake +## Description: linter for makefiles +## Version: latest +## Methods: source +## Helpers: go --- -- name: Add checkmake +- name: Set checkmake default facts + ansible.builtin.set_fact: + checkmake: + install_methods: + - source + go_pkg: github.com/mrtazz/checkmake/cmd/checkmake + version: latest +- name: Configure checkmake when: - checkmake_configured is undefined block: - - name: Add checkmake to pkg_go + - name: Set checkmake install method + when: + - checkmake_install_method is undefined ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/mrtazz/checkmake/cmd/checkmake@latest'] }}" + checkmake_install_method: "{{ install_method if install_method in checkmake.install_methods else checkmake.install_methods[0] }}" + + - name: Configure checkmake source install + when: + - checkmake_install_method == 'source' + block: + - name: Configure checkmake go install + ansible.builtin.set_fact: + checkmake_go_install: + url: "{{ checkmake.go_pkg }}@{{ checkmake.version }}" + + - name: Queue checkmake source install + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [checkmake_go_install] }}" - name: Set checkmake_configured ansible.builtin.set_fact: - checkmake_configured: true + __configured: "{{ __configured | combine( { 'checkmake': checkmake_install_method } ) }}" -- 2.47.3 From 3c03e5eecf76166bae10642320b1b8bc1f0f1cdb Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 16 Mar 2026 10:51:40 -0600 Subject: [PATCH 34/48] fix formatting, complete clangd system install --- tasks/pkgs/air.yml | 3 +-- tasks/pkgs/alacritty.yml | 7 ++----- tasks/pkgs/ansible.yml | 6 +++--- tasks/pkgs/ansible_ls.yml | 4 +--- tasks/pkgs/bashls.yml | 3 +-- tasks/pkgs/bat.yml | 4 ++-- tasks/pkgs/btop.yml | 6 ++++++ tasks/pkgs/buf.yml | 6 ++++++ tasks/pkgs/bufls.yml | 6 ++++++ tasks/pkgs/cargo.yml | 6 ++++++ tasks/pkgs/cbfmt.yml | 5 ++++- tasks/pkgs/cheat.yml | 3 ++- tasks/pkgs/checkmake.yml | 2 +- tasks/pkgs/choose.yml | 6 ++++++ tasks/pkgs/clangd.yml | 41 +++++++++++++++++++++++++++++++++------ 15 files changed, 82 insertions(+), 26 deletions(-) diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index d0d5377..ccce64f 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -3,8 +3,7 @@ ## Package: air ## Description: application auto reload for go ## Version: latest -## Methods: -## - source (go install) +## Methods: source ## Helpers: go_install --- - name: Set air default facts # {{{ diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index e7de935..f0c86d9 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -3,11 +3,8 @@ ## Package: alacritty ## Description: GPU accelerated terminal emulator written in rust ## Version: v0.16.1 -## Methods: -## - system -## - source (cargo build) -## Helpers: -## - cargo_build +## Methods: [source, system] +## Helpers: cargo_build --- - name: Set alacritty default facts # {{{ ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 8319ae7..1f3a426 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -3,15 +3,15 @@ ## Package: ansible ## Description: simple infrastructure as code tool ## Version: latest -## Methods: -## - system -## - source (pipx) +## Methods: [system, source] +## Helpers: pipx --- - name: Set ansible default facts # {{{ ansible.builtin.set_fact: ansible: install_methods: - system + - source pkgname: RedHat: ansible Debian: ansible diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 30cec88..277556e 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -3,9 +3,7 @@ ## Package: ansible_ls ## Description: language server for ansible yaml ## Version: latest -## Methods: -## - source (npm) -## - system +## Methods: [source, system] ## Helpers: npm --- - name: Set ansible_ls default facts # {{{ diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index e8ea92a..b08fa21 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -3,8 +3,7 @@ ## Package: bashls ## Description: language server for bash (sh compatible) ## Version: latest -## Methods: -## - source (npm) +## Methods: source ## Helpers: npm --- - name: Set bashls default facts # {{{ diff --git a/tasks/pkgs/bat.yml b/tasks/pkgs/bat.yml index 397cf6d..fef6532 100644 --- a/tasks/pkgs/bat.yml +++ b/tasks/pkgs/bat.yml @@ -3,8 +3,8 @@ ## Package: bat ## Description: cat replacement with style ## Version: latest -## Methods: -## - source +## Methods: source +## Helpers: cargo --- - name: Start bat configuration when: diff --git a/tasks/pkgs/btop.yml b/tasks/pkgs/btop.yml index 0c65712..8f668e4 100644 --- a/tasks/pkgs/btop.yml +++ b/tasks/pkgs/btop.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: btop +## Description: TUI system monitor that looks +## Version: system +## Methods: system +## Helpers: - --- - name: Set default btop options ansible.builtin.set_fact: diff --git a/tasks/pkgs/buf.yml b/tasks/pkgs/buf.yml index dfbdc9a..7283d7a 100644 --- a/tasks/pkgs/buf.yml +++ b/tasks/pkgs/buf.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: buf +## Description: A CLI tool for working with protocols buffers +## Version: latest +## Methods: source +## Helpers: go_install --- - name: Set default buf values ansible.builtin.set_fact: diff --git a/tasks/pkgs/bufls.yml b/tasks/pkgs/bufls.yml index b008b48..010cfce 100644 --- a/tasks/pkgs/bufls.yml +++ b/tasks/pkgs/bufls.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: bufls +## Description: a language server for protocol buffers +## Version: latest +## Methods: source +## Helpers: go_install --- - name: Set default bufls options ansible.builtin.set_fact: diff --git a/tasks/pkgs/cargo.yml b/tasks/pkgs/cargo.yml index 28f0de5..705f193 100644 --- a/tasks/pkgs/cargo.yml +++ b/tasks/pkgs/cargo.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: cargo +## Description: the Rust package manager +## Version: system +## Methods: system +## Helpers: - --- - name: Set default cargo values ansible.builtin.set_fact: diff --git a/tasks/pkgs/cbfmt.yml b/tasks/pkgs/cbfmt.yml index 8c1114b..d125acd 100644 --- a/tasks/pkgs/cbfmt.yml +++ b/tasks/pkgs/cbfmt.yml @@ -1,7 +1,10 @@ # vim: set filetype=yaml.ansible : # ## Package: cbfmt -## Description +## Description: code block formatter +## Version: system +## Methods: system +## Helpers: - --- - name: Set default cbfmt values ansible.builtin.set_fact: diff --git a/tasks/pkgs/cheat.yml b/tasks/pkgs/cheat.yml index a2c2c26..ca972dc 100644 --- a/tasks/pkgs/cheat.yml +++ b/tasks/pkgs/cheat.yml @@ -1,9 +1,10 @@ # vim: set filetype=yaml.ansible : # ## Package: cheet +## Description: create and view interactive cheat sheets ## Version: latest ## Methods: source -## Helpers: go +## Helpers: go_install --- - name: Set cheat default facts # {{{ ansible.builtin.set_fact: diff --git a/tasks/pkgs/checkmake.yml b/tasks/pkgs/checkmake.yml index c854820..6624c48 100644 --- a/tasks/pkgs/checkmake.yml +++ b/tasks/pkgs/checkmake.yml @@ -4,7 +4,7 @@ ## Description: linter for makefiles ## Version: latest ## Methods: source -## Helpers: go +## Helpers: go_install --- - name: Set checkmake default facts ansible.builtin.set_fact: diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 324d76f..33b266b 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: choose +## Description: +## Version: latest +## Methods: source +## Helpers: cargo --- - name: Add choose block: diff --git a/tasks/pkgs/clangd.yml b/tasks/pkgs/clangd.yml index 62abf8e..ebd9822 100644 --- a/tasks/pkgs/clangd.yml +++ b/tasks/pkgs/clangd.yml @@ -1,9 +1,38 @@ # vim: set filetype=yaml.ansible : +# +## Package: clangd +## Description: a c/c++ language server for the clang llvm compiler +## Version: system +## Methods: system +## Helpers: - --- -- name: Load clangd config - ansible.builtin.include_tasks: - file: config/clangd.yml - -- name: Append clangd to pkg_sys +- name: Set clangd default facts ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + clangd.pkgs }}" + clangd: + install_methods: + - system + pkgname: + RedHat: clang-devel + Debian: clang-12 + Darwin: llvm + Alpine: clang19 + +- name: Configure clangd + when: + - "'clangd' not in __configured" + block: + - name: Set clangd install method + when: + - clangd_install_method is undefined + ansible.builtin.set_fact: + clangd_install_method: "{{ install_method if install_method in clangd.install_methods else clangd.install_methods[0] }}" + + - name: Queue clangd system install + when: + - clangd_install_methods == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + clangd[os_family] }}" + + - name: Finalise clangd configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'clangd': clangd_install_method } ) }}" -- 2.47.3 From ac0ac25bba906b3c174eed38ec2733090b2ec6a9 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Tue, 17 Mar 2026 16:19:15 -0600 Subject: [PATCH 35/48] have a workign copy now --- meta/argument_spec.yml | 7 +- tasks/helpers/cargo_build.yml | 12 +- tasks/helpers/install.yml | 4 +- tasks/main.yml | 31 -- tasks/pkgs/ansible_lint.yml | 3 +- tasks/pkgs/cbfmt.yml | 21 +- tasks/pkgs/checkmake.yml | 3 +- tasks/pkgs/choose.yml | 39 +- tasks/pkgs/clangd.yml | 4 +- tasks/pkgs/cmake-format.yml | 6 - tasks/pkgs/cmake.yml | 6 + tasks/pkgs/cmakelang.yml | 33 +- tasks/pkgs/commitlint-cli.yml | 48 ++- tasks/pkgs/commitlint-config-conventional.yml | 48 ++- tasks/pkgs/consul.yml | 29 -- tasks/pkgs/cssls.yml | 13 +- tasks/pkgs/curlie.yml | 13 - tasks/pkgs/dbeaver.yml | 21 -- tasks/pkgs/direnv.yml | 19 +- tasks/pkgs/dockerls.yml | 45 ++- tasks/pkgs/dotenv-linter.yml | 13 - tasks/pkgs/duf.yml | 13 - tasks/pkgs/dust.yml | 19 - tasks/pkgs/editorconfig.yml | 5 - tasks/pkgs/eslint.yml | 13 +- tasks/pkgs/eza.yml | 11 + tasks/pkgs/flatpak.yml | 24 +- tasks/pkgs/htmlls.yml | 13 +- tasks/pkgs/jsonls.yml | 13 +- tasks/pkgs/nerdfonts.yml | 169 ++++++++- tasks/pkgs/vscode-langservers-extracted.yml | 42 +++ vars/pkglist.yml | 352 ------------------ 32 files changed, 470 insertions(+), 622 deletions(-) delete mode 100644 tasks/pkgs/cmake-format.yml delete mode 100644 tasks/pkgs/consul.yml delete mode 100644 tasks/pkgs/curlie.yml delete mode 100644 tasks/pkgs/dbeaver.yml delete mode 100644 tasks/pkgs/dotenv-linter.yml delete mode 100644 tasks/pkgs/duf.yml delete mode 100644 tasks/pkgs/dust.yml delete mode 100644 tasks/pkgs/editorconfig.yml create mode 100644 tasks/pkgs/vscode-langservers-extracted.yml delete mode 100644 vars/pkglist.yml diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index 54466f4..b61b080 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -31,10 +31,13 @@ argument_specs: default: system description: - Install packages using system package manager when available. - - When a package doesn't have a system install candidate for the host, it uses it's default install method as defined in the pkglist variables called `_install_methods` + - When a package doesn't have a system install candidate for the host, + it uses it's default install method as defined in the pkglist variables called `_install_methods` - Most packages will be either `system` or `source` installs. - System installs default to using the system package manager, if possible. - - Source installs download, build and install the package via source code. Source installs could be of different types based on the language. For example; python packages installed using `source` are installed with either pipx (default) or system pip. + - Source installs download, build and install the package via source code. + Source installs could be of different types based on the language. + For example; python packages installed using `source` are installed with either pipx (default) or system pip. choices: - system - source diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 4f68055..b549ed2 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -4,7 +4,7 @@ block: - name: Fetch git repo vars: - path: "{{ path_source }}/{{ pkg.source_dir }}" + path: "{{ pkg.source_dir }}" repo: "{{ pkg.repo }}" depth: "{{ pkg.depth | default(1) }}" force: "{{ pkg.force_git | default(true) }}" @@ -14,19 +14,19 @@ - name: Build cargo release ansible.builtin.command: - chdir: "{{ path_source }}/{{ pkg.source_dir }}" - argv: "{{ [cargo, build] + pkg.build_flags }}" + chdir: "{{ pkg.source_dir }}" + argv: "{{ ['cargo', 'build'] + pkg.build_flags }}" - name: Clean existing install vars: files: "{{ pkg.files }}" - ansible.builtin.include_tasks: helpers/clean.yml + ansible.builtin.include_tasks: helpers/clean_install.yml - name: Install cargo release block: - name: Create missing directories - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" vars: + do_become: "{{ install_become }}" + do_become_user: "{{ install_become_user | default(omit) }}" source_dir: "{{ pkg.source_dir }}" ansible.builtin.include_tasks: helpers/install.yml diff --git a/tasks/helpers/install.yml b/tasks/helpers/install.yml index df3fbd9..07cab90 100644 --- a/tasks/helpers/install.yml +++ b/tasks/helpers/install.yml @@ -18,8 +18,8 @@ ## copy anthing (go install, as an example), don't use this. --- - name: Create directories - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" + become: "{{ do_become }}" + become_user: "{{ do_become_user | default(omit) }}" loop: "{{ pkg_clean }}" loop_control: loop_var: dir diff --git a/tasks/main.yml b/tasks/main.yml index d7acaeb..6381216 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -37,10 +37,6 @@ group: "{{ install_prefix_group }}" path: "{{ path }}" -- name: Read package configuration - ansible.builtin.include_vars: - file: pkglist.yml - - name: Add needed packages for Fedora when: - distribution == 'Fedora' @@ -70,27 +66,10 @@ ansible.builtin.include_tasks: file: "pkgs/{{ pkg }}.yml" -- name: Clean installations that require it - ansible.builtin.include_tasks: "helpers/clean_install.yml" - -- name: Install go if required - when: - - pkg_go|length > 0 - ansible.builtin.include_tasks: pkgs/go.yml - -- name: Install rust and cargo if required - when: - - pkg_cargo|length > 0 or - pkg_cargo_build|length > 0 - ansible.builtin.include_tasks: pkgs/rust.yml - - name: Ensure pipx is installed when: - pkg_pipx|length > 0 block: - - name: Queue pipx install - ansible.builtin.include_tasks: pkgs/pipx.yml - - name: Ensure pipx path exists become: "{{ install_become }}" become_user: "{{ install_become_user }}" @@ -99,11 +78,6 @@ mode: '0755' path: "{{ path_pipx }}" -- name: Ensure nodejs and npm are installed - when: - - pkg_npm|length > 0 - ansible.builtin.include_tasks: pkgs/nodejs.yml - - name: Ensure appimage path exists when: - pkg_appimage is defined @@ -125,11 +99,6 @@ mode: '0755' path: "{{ path_archive }}" -- name: Depend zig - when: - - pkg_zig|length > 0 - ansible.builtin.include_tasks: pkgs/zig.yml - - name: Install pkg_sys list using system package manager when: - pkg_sys|length > 0 diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 3cb38f3..26d7f4a 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -19,7 +19,8 @@ Archlinux: ansible-lint Alpine: ansible-lint FreeBSD: py311-ansible-lint - pip: ansible_lint + pip: + name: ansible_lint # }}} - name: Configure ansible_lint when: diff --git a/tasks/pkgs/cbfmt.yml b/tasks/pkgs/cbfmt.yml index d125acd..2809315 100644 --- a/tasks/pkgs/cbfmt.yml +++ b/tasks/pkgs/cbfmt.yml @@ -2,16 +2,18 @@ # ## Package: cbfmt ## Description: code block formatter -## Version: system +## Version: latest ## Methods: system -## Helpers: - +## Helpers: cargo --- - name: Set default cbfmt values ansible.builtin.set_fact: cbfmt: install_methods: - - system + - source pkgname: cbfmt + pkg_deps: + - cargo - name: Configure cbfmt install when: - "'cbfmt' not in __configured" @@ -22,14 +24,6 @@ ansible.builtin.set_fact: cbfmt_install_method: "{{ install_method if install_method in cbfmt.install_methods else cbfmt.install_methods[0] }}" - - name: Configure cbfmt system install - when: - - cbfmt_install_method == 'system' - block: - - name: Append cbfmt to system install list - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [cbfmt.pkgname] }}" - - name: Configure cbfmt source install when: - cbfmt_install_method == 'source' @@ -37,7 +31,10 @@ - name: Configure cbfmt cargo install ansible.builtin.set_fact: cbfmt_cargo_install: - + name: cbfmt + - name: Queue cbfmt cargo install + ansible.builtin.set_fact: + pkg_cargo: "{{ pkg_cargo + [cbfmt_cargo_install] }}" - name: Finalise cbfmt configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/checkmake.yml b/tasks/pkgs/checkmake.yml index 6624c48..3d9dbdb 100644 --- a/tasks/pkgs/checkmake.yml +++ b/tasks/pkgs/checkmake.yml @@ -11,7 +11,7 @@ checkmake: install_methods: - source - go_pkg: github.com/mrtazz/checkmake/cmd/checkmake + go_pkg: github.com/checkmake/checkmake/cmd/checkmake version: latest - name: Configure checkmake when: @@ -31,6 +31,7 @@ ansible.builtin.set_fact: checkmake_go_install: url: "{{ checkmake.go_pkg }}@{{ checkmake.version }}" + bin: "{{ path_bin }}/checkmake" - name: Queue checkmake source install ansible.builtin.set_fact: diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 33b266b..25e1a83 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -6,20 +6,37 @@ ## Methods: source ## Helpers: cargo --- -- name: Add choose +- name: Set choose default facts + ansible.builtin.set_fact: + choose: + install_methods: + - source + version: 1.3.7 + +- name: Configure choose + when: + - "'choose' not in __configured" block: - - name: Load choose config - ansible.builtin.include_tasks: - file: config/choose.yml - - - name: Append choose to pkg_cargo + - name: Set choose install method when: - - ansible_system == 'Linux' + - choose_install_method is undefined ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + [choose] }}" + choose_install_method: "{{ install_method if install_method in choose.install_methods else choose.install_methods[0] }}" - - name: Append choose-rust to pkg_sys + - name: Configure choose source install when: - - ansible_system == 'Darwin' + - choose_install_method == 'source' + block: + - name: Configure choose cargo install + ansible.builtin.set_fact: + choose_cargo_install: + name: choose + version: "{{ choose.version }}" + + - name: Append choose to pkg_cargo + ansible.builtin.set_fact: + pkg_cargo: "{{ pkg_cargo + [choose_cargo_install] }}" + + - name: Finalise choose configuration ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['choose-rust'] }}" + __configured: "{{ __configured | combine( { 'choose': choose_install_method } ) }}" diff --git a/tasks/pkgs/clangd.yml b/tasks/pkgs/clangd.yml index ebd9822..05ecb26 100644 --- a/tasks/pkgs/clangd.yml +++ b/tasks/pkgs/clangd.yml @@ -29,9 +29,9 @@ - name: Queue clangd system install when: - - clangd_install_methods == 'system' + - clangd_install_method == 'system' ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + clangd[os_family] }}" + pkg_sys: "{{ pkg_sys + [clangd.pkgname[os_family]] }}" - name: Finalise clangd configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/cmake-format.yml b/tasks/pkgs/cmake-format.yml deleted file mode 100644 index cad6205..0000000 --- a/tasks/pkgs/cmake-format.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set cmake-format config - ansible.builtin.set_fact: - cmake_format: - pkgs: "{{ pkgconfig.cmake_format.pkgs }}" diff --git a/tasks/pkgs/cmake.yml b/tasks/pkgs/cmake.yml index cdb2505..a2796e9 100644 --- a/tasks/pkgs/cmake.yml +++ b/tasks/pkgs/cmake.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: cmake +## Description: build system for c/c++ +## Version: system +## Methods: system +## Helpers: - --- - name: Configure cmake when: diff --git a/tasks/pkgs/cmakelang.yml b/tasks/pkgs/cmakelang.yml index 90e51e8..6df40f9 100644 --- a/tasks/pkgs/cmakelang.yml +++ b/tasks/pkgs/cmakelang.yml @@ -1,13 +1,36 @@ # vim: set filetype=yaml.ansible : +# +## Package: cmakelang +## Desciption: QA tools for cmake +## Version: system +## Methods: system +## Helpers: - --- +- name: Set cmakelang default facts + ansible.builtin.set_fact: + cmakelang: + install_methods: + - system + pkgname: cmakelang + - name: Add cmakelang when: - - cmakelang_configured is undefined + - "'cmakelang' not in __configured" block: - - name: Add cmakelang to pkg_pipx + - name: Set cmakelang install method + when: + - cmakelang_install_method is undefined ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + ['cmakelang'] }}" + cmakelang_install_method: "{{ install_method if install_method in cmakelang.install_methods else cmakelang.install_methods[0] }}" - - name: Set cmakelang_configured + - name: Configure cmakelang system install + when: + - cmakelang_install_method == 'system' + block: + - name: Queue cmakelang for system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [cmakelang.pkgname] }}" + + - name: Finalise cmakelang configuration ansible.builtin.set_fact: - cmakelang_configured: true + __configured: "{{ __configured | combine( { 'cmakelang': cmakelang_install_method } ) }}" diff --git a/tasks/pkgs/commitlint-cli.yml b/tasks/pkgs/commitlint-cli.yml index 781abe0..693b6f2 100644 --- a/tasks/pkgs/commitlint-cli.yml +++ b/tasks/pkgs/commitlint-cli.yml @@ -1,13 +1,43 @@ # vim: set filetype=yaml.ansible : +# +## Package: commitlint-cli +## Description: git commit linter to ensure standards are met +## Version: v20.5.0 +## Methods: source +## Helpers: npm --- -- name: Add commitlint-cli - when: - - commitlint_cli_configured is undefined - block: - - name: Append commitlint/cli to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['@commitlint/cli'] }}" +- name: Set commitlint-cli default facts + ansible.builtin.set_fact: + commitlint_cli: + install_methods: + - source + npm_pkg: '@commitlint/cli' + version: v20.5.0 - - name: Set commitlint_cli_configured +- name: Configure commitlint-cli + when: + - "'commitlint-cli' not in __configured" + block: + - name: Set commitlint-cli install method + when: + - commitlint_cli_install_method is undefined ansible.builtin.set_fact: - commitlint_cli_configured: true + commitlint_cli_install_method: "{{ install_method if install_method in commitlint_cli.install_methods else commitlint_cli.install_methods[0] }}" + + - name: Configure commitlint-cli source install + when: + - commitlint_cli_install_method == 'source' + block: + - name: Configure commitlint-cli npm install + ansible.builtin.set_fact: + commitlint_cli_npm_install: + name: "{{ commitlint_cli.npm_pkg }}" + version: "{{ commitlint_cli.version }}" + + - name: Append commitlint/cli to pkg_npm + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [commitlint_cli_npm_install] }}" + + - name: Finalise commitlint-cli configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'commitlint-cli': commitlint_cli_install_method } ) }}" diff --git a/tasks/pkgs/commitlint-config-conventional.yml b/tasks/pkgs/commitlint-config-conventional.yml index 6339f84..097c8bc 100644 --- a/tasks/pkgs/commitlint-config-conventional.yml +++ b/tasks/pkgs/commitlint-config-conventional.yml @@ -1,13 +1,43 @@ # vim: set filetype=yaml.ansible : +# +## Package: commitlint-config-conventional +## Description: default configuration for conventional commitlint/cli usage +## Version: latest +## Methods: source +## Helpers: npm --- -- name: Add comitlint-config-conventional - when: - - comitlint_config_conventional_configured is undefined - block: - - name: Append commitlit/config-conventional to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['@commitlint/config-conventional'] }}" +- name: Set commitlint-config-conventional default facts + ansible.builtin.set_fact: + clcc: + install_methods: + - source + npm_pkg: '@commitlint/config-conventional' + version: v20.5.0 - - name: Set comitlint_config_conventional_configured +- name: Configure comitlint-config-conventional + when: + - "'comitlint_config_conventional' not in __configured" + block: + - name: Set commitlint-config-conventional install method + when: + - clcc_install_method is undefined ansible.builtin.set_fact: - comitlint_config_conventional_configured: true + clcc_install_method: "{{ install_method if install_method in clcc.install_methods else clcc.install_methods[0] }}" + + - name: Configure commitlint-config-conventional source install + when: + - clcc_install_method == 'source' + block: + - name: Configure commitlint-config-conventional npm install + ansible.builtin.set_fact: + clcc_npm_install: + name: "{{ clcc.npm_pkg }}" + version: "{{ clcc.version }}" + + - name: Append commitlint-config-conventional to pkg_npm + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [clcc_npm_install] }}" + + - name: Finalise comitlint-config-conventional configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'commitlint-config-conventional': clcc_install_method } ) }}" diff --git a/tasks/pkgs/consul.yml b/tasks/pkgs/consul.yml deleted file mode 100644 index 63329b7..0000000 --- a/tasks/pkgs/consul.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add consul - block: - - name: Load consul config - ansible.builtin.include_tasks: - file: config/consul.yml - - - name: Append consul to pkg_sys - when: - - ansible_system == 'Linux' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + consul.pkgs }}" - - - name: Append consul to pkg_tap - when: - - ansible_system == 'Darwin' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + consul.pkgs }}" - - - name: Set consul_configured - ansible.builtin.set_fact: - consul_configured: true diff --git a/tasks/pkgs/cssls.yml b/tasks/pkgs/cssls.yml index bb8cd90..d3d8842 100644 --- a/tasks/pkgs/cssls.yml +++ b/tasks/pkgs/cssls.yml @@ -1,13 +1,4 @@ # vim: set filetype=yaml.ansible : --- -- name: Add cssls - when: - - cssls_configured is undefined - block: - - name: Append vscode-langservers-extracted to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" - - - name: Set cssls_configured - ansible.builtin.set_fact: - cssls_configured: true +- name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml diff --git a/tasks/pkgs/curlie.yml b/tasks/pkgs/curlie.yml deleted file mode 100644 index c51c0b4..0000000 --- a/tasks/pkgs/curlie.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add curlie - when: - - curlie_configured is undefined - block: - - name: Append curlie to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/rs/curlie@latest'] }}" - - - name: Set curlie_configured - ansible.builtin.set_fact: - curlie_configured: true diff --git a/tasks/pkgs/dbeaver.yml b/tasks/pkgs/dbeaver.yml deleted file mode 100644 index ab60c8d..0000000 --- a/tasks/pkgs/dbeaver.yml +++ /dev/null @@ -1,21 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add dbeaver - when: - - dbeaver_configured is undefined - block: - - name: Append dbeaver to pkg_flatpak - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + ['io.dbeaver.DBeaverCommunity'] }}" - - - name: Append dbeaver to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['dbeaver-community'] }}" - - - name: Set dbeaver_configured - ansible.builtin.set_fact: - dbeaver_configured: true diff --git a/tasks/pkgs/direnv.yml b/tasks/pkgs/direnv.yml index f2edd27..18d8550 100644 --- a/tasks/pkgs/direnv.yml +++ b/tasks/pkgs/direnv.yml @@ -1,5 +1,22 @@ # vim: set filetype=yaml.ansible : +# +## Package: direnv +## Description: automatically read env files when changing directories +## Version: latest +## Methods: system +## Helpers: - --- +- name: Set direnv default facts + ansible.builtin.set_fact: + direnv: + install_methods: + - system + pkgname: + RedHat: direnv + Alpine: direnv + Debian: direnv + Darwin: direnv + - name: Configure direnv when: - "'direnv' not in __configured" @@ -14,7 +31,7 @@ when: - direnv_install_method == "system" ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['direnv'] }}" + pkg_sys: "{{ pkg_sys + [direnv.pkgname[os_family]] }}" - name: Finalize direnv configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/dockerls.yml b/tasks/pkgs/dockerls.yml index aa9b92f..96b4e6c 100644 --- a/tasks/pkgs/dockerls.yml +++ b/tasks/pkgs/dockerls.yml @@ -1,13 +1,40 @@ # vim: set filetype=yaml.ansible : +# +## Package: dockerls +## Description: language server for Dockerfiles/Containerfiles +## Version: latest +## Methods: source +## Helpers: npm --- -- name: Add dockerls - when: - - dockerls_configured is undefined - block: - - name: Append dockerfile-language-server-nodejs to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['dockerfile-language-server-nodejs'] }}" +- name: Set dockerls default facts + ansible.builtin.set_fact: + dockerls: + install_methods: + - source + npm_pkg: dockerfile-language-server-nodejs - - name: Set dockerls_configured +- name: Configure dockerls + when: + - "'dockerls' not in _configured" + block: + - name: Set dockerls install method + when: + - dockerls_install_method is undefined ansible.builtin.set_fact: - dockerls_configured: true + dockerls_install_method: "{{ install_method if install_method in dockerls.install_methods else dockerls.install_methods[0] }}" + + - name: Configure dockerls source install + when: + - dockerls_install_method == 'source' + block: + - name: Configure dockerls npm install + ansible.builtin.set_fact: + dockerls_npm_install: + name: "{{ dockerls.npm_pkg }}" + - name: Queue dockerls installation + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [dockerls_npm_install] }}" + + - name: Finalise dockerls configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'dockerls': dockerls_install_method } ) }}" diff --git a/tasks/pkgs/dotenv-linter.yml b/tasks/pkgs/dotenv-linter.yml deleted file mode 100644 index e036f4b..0000000 --- a/tasks/pkgs/dotenv-linter.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add dotenv-linter - when: - - dotenv_linter_configured is undefined - block: - - name: Append dotenv-linter to pkg_cargo - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['dotenv-linter'] }}" - - - name: Set dotenv-linter_configured - ansible.builtin.set_fact: - dotenv_linter_configured: true diff --git a/tasks/pkgs/duf.yml b/tasks/pkgs/duf.yml deleted file mode 100644 index 23b2ddb..0000000 --- a/tasks/pkgs/duf.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add duf - when: - - duf_configured is undefined - block: - - name: Append duf to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/muesli/duf@latest'] }}" - - - name: Set duf_configured - ansible.builtin.set_fact: - duf_configured: true diff --git a/tasks/pkgs/dust.yml b/tasks/pkgs/dust.yml deleted file mode 100644 index 0e8e33e..0000000 --- a/tasks/pkgs/dust.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add dust - block: - - name: Append du-dust to pkg_cargo - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['du-dust'] }}" - - - name: Append dust to pkg_sys - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['dust'] }}" - - - name: Set dust_configured - ansible.builtin.set_fact: - dust_configured: true diff --git a/tasks/pkgs/editorconfig.yml b/tasks/pkgs/editorconfig.yml deleted file mode 100644 index 9ba16b3..0000000 --- a/tasks/pkgs/editorconfig.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append editorconfig to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['editorconfig'] }}" diff --git a/tasks/pkgs/eslint.yml b/tasks/pkgs/eslint.yml index 7fc0e10..d3d8842 100644 --- a/tasks/pkgs/eslint.yml +++ b/tasks/pkgs/eslint.yml @@ -1,13 +1,4 @@ # vim: set filetype=yaml.ansible : --- -- name: Add eslint - when: - - eslint_configured is undefined - block: - - name: Append vscode-langservers-extracted to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" - - - name: Set eslint_configured - ansible.builtin.set_fact: - eslint_configured: true +- name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml diff --git a/tasks/pkgs/eza.yml b/tasks/pkgs/eza.yml index dbc0d62..6c42ecd 100644 --- a/tasks/pkgs/eza.yml +++ b/tasks/pkgs/eza.yml @@ -1,5 +1,16 @@ # vim: set filetype=yaml.ansible : +# +## Package: eza +## Description: modern replacement for ls +## Version: latest +## Methods: source +## Helpers: cargo --- +- name: Set eza default facts + ansible.builtin.set_fact: + eza: + install_methods: + - system - name: Configure eza when: - "'eza' not in __configured" diff --git a/tasks/pkgs/flatpak.yml b/tasks/pkgs/flatpak.yml index 96ac4c5..31f745f 100644 --- a/tasks/pkgs/flatpak.yml +++ b/tasks/pkgs/flatpak.yml @@ -11,10 +11,24 @@ flatpak: install_methods: - system - pkgname: "{{ pkglist[os_family] }}" + pkgname: flatpak # }}} -- name: Append flatpak to pkg_sys +- name: Configure flatpak when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['flatpak'] }}" + - "'flatpak' not in __configured" + block: + - name: Set flatpak install method + when: + - flatpak_install_method is undefined + ansible.builtin.set_fact: + flatpak_install_method: "{{ install_method if install_method in flatpak.install_methods else flatpak.install_methods[0] }}" + + - name: Append flatpak to pkg_sys + when: + - flatpak_install_method == 'system' + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [flatpak.pkgname] }}" + + - name: Finalise flatpak configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'flatpak': flatpak_install_method } ) }}" diff --git a/tasks/pkgs/htmlls.yml b/tasks/pkgs/htmlls.yml index 16727fb..d3d8842 100644 --- a/tasks/pkgs/htmlls.yml +++ b/tasks/pkgs/htmlls.yml @@ -1,13 +1,4 @@ # vim: set filetype=yaml.ansible : --- -- name: Add htmlls - when: - - htmlls_configured is undefined - block: - - name: Append vscode-langservers-extracted to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" - - - name: Set htmlls_configured - ansible.builtin.set_fact: - htmlls_configured: true +- name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml diff --git a/tasks/pkgs/jsonls.yml b/tasks/pkgs/jsonls.yml index 53433f4..d3d8842 100644 --- a/tasks/pkgs/jsonls.yml +++ b/tasks/pkgs/jsonls.yml @@ -1,13 +1,4 @@ # vim: set filetype=yaml.ansible : --- -- name: Add jsonls - when: - - jsonls_configured is undefined - block: - - name: Append vscode-langservers-extracted to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}" - - - name: Set jsonls_configured - ansible.builtin.set_fact: - jsonls_configured: true +- name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml index 2672056..768cbc0 100644 --- a/tasks/pkgs/nerdfonts.yml +++ b/tasks/pkgs/nerdfonts.yml @@ -1,6 +1,173 @@ # vim: set filetype=yaml.ansible : --- -- name: Add nerdfonts +- name: Set default nerdfonts facts # {{{ + ansible.builtin.set_fact: + __nerdfonts: + 0xProto: + brew: font-0xproto-nerd-font + "3270": + brew: font-3270-nerd-font + Agave: + brew: font-agave-nerd-font + AnonymicePro: + archive: AnonymousPro + brew: font-anonymice-nerd-font + Arimo: + brew: font-arimo-nerd-font + AurulentSansM: + archive: AurulentSansMono + brew: font-aurulent-sans-mono-nerd-font + BigBlueTerm: + archive: BigBlueTerminal + brew: font-bigblue-terminal-nerd-font + BitstromWera: + archive: BitstreamVeraSansMono + brew: font-bitstream-vera-sans-mono-nerd-font + BlexMono: + archive: IBMPlexMono + brew: font-blex-mono-nerd-font + CaskaydiaCove: + archive: CascadiaCode + brew: font-caskaydia-cove-nerd-font + CaskaydiaMono: + archive: CascadiaMono + brew: font-caskaydia-mono-nerd-font + CodeNewRoman: + brew: font-code-new-roman-nerd-font + ComicShannsMono: + brew: font-comic-shanns-mono-nerd-font + CommitMono: + brew: font-commit-mono-nerd-font + Cousine: + brew: font-cousine-nerd-font + D2CodingLigature: + archive: D2Coding + brew: font-d2coding-nerd-font + DaddyTimeMono: + brew: font-daddy-time-mono-nerd-font + DejaVuSansM: + archive: DejaVuSansMono + brew: font-dejavu-sans-mono-nerd-font + DepartureMono: + brew: font-departure-mono-nerd-font + DroidSansM: + archive: DroidSansMono + brew: font-droid-sans-mono-nerd-font + EnvyCodeR: + brew: font-envy-code-r-nerd-font + FantasqueSansM: + archive: FantasqueSansMono + brew: font-fantasque-sans-mono-nerd-font + FiraCode: + brew: font-fira-code-nerd-font + FiraMono: + brew: font-fira-mono-nerd-font + GeistMono: + brew: font-geist-mono-nerd-font + GoMono: + archive: Go-Mono + brew: font-go-mono-nerd-font + GohuFont: + archive: Gohu + brew: font-gohufont-nerd-font + Hack: + brew: font-hack-nerd-font + Hasklug: + archive: Hasklig + brew: font-hasklug-nerd-font + HeavyData: + brew: font-heavy-data-nerd-font + Hurmit: + archive: Hermit + brew: font-hurmit-nerd-font + iMWriting: + archive: IA-Writer + brew: font-im-writing-nerd-font + Inconsolata: + brew: font-inconsolata-nerd-font + InconsolataGo: + brew: font-inconsolata-go-nerd-font + InconsolataLGC: + brew: font-inconsolata-lgc-nerd-font + IntoneMono: + archive: IntelOneMono + brew: font-intone-mono-nerd-font + Iosevka: + brew: font-iosevka-nerd-font + IosevkaTerm: + brew: font-iosevka-term-nerd-font + IosevkaTermSlab: + brew: font-iosevka-term-slab-nerd-font + JetBrainsMono: + brew: font-jetbrains-mono-nerd-font + Lekton: + brew: font-lekton-nerd-font + LiterationMono: + archive: LiberationMono + brew: font-liberation-nerd-font + Lilex: + brew: font-lilex-nerd-font + MartianMono: + brew: font-martian-mono-nerd-font + MesloLG: + archive: Meslo + brew: font-meslo-lg-nerd-font + Monaspice: + archive: Monaspace + brew: font-monaspace-nerd-font + Monofur: + brew: font-monofur-nerd-font + Monoid: + brew: font-monoid-nerd-font + Mononoki: + brew: font-mononoki-nerd-font + M+: + archive: MPlus + brew: font-m+-nerd-font + Noto: + brew: font-noto-nerd-font + OpenDyslexic: + brew: font-open-dyslexic-nerd-font + Overpass: + brew: font-overpass-nerd-font + ProFont: + brew: font-profont-nerd-font + ProggyClean: + brew: font-proggy-clean-tt-nerd-font + RecMono: + archive: Recursive + brew: font-recursive-mono-nerd-font + RobotoMono: + brew: font-roboto-mono-nerd-font + ShureTechMono: + archive: ShareTechMono + brew: font-shure-tech-mono-nerd-font + SauceCodePro: + archive: SourceCodePro + brew: font-sauce-code-pro-nerd-font + SpaceMono: + brew: font-space-mono-nerd-font + Symbols: + archive: NerdFontsSymbolsOnly + brew: font-symbols-only-nerd-font + Terminess: + archive: Terminus + brew: font-terminess-ttf-nerd-font + Tinos: + brew: font-tinos-nerd-font + Ubuntu: + brew: font-ubuntu-nerd-font + UbuntuMono: + brew: font-ubuntu-mono-nerd-font + UbuntuSans: + brew: font-ubuntu-sans-nerd-font + VictorMono: + brew: font-victor-mono-nerd-font + ZedMono: + brew: font-zed-mono-nerd-font + base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download +# }}} +- name: Configure nerdfonts when: - "'nerdfonts' not in __configured" block: diff --git a/tasks/pkgs/vscode-langservers-extracted.yml b/tasks/pkgs/vscode-langservers-extracted.yml new file mode 100644 index 0000000..4e1c82f --- /dev/null +++ b/tasks/pkgs/vscode-langservers-extracted.yml @@ -0,0 +1,42 @@ +# vim: set filetype=yaml.ansible : +# +## Package: vscode-langservers-extracted +## Descriptions: language servers extracted from vscode +## Version: latest +## Methods: source +## Helpers: npm +--- +- name: Set vscode-langservers-extracted default facts + ansible.builtin.set_fact: + vscode_langservers_extracted: + install_methods: + - source + npm_pkg: '@zed-industries/vscode-langservers-extracted' + version: 4.10.7 +- name: Configure vscode-langservers-extracted + when: + - "'vscode-langservers-extracted' not in __configured" + block: + - name: Set vscode-langservers-extracted install method + when: + - vscode_langservers_extracted_install_method is undefined + ansible.builtin.set_fact: + vscode_langservers_extracted_install_method: "{{ install_method if install_method in vscode_langservers_extracted.install_methods else vscode_langservers_extracted.install_methods[0] }}" + + - name: Configure vscode-langservers-extracted source install + when: + - vscode_langservers_extracted_install_method == 'source' + block: + - name: Configure vscode-langservers-extracted npm install + ansible.builtin.set_fact: + vscode_langservers_extracted_npm_install: + name: "{{ vscode_langservers_extracted.npm_pkg }}" + version: "{{ vscode_langservers_extracted.version }}" + + - name: Queue vscode-langservers-extracted install + ansible.builtin.set_fact: + pkg_npm: "{{ pkg_npm + [vscode_langservers_extracted_npm_install] }}" + + - name: Finalise vscode-langservers-extracted configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'vscode-langservers-extracted': vscode_langservers_extracted_install_method } ) }}" diff --git a/vars/pkglist.yml b/vars/pkglist.yml deleted file mode 100644 index ef14324..0000000 --- a/vars/pkglist.yml +++ /dev/null @@ -1,352 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -## Package level variables for per distribution install names -## Format: -## [pkgname]: -## [os_family]: -## name: distro pkgname -## build_deps: [list of deps for building], only included if required - -alacritty: - RedHat: - name: alacritty - build_deps: - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - - desktop-file-utils - Debian: - name: alacritty - build_deps: - - g++ - - pkg-config - - libfontconfig1-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - python3 - - libfreetype6-dev - - desktop-file-utils - Alpine: - name: alacritty - build_deps: - - pkgconf - - freetype-dev - - fontconfig-dev - - python3 - - libxcb-dev - - g++ - - libxkbcommon-dev - - desktop-file-utils - Archlinux: - name: alacritty - build_deps: - - freetype2 - - fontconfig - - pkg-config - - make - - libxcb - - libxkbcommon - - python - - desktop-file-utils - FreeBSD: - - - freetype2 - - fontconfig - - pkgconf - - python3 - - desktop-file-utils -flatpak: - name: flatpak - -## Restrictions for package install methods. -## The first item is the default method. If only -## one method exists, all others are ignored. -bat: # {{{ - install_methods: - - system - pkgname: - RedHat: bat - Debian: bat - Archlinux: bat - Alpine: bat - Darwin: bat - FreeBSD: bat -# }}} -cargo: # {{{ - install_methods: - - system -# }}} -cmake: # {{{ - install_methods: - - system -# }}} -direnv: # {{{ - install_methods: - - system -# }}} -eza: - install_methods: - - source -fzf: - install_methods: - - system -git: - install_methods: - - system -go: - install_methods: - - archive - - system -hyprland: - install_methods: - - source -neovim: # {{{ - git_repo: https://github.com/neovim/neovim - appimage: - base_url: https://github.com/neovim/neovim/releases/download - pkgname: - RedHat: neovim - Debian: neovim - Darwin: neovim - FreeBSD: neovim - build_files: - - lib64/nvim - - bin/nvim - - share/nvim - - share/applications/nvim.desktop - - share/icons/hicolor/128x128/apps/nvim.png - - share/man/man1/nvim.1 - build_pkgdeps: - - cmake - - git - build_deps: - RedHat: - - cmake - - curl - - gcc - - gettext - - glibc-gconv-extra - - make - - ninja-build - Debian: - - build-essential - - cmake - - curl - - gettext - - ninja-build - Darwin: - - cmake - - curl - - gettext - - ninja - Alpine: - - build-base - - cmake - - coreutils - - curl - - gettext-dev - install_methods: - - source - - system - - appimage - - archive -# }}} -nerdfonts: - install_methods: - - archive - - system -nodejs: - install_methods: - - system - pkgname: - Linux: nodejs - Darwin: node - pkg_deps: - Linux: - - npm - - sqlite -rust: - install_methods: - - system -starship: - install_methods: - - source -yazi: - install_methods: - - source - - cargo -zoxide: - install_methods: - - system -zsh: - install_methods: - - system - -## Package specific configuration that never need to be set by the installer -__nerdfonts: # {{{ - 0xProto: - brew: font-0xproto-nerd-font - "3270": - brew: font-3270-nerd-font - Agave: - brew: font-agave-nerd-font - AnonymicePro: - archive: AnonymousPro - brew: font-anonymice-nerd-font - Arimo: - brew: font-arimo-nerd-font - AurulentSansM: - archive: AurulentSansMono - brew: font-aurulent-sans-mono-nerd-font - BigBlueTerm: - archive: BigBlueTerminal - brew: font-bigblue-terminal-nerd-font - BitstromWera: - archive: BitstreamVeraSansMono - brew: font-bitstream-vera-sans-mono-nerd-font - BlexMono: - archive: IBMPlexMono - brew: font-blex-mono-nerd-font - CaskaydiaCove: - archive: CascadiaCode - brew: font-caskaydia-cove-nerd-font - CaskaydiaMono: - archive: CascadiaMono - brew: font-caskaydia-mono-nerd-font - CodeNewRoman: - brew: font-code-new-roman-nerd-font - ComicShannsMono: - brew: font-comic-shanns-mono-nerd-font - CommitMono: - brew: font-commit-mono-nerd-font - Cousine: - brew: font-cousine-nerd-font - D2CodingLigature: - archive: D2Coding - brew: font-d2coding-nerd-font - DaddyTimeMono: - brew: font-daddy-time-mono-nerd-font - DejaVuSansM: - archive: DejaVuSansMono - brew: font-dejavu-sans-mono-nerd-font - DepartureMono: - brew: font-departure-mono-nerd-font - DroidSansM: - archive: DroidSansMono - brew: font-droid-sans-mono-nerd-font - EnvyCodeR: - brew: font-envy-code-r-nerd-font - FantasqueSansM: - archive: FantasqueSansMono - brew: font-fantasque-sans-mono-nerd-font - FiraCode: - brew: font-fira-code-nerd-font - FiraMono: - brew: font-fira-mono-nerd-font - GeistMono: - brew: font-geist-mono-nerd-font - GoMono: - archive: Go-Mono - brew: font-go-mono-nerd-font - GohuFont: - archive: Gohu - brew: font-gohufont-nerd-font - Hack: - brew: font-hack-nerd-font - Hasklug: - archive: Hasklig - brew: font-hasklug-nerd-font - HeavyData: - brew: font-heavy-data-nerd-font - Hurmit: - archive: Hermit - brew: font-hurmit-nerd-font - iMWriting: - archive: IA-Writer - brew: font-im-writing-nerd-font - Inconsolata: - brew: font-inconsolata-nerd-font - InconsolataGo: - brew: font-inconsolata-go-nerd-font - InconsolataLGC: - brew: font-inconsolata-lgc-nerd-font - IntoneMono: - archive: IntelOneMono - brew: font-intone-mono-nerd-font - Iosevka: - brew: font-iosevka-nerd-font - IosevkaTerm: - brew: font-iosevka-term-nerd-font - IosevkaTermSlab: - brew: font-iosevka-term-slab-nerd-font - JetBrainsMono: - brew: font-jetbrains-mono-nerd-font - Lekton: - brew: font-lekton-nerd-font - LiterationMono: - archive: LiberationMono - brew: font-liberation-nerd-font - Lilex: - brew: font-lilex-nerd-font - MartianMono: - brew: font-martian-mono-nerd-font - MesloLG: - archive: Meslo - brew: font-meslo-lg-nerd-font - Monaspice: - archive: Monaspace - brew: font-monaspace-nerd-font - Monofur: - brew: font-monofur-nerd-font - Monoid: - brew: font-monoid-nerd-font - Mononoki: - brew: font-mononoki-nerd-font - M+: - archive: MPlus - brew: font-m+-nerd-font - Noto: - brew: font-noto-nerd-font - OpenDyslexic: - brew: font-open-dyslexic-nerd-font - Overpass: - brew: font-overpass-nerd-font - ProFont: - brew: font-profont-nerd-font - ProggyClean: - brew: font-proggy-clean-tt-nerd-font - RecMono: - archive: Recursive - brew: font-recursive-mono-nerd-font - RobotoMono: - brew: font-roboto-mono-nerd-font - ShureTechMono: - archive: ShareTechMono - brew: font-shure-tech-mono-nerd-font - SauceCodePro: - archive: SourceCodePro - brew: font-sauce-code-pro-nerd-font - SpaceMono: - brew: font-space-mono-nerd-font - Symbols: - archive: NerdFontsSymbolsOnly - brew: font-symbols-only-nerd-font - Terminess: - archive: Terminus - brew: font-terminess-ttf-nerd-font - Tinos: - brew: font-tinos-nerd-font - Ubuntu: - brew: font-ubuntu-nerd-font - UbuntuMono: - brew: font-ubuntu-mono-nerd-font - UbuntuSans: - brew: font-ubuntu-sans-nerd-font - VictorMono: - brew: font-victor-mono-nerd-font - ZedMono: - brew: font-zed-mono-nerd-font - base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download -# }}} -- 2.47.3 From d1d556d42567fd45ba9f5f565e8a3124d7d38a5f Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Thu, 19 Mar 2026 13:39:26 -0600 Subject: [PATCH 36/48] modified make, fixed packages and vars - the make helper now has distinct build stages - configure: is now defined in pkg.targets.configure - build: is now defined in pkg.targets.build - install: is now defined in pkg.targets.install - added pre-install: which is a list of targets that are looped over before install - added post-instal: which is a list of targets that are looped over after install - removed major package level variables from vars/main.yml - moving those variables into actual package level variables as defaults - if the values are defined they will be used instead of defaults --- tasks/helpers/make.yml | 49 +++++++++++++++++++++++-- tasks/pkgs/bat.yml | 16 ++++++++- tasks/pkgs/cargo.yml | 7 +++- tasks/pkgs/cmake.yml | 6 ++++ tasks/pkgs/fzf.yml | 6 ++++ tasks/pkgs/git.yml | 6 ++++ tasks/pkgs/glow.yml | 13 ------- tasks/pkgs/go.yml | 81 ++++++++++++++++++++++++++++++------------ tasks/pkgs/neovim.yml | 65 +++++++++++++++++++++++++++++++-- vars/main.yml | 38 +++----------------- 10 files changed, 211 insertions(+), 76 deletions(-) delete mode 100644 tasks/pkgs/glow.yml diff --git a/tasks/helpers/make.yml b/tasks/helpers/make.yml index edb2e0a..6a8145e 100644 --- a/tasks/helpers/make.yml +++ b/tasks/helpers/make.yml @@ -12,11 +12,54 @@ version: "{{ pkg.version | default(omit) }}" ansible.builtin.include_tasks: helpers/git.yml -- name: Run make targets - loop: "{{ pkg.targets }}" +- name: Run configure target + when: + - pkg.target.configure is defined + community.general.make: + chdir: "{{ pkg.path }}" + target: "{{ pkg.target.configure.name }}" + params: "{{ pkg.target.configure.params | default(omit) }}" + +- name: Run build target + when: + - pkg.target.build is defined + community.general.make: + chdir: "{{ pkg.path }}" + target: "{{ pkg.target.build.name }}" + params: "{{ target.params | default(omit) }}" + +- name: Clean old installation + vars: + files: "{{ pkg.install_files }}" + when: + - pkg.install_files is defined + ansible.builtin.include_tasks: helpers/clean_install.yml + +- name: Run preinstall targets + when: + - pkg.targets.preinstall is defined + loop: "{{ pkg.targets.preinstall }}" + loop_control: + loop_var: target + community.general.make: + chdir: "{{ pkg.path }}" + target: "{{ target.name }}" + params: "{{ target.params | default(omit) }}" + +- name: Run install target + when: + - pkg.targets.install is defined + community.general.make: + chdir: "{{ pkg.path }}" + target: "{{ pkg.targets.install.name }}" + params: "{{ pkg.targets.install.params | default(omit) }}" + +- name: Run postinstall targets + when: + - pkg.targets.postinstall is defined + loop: "{{ pkg.targets.postinstall }}" loop_control: loop_var: target - become: "{{ target.do_become }}" community.general.make: chdir: "{{ pkg.path }}" target: "{{ target.name }}" diff --git a/tasks/pkgs/bat.yml b/tasks/pkgs/bat.yml index fef6532..ad05781 100644 --- a/tasks/pkgs/bat.yml +++ b/tasks/pkgs/bat.yml @@ -1,11 +1,25 @@ # vim: set filetype=yaml.ansible : # ## Package: bat -## Description: cat replacement with style +## Description: cat replacement with wings ## Version: latest ## Methods: source ## Helpers: cargo --- +- name: Set bat default facts # {{{ + ansible.builtin.set_fact: + bat: + install_methods: + - source + - system + pkgname: + RedHat: bat + Debian: bat + Archlinux: bat + Alpine: bat + Darwin: bat + FreeBSD: bat +# }}} - name: Start bat configuration when: - "'bat' not in __configured" diff --git a/tasks/pkgs/cargo.yml b/tasks/pkgs/cargo.yml index 705f193..c4d5b7d 100644 --- a/tasks/pkgs/cargo.yml +++ b/tasks/pkgs/cargo.yml @@ -11,6 +11,11 @@ cargo: install_methods: - system + pkgname: + RedHat: cargo + Debian: cargo + Alpine: cargo + FreeBSD: cargo - name: Configure cargo when: - "'cargo' not in __configured" @@ -35,7 +40,7 @@ block: - name: Queue cargo install ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [cargo_pkgname] }}" + pkg_sys: "{{ pkg_sys + [cargo.pkgname[os_family]] }}" - name: Finalize cargo configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/cmake.yml b/tasks/pkgs/cmake.yml index a2796e9..5eac0d0 100644 --- a/tasks/pkgs/cmake.yml +++ b/tasks/pkgs/cmake.yml @@ -6,6 +6,12 @@ ## Methods: system ## Helpers: - --- +- name: Set cmake default facts # {{ + ansible.builtin.set_fact: + cmake: + install_methods: + - system +# }} - name: Configure cmake when: - "'cmake' not in __configured" diff --git a/tasks/pkgs/fzf.yml b/tasks/pkgs/fzf.yml index bec4d44..7a030e5 100644 --- a/tasks/pkgs/fzf.yml +++ b/tasks/pkgs/fzf.yml @@ -1,5 +1,11 @@ # vim: set filetype=yaml.ansible : --- +- name: Set fzf default facts # {{{ + ansible.builtin.set_fact: + fzf: + install_methods: + - system +# }}} - name: Configure fzf when: - "'fzf' not in __configured" diff --git a/tasks/pkgs/git.yml b/tasks/pkgs/git.yml index 6a6c941..7f571ee 100644 --- a/tasks/pkgs/git.yml +++ b/tasks/pkgs/git.yml @@ -1,5 +1,11 @@ # vim: set filetype=yaml.ansible : --- +- name: Set git default facts # {{{ + ansible.builtin.set_fact: + git: + install_methods: + - system +# }}} - name: Configure git when: - "'git' not in __configured" diff --git a/tasks/pkgs/glow.yml b/tasks/pkgs/glow.yml deleted file mode 100644 index 01077b0..0000000 --- a/tasks/pkgs/glow.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add glow - when: - - glow_configured is undefined - block: - - name: Append glow to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/charmbracelet/glow@latest'] }}" - - - name: Set glow_configured - ansible.builtin.set_fact: - glow_configured: true diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index cee5b34..6d331a1 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -1,5 +1,50 @@ # vim: set filetype=yaml.ansible : --- +- name: Set go default facts # {{{ + ansible.builtin.set_fact: + go: + install_methods: + - archive + - system + pkgname: + RedHat: go + Debian: go + Darwin: go + FreeBSD: + default: go + 1.25: go125 + 1.24: go124 + 1.23: go123 + 1.22: go122 + archive: + version: "{{ go_archive_version | default('1.26.1') }}" + archmap: + arm64: arm64 + aarch64: arm64 + x86_64: amd64 + url_base: https://go.dev/dl + checksums: + 1.26.1: + Darwin: + amd64: sha256:65773dab2f8cc4cd23d93ba6d0a805de150ca0b78378879292be0b903b8cdd08 + arm64: sha256:353df43a7811ce284c8938b5f3c7df40b7bfb6f56cb165b150bc40b5e2dd541f + Linux: + amd64: sha256:031f088e5d955bab8657ede27ad4e3bc5b7c1ba281f05f245bcc304f327c987a + arm64: sha256:a290581cfe4fe28ddd737dde3095f3dbeb7f2e4065cab4eae44dfc53b760c2f7 + FreeBSD: + amd64: sha256:d89034a0b54fdc234815fecfb76d7d06a7d180d7a6124aa47715a4cacc9fe999 + arm64: sha256:d62b358dbf7bcfc33402e7e221d848e7fd8d7ac902b33920f2c23c8a32ba76db + 1.25.6: + Darwin: + amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 + arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 + Linux: + amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a + arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 + FreeBSD: + amd64: sha256:61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b + arm64: sha256:648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77 +# }}} - name: Configure go for install when: - "'go' not in __configured" @@ -16,7 +61,7 @@ block: - name: Set go pkgname ansible.builtin.set_fact: - go_pkgname: "{{ go_pkgname[ansible_os_family] }}" + go_pkgname: "{{ go.pkgname[os_family] }}" - name: Set go pkgname for FreeBSD when: @@ -24,6 +69,10 @@ ansible.builtin.set_fact: go_pkgname: "{{ go_pkgname[go_bsd_version] | default(go_pkgname['default']) }}" + - name: Go system package install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [go_pkgname] }}" + - name: Configure go archive installation when: - go_install_method == 'archive' @@ -31,16 +80,16 @@ - name: Configure go ansible.builtin.set_fact: go_system: "{{ ansible_system | lower }}" - go_arch: "{{ go_archive_archmap[ansible_architecture] }}" + go_arch: "{{ go.archive.archmap[ansible_architecture] }}" - name: Set archive name ansible.builtin.set_fact: - go_archive_file: "go{{ go_archive_version }}.{{ go_system }}-{{ go_arch }}.tar.gz" + go_archive_file: "go{{ go.archive.version }}.{{ go_system }}-{{ go_arch }}.tar.gz" - name: Set go archive url and path ansible.builtin.set_fact: - go_archive_url: "{{ go_archive_url_base }}/{{ go_archive_file }}" - go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}" + go_archive_url: "{{ go.archive.url_base }}/{{ go_archive_file }}" + go_extract_path: "{{ path_archive }}/go{{ go.archive.version }}" - name: Finalize go archive install ansible.builtin.set_fact: @@ -48,7 +97,7 @@ extract_to: "{{ go_extract_path }}" url: "{{ go_archive_url }}" name: "{{ go_archive_file }}" - checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" + checksum: "{{ go.archive.checksums[go.archive.version][ansible_system][go_arch] }}" links: - from: "{{ go_extract_path }}/go" to: "{{ path_go }}" @@ -59,22 +108,10 @@ __add_to_path: "{{ __add_to_path + [path_go ~ '/bin'] }}" __var_to_env: "{{ __var_to_env | combine( { 'GOROOT': path_go } ) }}" - - name: Queue go install - block: - - name: Go system package install - when: - - go_install_method == 'system' + - name: Add go archive extract install ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [go_pkgname] }}" + pkg_archive: "{{ pkg_archive + [go_archive_install] }}" - - name: Install via archive - when: - - go_install_method == 'archive' - block: - - name: Add go archive extract install - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + [go_archive_install] }}" - - - name: Complete go archive install configuration + - name: Finalise go configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'go': true } ) }}" + __configured: "{{ __configured | combine( { 'go': go_install_method } ) }}" diff --git a/tasks/pkgs/neovim.yml b/tasks/pkgs/neovim.yml index 6294150..c9e7e88 100644 --- a/tasks/pkgs/neovim.yml +++ b/tasks/pkgs/neovim.yml @@ -1,5 +1,64 @@ # vim: set filetype=yaml.ansible : +# +## Package: neovim +## Description: fork of vim focusing on modern development +## Version: master +## Methods: [source, system, appimage, archive] +## Helpers: [make, archive, appimage] --- +- name: Set neovim default facts # {{{ + ansible.builtin.set_fact: + neovim: + install_methods: + - source + - system + - appimage + - archive + git_repo: https://github.com/neovim/neovim + appimage: + base_url: https://github.com/neovim/neovim/releases/download + pkgname: + RedHat: neovim + Debian: neovim + Darwin: neovim + FreeBSD: neovim + build_files: + - to: lib64/nvim + - to: bin/nvim + - to: share/nvim + - to: share/applications/nvim.desktop + - to: share/icons/hicolor/128x128/apps/nvim.png + - to: share/man/man1/nvim.1 + build_pkgdeps: + - cmake + - git + build_deps: + RedHat: + - cmake + - curl + - gcc + - gettext + - glibc-gconv-extra + - make + - ninja-build + Debian: + - build-essential + - cmake + - curl + - gettext + - ninja-build + Darwin: + - cmake + - curl + - gettext + - ninja + Alpine: + - build-base + - cmake + - coreutils + - curl + - gettext-dev +# }}} - name: Configure neovim when: - "'neovim' not in __configured" @@ -29,12 +88,14 @@ repo: "{{ neovim.git_repo }}" version: "{{ neovim_version }}" targets: - - name: "" + build: + name: "" do_become: false params: CMAKE_BUILD_TYPE: Release CMAKE_EXTRA_FLAGS: "-DCMAKE_INSTALL_PREFIX={{ install_prefix }}" - - name: install + install: + name: install do_become: true - name: Append neovim to source install list ansible.builtin.set_fact: diff --git a/vars/main.yml b/vars/main.yml index 877bf92..481956f 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -44,42 +44,12 @@ __configured: {} # dict of configured packages __add_to_path: [] # list of paths that should be in PATH __var_to_env: {} # dict of variables to add to your env -# Per package variables -# cargo {{{ -cargo_pkgname: cargo -# }}} -# {{{ go -go_archive_version: 1.25.6 -go_archive_archmap: - arm64: arm64 - aarch64: arm64 - x86_64: amd64 -go_archive_url_base: https://go.dev/dl -go_archive_sums: - 1.25.6: - Darwin: - amd64: sha256:e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7 - arm64: sha256:984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006 - Linux: - amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a - arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 - FreeBSD: - amd64: sha256:61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b - arm64: sha256:648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77 -go_profile_path: +# system level variables that could change for each system +path_profile: Linux: /etc/profile.d FreeBSD: /etc/profile.d -go_pkgname: - RedHat: go - Debian: go - Darwin: go - FreeBSD: - default: go - 1.25: go125 - 1.24: go124 - 1.23: go123 - 1.22: go122 -# }}} + +# Per package variables # neovim {{{ neovim_version: master neovim_build_type: Release -- 2.47.3 From 2d65e01f7b19faa00fed88344ba40bc3c1b0445d Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Thu, 19 Mar 2026 21:46:04 -0600 Subject: [PATCH 37/48] adjusting variable names, fixing errors --- tasks/facts.yml | 1 + tasks/main.yml | 55 ++---- tasks/pkgs/air.yml | 18 +- tasks/pkgs/alacritty.yml | 46 +++--- tasks/pkgs/ansible.yml | 35 +++- tasks/pkgs/ansible_lint.yml | 30 ++-- tasks/pkgs/ansible_ls.yml | 14 +- tasks/pkgs/bashls.yml | 14 +- tasks/pkgs/bat.yml | 22 ++- tasks/pkgs/broot.yml | 31 ++-- tasks/pkgs/btop.yml | 15 +- tasks/pkgs/buf.yml | 23 ++- tasks/pkgs/bufls.yml | 20 ++- tasks/pkgs/cargo.yml | 17 +- tasks/pkgs/cbfmt.yml | 17 +- tasks/pkgs/cheat.yml | 14 +- tasks/pkgs/checkmake.yml | 17 +- tasks/pkgs/choose.yml | 18 +- tasks/pkgs/clangd.yml | 24 ++- tasks/pkgs/cmake.yml | 17 +- tasks/pkgs/cmakelang.yml | 18 +- tasks/pkgs/commitlint-cli.yml | 18 +- tasks/pkgs/commitlint-config-conventional.yml | 18 +- tasks/pkgs/cssls.yml | 16 +- tasks/pkgs/direnv.yml | 24 ++- tasks/pkgs/dockerls.yml | 19 ++- tasks/pkgs/eslint.yml | 16 +- tasks/pkgs/eza.yml | 17 +- tasks/pkgs/fd.yml | 48 +++++- tasks/pkgs/firewalld.yml | 39 ++++- tasks/pkgs/flatpak.yml | 20 ++- tasks/pkgs/fzf.yml | 21 ++- tasks/pkgs/ghostty.yml | 156 +++++++++++++----- tasks/pkgs/nodejs.yml | 23 ++- tasks/pkgs/npm.yml | 3 + tasks/pkgs/rust.yml | 19 ++- tasks/pkgs/starship.yml | 14 +- tasks/pkgs/zig.yml | 58 +++++-- 38 files changed, 697 insertions(+), 298 deletions(-) diff --git a/tasks/facts.yml b/tasks/facts.yml index 8cb1acc..545a3a6 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -34,6 +34,7 @@ path_cargo: "{{ install_prefix }}/cargo" path_source: "{{ install_prefix }}/source" path_go: "{{ install_prefix }}/go" + path_zig: "{{ install_prefix }}/zig" path_pipx: "{{ install_prefix }}/pipx" store_path: "{{ user_dir }}/.cache/ansible_role_package" path_lib: "{{ install_prefix }}/lib" diff --git a/tasks/main.yml b/tasks/main.yml index 6381216..6ce927d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -27,7 +27,7 @@ - "{{ path_bin }}" - "{{ path_cargo }}" - "{{ path_source }}" - - "{{ path_pipx }}" + - "{{ path_zig }}" loop_control: loop_var: path ansible.builtin.file: @@ -66,39 +66,6 @@ ansible.builtin.include_tasks: file: "pkgs/{{ pkg }}.yml" -- name: Ensure pipx is installed - when: - - pkg_pipx|length > 0 - block: - - name: Ensure pipx path exists - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path_pipx }}" - -- name: Ensure appimage path exists - when: - - pkg_appimage is defined - - pkg_appimage|length > 0 - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path_appimage }}" - -- name: Ensure archive path exists - when: - - pkg_archive|length > 0 - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path_archive }}" - - name: Install pkg_sys list using system package manager when: - pkg_sys|length > 0 @@ -108,14 +75,6 @@ name: "{{ pkg_sys | unique }}" state: present -- name: Install pkg_archive - when: - - pkg_archive|length > 0 - loop: "{{ pkg_archive }}" - loop_control: - loop_var: archive - ansible.builtin.include_tasks: helpers/archive.yml - - name: Linux specific tasks when: - system == 'Linux' @@ -126,6 +85,16 @@ - distribution == 'MacOSX' ansible.builtin.include_tasks: macos.yml +- name: Install pkg_archive + when: + - pkg_archive|length > 0 + block: + - name: Install archives + loop: "{{ pkg_archive }}" + loop_control: + loop_var: archive + ansible.builtin.include_tasks: helpers/archive.yml + - name: Install cargo packages when: - pkg_cargo|length > 0 or @@ -161,7 +130,7 @@ loop_var: pkg ansible.builtin.include_tasks: helpers/npm.yml -- name: Install python pipx packages for user +- name: Install python pipx packages when: - pkg_pipx|length > 0 loop: "{{ pkg_pipx | unique }}" diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index ccce64f..9767eed 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -9,14 +9,14 @@ - name: Set air default facts # {{{ ansible.builtin.set_fact: air: - install_methods: + methods: - source install_files: - to: bin/air install_url: github.com/air-verse/air pkg_deps: - go - air_version: "{{ air_version | default('latest')}}" + version: "{{ air_version | default('latest')}}" # }}} - name: Start air configuration when: @@ -24,18 +24,18 @@ block: - name: Set air install method when: - - air_install_method is undefined + - air_imethod is undefined ansible.builtin.set_fact: - air_install_method: "{{ install_method if install_method in air.install_methods else air.install_methods[0] }}" + air_imethod: "{{ imethod if imethod in air.methods else air.methods[0] }}" - name: Set air build facts when: - - air_install_method == 'source' + - air_imethod == 'source' block: - name: Set air install package ansible.builtin.set_fact: air_go_pkg: - url: "{{ air.install_url }}@{{ air_version }}" + url: "{{ air.install_url }}@{{ air.version }}" bin: "{{ path_bin }}/air" - name: Clean existing air install @@ -54,6 +54,10 @@ ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [air_go_pkg] }}" + - name: Finalise air source install + ansible.builtin.set_fact: + air_install: "{{ air_imethod }}={{ air_go_pkg }}" + - name: Finalize air configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'air': air_install_method } ) }}" + __configured: "{{ __configured | combine( { 'air': air_install } ) }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index f0c86d9..344d01b 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -8,16 +8,16 @@ --- - name: Set alacritty default facts # {{{ ansible.builtin.set_fact: - alacritty_version: "{{ alacritty_version | default('v0.16.1') }}" - alacritty_build_flags: "{{ alacritty_build_flags | default( ['--release'] ) }}" alacritty: + methods: + - source + - system + build_flags: "{{ alacritty_build_flags | default( ['--release'] ) }}" + version: "{{ alacritty_version | default('v0.16.1') }}" pkgname: RedHat: alacritty Debian: alacritty Alpine: alacritty - install_methods: - - source - - system git_repo: https://github.com/alacritty/alacritty install_files: - from: target/release/alacritty @@ -33,7 +33,7 @@ - git - cargo - cmake - build_deps: + bds: RedHat: - fontconfig-devel - freetype-devel @@ -81,33 +81,33 @@ block: - name: Set alacritty install method when: - - alacritty_install_method is undefined + - alacritty_imethod is undefined block: - name: Configure for RedHat enterprise linux 10 when: - os_family == 'RedHat' - ansible_distribution_major_version|int <= 10 ansible.builtin.set_fact: - alacritty_install_method: source + alacritty_imethod: source - name: Fallback configuration for alacritty when: - - alacritty_install_method is undefined + - alacritty_imethod is undefined ansible.builtin.set_fact: - alacritty_install_method: "{{ install_method if install_method in alacritty.install_methods else alacritty.install_methods[0] }}" + alacritty_imethod: "{{ imethod if imethod in alacritty.methods else alacritty.methods[0] }}" - name: Configure alacritty source install # {{{ when: - - alacritty_install_method == "source" + - alacritty_imethod == "source" block: - name: Set alacritty build facts ansible.builtin.set_fact: alacritty_src_install: - build_flags: "{{ alacritty_build_flags }}" + build_flags: "{{ alacritty.build_flags }}" source_dir: "{{ d_cache.path }}/alacritty" repo: "{{ alacritty.git_repo }}" - version: "{{ alacritty_version }}" + version: "{{ alacritty.version }}" files: "{{ alacritty.install_files }}" - alacritty_build_deps: "{{ alacritty.build_deps[os_family] }}" + alacritty_bds: "{{ alacritty.bds[os_family] }}" - name: Set alacritty install extra build deps when: @@ -118,13 +118,13 @@ when: - ansible_distribution_major_version == 7 ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['xcb-util-devel', '@Development Tools'] }}" + alacritty_bds: "{{ alacritty_bds + ['xcb-util-devel', '@Development Tools'] }}" - name: Add extra dependencies for EL8 when: - ansible_distribution_major_version == 8 ansible.builtin.set_fact: - alacritty_build_deps: "{{ alacritty_build_deps + ['@Development Tools'] }}" + alacritty_bds: "{{ alacritty_bds + ['@Development Tools'] }}" - name: Configure pkg dependencies loop: "{{ alacritty.pkg_deps }}" @@ -134,17 +134,25 @@ - name: Append build dependencies and cargo config ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + alacritty_build_deps }}" + pkg_sys: "{{ pkg_sys + alacritty_bds }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" + - name: Finalise alacritty source instal + ansible.builtin.set_fact: + cargo_install: "{{ alacritty_imethod }}={{ alacritty_src_install }}+{{ alacritty_bds }}" + - name: Configure alacritty system install when: - - alacritty_install_method == 'system' + - alacritty_imethod == 'system' block: - name: Queue alacritty for installation ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [ alacritty.pkgname[os_family] ] }}" + - name: Finalise alacritty system install + ansible.builtin.set_fact: + alacritty_install: "{{ alacritty_imethod }}={{ alacritty.pkgname[os_family] ]}}" + - name: Complete alacritty configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'alacritty': alacritty_install_method } ) }}" + __configured: "{{ __configured | combine( { 'alacritty': alacritty_install } ) }}" diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 1f3a426..95f186d 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -9,7 +9,7 @@ - name: Set ansible default facts # {{{ ansible.builtin.set_fact: ansible: - install_methods: + methods: - system - source pkgname: @@ -25,22 +25,39 @@ block: - name: Set ansible install method when: - - ansible_install_method is undefined + - ansible_imethod is undefined ansible.builtin.set_fact: - ansible_install_method: "{{ install_method if install_method in ansible.install_methods else ansible.install_methods[0] }}" + ansible_imethod: "{{ imethod if imethod in ansible.methods else ansible.methods[0] }}" - name: Append ansible to system package manager install list when: - - ansible_install_method == "system" - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ ansible.pkgname[os_family] ] }}" + - ansible_imethod == "system" + block: + - name: Queue ansible sytem install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ ansible.pkgname[os_family] ] }}" + + - name: Finalise ansible system install + ansible.builtin.set_fact: + ansible_install: "{{ ansible_imethod }}={{ ansible.pkgname[os_family] }}" - name: Append ansible to pipx install list when: - - ansible_install_method == 'source' + - ansible_imethod == 'source' ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + [ { 'name': ansible.pkgname['pip'] } ] }}" + - name: Configure ansible source install + ansible.builtin.set_fact: + ansible_src_install: + name: "{{ ansible.pkgname['pip'] }}" + + - name: Queue ansible source install + ansible.builtin.set_fact: + pkg_pipx: "{{ pkg_pipx + [ansible_src_install] }}" + + - name: Finalise ansible source install + ansible.builtin.set_fact: + ansible_install: "{{ ansible_imethod }}={{ ansible_src_install }}" - name: Complete ansible configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible': ansible_install_method } ) }}" + __configured: "{{ __configured | combine( { 'ansible': ansible_install } ) }}" diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index 26d7f4a..e4d4853 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -10,7 +10,7 @@ ansible.builtin.set_fact: ansible_lint_version: "{{ ansible_lint_version | default('latest') }}" ansible_lint: - install_methods: + methods: - source - system pkgname: @@ -28,35 +28,45 @@ block: - name: Set ansible_lint install method when: - - ansible_lint_install_method is undefined + - ansible_lint_imethod is undefined block: - name: Configure for RedHat <= 10 when: - os_family == 'RedHat' - ansible_distribution_major_version|int <= 10 ansible.builtin.set_fact: - ansible_lint_install_method: source + ansible_lint_imethod: source - name: Fallback set ansible_lint install method when: - - ansible_lint_install_method is undefined + - ansible_lint_imethod is undefined ansible.builtin.set_fact: - ansible_lint_install_method: "{{ install_method if install_method in ansible_lint.install_methods else ansible_lint.install_methods[0] }}" + ansible_lint_imethod: "{{ imethod if imethod in ansible_lint.methods else ansible_lint.methods[0] }}" - name: Configure pipx source install when: - - ansible_lint_install_method == "source" + - ansible_lint_imethod == "source" block: - name: Add ansible_lint to pipx install list ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + [ansible_lint.pkgname['pip']] }}" + - name: Finalise ansible_lint source install + ansible.builtin.set_fact: + ansible_lint_install: "{{ ansible_lint_imethod }}={{ ansible_lint.pkgname['pip'] }}" + - name: Append ansible-lint to system install list when: - - ansible_lint_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[ansible_os_family]] }}" + - ansible_lint_imethod == 'system' + block: + - name: Queue ansible_lint system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[os_family]] }}" + + - name: Finalise ansible_lint system install + ansible.builtin.set_fact: + ansible_lint_install: "{{ ansible_lint_imethod }}={{ ansible_lint.pkgname[os_family] }}" - name: Complete ansible_lint configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible_lint': ansible_lint_install_method } ) }}" + __configured: "{{ __configured | combine( { 'ansible_lint': ansible_lint_install } ) }}" diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 277556e..88fbc80 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -9,7 +9,7 @@ - name: Set ansible_ls default facts # {{{ ansible.builtin.set_fact: ansible_ls: - install_methods: + methods: - source - system npm_pkg: @@ -25,13 +25,13 @@ block: - name: Set ansible_ls install method when: - - ansible_ls_install_method is undefined + - ansible_ls_imethod is undefined ansible.builtin.set_fact: - ansible_ls_install_method: "{{ install_method if install_method in ansible_ls.install_methods else ansible_ls.install_methods[0] }}" + ansible_ls_imethod: "{{ imethod if imethod in ansible_ls.methods else ansible_ls.methods[0] }}" - name: Configure ansible_ls source install when: - - ansible_ls_install_method == 'source' + - ansible_ls_imethod == 'source' block: - name: Load required installation dependencies loop: "{{ ansible_ls.pkg_deps }}" @@ -50,6 +50,10 @@ ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + [ansible_ls_npm_pkg] }}" + - name: Finalise ansible_ls source install + ansible.builtin.set_fact: + ansible_ls_install: "{{ ansible_ls_imethod }}={{ ansible_ls_npm_pkg }}" + - name: Set ansible_ls_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'ansible_ls': ansible_ls_install_method } ) }}" + __configured: "{{ __configured | combine( { 'ansible_ls': ansible_ls_install } ) }}" diff --git a/tasks/pkgs/bashls.yml b/tasks/pkgs/bashls.yml index b08fa21..8dc02cb 100644 --- a/tasks/pkgs/bashls.yml +++ b/tasks/pkgs/bashls.yml @@ -9,7 +9,7 @@ - name: Set bashls default facts # {{{ ansible.builtin.set_fact: bashls: - install_methods: + methods: - source npm_pkg: name: bash-language-server @@ -22,13 +22,13 @@ block: - name: Set bashls install method when: - - bashls_install_method is undefined + - bashls_imethod is undefined ansible.builtin.set_fact: - bashls_install_method: "{{ install_method if install_method in bashls.install_methods else bashls.install_methods[0] }}" + bashls_imethod: "{{ imethod if imethod in bashls.methods else bashls.methods[0] }}" - name: Configure bashls source install when: - - bashls_install_method == 'source' + - bashls_imethod == 'source' block: - name: Set bashls npm_pkg config ansible.builtin.set_fact: @@ -41,6 +41,10 @@ ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + [bashls_npm_pkg] }}" + - name: Finalise bashls source install + ansible.builtin.set_fact: + bashls_install: "{{ bashls_imethod }}={{ bashls_npm_pkg }}" + - name: Set bashls_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'bashls': bashls_install_method } ) }}" + __configured: "{{ __configured | combine( { 'bashls': bashls_install } ) }}" diff --git a/tasks/pkgs/bat.yml b/tasks/pkgs/bat.yml index ad05781..10a53b7 100644 --- a/tasks/pkgs/bat.yml +++ b/tasks/pkgs/bat.yml @@ -9,7 +9,7 @@ - name: Set bat default facts # {{{ ansible.builtin.set_fact: bat: - install_methods: + methods: - source - system pkgname: @@ -26,13 +26,13 @@ block: - name: Set bat install method when: - - bat_install_method is undefined + - bat_imethod is undefined ansible.builtin.set_fact: - bat_install_method: "{{ install_method if install_method in bat.install_methods else bat.install_methods[0] }}" + bat_imethod: "{{ imethod if imethod in bat.methods else bat.methods[0] }}" - name: Configure bat source install when: - - bat_install_method == "source" + - bat_imethod == "source" block: - name: Set bat cargo configuration ansible.builtin.set_fact: @@ -42,16 +42,24 @@ - name: Queue bat for cargo install ansible.builtin.set_fact: - pkg_carg: "{{ pkg_cargo + [bat_cargo_install] }}" + pkg_cargo: "{{ pkg_cargo + [bat_cargo_install] }}" + + - name: Finalise bat source install + ansible.builtin.set_fact: + bat_install: "{{ bat_imethod }}={{ bat_cargo_install }}" - name: Configure bat system install when: - - bat_install_method == "system" + - bat_imethod == "system" block: - name: Append bat to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [ bat.pkgname[os_family] ] }}" + - name: Finalise bat system install + ansible.builtin.set_fact: + bat_install: "{{ bat_imethod }}={{ bat.pkgname[os_family] }}" + - name: Finalize bat configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'bat': bat_install_method } ) }}" + __configured: "{{ __configured | combine( { 'bat': bat_install } ) }}" diff --git a/tasks/pkgs/broot.yml b/tasks/pkgs/broot.yml index 9d2a64d..8d6ac60 100644 --- a/tasks/pkgs/broot.yml +++ b/tasks/pkgs/broot.yml @@ -6,10 +6,10 @@ ## Methods: [source, system] ## Helpers: cargo --- -- name: Set default broot values +- name: Set default broot values # {{{ ansible.builtin.set_fact: broot: - install_methods: + methods: - source - system version: 1.55.0 @@ -25,30 +25,31 @@ Alpine: - libxcb-dev Darwin: [] -- name: Add broot +# }}} +- name: Configure broot when: - "'broot' not in __configured" block: - name: Set broot install method when: - - broot_install_method is undefined + - broot_imethod is undefined block: - name: Configure for RedHat <= 10 when: - os_family == 'RedHat' - - ansible_distribution_major_version|int <= 10 + - os_version.major | int <= 10 ansible.builtin.set_fact: - broot_install_method: source + broot_imethod: source - name: Fallback set ansible_lint install method when: - - broot_install_method is undefined + - broot_imethod is undefined ansible.builtin.set_fact: - broot_install_method: "{{ install_method if install_method in broot.install_methods else broot.install_methods[0] }}" + broot_imethod: "{{ imethod if imethod in broot.methods else broot.methods[0] }}" - name: Configure broot source install when: - - broot_install_method == 'source' + - broot_imethod == 'source' block: - name: Set cargo build options ansible.builtin.set_fact: @@ -61,9 +62,13 @@ pkg_sys: "{{ pkg_sys + broot.build_deps[os_family] }}" pkg_cargo: "{{ pkg_cargo + [broot_cargo_install] }}" + - name: Finalise broot source install + ansible.builtin.set_fact: + broot_install: "{{ broot_imethod }}={{ broot_cago_install }}+{{ broot.build_deps[os_family] }}" + - name: Configure broot system install when: - - broot_install_method == 'system' + - broot_imethod == 'system' block: - name: Append broot to pkg_sys when: @@ -71,6 +76,10 @@ ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['broot'] }}" + - name: Finalise broot system install + ansible.builtin.set_fact: + broot_install: "{{ broot_imethod }}=broot" + - name: Set broot_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'broot': broot_install_method } ) }}" + __configured: "{{ __configured | combine( { 'broot': broot_install } ) }}" diff --git a/tasks/pkgs/btop.yml b/tasks/pkgs/btop.yml index 8f668e4..a57c25e 100644 --- a/tasks/pkgs/btop.yml +++ b/tasks/pkgs/btop.yml @@ -6,27 +6,32 @@ ## Methods: system ## Helpers: - --- -- name: Set default btop options +- name: Set default btop options # {{{ ansible.builtin.set_fact: btop: - install_methods: + methods: - system pkgname: btop +# }}} - name: Configure btop install when: - "'btop' not in __configured" block: - name: Set btop install method ansible.builtin.set_fact: - btop_install_method: "{{ install_method if install_method in btop.install_methods else btop.install_methods[0] }}" + btop_imethod: "{{ imethod if imethod in btop.methods else btop.methods[0] }}" - name: Configure btop system install when: - - btop_install_method == 'system' + - btop_imethod == 'system' block: - name: Append btop to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [btop.pkgname] }}" + + - name: Finalise btop system install + ansible.builtin.set_fact: + btop_install: "{{ btop_imethod }}={{ btop.pkgname }}" - name: Finalise btop configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'btop': btop_install_method } ) }}" + __configured: "{{ __configured | combine( { 'btop': btop_install } ) }}" diff --git a/tasks/pkgs/buf.yml b/tasks/pkgs/buf.yml index 7283d7a..3278b4a 100644 --- a/tasks/pkgs/buf.yml +++ b/tasks/pkgs/buf.yml @@ -6,35 +6,44 @@ ## Methods: source ## Helpers: go_install --- -- name: Set default buf values +- name: Set default buf values # {{{ ansible.builtin.set_fact: buf: - install_methods: + methods: - source build_deps: - go version: latest go_pkg: github.com/bufbuild/buf/cmd/buf +# }}} - name: Configure bug install when: - "'buf' not in __configured" block: - name: Set buf install method when: - - buf_install_method is undefined + - buf_imethod is undefined ansible.builtin.set_fact: - buf_install_method: "{{ install_method if install_method in buf.install_methods else buf.install_methods[0] }}" + buf_imethod: "{{ imethod if imethod in buf.methods else buf.methods[0] }}" - name: Configure buf source install when: - - buf_install_method == 'source' + - buf_imethod == 'source' block: - - name: Append buf to pkg_go + - name: Configure buf go install ansible.builtin.set_fact: buf_go_install: bin: buf url: "{{ buf.go_pkg }}@{{ buf.version }}" + - name: Append buf to pkg_go + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [buf_go_install] }}" + + - name: Finalise buf source install + ansible.builtin.set_fact: + buf_install: "{{ buf_imethod }}={{ buf_go_install }}" + - name: Finalise buf configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'buf': buf_install_method } ) }}" + __configured: "{{ __configured | combine( { 'buf': buf_install } ) }}" diff --git a/tasks/pkgs/bufls.yml b/tasks/pkgs/bufls.yml index 010cfce..debd591 100644 --- a/tasks/pkgs/bufls.yml +++ b/tasks/pkgs/bufls.yml @@ -6,25 +6,25 @@ ## Methods: source ## Helpers: go_install --- -- name: Set default bufls options +- name: Set default bufls options # {{{ ansible.builtin.set_fact: bufls: - install_methods: + methods: - source version: latest go_pkg: github.com/bufbuild/buf-language-server/cmd/bufls - +# }}} - name: Configure bufls install when: - "'bufls' not in __configured" block: - name: Set bufls install method ansible.builtin.set_fact: - bufls_install_method: "{{ install_method if install_method in bufls.install_methods else bufls.install_methods[0] }}" + bufls_imethod: "{{ imethod if imethod in bufls.methods else bufls.methods[0] }}" - name: Configure bufls source install when: - - bufls_install_method == 'source' + - bufls_imethod == 'source' block: - name: Configure bufls go install ansible.builtin.set_fact: @@ -32,6 +32,14 @@ url: "{{ bufls.go_pkg }}@{{ bufls.version }}" bin: "{{ path_bin }}/bufls" + - name: Queue bufls go install + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [bufls_go_install] }}" + + - name: Finalise bufls go install + ansible.builtin.set_fact: + bufls_install: "{{ bufls_imethod }}={{ bufls_go_install }}" + - name: Finalise bufls configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'bufls': bufls_install_method } ) }}" + __configured: "{{ __configured | combine( { 'bufls': bufls_install } ) }}" diff --git a/tasks/pkgs/cargo.yml b/tasks/pkgs/cargo.yml index c4d5b7d..eec4c19 100644 --- a/tasks/pkgs/cargo.yml +++ b/tasks/pkgs/cargo.yml @@ -6,25 +6,26 @@ ## Methods: system ## Helpers: - --- -- name: Set default cargo values +- name: Set default cargo values # {{{ ansible.builtin.set_fact: cargo: - install_methods: + methods: - system pkgname: RedHat: cargo Debian: cargo Alpine: cargo FreeBSD: cargo +# }}} - name: Configure cargo when: - "'cargo' not in __configured" block: - name: Set cargo install method when: - - cargo_install_method is undefined + - cargo_imethod is undefined ansible.builtin.set_fact: - cargo_install_method: "{{ install_method if install_method in cargo.install_methods else cargo.install_methods[0] }}" + cargo_imethod: "{{ imethod if imethod in cargo.methods else cargo.methods[0] }}" - name: Add dependencies when: @@ -36,12 +37,16 @@ - name: Append cargo to install list when: - - cargo_install_method == "system" + - cargo_imethod == "system" block: - name: Queue cargo install ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [cargo.pkgname[os_family]] }}" + - name: Finalise cargo system install + ansible.builtin.set_fact: + cargo_install: "{{ cargo_imethod }}={{ cargo.pkgname[os_family] }}" + - name: Finalize cargo configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine ( { 'cargo': cargo_install_method } ) }}" + __configured: "{{ __configured | combine ( { 'cargo': cargo_install } ) }}" diff --git a/tasks/pkgs/cbfmt.yml b/tasks/pkgs/cbfmt.yml index 2809315..c2ff780 100644 --- a/tasks/pkgs/cbfmt.yml +++ b/tasks/pkgs/cbfmt.yml @@ -6,27 +6,28 @@ ## Methods: system ## Helpers: cargo --- -- name: Set default cbfmt values +- name: Set default cbfmt values # {{{ ansible.builtin.set_fact: cbfmt: - install_methods: + methods: - source pkgname: cbfmt pkg_deps: - cargo +# }}} - name: Configure cbfmt install when: - "'cbfmt' not in __configured" block: - name: Set cbfmt install method when: - - cbfmt_install_method is undefined + - cbfmt_imethod is undefined ansible.builtin.set_fact: - cbfmt_install_method: "{{ install_method if install_method in cbfmt.install_methods else cbfmt.install_methods[0] }}" + cbfmt_imethod: "{{ imethod if imethod in cbfmt.methods else cbfmt.methods[0] }}" - name: Configure cbfmt source install when: - - cbfmt_install_method == 'source' + - cbfmt_imethod == 'source' block: - name: Configure cbfmt cargo install ansible.builtin.set_fact: @@ -36,6 +37,10 @@ ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + [cbfmt_cargo_install] }}" + - name: Finalise cbfmt cargo install + ansible.builtin.set_fact: + cbfmt_install: "{{ cbfmt_imethod }}={{ cbfmt_cargo_install }}" + - name: Finalise cbfmt configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'cbfmt': cbfmt_install_method } ) }}" + __configured: "{{ __configured | combine( { 'cbfmt': cbfmt_install } ) }}" diff --git a/tasks/pkgs/cheat.yml b/tasks/pkgs/cheat.yml index ca972dc..999878e 100644 --- a/tasks/pkgs/cheat.yml +++ b/tasks/pkgs/cheat.yml @@ -9,7 +9,7 @@ - name: Set cheat default facts # {{{ ansible.builtin.set_fact: cheat: - install_methods: + methods: - source go_pkg: github.com/cheat/cheat/cmd/cheat version: latest @@ -20,13 +20,13 @@ block: - name: Set cheat install method when: - - cheat_install_method is undefined + - cheat_imethod is undefined ansible.builtin.set_fact: - cheat_install_method: "{{ install_method if install_method in cheat.install_methods else cheat.install_methods[0] }}" + cheat_imethod: "{{ imethod if imethod in cheat.methods else cheat.methods[0] }}" - name: Configure cheat source install when: - - cheat_install_method == 'source' + - cheat_imethod == 'source' block: - name: Configure cheat go install ansible.builtin.set_fact: @@ -38,6 +38,10 @@ ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [cheat_go_install] }}" + - name: Finalise cheat go install + ansible.builtin.set_fact: + cheat_install: "{{ cheat_imethod }}={{ cheat_go_install] }}" + - name: Set cheat_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'cheat': cheat_install_method } ) }}" + __configured: "{{ __configured | combine( { 'cheat': cheat_install } ) }}" diff --git a/tasks/pkgs/checkmake.yml b/tasks/pkgs/checkmake.yml index 3d9dbdb..7d463d5 100644 --- a/tasks/pkgs/checkmake.yml +++ b/tasks/pkgs/checkmake.yml @@ -6,26 +6,27 @@ ## Methods: source ## Helpers: go_install --- -- name: Set checkmake default facts +- name: Set checkmake default facts # {{{ ansible.builtin.set_fact: checkmake: - install_methods: + methods: - source go_pkg: github.com/checkmake/checkmake/cmd/checkmake version: latest +# }}} - name: Configure checkmake when: - checkmake_configured is undefined block: - name: Set checkmake install method when: - - checkmake_install_method is undefined + - checkmake_imethod is undefined ansible.builtin.set_fact: - checkmake_install_method: "{{ install_method if install_method in checkmake.install_methods else checkmake.install_methods[0] }}" + checkmake_imethod: "{{ imethod if imethod in checkmake.methods else checkmake.methods[0] }}" - name: Configure checkmake source install when: - - checkmake_install_method == 'source' + - checkmake_imethod == 'source' block: - name: Configure checkmake go install ansible.builtin.set_fact: @@ -37,6 +38,10 @@ ansible.builtin.set_fact: pkg_go: "{{ pkg_go + [checkmake_go_install] }}" + - name: Finalise checkmake source install + ansible.builtin.set_fact: + checkmake_install: "{{ checkmake_imethod }}={{ checkmake_go_install }}" + - name: Set checkmake_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'checkmake': checkmake_install_method } ) }}" + __configured: "{{ __configured | combine( { 'checkmake': checkmake_install } ) }}" diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 25e1a83..11b0bd6 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -6,26 +6,26 @@ ## Methods: source ## Helpers: cargo --- -- name: Set choose default facts +- name: Set choose default facts # {{{ ansible.builtin.set_fact: choose: - install_methods: + methods: - source version: 1.3.7 - +# }}} - name: Configure choose when: - "'choose' not in __configured" block: - name: Set choose install method when: - - choose_install_method is undefined + - choose_imethod is undefined ansible.builtin.set_fact: - choose_install_method: "{{ install_method if install_method in choose.install_methods else choose.install_methods[0] }}" + choose_imethod: "{{ imethod if imethod in choose.methods else choose.methods[0] }}" - name: Configure choose source install when: - - choose_install_method == 'source' + - choose_imethod == 'source' block: - name: Configure choose cargo install ansible.builtin.set_fact: @@ -37,6 +37,10 @@ ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + [choose_cargo_install] }}" + - name: Finalise choose cargo install + ansible.builtin.set_fact: + choose_install: "{{ choose_imethod }}={{ choose_cargo_install] }}" + - name: Finalise choose configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'choose': choose_install_method } ) }}" + __configured: "{{ __configured | combine( { 'choose': choose_install } ) }}" diff --git a/tasks/pkgs/clangd.yml b/tasks/pkgs/clangd.yml index 05ecb26..6791602 100644 --- a/tasks/pkgs/clangd.yml +++ b/tasks/pkgs/clangd.yml @@ -6,33 +6,39 @@ ## Methods: system ## Helpers: - --- -- name: Set clangd default facts +- name: Set clangd default facts # {{{ ansible.builtin.set_fact: clangd: - install_methods: + methods: - system pkgname: RedHat: clang-devel Debian: clang-12 Darwin: llvm Alpine: clang19 - +# }}} - name: Configure clangd when: - "'clangd' not in __configured" block: - name: Set clangd install method when: - - clangd_install_method is undefined + - clangd_imethod is undefined ansible.builtin.set_fact: - clangd_install_method: "{{ install_method if install_method in clangd.install_methods else clangd.install_methods[0] }}" + clangd_imethod: "{{ imethod if imethod in clangd.methods else clangd.methods[0] }}" - name: Queue clangd system install when: - - clangd_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [clangd.pkgname[os_family]] }}" + - clangd_imethod == 'system' + block: + - name: Queue clangd system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [clangd.pkgname[os_family]] }}" + + - name: Finalise clangd system install + ansible.builtin.set_fact: + clangd_install: "{{ clangd_imethod }}={{ clangd.pkgname[os_family] }}" - name: Finalise clangd configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'clangd': clangd_install_method } ) }}" + __configured: "{{ __configured | combine( { 'clangd': clangd_install } ) }}" diff --git a/tasks/pkgs/cmake.yml b/tasks/pkgs/cmake.yml index 5eac0d0..f95f6eb 100644 --- a/tasks/pkgs/cmake.yml +++ b/tasks/pkgs/cmake.yml @@ -9,8 +9,9 @@ - name: Set cmake default facts # {{ ansible.builtin.set_fact: cmake: - install_methods: + methods: - system + pkgname: cmake # }} - name: Configure cmake when: @@ -18,18 +19,22 @@ block: - name: Set cmake install method when: - - cmake_install_method is undefined + - cmake_imethod is undefined ansible.builtin.set_fact: - cmake_install_method: "{{ install_method if install_method in cmake.install_methods else cmake.install_methods[0] }}" + cmake_imethod: "{{ imethod if imethod in cmake.methods else cmake.methods[0] }}" - name: Configure cmake system install when: - - cmake_install_method == "system" + - cmake_imethod == "system" block: - name: Append cmake to pkg_sys ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['cmake'] }}" + pkg_sys: "{{ pkg_sys + [cmake.pkgname] }}" + + - name: Finalise cmake system install + ansible.builtin.set_fact: + cmake_install: "{{ cmake_imethod }}={{ cmake.pkgname }}" - name: Finalize cmake configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'cmake': cmake_install_method } ) }}" + __configured: "{{ __configured | combine( { 'cmake': cmake_install } ) }}" diff --git a/tasks/pkgs/cmakelang.yml b/tasks/pkgs/cmakelang.yml index 6df40f9..9b52a63 100644 --- a/tasks/pkgs/cmakelang.yml +++ b/tasks/pkgs/cmakelang.yml @@ -6,31 +6,35 @@ ## Methods: system ## Helpers: - --- -- name: Set cmakelang default facts +- name: Set cmakelang default facts # {{{ ansible.builtin.set_fact: cmakelang: - install_methods: + methods: - system pkgname: cmakelang - +# }}} - name: Add cmakelang when: - "'cmakelang' not in __configured" block: - name: Set cmakelang install method when: - - cmakelang_install_method is undefined + - cmakelang_imethod is undefined ansible.builtin.set_fact: - cmakelang_install_method: "{{ install_method if install_method in cmakelang.install_methods else cmakelang.install_methods[0] }}" + cmakelang_imethod: "{{ imethod if imethod in cmakelang.methods else cmakelang.methods[0] }}" - name: Configure cmakelang system install when: - - cmakelang_install_method == 'system' + - cmakelang_imethod == 'system' block: - name: Queue cmakelang for system install ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [cmakelang.pkgname] }}" + - name: Finalise cmakelang system install + ansible.builtin.set_fact: + cmakelang_install: "{{ cmakelang_imethod }}={{ cmakelang.pkgname }}" + - name: Finalise cmakelang configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'cmakelang': cmakelang_install_method } ) }}" + __configured: "{{ __configured | combine( { 'cmakelang': cmakelang_install } ) }}" diff --git a/tasks/pkgs/commitlint-cli.yml b/tasks/pkgs/commitlint-cli.yml index 693b6f2..f46ad66 100644 --- a/tasks/pkgs/commitlint-cli.yml +++ b/tasks/pkgs/commitlint-cli.yml @@ -6,27 +6,27 @@ ## Methods: source ## Helpers: npm --- -- name: Set commitlint-cli default facts +- name: Set commitlint-cli default facts # {{{ ansible.builtin.set_fact: commitlint_cli: - install_methods: + methods: - source npm_pkg: '@commitlint/cli' version: v20.5.0 - +# }}} - name: Configure commitlint-cli when: - "'commitlint-cli' not in __configured" block: - name: Set commitlint-cli install method when: - - commitlint_cli_install_method is undefined + - commitlint_cli_imethod is undefined ansible.builtin.set_fact: - commitlint_cli_install_method: "{{ install_method if install_method in commitlint_cli.install_methods else commitlint_cli.install_methods[0] }}" + commitlint_cli_imethod: "{{ imethod if imethod in commitlint_cli.methods else commitlint_cli.methods[0] }}" - name: Configure commitlint-cli source install when: - - commitlint_cli_install_method == 'source' + - commitlint_cli_imethod == 'source' block: - name: Configure commitlint-cli npm install ansible.builtin.set_fact: @@ -38,6 +38,10 @@ ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + [commitlint_cli_npm_install] }}" + - name: Finalise commitlint/cli npm install + ansible.builtin.set_fact: + commitlint_cli_install: "{{ commitlint_cli_imethod }}={{ commitlint_cli_npm_install }}" + - name: Finalise commitlint-cli configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'commitlint-cli': commitlint_cli_install_method } ) }}" + __configured: "{{ __configured | combine( { 'commitlint-cli': commitlint_cli_install } ) }}" diff --git a/tasks/pkgs/commitlint-config-conventional.yml b/tasks/pkgs/commitlint-config-conventional.yml index 097c8bc..ede0a74 100644 --- a/tasks/pkgs/commitlint-config-conventional.yml +++ b/tasks/pkgs/commitlint-config-conventional.yml @@ -6,27 +6,27 @@ ## Methods: source ## Helpers: npm --- -- name: Set commitlint-config-conventional default facts +- name: Set commitlint-config-conventional default facts # {{{ ansible.builtin.set_fact: clcc: - install_methods: + methods: - source npm_pkg: '@commitlint/config-conventional' version: v20.5.0 - +# }}} - name: Configure comitlint-config-conventional when: - "'comitlint_config_conventional' not in __configured" block: - name: Set commitlint-config-conventional install method when: - - clcc_install_method is undefined + - clcc_imethod is undefined ansible.builtin.set_fact: - clcc_install_method: "{{ install_method if install_method in clcc.install_methods else clcc.install_methods[0] }}" + clcc_imethod: "{{ imethod if imethod in clcc.methods else clcc.methods[0] }}" - name: Configure commitlint-config-conventional source install when: - - clcc_install_method == 'source' + - clcc_imethod == 'source' block: - name: Configure commitlint-config-conventional npm install ansible.builtin.set_fact: @@ -38,6 +38,10 @@ ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + [clcc_npm_install] }}" + - name: Finalise commitling-config-conventional npm install + ansible.builtin.set_fact: + clcc_install: "{{ clcc_imethod }}={{ clcc_npm_install }}" + - name: Finalise comitlint-config-conventional configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'commitlint-config-conventional': clcc_install_method } ) }}" + __configured: "{{ __configured | combine( { 'commitlint-config-conventional': clcc_install } ) }}" diff --git a/tasks/pkgs/cssls.yml b/tasks/pkgs/cssls.yml index d3d8842..b302716 100644 --- a/tasks/pkgs/cssls.yml +++ b/tasks/pkgs/cssls.yml @@ -1,4 +1,16 @@ # vim: set filetype=yaml.ansible : +# +## Package: cssls +## Description: css language server from vscode +## AliasFor: vscode-langservers-extracted --- -- name: Pass to vscode-langservers-extracted - ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml +- name: Configure cssls + when: + - "'cssls' not in __configured" + block: + - name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml + + - name: Finalise cssls configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'cssls': 'pass to vscode-langservers-extracted' } ) }}" diff --git a/tasks/pkgs/direnv.yml b/tasks/pkgs/direnv.yml index 18d8550..af7af10 100644 --- a/tasks/pkgs/direnv.yml +++ b/tasks/pkgs/direnv.yml @@ -6,33 +6,39 @@ ## Methods: system ## Helpers: - --- -- name: Set direnv default facts +- name: Set direnv default facts # {{{ ansible.builtin.set_fact: direnv: - install_methods: + methods: - system pkgname: RedHat: direnv Alpine: direnv Debian: direnv Darwin: direnv - +# }}} - name: Configure direnv when: - "'direnv' not in __configured" block: - name: Set direnv install method when: - - direnv_install_method is undefined + - direnv_imethod is undefined ansible.builtin.set_fact: - direnv_install_method: "{{ install_method if install_method in direnv.install_methods else direnv.install_methods[0] }}" + direnv_imethod: "{{ imethod if imethod in direnv.methods else direnv.methods[0] }}" - name: Append direnv to pkg_sys when: - - direnv_install_method == "system" - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [direnv.pkgname[os_family]] }}" + - direnv_imethod == "system" + block: + - name: Queue direnv system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [direnv.pkgname[os_family]] }}" + + - name: Finalise direnv system install + ansible.builtin.set_fact: + direnv_install: "{{ direnv_imethod }}={{ direnv.pkgname[os_family] }}" - name: Finalize direnv configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'direnv': direnv_install_method } ) }}" + __configured: "{{ __configured | combine( { 'direnv': direnv_install } ) }}" diff --git a/tasks/pkgs/dockerls.yml b/tasks/pkgs/dockerls.yml index 96b4e6c..5c74743 100644 --- a/tasks/pkgs/dockerls.yml +++ b/tasks/pkgs/dockerls.yml @@ -6,35 +6,40 @@ ## Methods: source ## Helpers: npm --- -- name: Set dockerls default facts +- name: Set dockerls default facts # {{{ ansible.builtin.set_fact: dockerls: - install_methods: + methods: - source npm_pkg: dockerfile-language-server-nodejs - +# }}} - name: Configure dockerls when: - "'dockerls' not in _configured" block: - name: Set dockerls install method when: - - dockerls_install_method is undefined + - dockerls_imethod is undefined ansible.builtin.set_fact: - dockerls_install_method: "{{ install_method if install_method in dockerls.install_methods else dockerls.install_methods[0] }}" + dockerls_imethod: "{{ imethod if imethod in dockerls.methods else dockerls.methods[0] }}" - name: Configure dockerls source install when: - - dockerls_install_method == 'source' + - dockerls_imethod == 'source' block: - name: Configure dockerls npm install ansible.builtin.set_fact: dockerls_npm_install: name: "{{ dockerls.npm_pkg }}" + - name: Queue dockerls installation ansible.builtin.set_fact: pkg_npm: "{{ pkg_npm + [dockerls_npm_install] }}" + - name: Finalise dockerls npm install + ansible.builtin.set_fact: + dockerls_install: "{{ dockerls_imethod }}={{ dockerls_npm_install }}" + - name: Finalise dockerls configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'dockerls': dockerls_install_method } ) }}" + __configured: "{{ __configured | combine( { 'dockerls': dockerls_install } ) }}" diff --git a/tasks/pkgs/eslint.yml b/tasks/pkgs/eslint.yml index d3d8842..1777fb2 100644 --- a/tasks/pkgs/eslint.yml +++ b/tasks/pkgs/eslint.yml @@ -1,4 +1,16 @@ # vim: set filetype=yaml.ansible : +# +## Package: eslint +## Description: Ecma script linter from vscode +## AliasFor: vscode-langservers-extracted --- -- name: Pass to vscode-langservers-extracted - ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml +- name: Configure eslint + when: + - "'eslint' not in __configured" + block: + - name: Pass to vscode-langservers-extracted + ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml + + - name: Finalise eslint configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'eslint': 'pass to vscode-langservers-extracted' } ) }}" diff --git a/tasks/pkgs/eza.yml b/tasks/pkgs/eza.yml index 6c42ecd..9b37f1e 100644 --- a/tasks/pkgs/eza.yml +++ b/tasks/pkgs/eza.yml @@ -6,24 +6,25 @@ ## Methods: source ## Helpers: cargo --- -- name: Set eza default facts +- name: Set eza default facts # {{{ ansible.builtin.set_fact: eza: - install_methods: + methods: - system +# }}} - name: Configure eza when: - "'eza' not in __configured" block: - name: Set eza install method when: - - eza_install_method is undefined + - eza_imethod is undefined ansible.builtin.set_fact: - eza_install_method: "{{ install_method if install_method in eza.install_methods else eza.install_methods[0] }}" + eza_imethod: "{{ imethod if imethod in eza.methods else eza.methods[0] }}" - name: Configure eza source install when: - - eza_install_method == "source" + - eza_imethod == "source" block: - name: Configure eza cargo facts ansible.builtin.set_fact: @@ -34,6 +35,10 @@ ansible.builtin.set_fact: pkg_cargo: "{{ pkg_cargo + [eza_cargo_install] }}" + - name: Finalise eza source install + ansible.builtin.set_fact: + eza_install: "{{ eza_imethod }}={{ eza_cargo_install }}" + - name: Finalized eza configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'eza': eza_install_method} ) }}" + __configured: "{{ __configured | combine( { 'eza': eza_install} ) }}" diff --git a/tasks/pkgs/fd.yml b/tasks/pkgs/fd.yml index eb5c64f..7a8a94b 100644 --- a/tasks/pkgs/fd.yml +++ b/tasks/pkgs/fd.yml @@ -1,9 +1,45 @@ # vim: set filetype=yaml.ansible : +# +## Package: fd +## Description: a modern find replacement +## Version: latest +## Methods: system +## Helpers: - --- -- name: Load fd config - ansible.builtin.include_tasks: - file: config/fd.yml - -- name: Append fd to pkg_sys +- name: Set fd default facts # {{{ ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + fd.pkgs }}" + fd: + methods: + - system + pkgname: + RedHat: fd-find + Debian: fd + Darwin: fd + Alpine: fd + FreeBSD: fd-find +# }}} +- name: Configure fd + when: + - "'fd' not in __configured" + block: + - name: Set fd install method + when: + - fd_imethod is undefined + ansible.builtin.set_fact: + fd_imethod: "{{ imethod if imethod in fd.methods else fd.methods[0] }}" + + - name: Configur fd system install + when: + - fd_imethod == 'system' + block: + - name: Queue fd for system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + fd.pkgname[os_family] }}" + + - name: Finalise fd system install + ansible.builtin.set_fact: + fd_install: "{{ fd_imethod }}={{ fd.pkgname[os_family] }}" + + - name: Finalise fd configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'fd': fd_install } ) }}" diff --git a/tasks/pkgs/firewalld.yml b/tasks/pkgs/firewalld.yml index fb3721d..6f17a82 100644 --- a/tasks/pkgs/firewalld.yml +++ b/tasks/pkgs/firewalld.yml @@ -1,5 +1,40 @@ # vim: set filetype=yaml.ansible : +# +## Package: firewalld +## Description: zone based firewall +## Version: system +## Methods: system +## Helpers: - --- -- name: Append firewalld to pkg_sys +- name: Set firewalld default facts # {{{ ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['firewalld'] }}" + firewalld: + methods: + - system + pkgname: firewalld +# }}} +- name: Configure firewalld + when: + - "'firewalld' not in __configured" + block: + - name: Set firewalld install method + when: + - firewalld_imethod is undefined + ansible.builtin.set_fact: + firewalld_imethod: "{{ imethod if imethod in firewalld.methods else firewalld.methods[0] }}" + + - name: Configure firewalld system install + when: + - firewalld_imethod == 'system' + block: + - name: Append firewalld to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [firewalld.pkgname] }}" + + - name: Finalise firewalld system instal + ansible.builtin.set_fact: + firewalld_install: "{{ firewalld_imethod }}={{ firewalld.pkgname }}" + + - name: Finalise firewalld configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'firewalld': firwalld_install } ) }}" diff --git a/tasks/pkgs/flatpak.yml b/tasks/pkgs/flatpak.yml index 31f745f..057e1b3 100644 --- a/tasks/pkgs/flatpak.yml +++ b/tasks/pkgs/flatpak.yml @@ -9,7 +9,7 @@ - name: Set flatpak default facts # {{{ ansible.builtin.set_fact: flatpak: - install_methods: + methods: - system pkgname: flatpak # }}} @@ -19,16 +19,22 @@ block: - name: Set flatpak install method when: - - flatpak_install_method is undefined + - flatpak_imethod is undefined ansible.builtin.set_fact: - flatpak_install_method: "{{ install_method if install_method in flatpak.install_methods else flatpak.install_methods[0] }}" + flatpak_imethod: "{{ imethod if imethod in flatpak.methods else flatpak.methods[0] }}" - name: Append flatpak to pkg_sys when: - - flatpak_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [flatpak.pkgname] }}" + - flatpak_imethod == 'system' + block: + - name: Configure flatpak system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [flatpak.pkgname] }}" + + - name: Finalise flatpak system install + ansible.builtin.set_fact: + flatpak_install: "{{ flatpak_imethod }}={{ flatpak.pkgname }}" - name: Finalise flatpak configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'flatpak': flatpak_install_method } ) }}" + __configured: "{{ __configured | combine( { 'flatpak': flatpak_install } ) }}" diff --git a/tasks/pkgs/fzf.yml b/tasks/pkgs/fzf.yml index 7a030e5..15131d4 100644 --- a/tasks/pkgs/fzf.yml +++ b/tasks/pkgs/fzf.yml @@ -1,10 +1,17 @@ # vim: set filetype=yaml.ansible : +# +## Package: fzf +## Description: the standard for fuzzy finders +## Version: latest +## Methods: system +## Helpers: - --- - name: Set fzf default facts # {{{ ansible.builtin.set_fact: fzf: - install_methods: + methods: - system + pkgname: fzf # }}} - name: Configure fzf when: @@ -12,18 +19,22 @@ block: - name: Set fzf install method when: - - fzf_install_method is undefined + - fzf_imethod is undefined ansible.builtin.set_fact: - fzf_install_method: "{{ install_method if install_method in fzf.install_methods else fzf.install_methods[0] }}" + fzf_imethod: "{{ imethod if imethod in fzf.methods else fzf.methods[0] }}" - name: Configure fzf system install when: - - fzf_install_method == "system" + - fzf_imethod == "system" block: - name: Append fzf to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['fzf'] }}" + - name: Finalise fzf system install + ansible.builtin.set_fact: + fzf_install: "{{ fzf_imethod }}={{ fzf.pkgname }}" + - name: Finalize fzf configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'fzf': fzf_install_method } ) }}" + __configured: "{{ __configured | combine( { 'fzf': fzf_install } ) }}" diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index 36dec3e..8017405 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -1,51 +1,133 @@ # vim: set filetype=yaml.ansible : +# +## Package: ghostty +## Description: HW accelerated terminal emulator made with zig +## Version: 1.3.1 +## Methods: [system, source, appimage] +## Helpers: [zig, repo, appimage] --- -- name: Add ghostty +- name: Set ghostty default facts # {{{ + ansible.builtin.set_fact: + ghostty: + version: 1.3.1 + base_url: https://releases.files.ghostty.org + # install methods per distribution + default: + methods: + - source + pkg_deps: &pkgdeps + - zig + build_deps: + - gtk4 + - libadwaita + - gtk4-layer-shell + - pkgconf + - gettext + Redhat: &redhat + methods: + - source + - appimage + pkg_deps: *pkgdeps + build_deps: + - gtk4-devel + - gtk4-layer-shell-devel + - libadwaita-devel + - gettext + AlmaLinux: *redha + CentOS: *redhat + Rocky: *redhat + Debian: &debian + methods: + - source + - appimage + pkg_deps: *pkgdeps + build_deps: + - libgtk-4-dev + - libgtk4-layer-shell-dev + - libadwaita-1-dev + - gettext + - libxml2-utils + Ubuntu: *debian + Raspbian: *debian + Linux Mint: *debian + Archlinux: &arch + methods: + - system + - source + - appimage + pkg_deps: *pkgdeps + build_deps: + - gtk4 + - gtk4-layer-shell + - libadwaita + - gettext + pkgname: ghostty + Majaro: *arch + Fedora: + methods: + - source + - appimage + pkg_deps: *pkgdeps + build_deps: + - gtk4-devel + - gtk4-layer-shell-devel + - libadwaita-devel + - gettext + Alpine: + methods: + - system + - source + - appimage + pkg_deps: *pkgdeps + build_deps: + - gtk4.0-dev + - libadwaita-dev + - pkgconf + - ncurses + - gettext + pkgname: ghostty +# }}} +- name: Set ghostty facts + ansible.builtin.set_fact: + ghostty: + methods: "{{ ghostty[distribution].methods | default(_methods['default']) }}" + source_url: "{{ ghostty.base_url }}/{{ ghostty.version }}/ghostty-{{ ghostty.version }}.tar.gz" + pkg_deps: "{{ ghostty[distribution].pkg_deps | default(omit) }}" +- name: Configure ghostty block: - - name: Load ghostty config - ansible.builtin.include_tasks: - file: config/ghostty.yml - - - name: Append ghostty to pkg_src + - name: Set ghostty install method when: - - ghostty.method == 'src' + - ghostty_imethod is undefined ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ghostty.pkg }}" - pkg_sys: "{{ pkg_sys + ghostty.build_deps }}" + ghostty_imethod: "{{ imethod if imethod in ghostty.methods else ghostty.methods[0] }}" - - name: Append ghostty to pkg_appimage + - name: Configure ghostty source install when: - - ghostty.method == 'appimage' - ansible.builtin.set_fact: - pkg_appimage: "{{ pkg_appimage + ghostty }}" - - - name: Install ghostty via package manager - when: - - ghostty.method == 'sys' + - ghostty_imethod == 'source' block: - - name: Enable repo for ghostty - when: - - ansible_distribution == 'Fedora' - changed_when: true - ansible.builtin.get_url: - mode: '0644' - decompress: false - backup: false - url: "{{ ghostty.pkg_repo.url }}" - dest: "{{ ghostty.pkg_repo.dest }}" + - name: Append ghostty to pkg_src + ansible.builtin.set_fact: + pkg_src: "{{ pkg_src + ghostty.pkg }}" + pkg_sys: "{{ pkg_sys + ghostty.build_deps }}" - - name: Append ghostty to pkg_sys + - name: Configure ghostty appimage install + when: + - ghostty_imethod == 'appimage' + block: + - name: Append ghostty to pkg_appimage when: - - ansible_distriubtion + - ghostty.method == 'appimage' + ansible.builtin.set_fact: + pkg_appimage: "{{ pkg_appimage + ghostty }}" + + - name: Configure ghostty system install + when: + - ghostty_imethod == 'system' + block: + - name: Queue ghostty to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ghostty.pkg }}" - - name: Append ghostty to pkg_cask - when: - - ghostty.method == 'cask' + - name: Finalise ghostty configuration ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ghostty.pkg }}" - - - name: Set ghostty_configured - ansible.builtin.set_fact: - ghostty_configured: true + __configured: "{{ __configured | combine( { 'ghostty': ghostty_install } ) }}" diff --git a/tasks/pkgs/nodejs.yml b/tasks/pkgs/nodejs.yml index e221d54..dcb97ef 100644 --- a/tasks/pkgs/nodejs.yml +++ b/tasks/pkgs/nodejs.yml @@ -1,5 +1,23 @@ # vim: set filetype=yaml.ansible : +# +## Package: nodejs +## Description: v8 javascript engine +## Version: system +## Methods: system +## Helpers: - --- +- name: Set nodejs default facts + ansible.builtin.set_fact: + nodejs: + install_methods: + - system + pkgname: + RedHat: [nodejs] + Debian: [nodejs] + Alpine: [nodejs] + FreeBSD: + - node + - npm - name: Configure nodejs when: - "'nodejs' not in __configured" @@ -16,11 +34,10 @@ block: - name: Set nodejs package name ansible.builtin.set_fact: - nodejs_pkgname: "{{ nodejs.pkgname[system] }}" - nodejs_deps: "{{ nodejs.pkg_deps[system] | default([]) }}" + nodejs_pkgname: "{{ nodejs.pkgname[os_family] }}" - name: Append nodejs to pkg_sys ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [nodejs_pkgname] + nodejs_deps }}" + pkg_sys: "{{ pkg_sys + [nodejs_pkgname] }}" - name: Finalize nodejs configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/npm.yml b/tasks/pkgs/npm.yml index b0cc098..062c9d8 100644 --- a/tasks/pkgs/npm.yml +++ b/tasks/pkgs/npm.yml @@ -1,3 +1,6 @@ +# vim: set filetype=yaml.ansible : +# +## Redirect to nodejs --- - name: Include nodejs to satisfy npm ansible.builtin.include_tasks: pkgs/nodejs.yml diff --git a/tasks/pkgs/rust.yml b/tasks/pkgs/rust.yml index c804b3f..44de750 100644 --- a/tasks/pkgs/rust.yml +++ b/tasks/pkgs/rust.yml @@ -1,5 +1,22 @@ # vim: set filetype=yaml.ansible : +# +## Package: rust +## Description: rust compiler and standard library +## Version: system +## Methods: system +## Helpers: - --- +- name: Set rust default facts + ansible.builtin.set_fact: + rust: + install_methods: + - system + pkgname: + RedHat: rust + Debian: rust + Alpine: rust + Archlinux: rust + FreeBSD: rust - name: Configure rust when: - "'rust' not in __configured" @@ -16,7 +33,7 @@ block: - name: Queue rust install ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [rust_pkgname] }}" + pkg_sys: "{{ pkg_sys + [rust.pkgname[os_family]] }}" - name: Finalize rust configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/starship.yml b/tasks/pkgs/starship.yml index d22e8c0..2a888d2 100644 --- a/tasks/pkgs/starship.yml +++ b/tasks/pkgs/starship.yml @@ -1,6 +1,18 @@ # vim: set filetype=yaml.ansible : +# +## Package: starship +## Description: fancy and useful shell prompt +## Version: latest +## Methods: source +## Helpers: cargo --- -- name: Add starship +- name: Set starship default config + ansible.builtin.set_fact: + starship: + install_methods: + - source + +- name: Configure starship when: - "'starship' not in __configured" block: diff --git a/tasks/pkgs/zig.yml b/tasks/pkgs/zig.yml index 569f854..886182b 100644 --- a/tasks/pkgs/zig.yml +++ b/tasks/pkgs/zig.yml @@ -1,17 +1,55 @@ # vim: set filetype=yaml.ansible : +# +## Package: zig +## Description: zig programming language tool chain +## Version: 0.15.2 +## Methods: [system, archive] +## Helpers: archive --- -- name: Add zig +- name: Set zig default facts + ansible.builtin.set_fact: + install_methods: + - archive + - system + version: "{{ zig_version | default('0.15.2') }}" + archive: + url: https://ziglang.org/download + +- name: Configure zig when: - - zig_configured is undefined + - "'zig' not in __configured" block: - - name: Load zig config - ansible.builtin.include_tasks: - file: config/zig.yml - - - name: Append zig to pkg_archive + - name: Set zig install method + when: + - zig_install_method is undefined ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['zig'] }}" + zig_install_method: "{{ install_method if install_method in zig.install_methods else zig.install_methods[0] }}" - - name: Set zig_configured + - name: Configure zig system install + when: + - zig_install_method == 'system' ansible.builtin.set_fact: - zig_configured: true + pkg_sys: "{{ pkg_sys + [zig.pkgname[os_family]] }}" + + - name: Configure zig archive install + when: + - zig_install_method == 'archive' + block: + - name: Configure zig archive install + ansible.builtin.set_fact: + zig_archive_install: + url: "{{ zig.archive.url }}/{{ zig.version }}/zig-{{ architecture }}-{{ system | lower }}-{{ zig.version }}.tar.xz" + extract_to: "{{ path_zig }}" + name: "zig-{{ zig.version }}.tar.xz" + links: + - from: "{{ path_archive }}/zig-{{ architecture }}-{{ system | lower }}-{{ zig.version }}/zig" + to: "{{ path_bin }}/zig" + force: true + + - name: Finalise zig archive install + ansible.builtin.set_fact: + zig_install: "{{ zig_archive_install }}" + + - name: Finalise zig configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'zig': zig_install } ) }}" -- 2.47.3 From 4a638d9dcca695af6d0cef69d6df5889c1c141e8 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Fri, 20 Mar 2026 17:51:22 -0600 Subject: [PATCH 38/48] documenting archive, adding zig helper --- tasks/helpers/archive.yml | 7 +++++++ tasks/helpers/zig.yml | 27 +++++++++++++++++++++++++++ tasks/pkgs/ghostty.yml | 18 ++++++++++++++++-- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 tasks/helpers/zig.yml diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index ac66a29..4edc6cd 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -1,4 +1,11 @@ # vim: set filetype=yaml.ansible : +# +## Helpers: archive.yml +## Description: extract and symlink archives +## Variables: dict of key:value pairs +## extract_to: path to extract archive to +## name: filename of the archive +## url: download url of the archive --- - name: Ensure requirements met when: diff --git a/tasks/helpers/zig.yml b/tasks/helpers/zig.yml new file mode 100644 index 0000000..104dd21 --- /dev/null +++ b/tasks/helpers/zig.yml @@ -0,0 +1,27 @@ +# vim : set filetype=yaml.ansible : +# +## Helper: zig.yml +## Description: build and install zig based packages +## Variables: dict of key:value pairs +## source_path: Destination path when cloning/extracting +## git: passed into helpers/git.yml if present. See that for required dict keys +## archive: passed into helpers/archive.yml to extract if present. See that for required dict keys +## prefix: install prefix +## flags: flags to pass to zig build +--- +- name: Clone git repository if it exists + when: + - pkg.git is defined + vars: + path: "{{ pkg.source_path }}" + repo: "{{ pkg.git.repo }}" + depth: "{{ pkg.git.depth | default(omit) }}" + force: "{{ pkg.git.force | default(omit) }}" + recursive: "{{ pkg.git.recursive | default(omit) }}" + version: "{{ pkg.version | default(omit) }}" + ansible.builtin.include_tasks: helpers/git.yml + +- name: Download and extract source archive + when: + - pkg.archive is defined + ansible.bulitin.include_tasks: helpers/archive.yml diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index 8017405..422ebba 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -93,6 +93,8 @@ methods: "{{ ghostty[distribution].methods | default(_methods['default']) }}" source_url: "{{ ghostty.base_url }}/{{ ghostty.version }}/ghostty-{{ ghostty.version }}.tar.gz" pkg_deps: "{{ ghostty[distribution].pkg_deps | default(omit) }}" + build_deps: "{{ ghostty[distribution].build_deps | default(ghostty.default.build_deps) }}" + - name: Configure ghostty block: - name: Set ghostty install method @@ -105,11 +107,23 @@ when: - ghostty_imethod == 'source' block: - - name: Append ghostty to pkg_src + - name: Add ghostty package dependencies + when: + - ghostty.pkg_deps is defined + - ghostty.pkg_deps|length > 0 + loop: "{{ ghostty.pkg_deps }}" + loop_control: + loop_var: dep + ansible.bulitin.include_tasks: pkgs/{{ dep }}.yml + + - name: Add ghostty system dependencies ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ghostty.pkg }}" pkg_sys: "{{ pkg_sys + ghostty.build_deps }}" + - name: Configure ghostty zig install + ansible.builtin.set_fact: + + - name: Configure ghostty appimage install when: - ghostty_imethod == 'appimage' -- 2.47.3 From 7f00bb70dc129f942a3a98895523b8940bea82a0 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Fri, 27 Mar 2026 20:34:40 -0600 Subject: [PATCH 39/48] working on more package, almost done --- meta/argument_spec.yml | 2 +- tasks/helpers/zig.yml | 9 ++++ tasks/pkgs/alacritty.yml | 4 +- tasks/pkgs/ansible.yml | 2 +- tasks/pkgs/ansible_ls.yml | 15 ++----- tasks/pkgs/broot.yml | 2 +- tasks/pkgs/cheat.yml | 2 +- tasks/pkgs/choose.yml | 2 +- tasks/pkgs/eza.yml | 1 + tasks/pkgs/ghostty.yml | 12 ++++- tasks/pkgs/git.yml | 14 +++--- tasks/pkgs/go.yml | 12 ++--- tasks/pkgs/neovim.yml | 10 ++--- tasks/pkgs/nodejs.yml | 10 ++--- tasks/pkgs/rust.yml | 10 ++--- tasks/pkgs/starship.yml | 10 ++--- tasks/pkgs/vscode-langservers-extracted.yml | 10 ++--- tasks/pkgs/zig.yml | 10 ++--- tasks/pkgs/zoxide.yml | 14 ++++-- tasks/pkgs/zsh.yml | 49 ++++++++++++++------- vars/main.yml | 2 +- 21 files changed, 122 insertions(+), 80 deletions(-) diff --git a/meta/argument_spec.yml b/meta/argument_spec.yml index b61b080..c49f349 100644 --- a/meta/argument_spec.yml +++ b/meta/argument_spec.yml @@ -26,7 +26,7 @@ argument_specs: default: root description: - User to become when install_become is true. - install_method: + imethod: type: str default: system description: diff --git a/tasks/helpers/zig.yml b/tasks/helpers/zig.yml index 104dd21..4cbbb54 100644 --- a/tasks/helpers/zig.yml +++ b/tasks/helpers/zig.yml @@ -25,3 +25,12 @@ when: - pkg.archive is defined ansible.bulitin.include_tasks: helpers/archive.yml + +- name: Ensure facts are set + ansible.builtin.set_fact: + zbf: "{{ pkg.build_flags | default([]) }}" + +- name: Zig build and install + ansible.builtin.command: + argv: "{{ ['zig', 'build' '-p', install_prefix] + zbf }}" + chdir: "{{ pkg.source_path }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 344d01b..1d61a5d 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -137,9 +137,9 @@ pkg_sys: "{{ pkg_sys + alacritty_bds }}" pkg_cargo_build: "{{ pkg_cargo_build + [alacritty_src_install] }}" - - name: Finalise alacritty source instal + - name: Finalise alacritty source install ansible.builtin.set_fact: - cargo_install: "{{ alacritty_imethod }}={{ alacritty_src_install }}+{{ alacritty_bds }}" + alacritty_install: "{{ alacritty_imethod }}={{ alacritty_src_install }}+{{ alacritty_bds }}" - name: Configure alacritty system install when: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 95f186d..660e25b 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -44,7 +44,7 @@ - name: Append ansible to pipx install list when: - ansible_imethod == 'source' - ansible.builtin.set_fact: + block: - name: Configure ansible source install ansible.builtin.set_fact: ansible_src_install: diff --git a/tasks/pkgs/ansible_ls.yml b/tasks/pkgs/ansible_ls.yml index 88fbc80..30e9e43 100644 --- a/tasks/pkgs/ansible_ls.yml +++ b/tasks/pkgs/ansible_ls.yml @@ -15,7 +15,7 @@ npm_pkg: name: '@ansible/ansible-language-server' global: true - version: latest + version: "{{ ansible_ls_version | default('latest') }}" pkg_deps: - nodejs # }}} @@ -39,21 +39,14 @@ loop_var: dep ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" - - name: Set ansible_ls npm_pkg config - ansible.builtin.set_fact: - ansible_ls_npm_pkg: - name: "{{ ansible_ls.npm_pkg.name }}" - global: "{{ ansible_ls.npm_pkg.global }}" - version: "{{ ansible_ls_version | default(ansible_ls.npm_pkg.version) }}" - - name: Append ansible ls to pkg_npm ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + [ansible_ls_npm_pkg] }}" + pkg_npm: "{{ pkg_npm + [ansible_ls.npm_pkg] }}" - name: Finalise ansible_ls source install ansible.builtin.set_fact: - ansible_ls_install: "{{ ansible_ls_imethod }}={{ ansible_ls_npm_pkg }}" + ansible_ls_install: "{{ ansible_ls_imethod }}={{ ansible_ls.npm_pkg }}" - - name: Set ansible_ls_configured + - name: Finalise ansible_ls configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'ansible_ls': ansible_ls_install } ) }}" diff --git a/tasks/pkgs/broot.yml b/tasks/pkgs/broot.yml index 8d6ac60..6b9f9e1 100644 --- a/tasks/pkgs/broot.yml +++ b/tasks/pkgs/broot.yml @@ -64,7 +64,7 @@ - name: Finalise broot source install ansible.builtin.set_fact: - broot_install: "{{ broot_imethod }}={{ broot_cago_install }}+{{ broot.build_deps[os_family] }}" + broot_install: "{{ broot_imethod }}={{ broot_cargo_install }}+{{ broot.build_deps[os_family] }}" - name: Configure broot system install when: diff --git a/tasks/pkgs/cheat.yml b/tasks/pkgs/cheat.yml index 999878e..feb26c1 100644 --- a/tasks/pkgs/cheat.yml +++ b/tasks/pkgs/cheat.yml @@ -40,7 +40,7 @@ - name: Finalise cheat go install ansible.builtin.set_fact: - cheat_install: "{{ cheat_imethod }}={{ cheat_go_install] }}" + cheat_install: "{{ cheat_imethod }}={{ cheat_go_install }}" - name: Set cheat_configured ansible.builtin.set_fact: diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 11b0bd6..24aa8d7 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -39,7 +39,7 @@ - name: Finalise choose cargo install ansible.builtin.set_fact: - choose_install: "{{ choose_imethod }}={{ choose_cargo_install] }}" + choose_install: "{{ choose_imethod }}={{ choose_cargo_install }}" - name: Finalise choose configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/eza.yml b/tasks/pkgs/eza.yml index 9b37f1e..c47e750 100644 --- a/tasks/pkgs/eza.yml +++ b/tasks/pkgs/eza.yml @@ -10,6 +10,7 @@ ansible.builtin.set_fact: eza: methods: + - source - system # }}} - name: Configure eza diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index 422ebba..d76b29b 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -90,8 +90,10 @@ - name: Set ghostty facts ansible.builtin.set_fact: ghostty: + version: "{{ ghostty_version | default(ghostty.version) }}" methods: "{{ ghostty[distribution].methods | default(_methods['default']) }}" source_url: "{{ ghostty.base_url }}/{{ ghostty.version }}/ghostty-{{ ghostty.version }}.tar.gz" + archive: "ghostty-{{ ghostty.version }}.tar.gz" pkg_deps: "{{ ghostty[distribution].pkg_deps | default(omit) }}" build_deps: "{{ ghostty[distribution].build_deps | default(ghostty.default.build_deps) }}" @@ -122,7 +124,15 @@ - name: Configure ghostty zig install ansible.builtin.set_fact: - + ghostty_source_install: + name: ghostty + source_path: "{{ path_archive }}/ghostty/ghostty-{{ ghostty.version }}" + archive: + extract_to: "{{ path_archive }}/ghostty" + name: "{{ ghostty.archive }}" + url: "{{ ghostty.source_url }}" + build_flags: + - "-Doptimize=ReleaseFast" - name: Configure ghostty appimage install when: diff --git a/tasks/pkgs/git.yml b/tasks/pkgs/git.yml index 7f571ee..28f0662 100644 --- a/tasks/pkgs/git.yml +++ b/tasks/pkgs/git.yml @@ -3,7 +3,7 @@ - name: Set git default facts # {{{ ansible.builtin.set_fact: git: - install_methods: + methods: - system # }}} - name: Configure git @@ -12,18 +12,22 @@ block: - name: Set git install method when: - - git_install_method is undefined + - git_imethod is undefined ansible.builtin.set_fact: - git_install_method: "{{ install_method if install_method in git.install_methods else git.install_methods[0] }}" + git_imethod: "{{ imethod if imethod in git.methods else git.methods[0] }}" - name: Configure git system install when: - - git_install_method == "system" + - git_imethod == "system" block: - name: Append git to pkg_sys ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + ['git'] }}" + - name: Finalise git system install + ansible.builtin.set_fact: + git_install: "{{ git_imethod }}=git" + - name: Finalize git configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'git': git_install_method } ) }}" + __configured: "{{ __configured | combine( { 'git': git_install } ) }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index 6d331a1..e34ea8f 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -3,7 +3,7 @@ - name: Set go default facts # {{{ ansible.builtin.set_fact: go: - install_methods: + methods: - archive - system pkgname: @@ -51,13 +51,13 @@ block: - name: Configure go install method when: - - go_install_method is undefined + - go_imethod is undefined ansible.builtin.set_fact: - go_install_method: "{{ install_method if install_method in go.install_methods else go.install_methods[0] }}" + go_imethod: "{{ imethod if imethod in go.methods else go.methods[0] }}" - name: Configure go system installation when: - - go_install_method == 'system' + - go_imethod == 'system' block: - name: Set go pkgname ansible.builtin.set_fact: @@ -75,7 +75,7 @@ - name: Configure go archive installation when: - - go_install_method == 'archive' + - go_imethod == 'archive' block: - name: Configure go ansible.builtin.set_fact: @@ -114,4 +114,4 @@ - name: Finalise go configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'go': go_install_method } ) }}" + __configured: "{{ __configured | combine( { 'go': go_imethod } ) }}" diff --git a/tasks/pkgs/neovim.yml b/tasks/pkgs/neovim.yml index c9e7e88..f18d36c 100644 --- a/tasks/pkgs/neovim.yml +++ b/tasks/pkgs/neovim.yml @@ -9,7 +9,7 @@ - name: Set neovim default facts # {{{ ansible.builtin.set_fact: neovim: - install_methods: + methods: - source - system - appimage @@ -65,13 +65,13 @@ block: - name: Set neovim install method when: - - neovim_install_method is undefined + - neovim_imethod is undefined ansible.builtin.set_fact: - neovim_install_method: "{{ install_method if install_method in neovim.install_methods else neovim.install_methods[0] }}" + neovim_imethod: "{{ imethod if imethod in neovim.methods else neovim.methods[0] }}" - name: Configure neovim source install when: - - neovim_install_method == "source" + - neovim_imethod == "source" block: - name: Queue pkg build deps when: @@ -103,4 +103,4 @@ - name: Finalized neovim configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'neovim': neovim_install_method } ) }}" + __configured: "{{ __configured | combine( { 'neovim': neovim_imethod } ) }}" diff --git a/tasks/pkgs/nodejs.yml b/tasks/pkgs/nodejs.yml index dcb97ef..b6ee3b8 100644 --- a/tasks/pkgs/nodejs.yml +++ b/tasks/pkgs/nodejs.yml @@ -9,7 +9,7 @@ - name: Set nodejs default facts ansible.builtin.set_fact: nodejs: - install_methods: + methods: - system pkgname: RedHat: [nodejs] @@ -24,13 +24,13 @@ block: - name: Set nodejs install method when: - - nodejs_install_method is undefined + - nodejs_imethod is undefined ansible.builtin.set_fact: - nodejs_install_method: "{{ install_method if install_method in nodejs.install_methods else nodejs.install_methods[0] }}" + nodejs_imethod: "{{ imethod if imethod in nodejs.methods else nodejs.methods[0] }}" - name: Configure nodejs system install when: - - nodejs_install_method == "system" + - nodejs_imethod == "system" block: - name: Set nodejs package name ansible.builtin.set_fact: @@ -41,4 +41,4 @@ - name: Finalize nodejs configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'nodejs': nodejs_install_method } ) }}" + __configured: "{{ __configured | combine( { 'nodejs': nodejs_imethod } ) }}" diff --git a/tasks/pkgs/rust.yml b/tasks/pkgs/rust.yml index 44de750..1610974 100644 --- a/tasks/pkgs/rust.yml +++ b/tasks/pkgs/rust.yml @@ -9,7 +9,7 @@ - name: Set rust default facts ansible.builtin.set_fact: rust: - install_methods: + methods: - system pkgname: RedHat: rust @@ -23,13 +23,13 @@ block: - name: Set rust install method when: - - rust_install_method is undefined + - rust_imethod is undefined ansible.builtin.set_fact: - rust_install_method: "{{ install_method if install_method in rust.install_methods else rust.install_methods[0] }}" + rust_imethod: "{{ imethod if imethod in rust.methods else rust.methods[0] }}" - name: Append rust to install list when: - - rust_install_method == "system" + - rust_imethod == "system" block: - name: Queue rust install ansible.builtin.set_fact: @@ -37,4 +37,4 @@ - name: Finalize rust configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine ( { 'rust': rust_install_method } ) }}" + __configured: "{{ __configured | combine ( { 'rust': rust_imethod } ) }}" diff --git a/tasks/pkgs/starship.yml b/tasks/pkgs/starship.yml index 2a888d2..d32b012 100644 --- a/tasks/pkgs/starship.yml +++ b/tasks/pkgs/starship.yml @@ -9,7 +9,7 @@ - name: Set starship default config ansible.builtin.set_fact: starship: - install_methods: + methods: - source - name: Configure starship @@ -18,13 +18,13 @@ block: - name: Set starship install method when: - - starship_install_method is undefined + - starship_imethod is undefined ansible.builtin.set_fact: - starship_install_method: "{{ install_method if install_method in starship.install_methods else starship.install_methods[0] }}" + starship_imethod: "{{ imethod if imethod in starship.methods else starship.methods[0] }}" - name: Configure starship source install when: - - starship_install_method == "source" + - starship_imethod == "source" block: - name: Set cargo build options ansible.builtin.set_fact: @@ -38,4 +38,4 @@ - name: Finalize starship configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'starship': starship_install_method } ) }}" + __configured: "{{ __configured | combine( { 'starship': starship_imethod } ) }}" diff --git a/tasks/pkgs/vscode-langservers-extracted.yml b/tasks/pkgs/vscode-langservers-extracted.yml index 4e1c82f..24bae5e 100644 --- a/tasks/pkgs/vscode-langservers-extracted.yml +++ b/tasks/pkgs/vscode-langservers-extracted.yml @@ -9,7 +9,7 @@ - name: Set vscode-langservers-extracted default facts ansible.builtin.set_fact: vscode_langservers_extracted: - install_methods: + methods: - source npm_pkg: '@zed-industries/vscode-langservers-extracted' version: 4.10.7 @@ -19,13 +19,13 @@ block: - name: Set vscode-langservers-extracted install method when: - - vscode_langservers_extracted_install_method is undefined + - vscode_langservers_extracted_imethod is undefined ansible.builtin.set_fact: - vscode_langservers_extracted_install_method: "{{ install_method if install_method in vscode_langservers_extracted.install_methods else vscode_langservers_extracted.install_methods[0] }}" + vscode_langservers_extracted_imethod: "{{ imethod if imethod in vscode_langservers_extracted.methods else vscode_langservers_extracted.methods[0] }}" - name: Configure vscode-langservers-extracted source install when: - - vscode_langservers_extracted_install_method == 'source' + - vscode_langservers_extracted_imethod == 'source' block: - name: Configure vscode-langservers-extracted npm install ansible.builtin.set_fact: @@ -39,4 +39,4 @@ - name: Finalise vscode-langservers-extracted configuration ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'vscode-langservers-extracted': vscode_langservers_extracted_install_method } ) }}" + __configured: "{{ __configured | combine( { 'vscode-langservers-extracted': vscode_langservers_extracted_imethod } ) }}" diff --git a/tasks/pkgs/zig.yml b/tasks/pkgs/zig.yml index 886182b..442bfd4 100644 --- a/tasks/pkgs/zig.yml +++ b/tasks/pkgs/zig.yml @@ -8,7 +8,7 @@ --- - name: Set zig default facts ansible.builtin.set_fact: - install_methods: + methods: - archive - system version: "{{ zig_version | default('0.15.2') }}" @@ -21,19 +21,19 @@ block: - name: Set zig install method when: - - zig_install_method is undefined + - zig_imethod is undefined ansible.builtin.set_fact: - zig_install_method: "{{ install_method if install_method in zig.install_methods else zig.install_methods[0] }}" + zig_imethod: "{{ imethod if imethod in zig.methods else zig.methods[0] }}" - name: Configure zig system install when: - - zig_install_method == 'system' + - zig_imethod == 'system' ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [zig.pkgname[os_family]] }}" - name: Configure zig archive install when: - - zig_install_method == 'archive' + - zig_imethod == 'archive' block: - name: Configure zig archive install ansible.builtin.set_fact: diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index 3fd8c27..30fb6d2 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -1,14 +1,20 @@ # vim: set filetype=yaml.ansible : --- +- name: Set zoxide default facts # {{{ + ansible.builtin.set_fact: + zoxide: + methods: + - system +# }}} - name: Configure zoxide when: - "'zoxide' not in __configured" block: - - name: Set zoxied install method + - name: Set zoxide install method when: - - zoxide_install_method is undefined + - zoxide_imethod is undefined ansible.builtin.set_fact: - zoxide_install_method: "{{ install_method if install_method in zoxide.install_methods else zoxide.install_methods[0] }}" + zoxide_imethod: "{{ imethod if imethod in zoxide.methods else zoxide.methods[0] }}" - name: Append zoxide to pkg_sys ansible.builtin.set_fact: @@ -16,4 +22,4 @@ - name: Set zoxide_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'zoxide': zoxide_install_method } ) }}" + __configured: "{{ __configured | combine( { 'zoxide': zoxide_imethod } ) }}" diff --git a/tasks/pkgs/zsh.yml b/tasks/pkgs/zsh.yml index ef34f14..5122294 100644 --- a/tasks/pkgs/zsh.yml +++ b/tasks/pkgs/zsh.yml @@ -1,33 +1,52 @@ # vim: set filetype=yaml.ansible : --- +- name: Set zsh default facts # {{{ + ansible.builtin.set_fact: + zsh: + methods: + - system + pkgname: + RedHat: zsh + Debian: zsh + Alpine: zsh + Archlinux: zsh +# }}} - name: Add zsh when: - "'zsh' not in __configured" block: - name: Set zsh install method when: - - zsh_install_method is undefined + - zsh_imethod is undefined ansible.builtin.set_fact: - zsh_install_method: "{{ install_method if install_method in zsh.install_methods else zsh.install_methods[0] }}" + zsh_imethod: "{{ imethod if imethod in zsh.methods else zsh.methods[0] }}" - name: Append zsh to pkg_sys when: - - zsh_install_method == 'system' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['zsh'] }}" + - zsh_imethod == 'system' + block: + - name: Queue zsh system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [zsh.pkgname[os_family]] }}" + + - name: Finalise zsh system install + ansible.builtin.set_fact: + zsh_install: "{{ zsh_imethod }}={{ zsh.pkgname[os_family] }}" - name: Configure zsh source install when: - - zsh_install_method == 'source' - ansible.builtin.set_fact: - zsh_source_install: - build_deps: - build_flags: - source_dir: - repo: "{{ zsh_base_url }}" - version: "{{ zsh_version }}" - files: + - zsh_imethod == 'source' + block: + - name: Set zsh source install facts + ansible.builtin.set_fact: + zsh_source_install: + build_deps: + build_flags: + source_dir: + repo: "{{ zsh_base_url }}" + version: "{{ zsh_version }}" + files: - name: Set zsh_configured ansible.builtin.set_fact: - zsh_configured: true + __configured: "{{ __configured | combine( { 'zsh': zsh_install } ) }}" diff --git a/vars/main.yml b/vars/main.yml index 481956f..d31902e 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -7,7 +7,7 @@ clean_cache: false build_jobs: "{{ ansible_processor_nproc | int }}" install_become: true install_become_user: root -install_method: system +imethod: system install_prefix: /usr/local install_prefix_mode: '0755' install_prefix_owner: root -- 2.47.3 From 3a39c083a8589ea3e9c2552ce39daf0ed21fe1b0 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Fri, 27 Mar 2026 22:04:05 -0600 Subject: [PATCH 40/48] basic installs working need to run tests on all the builds alone, should use a container system --- tasks/helpers/appimage.yml | 8 ++++---- tasks/helpers/archive.yml | 8 ++++---- tasks/helpers/cargo.yml | 7 +++++++ tasks/helpers/cargo_build.yml | 11 +++++++++++ tasks/helpers/make.yml | 7 +++++++ tasks/helpers/zig.yml | 2 +- tasks/pkgs/air.yml | 4 ++-- tasks/pkgs/ansible.yml | 8 ++++++++ tasks/pkgs/ansible_lint.yml | 8 ++++++++ tasks/pkgs/cmakelang.yml | 30 +++++++++++++++++++++++++++++- tasks/pkgs/direnv.yml | 19 +++++++++++++++++++ tasks/pkgs/ghostty.yml | 2 +- tasks/pkgs/nodejs.yml | 10 +++------- tasks/pkgs/pipx.yml | 32 ++++++++++++++++++++++++++++++-- tasks/pkgs/zoxide.yml | 23 ++++++++++++++++++++--- 15 files changed, 154 insertions(+), 25 deletions(-) diff --git a/tasks/helpers/appimage.yml b/tasks/helpers/appimage.yml index 53ea633..c74f4ad 100644 --- a/tasks/helpers/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -1,10 +1,10 @@ # vim: set filetype=yaml.ansible : --- -- name: Install appimages +- name: Install appimages {{ appimage.name }} become: "{{ install_become }}" become_user: "{{ install_become_user }}" block: - - name: Ensure appimage path exists + - name: Ensure appimage path exists {{ appimage.name }} ansible.builtin.file: path: "{{ path_appimage }}/{{ appimage.name }}" mode: "{{ appimage.mode | default('0755') }}" @@ -12,7 +12,7 @@ group: "{{ appimage.group | default(ansible_user_gid) }}" state: directory - - name: Fetch appimage + - name: Fetch appimage {{ appimage.name }} ansible.builtin.get_url: mode: "{{ appimage.mode | default('0755') }}" owner: "{{ appimage.owner | default(ansible_user_id) }}" @@ -22,7 +22,7 @@ decompress: false backup: false - - name: Link appimage to bin + - name: Link appimage to bin {{ appimage.name }} vars: links: - from: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" diff --git a/tasks/helpers/archive.yml b/tasks/helpers/archive.yml index 4edc6cd..425e0f5 100644 --- a/tasks/helpers/archive.yml +++ b/tasks/helpers/archive.yml @@ -13,7 +13,7 @@ - archive.name is defined - archive.url is defined block: - - name: Extract archive to given path + - name: Extract archive to given path {{ archive.name }} block: - name: Ensure directory exists become: "{{ install_become }}" @@ -25,7 +25,7 @@ owner: "{{ archive.owner | default(ansible_facts['user_id']) }}" group: "{{ archive.group | default(ansible_facts['user_gid']) }}" - - name: Download archive to cache + - name: Download archive to cache {{ archive.name }} ansible.builtin.get_url: dest: "{{ d_cache.path }}/{{ archive.name }}" url: "{{ archive.url }}" @@ -33,7 +33,7 @@ decompress: false mode: '0644' - - name: Extract archive + - name: Extract archive {{ archive.name }} become: "{{ install_become }}" become_user: "{{ install_become_user }}" ansible.builtin.unarchive: @@ -43,7 +43,7 @@ include: "{{ archive.include | default(omit) }}" exclude: "{{ archive.exclude | default(omit) }}" - - name: Symlink archive files + - name: Symlink archive files {{ archive.name }} when: - archive.links is defined - archive.links | length > 0 diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index d6ce129..b3c388a 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -1,4 +1,11 @@ # vim: set filetype=yaml.ansible +# +## Helper: cargo.yml +## Description: Install packages using the cargo command +## Variables: top level 'dict' +## name: package name on cargo +## version: cargo version, omitted if empty +## locked: _bool_, optional. Default false --- - name: Dump install vars ansible.builtin.debug: diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index b549ed2..589d294 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -1,4 +1,15 @@ # vim: set filetype=yaml.ansible : +# +## Helper: cargo_buil.yml +## Description: download source, build and install using cargo +## Variables: top level 'dict' +## source_dir: git source directory +## repo: git repository url +## depth: _int_ optional, Default 1. Git depth to clone +## force_git: _bool_ optional, default true. Force clone, overwriting existing dir +## recursive: _bool_ optional, default true. Do a recursive clone +## version: _string_ optional, default 'latest'. Version to checkout and build +## build_flags: _list[str]_ optional. If set, will append these to the build command --- - name: Cargo source install helper block: diff --git a/tasks/helpers/make.yml b/tasks/helpers/make.yml index 6a8145e..c971a34 100644 --- a/tasks/helpers/make.yml +++ b/tasks/helpers/make.yml @@ -15,6 +15,7 @@ - name: Run configure target when: - pkg.target.configure is defined + register: make_configure community.general.make: chdir: "{{ pkg.path }}" target: "{{ pkg.target.configure.name }}" @@ -23,6 +24,7 @@ - name: Run build target when: - pkg.target.build is defined + register: make_build community.general.make: chdir: "{{ pkg.path }}" target: "{{ pkg.target.build.name }}" @@ -41,14 +43,18 @@ loop: "{{ pkg.targets.preinstall }}" loop_control: loop_var: target + register: make_preinstall community.general.make: chdir: "{{ pkg.path }}" target: "{{ target.name }}" params: "{{ target.params | default(omit) }}" - name: Run install target + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" when: - pkg.targets.install is defined + register: make_install community.general.make: chdir: "{{ pkg.path }}" target: "{{ pkg.targets.install.name }}" @@ -60,6 +66,7 @@ loop: "{{ pkg.targets.postinstall }}" loop_control: loop_var: target + register: make_postinstall community.general.make: chdir: "{{ pkg.path }}" target: "{{ target.name }}" diff --git a/tasks/helpers/zig.yml b/tasks/helpers/zig.yml index 4cbbb54..555cf06 100644 --- a/tasks/helpers/zig.yml +++ b/tasks/helpers/zig.yml @@ -24,7 +24,7 @@ - name: Download and extract source archive when: - pkg.archive is defined - ansible.bulitin.include_tasks: helpers/archive.yml + ansible.builtin.include_tasks: helpers/archive.yml - name: Ensure facts are set ansible.builtin.set_fact: diff --git a/tasks/pkgs/air.yml b/tasks/pkgs/air.yml index 9767eed..7a0a469 100644 --- a/tasks/pkgs/air.yml +++ b/tasks/pkgs/air.yml @@ -47,8 +47,8 @@ - name: Configure pkg dependencies loop: "{{ air.pkg_deps }}" loop_control: - loop_var: pkg - ansible.builtin.include_tasks: "pkgs/{{ pkg }}.yml" + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" - name: Add air to install list ansible.builtin.set_fact: diff --git a/tasks/pkgs/ansible.yml b/tasks/pkgs/ansible.yml index 660e25b..30b1956 100644 --- a/tasks/pkgs/ansible.yml +++ b/tasks/pkgs/ansible.yml @@ -18,6 +18,8 @@ Alpine: ansible Archlinux: ansible pip: ansible + pkg_deps: + - pipx # }}} - name: Configure ansible when: @@ -45,6 +47,12 @@ when: - ansible_imethod == 'source' block: + - name: Add ansible package deps + loop: "{{ ansible.pkg_deps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: pkgs/{{ dep }}.yml + - name: Configure ansible source install ansible.builtin.set_fact: ansible_src_install: diff --git a/tasks/pkgs/ansible_lint.yml b/tasks/pkgs/ansible_lint.yml index e4d4853..8453328 100644 --- a/tasks/pkgs/ansible_lint.yml +++ b/tasks/pkgs/ansible_lint.yml @@ -21,6 +21,8 @@ FreeBSD: py311-ansible-lint pip: name: ansible_lint + pkg_deps: + - pipx # }}} - name: Configure ansible_lint when: @@ -59,6 +61,12 @@ when: - ansible_lint_imethod == 'system' block: + - name: Add ansible lint package deps + loop: "{{ ansible_lint.pkg_deps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: pkgs/{{ dep }}.yml + - name: Queue ansible_lint system install ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[os_family]] }}" diff --git a/tasks/pkgs/cmakelang.yml b/tasks/pkgs/cmakelang.yml index 9b52a63..028f898 100644 --- a/tasks/pkgs/cmakelang.yml +++ b/tasks/pkgs/cmakelang.yml @@ -10,8 +10,13 @@ ansible.builtin.set_fact: cmakelang: methods: + - source - system - pkgname: cmakelang + pkgname: + RedHat: cmakelang + pip: cmakelang + pkg_deps: + - pipx # }}} - name: Add cmakelang when: @@ -35,6 +40,29 @@ ansible.builtin.set_fact: cmakelang_install: "{{ cmakelang_imethod }}={{ cmakelang.pkgname }}" + - name: Configure cmakelang source install + when: + - cmakelang_imethod == 'source' + block: + - name: Add cmakelang package deps + loop: "{{ cmakelang.pkg_deps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: pkgs/{{ dep }}.yml + + - name: Confgure cmakelang pipx install + ansible.builtin.set_fact: + cmakelang_pipx_install: + name: "{{ cmakelang.pkgname['pip'] }}" + + - name: Queue cmakelang pipx install + ansible.builtin.set_fact: + pkg_pipx: "{{ pkg_pipx + [cmakelang_pipx_install] }}" + + - name: Finalise cmakelang source install + ansible.builtin.set_fact: + cmakelang_install: "{{ cmakelang_imethod }}={{ cmakelang_pipx_install }}" + - name: Finalise cmakelang configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'cmakelang': cmakelang_install } ) }}" diff --git a/tasks/pkgs/direnv.yml b/tasks/pkgs/direnv.yml index af7af10..86d1d77 100644 --- a/tasks/pkgs/direnv.yml +++ b/tasks/pkgs/direnv.yml @@ -10,12 +10,17 @@ ansible.builtin.set_fact: direnv: methods: + - source - system pkgname: RedHat: direnv Alpine: direnv Debian: direnv Darwin: direnv + install_url: github.com/direnv/direnv + pkg_deps: + - go + version: "{{ direnv_version | default('latest') }}" # }}} - name: Configure direnv when: @@ -39,6 +44,20 @@ ansible.builtin.set_fact: direnv_install: "{{ direnv_imethod }}={{ direnv.pkgname[os_family] }}" + - name: Set direnv build facts + when: + - direnv_imethod == 'source' + block: + - name: Set direnv source install facts + ansible.builtin.set_fact: + direnv_go_install: + url: "{{ direnv.install_url }}@{{ direnv.version }}" + bind: "{{ path_bin }}/direnv" + + - name: Finalise direnv source install + ansible.builtin.set_fact: + direnv_install: "{{ direnv_imethod }}={{ direnv_go_install }}" + - name: Finalize direnv configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'direnv': direnv_install } ) }}" diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index d76b29b..b5881d2 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -116,7 +116,7 @@ loop: "{{ ghostty.pkg_deps }}" loop_control: loop_var: dep - ansible.bulitin.include_tasks: pkgs/{{ dep }}.yml + ansible.builtin.include_tasks: pkgs/{{ dep }}.yml - name: Add ghostty system dependencies ansible.builtin.set_fact: diff --git a/tasks/pkgs/nodejs.yml b/tasks/pkgs/nodejs.yml index b6ee3b8..b2dc0a7 100644 --- a/tasks/pkgs/nodejs.yml +++ b/tasks/pkgs/nodejs.yml @@ -12,9 +12,8 @@ methods: - system pkgname: - RedHat: [nodejs] - Debian: [nodejs] - Alpine: [nodejs] + RedHat: + - nodejs FreeBSD: - node - npm @@ -32,12 +31,9 @@ when: - nodejs_imethod == "system" block: - - name: Set nodejs package name - ansible.builtin.set_fact: - nodejs_pkgname: "{{ nodejs.pkgname[os_family] }}" - name: Append nodejs to pkg_sys ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + [nodejs_pkgname] }}" + pkg_sys: "{{ pkg_sys + nodejs.pkgname[os_family] }}" - name: Finalize nodejs configuration ansible.builtin.set_fact: diff --git a/tasks/pkgs/pipx.yml b/tasks/pkgs/pipx.yml index b6fae4d..d96b58d 100644 --- a/tasks/pkgs/pipx.yml +++ b/tasks/pkgs/pipx.yml @@ -1,5 +1,33 @@ # vim: set filetype=yaml.ansible : --- -- name: Append pipx to pkg_sys +- name: Set pipx default facts ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['pipx'] }}" + pipx: + methods: + - system + +- name: Configure pipx + when: + - "'pipx' not in __configured" + block: + - name: Set pipx install method + when: + - pipx_imethod is undefined + ansible.builtin.set_fact: + pipx_imethod: "{{ imethod if imethod in pipx.methods else pipx.methods[0] }}" + + - name: Configure pipx system install + when: + - pipx_imethod == 'system' + block: + - name: Queue pipx system install + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['pipx'] }}" + + - name: Finalise pipx system install + ansible.builtin.set_fact: + pipx_install: "{{ pipx_imethod }}=pipx" + + - name: Finalise pipx configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( { 'pipx': pipx_install } ) }}" diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index 30fb6d2..dc980fd 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -4,7 +4,12 @@ ansible.builtin.set_fact: zoxide: methods: + - source - system + cargo: + name: zoxide + pkg_deps: + - cargo # }}} - name: Configure zoxide when: @@ -16,9 +21,21 @@ ansible.builtin.set_fact: zoxide_imethod: "{{ imethod if imethod in zoxide.methods else zoxide.methods[0] }}" - - name: Append zoxide to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['zoxide'] }}" + - name: Configure zoxide system install + when: + - zoxide_imethod == 'system' + block: + - name: Append zoxide to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + ['zoxide'] }}" + + - name: Configure zoxide cargo install + when: + - zoxide_imethod == 'source' + block: + - name: Set zoxide cargo facts + ansible.builtin.set_fact: + zoxide_cargo_install: "{{ zoxide.cargo }}" - name: Set zoxide_configured ansible.builtin.set_fact: -- 2.47.3 From 0fc65e80089c5d8102eb2e078fed700816fda7ac Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Sun, 12 Apr 2026 17:28:00 -0600 Subject: [PATCH 41/48] fixing yazi --- tasks/pkgs/yazi.yml | 75 ++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index aac6ae8..569d975 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -1,41 +1,48 @@ # vim: set filetype=yaml.ansible : --- -- name: Configure yazi-fm +- name: Configure yazi installation # {{{ + ansible.builtin.set_fact: + methods: + - source + version: v26.1.22 + git: + repo: https://github.com/sxyazi/yazi.git + pkgname: yazi + pkg_depends: + - fd + - ripgrep + - fzf + - zoxide + build_depends: + RedHat: + - ImageMagick + - ffmpeg-free + - file + - jq + - oniguruma + - oniguruma-devel + - p7zip-plugins + - poppler + - wl-clipboard + - "@c-development" + - "@development-tools" + Darwin: + - ffmpeg + - file + - imagemagick + - jq + - oniguruma + - p7zip + - poppler +# }}} +- name: Configure yazi install when: - - __yazi_configured is undefined or - not __yazi_configured + - "'yazi' not in __configured" block: - - name: Configure yazi installation + - name: Set yazi install method + when: + - yazi_imethod is undefined ansible.builtin.set_fact: - yazi_git_repo: https://github.com/sxyazi/yazi.git - yazi_version: v26.1.22 - yazi_pkgname: yazi - yazi_pkg_depends: - - fd - - ripgrep - - fzf - - zoxide - yazi_build_depends: - RedHat: - - ImageMagick - - ffmpeg-free - - file - - jq - - oniguruma - - oniguruma-devel - - p7zip-plugins - - poppler - - wl-clipboard - - "@c-development" - - "@development-tools" - Darwin: - - ffmpeg - - file - - imagemagick - - jq - - oniguruma - - p7zip - - poppler - name: Configure yazi source install ansible.builtin.set_fact: yazi_src_install: @@ -60,8 +67,6 @@ ansible.builtin.set_fact: __yazi_configured: true -- name: Add yazi-fm - block: - name: Append yazi-fm pkg_deps loop: "{{ yazi_pkg_depends }}" loop_control: -- 2.47.3 From d062a1f3720129c294a57291f4eb34d76dfd504d Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 02:46:05 -0600 Subject: [PATCH 42/48] fix fd and yazi --- tasks/helpers/cargo_build.yml | 12 +++- tasks/pkgs/fd.yml | 2 +- tasks/pkgs/yazi.yml | 132 ++++++++++++++++++---------------- vars/main.yml | 2 +- 4 files changed, 80 insertions(+), 68 deletions(-) diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 589d294..bb4ff93 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -9,6 +9,7 @@ ## force_git: _bool_ optional, default true. Force clone, overwriting existing dir ## recursive: _bool_ optional, default true. Do a recursive clone ## version: _string_ optional, default 'latest'. Version to checkout and build +## locked: _bool_ optional, default 'false' ## build_flags: _list[str]_ optional. If set, will append these to the build command --- - name: Cargo source install helper @@ -24,9 +25,14 @@ ansible.builtin.include_tasks: helpers/git.yml - name: Build cargo release - ansible.builtin.command: - chdir: "{{ pkg.source_dir }}" - argv: "{{ ['cargo', 'build'] + pkg.build_flags }}" + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + community.general.cargo: + directory: "{{ pkg.source_dir }}" + path: "{{ install_prefix }}" + name: "{{ pkg.name }}" + version: "{{ pkg.version }}" + locked: "{{ pkg.locked }}" - name: Clean existing install vars: diff --git a/tasks/pkgs/fd.yml b/tasks/pkgs/fd.yml index 7a8a94b..46150e4 100644 --- a/tasks/pkgs/fd.yml +++ b/tasks/pkgs/fd.yml @@ -34,7 +34,7 @@ block: - name: Queue fd for system install ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + fd.pkgname[os_family] }}" + pkg_sys: "{{ pkg_sys + [ fd.pkgname[os_family] ] }}" - name: Finalise fd system install ansible.builtin.set_fact: diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index 569d975..6d57f6a 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -2,38 +2,39 @@ --- - name: Configure yazi installation # {{{ ansible.builtin.set_fact: - methods: - - source - version: v26.1.22 - git: - repo: https://github.com/sxyazi/yazi.git - pkgname: yazi - pkg_depends: - - fd - - ripgrep - - fzf - - zoxide - build_depends: - RedHat: - - ImageMagick - - ffmpeg-free - - file - - jq - - oniguruma - - oniguruma-devel - - p7zip-plugins - - poppler - - wl-clipboard - - "@c-development" - - "@development-tools" - Darwin: - - ffmpeg - - file - - imagemagick - - jq - - oniguruma - - p7zip - - poppler + yazi: + methods: + - source + version: v26.1.22 + git: + repo: https://github.com/sxyazi/yazi.git + pkgname: yazi + pkg_depends: + - fd + - ripgrep + - fzf + - zoxide + build_depends: + RedHat: + - ImageMagick + - ffmpeg-free + - file + - jq + - oniguruma + - oniguruma-devel + - p7zip-plugins + - poppler + - wl-clipboard + - "@c-development" + - "@development-tools" + Darwin: + - ffmpeg + - file + - imagemagick + - jq + - oniguruma + - p7zip + - poppler # }}} - name: Configure yazi install when: @@ -43,40 +44,45 @@ when: - yazi_imethod is undefined ansible.builtin.set_fact: - - name: Configure yazi source install - ansible.builtin.set_fact: - yazi_src_install: - cargo_build_flags: - - --release --locked - name: "{{ yazi_pkgname }}" - repo: "{{ yazi_git_repo }}" - version: "{{ yazi_version }}" - bin_output: "target/release/yazi" - bin_name: "yazi" - install_prefix: "{{ install_prefix }}" - install_files: - target/release/ya: bin/ya - files_list: - - bin/yazi - - bin/ya + yazi_imethod: "{{ imethod if imethod in yazi.methods else yazi.methods[0] }}" - - name: Set _yazi_configured + - name: Configure yazi source install + when: + - yazi_imethod == 'source' + block: + - name: Configure yazi cargo build + ansible.builtin.set_fact: + yazi_src_install: + cargo_build_flags: + - --release --locked + name: "{{ yazi.pkgname }}" + repo: "{{ yazi.git.repo }}" + source_dir: "{{ path_source }}/{{ yazi.pkgname }}" + version: "{{ yazi.version }}" + bin_output: "target/release/yazi" + bin_name: "yazi" + install_prefix: "{{ install_prefix }}" + install_files: + target/release/ya: bin/ya + files_list: + - bin/yazi + - bin/ya + + - name: Append yazi-fm pkg_deps + loop: "{{ yazi.pkg_depends }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + + - name: Append yazi to pkg_cargo_build + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + yazi.build_depends[ansible_os_family] }}" + pkg_cargo_build: "{{ pkg_cargo + [ yazi_src_install ] }}" + yazi_install: "{{ yazi_imethod }}={{ yazi_src_install }}" + + - name: Finalise yazi configuration when: - __yazi_configured is undefined or not __yazi_configured ansible.builtin.set_fact: __yazi_configured: true - - - name: Append yazi-fm pkg_deps - loop: "{{ yazi_pkg_depends }}" - loop_control: - loop_var: yazi_pkg_dep - vars: - pkg: "{{ yazi_pkg_dep }}" - ansible.builtin.include_tasks: - file: "helpers/addpkg.yml" - - - name: Append yazi to pkg_cargo_build - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + yazi_build_depends[ansible_os_family] }}" - pkg_cargo_build: "{{ pkg_cargo + yazi_src_install }}" diff --git a/vars/main.yml b/vars/main.yml index d31902e..9aeb2be 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -54,7 +54,7 @@ path_profile: neovim_version: master neovim_build_type: Release # }}} -# {{{ nerdfonts +# {{{ nerdfonts nerdfonts_install_list: - JetBrainsMono - FiraCode -- 2.47.3 From c97dfa1aa3cd246655191a346deeed318828cdfd Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 03:03:41 -0600 Subject: [PATCH 43/48] trying to fix alacritty build --- tasks/helpers/cargo.yml | 2 +- tasks/helpers/cargo_build.yml | 4 ++-- tasks/main.yml | 2 +- tasks/pkgs/alacritty.yml | 14 +++++++++----- tasks/pkgs/yazi.yml | 2 +- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index b3c388a..344b42f 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -11,7 +11,7 @@ ansible.builtin.debug: var: pkg -- name: Install with cargo +- name: Install with cargo {{ pkg.name }} become: "{{ install_become }}" become_user: "{{ install_become_user }}" community.general.cargo: diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index bb4ff93..04b0155 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -12,7 +12,7 @@ ## locked: _bool_ optional, default 'false' ## build_flags: _list[str]_ optional. If set, will append these to the build command --- -- name: Cargo source install helper +- name: Cargo source install helper {{ pkg.name | default(omit) }} block: - name: Fetch git repo vars: @@ -32,7 +32,7 @@ path: "{{ install_prefix }}" name: "{{ pkg.name }}" version: "{{ pkg.version }}" - locked: "{{ pkg.locked }}" + locked: "{{ pkg.locked | default(false) }}" - name: Clean existing install vars: diff --git a/tasks/main.yml b/tasks/main.yml index 6ce927d..9f95e1b 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -107,7 +107,7 @@ ansible.builtin.include_tasks: helpers/cargo.yml - name: Install cargo_build packages - loop: "{{ pkg_cargo_build }}" + loop: "{{ pkg_cargo_build | unique }}" loop_control: loop_var: pkg ansible.builtin.include_tasks: helpers/cargo_build.yml diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 1d61a5d..7c034e6 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -2,7 +2,7 @@ # ## Package: alacritty ## Description: GPU accelerated terminal emulator written in rust -## Version: v0.16.1 +## Version: 0.16.1 ## Methods: [source, system] ## Helpers: cargo_build --- @@ -13,12 +13,14 @@ - source - system build_flags: "{{ alacritty_build_flags | default( ['--release'] ) }}" - version: "{{ alacritty_version | default('v0.16.1') }}" + version: "{{ alacritty_version | default('0.16.1') }}" pkgname: RedHat: alacritty Debian: alacritty Alpine: alacritty - git_repo: https://github.com/alacritty/alacritty + git: + repo: https://github.com/alacritty/alacritty + version: "{{ alacritty_version | default('v0.16.1') }}" install_files: - from: target/release/alacritty to: bin/alacritty @@ -95,6 +97,7 @@ - alacritty_imethod is undefined ansible.builtin.set_fact: alacritty_imethod: "{{ imethod if imethod in alacritty.methods else alacritty.methods[0] }}" + - name: Configure alacritty source install # {{{ when: - alacritty_imethod == "source" @@ -104,9 +107,10 @@ alacritty_src_install: build_flags: "{{ alacritty.build_flags }}" source_dir: "{{ d_cache.path }}/alacritty" - repo: "{{ alacritty.git_repo }}" - version: "{{ alacritty.version }}" + repo: "{{ alacritty.git.repo }}" + version: "{{ alacritty.git.version }}" files: "{{ alacritty.install_files }}" + name: alacritty alacritty_bds: "{{ alacritty.bds[os_family] }}" - name: Set alacritty install extra build deps diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index 6d57f6a..9b8a6d3 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -77,7 +77,7 @@ - name: Append yazi to pkg_cargo_build ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + yazi.build_depends[ansible_os_family] }}" - pkg_cargo_build: "{{ pkg_cargo + [ yazi_src_install ] }}" + pkg_cargo_build: "{{ pkg_cargo_build + [ yazi_src_install ] }}" yazi_install: "{{ yazi_imethod }}={{ yazi_src_install }}" - name: Finalise yazi configuration -- 2.47.3 From ae1809a7eed760a3520ae17a8a09ac770cb3da48 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 03:52:50 -0600 Subject: [PATCH 44/48] fixed alacritty and yazi cargo_build --- tasks/helpers/cargo_build.yml | 51 ++++++++++++++++++++++------------- tasks/helpers/install.yml | 8 +++--- tasks/pkgs/alacritty.yml | 4 +-- tasks/pkgs/yazi.yml | 24 ++++++++++------- 4 files changed, 54 insertions(+), 33 deletions(-) diff --git a/tasks/helpers/cargo_build.yml b/tasks/helpers/cargo_build.yml index 04b0155..c51e610 100644 --- a/tasks/helpers/cargo_build.yml +++ b/tasks/helpers/cargo_build.yml @@ -9,30 +9,24 @@ ## force_git: _bool_ optional, default true. Force clone, overwriting existing dir ## recursive: _bool_ optional, default true. Do a recursive clone ## version: _string_ optional, default 'latest'. Version to checkout and build -## locked: _bool_ optional, default 'false' ## build_flags: _list[str]_ optional. If set, will append these to the build command --- -- name: Cargo source install helper {{ pkg.name | default(omit) }} +- name: Cargo source install helper block: - name: Fetch git repo vars: path: "{{ pkg.source_dir }}" - repo: "{{ pkg.repo }}" + repo: "{{ pkg.git.repo }}" depth: "{{ pkg.depth | default(1) }}" force: "{{ pkg.force_git | default(true) }}" recursive: "{{ pkg.recursive | default(true) }}" - version: "{{ pkg.version | default(omit) }}" + version: "{{ pkg.git.version | default(omit) }}" ansible.builtin.include_tasks: helpers/git.yml - name: Build cargo release - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - community.general.cargo: - directory: "{{ pkg.source_dir }}" - path: "{{ install_prefix }}" - name: "{{ pkg.name }}" - version: "{{ pkg.version }}" - locked: "{{ pkg.locked | default(false) }}" + ansible.builtin.command: + chdir: "{{ pkg.source_dir }}" + argv: "{{ ['cargo', 'build'] + pkg.build_flags }}" - name: Clean existing install vars: @@ -41,9 +35,30 @@ - name: Install cargo release block: - - name: Create missing directories - vars: - do_become: "{{ install_become }}" - do_become_user: "{{ install_become_user | default(omit) }}" - source_dir: "{{ pkg.source_dir }}" - ansible.builtin.include_tasks: helpers/install.yml + # - name: Install files + # vars: + # source_dir: "{{ pkg.source_dir }}" + # pkg: "{{ pkg }}" + # ansible.builtin.include_tasks: helpers/install.yml + + - name: Create directories + become: "{{ install_become }}" + become_user: "{{ install_become_user | default(omit) }}" + loop: "{{ pkg.files }}" + loop_control: + loop_var: file + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ [install_prefix, file.to] | path_join | dirname }}" + + - name: Copy installable files + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + loop: "{{ pkg.files }}" + loop_control: + loop_var: file + ansible.builtin.copy: + dest: "{{ install_prefix }}/{{ file.to }}" + mode: "{{ file.mode | default('0644') }}" + src: "{{ pkg.source_dir }}/{{ file.from }}" diff --git a/tasks/helpers/install.yml b/tasks/helpers/install.yml index 07cab90..a701cb9 100644 --- a/tasks/helpers/install.yml +++ b/tasks/helpers/install.yml @@ -20,7 +20,7 @@ - name: Create directories become: "{{ do_become }}" become_user: "{{ do_become_user | default(omit) }}" - loop: "{{ pkg_clean }}" + loop: "{{ pkg.files }}" loop_control: loop_var: dir when: @@ -33,8 +33,10 @@ - name: Copy installable files become: "{{ install_become }}" become_user: "{{ install_become_user }}" - loop: "{{ pkg_clean }}" + loop: "{{ pkg.files }}" + loop_control: + loop_var: file ansible.builtin.copy: dest: "{{ install_prefix }}/{{ file.to }}" mode: "{{ file.mode | default('0644') }}" - src: "{{ file.builddir | default(omit) }}/" + src: "{{ source_dir }}/{{ file.from }}" diff --git a/tasks/pkgs/alacritty.yml b/tasks/pkgs/alacritty.yml index 7c034e6..fca881b 100644 --- a/tasks/pkgs/alacritty.yml +++ b/tasks/pkgs/alacritty.yml @@ -107,8 +107,8 @@ alacritty_src_install: build_flags: "{{ alacritty.build_flags }}" source_dir: "{{ d_cache.path }}/alacritty" - repo: "{{ alacritty.git.repo }}" - version: "{{ alacritty.git.version }}" + git: "{{ alacritty.git }}" + version: "{{ alacritty.version }}" files: "{{ alacritty.install_files }}" name: alacritty alacritty_bds: "{{ alacritty.bds[os_family] }}" diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index 9b8a6d3..091ed6a 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -5,9 +5,10 @@ yazi: methods: - source - version: v26.1.22 + version: 26.1.22 git: repo: https://github.com/sxyazi/yazi.git + version: v26.1.22 pkgname: yazi pkg_depends: - fd @@ -53,20 +54,23 @@ - name: Configure yazi cargo build ansible.builtin.set_fact: yazi_src_install: - cargo_build_flags: - - --release --locked + build_flags: + - --release + - --locked name: "{{ yazi.pkgname }}" - repo: "{{ yazi.git.repo }}" - source_dir: "{{ path_source }}/{{ yazi.pkgname }}" + git: "{{ yazi.git }}" + source_dir: "{{ d_cache.path }}/{{ yazi.pkgname }}" version: "{{ yazi.version }}" bin_output: "target/release/yazi" bin_name: "yazi" install_prefix: "{{ install_prefix }}" - install_files: - target/release/ya: bin/ya - files_list: - - bin/yazi - - bin/ya + files: + - to: bin/yazi + from: target/release/yazi + mode: '0755' + - to: bin/ya + from: target/release/ya + mode: '0755' - name: Append yazi-fm pkg_deps loop: "{{ yazi.pkg_depends }}" -- 2.47.3 From 01e5a7aba7735c313f8865fb378195e4209a122c Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 09:59:14 -0600 Subject: [PATCH 45/48] ignore .lock files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ba6d390..41eb0e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .galaxy_install_info +.lock -- 2.47.3 From 4a44382b019bd2c79427b925c89a7a921ab789e3 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 11:47:43 -0600 Subject: [PATCH 46/48] Finish 5 packages, cleanups - Finished: ghostty, git, gitea-server, go and yazi - Cleanup helpers appimage.yml and nerdfont_config.yml --- tasks/helpers/appimage.yml | 1 + tasks/helpers/nerdfont_config.yml | 2 +- tasks/pkgs/ghostty.yml | 2 +- tasks/pkgs/git.yml | 5 ++ tasks/pkgs/gitea-server.yml | 82 ++++++++++++++++++++++++++----- tasks/pkgs/go.yml | 5 ++ tasks/pkgs/yazi.yml | 6 +++ 7 files changed, 88 insertions(+), 15 deletions(-) diff --git a/tasks/helpers/appimage.yml b/tasks/helpers/appimage.yml index c74f4ad..c2cad66 100644 --- a/tasks/helpers/appimage.yml +++ b/tasks/helpers/appimage.yml @@ -19,6 +19,7 @@ group: "{{ appimage.group | default(ansible_user_gid) }}" url: "{{ appimage.url }}" dest: "{{ path_appimage }}/{{ appimage.name }}/{{ appimage.filename }}" + checksum: "{{ appimage.checksum | default(omit) }}" decompress: false backup: false diff --git a/tasks/helpers/nerdfont_config.yml b/tasks/helpers/nerdfont_config.yml index b5787d7..40ec239 100644 --- a/tasks/helpers/nerdfont_config.yml +++ b/tasks/helpers/nerdfont_config.yml @@ -11,7 +11,7 @@ links: - from: "{{ path_archive }}/nerdfonts/{{ nf }}" to: "{{ install_prefix }}/{{ nerdfonts_install_path }}/{{ nf }}" - force: true + force: true - name: Append config to pkg archive ansible.builtin.set_fact: diff --git a/tasks/pkgs/ghostty.yml b/tasks/pkgs/ghostty.yml index b5881d2..58d68de 100644 --- a/tasks/pkgs/ghostty.yml +++ b/tasks/pkgs/ghostty.yml @@ -33,7 +33,7 @@ - gtk4-layer-shell-devel - libadwaita-devel - gettext - AlmaLinux: *redha + AlmaLinux: *redhat CentOS: *redhat Rocky: *redhat Debian: &debian diff --git a/tasks/pkgs/git.yml b/tasks/pkgs/git.yml index 28f0662..b9bfb59 100644 --- a/tasks/pkgs/git.yml +++ b/tasks/pkgs/git.yml @@ -1,4 +1,9 @@ # vim: set filetype=yaml.ansible : +# +## Package: git +## Description: leading vcs software +## Version: latest +## Methods: [system] --- - name: Set git default facts # {{{ ansible.builtin.set_fact: diff --git a/tasks/pkgs/gitea-server.yml b/tasks/pkgs/gitea-server.yml index c657ff7..70d1990 100644 --- a/tasks/pkgs/gitea-server.yml +++ b/tasks/pkgs/gitea-server.yml @@ -1,16 +1,72 @@ # vim: filetype=yaml.ansible : +# +## Package: gitea-server +## Description: git server with project management and a good web UI +## Version: 1.24.5 +## Methods: appimage +## Helpers: appimage --- -- name: Load gitea-server configuration - ansible.builtin.include_tasks: - file: config/gitea-server.yml +- name: Set gitea default facts # {{{ + ansible.builtin.set_fact: + gitea: + methods: + - appimage + version: "{{ gitea_server_version | default('1.25.5') }}" + baseurl: https://dl.gitea.com/gitea + os: + Darwin: darwin-10.12 + Linux: linux + arch: + x86_64: amd64 + amd64: amd64 + arm64: arm64 + aarch64: arm64 + sha256sum: + 1.25.5: + x86_64: + Linux: 1c86b689cd44f843299cb12b5b3eb1189d0638d5ffda04eb6b4dd0fe395422fc + Darwin: 7f609e30c574886019157bb9424db63516a7f7b0e9b4ac9e400533ced557d0a2 + arm64: + Linux: 371e29efea7d0fa7851aee5512869a9c8690b2d17e7486696465b9e26cd5b1d8 + Darwin: 32fc0bd019020ba9056fd350acc56ce0aa7d119065580156b2c0d1d051e251c1 + 1.24.5: + x86_64: + Linux: 59029c97fe491b93c19705ba313f6b2397a8fe70cb2bd6fc021925f3cfb8e03d + 1.23.7: + x86_64: + Darwin: 71e0087d48da89ff16a5accced0c94e1be7f796cf8ea8dc6a03bc4797c3d32f7 + Linux: 3c0a7121ad1d9c525a92c68a7c040546553cd41e7464ce2fa811246b648c0a46 + arm64: + Darwin: 2d3cbe3fb68c9e529578d404a8a49c73554c90d786305363442a33c2854eb051 + Linux: eaaf65d888e06dd5fd72c6e01575eab1863aad186133dfc199d243b3bbc56e49 +# }}} +- name: Configure gitea-server + when: + - "'gitea-server' not in __configured" + block: + - name: Set gitea-server install method + when: + - gitea_server_imethod is undefined + ansible.builtin.set_fact: + gitea_server_imethod: "{{ imethod if imethod in gitea.methods else gitea.methods[0] }}" -- name: Download gitea-server binary - become: true - ansible.builtin.get_url: - url: "{{ gitea_server.url }}/{{ gitea_server.file }}" - mode: '0755' - dest: /usr/local/bin/gitea - owner: root - group: root - checksum: "{{ gitea_server.sha256url }}" - decompress: false + - name: Configure gitea-server archive install + when: + - gitea_server_imethod == 'appimage' + block: + - name: Set gitea-server binary facts + ansible.builtin.set_fact: + gitea_bin_install: # use appimage helper, as it's basically the same thing + url: "https://dl.gitea.com/gitea/{{ gitea.version }}/gitea-{{ gitea.version }}-{{ gitea.arch[system] }}-{{ gitea.arch[architecture] }}" + name: gitea + filename: "gitea-{{ gitea.version }}-{{ gitea.arch[system] }}-{{ gitea.arch[architecture] }}" + checksum: "sha256:{{ gitea_server_checksum | default(gitea.sha256sum[gitea.version]) }}" + + - name: Queue gitea-server binary install + ansible.builtin.set_fact: + pkg_appimage: "{{ pkg_appimage + [gitea_bin_install] }}" + gitea_server_install: "{{ gitea_server_imethod }}={{ gitea_bin_install }}" + + - name: Finalise gitea-server configuration + ansible.builtin.set_fact: + __configured: "{{ __configured | combine( {'gitea-server': gitea_server_install } ) }}" diff --git a/tasks/pkgs/go.yml b/tasks/pkgs/go.yml index e34ea8f..9129430 100644 --- a/tasks/pkgs/go.yml +++ b/tasks/pkgs/go.yml @@ -1,4 +1,8 @@ # vim: set filetype=yaml.ansible : +# +## Package: go +## Description: go compiler and module manager +## Version: 1.26.1 --- - name: Set go default facts # {{{ ansible.builtin.set_fact: @@ -12,6 +16,7 @@ Darwin: go FreeBSD: default: go + 1.26: go126 1.25: go125 1.24: go124 1.23: go123 diff --git a/tasks/pkgs/yazi.yml b/tasks/pkgs/yazi.yml index 091ed6a..41c156b 100644 --- a/tasks/pkgs/yazi.yml +++ b/tasks/pkgs/yazi.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: yazi +## Description: best tui filemanager +## Version: 26.1.22 +## Methods: [source] +## Helpers: [cargo_build] --- - name: Configure yazi installation # {{{ ansible.builtin.set_fact: -- 2.47.3 From 633a8cad84f1d31f9277b69286e810fae45d1e28 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 13:11:50 -0600 Subject: [PATCH 47/48] finished list, now to test them all --- tasks/archive/luals.yml | 30 -- tasks/archive/packer.yml | 15 - tasks/archive/pulumi.yml | 31 -- tasks/archive/terraform.yml | 38 -- tasks/archive/vault.yml | 38 -- tasks/archive/zig.yml | 38 -- tasks/archive/zls.yml | 37 -- tasks/helpers/cargo.yml | 6 +- tasks/helpers/go_install.yml | 5 + tasks/helpers/nerdfont_config.yml | 2 +- tasks/pkgs/choose.yml | 2 +- tasks/pkgs/gopls.yml | 48 ++- tasks/pkgs/gping.yml | 56 ++- tasks/pkgs/htmx-lsp.yml | 13 - tasks/pkgs/httpie.yml | 25 -- tasks/pkgs/hugo.yml | 5 - tasks/pkgs/intelephense.yml | 13 - tasks/pkgs/jinja-lsp.yml | 13 - tasks/pkgs/jq.yml | 5 - tasks/pkgs/kitty.yml | 9 - tasks/pkgs/lazygit.yml | 48 ++- tasks/pkgs/luals.yml | 17 - tasks/pkgs/markdownlint-cli.yml | 13 - tasks/pkgs/mcfly.yml | 19 - tasks/pkgs/minio_client.yml | 5 - tasks/pkgs/nerdfonts.yml | 77 +++- tasks/pkgs/nfs_client.yml | 5 - tasks/pkgs/nfs_server.yml | 5 - tasks/pkgs/nginxls.yml | 13 - tasks/pkgs/nomad.yml | 29 -- tasks/pkgs/packer.yml | 26 -- tasks/pkgs/pandoc.yml | 5 - tasks/pkgs/pgadmin.yml | 25 -- tasks/pkgs/pipx.yml | 33 -- tasks/pkgs/podman.yml | 5 - tasks/pkgs/postgresql_server.yml | 15 - tasks/pkgs/pulumi.yml | 17 - tasks/pkgs/pyright.yml | 13 - tasks/pkgs/python3.yml | 9 - tasks/pkgs/quobix-vacuum.yml | 13 - tasks/pkgs/restic.yml | 5 - tasks/pkgs/revive.yml | 13 - tasks/pkgs/ripgrep.yml | 5 - tasks/pkgs/samba_client.yml | 5 - tasks/pkgs/samba_server.yml | 5 - tasks/pkgs/sd.yml | 19 - tasks/pkgs/sqlfluff.yml | 13 - tasks/pkgs/sqlls.yml | 13 - tasks/pkgs/stow.yml | 9 - tasks/pkgs/tailscale.yml | 69 --- tasks/pkgs/tailwindcss-languageserver.yml | 13 - tasks/pkgs/tailwindcss.yml | 13 - tasks/pkgs/templ.yml | 13 - tasks/pkgs/terraform.yml | 33 -- tasks/pkgs/terraformls.yml | 37 -- tasks/pkgs/tidy.yml | 15 - tasks/pkgs/tldr.yml | 19 - tasks/pkgs/tmux.yml | 11 - tasks/pkgs/uwsm.yml | 22 - tasks/pkgs/vault.yml | 93 ---- tasks/pkgs/wofi.yml | 5 - tasks/pkgs/xh.yml | 23 - tasks/pkgs/yamlls.yml | 13 - tasks/pkgs/zenbrowser.yml | 13 - tasks/pkgs/zfs.yml | 28 -- tasks/pkgs/zls.yml | 17 - tasks/pkgs/zoxide.yml | 15 +- tasks/pkgs/zsh.yml | 6 + tasks/repos/hashicorp.yml | 49 --- tasks/repos/terra.yml | 25 -- tasks/repos/zfs.yml | 44 -- tasks/src/ghostty.yml | 37 -- tasks/src/go_profile_path.yml | 20 - tasks/src/hyprcursor.yml | 39 -- tasks/src/hyprgraphics.yml | 39 -- tasks/src/hypridle.yml | 76 ---- tasks/src/hyprland.yml | 69 --- tasks/src/hyprland_protocols.yml | 51 --- tasks/src/hyprland_qt_support.yml | 70 --- tasks/src/hyprland_qtutils.yml | 69 --- tasks/src/hyprlang.yml | 68 --- tasks/src/hyprlock.yml | 76 ---- tasks/src/hyprpaper.yml | 69 --- tasks/src/hyprpicker.yml | 69 --- tasks/src/hyprpolkitagent.yml | 69 --- tasks/src/hyprutils.yml | 68 --- tasks/src/hyprwayland_scanner.yml | 60 --- tasks/src/neovide.yml | 47 -- tasks/src/neovim.yml | 41 -- tasks/src/nwg_hello.yml | 47 -- tasks/src/sdbus_cpp_2.yml | 69 --- tasks/src/usr_local_bin_profile_path.yml | 12 - tasks/src/uwsm.yml | 53 --- tasks/src/xdg_desktop_portal_hyprland.yml | 66 --- vars/main.yml | 16 - vars/pkgs/bitwarden.yml | 17 - vars/pkgs/broot.yml | 16 - vars/pkgs/carapace.yml | 23 - vars/pkgs/cbfmt.yml | 5 - vars/pkgs/choose.yml | 4 - vars/pkgs/clangd.yml | 12 - vars/pkgs/cmake-format.yml | 5 - vars/pkgs/cockpit.yml | 23 - vars/pkgs/consul.yml | 8 - vars/pkgs/fd.yml | 12 - vars/pkgs/firefox.yml | 7 - vars/pkgs/ghostty.yml | 496 ---------------------- vars/pkgs/git.yml | 22 - vars/pkgs/gitea-server.yml | 22 - vars/pkgs/go.yml | 55 --- vars/pkgs/greetd.yml | 13 - vars/pkgs/hashicorp.yml | 16 - vars/pkgs/httpie.yml | 10 - vars/pkgs/hyprcursor.yml | 6 - vars/pkgs/hyprgraphics.yml | 6 - vars/pkgs/hypridle.yml | 22 - vars/pkgs/hyprland.yml | 379 ----------------- vars/pkgs/hyprland_protocols.yml | 22 - vars/pkgs/hyprland_qt_support.yml | 26 -- vars/pkgs/hyprland_qtutils.yml | 25 -- vars/pkgs/hyprlang.yml | 19 - vars/pkgs/hyprlock.yml | 43 -- vars/pkgs/hyprpaper.yml | 33 -- vars/pkgs/hyprpolkitagent.yml | 18 - vars/pkgs/hyprutils.yml | 16 - vars/pkgs/hyprwayland_scanner.yml | 14 - vars/pkgs/hyrppicker.yml | 25 -- vars/pkgs/kitty.yml | 9 - vars/pkgs/libreoffice.yml | 21 - vars/pkgs/luals.yml | 12 - vars/pkgs/neovide.yml | 30 -- vars/pkgs/nextcloud.yml | 6 - vars/pkgs/nfs_client.yml | 10 - vars/pkgs/nfs_server.yml | 12 - vars/pkgs/nodejs.yml | 10 - vars/pkgs/nomad.yml | 8 - vars/pkgs/nwg_hello.yml | 17 - vars/pkgs/packer.yml | 14 - vars/pkgs/pgadmin.yml | 15 - vars/pkgs/postgresql_server.yml | 33 -- vars/pkgs/pulumi.yml | 10 - vars/pkgs/python3.yml | 15 - vars/pkgs/rust.yml | 15 - vars/pkgs/samba_client.yml | 13 - vars/pkgs/samba_server.yml | 12 - vars/pkgs/sdbus_cpp_2.yml | 46 -- vars/pkgs/tailscale.yml | 17 - vars/pkgs/targetcli.yml | 19 - vars/pkgs/terraform.yml | 23 - vars/pkgs/terraformls.yml | 13 - vars/pkgs/terrarepo.yml | 4 - vars/pkgs/tidy.yml | 12 - vars/pkgs/uwsm.yml | 24 -- vars/pkgs/vault.yml | 23 - vars/pkgs/xdg_desktop_portal_hyprland.yml | 32 -- vars/pkgs/xh.yml | 8 - vars/pkgs/zfs.yml | 29 -- vars/pkgs/zig.yml | 12 - vars/pkgs/zls.yml | 12 - vars/src/alacritty.yml | 27 -- vars/src/aquamarine.yml | 8 - vars/src/hyprcursor.yml | 50 --- vars/src/hyrpgraphics.yml | 57 --- 163 files changed, 210 insertions(+), 4672 deletions(-) delete mode 100644 tasks/archive/luals.yml delete mode 100644 tasks/archive/packer.yml delete mode 100644 tasks/archive/pulumi.yml delete mode 100644 tasks/archive/terraform.yml delete mode 100644 tasks/archive/vault.yml delete mode 100644 tasks/archive/zig.yml delete mode 100644 tasks/archive/zls.yml delete mode 100644 tasks/pkgs/htmx-lsp.yml delete mode 100644 tasks/pkgs/httpie.yml delete mode 100644 tasks/pkgs/hugo.yml delete mode 100644 tasks/pkgs/intelephense.yml delete mode 100644 tasks/pkgs/jinja-lsp.yml delete mode 100644 tasks/pkgs/jq.yml delete mode 100644 tasks/pkgs/kitty.yml delete mode 100644 tasks/pkgs/luals.yml delete mode 100644 tasks/pkgs/markdownlint-cli.yml delete mode 100644 tasks/pkgs/mcfly.yml delete mode 100644 tasks/pkgs/minio_client.yml delete mode 100644 tasks/pkgs/nfs_client.yml delete mode 100644 tasks/pkgs/nfs_server.yml delete mode 100644 tasks/pkgs/nginxls.yml delete mode 100644 tasks/pkgs/nomad.yml delete mode 100644 tasks/pkgs/packer.yml delete mode 100644 tasks/pkgs/pandoc.yml delete mode 100644 tasks/pkgs/pgadmin.yml delete mode 100644 tasks/pkgs/pipx.yml delete mode 100644 tasks/pkgs/podman.yml delete mode 100644 tasks/pkgs/postgresql_server.yml delete mode 100644 tasks/pkgs/pulumi.yml delete mode 100644 tasks/pkgs/pyright.yml delete mode 100644 tasks/pkgs/python3.yml delete mode 100644 tasks/pkgs/quobix-vacuum.yml delete mode 100644 tasks/pkgs/restic.yml delete mode 100644 tasks/pkgs/revive.yml delete mode 100644 tasks/pkgs/ripgrep.yml delete mode 100644 tasks/pkgs/samba_client.yml delete mode 100644 tasks/pkgs/samba_server.yml delete mode 100644 tasks/pkgs/sd.yml delete mode 100644 tasks/pkgs/sqlfluff.yml delete mode 100644 tasks/pkgs/sqlls.yml delete mode 100644 tasks/pkgs/stow.yml delete mode 100644 tasks/pkgs/tailscale.yml delete mode 100644 tasks/pkgs/tailwindcss-languageserver.yml delete mode 100644 tasks/pkgs/tailwindcss.yml delete mode 100644 tasks/pkgs/templ.yml delete mode 100644 tasks/pkgs/terraform.yml delete mode 100644 tasks/pkgs/terraformls.yml delete mode 100644 tasks/pkgs/tidy.yml delete mode 100644 tasks/pkgs/tldr.yml delete mode 100644 tasks/pkgs/tmux.yml delete mode 100644 tasks/pkgs/uwsm.yml delete mode 100644 tasks/pkgs/vault.yml delete mode 100644 tasks/pkgs/wofi.yml delete mode 100644 tasks/pkgs/xh.yml delete mode 100644 tasks/pkgs/yamlls.yml delete mode 100644 tasks/pkgs/zenbrowser.yml delete mode 100644 tasks/pkgs/zfs.yml delete mode 100644 tasks/pkgs/zls.yml delete mode 100644 tasks/repos/hashicorp.yml delete mode 100644 tasks/repos/terra.yml delete mode 100644 tasks/repos/zfs.yml delete mode 100644 tasks/src/ghostty.yml delete mode 100644 tasks/src/go_profile_path.yml delete mode 100644 tasks/src/hyprcursor.yml delete mode 100644 tasks/src/hyprgraphics.yml delete mode 100644 tasks/src/hypridle.yml delete mode 100644 tasks/src/hyprland.yml delete mode 100644 tasks/src/hyprland_protocols.yml delete mode 100644 tasks/src/hyprland_qt_support.yml delete mode 100644 tasks/src/hyprland_qtutils.yml delete mode 100644 tasks/src/hyprlang.yml delete mode 100644 tasks/src/hyprlock.yml delete mode 100644 tasks/src/hyprpaper.yml delete mode 100644 tasks/src/hyprpicker.yml delete mode 100644 tasks/src/hyprpolkitagent.yml delete mode 100644 tasks/src/hyprutils.yml delete mode 100644 tasks/src/hyprwayland_scanner.yml delete mode 100644 tasks/src/neovide.yml delete mode 100644 tasks/src/neovim.yml delete mode 100644 tasks/src/nwg_hello.yml delete mode 100644 tasks/src/sdbus_cpp_2.yml delete mode 100644 tasks/src/usr_local_bin_profile_path.yml delete mode 100644 tasks/src/uwsm.yml delete mode 100644 tasks/src/xdg_desktop_portal_hyprland.yml delete mode 100644 vars/pkgs/bitwarden.yml delete mode 100644 vars/pkgs/broot.yml delete mode 100644 vars/pkgs/carapace.yml delete mode 100644 vars/pkgs/cbfmt.yml delete mode 100644 vars/pkgs/choose.yml delete mode 100644 vars/pkgs/clangd.yml delete mode 100644 vars/pkgs/cmake-format.yml delete mode 100644 vars/pkgs/cockpit.yml delete mode 100644 vars/pkgs/consul.yml delete mode 100644 vars/pkgs/fd.yml delete mode 100644 vars/pkgs/firefox.yml delete mode 100644 vars/pkgs/ghostty.yml delete mode 100644 vars/pkgs/git.yml delete mode 100644 vars/pkgs/gitea-server.yml delete mode 100644 vars/pkgs/go.yml delete mode 100644 vars/pkgs/greetd.yml delete mode 100644 vars/pkgs/hashicorp.yml delete mode 100644 vars/pkgs/httpie.yml delete mode 100644 vars/pkgs/hyprcursor.yml delete mode 100644 vars/pkgs/hyprgraphics.yml delete mode 100644 vars/pkgs/hypridle.yml delete mode 100644 vars/pkgs/hyprland.yml delete mode 100644 vars/pkgs/hyprland_protocols.yml delete mode 100644 vars/pkgs/hyprland_qt_support.yml delete mode 100644 vars/pkgs/hyprland_qtutils.yml delete mode 100644 vars/pkgs/hyprlang.yml delete mode 100644 vars/pkgs/hyprlock.yml delete mode 100644 vars/pkgs/hyprpaper.yml delete mode 100644 vars/pkgs/hyprpolkitagent.yml delete mode 100644 vars/pkgs/hyprutils.yml delete mode 100644 vars/pkgs/hyprwayland_scanner.yml delete mode 100644 vars/pkgs/hyrppicker.yml delete mode 100644 vars/pkgs/kitty.yml delete mode 100644 vars/pkgs/libreoffice.yml delete mode 100644 vars/pkgs/luals.yml delete mode 100644 vars/pkgs/neovide.yml delete mode 100644 vars/pkgs/nextcloud.yml delete mode 100644 vars/pkgs/nfs_client.yml delete mode 100644 vars/pkgs/nfs_server.yml delete mode 100644 vars/pkgs/nodejs.yml delete mode 100644 vars/pkgs/nomad.yml delete mode 100644 vars/pkgs/nwg_hello.yml delete mode 100644 vars/pkgs/packer.yml delete mode 100644 vars/pkgs/pgadmin.yml delete mode 100644 vars/pkgs/postgresql_server.yml delete mode 100644 vars/pkgs/pulumi.yml delete mode 100644 vars/pkgs/python3.yml delete mode 100644 vars/pkgs/rust.yml delete mode 100644 vars/pkgs/samba_client.yml delete mode 100644 vars/pkgs/samba_server.yml delete mode 100644 vars/pkgs/sdbus_cpp_2.yml delete mode 100644 vars/pkgs/tailscale.yml delete mode 100644 vars/pkgs/targetcli.yml delete mode 100644 vars/pkgs/terraform.yml delete mode 100644 vars/pkgs/terraformls.yml delete mode 100644 vars/pkgs/terrarepo.yml delete mode 100644 vars/pkgs/tidy.yml delete mode 100644 vars/pkgs/uwsm.yml delete mode 100644 vars/pkgs/vault.yml delete mode 100644 vars/pkgs/xdg_desktop_portal_hyprland.yml delete mode 100644 vars/pkgs/xh.yml delete mode 100644 vars/pkgs/zfs.yml delete mode 100644 vars/pkgs/zig.yml delete mode 100644 vars/pkgs/zls.yml delete mode 100644 vars/src/alacritty.yml delete mode 100644 vars/src/aquamarine.yml delete mode 100644 vars/src/hyprcursor.yml delete mode 100644 vars/src/hyrpgraphics.yml diff --git a/tasks/archive/luals.yml b/tasks/archive/luals.yml deleted file mode 100644 index 77eec42..0000000 --- a/tasks/archive/luals.yml +++ /dev/null @@ -1,30 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Get latest lua-language-server - become: "{{ ext_become }}" - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ luals.archive }}" - url: "{{ luals.url }}/{{ luals.archive }}" - mode: "0644" - decompress: false - -- name: Create install_path - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - path: "{{ path.archive }}/luals" - mode: "0755" - -- name: Extract lua language server archive - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ path.archive }}/luals" - src: "{{ d_tempdir.path }}/{{ luals.archive }}" - remote_src: true - -- name: Link lua language server binary - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - path: "{{ path.bin }}/lua-language-server" - src: "{{ path.archive }}/luals/bin/lua-language-server" diff --git a/tasks/archive/packer.yml b/tasks/archive/packer.yml deleted file mode 100644 index 251c117..0000000 --- a/tasks/archive/packer.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Download packer archive - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ packer.archive.file }}" - url: "{{ packer.archive.url }}/{{ packer.archive.file }}" - decompress: false - mode: '0644' - -- name: Extract packer archive - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ path.archive }}/packer" - src: "{{ d_tempdir.path }}/{{ packer.archive.file }}" - remote_src: true diff --git a/tasks/archive/pulumi.yml b/tasks/archive/pulumi.yml deleted file mode 100644 index ed2b3a4..0000000 --- a/tasks/archive/pulumi.yml +++ /dev/null @@ -1,31 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if pulumi is installed - register: stat_pulumi_inst - ansible.builtin.stat: - path: "{{ path.bin }}/pulumi" - -- name: Install pulumi if not installed - when: - - not stat_pulumi_inst.stat.exists - block: - - name: Download pulumi archive - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ pulumi.archive }}" - url: "{{ pulumi.dlurl }}" - decompress: false - mode: '0644' - - - name: Extract pulumi archive - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ path.archive }}" - src: "{{ d_tempdir.path }}/{{ pulumi.archive }}" - remote_src: true - - - name: Link pulumi executable - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - src: "{{ path.archive }}/pulumi/pulumi" - path: "{{ path.bin }}/pulumi" diff --git a/tasks/archive/terraform.yml b/tasks/archive/terraform.yml deleted file mode 100644 index 39d4a1c..0000000 --- a/tasks/archive/terraform.yml +++ /dev/null @@ -1,38 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if terraform is already installed - register: r_terraform_inst - ansible.builtin.stat: - path: "{{ terraform.bin }}" - -- name: Download and install terraform - when: - - not r_terraform_inst.stat.exists - block: - - name: Download terraform archive - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ terraform.archive }}" - url: "{{ terraform.url }}/{{ terraform.archive }}" - mode: '0644' - decompress: false - - - name: Ensure vault archive dir exists - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - path: "{{ terraform.path }}" - mode: '0755' - - - name: Extract terraform archive - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ terraform.path }}" - src: "{{ d_tempdir.path }}/{{ terraform.archive }}" - remote_src: true - - - name: Link terraform executable - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - src: "{{ terraform.path }}/terraform" - path: "{{ terraform.bin }}" diff --git a/tasks/archive/vault.yml b/tasks/archive/vault.yml deleted file mode 100644 index 276d8e6..0000000 --- a/tasks/archive/vault.yml +++ /dev/null @@ -1,38 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if vault is already installed - register: r_vault_inst - ansible.builtin.stat: - path: "{{ vault.bin }}" - -- name: Download and install vault - when: - - not r_vault_inst.stat.exists - block: - - name: Download vault archive - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ vault.archive }}" - url: "{{ vault.url }}/{{ vault.archive }}" - mode: '0644' - decompress: false - - - name: Ensure vault archive dir exists - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - path: "{{ vault.path }}" - mode: '0755' - - - name: Extract vault archive - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ vault.path }}" - src: "{{ d_tempdir.path }}/{{ vault.archive }}" - remote_src: true - - - name: Link vault executable - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - src: "{{ vault.path }}/vault" - path: "{{ vault.bin }}" diff --git a/tasks/archive/zig.yml b/tasks/archive/zig.yml deleted file mode 100644 index 0a6ac82..0000000 --- a/tasks/archive/zig.yml +++ /dev/null @@ -1,38 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if zig exists - ansible.builtin.stat: - path: "{{ path.archive }}/zig/{{ zig.path }}/zig" - register: r_zig_stat - -- name: Update/install zig - when: - - not r_zig_stat.stat.exists - block: - - name: Download zig archive - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ zig.pkg }}" - url: "{{ zig.base_url }}/{{ zig.vers }}/{{ zig.pkg }}" - decompress: false - mode: '0644' - - - name: Create zig archive dir - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.archive }}/zig" - - - name: Extract zig package - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ path.archive }}/zig" - src: "{{ d_tempdir.path }}/{{ zig.pkg }}" - remote_src: true - - - name: Link zig binary - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - src: "{{ path.archive }}/zig/{{ zig.path }}/zig" - path: "{{ path.bin }}/zig" diff --git a/tasks/archive/zls.yml b/tasks/archive/zls.yml deleted file mode 100644 index 17e0189..0000000 --- a/tasks/archive/zls.yml +++ /dev/null @@ -1,37 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Check if zls exists - ansible.builtin.stat: - path: "{{ path.archive }}/zls/{{ zls.path }}/zls" - register: r_zls_stat - -- name: Update/install zls - block: - - name: Download zls archive - register: get_url_zls - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/{{ zls.pkg }}" - url: "{{ zls.base_url }}/{{ zls.pkg }}" - decompress: false - mode: '0644' - - - name: Create zls archive dir - become: "{{ ext_become }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ path.archive }}/zls/{{ zls.path }}" - - - name: Extract zls package - become: "{{ ext_become }}" - ansible.builtin.unarchive: - dest: "{{ path.archive }}/zls/{{ zls.path }}" - src: "{{ d_tempdir.path }}/{{ zls.pkg }}" - remote_src: true - - - name: Link zls binary - become: "{{ ext_become }}" - ansible.builtin.file: - state: link - src: "{{ path.archive }}/zls/{{ zls.path }}/zls" - path: "{{ path.bin }}/zls" diff --git a/tasks/helpers/cargo.yml b/tasks/helpers/cargo.yml index 344b42f..efa2fb9 100644 --- a/tasks/helpers/cargo.yml +++ b/tasks/helpers/cargo.yml @@ -1,4 +1,4 @@ -# vim: set filetype=yaml.ansible +# vim: set filetype=yaml.ansible : # ## Helper: cargo.yml ## Description: Install packages using the cargo command @@ -7,10 +7,6 @@ ## version: cargo version, omitted if empty ## locked: _bool_, optional. Default false --- -- name: Dump install vars - ansible.builtin.debug: - var: pkg - - name: Install with cargo {{ pkg.name }} become: "{{ install_become }}" become_user: "{{ install_become_user }}" diff --git a/tasks/helpers/go_install.yml b/tasks/helpers/go_install.yml index b380732..7a00db4 100644 --- a/tasks/helpers/go_install.yml +++ b/tasks/helpers/go_install.yml @@ -1,5 +1,10 @@ # vim: set filetype=yaml.ansible : --- +- name: Clean existing go package {{ pkg.bin }} + vars: + files: "{{ pkg.files | default([]) }}" + ansible.builtin.include_tasks: helpers/clean_install.yml + - name: Install go package "{{ pkg.url }}" become: "{{ install_become }}" become_user: "{{ install_become_user }}" diff --git a/tasks/helpers/nerdfont_config.yml b/tasks/helpers/nerdfont_config.yml index 40ec239..583c4bb 100644 --- a/tasks/helpers/nerdfont_config.yml +++ b/tasks/helpers/nerdfont_config.yml @@ -6,7 +6,7 @@ ansible.builtin.set_fact: __font_config: extract_to: "{{ path_archive }}/nerdfonts/{{ nf }}" - url: "{{ nerdfonts_base_url }}/{{ __nerdfonts[nf]['archive'] | default(nf) }}.tar.xz" + url: "{{ nerdfonts.base_url }}/{{ __nerdfonts[nf]['archive'] | default(nf) }}.tar.xz" name: "{{ __nerdfonts[nf]['archive'] | default(nf) }}.tar.xz" links: - from: "{{ path_archive }}/nerdfonts/{{ nf }}" diff --git a/tasks/pkgs/choose.yml b/tasks/pkgs/choose.yml index 24aa8d7..f36ebe9 100644 --- a/tasks/pkgs/choose.yml +++ b/tasks/pkgs/choose.yml @@ -1,7 +1,7 @@ # vim: set filetype=yaml.ansible : # ## Package: choose -## Description: +## Description: a human-friendly and fast alternative to cut and (sometimes) awk ## Version: latest ## Methods: source ## Helpers: cargo diff --git a/tasks/pkgs/gopls.yml b/tasks/pkgs/gopls.yml index be3dd28..e2d2acf 100644 --- a/tasks/pkgs/gopls.yml +++ b/tasks/pkgs/gopls.yml @@ -1,13 +1,49 @@ # vim: set filetype=yaml.ansible : +# +## Package: gopls +## Description: go language server +## Version: latest +## Methods: source +## Helpers: go_install --- -- name: Add gopls +- name: Set gopls default facts # {{{ + ansible.builtin.set_fact: + gopls: + methods: + - source + install_files: + - to: bin/gopls + version: "{{ gopls_version | default('latest') }}" + install_url: golang.org/x/tools/gopls + pkg_deps: + - go +# }}} +- name: Start gopls configuration when: - - gopls_configured is undefined + - "'gopls' not in __configured" block: - - name: Append gopls to pkg_go + - name: Set gopls install method + when: + - gopls_imethod is undefined ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['golang.org/x/tools/gopls@latest'] }}" + gopls_imethod: "{{ imethod if imethod in gopls.methods else gopls.methods[0] }}" - - name: Set gopls_configured + - name: Set gopls source install facts + when: + - gopls_imethod == 'source' + block: + - name: Configure gopls source install + ansible.builtin.set_fact: + gopls_go_pkg: + url: "{{ gopls.install_url }}@ {{ gopls.version }}" + bin: "{{ path_bind }}/gopls" + files: "{{ gopls.install_files }}" + + - name: Queue gopls for go_install + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [gopls_go_pkg] }}" + gopls_install: "{{ gopls_imethod }}={{ gopls_go_pkg }}" + + - name: Finalise gopls configuration ansible.builtin.set_fact: - gopls_configured: true + __configured: "{{ __configured | combine( { 'gopls': gopls_install } ) }}" diff --git a/tasks/pkgs/gping.yml b/tasks/pkgs/gping.yml index 19539fe..4cb0087 100644 --- a/tasks/pkgs/gping.yml +++ b/tasks/pkgs/gping.yml @@ -1,19 +1,55 @@ # vim: set filetype=yaml.ansible : +# +## Package: gping +## Description: TUI ping tools with style +## Version: latest +## Methods: [system, source] +## Helpers: cargo --- -- name: Add gping +- name: Set gping default facts # {{{ + ansible.builtin.set_fact: + gping: + methods: + - system + - source + version: "{{ gping_version | default('latest') }}" + pkgname: gping +# }}} +- name: Configure gping + when: + - "'gping' not in __configured" block: - - name: Append gping to pkg_sys + - name: Set gping install method when: - - ansible_system == 'Darwin' + - gping_imethod is undefined ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['gping'] }}" + gping_imethod: "{{ imethod if imethod in gping.methods else gping.methods[0] }}" - - name: Append gping to pkg_cargo + - name: Configure gping system install when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['gping'] }}" + - gping_imethod == 'system' + block: + - name: Append gping to pkg_sys + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + [gping.pkgname] }}" + gping_install: "{{ gping_imethod }}={{ gping.pkgname }}" - - name: Set gping_configured + - name: Configure gping source install + when: + - gping_imethod == 'source' + block: + - name: Set gping cargo install + ansible.builtin.set_fact: + gping_cargo_install: + name: "{{ gping.pkgname }}" + version: "{{ gping.version }}" + locked: true + + - name: Queue gping cargo install + ansible.builtin.set_fact: + pkg_cargo: "{{ pkg_carg + [gping_cargo_install] }}" + gping_install: "{{ gping_imethod }}={{ gping_cargo_install }}" + + - name: Finalise gping configuration ansible.builtin.set_fact: - gping_configured: true + __configured: "{{ __configured | combine( { 'gping': gping_install } ) }}" diff --git a/tasks/pkgs/htmx-lsp.yml b/tasks/pkgs/htmx-lsp.yml deleted file mode 100644 index 2febfa6..0000000 --- a/tasks/pkgs/htmx-lsp.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add htmx_lsp - when: - - htmx_lsp_configured is undefined - block: - - name: Append htmx-lsp to pkg_cargo - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['htmx-lsp'] }}" - - - name: Set htmx_lsp_configured - ansible.builtin.set_fact: - htmx_lsp_configured: true diff --git a/tasks/pkgs/httpie.yml b/tasks/pkgs/httpie.yml deleted file mode 100644 index 2bf94ab..0000000 --- a/tasks/pkgs/httpie.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add httpie - when: - - httpie_configured is undefined - block: - - name: Load httpie config - ansible.builtin.include_tasks: - file: config/httpie.yml - - - name: Append httpie to pkg_flatpak - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + [httpie.pkg] }}" - - - name: Append httpie to pkg_cask - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + [httpie.pkg] }}" - - - name: Set httpie_configured - ansible.builtin.set_fact: - httpie_configured: true diff --git a/tasks/pkgs/hugo.yml b/tasks/pkgs/hugo.yml deleted file mode 100644 index b1cef50..0000000 --- a/tasks/pkgs/hugo.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append hugo to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['hugo'] }}" diff --git a/tasks/pkgs/intelephense.yml b/tasks/pkgs/intelephense.yml deleted file mode 100644 index 5f5e573..0000000 --- a/tasks/pkgs/intelephense.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add intelephense - when: - - intelephense_configured is undefined - block: - - name: Append intelephense to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['intelephense'] }}" - - - name: Set intelephense_configured - ansible.builtin.set_fact: - intelephense_configured: true diff --git a/tasks/pkgs/jinja-lsp.yml b/tasks/pkgs/jinja-lsp.yml deleted file mode 100644 index af8bf42..0000000 --- a/tasks/pkgs/jinja-lsp.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add jinja_lsp - when: - - jinja_lsp_configured is undefined - block: - - name: Append jinja-lsp to pkg_cargo - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['jinja-lsp'] }}" - - - name: Set jinja_lsp_configured - ansible.builtin.set_fact: - jinja_lsp_configured: true diff --git a/tasks/pkgs/jq.yml b/tasks/pkgs/jq.yml deleted file mode 100644 index 3157149..0000000 --- a/tasks/pkgs/jq.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append jq to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['jq'] }}" diff --git a/tasks/pkgs/kitty.yml b/tasks/pkgs/kitty.yml deleted file mode 100644 index f5b9e24..0000000 --- a/tasks/pkgs/kitty.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load kitty config - ansible.builtin.include_tasks: - file: config/kitty.yml - -- name: Append kitty to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + kitty.pkgs }}" diff --git a/tasks/pkgs/lazygit.yml b/tasks/pkgs/lazygit.yml index fa26187..0c7ede1 100644 --- a/tasks/pkgs/lazygit.yml +++ b/tasks/pkgs/lazygit.yml @@ -1,13 +1,49 @@ # vim: set filetype=yaml.ansible : +# +## Package: lazygit +## Description: great looking and functional tui git manager +## Version: latest +## Methods: source +## Helpers: go_install --- -- name: Add lazygit +- name: Set lazygit default facts # {{{ + ansible.builtin.set_fact: + lazygit: + url: github.com/jesseduffield/lazygit + version: "{{ lazygit_version | default('latest') }}" + pkg_deps: + - go +# }}} +- name: Configure lazygit when: - - lazygit_configured is undefined + - "'lazygit' not in __configured" block: - - name: Append lazygit to pkg_go + - name: Set lazygit install method ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/jesseduffield/lazygit@latest'] }}" + lazygit_imethod: "{{ imethod if imethod in lazygit.methods else lazygit.methods[0] }}" - - name: Set lazygit_configured + - name: Configure lazygit source install + when: + - lazygit_imethod == 'source' + block: + - name: Set lazygit go install + ansible.builtin.set_fact: + lazygit_go_install: + lazygit_go_pkg: + url: "{{ lazygit.url }}@{{ lazygit.version }}" + bin: "{{ path_bin }}/lazygit" + + - name: Queue lazygit go install + ansible.builtin.set_fact: + pkg_go: "{{ pkg_go + [lazygit_go_pkg] }}" + lazygit_install: "{{ lazygit_imethod }}={{ lazygit_go_install }}" + + - name: Append pkg_deps to install list + loop: "{{ lazygit.pkg_deps }}" + loop_control: + loop_var: dep + ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml" + + - name: Finalise lazygit configuration ansible.builtin.set_fact: - lazygit_configured: true + __configured: "{{ __configured | combine( { 'lazygit': lazygit_install } ) }}" diff --git a/tasks/pkgs/luals.yml b/tasks/pkgs/luals.yml deleted file mode 100644 index 5f0ac1c..0000000 --- a/tasks/pkgs/luals.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load luals config - ansible.builtin.include_tasks: - file: config/luals.yml - -- name: Append luals to pkg_archive - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['luals'] }}" - -- name: Append lua-language-server to pkg_sys - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['lua-language-server'] }}" diff --git a/tasks/pkgs/markdownlint-cli.yml b/tasks/pkgs/markdownlint-cli.yml deleted file mode 100644 index 8498223..0000000 --- a/tasks/pkgs/markdownlint-cli.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add markdownlint_cli - when: - - markdownlint_cli_configured is undefined - block: - - name: Append markdownlint-cli to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['markdownlint-cli'] }}" - - - name: Set markdownlint_cli_configured - ansible.builtin.set_fact: - markdownlint_cli_configured: true diff --git a/tasks/pkgs/mcfly.yml b/tasks/pkgs/mcfly.yml deleted file mode 100644 index 86840bd..0000000 --- a/tasks/pkgs/mcfly.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add mcfly - block: - - name: Append mcfly to pkg_sys - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['mcfly'] }}" - - - name: Append mcfly to pkg_cargo - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['mcfly'] }}" - - - name: Set mcfly_configured - ansible.builtin.set_fact: - mcfly_configured: true diff --git a/tasks/pkgs/minio_client.yml b/tasks/pkgs/minio_client.yml deleted file mode 100644 index d2b2bf1..0000000 --- a/tasks/pkgs/minio_client.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append mc to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/minio/mc@latest'] }}" diff --git a/tasks/pkgs/nerdfonts.yml b/tasks/pkgs/nerdfonts.yml index 768cbc0..39c7f7f 100644 --- a/tasks/pkgs/nerdfonts.yml +++ b/tasks/pkgs/nerdfonts.yml @@ -1,8 +1,23 @@ # vim: set filetype=yaml.ansible : +# +## Package: nerdfonts +## Description: Monospace fonts that are attractive for developers +## Version: latest +## Methods: archive +## Helpers: nerdfont_config, archive --- - name: Set default nerdfonts facts # {{{ ansible.builtin.set_fact: - __nerdfonts: + nerdfonts: + methods: + Linux: + - archive + Darwin: + - system + install_path: share/fonts + base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download + install_list: "{{ nerdfonts_install_list | default(['JetBrainsMono', 'FiraCode', 'Symbols']) }}" + __nerdfonts: # {{{ 0xProto: brew: font-0xproto-nerd-font "3270": @@ -165,40 +180,56 @@ brew: font-victor-mono-nerd-font ZedMono: brew: font-zed-mono-nerd-font + # }}} base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download # }}} - name: Configure nerdfonts when: - "'nerdfonts' not in __configured" block: - - name: Create nerdfonts directories - become: "{{ install_become }}" - become_user: "{{ install_become_user }}" - ansible.builtin.file: - state: directory - mode: '0755' - path: "{{ install_prefix }}/{{ nerdfonts_install_path }}" - owner: "{{ install_prefix_owner }}" - group: "{{ install_prefix_group }}" + - name: Set nerdfonts install method + when: + - nerdfonts_imethod is undefined + ansible.builtin.set_fact: + nerdfonts_imethod: "{{ imethod if imethod in nerdfonts.methods[system] else nerdfonts.methods[system][0] }}" - name: Configure nerdfonts archive install when: - - nerdfonts_install_list|length > 0 - - ansible_facts["system"] != 'Darwin' - loop: "{{ nerdfonts_install_list }}" - loop_control: - loop_var: nf - ansible.builtin.include_tasks: helpers/nerdfont_config.yml + - nerdfonts_imethod == 'archive' + block: + - name: Create nerdfonts directories + become: "{{ install_become }}" + become_user: "{{ install_become_user }}" + ansible.builtin.file: + state: directory + mode: '0755' + path: "{{ install_prefix }}/{{ nerdfonts.install_path }}" + owner: "{{ install_prefix_owner }}" + group: "{{ install_prefix_group }}" - - name: Append nerdfonts to pkg_cask + - name: Configure nerdfonts archive install + when: + - nerdfonts_install_list|length > 0 + loop: "{{ nerdfonts.install_list }}" + loop_control: + loop_var: nf + ansible.builtin.include_tasks: helpers/nerdfont_config.yml + + - name: Configure nerdfonts system install when: - - ansible_facts["system"] == 'Darwin' - loop: "{{ nerdfonts_install_list }}" - loop_control: - loop_var: nf + - nerdfonts_imethod == 'system' + block: + - name: Append nerdfonts to pkg_cask + loop: "{{ nerdfonts.install_list }}" + loop_control: + loop_var: nf + ansible.builtin.set_fact: + pkg_cask: "{{ pkg_cask + [__nerdfonts[nf].brew] }}" + + - name: Finalise nerdfonts archive install ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + [__nerdfonts[nf].brew] }}" + nerdfonts_install: "{{ nerdfonts_imethod }}={{ nerdfont.install_list }}" - name: Set nerdfonts_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'nerdfonts': true } ) }}" + __configured: "{{ __configured | combine( { 'nerdfonts': nerdfonts_install } ) }}" diff --git a/tasks/pkgs/nfs_client.yml b/tasks/pkgs/nfs_client.yml deleted file mode 100644 index 3ba40c4..0000000 --- a/tasks/pkgs/nfs_client.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append nfs_server to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + nfs_client.pkgs }}" diff --git a/tasks/pkgs/nfs_server.yml b/tasks/pkgs/nfs_server.yml deleted file mode 100644 index 6466e6d..0000000 --- a/tasks/pkgs/nfs_server.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append nfs_server to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + nfs_server.pkgs }}" diff --git a/tasks/pkgs/nginxls.yml b/tasks/pkgs/nginxls.yml deleted file mode 100644 index f1bb35f..0000000 --- a/tasks/pkgs/nginxls.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add nginxls - when: - - nginxls_configured is undefined - block: - - name: Append nginx-language-server to pkg_pipx - ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + ['nginx-language-server'] }}" - - - name: Set nginxls_configured - ansible.builtin.set_fact: - nginxls_configured: true diff --git a/tasks/pkgs/nomad.yml b/tasks/pkgs/nomad.yml deleted file mode 100644 index 3f4a985..0000000 --- a/tasks/pkgs/nomad.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add nomad - block: - - name: Load nomad config - ansible.builtin.include_tasks: - file: config/nomad.yml - - - name: Append nomad to pkg_tap - when: - - ansible_distribution == 'MacOSX' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + nomad.pkgs }}" - - - name: Append nomad to pkg_sys - when: - - ansible_system == 'Linux' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + nomad.pkgs }}" - - - name: Set nomad_configured - ansible.builtin.set_fact: - nomad_configured: true diff --git a/tasks/pkgs/packer.yml b/tasks/pkgs/packer.yml deleted file mode 100644 index f7b681f..0000000 --- a/tasks/pkgs/packer.yml +++ /dev/null @@ -1,26 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load packer config - ansible.builtin.include_tasks: - file: config/packer.yml - -- name: Append packer to pkg_tap - when: - - packer.method == 'tap' - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + packer.pkgs }}" - -- name: Append packer to pkg_sys - when: - - packer.method == 'sys' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + packer.pkgs }}" - -- name: Append packer to pkg_archive - when: - - packer.method == 'archive' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['packer'] }}" diff --git a/tasks/pkgs/pandoc.yml b/tasks/pkgs/pandoc.yml deleted file mode 100644 index bef6a99..0000000 --- a/tasks/pkgs/pandoc.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append pandoc to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['pandoc'] }}" diff --git a/tasks/pkgs/pgadmin.yml b/tasks/pkgs/pgadmin.yml deleted file mode 100644 index 63fab57..0000000 --- a/tasks/pkgs/pgadmin.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add pgadmin - when: - - pgadmin_configured is undefined - block: - - name: Load pgadmin config - ansible.builtin.include_tasks: - file: config/pgadmin.yml - - - name: Append pgadmin to pkg_flatpak - when: - - pgadmin.method == 'flatpak' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + [pgadmin.flatpak] }}" - - - name: Append pgadmin to pkg_cask - when: - - pgadmin.method == 'cask' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + pgadmin.pkgs }}" - - - name: Set pgadmin_configured - ansible.builtin.set_fact: - pgadmin_configured: true diff --git a/tasks/pkgs/pipx.yml b/tasks/pkgs/pipx.yml deleted file mode 100644 index d96b58d..0000000 --- a/tasks/pkgs/pipx.yml +++ /dev/null @@ -1,33 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Set pipx default facts - ansible.builtin.set_fact: - pipx: - methods: - - system - -- name: Configure pipx - when: - - "'pipx' not in __configured" - block: - - name: Set pipx install method - when: - - pipx_imethod is undefined - ansible.builtin.set_fact: - pipx_imethod: "{{ imethod if imethod in pipx.methods else pipx.methods[0] }}" - - - name: Configure pipx system install - when: - - pipx_imethod == 'system' - block: - - name: Queue pipx system install - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['pipx'] }}" - - - name: Finalise pipx system install - ansible.builtin.set_fact: - pipx_install: "{{ pipx_imethod }}=pipx" - - - name: Finalise pipx configuration - ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'pipx': pipx_install } ) }}" diff --git a/tasks/pkgs/podman.yml b/tasks/pkgs/podman.yml deleted file mode 100644 index 2a121f4..0000000 --- a/tasks/pkgs/podman.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append podman to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['podman'] }}" diff --git a/tasks/pkgs/postgresql_server.yml b/tasks/pkgs/postgresql_server.yml deleted file mode 100644 index 4586d25..0000000 --- a/tasks/pkgs/postgresql_server.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible: ---- -- name: Add postgresql_server - when: - - postgresql_server_configured is undefined - block: - - name: Load postgresql_server config - ansible.builtin.include_tasks: - file: config/postgresql_server.yml - - - name: Append postgresql server to pkg_sys - when: - - postgresql_server.method == 'sys' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + postgresql_server.pkgs }}" diff --git a/tasks/pkgs/pulumi.yml b/tasks/pkgs/pulumi.yml deleted file mode 100644 index b375556..0000000 --- a/tasks/pkgs/pulumi.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load pulumi config - ansible.builtin.include_tasks: - file: config/pulumi.yml - -- name: Append pulumi to pkg_archive - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['pulumi'] }}" - -- name: Append to pulumi to pkg_sys - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['pulumi'] }}" diff --git a/tasks/pkgs/pyright.yml b/tasks/pkgs/pyright.yml deleted file mode 100644 index c39c6f5..0000000 --- a/tasks/pkgs/pyright.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add pyright - when: - - pyright_configured is undefined - block: - - name: Append pyright to pkg_pipx - ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + ['pyright'] }}" - - - name: Set pyright_configured - ansible.builtin.set_fact: - pyright_configured: true diff --git a/tasks/pkgs/python3.yml b/tasks/pkgs/python3.yml deleted file mode 100644 index 6d0b322..0000000 --- a/tasks/pkgs/python3.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load python3 config - ansible.builtin.include_tasks: - file: config/python3.yml - -- name: Append python3 to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + python3.pkgs }}" diff --git a/tasks/pkgs/quobix-vacuum.yml b/tasks/pkgs/quobix-vacuum.yml deleted file mode 100644 index b95ffdc..0000000 --- a/tasks/pkgs/quobix-vacuum.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add quobix_vacuum - when: - - quobix_vacuum_configured is undefined - block: - - name: Append quobix/vacuum to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['@quobix/vacuum'] }}" - - - name: Set quobix_vacuum_configured - ansible.builtin.set_fact: - quobix_vacuum_configured: true diff --git a/tasks/pkgs/restic.yml b/tasks/pkgs/restic.yml deleted file mode 100644 index 9471223..0000000 --- a/tasks/pkgs/restic.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append restic to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['restic'] }}" diff --git a/tasks/pkgs/revive.yml b/tasks/pkgs/revive.yml deleted file mode 100644 index 8c0b2b5..0000000 --- a/tasks/pkgs/revive.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add revive - when: - - revive_configured is undefined - block: - - name: Append revive to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/mgechev/revive@latest'] }}" - - - name: Set revive_configured - ansible.builtin.set_fact: - revive_configured: true diff --git a/tasks/pkgs/ripgrep.yml b/tasks/pkgs/ripgrep.yml deleted file mode 100644 index 1cbc7a1..0000000 --- a/tasks/pkgs/ripgrep.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append ripgrep to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['ripgrep'] }}" diff --git a/tasks/pkgs/samba_client.yml b/tasks/pkgs/samba_client.yml deleted file mode 100644 index afac95a..0000000 --- a/tasks/pkgs/samba_client.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append samba_client to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + samba_client.pkgs }}" diff --git a/tasks/pkgs/samba_server.yml b/tasks/pkgs/samba_server.yml deleted file mode 100644 index 4eb67a0..0000000 --- a/tasks/pkgs/samba_server.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append samba_server to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + samba_server.pkgs }}" diff --git a/tasks/pkgs/sd.yml b/tasks/pkgs/sd.yml deleted file mode 100644 index c6f8bb9..0000000 --- a/tasks/pkgs/sd.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add sd - block: - - name: Append sd to pkg_sys - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['sd'] }}" - - - name: Append sd to pkg_cargo - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['sd'] }}" - - - name: Set sd_configured - ansible.builtin.set_fact: - sd_configured: true diff --git a/tasks/pkgs/sqlfluff.yml b/tasks/pkgs/sqlfluff.yml deleted file mode 100644 index 4752069..0000000 --- a/tasks/pkgs/sqlfluff.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add sqlfluff - when: - - sqlfluff_configured is undefined - block: - - name: Append sqlfluff to pkg_pipx - ansible.builtin.set_fact: - pkg_pipx: "{{ pkg_pipx + ['sqlfluff'] }}" - - - name: Set sqlfluff_configured - ansible.builtin.set_fact: - sqlfluff_configured: true diff --git a/tasks/pkgs/sqlls.yml b/tasks/pkgs/sqlls.yml deleted file mode 100644 index cc33790..0000000 --- a/tasks/pkgs/sqlls.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add sqlls - when: - - sqlls_configured is undefined - block: - - name: Append sql-language-server to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['sql-language-server'] }}" - - - name: Set sqlls_configured - ansible.builtin.set_fact: - sqlls_configured: true diff --git a/tasks/pkgs/stow.yml b/tasks/pkgs/stow.yml deleted file mode 100644 index dc734f5..0000000 --- a/tasks/pkgs/stow.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append stow to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['stow'] }}" - -- name: Set stow_configured - ansible.builtin.set_fact: - stow_configured: true diff --git a/tasks/pkgs/tailscale.yml b/tasks/pkgs/tailscale.yml deleted file mode 100644 index 7e8a47f..0000000 --- a/tasks/pkgs/tailscale.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load tailscale config - ansible.builtin.include_tasks: - file: config/tailscale.yml - -- name: Append tailscale for linux - when: - - ansible_system == 'Linux' - block: - - name: Append tailscale for RedHat distros - when: - - ansible_os_family == 'RedHat' - block: - - name: Add tailscale repo for Fedora >=41 - ansible.builtin.command: - creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager addrepo --from-repofile={{ tailscale.url_base }}/fedora/tailscale.repo" - become: true - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int >= 41 - - - name: Add tailscale repo for Fedora <41 - ansible.builtin.command: - creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager --add-repo {{ tailscale.url_base }}/fedora/tailscale.repo" - become: true - when: - - ansible_distribution == 'Fedora' - - ansible_distribution_major_version|int < 41 - - - name: Add tailscale for Rhel based distros - ansible.builtin.command: - creates: /etc/yum.repos.d/tailscale.repo - cmd: "dnf config-manager --add-repo {{ tailscale.url_base }}/rhel/{{ ansible_os_major_version }}/tailscale.repo" - become: true - when: - - ansible_distribution != 'Fedora' - - - name: Append tailscale for Debian distros - when: - - ansible_os_family == 'Debian' - block: - - name: Install tailscale keyring - block: - - name: Get tailscal keyring - become: "{{ sys_pkg_become }}" - ansible.builtin.get_url: - 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: "{{ tailscale.url_base }}/debian/{{ tailscale.release.list }}" - dest: /etc/apt/sources.list.d/tailscale.list - mode: '0644' - - - name: Append tailscale to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['tailscale'] }}" - -- name: Append tailscale to pkg_cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['tailscale'] }}" diff --git a/tasks/pkgs/tailwindcss-languageserver.yml b/tasks/pkgs/tailwindcss-languageserver.yml deleted file mode 100644 index 3d1bbfc..0000000 --- a/tasks/pkgs/tailwindcss-languageserver.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add tailwindcss_languageserver - when: - - tailwindcss_languageserver_configured is undefined - block: - - name: Add tailwindcss/language-server to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['@tailwindcss/language-server'] }}" - - - name: Set tailwindcss_languageserver_configured - ansible.builtin.set_fact: - tailwindcss_languageserver_configured: true diff --git a/tasks/pkgs/tailwindcss.yml b/tasks/pkgs/tailwindcss.yml deleted file mode 100644 index 0e25d72..0000000 --- a/tasks/pkgs/tailwindcss.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Append tailwindcss to pkg_npm - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['tailwindcss' '@tailwindcss/cli'] }}" - -- name: Append tailwindcss to pkg_sys - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['tailwindcss'] }}" diff --git a/tasks/pkgs/templ.yml b/tasks/pkgs/templ.yml deleted file mode 100644 index 5bdda6c..0000000 --- a/tasks/pkgs/templ.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add templ - when: - - templ_configured is undefined - block: - - name: Append templ to pkg_go - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + ['github.com/a-h/templ/cmd/templ@latest'] }}" - - - name: Set templ_configured - ansible.builtin.set_fact: - templ_configured: true diff --git a/tasks/pkgs/terraform.yml b/tasks/pkgs/terraform.yml deleted file mode 100644 index bb41d15..0000000 --- a/tasks/pkgs/terraform.yml +++ /dev/null @@ -1,33 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load terraform config - ansible.builtin.include_tasks: - file: config/terraform.yml - -- name: Append terraform - when: - - terraform.method == 'sys' - block: - - name: Append terraform to pkg_tap - when: - - ansible_distribution == 'MacOSX' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + terraform.pkgs }}" - - - name: Append terraform to pkg_sys - when: - - ansible_system == 'Linux' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + terraform.pkgs }}" - -- name: Append terraform to pkg_archive - when: - - terraform.method == 'archive' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['terraform'] }}" diff --git a/tasks/pkgs/terraformls.yml b/tasks/pkgs/terraformls.yml deleted file mode 100644 index 915fe69..0000000 --- a/tasks/pkgs/terraformls.yml +++ /dev/null @@ -1,37 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load terraformls config - ansible.builtin.include_tasks: - file: config/terraformls.yml - -- name: Append terraformls - when: - - terraformls.method == 'sys' - block: - - name: Append terraformls to pkg_tap - when: - - ansible_system == 'Darwin' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + terraformls.pkgs }}" - - - name: Append terraformls to pkg_sys - when: - - ansible_system == 'Linux' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + terraformls.pkgs }}" - -- name: Append terraformls to pkg_go - when: - - terraformls.method == 'gosrc' - ansible.builtin.set_fact: - pkg_go: "{{ pkg_go + [terraformls.gopkg] }}" - -- name: Set terraformls_configured - ansible.builtin.set_fact: - terraformls_configured: true diff --git a/tasks/pkgs/tidy.yml b/tasks/pkgs/tidy.yml deleted file mode 100644 index c04a222..0000000 --- a/tasks/pkgs/tidy.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add tidy - block: - - name: Load tidy config - ansible.builtin.include_tasks: - file: config/tidy.yml - - - name: Append tidy to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + tidy.pkgs }}" - - - name: Set tidy_configured - ansible.builtin.set_fact: - tidy_configured: true diff --git a/tasks/pkgs/tldr.yml b/tasks/pkgs/tldr.yml deleted file mode 100644 index c16fb8d..0000000 --- a/tasks/pkgs/tldr.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add tldr - block: - - name: Append tldr to pkg_sys - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['tlrc'] }}" - - - name: Append tldr to pkg_cargo - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + ['tlrc'] }}" - - - name: Set tldr_configured - ansible.builtin.set_fact: - tldr_configured: true diff --git a/tasks/pkgs/tmux.yml b/tasks/pkgs/tmux.yml deleted file mode 100644 index efb01f1..0000000 --- a/tasks/pkgs/tmux.yml +++ /dev/null @@ -1,11 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add tmux - block: - - name: Append tmux to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['tmux'] }}" - - - name: Set tmux_configured - ansible.builtin.set_fact: - tmux_configured: true diff --git a/tasks/pkgs/uwsm.yml b/tasks/pkgs/uwsm.yml deleted file mode 100644 index 5a4f84e..0000000 --- a/tasks/pkgs/uwsm.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add uwsm - when: - - ansible_os_family != 'Alpine' - - ansible_os_family != 'Darwin' - block: - - name: Load uwsm config - ansible.builtin.include_tasks: - file: config/uwsm.yml - - - name: Append uwsm build_deps to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + uwsm.build_deps + uwsm.deps }}" - - - name: Append uwsm to pkg_src - ansible.builtin.set_fact: - pkg_src: "{{ pkg_src + ['uwsm'] }}" - - - name: Set uwsm_configured - ansible.builtin.set_fact: - uwsm_configured: true diff --git a/tasks/pkgs/vault.yml b/tasks/pkgs/vault.yml deleted file mode 100644 index 36694f5..0000000 --- a/tasks/pkgs/vault.yml +++ /dev/null @@ -1,93 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add vault - block: - - name: Load vault config - ansible.builtin.include_tasks: - file: config/vault.yml - - - name: Append vault - when: - - vault.method == 'sys' - block: - - name: Append vault to pkg_tap - when: - - ansible_system == 'Darwin' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_tap: "{{ pkg_tap + vault.pkgs }}" - - - name: Append vault to pkg_sys - when: - - ansible_system == 'Linux' - notify: - - Depend hashicorp repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + vault.pkgs }}" - - - name: Append vault to pkg_archive - when: - - vault.method == 'archive' - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['vault'] }}" - - - name: Create group for vault - become: true - when: - - ansible_os_family == 'Alpine' - ansible.builtin.group: - name: vault - system: true - state: present - - - name: Create user for vault - become: true - when: - - ansible_os_family == 'Alpine' - ansible.builtin.user: - comment: hashicorp vault user - generate_ssh_key: true - home: /var/lib/vault - name: vault - group: vault - ssh_key_file: .ssh/id_ed25519 - ssh_key_type: ed25519 - state: present - system: true - - - name: Install vault openrc script - become: true - when: - - ansible_os_family == 'Alpine' - ansible.builtin.copy: - backup: false - dest: /etc/init.d/vault - owner: root - group: root - mode: '0755' - src: vault/Alpine/openrc - - - name: Ensure /etc/vault exists - become: true - ansible.builtin.file: - state: directory - path: /etc/vault - owner: root - group: root - mode: '0755' - - - name: Install vault basic config.hcl - become: true - ansible.builtin.template: - src: vault/config.hcl.j2 - dest: /etc/vault/config.hcl - mode: '0644' - owner: root - group: root - - - name: Set vault_configured - ansible.builtin.set_fact: - vault_configured: true diff --git a/tasks/pkgs/wofi.yml b/tasks/pkgs/wofi.yml deleted file mode 100644 index c900f9d..0000000 --- a/tasks/pkgs/wofi.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add wofi to pkg_sys - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['wofi'] }}" diff --git a/tasks/pkgs/xh.yml b/tasks/pkgs/xh.yml deleted file mode 100644 index a1a24a4..0000000 --- a/tasks/pkgs/xh.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add xh - block: - - name: Load xh config - ansible.builtin.include_tasks: - file: config/xh.yml - - - name: Append xh to pkg_sys - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['xh'] }}" - - - name: Add xh to cargopkgs - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_cargo: "{{ pkg_cargo + [xh] }}" - - - name: Set xh_configured - ansible.builtin.set_fact: - xh_configured: true diff --git a/tasks/pkgs/yamlls.yml b/tasks/pkgs/yamlls.yml deleted file mode 100644 index ecb0416..0000000 --- a/tasks/pkgs/yamlls.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add yamlls - when: - - yamlls_configured is undefined - block: - - name: Append yaml-language-server to pkg_npm - ansible.builtin.set_fact: - pkg_npm: "{{ pkg_npm + ['yaml-language-server'] }}" - - - name: Set yamlls_configured - ansible.builtin.set_fact: - yamlls_configured: true diff --git a/tasks/pkgs/zenbrowser.yml b/tasks/pkgs/zenbrowser.yml deleted file mode 100644 index b838d8d..0000000 --- a/tasks/pkgs/zenbrowser.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Install for Linux via flatpak - when: - - ansible_system == 'Linux' - ansible.builtin.set_fact: - pkg_flatpak: "{{ pkg_flatpak + ['app.zen_browser.zen'] }}" - -- name: Install for MacOSX using homebrew cask - when: - - ansible_system == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['zen-browser'] }}" diff --git a/tasks/pkgs/zfs.yml b/tasks/pkgs/zfs.yml deleted file mode 100644 index 74b6cc1..0000000 --- a/tasks/pkgs/zfs.yml +++ /dev/null @@ -1,28 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add zfs - block: - - name: Load zfs config - ansible.builtin.include_tasks: - file: config/zfs.yml - - - name: Linux based installation - when: - - ansible_system == 'Linux' - block: - - name: Append zfs to pkg_sys - notify: - - Depend zfs repo - changed_when: true - ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + zfs.deps + zfs.pkgs }}" - - - name: Append openzfs to pkg_cask - when: - - ansible_os_family == 'Darwin' - ansible.builtin.set_fact: - pkg_cask: "{{ pkg_cask + ['openzfs'] }}" - - - name: Set zfs_configured - ansible.builtin.set_fact: - zfs_configured: true diff --git a/tasks/pkgs/zls.yml b/tasks/pkgs/zls.yml deleted file mode 100644 index e7f5cff..0000000 --- a/tasks/pkgs/zls.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add zls - when: - - zls_configured is undefined - block: - - name: Load zls config - ansible.builtin.include_tasks: - file: config/zls.yml - - - name: Append zls to pkg_archive - ansible.builtin.set_fact: - pkg_archive: "{{ pkg_archive + ['zls'] }}" - - - name: Set zls_configured - ansible.builtin.set_fact: - zls_configured: true diff --git a/tasks/pkgs/zoxide.yml b/tasks/pkgs/zoxide.yml index dc980fd..a5c886a 100644 --- a/tasks/pkgs/zoxide.yml +++ b/tasks/pkgs/zoxide.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: zoxide +## Description: cli path bookmark manager +## Version: latest +## Methods: [source, system] +## Helpers: cargo --- - name: Set zoxide default facts # {{{ ansible.builtin.set_fact: @@ -6,6 +12,7 @@ methods: - source - system + pkgname: zoxide cargo: name: zoxide pkg_deps: @@ -27,7 +34,8 @@ block: - name: Append zoxide to pkg_sys ansible.builtin.set_fact: - pkg_sys: "{{ pkg_sys + ['zoxide'] }}" + pkg_sys: "{{ pkg_sys + [zoxide.pkgname] }}" + zoxide_install: "{{ zoxide_imethod }}={{ zoxide.pkgname }}" - name: Configure zoxide cargo install when: @@ -35,8 +43,9 @@ block: - name: Set zoxide cargo facts ansible.builtin.set_fact: - zoxide_cargo_install: "{{ zoxide.cargo }}" + pkg_cargo: "{{ pkg_cargo + [zoxide.cargo] }}" + zoxide_install: "{{ zoxide.imethod }}={{ zoxide.cargo }}" - name: Set zoxide_configured ansible.builtin.set_fact: - __configured: "{{ __configured | combine( { 'zoxide': zoxide_imethod } ) }}" + __configured: "{{ __configured | combine( { 'zoxide': zoxide_install } ) }}" diff --git a/tasks/pkgs/zsh.yml b/tasks/pkgs/zsh.yml index 5122294..788feb2 100644 --- a/tasks/pkgs/zsh.yml +++ b/tasks/pkgs/zsh.yml @@ -1,4 +1,10 @@ # vim: set filetype=yaml.ansible : +# +## Package: zsh +## Description: an sh compatible shell with a great completion engine +## Version: system +## Methods: system +## Helpers: - --- - name: Set zsh default facts # {{{ ansible.builtin.set_fact: diff --git a/tasks/repos/hashicorp.yml b/tasks/repos/hashicorp.yml deleted file mode 100644 index 9962b96..0000000 --- a/tasks/repos/hashicorp.yml +++ /dev/null @@ -1,49 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Load hashicorp repo config - ansible.builtin.include_tasks: - file: config/hashicorp.yml - -- name: RedHat repository - when: - - ansible_os_family == 'RedHat' - block: - - name: Enable hashicorp repo - become: true - ansible.builtin.get_url: - url: "{{ hashicorp.repo }}" - dest: /etc/yum.repos.d/hashicorp.repo - mode: '0644' - -- name: Debian based repository - when: - - ansible_os_family == 'Debian' - block: - - name: Get hashicorp archive gpg key - ansible.builtin.get_url: - dest: "{{ d_tempdir.path }}/hashicorp_gpg" - url: https://apt.releases.hashicorp.com/gpg - mode: '0644' - - - name: Install hashicorp archive gpg key - become: true - ansible.builtin.command: - creates: /usr/share/keyrings/hashicorp-archive-keyring.gpg - cmd: - - gpg - - --dearmor - - -o - - /usr/share/keyrings/hashicorp-archive-keyring.gpg - - "{{ d_tempdir.path }}/hashicorp_gpg" - - - name: Enable hasicorp repo for debian - ansible.builtin.apt_repository: - repo: "{{ pkgconfig.hashicorp.Linux.Debian.repo }}" - state: present - update_cache: false - -- name: MacOS specific configuration - when: - - ansible_distribution == 'MacOSX' - ansible.builtin.set_fact: - brewtap: "{{ brewtap + ['hashicorp/tap'] }}" diff --git a/tasks/repos/terra.yml b/tasks/repos/terra.yml deleted file mode 100644 index cc36c3e..0000000 --- a/tasks/repos/terra.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Enable terra repo for fedora - when: - - ansible_distribution == 'Fedora' - block: - - name: Enable terra repo for fedora >=41 - become: true - when: ansible_distribution_major_version|int >= 41 - ansible.builtin.command: - creates: /etc/yum.repos.d/terra.repo - cmd: "dnf config-manager addrepo --from-repofile={{ pkgconfig.terrarepo.repo }}" - - - name: Enable terra repo for fedora < 41 - become: true - when: ansible_distribution_major_version|int < 41 - ansible.builtin.command: - creates: /etc/yum.repos.d/terra.repo - cmd: "dnf config-manager --add-repo {{ pkgconfig.terrarepo.repo }}" - - - name: Install terra release package - become: true - ansible.builtin.dnf: - name: terra-release - state: present diff --git a/tasks/repos/zfs.yml b/tasks/repos/zfs.yml deleted file mode 100644 index d987c2e..0000000 --- a/tasks/repos/zfs.yml +++ /dev/null @@ -1,44 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: RedHat based configuration - when: - - ansible_os_family == 'RedHat' - block: - - name: Add openzfs gpg_key - become: "{{ sys_pkg_become }}" - ansible.builtin.rpm_key: - key: "{{ zfs.gpg_key }}" - fingerprint: "{{ zfs.gpg_fp }}" - state: present - - - name: Enable openzfs repository - become: "{{ sys_pkg_become }}" - ansible.builtin.dnf: - name: "{{ zfs.repo_pkg }}" - disable_gpg_check: "{{ zfs.skip_gpg_check }}" - state: present - -- name: Debian configuration - when: - - ansible_os_family == 'Debian' - block: - - name: Enable openzfs repository - become: "{{ sys_pkg_become }}" - ansible.builtin.apt_repository: - repo: | - deb http://deb.debian.org/debian {{ zfs.release }}-backports main contrib - deb-src http://deb.debian.org/debian {{ zfs.release }}-backports main contrib - filename: "{{ zfs.release }}-backports" - state: present - update_cache: false - - - name: Pin zfs package to backports - become: "{{ sys_pkg_become }}" - ansible.builtin.copy: - dest: /etc/apt/preferences.d/90_zfs - state: file - mode: '0644' - content: | - Package: src:zfs-linux - Pin: release n={{ zfs.release }}-backports - Pin-Priority: 990 diff --git a/tasks/src/ghostty.yml b/tasks/src/ghostty.yml deleted file mode 100644 index 52607b8..0000000 --- a/tasks/src/ghostty.yml +++ /dev/null @@ -1,37 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Clean existing install - when: - - ghostty.clean - become: "{{ ext_become }}" - loop: "{{ ghostty.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ path.prefix }}/{{ file }}" - -- name: Check if ghostty is installed - register: stat_ghostty_inst - ansible.builtin.stat: - path: "{{ path.prefix }}/bin/ghostty" - -- name: Install and build source for {{ pkg }} - when: - - not stat_ghostty_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - depth: 1 - force: true - dest: "{{ d_tempdir.path }}/ghostty" - repo: "{{ ghostty.repo }}" - version: "{{ ghostty.vers }}" - - - name: Build {{ pkg }} - become: "{{ ext_become }}" - register: c_ghostty_build - ansible.builtin.command: - chdir: "{{ d_tempdir.path }}/ghostty" - creates: "{{ path.prefix }}/bin/ghostty" - cmd: "zig build -p {{ path.prefix }} -Doptimize={{ ghostty.optimize }}" diff --git a/tasks/src/go_profile_path.yml b/tasks/src/go_profile_path.yml deleted file mode 100644 index 3746394..0000000 --- a/tasks/src/go_profile_path.yml +++ /dev/null @@ -1,20 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add GOROOT/bin to PATH and define GOROOT - become: true - ansible.builtin.copy: - dest: /etc/profile.d/go.sh - owner: root - group: root - mode: '0644' - content: | - # enable go - GOROOT=/usr/local/go - pathmunge ${GOROOT}/bin - if [ "$EUID" = "0" ]; then - GOBIN=/usr/local/bin - else - GOBIN=${HOME}/go/bin - pathmunge ${HOME}/go/bin - fi - export GOROOT GOBIN diff --git a/tasks/src/hyprcursor.yml b/tasks/src/hyprcursor.yml deleted file mode 100644 index 104e8b7..0000000 --- a/tasks/src/hyprcursor.yml +++ /dev/null @@ -1,39 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprcursor.clean - vars: - file_list: "{{ srcconfig.hyprcursor.build_installed_files }}" - ansible.builtin.include_tasks: - file: helpers/clean_install.yml - -- name: Check for installed {{ pkg }} - register: stat_hyprcursor_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprcursor-util" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprcursor_inst.stat.exists - block: - - name: Do repo clone {{ pkg }} - vars: - src_pkg: hyprcursor - src_path: "{{ srcconfig.hyprcursor.src_path }}" - src_gitrepo: "{{ srcconfig.hyprcursor.gitrepo }}" - src_version: "{{ hyprcursor.vers }}" - ansible.builtin.include_tasks: - file: helpers/git.yml - - - name: CMake build and install {{ pkg }} - vars: - do_become: true - src_path: "{{ srcconfig.hyprcursor.src_path }}" - configure: "{{ srcconfig.hyprcursor.configure }}" - build_creates: "{{ srcconfig.hyprcursor.build_creates }}" - build: "{{ srcconfig.hyprcursor.build }}" - install_creates: "{{ srcconfig.hyprcursor.install_creates }}" - install: "{{ srcconfig.hyprcursor.install }}" - ansible.builtin.include_tasks: - file: helpers/cmake_build.yml diff --git a/tasks/src/hyprgraphics.yml b/tasks/src/hyprgraphics.yml deleted file mode 100644 index ceb1b33..0000000 --- a/tasks/src/hyprgraphics.yml +++ /dev/null @@ -1,39 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprgraphics.clean - vars: - file_list: "{{ srcconfig.hyprcursor.build_installed_files }}" - ansible.builtin.include_tasks: - file: helpers/clean_install.yml - -- name: Check for existing install {{ pkg }} - register: stat_hyprgraphics_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprgraphics.so" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprgraphics_inst.stat.exists - block: - - name: Do repo clone {{ pkg }} - vars: - src_pkg: hyprgraphics - src_path: "{{ srcconfig.hyprgraphics.src_path }}" - src_gitrepo: "{{ srcconfig.hyprgraphics.gitrepo }}" - src_version: "{{ hyprgraphics.vers }}" - ansible.builtin.include_tasks: - file: helpers/git.yml - - - name: CMake build and install {{ pkg }} - vars: - do_become: true - src_path: "{{ srcconfig.hyprgraphics.src_path }}" - configure: "{{ srcconfig.hyprgraphics.configure }}" - build_creates: "{{ srcconfig.hyprgraphics.build_creates }}" - build: "{{ srcconfig.hyprgraphics.build }}" - install_creates: "{{ srcconfig.hyprgraphics.install_creates }}" - install: "{{ srcconfig.hyprcursor.install }}" - ansible.builtin.include_tasks: - file: helpers/cmake_build.yml diff --git a/tasks/src/hypridle.yml b/tasks/src/hypridle.yml deleted file mode 100644 index 867490f..0000000 --- a/tasks/src/hypridle.yml +++ /dev/null @@ -1,76 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hypridle.clean - become: true - loop: "{{ hypridle.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for existing install of {{ pkg }} - register: stat_hypridle_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hypridle" - -- name: Build and install {{ pkg }} - when: - - not stat_hypridle_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hypridle.git_path }}" - recursive: true - repo: "{{ hypridle.repo }}" - version: "{{ hypridle.vers }}" - - - name: Apply cmakelists patch {{ pkg }} - ansible.posix.patch: - basedir: "{{ hypridle.git_path }}" - src: hypridle/cmakelists.patch - state: present - strip: 1 - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hypridle.git_path }}/build" - chdir: "{{ hypridle.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hypridle.git_path }}/build/hypridle" - chdir: "{{ hypridle.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hypridle" - chdir: "{{ hypridle.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprland.yml b/tasks/src/hyprland.yml deleted file mode 100644 index a542926..0000000 --- a/tasks/src/hyprland.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprland.clean - become: true - loop: "{{ hyprland.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for existing install of {{ pkg }} - register: stat_hyprland_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/Hyprland" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprland_bin.stat.exists - block: - - name: Clone git repository - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprland.git_path }}" - recursive: true - repo: "{{ hyprland.repo }}" - version: "{{ hyprland.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland.git_path }}/build" - chdir: "{{ hyprland.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland.git_path }}/build/Hyprland" - chdir: "{{ hyprland.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprland" - chdir: "{{ hyprland.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprland_protocols.yml b/tasks/src/hyprland_protocols.yml deleted file mode 100644 index 825c5eb..0000000 --- a/tasks/src/hyprland_protocols.yml +++ /dev/null @@ -1,51 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprland_protocols.clean - become: true - loop: "{{ hyprland_protocols.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for existing install of {{ pkg }} - register: stat_hyprland_protocols_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/share/hyprland-protocols/protocols/hyprland-ctm-control-v1.xml" - -- name: Build and install hyprland-protocols - when: - - not stat_hyprland_protocols_inst.stat.exists - block: - - name: Clone git repository - ansible.builtin.git: - force: true - depth: 1 - recursive: true - dest: "{{ hyprland_protocols.git_path }}" - repo: "{{ hyprland_protocols.repo }}" - version: "{{ hyprland_protocols.vers }}" - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland_protocols.git_path }}/build/build.ninja" - chdir: "{{ hyprland_protocols.git_path }}" - argv: - - meson - - setup - - --prefix={{ hyprland.prefix }} - - build - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ hyprland.prefix }}/share/hyprland-protocols/protocols/hyprland-ctm-control-v1.xml" - chdir: "{{ hyprland_protocols.git_path }}" - argv: - - meson - - install - - -C - - build diff --git a/tasks/src/hyprland_qt_support.yml b/tasks/src/hyprland_qt_support.yml deleted file mode 100644 index 92a2fa0..0000000 --- a/tasks/src/hyprland_qt_support.yml +++ /dev/null @@ -1,70 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprland_qt_support.clean - become: true - loop: "{{ hyprland_qt_support.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprland_qt_support_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprland_qt_support" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprland_qt_support_bin.stat.exists - block: - - name: Clone git repository - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprland_qt_support.git_path }}" - recursive: true - repo: "{{ hyprland_qt_support.repo }}" - version: "{{ hyprland_qt_support.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland_qt_support.git_path }}/build" - chdir: "{{ hyprland_qt_support.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -DINSTALL_QML_PREFIX=/lib/qt6/qml - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland_qt_support.git_path }}/build/hyprland_qt_support" - chdir: "{{ hyprland_qt_support.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprland_qt_support" - chdir: "{{ hyprland_qt_support.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprland_qtutils.yml b/tasks/src/hyprland_qtutils.yml deleted file mode 100644 index 3d10148..0000000 --- a/tasks/src/hyprland_qtutils.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install of {{ pkg }} - when: - - hyprland_qtutils.clean - become: true - loop: "{{ hyprland_qtutils.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprland_qtutils_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprland_qtutils" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprland_qtutils_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprland_qtutils.git_path }}" - recursive: true - repo: "{{ hyprland_qtutils.repo }}" - version: "{{ hyprland_qtutils.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland_qtutils.git_path }}/build" - chdir: "{{ hyprland_qtutils.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprland_qtutils.git_path }}/build/hyprland_qtutils" - chdir: "{{ hyprland_qtutils.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprland_qtutils" - chdir: "{{ hyprland_qtutils.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprlang.yml b/tasks/src/hyprlang.yml deleted file mode 100644 index b7bc983..0000000 --- a/tasks/src/hyprlang.yml +++ /dev/null @@ -1,68 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprlang.clean - become: true - loop: "{{ hyprlang.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprlang_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprlang.so" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprlang_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprlang.git_path }}" - repo: "{{ hyprlang.repo }}" - version: "{{ hyprlang.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprlang.git_path }}/build" - chdir: "{{ hyprlang.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprlang.git_path }}/build/hyprlang.so" - chdir: "{{ hyprlang.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprlang" - chdir: "{{ hyprlang.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprlock.yml b/tasks/src/hyprlock.yml deleted file mode 100644 index 8c29803..0000000 --- a/tasks/src/hyprlock.yml +++ /dev/null @@ -1,76 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprlock.clean - become: true - loop: "{{ hyprlock.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprlock_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprlock" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprlock_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprlock.git_path }}" - recursive: true - repo: "{{ hyprlock.repo }}" - version: "{{ hyprlock.vers }}" - - - name: Apply cmakelists patch {{ pkg }} - ansible.posix.patch: - basedir: "{{ hyprlock.git_path }}" - src: hyprlock/cmakelists.patch - state: present - strip: 1 - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprlock.git_path }}/build" - chdir: "{{ hyprlock.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprlock.git_path }}/build/hyprlock" - chdir: "{{ hyprlock.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprlock" - chdir: "{{ hyprlock.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprpaper.yml b/tasks/src/hyprpaper.yml deleted file mode 100644 index cdcaff2..0000000 --- a/tasks/src/hyprpaper.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprpaper.clean - become: true - loop: "{{ hyprpaper.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprpaper_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprpaper" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprpaper_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprpaper.git_path }}" - recursive: true - repo: "{{ hyprpaper.repo }}" - version: "{{ hyprpaper.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpaper.git_path }}/build" - chdir: "{{ hyprpaper.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpaper.git_path }}/build/hyprpaper" - chdir: "{{ hyprpaper.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprpaper" - chdir: "{{ hyprpaper.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprpicker.yml b/tasks/src/hyprpicker.yml deleted file mode 100644 index b1bb1ea..0000000 --- a/tasks/src/hyprpicker.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprpicker.clean - become: true - loop: "{{ hyprpicker.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprpicker_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprpicker" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprpicker_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprpicker.git_path }}" - recursive: true - repo: "{{ hyprpicker.repo }}" - version: "{{ hyprpicker.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpicker.git_path }}/build" - chdir: "{{ hyprpicker.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpicker.git_path }}/build/hyprpicker" - chdir: "{{ hyprpicker.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprpicker" - chdir: "{{ hyprpicker.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprpolkitagent.yml b/tasks/src/hyprpolkitagent.yml deleted file mode 100644 index f91cf9d..0000000 --- a/tasks/src/hyprpolkitagent.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprpolkitagent.clean - become: true - loop: "{{ hyprpolkitagent.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprpolkitagent_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprpolkitagent" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprpolkitagent_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprpolkitagent.git_path }}" - recursive: true - repo: "{{ hyprpolkitagent.repo }}" - version: "{{ hyprpolkitagent.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpolkitagent.git_path }}/build" - chdir: "{{ hyprpolkitagent.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE:STRING=Release - - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprpolkitagent.git_path }}/build/hyprpolkitagent" - chdir: "{{ hyprpolkitagent.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprpolkitagent" - chdir: "{{ hyprpolkitagent.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprutils.yml b/tasks/src/hyprutils.yml deleted file mode 100644 index 761ffbd..0000000 --- a/tasks/src/hyprutils.yml +++ /dev/null @@ -1,68 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprutils.clean - become: true - loop: "{{ hyprutils.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprutils_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprutils.so" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprutils_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ hyprutils.git_path }}" - repo: "{{ hyprutils.repo }}" - version: "{{ hyprutils.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprutils.git_path }}/build" - chdir: "{{ hyprutils.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ hyprutils.git_path }}/build/hyprutils.so" - chdir: "{{ hyprutils.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprutils" - chdir: "{{ hyprutils.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/hyprwayland_scanner.yml b/tasks/src/hyprwayland_scanner.yml deleted file mode 100644 index d89be1a..0000000 --- a/tasks/src/hyprwayland_scanner.yml +++ /dev/null @@ -1,60 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - hyprwayland_scanner.clean - become: true - loop: "{{ hyprwayland_scanner.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_hyprwayland_scanner_inst - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprwayland-scanner" - -- name: Build and install {{ pkg }} - when: - - not stat_hyprwayland_scanner_inst.stat.exists - block: - - name: Clone git repository - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ d_tempdir.path }}/hyprwayland-scanner" - repo: "{{ hyprwayland_scanner.repo }}" - version: "{{ hyprwayland_scanner.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ d_tempdir.path }}/hyprwayland-scanner/build" - chdir: "{{ d_tempdir.path }}/hyprwayland-scanner" - argv: - - cmake - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -B - - build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ d_tempdir.path }}/hyprwayland-scanner/build/hyprwayland-scanner" - chdir: "{{ d_tempdir.path }}/hyprwayland-scanner" - argv: - - cmake - - --build - - build - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprwayland-scanner" - chdir: "{{ d_tempdir.path }}/hyprwayland-scanner" - argv: - - cmake - - --install - - build diff --git a/tasks/src/neovide.yml b/tasks/src/neovide.yml deleted file mode 100644 index fa5ea00..0000000 --- a/tasks/src/neovide.yml +++ /dev/null @@ -1,47 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - neovide.clean - become: "{{ ext_become }}" - loop: "{{ neovide.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ path.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_neovide_inst - ansible.builtin.stat: - path: "{{ path.bin }}/neovide" - -- name: Build and install {{ pkg }} - when: - - not state_neovide_inst.stat.exists - block: - - name: Ensure directories exist - become: true - loop: - - share/icons - - share/applications - loop_control: - loop_var: _dir - ansible.builtin.file: - state: directory - path: "{{ path.prefix }}/{{ _dir }}" - mode: '0755' - - - name: Copy neovide icon - become: true - ansible.builtin.copy: - src: neovide/icon.png - dest: "{{ path.prefix }}/share/icons/neovide.png" - mode: '0644' - - - name: Copy neovide.desktop - become: true - ansible.builtin.template: - src: neovide/neovide.desktop - dest: "{{ path.prefix }}/share/applications/neovide.desktop" - mode: '0644' diff --git a/tasks/src/neovim.yml b/tasks/src/neovim.yml deleted file mode 100644 index f56f6b4..0000000 --- a/tasks/src/neovim.yml +++ /dev/null @@ -1,41 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Clean existing install - when: - - neovim.installed_files is defined - - neovim.clean - become: "{{ ext_become }}" - loop: "{{ neovim.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - path: "{{ path.prefix }}/{{ file }}" - state: absent - -- name: Check if neovim is already installed in {{ path.prefix }} - register: stat_neovim_inst - ansible.builtin.stat: - path: "{{ path.prefix }}/bin/nvim" - -- name: Build and install neovim {{ neovim.git_branch }} - when: - - not stat_neovim_inst.stat.exists - block: - - name: Clone neovim git repository - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ neovim.git_path }}" - repo: "{{ neovim.git_repo }}" - version: "{{ neovim.vers }}" - recursive: true - - - name: Build and install neovim - become: "{{ ext_become }}" - community.general.make: - chdir: "{{ neovim.git_path }}" - params: - CMAKE_BUILD_TYPE: "{{ neovim.build_type }}" - CMAKE_EXTRA_FLAGS: "-DCMAKE_INSTALL_PREFIX={{ path.prefix }}" - target: install - jobs: "{{ ansible_processor_nproc | int | default(4) }}" diff --git a/tasks/src/nwg_hello.yml b/tasks/src/nwg_hello.yml deleted file mode 100644 index 2d69a07..0000000 --- a/tasks/src/nwg_hello.yml +++ /dev/null @@ -1,47 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - nwg_hello.clean - become: true - loop: "{{ nwg_hello.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_nwg_hello_inst - ansible.builtin.stat: - path: /etc/nwg-hello - -- name: Build and install {{ pkg }} - when: - - not stat_nwg_hello_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ nwg_hello.git_path }}" - repo: "{{ nwg_hello.git_repo }}" - version: "{{ nwg_hello.vers }}" - - - name: Apply patch Alpine linux {{ pkg }} - when: - - ansible_os_family == 'Alpine' - ansible.posix.patch: - basedir: "{{ nwg_hello.git_path }}" - src: nwg-hello/Alpine.patch - state: present - strip: 1 - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: /etc/nwg-hello - chdir: "{{ nwg_hello.git_path }}" - argv: - - sh - - install.sh diff --git a/tasks/src/sdbus_cpp_2.yml b/tasks/src/sdbus_cpp_2.yml deleted file mode 100644 index 96d8b9c..0000000 --- a/tasks/src/sdbus_cpp_2.yml +++ /dev/null @@ -1,69 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - sdbus_cpp_2.clean - become: true - loop: "{{ sdbus_cpp_2.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ sdbus_cpp_2.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_sdbus_cpp_2_inst - ansible.builtin.stat: - path: "{{ sdbus_cpp_2.prefix }}/{{ lib_path }}/libsdbus-c++.so" - -- name: Build and install {{ pkg }} - when: - - not stat_sdbus_cpp_2_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - recursive: true - dest: "{{ sdbus_cpp_2.git_path }}" - repo: "{{ sdbus_cpp_2.repo }}" - version: "{{ sdbus_cpp_2.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ sdbus_cpp_2.git_path }}/build" - chdir: "{{ sdbus_cpp_2.git_path }}" - argv: - - cmake - - --no-warn-unused-cli - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ sdbus_cpp_2.prefix }} - - -S - - . - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ sdbus_cpp_2.git_path }}/build/libsdbus-c++.so" - chdir: "{{ sdbus_cpp_2.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ sdbus_cpp_2.prefix }}/{{ lib_path }}/libsdbus-c++.so" - chdir: "{{ sdbus_cpp_2.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/tasks/src/usr_local_bin_profile_path.yml b/tasks/src/usr_local_bin_profile_path.yml deleted file mode 100644 index b5b4435..0000000 --- a/tasks/src/usr_local_bin_profile_path.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Add /usr/local/bin to PATH - become: true - ansible.builtin.copy: - dest: /etc/profile.d/usr-local-bin.sh - owner: root - group: root - mode: '0644' - content: | - # add /usr/local/bin to PATH - pathmunge /usr/local/bin diff --git a/tasks/src/uwsm.yml b/tasks/src/uwsm.yml deleted file mode 100644 index 41b0439..0000000 --- a/tasks/src/uwsm.yml +++ /dev/null @@ -1,53 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - uwsm.clean - become: true - loop: "{{ uwsm.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_uwsm_inst - ansible.builtin.stat: - path: "{{ uwsm.prefix }}/bin/uwsm" - -- name: Build and install {{ uwsm }} - when: - - not stat_uwsm_inst.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ d_tempdir.path }}/uwsm" - repo: "{{ uwsm.repo }}" - version: "v{{ uwsm.vers }}" - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ d_tempdir.path }}/uwsm/build" - chdir: "{{ d_tempdir.path }}/uwsm" - argv: - - meson - - setup - - --prefix={{ uwsm.prefix }} - - -Duuctl=enabled - - -Dfumon=enabled - - -Duwsm-app=enabled - - build - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ uwsm.prefix }}/bin/uwsm" - chdir: "{{ d_tempdir.path }}/uwsm" - argv: - - meson - - install - - -C - - build diff --git a/tasks/src/xdg_desktop_portal_hyprland.yml b/tasks/src/xdg_desktop_portal_hyprland.yml deleted file mode 100644 index ed293f4..0000000 --- a/tasks/src/xdg_desktop_portal_hyprland.yml +++ /dev/null @@ -1,66 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -- name: Remove existing install {{ pkg }} - when: - - xdg_desktop_portal_hyprland.clean - become: true - loop: "{{ xdg_desktop_portal_hyprland.installed_files }}" - loop_control: - loop_var: file - ansible.builtin.file: - state: absent - path: "{{ hyprland.prefix }}/{{ file }}" - -- name: Check for installed {{ pkg }} - register: stat_xdg_desktop_portal_hyprland_bin - ansible.builtin.stat: - path: "{{ hyprland.prefix }}/bin/hyprland-share-picker" - -- name: Build and install {{ pkg }} - when: - - not stat_xdg_desktop_portal_hyprland_bin.stat.exists - block: - - name: Clone git repository {{ pkg }} - ansible.builtin.git: - force: true - depth: 1 - dest: "{{ xdg_desktop_portal_hyprland.git_path }}" - recursive: true - repo: "{{ xdg_desktop_portal_hyprland.repo }}" - version: "{{ xdg_desktop_portal_hyprland.vers }}" - - - name: Configure {{ pkg }} - ansible.builtin.command: - creates: "{{ xdg_desktop_portal_hyprland.git_path }}/build" - chdir: "{{ xdg_desktop_portal_hyprland.git_path }}" - argv: - - cmake - - -DCMAKE_INSTALL_LIBEXECDIR={{ hyprland.prefix }}/lib - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -B - - ./build - - - name: Build {{ pkg }} - ansible.builtin.command: - creates: "{{ xdg_desktop_portal_hyprland.git_path }}/build/xdg-desktop-portal-hyprland" - chdir: "{{ xdg_desktop_portal_hyprland.git_path }}" - argv: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - - - name: Install {{ pkg }} - become: true - ansible.builtin.command: - creates: "{{ path.bin }}/hyprland-share-picker" - chdir: "{{ xdg_desktop_portal_hyprland.git_path }}" - argv: - - cmake - - --install - - ./build diff --git a/vars/main.yml b/vars/main.yml index 9aeb2be..468f309 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -49,12 +49,6 @@ path_profile: Linux: /etc/profile.d FreeBSD: /etc/profile.d -# Per package variables -# neovim {{{ -neovim_version: master -neovim_build_type: Release -# }}} -# {{{ nerdfonts nerdfonts_install_list: - JetBrainsMono - FiraCode @@ -62,13 +56,3 @@ nerdfonts_install_list: - GoMono - Hack - Symbols -nerdfonts_base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download -nerdfonts_install_path: share/fonts -# }}} -# rust {{{ -rust_pkgname: rust -# }}} -# {{{ zsh -zsh_base_url: git://git.code.sf.net/p/zsh/code -zsh_version: zsh-5.9 -# }}} diff --git a/vars/pkgs/bitwarden.yml b/vars/pkgs/bitwarden.yml deleted file mode 100644 index ed890d5..0000000 --- a/vars/pkgs/bitwarden.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -bitwarden: - flatpak: - name: com.bitwarden.desktop - remote: flathub - appimage: - link_name: bitwarden - name: bitwarden.appimage - url: https://vault.bitwarden.com/download/?app=desktop&platform=linux&variant=appimage - snap: bitwarden - cask: bitwarden - method: - Fedora: flatpak - Alpine: flatpak - Ubuntu: snap - MacOSX: cask diff --git a/vars/pkgs/broot.yml b/vars/pkgs/broot.yml deleted file mode 100644 index c487a8c..0000000 --- a/vars/pkgs/broot.yml +++ /dev/null @@ -1,16 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -broot: - version: 1.44.7 - build_deps: - Debian: - - build-essential - - libxcb1-dev - - libxcb-render0-dev - - libxcb-shape0-dev - - libxcb-xfixes0-dev - RedHat: - - libxcb - Alpine: - - libxcb-dev - Darwin: [] diff --git a/vars/pkgs/carapace.yml b/vars/pkgs/carapace.yml deleted file mode 100644 index d1ec903..0000000 --- a/vars/pkgs/carapace.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -carapace: - version: 0.2.0 - pkgs: - Debina: - - carapace-bin - RedHat: - - carapace-bin - Darwin: - - carapace - Alpine: - - carapace - repo: - RedHat: - name: carapace-yum - description: carapace-yum - baseurl: https://yum.fury.io/rsteube/ - Debian: - repo: "deb [trusted=yes] https://apt.fury.io/rsteube/ /" - name: carapace - Darwin: {} - Alpine: {} diff --git a/vars/pkgs/cbfmt.yml b/vars/pkgs/cbfmt.yml deleted file mode 100644 index d802d70..0000000 --- a/vars/pkgs/cbfmt.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -cbfmt: - pkgs: - - cbfmt diff --git a/vars/pkgs/choose.yml b/vars/pkgs/choose.yml deleted file mode 100644 index f2d699c..0000000 --- a/vars/pkgs/choose.yml +++ /dev/null @@ -1,4 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -choose: - version: 1.3.6 diff --git a/vars/pkgs/clangd.yml b/vars/pkgs/clangd.yml deleted file mode 100644 index 0082890..0000000 --- a/vars/pkgs/clangd.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -clangd: - pkgs: - RedHat: - - clang-devel - Debian: - - clangd-12 - Darwin: - - llvm - Alpine: - - clang19 diff --git a/vars/pkgs/cmake-format.yml b/vars/pkgs/cmake-format.yml deleted file mode 100644 index 7730c3e..0000000 --- a/vars/pkgs/cmake-format.yml +++ /dev/null @@ -1,5 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -cmake_format: - pkgs: - - cmake-format diff --git a/vars/pkgs/cockpit.yml b/vars/pkgs/cockpit.yml deleted file mode 100644 index 66e44a9..0000000 --- a/vars/pkgs/cockpit.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -cockpit: - pkgs: - RedHat: - - cockpit - - cockpit-bridge - - cockpit-files - - cockpit-navigator - - cockpit-packagekit - - cockpit-pcp - - cockpit-storaged - - cockpit-system - - cockpit-ws - Debian: - - cockpit - - cockpit-bridge - - cockpit-packagekit - - cockpit-pcp - - cockpit-sosreport - - cockpit-storaged - - cockpit-system - - cockpit-ws diff --git a/vars/pkgs/consul.yml b/vars/pkgs/consul.yml deleted file mode 100644 index a3cb4d4..0000000 --- a/vars/pkgs/consul.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -consul: - pkgs: - Linux: - - consul - Darwin: - - hashicorp/tap/consul diff --git a/vars/pkgs/fd.yml b/vars/pkgs/fd.yml deleted file mode 100644 index 926c958..0000000 --- a/vars/pkgs/fd.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -fd: - pkgs: - Darwin: - - fd - RedHat: - - fd-find - Debian: - - fd-find - Alpine: - - fd diff --git a/vars/pkgs/firefox.yml b/vars/pkgs/firefox.yml deleted file mode 100644 index 1d52727..0000000 --- a/vars/pkgs/firefox.yml +++ /dev/null @@ -1,7 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -firefox: - method: - default: sys - RedHat: flatpak - Darwin: cask diff --git a/vars/pkgs/ghostty.yml b/vars/pkgs/ghostty.yml deleted file mode 100644 index aa80be3..0000000 --- a/vars/pkgs/ghostty.yml +++ /dev/null @@ -1,496 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -ghostty: - version: v1.1.3 - optimize: ReleaseFast - git_repo: https://github.com/ghostty-org/ghostty - pkg_deps: - - git - build_deps: - Alpine: - - gtk4.0-dev - - libadwaita-dev - - pkgconf - - ncurses - - blueprint-compiler - Arch: - - gtk4 - - libadwaita - - blueprint-compiler - Debian: &debbased - - libgtk-4-dev - - libadwaita-1-dev - - blueprint-compiler - Ubuntu: *debbased - RedHat: - - gtk4-devel - - libadwaita-devel - - blueprint-compiler - Darwin: [] - archmap: - arm64: aarch64 - x86_64: x86_64 - appimage: - base_url: https://github.com/psadi/ghostty-appimage/releases/download/ - link_name: ghostty - cask: - - ghostty - sys: - - ghostty - src: - - ghostty - pkg_repo: - Fedora: - url: https://terra.fyralabs.com/terra.repo - dest: /etc/yum.repos.d/terra.repo - methods: - default: src - MacOSX: cask - build_installed_files: - - share/applications/com.mitchellh.ghostty.desktop - - share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/32x32@2/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/128x128@2/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/128x128/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/256x256@2/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/16x16/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/32x32/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/16x16@2/apps/com.mitchellh.ghostty.png - - share/icons/hicolor/256x256/apps/com.mitchellh.ghostty.png - - share/nautilus-python/extensions/ghostty.py - - share/kio/servicemenus/com.mitchellh.ghostty.desktop - - share/nvim/site/syntax/ghostty.vim - - share/nvim/site/ftdetect/ghostty.vim - - share/nvim/site/ftplugin/ghostty.vim - - share/nvim/site/compiler/ghostty.vim - - share/bash-completion/completions/ghostty.bash - - share/fish/vendor_completions.d/ghostty.fish - - share/zsh/site-functions/_ghostty - - share/vim/vimfiles/syntax/ghostty.vim - - share/vim/vimfiles/ftdetect/ghostty.vim - - share/vim/vimfiles/ftplugin/ghostty.vim - - share/vim/vimfiles/compiler/ghostty.vim - - share/ghostty - - share/terminfo/x/xterm-ghostty - - share/terminfo/g/ghostty - - share/bat/syntaxes/ghostty.sublime-syntax - - share/man/man1/ghostty.1 - - share/man/man5/ghostty.5 - - bin/ghostty - extra_files: - share: - ghostty: - - share/ghostty/themes/0x96f - - share/ghostty/themes/3024 Day - - share/ghostty/themes/3024 Night - - share/ghostty/themes/Aardvark Blue - - share/ghostty/themes/Abernathy - - share/ghostty/themes/Adventure - - share/ghostty/themes/AdventureTime - - share/ghostty/themes/Adwaita - - share/ghostty/themes/Adwaita Dark - - share/ghostty/themes/Afterglow - - share/ghostty/themes/Alabaster - - share/ghostty/themes/AlienBlood - - share/ghostty/themes/Andromeda - - share/ghostty/themes/Apple Classic - - share/ghostty/themes/Apple System Colors - - share/ghostty/themes/Apple System Colors Light - - share/ghostty/themes/Argonaut - - share/ghostty/themes/Arthur - - share/ghostty/themes/AtelierSulphurpool - - share/ghostty/themes/Atom - - share/ghostty/themes/AtomOneLight - - share/ghostty/themes/Aura - - share/ghostty/themes/Aurora - - share/ghostty/themes/Ayu Mirage - - share/ghostty/themes/Banana Blueberry - - share/ghostty/themes/Batman - - share/ghostty/themes/Belafonte Day - - share/ghostty/themes/Belafonte Night - - share/ghostty/themes/BirdsOfParadise - - share/ghostty/themes/Blazer - - share/ghostty/themes/Blue Matrix - - share/ghostty/themes/BlueBerryPie - - share/ghostty/themes/BlueDolphin - - share/ghostty/themes/BlulocoDark - - share/ghostty/themes/BlulocoLight - - share/ghostty/themes/Borland - - share/ghostty/themes/Breeze - - share/ghostty/themes/Bright Lights - - share/ghostty/themes/Broadcast - - share/ghostty/themes/Brogrammer - - share/ghostty/themes/Builtin Dark - - share/ghostty/themes/Builtin Light - - share/ghostty/themes/Builtin Pastel Dark - - share/ghostty/themes/Builtin Solarized Dark - - share/ghostty/themes/Builtin Solarized Light - - share/ghostty/themes/Builtin Tango Dark - - share/ghostty/themes/Builtin Tango Light - - share/ghostty/themes/C64 - - share/ghostty/themes/CGA - - share/ghostty/themes/CLRS - - share/ghostty/themes/Calamity - - share/ghostty/themes/Chalk - - share/ghostty/themes/Chalkboard - - share/ghostty/themes/ChallengerDeep - - share/ghostty/themes/Chester - - share/ghostty/themes/Ciapre - - share/ghostty/themes/Cobalt Neon - - share/ghostty/themes/Cobalt2 - - share/ghostty/themes/CobaltNext - - share/ghostty/themes/CobaltNext-Dark - - share/ghostty/themes/CobaltNext-Minimal - - share/ghostty/themes/CrayonPonyFish - - share/ghostty/themes/CutiePro - - share/ghostty/themes/Cyberdyne - - share/ghostty/themes/CyberpunkScarletProtocol - - share/ghostty/themes/Dark Modern - - share/ghostty/themes/Dark Pastel - - share/ghostty/themes/Dark+ - - share/ghostty/themes/Darkside - - share/ghostty/themes/Desert - - share/ghostty/themes/Dimidium - - share/ghostty/themes/DimmedMonokai - - share/ghostty/themes/Django - - share/ghostty/themes/DjangoRebornAgain - - share/ghostty/themes/DjangoSmooth - - share/ghostty/themes/Doom Peacock - - share/ghostty/themes/DoomOne - - share/ghostty/themes/DotGov - - share/ghostty/themes/Dracula - - share/ghostty/themes/Dracula+ - - share/ghostty/themes/Duotone Dark - - share/ghostty/themes/ENCOM - - share/ghostty/themes/Earthsong - - share/ghostty/themes/Elegant - - share/ghostty/themes/Elemental - - share/ghostty/themes/Elementary - - share/ghostty/themes/Espresso - - share/ghostty/themes/Espresso Libre - - share/ghostty/themes/Everblush - - share/ghostty/themes/Everforest Dark - Hard - - share/ghostty/themes/Fahrenheit - - share/ghostty/themes/Fairyfloss - - share/ghostty/themes/Fideloper - - share/ghostty/themes/Firefly Traditional - - share/ghostty/themes/FirefoxDev - - share/ghostty/themes/Firewatch - - share/ghostty/themes/FishTank - - share/ghostty/themes/Flat - - share/ghostty/themes/Flatland - - share/ghostty/themes/Floraverse - - share/ghostty/themes/ForestBlue - - share/ghostty/themes/Framer - - share/ghostty/themes/FrontEndDelight - - share/ghostty/themes/FunForrest - - share/ghostty/themes/Galaxy - - share/ghostty/themes/Galizur - - share/ghostty/themes/Ghostty Default StyleDark - - share/ghostty/themes/GitHub Dark - - share/ghostty/themes/GitHub-Dark-Colorblind - - share/ghostty/themes/GitHub-Dark-Default - - share/ghostty/themes/GitHub-Dark-Dimmed - - share/ghostty/themes/GitHub-Dark-High-Contrast - - share/ghostty/themes/GitHub-Light-Colorblind - - share/ghostty/themes/GitHub-Light-Default - - share/ghostty/themes/GitHub-Light-High-Contrast - - share/ghostty/themes/GitLab-Dark - - share/ghostty/themes/GitLab-Dark-Grey - - share/ghostty/themes/GitLab-Light - - share/ghostty/themes/Github - - share/ghostty/themes/Glacier - - share/ghostty/themes/Grape - - share/ghostty/themes/Grass - - share/ghostty/themes/Grey-green - - share/ghostty/themes/GruvboxDark - - share/ghostty/themes/GruvboxDarkHard - - share/ghostty/themes/GruvboxLight - - share/ghostty/themes/GruvboxLightHard - - share/ghostty/themes/Guezwhoz - - share/ghostty/themes/HaX0R_BLUE - - share/ghostty/themes/HaX0R_GR33N - - share/ghostty/themes/HaX0R_R3D - - share/ghostty/themes/Hacktober - - share/ghostty/themes/Hardcore - - share/ghostty/themes/Harper - - share/ghostty/themes/Havn Daggry - - share/ghostty/themes/Havn Skumring - - share/ghostty/themes/Highway - - share/ghostty/themes/Hipster Green - - share/ghostty/themes/Hivacruz - - share/ghostty/themes/Homebrew - - share/ghostty/themes/Hopscotch - - share/ghostty/themes/Hopscotch.256 - - share/ghostty/themes/Horizon - - share/ghostty/themes/Horizon-Bright - - share/ghostty/themes/Hurtado - - share/ghostty/themes/Hybrid - - share/ghostty/themes/IC_Green_PPL - - share/ghostty/themes/IC_Orange_PPL - - share/ghostty/themes/IR_Black - - share/ghostty/themes/Jackie Brown - - share/ghostty/themes/Japanesque - - share/ghostty/themes/Jellybeans - - share/ghostty/themes/JetBrains Darcula - - share/ghostty/themes/Kanagawa Dragon - - share/ghostty/themes/Kanagawa Wave - - share/ghostty/themes/Kibble - - share/ghostty/themes/Kolorit - - share/ghostty/themes/Konsolas - - share/ghostty/themes/Lab Fox - - share/ghostty/themes/Laser - - share/ghostty/themes/Later This Evening - - share/ghostty/themes/Lavandula - - share/ghostty/themes/LiquidCarbon - - share/ghostty/themes/LiquidCarbonTransparent - - share/ghostty/themes/LiquidCarbonTransparentInverse - - share/ghostty/themes/Man Page - - share/ghostty/themes/Mariana - - share/ghostty/themes/Material - - share/ghostty/themes/MaterialDark - - share/ghostty/themes/MaterialDarker - - share/ghostty/themes/MaterialDesignColors - - share/ghostty/themes/MaterialOcean - - share/ghostty/themes/Mathias - - share/ghostty/themes/Medallion - - share/ghostty/themes/Melange_dark - - share/ghostty/themes/Melange_light - - share/ghostty/themes/Mellifluous - - share/ghostty/themes/Mirage - - share/ghostty/themes/Misterioso - - share/ghostty/themes/Molokai - - share/ghostty/themes/MonaLisa - - share/ghostty/themes/Monokai Classic - - share/ghostty/themes/Monokai Pro - - share/ghostty/themes/Monokai Pro Light - - share/ghostty/themes/Monokai Pro Light Sun - - share/ghostty/themes/Monokai Pro Machine - - share/ghostty/themes/Monokai Pro Octagon - - share/ghostty/themes/Monokai Pro Ristretto - - share/ghostty/themes/Monokai Pro Spectrum - - share/ghostty/themes/Monokai Remastered - - share/ghostty/themes/Monokai Soda - - share/ghostty/themes/Monokai Vivid - - share/ghostty/themes/N0tch2k - - share/ghostty/themes/Neon - - share/ghostty/themes/Neopolitan - - share/ghostty/themes/Neutron - - share/ghostty/themes/Night Owlish Light - - share/ghostty/themes/NightLion v1 - - share/ghostty/themes/NightLion v2 - - share/ghostty/themes/Nocturnal Winter - - share/ghostty/themes/Novel - - share/ghostty/themes/NvimDark - - share/ghostty/themes/NvimLight - - share/ghostty/themes/Obsidian - - share/ghostty/themes/Ocean - - share/ghostty/themes/Oceanic-Next - - share/ghostty/themes/OceanicMaterial - - share/ghostty/themes/Ollie - - share/ghostty/themes/OneHalfDark - - share/ghostty/themes/OneHalfLight - - share/ghostty/themes/Operator Mono Dark - - share/ghostty/themes/Overnight Slumber - - share/ghostty/themes/Oxocarbon - - share/ghostty/themes/PaleNightHC - - share/ghostty/themes/Pandora - - share/ghostty/themes/Paraiso Dark - - share/ghostty/themes/PaulMillr - - share/ghostty/themes/PencilDark - - share/ghostty/themes/PencilLight - - share/ghostty/themes/Peppermint - - share/ghostty/themes/Piatto Light - - share/ghostty/themes/Pnevma - - share/ghostty/themes/Popping and Locking - - share/ghostty/themes/Pro - - share/ghostty/themes/Pro Light - - share/ghostty/themes/Purple Rain - - share/ghostty/themes/Rapture - - share/ghostty/themes/Raycast_Dark - - share/ghostty/themes/Raycast_Light - - share/ghostty/themes/Red Alert - - share/ghostty/themes/Red Planet - - share/ghostty/themes/Red Sands - - share/ghostty/themes/Relaxed - - share/ghostty/themes/Retro - - share/ghostty/themes/RetroLegends - - share/ghostty/themes/Rippedcasts - - share/ghostty/themes/Rouge 2 - - share/ghostty/themes/Royal - - share/ghostty/themes/Ryuuko - - share/ghostty/themes/Sakura - - share/ghostty/themes/Scarlet Protocol - - share/ghostty/themes/SeaShells - - share/ghostty/themes/Seafoam Pastel - - share/ghostty/themes/Seti - - share/ghostty/themes/Shaman - - share/ghostty/themes/Slate - - share/ghostty/themes/SleepyHollow - - share/ghostty/themes/Smyck - - share/ghostty/themes/Snazzy - - share/ghostty/themes/Snazzy Soft - - share/ghostty/themes/SoftServer - - share/ghostty/themes/Solarized Darcula - - share/ghostty/themes/Solarized Dark - Patched - - share/ghostty/themes/Solarized Dark Higher Contrast - - share/ghostty/themes/SpaceGray - - share/ghostty/themes/SpaceGray Bright - - share/ghostty/themes/SpaceGray Eighties - - share/ghostty/themes/SpaceGray Eighties Dull - - share/ghostty/themes/Spacedust - - share/ghostty/themes/Spiderman - - share/ghostty/themes/Spring - - share/ghostty/themes/Square - - share/ghostty/themes/Squirrelsong Dark - - share/ghostty/themes/Sublette - - share/ghostty/themes/Subliminal - - share/ghostty/themes/Sugarplum - - share/ghostty/themes/Sundried - - share/ghostty/themes/Symfonic - - share/ghostty/themes/SynthwaveAlpha - - share/ghostty/themes/Tango Adapted - - share/ghostty/themes/Tango Half Adapted - - share/ghostty/themes/Teerb - - share/ghostty/themes/Terminal Basic - - share/ghostty/themes/Thayer Bright - - share/ghostty/themes/The Hulk - - share/ghostty/themes/Tinacious Design (Dark) - - share/ghostty/themes/Tinacious Design (Light) - - share/ghostty/themes/Tomorrow - - share/ghostty/themes/Tomorrow Night - - share/ghostty/themes/Tomorrow Night Blue - - share/ghostty/themes/Tomorrow Night Bright - - share/ghostty/themes/Tomorrow Night Burns - - share/ghostty/themes/Tomorrow Night Eighties - - share/ghostty/themes/ToyChest - - share/ghostty/themes/Treehouse - - share/ghostty/themes/Twilight - - share/ghostty/themes/Ubuntu - - share/ghostty/themes/UltraDark - - share/ghostty/themes/UltraViolent - - share/ghostty/themes/UnderTheSea - - share/ghostty/themes/Unikitty - - share/ghostty/themes/Urple - - share/ghostty/themes/Vaughn - - share/ghostty/themes/VibrantInk - - share/ghostty/themes/Violet Dark - - share/ghostty/themes/Violet Light - - share/ghostty/themes/WarmNeon - - share/ghostty/themes/Wez - - share/ghostty/themes/Whimsy - - share/ghostty/themes/WildCherry - - share/ghostty/themes/Wombat - - share/ghostty/themes/Wryan - - share/ghostty/themes/Zenburn - - share/ghostty/themes/arcoiris - - share/ghostty/themes/ayu - - share/ghostty/themes/ayu_light - - share/ghostty/themes/carbonfox - - share/ghostty/themes/catppuccin-frappe - - share/ghostty/themes/catppuccin-latte - - share/ghostty/themes/catppuccin-macchiato - - share/ghostty/themes/catppuccin-mocha - - share/ghostty/themes/citruszest - - share/ghostty/themes/coffee_theme - - share/ghostty/themes/cyberpunk - - share/ghostty/themes/darkermatrix - - share/ghostty/themes/darkmatrix - - share/ghostty/themes/dawnfox - - share/ghostty/themes/dayfox - - share/ghostty/themes/deep - - share/ghostty/themes/detuned - - share/ghostty/themes/duckbones - - share/ghostty/themes/duskfox - - share/ghostty/themes/electron-highlighter - - share/ghostty/themes/embers-dark - - share/ghostty/themes/farmhouse-dark - - share/ghostty/themes/farmhouse-light - - share/ghostty/themes/flexoki-dark - - share/ghostty/themes/flexoki-light - - share/ghostty/themes/gruber-darker - - share/ghostty/themes/gruvbox-material - - share/ghostty/themes/heeler - - share/ghostty/themes/iTerm2 Dark Background - - share/ghostty/themes/iTerm2 Default - - share/ghostty/themes/iTerm2 Light Background - - share/ghostty/themes/iTerm2 Pastel Dark Background - - share/ghostty/themes/iTerm2 Smoooooth - - share/ghostty/themes/iTerm2 Solarized Dark - - share/ghostty/themes/iTerm2 Solarized Light - - share/ghostty/themes/iTerm2 Tango Dark - - share/ghostty/themes/iTerm2 Tango Light - - share/ghostty/themes/iceberg-dark - - share/ghostty/themes/iceberg-light - - share/ghostty/themes/idea - - share/ghostty/themes/idleToes - - share/ghostty/themes/jubi - - share/ghostty/themes/kanagawabones - - share/ghostty/themes/kurokula - - share/ghostty/themes/lovelace - - share/ghostty/themes/matrix - - share/ghostty/themes/mellow - - share/ghostty/themes/miasma - - share/ghostty/themes/midnight-in-mojave - - share/ghostty/themes/neobones_dark - - share/ghostty/themes/neobones_light - - share/ghostty/themes/nightfox - - share/ghostty/themes/niji - - share/ghostty/themes/nord - - share/ghostty/themes/nord-light - - share/ghostty/themes/nord-wave - - share/ghostty/themes/nordfox - - share/ghostty/themes/primary - - share/ghostty/themes/purplepeter - - share/ghostty/themes/rebecca - - share/ghostty/themes/rose-pine - - share/ghostty/themes/rose-pine-dawn - - share/ghostty/themes/rose-pine-moon - - share/ghostty/themes/seoulbones_dark - - share/ghostty/themes/seoulbones_light - - share/ghostty/themes/shades-of-purple - - share/ghostty/themes/solarized-osaka-night - - share/ghostty/themes/srcery - - share/ghostty/themes/starlight - - share/ghostty/themes/synthwave - - share/ghostty/themes/synthwave-everything - - share/ghostty/themes/terafox - - share/ghostty/themes/tokyonight - - share/ghostty/themes/tokyonight-day - - share/ghostty/themes/tokyonight-storm - - share/ghostty/themes/tokyonight_moon - - share/ghostty/themes/tokyonight_night - - share/ghostty/themes/vesper - - share/ghostty/themes/vimbones - - share/ghostty/themes/wilmersdorf - - share/ghostty/themes/xcodedark - - share/ghostty/themes/xcodedarkhc - - share/ghostty/themes/xcodelight - - share/ghostty/themes/xcodelighthc - - share/ghostty/themes/xcodewwdc - - share/ghostty/themes/zenbones - - share/ghostty/themes/zenbones_dark - - share/ghostty/themes/zenbones_light - - share/ghostty/themes/zenburned - - share/ghostty/themes/zenwritten_dark - - share/ghostty/themes/zenwritten_light - - share/ghostty/themes - - share/ghostty/shell-integration/bash/bash-preexec.sh - - share/ghostty/shell-integration/bash/ghostty.bash - - share/ghostty/shell-integration/bash - - share/ghostty/shell-integration/elvish/lib/ghostty-integration.elv - - share/ghostty/shell-integration/elvish/lib - - share/ghostty/shell-integration/elvish - - share/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish - - share/ghostty/shell-integration/fish/vendor_conf.d - - share/ghostty/shell-integration/fish - - share/ghostty/shell-integration/zsh/.zshenv - - share/ghostty/shell-integration/zsh/ghostty-integration - - share/ghostty/shell-integration/zsh - - share/ghostty/shell-integration - - share/ghostty/doc/ghostty.1.md - - share/ghostty/doc/ghostty.1.html - - share/ghostty/doc/ghostty.5.md - - share/ghostty/doc/ghostty.5.html - - share/ghostty/doc diff --git a/vars/pkgs/git.yml b/vars/pkgs/git.yml deleted file mode 100644 index 92a6983..0000000 --- a/vars/pkgs/git.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -git: - pkgs: - Darwin: - - git - - git-delta - - git-extras - - git-lfs - RedHat: - - git - - git-email - - git-lfs - Debian: - - git - - git-delta - - git-email - - git-lfs - Alpine: - - git - - git-email - - git-lfs diff --git a/vars/pkgs/gitea-server.yml b/vars/pkgs/gitea-server.yml deleted file mode 100644 index d109373..0000000 --- a/vars/pkgs/gitea-server.yml +++ /dev/null @@ -1,22 +0,0 @@ -gitea_server: - version: 1.24.5 - baseurl: https://dl.gitea.com/gitea - os: - Darwin: darwin-10.12 - Linux: linux - arch: - x86_64: amd64 - amd64: amd64 - arm64: arm64 - aarch64: arm64 - sha256sum: - 1.24.5: - x86_64: - Linux: 59029c97fe491b93c19705ba313f6b2397a8fe70cb2bd6fc021925f3cfb8e03d - 1.23.7: - x86_64: - Darwin: 71e0087d48da89ff16a5accced0c94e1be7f796cf8ea8dc6a03bc4797c3d32f7 - Linux: 3c0a7121ad1d9c525a92c68a7c040546553cd41e7464ce2fa811246b648c0a46 - arm64: - Darwin: 2d3cbe3fb68c9e529578d404a8a49c73554c90d786305363442a33c2854eb051 - Linux: eaaf65d888e06dd5fd72c6e01575eab1863aad186133dfc199d243b3bbc56e49 diff --git a/vars/pkgs/go.yml b/vars/pkgs/go.yml deleted file mode 100644 index d082724..0000000 --- a/vars/pkgs/go.yml +++ /dev/null @@ -1,55 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -go: - base_url: https://go.dev/dl - version: 1.25.0 - archmap: - arm64: arm64 - aarch64: arm64 - x86_64: amd64 - extmap: - Darwin: pkg - Linux: tar.gz - sums: - 1.25.0: - Darwin: - amd64: sha256:95e836238bcf8f9a71bffea43344cbd35ee1f16db3aaced2f98dbac045d102db - arm64: sha256:202a0d8338c152cb4c9f04782429e9ba8bef31d9889272380837e4043c9d800a - Linux: - amd64: sha256:2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613 - arm64: sha256:05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae - 1.24.5: - Darwin: - amd64: sha256:8dd21674c7845306b955d82d7c67696448e04f8ba31c0f701d623d71cbfa3d55 - arm64: sha256:7fbdc0775c1cee6b1a1625b9babeea10c0ee03c520a1c61b354f4afee35b7977 - Linux: - amd64: sha256:10ad9e86233e74c0f6590fe5426895de6bf388964210eac34a6d83f38918ecdc - arm64: sha256:0df02e6aeb3d3c06c95ff201d575907c736d6c62cfa4b6934c11203f1d600ffa - 1.24.3: - Darwin: - amd64: sha256:a05fa7e4043a4fec66897135219e3b8ab2202b5ef351c60c2fbb531dfb8f2900 - arm64: sha256:97055ff4214043b39dc32e043fdd5c565df7c0a4e2fc0174e779a134c347ae0e - Linux: - amd64: sha256:3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8 - arm64: sha256:a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836 - 1.24.0: - Darwin: - amd64: sha256:dee0ea64411a00b47ded586d5a8e30cfe3acf51564aa1bb24e039a6dca807a29 - arm64: sha256:b19eb6b7ae87f8371c3e7a84d129db67779a2883d2fffa6bb90412b0167df133 - Linux: - amd64: sha256:dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858 - arm64: sha256:c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7 - 1.23.6: - Darwin: - amd64: sha256:7fa387c228b4dd69b518a5d9425638fa5c0d86ec8943de373e3802aff2e5b12a - arm64: sha256:a167758a44e08af6eddf844ed86a6acdbff1d3957248913bbca7ee4ef6ff07d0 - Linux: - amd64: sha256:9379441ea310de000f33a4dc767bd966e72ab2826270e038e78b2c53c2e7802d - arm64: sha256:561c780e8f4a8955d32bf72e46af0b5ee5e0debe1e4633df9a03781878219202 - 1.23.5: - Darwin: - amd64: sha256:d2b06bf0b8299e0187dfe2d8ad39bd3dd96a6d93fe4d1cfd42c7872452f4a0a2 - arm64: sha256:f819ed94939e08a5016b9a607ec84ebbde6cb3fe59750c59d97aa300c3fd02df - Linux: - amd64: sha256:cbcad4a6482107c7c7926df1608106c189417163428200ce357695cc7e01d091 - arm64: sha256:47c84d332123883653b70da2db7dd57d2a865921ba4724efcdf56b5da7021db0 diff --git a/vars/pkgs/greetd.yml b/vars/pkgs/greetd.yml deleted file mode 100644 index f3e7f8b..0000000 --- a/vars/pkgs/greetd.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -greetd: - pkgs: - RedHat: - - greetd - - tuigreet - Alpine: - - greetd - - greetd-doc - - greetd-openrc - - greetd-tuigreet - - greetd-tuigreet-doc diff --git a/vars/pkgs/hashicorp.yml b/vars/pkgs/hashicorp.yml deleted file mode 100644 index f8cee1d..0000000 --- a/vars/pkgs/hashicorp.yml +++ /dev/null @@ -1,16 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hashicorp: - Linux: - ".el9": - repo: https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo - ".fc40": - repo: https://rpm.releases.hashicorp.com/fedora/hashicorp.repo - ".fc41": - repo: https://rpm.releases.hashicorp.com/fedora/hashicorp.repo - ".fc42": - repo: https://rpm.releases.hashicorp.com/fedora/hashicorp.repo - ".fc43": - 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/pkgs/httpie.yml b/vars/pkgs/httpie.yml deleted file mode 100644 index 728e6b2..0000000 --- a/vars/pkgs/httpie.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -httpie: - flatpak: - name: io.httpie.Httpie - remote: flathub - brew: httpie - method: - default: flatpak - MacOSX: brew diff --git a/vars/pkgs/hyprcursor.yml b/vars/pkgs/hyprcursor.yml deleted file mode 100644 index 21f8bb5..0000000 --- a/vars/pkgs/hyprcursor.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprcursor: - version: v0.1.12 - pkg_deps: - - hyprlang diff --git a/vars/pkgs/hyprgraphics.yml b/vars/pkgs/hyprgraphics.yml deleted file mode 100644 index f84c7d2..0000000 --- a/vars/pkgs/hyprgraphics.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprgraphics: - version: v0.1.2 - pkg_deps: - - hyprutils diff --git a/vars/pkgs/hypridle.yml b/vars/pkgs/hypridle.yml deleted file mode 100644 index 3d2496b..0000000 --- a/vars/pkgs/hypridle.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hypridle: - version: v0.1.6 - repo: "{{ hyprgitbase }}/hypridle" - pkg_deps: - - hyprlang - - hyprwayland_scanner - - sdbus_cpp_2 - build_deps: - RedHat: - - patch - - wayland-devel - - wayland-protocols-devel - Alpine: - - patch - - wayland-dev - - wayland-protocols - build_installed_files: - - bin/hypridle - - lib/systemd/user/hypridle.service - - share/hypr/hypridle.conf diff --git a/vars/pkgs/hyprland.yml b/vars/pkgs/hyprland.yml deleted file mode 100644 index a988f18..0000000 --- a/vars/pkgs/hyprland.yml +++ /dev/null @@ -1,379 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprland: - version: v0.48.1 - repo: "{{ hyprgitbase }}/Hyprland" - pkg_deps: - - git - - aquamarine - - hyprland_protocols - - hyprwayland_scanner - - hyprutils - - hyprlang - - hyprcursor - - hyprgraphics - - hyprpolkitagent - - hyprland_qtutils - - hyprlock - - hypridle - - hyprpaper - - hyprpicker - - hyprland_qt_support - - xdg_desktop_portal_hyprland - build_deps: - RedHat: - - cairo-devel - - cmake - - dunst - - gcc-c++ - - glslang-devel - - libXcursor-devel - - libdrm-devel - - libglvnd-devel - - libinput-devel - - libseat-devel - - libuuid-devel - - libxcb-devel - - libxkbcommon-devel - - mesa-libgbm-devel - - meson - - pango-devel - - pixman-devel - - qt6-qtwayland-devel - - re2-devel - - systemd-devel - - tomlplusplus-devel - - vulkan-loader-devel - - wayland-devel - - wayland-protocols-devel - - xcb-util-errors-devel - - xcb-util-renderutil-devel - - xcb-util-wm-devel - - xorg-x11-server-Xwayland-devel - Alpine: - - build-base - - cairo-dev - - cmake - - dunst - - elogind-dev - - glslang-dev - - libdrm-dev - - libinput-dev - - libseat-dev - - libuuid - - libxcb-dev - - libxcursor-dev - - libxkbcommon-dev - - mesa-gbm - - meson - - pango-dev - - pixman-dev - - qt5-qtwayland-dev - - qt6-qtwayland-dev - - re2-dev - - tomlplusplus-dev - - vulkan-loader-dev - - wayland-dev - - wayland-protocols - - xcb-util-errors-dev - - xcb-util-renderutil-dev - - xcb-util-wm-dev - - xwayland-dev - build_installed_files: - - share/wayland-sessions/hyprland-uwsm.desktop - - bin/hyprctl - - share/bash-completion/completions/hyprctl - - share/fish/vendor_completions.d/hyprctl.fish - - share/zsh/site-functions/_hyprctl - - bin/hyprpm - - share/bash-completion/completions/hyprpm - - share/fish/vendor_completions.d/hyprpm.fish - - share/zsh/site-functions/_hyprpm - - bin/Hyprland - - share/wayland-sessions/hyprland.desktop - - share/hypr/lockdead.png - - share/hypr/lockdead2.png - - share/hypr/wall0.png - - share/hypr/wall1.png - - share/hypr/wall2.png - - share/hypr/hyprland.conf - - share/xdg-desktop-portal/hyprland-portals.conf - - share/man/man1/Hyprland.1 - - share/man/man1/hyprctl.1 - - share/pkgconfig/hyprland.pc - - include/hyprland/protocols - - include/hyprland/protocols/xx-color-management-v4.hpp - - include/hyprland/protocols/alpha-modifier-v1.hpp - - include/hyprland/protocols/content-type-v1.hpp - - include/hyprland/protocols/cursor-shape-v1.hpp - - include/hyprland/protocols/drm-lease-v1.hpp - - include/hyprland/protocols/ext-foreign-toplevel-list-v1.hpp - - include/hyprland/protocols/ext-idle-notify-v1.hpp - - include/hyprland/protocols/hyprland-ctm-control-v1.hpp - - include/hyprland/protocols/fractional-scale-v1.hpp - - include/hyprland/protocols/hyprland-global-shortcuts-v1.hpp - - include/hyprland/protocols/color-management-v1.hpp - - include/hyprland/protocols/hyprland-surface-v1.hpp - - include/hyprland/protocols/ext-session-lock-v1.hpp - - include/hyprland/protocols/hyprland-focus-grab-v1.hpp - - include/hyprland/protocols/idle-inhibit-unstable-v1.hpp - - include/hyprland/protocols/frog-color-management-v1.hpp - - include/hyprland/protocols/hyprland-lock-notify-v1.hpp - - include/hyprland/protocols/hyprland-toplevel-export-v1.hpp - - include/hyprland/protocols/kde-server-decoration.hpp - - include/hyprland/protocols/keyboard-shortcuts-inhibit-unstable-v1.hpp - - include/hyprland/protocols/input-method-unstable-v2.hpp - - include/hyprland/protocols/linux-dmabuf-v1.hpp - - include/hyprland/protocols/linux-drm-syncobj-v1.hpp - - include/hyprland/protocols/pointer-constraints-unstable-v1.hpp - - include/hyprland/protocols/presentation-time.hpp - - include/hyprland/protocols/primary-selection-unstable-v1.hpp - - include/hyprland/protocols/relative-pointer-unstable-v1.hpp - - include/hyprland/protocols/security-context-v1.hpp - - include/hyprland/protocols/tearing-control-v1.hpp - - include/hyprland/protocols/tablet-v2.hpp - - include/hyprland/protocols/pointer-gestures-unstable-v1.hpp - - include/hyprland/protocols/text-input-unstable-v3.hpp - - include/hyprland/protocols/single-pixel-buffer-v1.hpp - - include/hyprland/protocols/text-input-unstable-v1.hpp - - include/hyprland/protocols/virtual-keyboard-unstable-v1.hpp - - include/hyprland/protocols/viewporter.hpp - - include/hyprland/protocols/wayland-drm.hpp - - include/hyprland/protocols/wlr-data-control-unstable-v1.hpp - - include/hyprland/protocols/wlr-foreign-toplevel-management-unstable-v1.hpp - - include/hyprland/protocols/wlr-gamma-control-unstable-v1.hpp - - include/hyprland/protocols/wayland.hpp - - include/hyprland/protocols/wlr-output-power-management-unstable-v1.hpp - - include/hyprland/protocols/wlr-output-management-unstable-v1.hpp - - include/hyprland/protocols/wlr-virtual-pointer-unstable-v1.hpp - - include/hyprland/protocols/wlr-layer-shell-unstable-v1.hpp - - include/hyprland/protocols/xdg-decoration-unstable-v1.hpp - - include/hyprland/protocols/xdg-dialog-v1.hpp - - include/hyprland/protocols/xdg-activation-v1.hpp - - include/hyprland/protocols/xdg-output-unstable-v1.hpp - - include/hyprland/protocols/wlr-screencopy-unstable-v1.hpp - - include/hyprland/protocols/xdg-shell.hpp - - include/hyprland/protocols/xwayland-shell-v1.hpp - - include/hyprland/src - - include/hyprland/src/Compositor.hpp - - include/hyprland/src/SharedDefs.hpp - - include/hyprland/src/config - - include/hyprland/src/config/ConfigDataValues.hpp - - include/hyprland/src/config/ConfigDescriptions.hpp - - include/hyprland/src/config/ConfigManager.hpp - - include/hyprland/src/config/ConfigValue.hpp - - include/hyprland/src/config/ConfigWatcher.hpp - - include/hyprland/src/config/defaultConfig.hpp - - include/hyprland/src/debug - - include/hyprland/src/debug/CrashReporter.hpp - - include/hyprland/src/debug/HyprCtl.hpp - - include/hyprland/src/debug/HyprDebugOverlay.hpp - - include/hyprland/src/debug/HyprNotificationOverlay.hpp - - include/hyprland/src/debug/Log.hpp - - include/hyprland/src/debug/RollingLogFollow.hpp - - include/hyprland/src/debug/TracyDefines.hpp - - include/hyprland/src/defines.hpp - - include/hyprland/src/desktop - - include/hyprland/src/desktop/DesktopTypes.hpp - - include/hyprland/src/desktop/LayerRule.hpp - - include/hyprland/src/desktop/LayerSurface.hpp - - include/hyprland/src/desktop/Popup.hpp - - include/hyprland/src/desktop/Rule.hpp - - include/hyprland/src/desktop/Subsurface.hpp - - include/hyprland/src/desktop/WLSurface.hpp - - include/hyprland/src/desktop/Window.hpp - - include/hyprland/src/desktop/WindowRule.hpp - - include/hyprland/src/desktop/Workspace.hpp - - include/hyprland/src/devices - - include/hyprland/src/devices/IHID.hpp - - include/hyprland/src/devices/IKeyboard.hpp - - include/hyprland/src/devices/IPointer.hpp - - include/hyprland/src/devices/ITouch.hpp - - include/hyprland/src/devices/Keyboard.hpp - - include/hyprland/src/devices/Mouse.hpp - - include/hyprland/src/devices/Tablet.hpp - - include/hyprland/src/devices/TouchDevice.hpp - - include/hyprland/src/devices/VirtualKeyboard.hpp - - include/hyprland/src/devices/VirtualPointer.hpp - - include/hyprland/src/events - - include/hyprland/src/events/Events.hpp - - include/hyprland/src/helpers - - include/hyprland/src/helpers/AnimatedVariable.hpp - - include/hyprland/src/helpers/ByteOperations.hpp - - include/hyprland/src/helpers/Color.hpp - - include/hyprland/src/helpers/CursorShapes.hpp - - include/hyprland/src/helpers/DamageRing.hpp - - include/hyprland/src/helpers/Format.hpp - - include/hyprland/src/helpers/MiscFunctions.hpp - - include/hyprland/src/helpers/Monitor.hpp - - include/hyprland/src/helpers/SdDaemon.hpp - - include/hyprland/src/helpers/Splashes.hpp - - include/hyprland/src/helpers/TagKeeper.hpp - - include/hyprland/src/helpers/Timer.hpp - - include/hyprland/src/helpers/WLClasses.hpp - - include/hyprland/src/helpers/Watchdog.hpp - - include/hyprland/src/helpers/fs - - include/hyprland/src/helpers/fs/FsUtils.hpp - - include/hyprland/src/helpers/math - - include/hyprland/src/helpers/math/Math.hpp - - include/hyprland/src/helpers/memory - - include/hyprland/src/helpers/memory/Memory.hpp - - include/hyprland/src/helpers/signal - - include/hyprland/src/helpers/signal/Signal.hpp - - include/hyprland/src/helpers/sync - - include/hyprland/src/helpers/sync/SyncReleaser.hpp - - include/hyprland/src/helpers/sync/SyncTimeline.hpp - - include/hyprland/src/helpers/varlist - - include/hyprland/src/helpers/varlist/VarList.hpp - - include/hyprland/src/hyprerror - - include/hyprland/src/hyprerror/HyprError.hpp - - include/hyprland/src/includes.hpp - - include/hyprland/src/init - - include/hyprland/src/init/initHelpers.hpp - - include/hyprland/src/layout - - include/hyprland/src/layout/DwindleLayout.hpp - - include/hyprland/src/layout/IHyprLayout.hpp - - include/hyprland/src/layout/MasterLayout.hpp - - include/hyprland/src/macros.hpp - - include/hyprland/src/managers - - include/hyprland/src/managers/ANRManager.hpp - - include/hyprland/src/managers/AnimationManager.hpp - - include/hyprland/src/managers/CursorManager.hpp - - include/hyprland/src/managers/DonationNagManager.hpp - - include/hyprland/src/managers/EventManager.hpp - - include/hyprland/src/managers/HookSystemManager.hpp - - include/hyprland/src/managers/KeybindManager.hpp - - include/hyprland/src/managers/LayoutManager.hpp - - include/hyprland/src/managers/PointerManager.hpp - - include/hyprland/src/managers/ProtocolManager.hpp - - include/hyprland/src/managers/SeatManager.hpp - - include/hyprland/src/managers/SessionLockManager.hpp - - include/hyprland/src/managers/TokenManager.hpp - - include/hyprland/src/managers/VersionKeeperManager.hpp - - include/hyprland/src/managers/XCursorManager.hpp - - include/hyprland/src/managers/XWaylandManager.hpp - - include/hyprland/src/managers/eventLoop - - include/hyprland/src/managers/eventLoop/EventLoopManager.hpp - - include/hyprland/src/managers/eventLoop/EventLoopTimer.hpp - - include/hyprland/src/managers/input - - include/hyprland/src/managers/input/InputManager.hpp - - include/hyprland/src/managers/input/InputMethodPopup.hpp - - include/hyprland/src/managers/input/InputMethodRelay.hpp - - include/hyprland/src/managers/input/TextInput.hpp - - include/hyprland/src/pch - - include/hyprland/src/pch/pch.hpp - - include/hyprland/src/plugins - - include/hyprland/src/plugins/HookSystem.hpp - - include/hyprland/src/plugins/PluginAPI.hpp - - include/hyprland/src/plugins/PluginSystem.hpp - - include/hyprland/src/protocols - - include/hyprland/src/protocols/AlphaModifier.hpp - - include/hyprland/src/protocols/CTMControl.hpp - - include/hyprland/src/protocols/ColorManagement.hpp - - include/hyprland/src/protocols/ContentType.hpp - - include/hyprland/src/protocols/CursorShape.hpp - - include/hyprland/src/protocols/DRMLease.hpp - - include/hyprland/src/protocols/DRMSyncobj.hpp - - include/hyprland/src/protocols/DataDeviceWlr.hpp - - include/hyprland/src/protocols/FocusGrab.hpp - - include/hyprland/src/protocols/ForeignToplevel.hpp - - include/hyprland/src/protocols/ForeignToplevelWlr.hpp - - include/hyprland/src/protocols/FractionalScale.hpp - - include/hyprland/src/protocols/FrogColorManagement.hpp - - include/hyprland/src/protocols/GammaControl.hpp - - include/hyprland/src/protocols/GlobalShortcuts.hpp - - include/hyprland/src/protocols/HyprlandSurface.hpp - - include/hyprland/src/protocols/IdleInhibit.hpp - - include/hyprland/src/protocols/IdleNotify.hpp - - include/hyprland/src/protocols/InputMethodV2.hpp - - include/hyprland/src/protocols/LayerShell.hpp - - include/hyprland/src/protocols/LinuxDMABUF.hpp - - include/hyprland/src/protocols/LockNotify.hpp - - include/hyprland/src/protocols/MesaDRM.hpp - - include/hyprland/src/protocols/OutputManagement.hpp - - include/hyprland/src/protocols/OutputPower.hpp - - include/hyprland/src/protocols/PointerConstraints.hpp - - include/hyprland/src/protocols/PointerGestures.hpp - - include/hyprland/src/protocols/PresentationTime.hpp - - include/hyprland/src/protocols/PrimarySelection.hpp - - include/hyprland/src/protocols/RelativePointer.hpp - - include/hyprland/src/protocols/Screencopy.hpp - - include/hyprland/src/protocols/SecurityContext.hpp - - include/hyprland/src/protocols/ServerDecorationKDE.hpp - - include/hyprland/src/protocols/SessionLock.hpp - - include/hyprland/src/protocols/ShortcutsInhibit.hpp - - include/hyprland/src/protocols/SinglePixel.hpp - - include/hyprland/src/protocols/Tablet.hpp - - include/hyprland/src/protocols/TearingControl.hpp - - include/hyprland/src/protocols/TextInputV1.hpp - - include/hyprland/src/protocols/TextInputV3.hpp - - include/hyprland/src/protocols/ToplevelExport.hpp - - include/hyprland/src/protocols/Viewporter.hpp - - include/hyprland/src/protocols/VirtualKeyboard.hpp - - include/hyprland/src/protocols/VirtualPointer.hpp - - include/hyprland/src/protocols/WaylandProtocol.hpp - - include/hyprland/src/protocols/XDGActivation.hpp - - include/hyprland/src/protocols/XDGDecoration.hpp - - include/hyprland/src/protocols/XDGDialog.hpp - - include/hyprland/src/protocols/XDGOutput.hpp - - include/hyprland/src/protocols/XDGShell.hpp - - include/hyprland/src/protocols/XWaylandShell.hpp - - include/hyprland/src/protocols/XXColorManagement.hpp - - include/hyprland/src/protocols/core - - include/hyprland/src/protocols/core/Compositor.hpp - - include/hyprland/src/protocols/core/DataDevice.hpp - - include/hyprland/src/protocols/core/Output.hpp - - include/hyprland/src/protocols/core/Seat.hpp - - include/hyprland/src/protocols/core/Shm.hpp - - include/hyprland/src/protocols/core/Subcompositor.hpp - - include/hyprland/src/protocols/types - - include/hyprland/src/protocols/types/Buffer.hpp - - include/hyprland/src/protocols/types/ColorManagement.hpp - - include/hyprland/src/protocols/types/ContentType.hpp - - include/hyprland/src/protocols/types/DMABuffer.hpp - - include/hyprland/src/protocols/types/DataDevice.hpp - - include/hyprland/src/protocols/types/SurfaceRole.hpp - - include/hyprland/src/protocols/types/WLBuffer.hpp - - include/hyprland/src/render - - include/hyprland/src/render/Framebuffer.hpp - - include/hyprland/src/render/OpenGL.hpp - - include/hyprland/src/render/Renderbuffer.hpp - - include/hyprland/src/render/Renderer.hpp - - include/hyprland/src/render/Shader.hpp - - include/hyprland/src/render/Shaders.hpp - - include/hyprland/src/render/Texture.hpp - - include/hyprland/src/render/Transformer.hpp - - include/hyprland/src/render/decorations - - include/hyprland/src/render/decorations/CHyprBorderDecoration.hpp - - include/hyprland/src/render/decorations/CHyprDropShadowDecoration.hpp - - include/hyprland/src/render/decorations/CHyprGroupBarDecoration.hpp - - include/hyprland/src/render/decorations/DecorationPositioner.hpp - - include/hyprland/src/render/decorations/IHyprWindowDecoration.hpp - - include/hyprland/src/render/pass - - include/hyprland/src/render/pass/BorderPassElement.hpp - - include/hyprland/src/render/pass/ClearPassElement.hpp - - include/hyprland/src/render/pass/FramebufferElement.hpp - - include/hyprland/src/render/pass/Pass.hpp - - include/hyprland/src/render/pass/PassElement.hpp - - include/hyprland/src/render/pass/PreBlurElement.hpp - - include/hyprland/src/render/pass/RectPassElement.hpp - - include/hyprland/src/render/pass/RendererHintsPassElement.hpp - - include/hyprland/src/render/pass/ShadowPassElement.hpp - - include/hyprland/src/render/pass/SurfacePassElement.hpp - - include/hyprland/src/render/pass/TexPassElement.hpp - - include/hyprland/src/render/pass/TextureMatteElement.hpp - - include/hyprland/src/render/shaders - - include/hyprland/src/render/shaders/Border.hpp - - include/hyprland/src/render/shaders/Shadow.hpp - - include/hyprland/src/render/shaders/SharedValues.hpp - - include/hyprland/src/render/shaders/Textures.hpp - - include/hyprland/src/signal-safe.hpp - - include/hyprland/src/version.h.in - - include/hyprland/src/xwayland - - include/hyprland/src/xwayland/Dnd.hpp - - include/hyprland/src/xwayland/Server.hpp - - include/hyprland/src/xwayland/XDataSource.hpp - - include/hyprland/src/xwayland/XSurface.hpp - - include/hyprland/src/xwayland/XWM.hpp - - include/hyprland/src/xwayland/XWayland.hpp - - include/hyprland/src/version.h diff --git a/vars/pkgs/hyprland_protocols.yml b/vars/pkgs/hyprland_protocols.yml deleted file mode 100644 index 01e6a3c..0000000 --- a/vars/pkgs/hyprland_protocols.yml +++ /dev/null @@ -1,22 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprland_protocols: - version: v0.6.2 - repo: "{{ hyprgitbase }}/hyprland-protocols" - build_deps: - RedHat: - - meson - - ninja-build - Alpine: - - meson - - ninja-build - build_installed_files: - - share/hyprland-protocols/protocols - - share/hyprland-protocols/protocols/hyprland-ctm-control-v1.xml - - share/hyprland-protocols/protocols/hyprland-focus-grab-v1.xml - - share/hyprland-protocols/protocols/hyprland-global-shortcuts-v1.xml - - share/hyprland-protocols/protocols/hyprland-lock-notify-v1.xml - - share/hyprland-protocols/protocols/hyprland-surface-v1.xml - - share/hyprland-protocols/protocols/hyprland-toplevel-export-v1.xml - - share/hyprland-protocols - - share/pkgconfig/hyprland-protocols.pc diff --git a/vars/pkgs/hyprland_qt_support.yml b/vars/pkgs/hyprland_qt_support.yml deleted file mode 100644 index fa20d00..0000000 --- a/vars/pkgs/hyprland_qt_support.yml +++ /dev/null @@ -1,26 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprland_qt_support: - version: v0.1.0 - repo: "{{ hyprgitbase }}/hyprland-qt-support" - pkg_deps: - - hyprlang - build_deps: - RedHat: - - qt6-qtdeclarative-devel - Alpine: - - qt6-qtdeclarative-dev - build_installed_files: - - lib/libhyprland-quick-style-impl.so - - lib/qt6/qml/org/hyprland/style/impl/libhyprland-quick-style-implplugin.so - - lib/qt6/qml/org/hyprland/style/impl/qmldir - - lib/qt6/qml/org/hyprland/style/impl/hyprland-quick-style-impl.qmltypes - - lib/qt6/qml/org/hyprland/style/impl/HyprlandStyle.qml - - lib/qt6/qml/org/hyprland/style/impl/MotionBehavior.qml - - lib/libhyprland-quick-style.so - - lib/qt6/qml/org/hyprland/style/libhyprland-quick-styleplugin.so - - lib/qt6/qml/org/hyprland/style/qmldir - - lib/qt6/qml/org/hyprland/style/hyprland-quick-style.qmltypes - - lib/qt6/qml/org/hyprland/style/Button.qml - - lib/qt6/qml/org/hyprland/style/CheckBox.qml - - lib/qt6/qml/org/hyprland/style/TextField.qml diff --git a/vars/pkgs/hyprland_qtutils.yml b/vars/pkgs/hyprland_qtutils.yml deleted file mode 100644 index 0da5b0b..0000000 --- a/vars/pkgs/hyprland_qtutils.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprland_qtutils: - version: v0.1.3 - repo: "{{ hyprgitbase }}/hyprland-qtutils" - pkg_deps: - - hyprutils - build_deps: - RedHat: - - qt6-qtbase-private-devel - - qt6-qtbase-devel - - qt6-qtdeclarative-devel - - wayland-devel - - wayland-protocols-devel - - qt6-qtwayland-devel - Alpine: - - qt6-qtbase-dev - - qt6-qtdeclarative-dev - - wayland-dev - - wayland-protocols - - qt6-qtwayland-dev - build_installed_files: - - bin/hyprland-dialog - - bin/hyprland-update-screen - - bin/hyprland-donate-screen diff --git a/vars/pkgs/hyprlang.yml b/vars/pkgs/hyprlang.yml deleted file mode 100644 index b83c928..0000000 --- a/vars/pkgs/hyprlang.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprlang: - version: v0.6.0 - repo: "{{ hyprgitbase }}/hyprlang" - pkg_deps: [] - build_deps: - RedHat: [] - Alpine: [] - build_installed_files: - - "{{ lib_path }}/libhyprlang.so.0.6.0" - - "{{ lib_path }}/libhyprlang.so.2" - - "{{ lib_path }}/libhyprlang.so" - - include/hyprlang.hpp - - "{{ lib_path }}/libhyprlang.so.0.6.0" - - "{{ lib_path }}/libhyprlang.so.2" - - "{{ lib_path }}/libhyprlang.so" - - include/hyprlang.hpp - - "{{ lib_path }}/pkgconfig/hyprlang.pc" diff --git a/vars/pkgs/hyprlock.yml b/vars/pkgs/hyprlock.yml deleted file mode 100644 index 9394415..0000000 --- a/vars/pkgs/hyprlock.yml +++ /dev/null @@ -1,43 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprlock: - version: v0.7.0 - repo: "{{ hyprgitbase }}/hyprlock" - pkg_deps: - - hyprlang - - hyprutils - - hyprgraphics - - hyprwayland_scanner - - sdbus_cpp_2 - build_deps: - RedHat: - - patch - - wayland-devel - - wayland-protocols-devel - - pango-devel - - cairo-devel - - libdrm-devel - - pam-devel - - file-devel - - libxkbcommon-devel - - libglvnd-devel - - libjpeg-turbo-devel - - libwebp-devel - - gcc-c++ - Alpine: - - patch - - wayland-dev - - wayland-protocols - - pango-dev - - cairo-dev - - libdrm-dev - - linux-pam-dev - - file-dev - - libxkbcommon-dev - - libjpeg-turbo-dev - - libwebp-dev - - g++ - build_installed_files: - - bin/hyprlock - - etc/pam.d/hyprlock - - share/hypr/hyprlock.conf diff --git a/vars/pkgs/hyprpaper.yml b/vars/pkgs/hyprpaper.yml deleted file mode 100644 index ebbc564..0000000 --- a/vars/pkgs/hyprpaper.yml +++ /dev/null @@ -1,33 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprpaper: - version: v0.7.4 - repo: "{{ hyprgitbase }}/hyprpaper" - pkg_deps: - - hyprlang - - hyprutils - - hyprgraphics - - hyprwayland_scanner - build_deps: - RedHat: - - wayland-devel - - wayland-protocols-devel - - pango-devel - - cairo-devel - - file-devel - - libglvnd-devel - - libjpeg-turbo-devel - - libwebp-devel - - gcc-c++ - Alpine: - - wayland-dev - - wayland-protocols - - pango-dev - - cairo-dev - - file-dev - - libjpeg-turbo-dev - - libwebp-dev - - g++ - build_installed_files: - - bin/hyprpaper - - "{{ lib_path }}/systemd/user/hyprpaper.service" diff --git a/vars/pkgs/hyprpolkitagent.yml b/vars/pkgs/hyprpolkitagent.yml deleted file mode 100644 index 759db8d..0000000 --- a/vars/pkgs/hyprpolkitagent.yml +++ /dev/null @@ -1,18 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprpolkitagent: - version: v0.1.2 - repo: "{{ hyprgitbase }}/hyprpolkitagent" - build_deps: - RedHat: - - polkit-devel - - polkit-qt6-1-devel - - qt6-qtdeclarative-devel - Alpine: - - polkit-dev - - polkit-qt-dev - - polkit-qt6 - build_installed_files: - - libexec/hyprpolkitagent - - lib/systemd/user/hyprpolkitagent.service - - share/dbus-1/services/hyprpolkitagent.service diff --git a/vars/pkgs/hyprutils.yml b/vars/pkgs/hyprutils.yml deleted file mode 100644 index 7be0167..0000000 --- a/vars/pkgs/hyprutils.yml +++ /dev/null @@ -1,16 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprutils: - version: v0.5.2 - repo: "{{ hyprgitbase }}/hyprutils" - build_deps: - RedHat: - - pixman-devel - Alpine: - - pixman-dev - build_installed_files: - - "{{ lib_path }}/libhyprutils.so.0.5.1" - - "{{ lib_path }}/libhyprutils.so.4" - - "{{ lib_path }}/libhyprutils.so" - - include/hyprutils - - "{{ lib_path }}/pkgconfig/hyprutils.pc" diff --git a/vars/pkgs/hyprwayland_scanner.yml b/vars/pkgs/hyprwayland_scanner.yml deleted file mode 100644 index 9928ccb..0000000 --- a/vars/pkgs/hyprwayland_scanner.yml +++ /dev/null @@ -1,14 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprwayland_scanner: - version: v0.4.4 - repo: "{{ hyprgitbase }}/hyprwayland-scanner" - build_deps: - RedHat: - - pugixml-devel - Alpine: - - pugixml-dev - build_installed_files: - - bin/hyprwayland-scanner - - "{{ lib_path }}/pkgconfig/hyprwayland-scanner.pc" - - "{{ lib_path }}/cmake/hyprwayland-scanner" diff --git a/vars/pkgs/hyrppicker.yml b/vars/pkgs/hyrppicker.yml deleted file mode 100644 index 4628611..0000000 --- a/vars/pkgs/hyrppicker.yml +++ /dev/null @@ -1,25 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprpicker: - version: v0.4.3 - repo: "{{ hyprgitbase }}/hyprpicker" - pkg_deps: - - hyprutils - build_deps: - RedHat: - - wayland-devel - - wayland-protocols-devel - - pango-devel - - cairo-devel - - libxkbcommon-devel - - cmake - Alpine: - - wayland-dev - - wayland-protocols - - pango-dev - - cairo-dev - - libxkbcommon-dev - - cmake - build_installed_files: - - bin/hyprpicker - - share/man/man1/hyprpicker.1 diff --git a/vars/pkgs/kitty.yml b/vars/pkgs/kitty.yml deleted file mode 100644 index 5a1ad9a..0000000 --- a/vars/pkgs/kitty.yml +++ /dev/null @@ -1,9 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -kitty: - pkgs: - Darwin: - - kitty - Linux: - - kitty - - kitty-shell-integration diff --git a/vars/pkgs/libreoffice.yml b/vars/pkgs/libreoffice.yml deleted file mode 100644 index 1c8a4ce..0000000 --- a/vars/pkgs/libreoffice.yml +++ /dev/null @@ -1,21 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -libreoffice: - methods: - default: sys - Ubuntu: flatpak - Fedora: flatpak - Alpine: flatpak - MacOSX: cask - flatpak: - name: org.libreoffice.LibreOffice - remote: flathub - pkgs: - Debian: - - libreoffice - RedHat: - - libreoffice - Darwin: - - libreoffice - Alpine: - - libreoffice diff --git a/vars/pkgs/luals.yml b/vars/pkgs/luals.yml deleted file mode 100644 index 330d187..0000000 --- a/vars/pkgs/luals.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -luals: - version: 3.15.0 - base_url: https://github.com/LuaLS/lua-language-server/releases/download - sysmap: - Darwin: darwin - Linux: linux - archmap: - aarch64: arm64 - arm64: arm64 - x86_64: x64 diff --git a/vars/pkgs/neovide.yml b/vars/pkgs/neovide.yml deleted file mode 100644 index 75ea074..0000000 --- a/vars/pkgs/neovide.yml +++ /dev/null @@ -1,30 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -neovide: - version: 0.14.1 - git_repo: https://github.com/neovide/neovide.git - build_deps: - RedHat: - - fontconfig-devel - - freetype-devel - - libX11-xcb - - libX11-devel - - libstdc++-static - - libstdc++-devel - - "@Development Tools" - - "@Development Libraries" - Debian: - - fontconfig-dev - - freetype-dev - - libX11-xcb - - libX11-dev - - libstdc++-static - - libstdc++-dev - Alpine: - - fontconfig-dev - - freetype-dev - - xcb-dev - - libx11-dev - - gcompat - - libstdc++-dev - Darwin: [] diff --git a/vars/pkgs/nextcloud.yml b/vars/pkgs/nextcloud.yml deleted file mode 100644 index b36fb55..0000000 --- a/vars/pkgs/nextcloud.yml +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nextcloud: - flatpak: - name: com.nextcloud.desktopclient.nextcloud - remote: flathub diff --git a/vars/pkgs/nfs_client.yml b/vars/pkgs/nfs_client.yml deleted file mode 100644 index 121ccc2..0000000 --- a/vars/pkgs/nfs_client.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nfs_client: - pkgs: - Alpine: - - nfs-utils - Debian: - - nfs-common - RedHat: - - nfs-utils diff --git a/vars/pkgs/nfs_server.yml b/vars/pkgs/nfs_server.yml deleted file mode 100644 index 4e183cc..0000000 --- a/vars/pkgs/nfs_server.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nfs_server: - pkgs: - Alpine: - - nfs-utils - - rpcbind - Debian: - - nfs-kernel-server - - rpcbind - RedHat: - - nfs-utils diff --git a/vars/pkgs/nodejs.yml b/vars/pkgs/nodejs.yml deleted file mode 100644 index d66afc6..0000000 --- a/vars/pkgs/nodejs.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nodejs: - pkgs: - Darwin: - - node - Linux: - - nodejs - - npm - - sqlite diff --git a/vars/pkgs/nomad.yml b/vars/pkgs/nomad.yml deleted file mode 100644 index 8a949da..0000000 --- a/vars/pkgs/nomad.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nomad: - pkgs: - Linux: - - nomad - Darwin: - - hashicorp/tap/nomad diff --git a/vars/pkgs/nwg_hello.yml b/vars/pkgs/nwg_hello.yml deleted file mode 100644 index 7b1b805..0000000 --- a/vars/pkgs/nwg_hello.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -nwg_hello: - version: main - git_repo: https://github.com/nwg-piotr/nwg-hello - build_deps: - Alpine: - - py3-build - - py3-installer - - py3-wheel - - py3-setuptools - build_installed_files: - - /etc/nwg-hello - - /usr/share/nwg-hello - - /var/cache/nwg-hello - - /usr/share/licenses/nwg-hello - - /usr/share/doc/nwg-hello diff --git a/vars/pkgs/packer.yml b/vars/pkgs/packer.yml deleted file mode 100644 index 2777624..0000000 --- a/vars/pkgs/packer.yml +++ /dev/null @@ -1,14 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -packer: - pkgs: - Linux: - - packer - Darwin: - - hashicorp/tap/packer - version: 1.13.1 - archive: - baseurl: https://releases.hashicorp.com - method: - default: archive - Darwin: tap diff --git a/vars/pkgs/pgadmin.yml b/vars/pkgs/pgadmin.yml deleted file mode 100644 index 9f5354f..0000000 --- a/vars/pkgs/pgadmin.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -pgadmin: - flatpak: - name: org.pgadmin.pgadmin4 - remote: flathub - methods: - default: flatpak - MacOSX: cask - Fedora: flatpak - Ubuntu: flatpak - pkgs: - Darwin: - - pgadmin4 - Linux: [] diff --git a/vars/pkgs/postgresql_server.yml b/vars/pkgs/postgresql_server.yml deleted file mode 100644 index 070d954..0000000 --- a/vars/pkgs/postgresql_server.yml +++ /dev/null @@ -1,33 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -postgresql_server: - method: - default: sys - RedHat: sys - version: 16 - pkgs: - RedHat: - 15: - - '@postgresql:15' - - postgresql-server - - postgresql-contrib - "16": - - '@postgresql:16' - - postgresql-server - - postgresql-contrib - Debian: - 15: - - postgresql15 - Alpine: - 15: - - postgresql15 - - postgresql15-contrib - - postgresql15-openrc - 16: - - postgresql16 - - postgresql16-contrib - - postgresql16-openrc - 17: - - postgresql17 - - postgresql17-contrib - - postgresql17-openrc diff --git a/vars/pkgs/pulumi.yml b/vars/pkgs/pulumi.yml deleted file mode 100644 index 5557a17..0000000 --- a/vars/pkgs/pulumi.yml +++ /dev/null @@ -1,10 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -pulumi: - version: v3.158.0 - url_base: https://get.pulumi.com/releases/sdk - archmap: - x86_64: x64 - arm64: arm64 - aarch64: arm64 - amd64: x64 diff --git a/vars/pkgs/python3.yml b/vars/pkgs/python3.yml deleted file mode 100644 index cda40b6..0000000 --- a/vars/pkgs/python3.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -python3: - pkgs: - Darwin: - - python3 - RedHat: - - python3 - - python3-pip - Debian: - - python3 - - python3-pip - Alpine: - - python3 - - py3-pip diff --git a/vars/pkgs/rust.yml b/vars/pkgs/rust.yml deleted file mode 100644 index cb050b4..0000000 --- a/vars/pkgs/rust.yml +++ /dev/null @@ -1,15 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -rust: - pkgs: - Darwin: - - rust - Debian: - - rustc - - cargo - RedHat: - - rustc - - cargo - Alpine: - - rust - - cargo diff --git a/vars/pkgs/samba_client.yml b/vars/pkgs/samba_client.yml deleted file mode 100644 index 0debc9a..0000000 --- a/vars/pkgs/samba_client.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -samba_client: - pkgs: - Alpine: - - cifs-utils - - samba-client - Debian: - - cifs-utils - - samba-common - RedHat: - - cifs-utils - - samba-client diff --git a/vars/pkgs/samba_server.yml b/vars/pkgs/samba_server.yml deleted file mode 100644 index 96e0aa6..0000000 --- a/vars/pkgs/samba_server.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -samba_server: - pkgs: - Alpine: - - samba - Debian: - - samba - RedHat: - - samba - Darwin: - - samba diff --git a/vars/pkgs/sdbus_cpp_2.yml b/vars/pkgs/sdbus_cpp_2.yml deleted file mode 100644 index 9c88e26..0000000 --- a/vars/pkgs/sdbus_cpp_2.yml +++ /dev/null @@ -1,46 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -sdbus_cpp_2: - version: v2.1.0 - repo: https://github.com/Kistler-Group/sdbus-cpp - build_deps: - RedHat: - - systemd-devel - Alpine: - - elogind-dev - build_installed_files: - - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-config-version.cmake" - - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-config.cmake" - - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-targets-release.cmake" - - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-targets.cmake" - - "{{ lib_path }}/libsdbus-c++.so" - - "{{ lib_path }}/libsdbus-c++.so.2" - - "{{ lib_path }}/libsdbus-c++.so.2.0.0" - - "{{ lib_path }}/pkgconfig/sdbus-c++.pc" - - include/sdbus-c++/AdaptorInterfaces.h - - include/sdbus-c++/ConvenienceApiClasses.h - - include/sdbus-c++/ConvenienceApiClasses.inl - - include/sdbus-c++/Error.h - - include/sdbus-c++/Flags.h - - include/sdbus-c++/IConnection.h - - include/sdbus-c++/IObject.h - - include/sdbus-c++/IProxy.h - - include/sdbus-c++/Message.h - - include/sdbus-c++/MethodResult.h - - include/sdbus-c++/ProxyInterfaces.h - - include/sdbus-c++/StandardInterfaces.h - - include/sdbus-c++/TypeTraits.h - - include/sdbus-c++/Types.h - - include/sdbus-c++/VTableItems.h - - include/sdbus-c++/VTableItems.inl - - include/sdbus-c++/sdbus-c++.h - - share/doc/sdbus-c++/AUTHORS - - share/doc/sdbus-c++/COPYING - - share/doc/sdbus-c++/ChangeLog - - share/doc/sdbus-c++/NEWS - - share/doc/sdbus-c++/README - - share/doc/sdbus-c++/README.md - - share/doc/sdbus-c++/sdbus-c++-class-diagram.png - - share/doc/sdbus-c++/sdbus-c++-class-diagram.uml - - share/doc/sdbus-c++/systemd-dbus-config.md - - share/doc/sdbus-c++/using-sdbus-c++.md diff --git a/vars/pkgs/tailscale.yml b/vars/pkgs/tailscale.yml deleted file mode 100644 index 69a6d6e..0000000 --- a/vars/pkgs/tailscale.yml +++ /dev/null @@ -1,17 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -tailscale: - url_base: https://pkgs.tailscale.com/stable - release: - bookworm: - gpg: bookworm.noarmor.gpg - list: bookworm.tailscale-keyring.list - bullseye: - gpg: bullseye.noarmor.gpg - list: bullseye.tailscale-keyring.list - buster: - gpg: buster.gpg - list: buster.list - stretch: - gpg: stretch.gpg - list: stretch.list diff --git a/vars/pkgs/targetcli.yml b/vars/pkgs/targetcli.yml deleted file mode 100644 index 693d796..0000000 --- a/vars/pkgs/targetcli.yml +++ /dev/null @@ -1,19 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -targetcli: - pkgs: - Alpine: - - targetclii - - targetclii-openrc - Debian: - - targetclii-fb - RedHat: - - targetclii - services: - Alpine: - - dbus - - targetcli - Debian: - - target - RedHat: - - target diff --git a/vars/pkgs/terraform.yml b/vars/pkgs/terraform.yml deleted file mode 100644 index a6c4894..0000000 --- a/vars/pkgs/terraform.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -terraform: - version: 1.12.2 - archive: - baseurl: https://releases.hashicorp.com/terraform - sysmap: - Darwin: darwin - Linux: linux - archmap: - x86_64: amd64 - arm64: arm64 - aarch64: arm64 - pkgs: - Linux: - - terraform - Darwin: - - hashicorp/tap/terraform - method: - default: sys - Alpine: archive - RedHat: sys - Darwin: sys diff --git a/vars/pkgs/terraformls.yml b/vars/pkgs/terraformls.yml deleted file mode 100644 index 0874dd8..0000000 --- a/vars/pkgs/terraformls.yml +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -terraformls: - version: v0.36.4 - gobase: github.com/hashicorp/terraform-ls - method: - default: sys - Alpine: gosrc - pkgs: - Linux: - - terraform-ls - Darwin: - - hashicorp/tap/terraform-ls diff --git a/vars/pkgs/terrarepo.yml b/vars/pkgs/terrarepo.yml deleted file mode 100644 index 4218a85..0000000 --- a/vars/pkgs/terrarepo.yml +++ /dev/null @@ -1,4 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -terrarepo: - repo: https://terra.fyralabs.com/terra.repo diff --git a/vars/pkgs/tidy.yml b/vars/pkgs/tidy.yml deleted file mode 100644 index fae01cf..0000000 --- a/vars/pkgs/tidy.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -tidy: - pkgs: - Darwin: - - tidy-html5 - Alpine: - - tidyhtml - Debian: - - tidy - RedHat: - - tidy diff --git a/vars/pkgs/uwsm.yml b/vars/pkgs/uwsm.yml deleted file mode 100644 index 6e7d3d7..0000000 --- a/vars/pkgs/uwsm.yml +++ /dev/null @@ -1,24 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -uwsm: - version: 0.21.1 - repo: https://github.com/Vladimir-csp/uwsm.git - build_deps: - RedHat: - - meson - - python3-meson-python - - scdoc - - cmake - deps: - RedHat: - - python3-pyxdg - - python3-dbus - - util-linux - - newt - - wofi - - libnotify - build_installed_files: - - bin/uwsm - - share/uwsm - - share/doc/uwsm - - share/licenses/uwsm diff --git a/vars/pkgs/vault.yml b/vars/pkgs/vault.yml deleted file mode 100644 index 1d2cbc2..0000000 --- a/vars/pkgs/vault.yml +++ /dev/null @@ -1,23 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -vault: - version: 1.19.0 - archive: - baseurl: https://releases.hashicorp.com/vault - sysmap: - Darwin: darwin - Linux: linux - archmap: - x86_64: amd64 - arm64: arm64 - aarch64: arm64 - pkgs: - Linux: - - vault - Darwin: - - hashicorp/tap/vault - method: - default: sys - Alpine: archive - RedHat: sys - Darwin: sys diff --git a/vars/pkgs/xdg_desktop_portal_hyprland.yml b/vars/pkgs/xdg_desktop_portal_hyprland.yml deleted file mode 100644 index 13e00b2..0000000 --- a/vars/pkgs/xdg_desktop_portal_hyprland.yml +++ /dev/null @@ -1,32 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -xdg_desktop_portal_hyprland: - version: v1.3.9 - repo: "{{ hyprgitbase }}/xdg-desktop-portal-hyprland" - pkg_deps: - - git - - sdbus_cpp_2 - - hyprlang - - hyprutils - - hyprwayland_scanner - build_deps: - RedHat: - - libdrm-devel - - mesa-libgbm-devel - - pipewire-devel - - pipewire-libs - - wayland-devel - - wayland-protocols-devel - Alpine: - - libdrm-dev - - mesa-gbm - - pipewire-dev - - pipewire-libs - - wayland-dev - - wayland-protocols - build_installed_files: - - bin/hyprland-share-picker - - lib/xdg-desktop-portal-hyprland - - share/xdg-desktop-portal/portals/hyprland.portal - - share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service - - lib/systemd/user/xdg-desktop-portal-hyprland.service diff --git a/vars/pkgs/xh.yml b/vars/pkgs/xh.yml deleted file mode 100644 index 3215dd9..0000000 --- a/vars/pkgs/xh.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -xh: - version: 0.24.0 - depends: - RedHat: - - oniguruma - - oniguruma-devel diff --git a/vars/pkgs/zfs.yml b/vars/pkgs/zfs.yml deleted file mode 100644 index 181b833..0000000 --- a/vars/pkgs/zfs.yml +++ /dev/null @@ -1,29 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -zfs: - repo_base: https://zfsonlinux.org - gpg_key: https://raw.githubusercontent.com/zfsonlinux/zfsonlinux.github.com/master/zfs-release/RPM-GPG-KEY-openzfs-key2 - gpg_key_fingerprint: 7DC7 299D CF7C 7FD9 CD87 701B A599 FD5E 9DB8 4141 - fedora: - release: 2-6 - epel: - release: 2-3 - pkgs: - RedHat: - - zfs - Debian: - - zfs-dkms - - zfsutils-linux - Alpine: - - zfs - - zfs-lts - build_deps: - Fedora: - - kernel-devel - RedHat: - - kernel-devel - - epel-release - Debian: - - dpkg-dev - - linux-headers-generic - - linux-image-generic diff --git a/vars/pkgs/zig.yml b/vars/pkgs/zig.yml deleted file mode 100644 index 571520d..0000000 --- a/vars/pkgs/zig.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -zig: - version: 0.13.0 - base_url: https://ziglang.org/download - sysmap: - Darwin: macos - Linux: linux - archmap: - aarch64: aarch64 - arm64: aarch64 - x86_64: x86_64 diff --git a/vars/pkgs/zls.yml b/vars/pkgs/zls.yml deleted file mode 100644 index efe9c6d..0000000 --- a/vars/pkgs/zls.yml +++ /dev/null @@ -1,12 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -zls: - version: 0.13.0 - base_url: https://builds.zigtools.org - sysmap: - Darwin: macos - Linux: linux - archmap: - aarch64: aarch64 - arm64: aarch64 - x86_64: x86_64 diff --git a/vars/src/alacritty.yml b/vars/src/alacritty.yml deleted file mode 100644 index fa7b7a7..0000000 --- a/vars/src/alacritty.yml +++ /dev/null @@ -1,27 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -alacritty: - deps: - RedHat: - - cmake - - fontconfig-devel - - freetype-devel - - g++ - - libxcb-devel - - libxkbcommon-devel - Debian: - - cmake - - libfontconfig1-dev - - libfreetype6-dev - - libxcb-xfixes0-dev - - libxkbcommon-dev - - pkg-config - - python3 - Alpine: - - cmake - - fontconfig-dev - - freetype-dev - - g++ - - libxcb-dev - - libxkbcommon-dev - - pkgconf diff --git a/vars/src/aquamarine.yml b/vars/src/aquamarine.yml deleted file mode 100644 index 67b5942..0000000 --- a/vars/src/aquamarine.yml +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -aquamarine: - gitrepo: "{{ hyprgitbase }}/aquamarine" - src_path: "{{ d_tempdir.path }}/aquamarine" - deps: - build_creates: "{{ d_tempdir.path }}/build/libaquamarine.so" - install_creates: "{{ root_prefix }}/{{ lib_path }}/libaquamarine.so" diff --git a/vars/src/hyprcursor.yml b/vars/src/hyprcursor.yml deleted file mode 100644 index d14d625..0000000 --- a/vars/src/hyprcursor.yml +++ /dev/null @@ -1,50 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprcursor: - gitrepo: "{{ hyprgitbase }}/hyprcursor" - src_path: "{{ d_tempdir.path }}/hyprcursor" - configure: - - cmake - - --no-warn-unused-cli - - DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - build_creates: "{{ d_tempdir.path }}/hyprcursor/build/libhyprcursor.so" - build: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - install_creates: "{{ root_prefix }}/bin/hyprcursor-util" - install: - - cmake - - --install - - ./build - deps: - RedHat: - - cairo-devel - - libzip-devel - - librsvg2-devel - - tomlplusplus-devel - Alpine: - - cairo-dev - - libzip-dev - - librsvg-dev - - tomlplusplus-dev - build_installed_files: - - "{{ lib_path }}/libhyprcursor.so.0.1.12" - - "{{ lib_path }}/libhyprcursor.so.0.1.11" - - "{{ lib_path }}/libhyprcursor.so.0" - - "{{ lib_path }}/libhyprcursor.so" - - include/hyprcursor.hpp - - bin/hyprcursor-util - - include/hyprcursor - - "{{ lib_path }}/pkgconfig/hyprcursor.pc" diff --git a/vars/src/hyrpgraphics.yml b/vars/src/hyrpgraphics.yml deleted file mode 100644 index 2ebe4c1..0000000 --- a/vars/src/hyrpgraphics.yml +++ /dev/null @@ -1,57 +0,0 @@ -# vim: set filetype=yaml.ansible : ---- -hyprgraphics: - gitrepo: "{{ hyprgitbase }}/hyprgraphics" - src_path: "{{ d_tempdir.path }}/hyprgraphics" - configure: - - cmake - - --no-warn-unused-cli - - DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - - -S - - . - - -B - - ./build - build_creates: "{{ d_tempdir.path }}/hyprgraphics/build/libhyprgraphics.so" - build: - - cmake - - --build - - ./build - - --config - - Release - - --target - - all - - -j - - "{{ ansible_processor_nproc | int }}" - install_creates: "{{ root_prefix }}/{{ lib_path }}/libhyprgraphics.so.0.1.2" - install: - - cmake - - --install - - ./build - deps: - RedHat: - - pixman-devel - - cairo-devel - - libjpeg-turbo-devel - - libwebp-devel - - libjxl-devel - - libjxl-devtools - - libjxl-utils - - file-devel - - file-libs - - libspng-devel - Alpine: - - pixman-dev - - cairo-dev - - libjpeg-turbo-dev - - libwebp-dev - - libjxl-dev - - file-dev - - file - - libspng-dev - build_installed_files: - - "{{ lib_path }}/libhyprgraphics.so.0.1.2" - - "{{ lib_path }}/libhyprgraphics.so.0" - - "{{ lib_path }}/libhyprgraphics.so" - - include/hyprgraphics - - "{{ lib_path }}/pkgconfig/hyprgraphics.pc" -- 2.47.3 From 2cc7ad416653f7387cf10400262e6783cbc01b20 Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 13 Apr 2026 14:50:11 -0600 Subject: [PATCH 48/48] fix typo in cmakelang.yml --- tasks/pkgs/cmakelang.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/pkgs/cmakelang.yml b/tasks/pkgs/cmakelang.yml index 028f898..eda95d4 100644 --- a/tasks/pkgs/cmakelang.yml +++ b/tasks/pkgs/cmakelang.yml @@ -1,7 +1,7 @@ # vim: set filetype=yaml.ansible : # ## Package: cmakelang -## Desciption: QA tools for cmake +## Description: QA tools for cmake ## Version: system ## Methods: system ## Helpers: - -- 2.47.3