Skip to content

Perkedel/dcli-perkedel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dcli-perkedel

Declarative package management configuration for Arch Linux.

This dotfiles is used internally for Perkedel offices. You are free to also use this as well.

Structure

  • config.yaml - Main configuration file
  • packages/base.yaml - Base packages for all machines
  • packages/hosts/ - Host-specific package configurations
  • packages/modules/ - Optional package modules
  • scripts/ - Post-install hook scripts
  • udev-rules/ - Custom udev rules
  • state/ - Auto-generated state files (git-ignored)

Usage

Add base packages

Edit packages/base.yaml to add packages that should be installed on all machines.

Add host-specific packages

Edit packages/hosts/joelwindows7-endeavour-dcli.json to add packages specific to this machine.

Create and enable modules

  1. Create a new JSON file in packages/modules/
  2. Enable it with: dcli module enable <module-name> OR edit config.yaml and add <module-name> into section enabled-modules list.
  3. Sync packages: dcli sync

Sync packages

dcli sync           # Preview and install missing packages
dcli sync --prune   # Also remove packages not in configuration

Git Integration

Initialize a git repository to track your configuration:

cd ~/.config/arch-config
git init
git add .
git commit -m "Initial arch-config setup"

The state/installed.yaml file is auto-generated and git-ignored.

Updating Git

Update this arch-config repo with:

Uploading from editing source

cd ~/.config/arch-config
dcli repo push  # Type your commit message when prompted & enter

Download from Git repository

cd ~/.config/arch-config
dcli repo pull
dcli sync  # then review what will be installed, and confirm.

More Resources

About

Perkedel's Internal Arch Linux Package Declaration for Black Don's DCLI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages