software

package
v0.10.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package software parses the embedded additional-software.yaml catalog used by the wizard's multi-select and (in M2) by the Ansible provisioner.

Index

Constants

View Source
const DotfilesKey = "dotfiles"

DotfilesKey is the catalog key for the dotfiles entry. It is special in two ways other software is not: it is hidden unless a dotfiles repo is configured (see Selectable), and its Ansible task clones that private repo over the operator's forwarded SSH agent.

Variables

This section is empty.

Functions

func RequiresMise

func RequiresMise(selected []string) (bool, error)

RequiresMise reports whether any of the selected keys is a mise-managed runtime.

Types

type Item

type Item struct {
	Key   string `yaml:"key"`
	Label string `yaml:"label"`
	Mise  bool   `yaml:"mise"` // installed via mise (a runtime)
}

Item is one installable piece of software.

func Catalog

func Catalog() ([]Item, error)

Catalog returns the parsed software catalog.

func Selectable

func Selectable(items []Item, dotfilesConfigured bool) []Item

Selectable returns the catalog items offered to the user. When a dotfiles repo is configured the dotfiles entry is kept and hoisted to the front (it is the terminal environment most guests want first); otherwise it is dropped entirely (there is nothing to clone without a repo). Catalog() stays pure — this per-config filtering and ordering is a presentation concern the wizard/TUI apply.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL