Home

Awesome

dotfiles

These are my personal dotfiles, managed with chezmoi.

I use them:

Features

Theme

TODO: add screenshots

Shell

Desktop

Infrastructure

All general-purpose CLI tools are installed and version-managed with aqua, except for packages listed in the prerequisites section.

Setup

To use this repository, you will first need to set up the dotfiles using chezmoi. Then you will need to set up global tools using aqua.

Prerequisites

The following requirements must be met:

If you want to take advantage of certain features, you will need to have some packages installed on your host environment:

Set up dotfiles

To install the dotfiles on a new machine which already has chezmoi, run:

chezmoi init --apply ethanjli

Otherwise, you should run:

sh -c "$(curl -fsLS get.chezmoi.io)" -- -b "$(mktemp -d)" init --apply ethanjli

This will set up the global aqua configuration without you having to install chezmoi first. Then the next step will install chezmoi for you.

Set up global tools

On a machine without aqua, you can install aqua as follows:

curl -sSfL https://raw.githubusercontent.com/aquaproj/aqua-installer/v2.2.0/aqua-installer | bash

(this is only needed when this repository has packages which I have not yet contributed upstream to the standard aqua repository)

Then you should install the aqua tools by running:

aqua i -a

Set up atuin sync

Run atuin login.

Operations

TODO: add a keybindings cheatsheet

Upgrade aqua tools

To bump the installed version of an aqua-provided tool after this repo bumps the configured version to install, just run aqua i -a.

Upgrade zsh & bash plugins

To bump the installed version of a zsh or bash plugin after this repo bumps the configured version to install, delete the cached plugin directory in ~/.cache/zsh/plugins or ~/.cache/bash/plugins, and run chezmoi apply.

Maintenance

Add an aqua program

If using local packages from this repository, you may first need to configure aqua to allow that:

cd ${XDG_CONFIG_HOME:-$HOME/.config}/aquaproj-aqua
git init
aqua policy allow "${XDG_CONFIG_HOME:-$HOME/.config}/aquaproj-aqua/aqua-policy.yaml"

Then you can run:

aqua g -o ${XDG_CONFIG_HOME:-$HOME/.config}/aquaproj-aqua/aqua.yaml

Upgrade aqua programs

TBD

Upgrade zsh & bash plugins

To bump the version of a zsh or bash plugin, update the URL in .chezmoiexternal.toml.

Licensing

Except where otherwise indicated, source code provided here is covered by the following information:

Copyright Ethan Li

SPDX-License-Identifier: Apache-2.0 OR BlueOak-1.0.0

You can use the source code provided here either under the Apache 2.0 License or under the Blue Oak Model License 1.0.0; you get to decide. I am making the software available under the Apache license because it's OSI-approved, but I like the Blue Oak Model License more because it's easier to read and understand.