This repository contains my personal Linux system configuration files (dotfiles) for a customized development and desktop environment.
This configuration provides a complete setup with:
- Wayland desktop environment with River compositor
- Development tools for Python, Node.js, Rust, and C++
- Chinese input method support
- Terminal environment with Zsh, Oh My Zsh, and custom functions
- Mirror configurations for faster package downloads in China
Directory/File | Purpose | Description |
---|---|---|
.config/ |
Application Configs | Traditional application configuration files for desktop apps and tools |
.nix/ |
NixOS Configuration | NixOS-specific system configuration (see .nix/README.md) |
.zshrc |
Shell Configuration | Zsh shell configuration with Oh My Zsh, custom functions, and aliases |
.gitconfig |
Git Configuration | Git user settings and aliases |
-
.zshrc
- Zsh configuration with:- Oh My Zsh integration
- Custom functions (date formatting, translation)
- FZF (fuzzy finder) configuration
- Package manager mirror settings (NPM, Pip, Rust)
- Proxy configuration
- Claude AI aliases
-
.config/
- Application-specific configurations:- River (Wayland compositor)
- i3status-rust (status bar)
- fcitx5 (input method)
- newsboat (RSS reader)
- foot (terminal)
- and more...
- Languages: Python 3, Node.js (via fnm), Rust, C/C++
- Editors: Neovim, VS Code
- Tools: Git, Docker, kubectl, fzf
- Oh My Zsh with plugins: git, sudo, docker, kubectl, history, colored-man-pages, fzf
- Custom functions:
mydate
- Custom date formattingtododate
- Todo-friendly date formattozh
/toen
- Quick translation functions
Configured mirrors for faster downloads in China:
- Node/NPM: npmmirror.com
- Python/pip: pypi.tuna.tsinghua.edu.cn
- Rust: mirrors.ustc.edu.cn
The configuration files in this repository can be:
- Symlinked to your home directory
- Managed with a dotfiles manager like GNU Stow
- Manually copied to the appropriate locations
If you're using NixOS, see .nix/README.md for system configuration details.
After updating .zshrc
, reload the configuration:
source ~/.zshrc
- OS: Arch Linux
- Shell: Zsh with Oh My Zsh
- Display Protocol: Wayland
- Compositor: River
- Input Method: Fcitx5
- Time Zone: Asia/Hong_Kong