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)

52.153发布于 2026-11-04 02:02 UTC1,002star47fork同步于 2026-11-10 11:51 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/yutkat/dotfiles.git
cd dotfiles
./install.sh
sudo nixos-rebuild switch --flake .#<hostname>
硬件要求按 README 说明

README 未说明硬件要求,仅按操作系统区分:GUI 配置推荐 NixOS,Arch Linux 需自行安装各类 GUI 应用;CLI 配置支持 NixOS、Arch Linux 及其他 Linux 发行版(仅 Nix 或 mise,未在 CI 测试)。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

作者自用的 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 常用快捷键表

容易踩的坑

安装前需先编辑 flake.nix 中的 myHosts 配置;Arch Linux 的 GUI 配置需自行安装各种 GUI 应用;非 NixOS 路径未在 CI 测试,且无 Nix 时 Neovim egress sandbox 等 Nix 管理功能不可用;部分发行版自带 Node.js 过旧,需用官方安装器装 Node 22+。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本52.153
  1. 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

  2. 51.0242026-07-09 · 2026-07-09 07:05 UTC
    查看更新说明

    security: Add firejail and a proxy to Neovim to improve security

  3. 50.0042026-06-11 · 2026-06-11 04:32 UTC
    查看更新说明

    neovim: Migrate from Telescope to Snacks neovim: Reduce the plugins

  4. 49.1542026-06-06 · 2026-06-06 05:30 UTC
    查看更新说明

    neovim: Change the completion plugin from nvim-cmp to blink.cmp

  5. 48.0512025-09-03 · 2025-09-03 13:45 UTC
    查看更新说明

    nix: Use nix instead of an installer nix: Support NixOS claude: Use claude code

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    dotfiles

    total lines GitHub code size in bytes GitHub repo size Created

    GitHub commit week activity GitHub commit month activity GitHub commit year activity

    Overview

    My home dotfiles

    overview

    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)

    1. Download

      git clone https://github.com/yutkat/dotfiles.git
      cd dotfiles
      
    2. Edit Configuration

      vi flake.nix
      # myHosts = {
      
    3. Install nix (+flake) and mise

      ./install.sh
      
    4. Setup (installing tools)

      sudo nixos-rebuild switch --flake .#<hostname>
      
    5. Link dotfiles (managed by [dotfiles] in mise.toml)

      export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking
      mise trust
      mise bootstrap dotfiles apply
      
    6. zsh plugin install

      exec zsh
      
    7. Install mise tools and run setup tasks

      mise run setup
      
    8. neovim plugin install

      vi --headless -c 'Lazy! sync' -c 'qall'
      
    9. Enjoy!

    Install (Other OS)

    1. Download

      git clone https://github.com/yutkat/dotfiles.git
      cd dotfiles
      
    2. Edit Configuration

      vi flake.nix
      # myHosts = {
      
    3. Install nix (+flake) and mise

      ./install.sh
      
    4. Setup (installing tools)

      The first run uses the locked Home Manager; afterwards home-manager switch is 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>
      
    5. Link dotfiles (managed by [dotfiles] in mise.toml)

      export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking
      mise trust
      mise bootstrap dotfiles apply
      

      Link sources are relative to the repository root, so any clone location works without extra configuration.

    6. zsh plugin install

      exec zsh
      
    7. Install mise tools and run setup tasks

      mise run setup
      
    8. 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.

    1. Install prerequisites with the OS package manager

      git, zsh, curl, gcc, make, unzip, node (22+), and bun (mise installs npm-based tools with bun)

      # Arch Linux
      sudo pacman -S --needed git zsh curl gcc make unzip nodejs-lts-jod bun
      

      Distribution Node.js packages can be too old (e.g. Ubuntu); use the official installer in that case.

    2. Install mise

      curl https://mise.run | sh
      export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking
      
    3. Download

      git clone https://github.com/yutkat/dotfiles.git
      cd dotfiles
      
    4. Link dotfiles (managed by [dotfiles] in mise.toml)

      mise trust
      mise bootstrap dotfiles apply
      
    5. zsh plugin install

      exec zsh
      
    6. Install mise tools and run setup tasks

      mise run setup
      
    7. neovim plugin install

      vi --headless -c 'Lazy! sync' -c 'qall'
      

    Temporary Install

    If you do not want to dirty your home directory

    1. Setup the container

      docker run -it --rm archlinux:latest /bin/bash
      
    2. Setup the environment

      pacman -Sy --noconfirm sudo git
      useradd -m -s /bin/bash test
      echo 'test ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
      su - test
      
    3. Download

      git clone https://github.com/yutkat/dotfiles.git
      cd dotfiles
      
    4. Install nix and mise

      ./install.sh --single
       exec bash
      
    5. Setup (installing tools)

      nix run --inputs-from . home-manager -- switch --flake .#test
      
    6. Link dotfiles (managed by [dotfiles] in mise.toml)

      export PATH="$HOME/.local/bin:$PATH" # .zshenv adds this after linking
      mise trust
      mise bootstrap dotfiles apply
      
    7. zsh plugin install

      exec zsh
      
    8. Install mise tools and run setup tasks

      mise run setup
      
    9. neovim plugin install

      vi --headless -c 'Lazy! sync' -c 'qall'
      

    Components

    • zsh
    • neovim
    • wezterm
    • (optional) Hyprland

    Usage

    Frequently used shortcuts

    wezterm
    keyaction
    Alt-h/j/k/lswitch window
    Alt-jclose window
    Alt-kcreate window
    S-Up/Down/Left/Rightswitch pane
    Hyprland
    keyaction
    Mod-h/j/k/lswitch window
    Mod-S-h/j/k/lmove window
    Mod-C-S-h/j/k/lmove workspace

    Insight

    Activity

    Changes

    Star History