resolve

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package resolve merges profile layers into an execution plan.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Fingerprint

func Fingerprint(p *profile.Profile, f *facts.Facts) string

Fingerprint returns a stable, human-readable string that identifies the current selection and the facts that produced it.

Types

type DotfileEntry

type DotfileEntry struct {
	Target string
	Source string
	Mode   string
	Module string
	Layer  string
}

DotfileEntry is a single resolved dotfile target.

type DotfilesStep

type DotfilesStep struct {
	Entries []DotfileEntry
}

DotfilesStep lists managed dotfile entries.

type HooksStep

type HooksStep struct {
	Pre  []string
	Post []string
}

HooksStep is a placeholder for pre/post hooks in v0.1.

type PackagesStep

type PackagesStep struct {
	Install []string
}

PackagesStep lists packages that should be present on the system.

type Plan

type Plan struct {
	Packages PackagesStep
	Tools    ToolsStep
	Dotfiles DotfilesStep
	Hooks    HooksStep
}

Plan is the resolved, side-effect-free execution plan for a profile.

func Resolve

func Resolve(p *profile.Profile, f *facts.Facts) (*Plan, error)

Resolve builds a Plan by merging base, host, and user overlays for each selected module. Precedence is user > host > base.

type ToolsStep

type ToolsStep struct {
	Versions map[string]string
}

ToolsStep lists required tool versions.

Jump to

Keyboard shortcuts

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