Arch Linux · Hyprland · CLI-first

Arch,
composed.

A focused workstation installer that turns a fresh Arch system into your environment—without treating your home directory like a blank canvas.

18
dotfile modules
8
toolchain profiles
0
TUI dependencies
kairo · module selection arch
◆ Choose your modules 14 selected

SHELLS

›● Fish default shell

● Nushell

● Zsh + Starship

DEVELOPMENT

● Neovim

○ Hyprland opt-in

One command

Start with a preview.

Curl and Wget clone Kairo to ~/kairo, request sudo, and open the full installer. Existing local work is never overwritten.

curl -fsSL https://raw.githubusercontent.com/nihitdev/kairo/main/install.sh | bash

Designed for confidence

A guided install.
Not a blind script.

Kairo discovers the machine, lets you choose the surface area, and shows the consequences before it writes.

  1. 01

    Detect

    Arch, architecture, shell, session, package tools, and systemd.

  2. 02

    Choose

    Dotfiles and toolchain profiles selected independently.

  3. 03

    Review

    Missing packages, replacements, trust changes, and backup status.

  4. 04

    Apply

    Packages, staged configs, shell integration, caches, and validation.

Make it yours

Small modules.
Useful combinations.

Install one config, a complete workstation, or anything between.

01

Fish

Default login shell, Starship, Atuin, and modern navigation.

02

Nushell

Structured pipelines with generated Starship and Zoxide caches.

03

Zsh

Oh My Zsh with Arch-packaged plugins and a dedicated prompt.

04

Bash

A compact interactive baseline—nothing sprawling or magical.

05

Starship

One binary, four carefully separated shell configurations.

06

Yazi

Catppuccin file management, previews, Git state, and plugins.

07

Bat + Broot

Readable files and fast tree navigation with shared theming.

08

Neovim

LazyVim, pinned plugins, and a focused development surface.

09

Git + LazyGit

Managed includes preserve identity while Delta sharpens diffs.

10

Hyprland

An opt-in Wayland desktop module with explicit replacement review.

11

Kitty

Fast terminal rendering, tabs, themes, and Fish-first workflow.

12

Fastfetch + Cava

Arch system identity and a responsive terminal visualizer.

Beyond dotfiles

Toolchains,
on your terms.

Profiles are opt-in package bundles. Combine them freely; Kairo installs only what the selected environment is missing.

./install.sh --profile rust --profile python
core-buildbase-devel · Git · curl · wget · archives · ShellCheck
cppGCC · Clang · CMake · Ninja · GDB · LLDB
rustRustup and a clean toolchain starting point
pythonPython · pip · uv
webNode.js · npm · pnpm · Bun
containersDocker · Compose · Podman · Buildah
waylandPortals · clipboard · capture · display controls
mediaPipeWire · FFmpeg · ImageMagick · yt-dlp

Built to back out

Safety is part
of the interface.

The installer’s visual polish sits on top of conservative filesystem behavior—not instead of it.

  • ✓
    Private, unique backupsEvery run gets a restrictive timestamped backup directory.
  • ✓
    Transactional replacementPayloads stage beside their target before activation.
  • ✓
    Reverse-order rollbackA failed operation restores completed replacements.
  • ✓
    Strict path boundariesTraversal, root targets, and symlink escapes are rejected.
  • ✓
    Actually dryDry-run performs no package, plugin, cache, or config writes.

Ready when you are

Your system.
Still yours.