fixing documentation

This commit is contained in:
Matthew Stobbs
2026-02-02 21:09:51 -07:00
parent 81a1dd7469
commit ac7ad62d40
6 changed files with 210 additions and 150 deletions

261
README.md
View File

@@ -34,137 +34,136 @@ To install any of the available packages, they must be part of a list called
## Available Packages ## Available Packages
- air: hot reload for go #development - air: hot reload for go _default method_ **source**
- alacritty: terminal built in rust #gui - alacritty: terminal built in rust _default method_ **source**
- ansible-lint: linting for yaml.ansible files #development #mangement - ansible-lint: linting for yaml.ansible files _default method_ **pipx**
- ansible: configuration management #management - ansible: configuration management _default method_ **system**
- ansible_ls: ansible language-server #development - ansible_ls: ansible language-server
- aquamarine: graphics library for hyrpland #hyprland #linux #gui - aquamarine: graphics library for hyrpland _default method_ **source**
- bashls: bash language server #development - bashls: bash language server
- bat: bat, an ehanced replacement for cat #cli - bat: bat, an ehanced replacement for cat
- bitwarden: password mananger #gui #security - bitwarden: password mananger
- blender: 3d modeling, video editing tools #gui #media - blender: 3d modeling, video editing tools
- broot: a file browser/manager for the cli #cli - broot: a file browser/manager for the cli
- btop: advanced top replacement #cli #management - btop: advanced top replacement
- buf: protocol buffer tooling in go #development - buf: protocol buffer tooling in go
- bufls: protocol buffer language server #development - bufls: protocol buffer language server
- carapace: universal command completion engine #cli - carapace: universal command completion engine
- cheat: cli cheatsheet creator and viewer #cli - cheat: cli cheatsheet creator and viewer
- checkmake: a linter and analyzer for makefiles #development - checkmake: a linter and analyzer for makefiles
- choose: an alternative to cut written in rust #cli - choose: an alternative to cut written in rust
- clangd: the LLVM based C/C++ compiler, langauge server and linter #development - clangd: the LLVM based C/C++ compiler, langauge server and linter
- cmake: build system for C/C++ projects #development - cmake: build system for C/C++ projects
- cmakelang: cmake linter and formatter #development - cmakelang: cmake linter and formatter
- cockpit: webui to managed linux systems #management - cockpit: webui to managed linux systems
- commitlint-cli: linting for git commit messages #development - commitlint-cli: linting for git commit messages
- commitlint-config-conventional: config for commitlint-cli #development - commitlint-config-conventional: config for commitlint-cli
- consul: service discovery by hashicorp #hashicorp #service - consul: service discovery by hashicorp
- cssls: css language server #development - cssls: css language server
- curlie: enhanced version of curl #cli #network - curlie: enhanced version of curl
- dbeaver: database manager gui #development #gui - dbeaver: database manager gui
- direnv: load .env files in the cli #development #mangement - direnv: load .env files in the cli
- dockerls: dockerfile lanaguage server #development - dockerls: dockerfile lanaguage server
- dotenv-linter: linter for .env files #development - dotenv-linter: linter for .env files
- duf: a good looking replacement for df #cli #management - duf: a good looking replacement for df
- dust: a better looking version of du #cli #management - dust: a better looking version of du
- editorconfig: common editor configuration system #development - editorconfig: common editor configuration system
- eslint: ECMA Script linting #development - eslint: ECMA Script linting
- eza: a modern ls replacement #cli - eza: a modern ls replacement
- fd: a modern replacement for find #cli - fd: a modern replacement for find
- firefox: a modern OSS web browser #gui - firefox: a modern OSS web browser
- firewalld: modern zone based firewall #cli #management #security - firewalld: modern zone based firewall
- flatpak: universal linux package management system #cli #linux #management - flatpak: universal linux package management system
- fzf: fuzzy find from a list given over stdin #cli - fzf: fuzzy find from a list given over stdin
- ghostty: a modern advanced terminal emulator #gui - ghostty: a modern advanced terminal emulator
- git: project versioning system #development #management - git: project versioning system _default method_ **system**
- glow: cli markdown parser and viewer #cli - glow: cli markdown parser and viewer
- go: the go programming language #development - go: the go programming language _default method_ **archive**
- godot: the best OSS game making studio/engine #development #gui - godot: the best OSS game making studio/engine
- gopls: the go language server #development - gopls: the go language server
- gping: graphical pinging on the cli #cli #management - gping: graphical pinging on the cli
- greetd: a simple system greeter #cli #linux #gui #hyprland - greetd: a simple system greeter
- heroic: heroic games launcher #gui #linux - heroic: heroic games launcher
- htmlls: html language server #development - htmlls: html language server
- htmx-lsp: htmx language server #developement - htmx-lsp: htmx language server
- httpie: a graphical REST client #development #gui - httpie: a graphical REST client
- hugo: static html site generator #cli #development - hugo: static html site generator
- hyperfine: a cli benchmarking tool #cli - hyperfine: a cli benchmarking tool
- hyprcursor: a hyprland support library #hyprland - hyprcursor: a hyprland support library
- hyprgraphics: a hyrpland graphics library #hyprland - hyprgraphics: a hyrpland graphics library
- hypridle: hyprland system idle monitor #hyprland - hypridle: hyprland system idle monitor
- hyprland: a pretty tiling window manager #hyprland #linux #gui - hyprland: a pretty tiling window manager
- hyprland_protocols: a hyprland wayland protocol library #hyprland - hyprland_protocols: a hyprland wayland protocol library
- hyprland_qt_support: hyprland qt libraries #hyprland - hyprland_qt_support: hyprland qt libraries
- hyprland_qtutils: hyrpland tools in qt: #hyprland - hyprland_qtutils: hyrpland tools in qt
- hyprlang: hyprland configuration language #hyrpland - hyprlang: hyprland configuration language
- hyprlock: hyprland screen locker #hyprland - hyprlock: hyprland screen locker
- hyprpaper: hyprland wallpaper manager #hyprland - hyprpaper: hyprland wallpaper manager
- hyprpicker: hyprland colour picker #hyprland - hyprpicker: hyprland colour picker
- hyprpolkitagent: hyprland policy kit agent #hyprland #management #security - hyprpolkitagent: hyprland policy kit agent
- hyprutils: hyprland utilities library #hyprland - hyprutils: hyprland utilities library
- hyprwayland_scanner: hyprland wayland library scanner #hyprland - hyprwayland_scanner: hyprland wayland library scanner
- intelephense: php language server, linter and formatter #development - intelephense: php language server, linter and formatter
- jinja-lsp: the jinja language server #development - jinja-lsp: the jinja language server
- jq: json cli parser #cli #development - jq: json cli parser
- jsonls: json language server #development - jsonls: json language server
- kitty: high perfomance terminal emulator #gui - kitty: high perfomance terminal emulator
- lazygit: git made easy #git #cli #development - lazygit: git made easy
- libreoffice: the free office suite #gui - libreoffice: the free office suite
- luals: lua language server #development - luals: lua language server
- markdownlint-cli: markdown linter #development - markdownlint-cli: markdown linter
- mcfly: cli history manager #cli #management - mcfly: cli history manager
- minio_client: cli S3 client #cli #management - minio_client: cli S3 client
- neovide: graphical interface for neovim in rust #development #gui - neovide: graphical interface for neovim in rust
- neovim: best vim fork ever #neovim #development #cli #development - neovim: best vim fork ever #neovim #development
- nerdfonts: fonts patched with icons and glyphs #cli #gui - nerdfonts: fonts patched with icons and glyphs
- nextcloud: nextcloud desktop sync client #gui #management - nfs_client: nfs client software
- nfs_client: nfs client software #management - nfs_server: nfs server software
- nfs_server: nfs server software #managment - nginxls: nginx configuration language server
- nginxls: nginx configuration language server #development - nodejs: javascript runtime engine
- nodejs: javascript runtime engine #javascript #cli #development - nomad: application orchestration by hashicorp
- nomad: application orchestration by hashicorp #hashicorp #management - nwg_hello: a greetd greeter
- nwg_hello: a greetd greeter #gui #linux #hyprland - packer: machine builder by hashicorp
- packer: machine builder by hashicorp #vm #development #hashicorp #management - pandoc: universal document translator
- pandoc: universal document translator #cli - pgadmin: postgresql administration gui
- pgadmin: postgresql administration gui #development #development #gui - pipx: install pip packages as self contained executables
- pipx: install pip packages as self contained executables #cli #management - podman: container runtime engine compatible with docker
- podman: container runtime engine compatible with docker #cli #mangement - pulumi: infrastructure as code via regular programming languages
- pulumi: infrastructure as code via regular programming languages #cli #development #manage - pyright: python language server, linter and formatter
- pyright: python language server, linter and formatter #development - python3: python3 language interpreter
- python3: python3 language interpreter #development - quobix-vacuum: openapi linter and sdk written in go
- quobix-vacuum: openapi linter and sdk written in go #development - restic: an advanced backup system
- restic: an advanced backup system #management - revive: a fast and strict linter for go
- revive: a fast and strict linter for go #development - ripgrep: fast modern grep replacement
- ripgrep: fast modern grep replacement #cli - rust: the rust programming language
- rust: the rust programming language #development #cli - samba_client: client software for samba
- samba_client: client software for samba #management - samba_server: server software for samba
- samba_server: server software for samba #management - sd: a modern replacement for sed
- sd: a modern replacement for sed #cli - sdbus_cpp_2: systemd dbus library version 2
- sdbus_cpp_2: systemd dbus library version 2 #development #hyprland - sqlfluff: sql linter
- sqlfluff: sql linter #development - sqlls: sql language server
- sqlls: sql language server #development - starship: command line prompt generator
- starship: command line prompt generator #cli - stow: manage dotfiles easily
- stow: manage dotfiles easily #cli #management - tailscale: p2p vpn with wireguard
- tailscale: p2p vpn with wireguard #security #cli #gui - tailwindcss-languageserver: tailwindcss language server
- tailwindcss-languageserver: tailwindcss language server #development - templ: generate HTML using go
- templ: generate HTML using go #go #html #development - terraform: infrastructre as code via configuration files
- terraform: infrastructre as code via configuration files #cli #hashicorp #management - terraformls: terraform language server
- terraformls: terraform language server #development #hashicorp - thunderbird: email client from mozilla
- thunderbird: email client from mozilla #gui - tidy: html linter and formatter
- tidy: html linter and formatter #development - tldr: manpage summarizer
- tldr: manpage summarizer #cli - tmux: terminal multiplexer
- tmux: terminal multiplexer #cli - uwsm: universal wayland system manager
- uwsm: universal wayland system manager #hyprland #linux #gui - vault: secrets management by hashicorp
- vault: secrets management by hashicorp #security #hashicorp - xdg_desktop_portal_hyprland: xdg portal for hyprland
- xdg_desktop_portal_hyprland: xdg portal for hyprland #hyprland #gui #linux - xh: cli curl replacement
- xh: cli curl replacement #cli #network - yamlls: yaml language server
- yamlls: yaml language server #development - yazi: terminal file manager in rust _default method_ **source**
- yazi: terminal file manager in rust #cli #management - zfs: the zetabyte filesystem
- zfs: the zetabyte filesystem #filesystem #cli - zig: the zig programming language
- zig: the zig programming language #development - zls: the zig language server
- zls: the zig language server #development - zoxide: easily jump between directories
- zoxide: easily jump between directories #cli #management - zsh: Z shell
- zsh: Z shell #cli
## Requirements ## Requirements

