Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ First-pass recipes include:

- `baseline`: required setup basics only
- `zsh`, `git`, `helix`, `lazygit`, `starship`, `fzf`, `bat`, `git-delta`, `just`,
`tmux`, `yazi`: optional interactive tools
`tmux`, `zellij`, `yazi`: optional interactive tools
- `agent-user`: `dvm-agent` plus mandatory Bubblewrap sandboxing for AI tools
- `codex`, `claude`, `opencode`, `mistral`: hosted AI CLIs inside the VM
- `chezmoi`: public HTTPS dotfiles
Expand Down
5 changes: 4 additions & 1 deletion docs/recipes.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ recipes or project-specific VM configs.
VMs only when the selected service recipes install every dependency they need.

Interactive tools are split into one recipe per tool: `zsh`, `git`, `helix`,
`lazygit`, `starship`, `fzf`, `bat`, `git-delta`, `just`, `tmux`, and `yazi`. `zsh`
`lazygit`, `starship`, `fzf`, `bat`, `git-delta`, `just`, `tmux`, `zellij`, and
`yazi`. `zsh`
installs zsh and sets it as the guest user's default login shell with `usermod
--shell`. The DNF-backed recipes install from Fedora.
The upstream-backed recipes try Fedora first and otherwise use pinned official release
Expand Down Expand Up @@ -106,6 +107,7 @@ use bat
use git-delta
use just
use tmux
use zellij
use yazi
```

Expand All @@ -123,6 +125,7 @@ use_app_tools() {
use git-delta
use just
use tmux
use zellij
use yazi
}
```
Expand Down
1 change: 1 addition & 0 deletions share/dvm/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ use_tools() {
# use git-delta # delta diff pager
# use just # just task runner
# use tmux # tmux terminal multiplexer
# use zellij # Zellij terminal multiplexer
# use yazi # yazi file manager
# use node # Node.js, npm, corepack
# use python # Python and uv
Expand Down
26 changes: 26 additions & 0 deletions share/dvm/recipes/zellij.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Description: Zellij terminal multiplexer
set -euo pipefail

# Pinned fallback release checked 2026-05-07:
# https://github.com/zellij-org/zellij/releases/tag/v0.44.2

install_zellij_pinned() {
sudo dnf5 install -y ca-certificates curl tar gzip
case "$(dvm_recipe_arch zellij)" in
arm64)
dvm_recipe_install_tar_bin zellij \
"https://github.com/zellij-org/zellij/releases/download/v0.44.2/zellij-aarch64-unknown-linux-musl.tar.gz" \
"e0b2ddbf050d58577b09b2a032a54f1a3fac0e214d1605c5969e8936340fff6b" \
zellij
;;
x86_64)
dvm_recipe_install_tar_bin zellij \
"https://github.com/zellij-org/zellij/releases/download/v0.44.2/zellij-x86_64-unknown-linux-musl.tar.gz" \
"26e1753b4c8451912523c7d8700c5aed75392ea57f0b1c988560f3bbc7775744" \
zellij
;;
esac
}

dvm_recipe_dnf_or_pinned zellij zellij install_zellij_pinned