Personal workstation configuration managed with GNU Stow. Targets Ubuntu and macOS (primary), with Fedora KDE kept as legacy. Provides a reproducible, terminal-centric development environment with a consistent GitHub Dark visual theme across all tools.
bash <(curl -sL https://raw.githubusercontent.com/luisalcarasr/dotfiles/main/ubuntu.sh)
bash <(curl -sL https://raw.githubusercontent.com/luisalcarasr/dotfiles/main/macos.sh)
bash <(curl -sL https://raw.githubusercontent.com/luisalcarasr/dotfiles/main/fedora.sh)
Install stow first:
| OS |
Command |
| Ubuntu |
sudo apt install stow |
| macOS |
brew install stow |
| Fedora |
sudo dnf install stow |
Then clone and deploy:
git clone git@github.com:luisalcarasr/dotfiles.git ~/.dotfiles && cd ~/.dotfiles && stow .
| Group |
Packages |
Description |
| π§ system |
stow, git, curl, wget |
Base tools and dotfile symlink management |
| π shell |
fish, zoxide, fzf, fastfetch |
Primary shell, smart navigation, system info |
| π editor |
neovim |
LazyVim-based editor with LSP and GitHub Dark |
| β‘ cli |
bat, fd-find, ripgrep, tree, jq, btop, unzip |
Modern CLI replacements and system monitor |
| π upstream |
eza, lazygit |
Tools not in default repos (apt repo / GitHub) |
| π containers |
podman, distrobox |
Daemonless containers and distro environments |
| π languages |
python3, python3-pip, pipx |
Python runtime and isolated tool installer |
| π¦ snap |
Brave |
GUI apps via Snap (no Flatpak on Ubuntu) |
βΉοΈ On Ubuntu, bat installs as batcat and fd-find as fdfind. The setup script creates bat and fd shims in ~/.local/bin.
| Group |
Packages |
Description |
| π shell |
fish, tmux, zoxide, fzf, fastfetch |
Shell, multiplexer, smart navigation |
| π editor |
neovim, rust-analyzer |
Primary editor and Rust LSP server |
| β‘ cli |
bat, eza, fd, ripgrep, tree, jq, glow, pandoc, watch, btop, poppler |
Modern CLI tools and document utilities |
| πΏ git |
lazygit, glab, gitleaks, stow, gnupg |
Git TUI, GitLab CLI, secrets scanner, GPG |
| π containers |
colima, docker, docker-compose, docker-buildx, qemu, lazydocker |
Docker Desktop alternative with TUI |
| π languages |
python@3.12, pipx, openjdk@21 |
Python 3.12 LTS, isolated tools, Java 21 JDK |
| π network |
curl, wget, axel, nmap |
Networking, downloaders and port scanner |
| ποΈ database |
postgresql@14 |
Local relational database via brew services |
| π© utils |
unzip |
System utilities |
| π₯οΈ casks |
kitty, ghostty, mos, insomnia, gimp |
GPU terminal, API client, image editor |
| Group |
Packages |
Description |
| π§ system |
stow, git, curl, wget |
Base tools and dotfile symlink management |
| π shell |
fish, zoxide, fzf, fastfetch |
Primary shell, smart navigation, system info |
| π editor |
neovim |
LazyVim-based editor with LSP and GitHub Dark |
| β‘ cli |
bat, eza, fd-find, ripgrep, tree, jq, btop, unzip |
Modern CLI replacements and system monitor |
| πΏ git |
lazygit |
Full-featured Git TUI |
| π containers |
podman, distrobox |
Daemonless containers and distro environments |
| π languages |
python3, python3-pip, pipx |
Python runtime and isolated tool installer |
| π± flatpak |
Brave, Steam, Heroic, ProtonUp-Qt |
GUI apps via Flathub |
| Package |
Target |
Contents |
| π fish |
~/.config/fish/ |
Shell config, plugins (tide, nvm, repojump), aliases |
| π nvim |
~/.config/nvim/ |
LazyVim config, plugins, keymaps, GitHub Dark theme |
| π± kitty |
~/.config/kitty/ |
Terminal theme, OS-specific font and keybindings |
| πΏ git |
~/ |
.gitconfig and git-ai AI commit command |
| π€ opencode |
~/.config/opencode/ |
AI provider config, custom agents and slash commands |
| π distrobox |
~/.config/distrobox/ |
Container desktop entry suppression (Linux only) |