View File

@@ -7,23 +7,36 @@
become_user: "{{ install_become_user }}" become_user: "{{ install_become_user }}"
ansible.bulitin.file: ansible.bulitin.file:
state: directory state: directory
path: "{{ extract_path }}" path: "{{ pkg.extract_path }}"
mode: "{{ install_prefix_mode }}" mode: "{{ pkg.install_prefix_mode | default('0755') }}"
owner: "{{ install_prefix_owner }}" owner: "{{ pkg.install_prefix_owner | default(ansible_user_id)}}"
group: "{{ install_prefix_group }}" group: "{{ pkg.install_prefix_group | default(ansible_user_gid) }}"
- name: Download archive to cache - name: Download archive to cache
ansible.builtin.get_url: ansible.builtin.get_url:
dest: "{{ d_cache }}/{{ archive_name }}" dest: "{{ d_cache }}/{{ pkg.archive_name }}"
url: "{{ archive_url }}" url: "{{ pkg.archive_url }}"
checksum: "{{ archive_checksum }}" checksum: "{{ pkg.archive_checksum | default(omit) }}"
decompress: false decompress: false
mode: '0644' mode: '0644'
- name: Extract go archive - name: Extract archive
ansible.builtin.unarchive: ansible.builtin.unarchive:
dest: "{{ extract_path }}" dest: "{{ pkg.extract_path }}"
src: "{{ d_cache }}/{{ archive_name }}" src: "{{ d_cache }}/{{ pkg.archive_name }}"
remote_src: true remote_src: true
include: "{{ archive_include | default(omit) }}" include: "{{ pkg.archive_include | default(omit) }}"
exclude: "{{ archive_exclude | 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) }}"

