# vim: set filetype=yaml.ansible : --- argument_specs: main: short_description: Install software using ansible description: - Make the installation of packages consistent on each platform. - 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. imethod: 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 required: true description: - The list of packages to install by name. - The list must contain only values that exist in B(Available Packages) in README.md 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'. - 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: - 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. path_appimage: type: path default: /usr/local/appimage description: - Where appimage files are stored. path_archive: type: path default: /usr/local/archive description: - Where archives are extracted. path_bin: type: path default: /usr/local/bin description: - Where binaries are installed or linked. - Needs to be added to your PATH to be usable. path_cargo: type: path default: /usr/local/cargo description: - Where cargo installs it's packages path_go: type: path default: /usr/local/go description: - Where go is installed. Equivalent of GOROOT. path_pipx: type: path default: /usr/local/pipx description: - Where pipx installs it's virtual environments store_path: type: path default: //.cache/ansible_role_package required: false description: - 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