Personal development environment bootstrap for Ubuntu/Pop!_OS.
This repository provides:
- Zsh setup (Oh My Zsh, Powerlevel10k, plugins)
- Neovim setup (Kickstart-based config, plugin bootstrap, Mason tools)
- Visual Studio Code setup (settings link + extension install)
- Kitty terminal setup (config link, default terminal, Super+T shortcut)
- Core CLI/language tooling (Rust, uv, Python tools, C/C++ toolchain, utftex)
- Font setup (JetBrains Mono + Nerd Font)
.zshrc: shell config.p10k.zsh: Powerlevel10k confignvim/: versioned Neovim Kickstart configkitty/: Kitty terminal configsettings.json: VS Code user settings to be linkedscripts/install.sh: main installer entrypointscripts/*.sh: modular install stagesdocs/TOOLING_REFERENCE.md: tools/packages referencedocs/PLUGIN_WIKI.md: plugin/extension wiki links
- Ubuntu
- Pop!_OS
git clone https://github.com/Vybornak2/dotfiles.git ~/dotfiles
cd ~/dotfiles
chmod +x scripts/*.sh scripts/testing/*.sh
./scripts/install.sh
./scripts/42-config-git.shNotes:
- Run from the repository root.
- Installer uses
sudofor system packages. - Each numbered script can also be run directly from
scripts/. - Docker users need to log out and back in after install so the group change takes effect.
Run specific portions of the installer:
./scripts/install.sh
./scripts/42-config-git.shExecution order is defined in scripts/install.sh:
10-setup-preflight.sh20-deps-core-packages.sh21-deps-cpp.sh22-deps-python.sh23-deps-rust.sh24-deps-lua.sh25-deps-fonts.sh30-tools-node.sh31-tools-kitty.sh32-tools-zsh.sh33-tools-nvim.sh34-tools-extra-cli.sh35-tools-docker.sh36-tools-vscode.sh37-tools-utftex.sh40-config-links.sh41-config-nvim-bootstrap.sh42-config-git.sh43-config-terminal.sh50-verify.sh51-cleanup.sh
- Tool/package reference:
docs/TOOLING_REFERENCE.md - Plugin/extension wiki links:
docs/PLUGIN_WIKI.md - Requirements checklist:
todo.md
- Restart shell session to load updated Zsh environment.
- Open Neovim once and confirm plugins/LSP tools are healthy via
:checkhealth. - Open VS Code and confirm extensions/settings are applied.