Skip to content

Repository files navigation

Selfishell

Selfishell is a managed Zsh development environment for macOS, Ubuntu, and Ubuntu on WSL.

Selfishell shell prompt showing the current directory, Git branch, and command output

Quick Start

Install the CLI:

curl -fsSL https://raw.githubusercontent.com/jiminu/selfishell/main/install.sh | bash

Then install the default developer environment and verify it:

selfishell install
exec zsh
selfishell doctor
selfishell status

The bootstrap installs only the CLI. If it reports that ~/.local/bin is not in PATH, run the export PATH=… command it prints before continuing. See the installation guide for exact-version and non-interactive installation, configuration-only setup, uninstallation, Ghostty, and platform notes.

What You Get

  • A consistent Zsh environment across supported macOS and Ubuntu systems.
  • A Starship prompt, useful aliases, completions, and managed shell defaults.
  • minimal and developer profiles, with Neovim and development tooling in the developer profile.
  • Checksum-verified release updates and a retained release for offline rollback.
  • User-owned shell files: personal aliases, exports, functions, and project tooling stay outside Selfishell-managed blocks.

Selfishell Neovim workspace showing the file explorer, buffer tabs, shell-script syntax highlighting, and compact statusline

Profiles

developer is the default profile; choose minimal explicitly for a lighter shell setup.

Profile Includes
minimal Core Zsh, Git, Vim, Starship, Zinit, and shell configuration
developer Everything in minimal, plus Neovim, mise-managed runtimes, CLI/editor tools, and build tooling

See Profiles for the complete package list and profile behavior.

Everyday Commands

Command Use it to
selfishell status Show the active profile, managed resources, and CLI/rollback version.
selfishell doctor Diagnose the current installation.
selfishell version --available Check the latest published release.
selfishell update Update the CLI, profile tools, and configuration.
selfishell rollback Return to the previous retained release offline.
selfishell uninstall --restore --dry-run Preview restoring backed-up configuration.

sfs is the optional short alias for selfishell. See Updates and rollback for update modes and recovery behavior.

Safety

Selfishell installs its own files without root into XDG-compatible user paths, backs up existing managed paths, keeps user shell files user-owned, verifies release checksums, and never installs updates automatically during shell startup.

Documentation

User guides

Project and maintainer guides

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages