Squash merge move_to_single_file_pkgs into main

This commit is contained in:
Matthew Stobbs
2026-04-13 14:50:45 -06:00
parent ff740426c8
commit 8dc427f027
373 changed files with 3883 additions and 9963 deletions

286
README.md
View File

@@ -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)
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.)
2. Source built - only in some situations, like for fast moving software (neovim, hyprland)
- 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,145 +29,144 @@ 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
- 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