# Dotfiles Personal dotfiles for development environment configuration. ## Structure ``` nvim/ # Neovim config (symlink to ~/.config/nvim) ├── init.lua └── lua/ ├── config/ │ ├── autocmds.lua │ ├── keymaps.lua │ └── options.lua └── plugins/ ├── bufferline.lua ├── cmp.lua ├── colorscheme.lua ├── editor.lua ├── git.lua ├── lsp.lua ├── lualine.lua ├── session.lua ├── telescope.lua └── treesitter.lua bazzite/ # Bazzite (Fedora) + Niri compositor configs ├── niri/config.kdl ├── btop/btop.conf ├── glow/glow.yml ├── gtk-3.0/ │ ├── colors.css │ ├── gtk.css │ └── settings.ini ├── gtk-4.0/ │ ├── colors.css │ ├── gtk.css │ └── settings.ini ├── fuzzel/fuzzel.ini ├── waybar/ │ ├── config.jsonc │ └── style.css ├── xsettingsd/xsettingsd.conf ├── environment.d/intel-gtk-fix.conf └── autostart/steam.desktop ``` ## Neovim Requires Neovim 0.11+ — uses native APIs (`vim.lsp.config`, `vim.lsp.enable`, built-in treesitter). **Plugin manager:** lazy.nvim (auto-bootstraps on first launch). **Leader key:** Space. ### Languages Rust, Zig, TypeScript/JavaScript, C/C++. ### LSP servers | Server | Language | Install | |---|---|---| | rust-analyzer | Rust | `rustup component add rust-analyzer` (via rustaceanvim) | | clangd | C/C++ | auto-installed via mason | | ts_ls | TypeScript/JS | auto-installed via mason | | zls | Zig | `brew install zls` | ### Key plugins telescope, treesitter, nvim-cmp, bufferline, neo-tree, gitsigns, lazygit, lualine, which-key, persistence, alabaster theme. ## Bazzite Configs for Bazzite (Fedora Atomic) with Niri Wayland compositor. | Config | Description | |---|---| | `niri/config.kdl` | Niri compositor | | `fuzzel/fuzzel.ini` | App launcher | | `waybar/` | Top panel (config + style) | | `btop/btop.conf` | System monitor | | `glow/glow.yml` | Terminal markdown viewer | | `gtk-3.0/`, `gtk-4.0/` | GTK theme and colors | | `xsettingsd/xsettingsd.conf` | X11/XWayland settings (fonts, theme) | | `environment.d/intel-gtk-fix.conf` | Intel GPU environment fix | | `autostart/steam.desktop` | Steam autostart | ## Setup ### macOS (Neovim) ```bash ln -s ~/Docs/Projects/dotfiles/nvim ~/.config/nvim brew install lazygit # First nvim launch will auto-install plugins, then run: # :TSInstall rust zig typescript javascript tsx c cpp lua json yaml toml html css markdown bash ``` ### Bazzite ```bash # Symlink configs to ~/.config/ for dir in niri fuzzel waybar btop glow gtk-3.0 gtk-4.0 xsettingsd environment.d autostart; do ln -sf ~/Docs/Projects/dotfiles/bazzite/$dir ~/.config/$dir done ```