Manage mainliufeng's modular dotfiles for Linux development environment (Neovim, Zsh, AwesomeWM, Zellij, Claude Code, and custom scripts)
Manage mainliufeng's personal dotfiles repository for configuring a Linux development environment with Neovim, Zsh, AwesomeWM, Zellij, and development tools.
This skill helps you work with a modular dotfiles repository where each component (nvim, git, awesome, zsh, zellij, etc.) has its own directory with setup scripts, configuration files, and linking scripts. It provides guidance on installation, configuration updates, and understanding the architecture of the development environment.
When the user asks about or wants to work with this dotfiles repository, follow these steps:
The repository follows a modular pattern:
- `setup.sh` - Installs dependencies for that component
- `link.sh` - Creates symbolic links to `~/.config/` or appropriate locations
- Configuration files specific to that component
Key directories:
For complete environment setup:
```bash
sh 1_dev/setup.sh
```
For individual components:
```bash
sh <component>/setup.sh
sh <component>/link.sh
```
For all component links at once:
```bash
sh link.sh
```
For custom scripts installation:
```bash
sh scripts/dotfiles-setup-scripts
```
**Neovim (`nvim/`)**:
**Zellij (`zellij/`)**:
**AwesomeWM (`awesome/`)**:
**Shell (`zsh/`)**:
**Custom Scripts (`scripts/`)**:
**Claude Code & Codex**:
When the user wants to modify configurations:
1. **Identify the component**: Determine which component directory contains the config
2. **Edit in place**: Files are already linked to system locations, so edits in the repo affect the active config
3. **Test changes**: Reload the relevant service (e.g., `:source $MYVIMRC` for Neovim, restart AwesomeWM)
4. **Commit changes**: Help user commit and document the changes
When adding a new tool configuration:
1. Create a new directory for the component
2. Add configuration files
3. Create `setup.sh` for dependency installation
4. Create `link.sh` for symbolic linking
5. Update root `link.sh` to include the new component
The setup includes:
**Go Development**:
**Python**:
**JavaScript/Node**:
**Update a single component**:
```bash
sh <component>/setup.sh && sh <component>/link.sh
```
**Refresh all scripts**:
```bash
sh scripts/dotfiles-setup-scripts
```
**Full environment refresh**:
```bash
sh 1_dev/setup.sh
```
1. Navigate to `nvim/` directory
2. Help user edit the relevant Lua file (e.g., `init.lua` or files in `lua/mainliufeng/`)
3. Test changes with `:source $MYVIMRC` in Neovim
4. Commit changes if successful
1. Create the script in `scripts/` directory
2. Make it executable: `chmod +x scripts/new-script`
3. Run `sh scripts/dotfiles-setup-scripts` to install to `/usr/local/bin/`
4. Test the script
5. Commit the new script
1. Navigate to `zellij/config.kdl`
2. Explain the keybinds (Alt+m for fullscreen, Alt-based navigation)
3. Show how `zellij/setup.sh` handles installation
4. Demonstrate how to test changes by restarting Zellij
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/linux-dotfiles-manager/raw