system-configurator

command module
v0.0.0-...-ba43356 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: GPL-3.0 Imports: 1 Imported by: 0

README

System Configurator

An operating system agnostic tool installing packages, running setup scripts, and sharing these configurations across machines.

Currently supported package managers are: apk, apt, brew, dnf, snap, and pacman.

Installation

  1. Ensure go is installed on your system

Installation steps are outlined here. 2. Run go install drew-english/system-configurator@latest

Usage

The system configurator CLI bases its configuration on a yaml file located at $HOME/.config/system-configurator/config.yml. The CLI has CRUD operations that will manage the configuration file (or the system directly) for the user, but they are by no means required for use.

Additionally, the CLI has 3 different operation modes: configuration, system, and hybrid. Each mode will tell system configurator how it should perform the command given. See the help output for specific behavior of a given command.

Example configuration file:

packages:
  - fzf
  - zoxide
  - name: stow
    version: 3.1.2
    alternates:
      apk: something-else
      apt:
        name: something-else
        version: 1.2.3

Common Commands

scfg help {command} will show you a relevant description and help for the command or subcommand you are attempting to run.

Package Management
Sync

scfg package sync

By default this will sync the packages from the configuration file to the system, installing only packages that are missing. See scfg help package sync for use with other modes.

Add

scfg package add fzf

By default this will add specified packages to the configuration. See scfg help package add for use with other modes.

Remove

scfg package rm fzf

By default this will remove the specified packages from the configuration. See scfg help package rm for use with other modes.

Issues

If you encounter an issue:

  1. Check the issues page for the same issue (use the bug tag to filter).
  2. If your issue is not logged yet, open a new issue with clear steps to reproduce.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
internal
pkg
run
sys
Top level package for interacting with the host system.
Top level package for interacting with the host system.
sys/pkgmanager
Package management on the host system.
Package management on the host system.
termio
Handles terminal input/output.
Handles terminal input/output.
spec
stub/run
Package to stub run commands.
Package to stub run commands.

Jump to

Keyboard shortcuts

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