- DE: KDE Plasma configs
- Wayland desktop: Niri + Noctalia v5, Tokyo Night palette, Omarchy wallpaper, dual-monitor layout and native idle locking — setup guide
- Terminal: Alacritty (installed via mise, with a locally managed desktop entry) + Cosmic Term configs
- Terminal multiplexer: tmux configs
- Terminal multiplexer: zellij (auto-installed)
- Shell prompt: Starship configs
- Shell: Zsh (with Oh My Zsh) + Bash
- File manager: Yazi (auto-installed)
- Font: monospace font set to Monaspace Nerd Fonts (auto-installed)
- Claude Code —
mise run cc - OpenCode —
mise run oc - Pi —
mise run pi - Codex CLI —
mise run codex - Antigravity CLI —
mise run agy
Dev Tools (managed by mise)
- Languages: Python 3.13, Node 24, Go, Rust (latest)
- Package managers: uv, bun
- CLI tools: k9s, ripgrep, GitHub CLI, rtk
- Web: vibe-kanban, @termly-dev/cli
- Skills: skillshare for cross-tool AI skill sync
Dotfile management: chezmoi
- External tools auto-installed: mise, oh-my-zsh, monaspace fonts, skillshare, lazyssh, yazi, zellij
- Alacritty desktop entry: local chezmoi template using the stable mise shim, independent of the compositor's PATH
- Encryption: age-encrypted files for personal tokens
- Agent configs: GSD (
~/.gsd), Pi (~/.pi) - Rust: Cargo config (
~/.cargo) - X11:
~/.Xresources,~/.xinitrc,~/.xprofile - SSH & OpenClaw (private dirs)
- The monitor layout targets this machine:
DP-1at 3840×2160 / 150% scale, withHDMI-A-1rotated 90° on the right. Adjust connector names and geometry on other machines. Super+Topens Alacritty;Super+Dopens the Noctalia application launcher. Alacritty launches through the mise shim because a graphical session may not inherit shell PATH settings.- Noctalia handles notifications; the managed user-service mask disables mako to prevent competing notification daemons. The mako package is not uninstalled.
- Niri and Noctalia must already be installed. See the desktop guide for first-apply state overrides, lockscreen testing and rollback details.
- Install
gitandfontconfigwhich are used in the process below
For Debian/Ubuntu users:
apt install git fontconfig zsh curl
apt install cmake g++ pkg-config libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin- Then initialize and apply the configuration:
chezmoi init pkking
chezmoi apply- install deps
apt install git fontconfig zsh curl
apt install cmake g++ pkg-config libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin- recover age key
mkdir -p ~/.config/chezmoi
# 将私钥内容写入 key.txt,并设置严格的文件权限
nano ~/.config/chezmoi/key.txt
chmod 600 ~/.config/chezmoi/key.txt- place chezmoi age key config in
~/.config/chezmoi/chezmoi.toml
# cat ~/.config/chezmoi/chezmoi.toml
encryption = "age"
[age]
identity = "~/.config/chezmoi/key.txt"
recipient = "age1..." # 你的公钥(可选配置,解密阶段主要依赖 identity)- init dotfiles
chezmoi init --apply pkkingInstall tmux plugins by pressing Ctrl + a and Shift+i
Now all tmux plugins will be installed on a new machine due to this tip
- Encrypt a file with sensitive data:
chezmoi add --encrypt <path to file>- Re-encrypt all files when adding a new public key:
chezmoi re-add --encryptFeel free to email me or create an issue.
Have fun :)