View File

@@ -161,7 +161,7 @@
loop_control: loop_control:
loop_var: pkg loop_var: pkg
ansible.builtin.include_tasks: ansible.builtin.include_tasks:
file: "archive/{{ pkg }}.yml" file: "helpers/archive.yml"
- name: Install cargo packages - name: Install cargo packages
when: when:

View File

@@ -10,6 +10,28 @@
ansible.builtin.set_fact: 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: "{% 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 - name: Configure go archive installation
when: when:
- go_install_method == 'archive' - go_install_method == 'archive'
@@ -32,12 +54,19 @@
go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}" go_extract_path: "{{ path_archive }}/go{{ go_archive_version }}"
- name: Finalize go archive install - name: Finalize go archive install
ansible.builtin.set_fact ansible.builtin.set_fact:
go_archive_install: go_archive_install:
extract_path: "{{ go_extract_path }}" extract_path: "{{ go_extract_path }}"
archive_url: "{{ go_archive_url }}" archive_url: "{{ go_archive_url }}"
archive_name: "{{ go_archive }}" archive_name: "{{ go_archive }}"
archive_checksum: "{{ go_archive_sums[go_archive_version][ansible_system][go_arch] }}" 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 - name: Queue go install
block: block:
@@ -45,7 +74,7 @@
when: when:
- go_install_method == 'system' - go_install_method == 'system'
ansible.builtin.set_fact: ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['go'] }}" pkg_sys: "{{ pkg_sys + [go_pkgname] }}"
- name: Install via archive - name: Install via archive
when: when:

View File

@@ -135,4 +135,20 @@ go_archive_sums:
Linux: Linux:
amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a amd64: sha256:f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a
arm64: sha256:738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5 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
# }}} # }}}

View File

@@ -8,17 +8,20 @@
air_install_methods: air_install_methods:
- source - source
alacritty_install_methods: alacritty_install_methods:
- system
- source - source
ansible_lint_install_methods:
- system - system
- system_pip ansible_lint_install_methods:
- pipx - pipx
- system
ansible_install_methods: ansible_install_methods:
- system - system
- system_pip
aquamarine_install_methods: aquamarine_install_methods:
- source - source
git_install_methods:
- system
go_install_methods:
- archive
- system
hyprland_install_methods: hyprland_install_methods:
- source - source
yazi_install_methods: yazi_install_methods: