45 lines
2.9 KiB
Markdown
45 lines
2.9 KiB
Markdown
# Dotfiles
|
|
|
|
Personal, Arch-oriented user dotfiles and support scripts for shells, window management, applications, and package lists. This repository is a collection of machine-specific configuration, not a general-purpose installer.
|
|
|
|
## Status and scope
|
|
|
|
There is no authoritative root installation, linking, backup, overwrite, or rollback script. Do not infer one: review and apply only the individual files appropriate to a machine. Some filenames use `##class.arch_*` suffixes to distinguish machine classes. The repository also includes a nested README for the custom/vendored `st` terminal under `.config/st/`; it documents that component, not installation of this repository.
|
|
|
|
Several scripts assume Arch tooling and root access. Some repository scripts contain machine-specific connection details; do not publish, copy, or document such values. Use local, private configuration for hosts, addresses, accounts, and credentials.
|
|
|
|
## Prerequisites
|
|
|
|
- An Arch-based system for the supplied `pacman`/`yay` package workflows.
|
|
- The package manager or helper required by the script being considered (`pacman` and/or `yay`).
|
|
- Desktop/session tools matching the chosen configuration (for example X11/XMonad-related files where applicable).
|
|
- Root access only for the system-changing scripts described below.
|
|
|
|
Package and service policy lives under `system-config/` and is applied through Decman. Review `system-config/README.md`, the active host profile, and a dry run before changing system state.
|
|
|
|
## Safe review and user-level configuration
|
|
|
|
Start by reviewing the intended files and any machine-class variants. Typical areas are:
|
|
|
|
- `.zshrc`, `.bashrc`, `.terminal_aliases`, `.tmux.conf`, and `.p10k.zsh` — shell and terminal setup.
|
|
- `.config/` — desktop and application configuration.
|
|
- `.scripts/` — optional shell, network, virtual-environment, and update helpers.
|
|
- `system-config/` — Decman-managed packages, system files, selected user configuration, and service manifests.
|
|
|
|
Back up existing configuration before manually placing or linking a file. No test suite is provided; validate a change in the relevant shell/session or application and keep a rollback copy of the previous configuration.
|
|
|
|
## System-changing configuration
|
|
|
|
`system-config/` is the source of truth for managed packages, system files, selected user configuration, and enabled services. Use its review-first wrapper:
|
|
|
|
```fish
|
|
./system-config/decman verify
|
|
./system-config/decman dry-run
|
|
```
|
|
|
|
> **Warning: system-wide, potentially disruptive operation.** `./system-config/decman apply` changes packages, system files, boot artifacts, and services. Run it only after reviewing a dry run. No root-level bootstrap or rollback command exists.
|
|
|
|
## Custom `st` terminal
|
|
|
|
The nested `.config/st/README.md` documents its own `make` and `sudo make install` workflow. Those commands build/install only that terminal component, may modify the system, and are not a bootstrap procedure for all dotfiles.
|