Native Shell
Native Shell:AI 生成的 UI,在你的應用中原生呈現,涵蓋每個平台。iOS、Android、macOS、Windows 與 Linux 上的應用、GPUI 應用與網頁在執行時載入已簽名、沙箱隔離的 TSX 模組並繪製 th
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The official omaflake catalog – recipes and looks for disposable NixOS and macOS VMs.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The official catalog of omaflake – disposable NixOS and macOS VMs on Mac and Linux: recipes, the modules they are made of, key bindings and looks. A recipe declares what a VM is – a platform, its modules, a suggested look and key bindings, what a VM needs and how it runs; omaflake builds an image from a recipe and starts VMs from that image.
omaflake ships none of it. It knows this repository as its default source: the Recipes, Modules and Looks tabs list
what is here, and installing a recipe brings what it is made of. Entries by omaflake from this repository are marked
as official and suggested at the first start. Anyone can propose a recipe, a module, key bindings or a look by pull
request (CONTRIBUTING.md); the core team reviews it (REVIEW.md) before it is merged. You can also run a catalog of your
own (FORKING.md).
How recipes work: Writing recipes on omaflake.dev.
catalog.json generated – the one file omaflake reads to browse this source
source.toml name and description of this source, allowed licenses
tags.toml the tags recipes and modules ([tags]) and looks ([looks]) may use
capabilities.toml what modules may provide and need (desktop, terminal, editor, …)
recipes/<author>/<platform>/<name>/ one folder per recipe
recipe.toml what is in it, how it looks, which keys, what a VM needs – data only
modules/<author>/<platform>/<name>/ one folder per module
module.toml its version, capabilities, actions with default keys
default.nix a NixOS module (platform nixos) or a nix-darwin module (platform macos)
… its own files: scripts, configs, icons, assets
keymaps/<author>/<name>/ one folder per key binding set
keymap.toml keys for modules' actions
looks/<author>/<name>/ one folder per look
look.toml its colours and choices (schema look/v1)
preview.png optional: a screenshot
tools/catalog.py checks everything (also overlapping keys) and writes catalog.json
.github/ CI (the same check) and the pull request checklist
<author> is the GitHub name of whoever submitted it (omaflake for the core team's). The folder is its identity:
a recipe's ID is <author>.<platform>.<name>, a module's too; recipes name modules, key bindings and looks as
<author>/<name> (a module of the recipe's platform).<platform> is nixos or macos. A recipe or module for both is two folders.| Recipe | Modules |
|---|---|
omaflake/nixos/neovim-minimal | hyprland, shell, wezterm, zellij, neovim |
omaflake/nixos/neovim-research | as neovim-minimal + zathura, latex, typst, python-data, pandoc |
omaflake/nixos/emacs-minimal | hyprland, shell, wezterm, emacs |
omaflake/macos/minimal | desktop, shell |
omaflake/macos/research | desktop, shell, wezterm, zellij, neovim, latex, typst, vscode, pandoc, lazygit, homebrew |
omaflake/nixos/lab, omaflake/macos/lab | for developing omaflake itself (shown in developer mode only): + omaflake-dev |
All with the look omaflake/omaflake and the key bindings omaflake/default.
| NixOS | |
|---|---|
hyprland | the desktop: Hyprland, Waybar, Fuzzel, Mako, PipeWire, the window following the VM's size |
shell | zsh, Starship, ripgrep, fd, bat, eza, fzf, jq, btop, fastfetch |
wezterm | the terminal |
zellij | the multiplexer with keys that leave the editor's alone (Ctrl+g unlocks) |
neovim | Neovim, preconfigured; the default editor |
emacs | Emacs (pure GTK), preconfigured; the default editor |
zathura | the PDF viewer |
latex | TeX Live (full), texlab; vimtex with Neovim, SyncTeX with zathura |
typst | Typst, tinymist; a live PDF with Neovim |
python-data | numpy, pandas, matplotlib, JupyterLab |
pandoc | pandoc |
omaflake-dev | omaflake itself, the omaflake Test app, debug tools (for developing omaflake) |
| macOS | |
|---|---|
desktop | a minimal Dock, Finder, the look's appearance, no widgets, a quiet menu bar, a private Safari |
shell | git, Neovim, ripgrep, fd, jq, htop |
wezterm, zellij, neovim | the terminal, the multiplexer, the editor with the look |
latex, typst | TeX Live and Typst; vimtex with Neovim, LaTeX Workshop and Tinymist with VS Code |
vscode | VS Code with LTeX+, GitLens, Nix IDE (not free software) |
homebrew, pandoc, lazygit | one thing each |
omaflake-dev | the omaflake Test app and tools |
Key bindings: omaflake/default – omaflake's keys (Super or Ctrl first; Zellij unlocks with Ctrl+g; Neovim's leader
is Space).
| Look | |
|---|---|
omaflake/omaflake | omaflake's own – black and high contrast, red and cyan as fine accents |
omaflake/catppuccin | Catppuccin Mocha – soothing pastel on a dark base |
omaflake/rose-pine-dawn | Rosé Pine Dawn – light and mild: cream, rose, iris and gold |
omaflake/vanilla | every program in its own colours (plain = true) |
No look is built into omaflake: every one is installed from here and can be removed. omaflake's Doctor recommends
omaflake/omaflake and omaflake/catppuccin when none is installed (plan B140, B141).
catalog.jsoncatalog.json (schema catalog/v5) lists every recipe (what it is made of, its requirements and how a VM runs),
module (version, capabilities, actions), key binding set, look (title, appearance, main colours for a preview) and the
capabilities, each with its files' sizes and SHA-256 and a content hash. omaflake
catalog.json from the source's URL – only when you open or refresh the Recipes, Modules or Looks tab,
never in the background;catalog.json (<url>/<path>/<file>) and checks every SHA-256 before it keeps
them; installing a recipe brings the modules, key bindings and look it is made of that are not there yet, from the
first source that has each in a version the recipe allows (this catalog last);A public source needs no GitHub API, so it works from any static web server. A private GitHub repository works too:
omaflake reads it over the GitHub API with a fine-grained token (Contents: Read-only), which it checks when you add
the source and keeps in your Keychain. A local folder (a checkout of this repository, or any folder laid out like
it) needs no catalog.json: omaflake uses its recipes and modules as they are on disk, so a change is built the next
time – that is how they are written and tested. omaflake's spec §11.3 describes sources, installing and updates.
python3 tools/catalog.py # check everything, write catalog.json
python3 tools/catalog.py --check # check, and fail if catalog.json is not up to date (CI does this)
It needs Python 3.11 or newer; the Python that comes with macOS is older – nix run nixpkgs#python3 -- tools/catalog.py.
The repository is MIT licensed (LICENSE). Each recipe, module, key binding set and look states its own license; the
allowed ones are in source.toml.