安装前需先编辑 flake.nix 中的 myHosts 配置;Arch Linux 的 GUI 配置需自行安装各种 GUI 应用;非 NixOS 路径未在 CI 测试,且无 Nix 时 Neovim egress sandbox 等 Nix 管理功能不可用;部分发行版自带 Node.js 过旧,需用官方安装器装 Node 22+。
dotfiles
yutkatMIT活跃维护一套覆盖 Neovim、zsh、WezTerm、Hyprland 和 NixOS 的完整 dotfiles 配置,拿来就能搭出高效终端与桌面工作流。
The best and strongest dotfiles. Editor: Neovim; Shell: zsh(zinit, powerlevel10k); Terminal: WezTerm; Desktop: Hyprland, walker, dunst; OS: NixOS, ArchLinux (Ubuntu/Fedora/CentOS)
git clone https://github.com/yutkat/dotfiles.git
cd dotfiles
./install.sh
sudo nixos-rebuild switch --flake .#<hostname>README 未说明硬件要求,仅按操作系统区分:GUI 配置推荐 NixOS,Arch Linux 需自行安装各类 GUI 应用;CLI 配置支持 NixOS、Arch Linux 及其他 Linux 发行版(仅 Nix 或 mise,未在 CI 测试)。
作者自用的 Nix 与 mise 驱动 dotfiles,一键复刻 Neovim、zsh、WezTerm 和 Hyprland 开发环境
一套覆盖 Neovim、zsh、WezTerm、Hyprland 和 NixOS 的完整 dotfiles 配置,拿来就能搭出高效终端与桌面工作流。
核心能力
- 用 Nix flake 和 Home Manager 声明式安装整套工具链
- 用 mise 管理 dotfiles 链接与工具版本,并提供 setup 任务
- 覆盖 zsh、Neovim、WezTerm 及可选 Hyprland 桌面配置
- 提供 NixOS、其他 Linux 与纯 mise 三种安装路径
- 附 WezTerm 与 Hyprland 常用快捷键表
容易踩的坑
- 52.153最新正式版2026-11-04 · 2026-11-04 02:02 UTC
mise: Migrate dotfile symlinks from home-manager to mise dotfiles zsh: Apply shuck neovim: Change from mason to mise
- 51.0242026-07-09 · 2026-07-09 07:05 UTC
查看更新说明
security: Add firejail and a proxy to Neovim to improve security
- 50.0042026-06-11 · 2026-06-11 04:32 UTC
查看更新说明
neovim: Migrate from Telescope to Snacks neovim: Reduce the plugins
- 49.1542026-06-06 · 2026-06-06 05:30 UTC
查看更新说明
neovim: Change the completion plugin from nvim-cmp to blink.cmp
- 48.0512025-09-03 · 2025-09-03 13:45 UTC
查看更新说明
nix: Use nix instead of an installer nix: Support NixOS claude: Use claude code
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
dotfiles
Overview
My home dotfiles
Supported OS
GUI
- NixOS (recommend)
- Arch Linux (You must install various GUI apps yourself)
CLI
- NixOS
- Arch Linux
- Other Linux distributions (Nix or mise only; not tested in CI)
Install (NixOS)
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Edit Configuration
vi flake.nix # myHosts = { -
Install nix (+flake) and mise
./install.sh -
Setup (installing tools)
sudo nixos-rebuild switch --flake .#<hostname> -
Link dotfiles (managed by
[dotfiles]inmise.toml)export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking 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!
Install (Other OS)
-
Download
git clone https://github.com/yutkat/dotfiles.git cd dotfiles -
Edit Configuration
vi flake.nix # myHosts = { -
Install nix (+flake) and mise
./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)export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking mise trust mise bootstrap dotfiles applyLink 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'
Install (without Nix)
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'
Temporary Install
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 nix and mise
./install.sh --single exec bash -
Setup (installing tools)
nix run --inputs-from . home-manager -- switch --flake .#test -
Link dotfiles (managed by
[dotfiles]inmise.toml)export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking 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'
Components
- zsh
- neovim
- wezterm
- (optional) Hyprland
Usage
Frequently used shortcuts
wezterm
| key | action |
|---|---|
| Alt-h/j/k/l | switch window |
| Alt-j | close window |
| Alt-k | create window |
| S-Up/Down/Left/Right | switch pane |
Hyprland
| 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 |
Insight
Activity
Changes
Star History