Configuration geared towards systems administration and development.
Initialize a bare repository with all files reset.
Use the dgit
alias for interacting with the repo.
git clone --bare https://git.sr.ht/~wq/dotfiles $HOME/.local/share/unix-dotfiles
alias dgit='git --git-dir=$HOME/.local/share/unix-dotfiles/ --work-tree=$HOME'
dgit status
git clone --bare git@git.sr.ht:~wq/dotfiles $HOME/.local/share/unix-dotfiles
alias dgit='git --git-dir=$HOME/.local/share/unix-dotfiles/ --work-tree=$HOME'
dgit status
⚠️ If any of the staged files shown in git status are marked as modified instead of deleted, this represents a conflict between a file in the repo and an existing local file. These should be backed up prior to proceeding further.
The missing files can now be reset and restored into the home directory.
dgit reset && dgit restore .
Run the following command to delete all git-tracked files and the underlying git store.
dgit rm -r . && rm -rf $HOME/.local/share/unix-dotfiles
All required packages and system config can be installed using Nix flakes with home-manager or nix-darwin depending on the specific system. It's still necessary to clone and install the dotfiles when using Nix.
# nix-darwin (local)
nix run nix-darwin -- switch --flake ~/nix-modules/#VXFU1FQV
# nix-darwin (remote)
nix run nix-darwin -- switch --flake 'sourcehut:~wq/dotfiles/?dir=nix-modules/#VXFU1FQV'
# home-manager (local)
nix run home-manager/master -- switch --flake ~/nix-modules/#development
# home-manager (remote)
nix run home-manager/master -- switch --flake 'sourcehut:~wq/dotfiles/?dir=nix-modules/#development'
Supported systems: ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]
A linux development container with these dotfiles and required tools is also provided.
docker run -it --rm execweave/development
These configs are intended for the following software and applications
Category | Application |
---|---|
OS | macOS, Linux |
Terminal | WezTerm |
Editor | Helix |
Shell | fish |
WM | yabai |