# System Dependencies

## Core

| Tool | Arch | Debian/Ubuntu | Fedora | Notes |
|------|------|---------------|--------|-------|
| git | git | git | git | |
| zsh | zsh | zsh | zsh | |
| neovim | neovim | neovim | neovim | 0.9+ required |
| ripgrep | ripgrep | ripgrep | ripgrep | fzf-lua, grug-far |
| fd | fd | fd-find | fd-find | fzf-lua |
| fzf | fzf | fzf | fzf | |
| a Nerd Font | ttf-firacode-nerd | fonts-firacode | fira-code-fonts | nvim-web-devicons, lualine |

## Neovim LSPs and tools (mason is disabled)

| Tool | Arch | Debian/Ubuntu | Fedora | Notes |
|------|------|---------------|--------|-------|
| clangd | clang | clangd | clang-tools-extra | C/C++ LSP |
| rust-analyzer | rust-analyzer | rust-analyzer | rust-analyzer | Rust LSP (rustaceanvim) |
| lua-language-server | lua-language-server | — | — | `cargo install` or GitHub release |
| stylua | stylua | — | — | `cargo install stylua` |
| cmake | cmake | cmake | cmake | cmake-tools.nvim |

## Typst support (optional)

| Tool | Arch | Debian/Ubuntu | Fedora | Notes |
|------|------|---------------|--------|-------|
| tinymist | tinymist | — | — | `cargo install tinymist` |
| websocat | websocat | — | — | `cargo install websocat` or GitHub release |

## Hyprland desktop

| Tool | Arch | Debian/Ubuntu | Fedora | Notes |
|------|------|---------------|--------|-------|
| hyprland | hyprland | — | hyprland (COPR) | Compositor |
| hyprpaper | hyprpaper | — | hyprpaper | Wallpaper |
| hyprlock | hyprlock | — | hyprlock (COPR) | Lockscreen |
| kanshi | kanshi | kanshi | kanshi | Display profiles |
| eww | eww | — | — | Bar/widgets |
| rofi | rofi | rofi | rofi | Launcher |
| ghostty | ghostty | — | ghostty | Terminal |
| dolphin | dolphin | dolphin | dolphin | File manager |
| nm-applet | network-manager-applet | network-manager-gnome | network-manager-applet | |
| blueman | blueman | blueman | blueman | Bluetooth |
| grim | grim | grim | grim | Screenshot |
| slurp | slurp | slurp | slurp | Region selector |
| swappy | swappy | — | — | Screenshot editor |

Packages marked — are not in the default repos; install via `cargo install`, COPR, or from GitHub releases.
