2.5 KiB
Custom environment
My personal development environment and dotfiles. The repository contains the configuration I use to keep the terminal, editor, shell history, and Git workflow consistent across machines.
Toolset
| Tool | Purpose |
|---|---|
| Kitty | Terminal emulator |
| Neovim | Editor and development environment |
| Starship | Fast, minimal shell prompt |
| direnv | Per-project environment variables |
| zoxide | Smarter directory navigation |
| Atuin | Searchable shell history |
| fzf | Fuzzy finding from the command line |
| eza | Modern replacement for ls |
| GitUI | Terminal UI for Git |
The shell configuration also includes shortcuts for Meson and Ninja builds,
sanitizer-assisted test runs, perf, FlameGraph, and systemd user scopes.
Repository layout
.
├── .bashrc # Bash environment, aliases, and helper functions
├── atuin/ # Atuin configuration
├── gitui/ # GitUI key bindings
├── kitty/ # Kitty settings and color themes
├── nvim/ # Neovim configuration and plugin lockfile
└── wallpapers/ # Desktop wallpapers
Starship, direnv, zoxide, fzf, and eza do not currently have dedicated configuration directories tracked in this repository.
Installation
Clone the repository, install the tools listed above using your system package manager, and link the configuration files into their expected locations. For example:
git clone git@github.com:Claucdan/Custom-environment.git
cd Custom-environment
ln -sfn "$PWD/nvim" "$HOME/.config/nvim"
ln -sfn "$PWD/kitty" "$HOME/.config/kitty"
ln -sfn "$PWD/atuin" "$HOME/.config/atuin"
ln -sfn "$PWD/gitui" "$HOME/.config/gitui"
Review .bashrc before sourcing or linking it: some aliases, paths, and helper
functions are tailored to my local development setup.