# 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 ` | 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