Automated installation (Linux and MacOS):
curl -fsSL https://raw.githubusercontent.com/rayanramoul/dotfiles/main/install.sh | bashManual installation:
# Install chezmoi (https://chezmoi.io)
# Arch Linux
sudo pacman -S chezmoi
# Ubuntu/Debian (no apt package — use the upstream installer)
sh -c "$(curl -fsLS get.chezmoi.io)" -- -b "$HOME/.local/bin"
# MacOS
brew install chezmoi
# Then apply dotfiles
chezmoi init --apply https://github.com/rayanramoul/dotfiles
# or if you have SSH access
chezmoi init --apply git@github.com:rayanramoul/dotfilesAfter applying, run the package installer to pick up everything from .chezmoidata/packages.yaml:
chezmoi cd && ./run_onchange_install-packages.sh.tmplRayTerm is a set of configurations, dotfiles and software defining an opinionated, optimal environment to code in. It is :
- Tiling Window Management on every OS (Hyprland on Linux, AeroSpace on macOS, GlazeWM on Windows).
- Coherent and reproducible workflows from an OS to another, managed with chezmoi.
- Strongly relying on terminal tools : Neovim, Tmux/Zellij, Zsh, Nushell, Fzf, etc.
- AI-native — first-class integration with Claude Code, Ollama, LM Studio and opencode.
- All prettier with Catppuccin Mocha (and pywal for dynamic theming).
The idea is to have one main key associated with each part of the system
SUPERfor the window manager.Ctrlfor the terminal.Ctrl + bfor tmux.CtrlandSpacefor neovim.
| Layer | Linux (Arch / CachyOS) | macOS | Windows |
|---|---|---|---|
| Window manager | Hyprland | AeroSpace | GlazeWM |
| Status bar | Waybar / HyprPanel / Noctalia | SketchyBar (+ JankyBorders) | GlazeWM bar |
| Launcher | Vicinae (Raycast-style) | Raycast | Wox |
| Terminal | Ghostty | Ghostty / Alacritty | Alacritty / Windows Terminal |
| Shells | Zsh (Powerlevel10k) + Nushell (Starship) | same | same (via WSL) |
| Editor | Neovim (LazyVim) | Neovim (LazyVim) | Neovim (LazyVim) |
| Multiplexer | Tmux / Zellij | Tmux / Zellij | Tmux / Zellij |
| File manager | Yazi / Dolphin | Yazi / Finder | Yazi / Explorer |
| Lock / idle | Hyprlock + Hypridle | — | — |
| Wallpaper | swww (with wallpaperctl.sh) |
— | — |
| Notifications | SwayNC | native | native |
Shared CLI utilities across all platforms: bat, eza / lsd, fzf, ripgrep, fd, zoxide, atuin, starship, just, git-delta, difftastic, lazygit, lazydocker, bpytop, tldr, yazi.
AI tooling: Claude Code (with claude-diff hook), Ollama, LM Studio, opencode, and Neovim integrations (claude-code.nvim, minuet, custom code-diff/preview plugins).
You can find my documentation of each part of my workflow in the docs folder.
- Neovim: My neovim configuration.
- Terminal: My terminal configuration.
- Tmux: My tmux configuration.
- ArchLinux: My ArchLinux workflow guide.
- MacOS: My MacOS workflow guide.
- Windows: My Windows workflow guide.
If RayTerm has been helpful to you, please consider giving it a star! ⭐ It helps others discover the repository and shows appreciation for the effort put into creating and maintaining it.
Thank you for your support! 🚀
