1
0
Fork
You've already forked dotfiles
0
No description
  • Vim Script 96.4%
  • Shell 3.6%
Jacqueline Portier 2c811486f7 optimized tmux conf
2026年07月08日 08:58:12 +02:00
git feat(vim): LSP submodules + K8s YAML support 2026年01月11日 09:52:24 +01:00
p10k Clean up and new readme by claude 2025年08月16日 08:48:26 +02:00
powerlevel10k @efc9ddd9b6 feat(vim): LSP submodules + K8s YAML support 2026年01月11日 09:52:24 +01:00
scripts Fix submodules 2025年05月17日 15:01:22 +02:00
tmux optimized tmux conf 2026年07月08日 08:58:12 +02:00
vim Fix pasting and add new vim themes 2026年01月17日 08:22:18 +01:00
wezterm feat(vim): LSP submodules + K8s YAML support 2026年01月11日 09:52:24 +01:00
z Fix z.sh 2025年05月17日 13:32:53 +00:00
zsh Add other LSP servers too 2026年01月11日 10:14:36 +01:00
.gitignore Change gitignore 2024年03月31日 20:49:15 +02:00
.gitmodules Add markdown 2026年01月12日 08:20:47 +01:00
inventory.sh Fix submodules 2025年05月17日 15:01:22 +02:00
MAC_SETUP_README.md Add other LSP servers too 2026年01月11日 10:14:36 +01:00
README-neovim.md Add comprehensive neovim doc 2025年08月16日 11:03:14 +02:00
README.md Add comprehensive neovim doc 2025年08月16日 11:03:14 +02:00
zshrc-mac Fix submodules 2025年05月17日 15:20:24 +02:00

Dotfiles

A comprehensive collection of configuration files for a development environment including Zsh, Vim, Neovim, Tmux, WezTerm, and more.

Quick Start

Prerequisites

Ensure you have the following installed:

  • git (with submodule support)
  • stow (GNU Stow for symlink management)
  • zsh (Z shell)
  • vim
  • tmux (terminal multiplexer)

Installation script for Ubuntu/Debian:

sudo apt update && sudo apt install -y git stow zsh vim neovim tmux

Installation

  1. Clone the repository with all submodules:

    cd ~ && git clone --recurse-submodules https://codeberg.org/jacqueline/dotfiles.git && cd dotfiles
    
  2. Stow the configurations you want:

    # Essential configurations
    stow zsh # Zsh shell configuration with powerlevel10k theme
    stow p10k # Powerlevel10k theme configuration
    stow vim # Vim editor with plugins
    stow tmux # Tmux terminal multiplexer
    stow wezterm # WezTerm terminal emulator
    stow git # Git configuration with credential helpers
    stow z # Z directory jumper
    
  3. Set Zsh as your default shell:

    chsh -s $(which zsh)
    
  4. Restart your terminal or source the new configuration:

    source ~/.zshrc
    

What's Included

Shell Environment

  • Zsh with Oh My Zsh framework
  • Powerlevel10k theme for a beautiful, informative prompt
  • Z - smart directory jumping
  • Custom aliases and functions for productivity
  • Azure CLI and Terraform completion
  • Kubernetes tools (kubectl, kubectx, kubens) with aliases

Editors

  • Vim with extensive plugin ecosystem via Pathogen
    • NERDTree, CtrlP, FZF, Airline, Fugitive, and more
    • Language support for Terraform, Ansible, Bicep, Vagrant
  • Neovim - Modern distributions (LunarVim/LazyVim)

Terminal Tools

  • Tmux configuration for session management
  • WezTerm modern terminal emulator config
  • Custom functions for file encryption/decryption
  • Ripgrep + FZF integration for file searching

Development Tools

  • Python development with pyenv integration
  • Node.js with NVM support
  • Git configuration and aliases
  • Kubernetes development tools and shortcuts

Post-Installation Setup

1. Oh My Zsh Installation

If Oh My Zsh isn't installed:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

2. Azure CLI Completion (if using Azure)

ln -s /etc/bash_completion.d/azure-cli ~/.oh-my-zsh/custom/az.zsh

3. Python Development

# Install and set global Python version
pyenv install 3.13.3
pyenv global 3.13.3

4. SSH Keys & Git Configuration

  • Copy your SSH keys to ~/.ssh/

  • Configure Git with your credentials:

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    

5. Powerlevel10k Configuration

If you want to reconfigure the prompt theme:

p10k configure

6. Create Environment File

Create ~/.env for environment-specific variables and ~/.zshrc_secrets for sensitive configurations that shouldn't be in version control.

7. Neovim Setup (Optional)

For modern Neovim configurations with LazyVim or LunarVim, see the dedicated README-neovim.md guide which includes:

  • Complete LazyVim and LunarVim installation instructions
  • Comprehensive shortcuts and keybindings reference
  • Python development setup with LSP, linting, and formatting
  • GitHub Copilot integration
  • Plugin management and customization
  • Troubleshooting guides

Updating

Update all configurations and submodules:

cd ~/dotfiles
git pull
git submodule update --remote --recursive

Directory Structure

dotfiles/
├── zsh/ # Zsh configuration
├── p10k/ # Powerlevel10k theme config
├── vim/ # Vim configuration with plugins
├── tmux/ # Tmux configuration
├── wezterm/ # WezTerm terminal config
├── git/ # Git configuration with credential helpers
├── z/ # Z directory jumper (submodule)
├── powerlevel10k/ # Powerlevel10k theme (submodule)
└── scripts/ # Utility scripts

Customization

Adding New Configurations

  1. Create a new directory for your app: mkdir myapp
  2. Add your config files: myapp/.myapprc
  3. Stow it: stow myapp

Managing Vim Plugins

Vim plugins are managed as git submodules in vim/.vim/bundle/:

# Add a new plugin
git submodule add https://github.com/user/plugin.git vim/.vim/bundle/plugin
# Remove a plugin
git submodule deinit -f vim/.vim/bundle/plugin
git rm -f vim/.vim/bundle/plugin
git commit -m "Remove plugin"

Customizing Zsh

  • Add personal aliases to ~/.zshrc_secrets (not tracked)
  • Modify zsh/.zshrc for permanent changes
  • Custom functions can be added to the functions section

Troubleshooting

Zsh Theme Not Loading

# Ensure powerlevel10k is properly initialized
source ~/dotfiles/powerlevel10k/powerlevel10k.zsh-theme

Vim Plugins Not Working

# Update all vim plugins
cd ~/dotfiles
git submodule update --init --recursive

Stow Conflicts

If stow reports conflicts with existing files:

# Backup existing files and try again
mv ~/.zshrc ~/.zshrc.backup
stow zsh

Permission Issues

# Fix ownership if needed
sudo chown -R $USER:$USER ~/dotfiles

Features Highlight

Custom Functions

  • vimrg() - Search files with ripgrep and open in vim with FZF
  • encrypt_file() / decrypt_file() - File encryption utilities
  • set_namespace() - Quick Kubernetes namespace switching

Kubernetes Shortcuts

  • kkubectl
  • kxkubectx (context switching)
  • knkubens (namespace switching)
  • ke → Get events sorted by time
  • nodes → Show pods with their nodes

Development Shortcuts

  • h → Search command history
  • c → Copy to clipboard (Linux)
  • v, vi, vim → Various vim shortcuts

Contributing

Feel free to fork this repository and customize it for your needs. If you have improvements or bug fixes, pull requests are welcome!

License

This dotfiles collection is personal configuration. Feel free to use any parts that are helpful for your own setup.