My home dotfiles
- NixOS (recommend)
- Arch Linux (You must install various GUI apps yourself)
- NixOS
- Arch Linux
- Other Linux distributions (Nix or mise only; not tested in CI)
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Edit Configuration
vi flake.nix # myHosts = { -
Install nix (+flake)
./install.sh
-
Setup (installing tools)
sudo nixos-rebuild switch --flake .#<hostname> -
Link dotfiles (managed by
[dotfiles]inmise.toml)mise trust mise bootstrap dotfiles apply
-
zsh plugin install
exec zsh -
Install mise tools and run setup tasks
mise run setup
-
neovim plugin install
vi --headless -c 'Lazy! sync' -c 'qall'
-
Enjoy!
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Edit Configuration
vi flake.nix # myHosts = { -
Install nix (+flake)
./install.sh
-
Setup (installing tools)
The first run uses the locked Home Manager; afterwards
home-manager switchis available.# Default user and hostname nix run --inputs-from . home-manager -- switch --flake .#<hostname> # If you override NIX_USERNAME NIX_USERNAME=your_username nix run --inputs-from . home-manager -- switch --impure --flake .#<hostname>
-
Link dotfiles (managed by
[dotfiles]inmise.toml)mise trust mise bootstrap dotfiles apply
Link sources are relative to the repository root, so any clone location works without extra configuration.
-
zsh plugin install
exec zsh -
Install mise tools and run setup tasks
mise run setup
-
neovim plugin install
vi --headless -c 'Lazy! sync' -c 'qall'
CLI-only setup with mise and the OS package manager. Nix-managed extras such as the Neovim egress sandbox are not available. This path is not tested in CI.
-
Install prerequisites with the OS package manager
git,zsh,curl,gcc,make,unzip,node(22+), andbun(mise installs npm-based tools with bun)# Arch Linux sudo pacman -S --needed git zsh curl gcc make unzip nodejs-lts-jod bunDistribution Node.js packages can be too old (e.g. Ubuntu); use the official installer in that case.
-
Install mise
curl https://mise.run | sh export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Link dotfiles (managed by
[dotfiles]inmise.toml)mise trust mise bootstrap dotfiles apply
-
zsh plugin install
exec zsh -
Install mise tools and run setup tasks
mise run setup
-
neovim plugin install
vi --headless -c 'Lazy! sync' -c 'qall'
If you do not want to dirty your home directory
-
Setup the container
docker run -it --rm archlinux:latest /bin/bash
-
Setup the environment
pacman -Sy --noconfirm sudo git useradd -m -s /bin/bash test echo 'test ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers su - test
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Install
./install.sh --single exec bash -
Setup (installing tools)
nix run --inputs-from . home-manager -- switch --flake .#test
-
Link dotfiles (managed by
[dotfiles]inmise.toml)mise trust mise bootstrap dotfiles apply
-
zsh plugin install
exec zsh -
Install mise tools and run setup tasks
mise run setup
-
neovim plugin install
vi --headless -c 'Lazy! sync' -c 'qall'
- zsh
- neovim
- wezterm
- (optional) Hyprland
| key | action |
|---|---|
| Alt-h/j/k/l | switch window |
| Alt-j | close window |
| Alt-k | create window |
| S-Up/Down/Left/Right | switch pane |
| key | action |
|---|---|
| Mod-h/j/k/l | switch window |
| Mod-S-h/j/k/l | move window |
| Mod-C-S-h/j/k/l | move workspace |
