65 lines
1.4 KiB
Markdown
65 lines
1.4 KiB
Markdown
# Dotfiles (chezmoi)
|
|
|
|
Dotfiles managed by [chezmoi](https://www.chezmoi.io/). The repo works on
|
|
Arch and Ubuntu (not complete) and has three machine classes: **server**, **desktop**, and **laptop**.
|
|
|
|
|
|
## First-time install on a new machine
|
|
|
|
### 1. Install prerequisites
|
|
|
|
```bash
|
|
# Arch
|
|
sudo pacman -S git curl age jq chezmoi
|
|
|
|
# Ubuntu
|
|
sudo apt-get install -y git curl age jq
|
|
# chezmoi: see https://www.chezmoi.io/install/
|
|
```
|
|
|
|
### 2. Provision the age key
|
|
|
|
The age key needs to be placed at `~/.config/chezmoi/key`
|
|
With following permissions
|
|
```bash
|
|
chmod 600 ~/.config/chezmoi/key
|
|
```
|
|
|
|
### 3. Bootstrap
|
|
|
|
```bash
|
|
chezmoi init --apply git@gitea.keuledrive.de:Keule2/Dotfiles.git
|
|
```
|
|
|
|
Will ask:
|
|
|
|
- **Which system class is this machine?** — pick `server`, `desktop`, or `laptop`.
|
|
- **EMAIL** — for git config.
|
|
|
|
## Usage
|
|
|
|
| Command | Effect |
|
|
|---|---|
|
|
| `chezmoi apply` | apply any local changes to dotfiles and run-once scripts |
|
|
| `chezmoi update` | `git pull` + `apply` |
|
|
| `chezmoi edit <file>` | open a tracked file in `$EDITOR` |
|
|
| `chezmoi cd` | shell into the source dir |
|
|
| `chezmoi diff` | show pending changes against your home |
|
|
| `chezmoi managed` | list files chezmoi manages |
|
|
|
|
## Changing the system class
|
|
|
|
Two ways:
|
|
|
|
```bash
|
|
# Option A: re-prompt
|
|
chezmoi init --apply --force --prompt
|
|
|
|
# Option B: edit the cached value
|
|
$EDITOR ~/.config/chezmoi/chezmoi.toml # change [data].system
|
|
chezmoi apply
|
|
```
|
|
|
|
## TODO
|
|
- Check packages e.g. gaming Steam/Lutris
|