Clean, Reliable, Intelligent, Simple Platform
| Component | Choice |
|---|---|
| Base | LFS (Linux From Scratch) |
| Kernel | Slightly Tweaked Linux Zen |
| Init System | runit |
| Base System | glibc + GNU coreutils |
| C Compiler | GCC |
| Filesystem | btrfs (with snapshots) |
| Bootloader | Limine or GRUB (user choice) |
| Network Manager | iwd + dhcpcd |
| Audio Server | PipeWire |
| Boot Splash | Plymouth (custom CRISP theme) |
| Privilege Tool | doas (replaces sudo) |
| Default Shell | Z Shell (zsh) |
| Text Editor | neovim with lazyvim conf |
| Package Manager | SOBI (details below) |
| Display Server | X11 |
| Greeter | user choice |
| DE/WM | XFCE (pre-configured/riced) |
| Terminal App | Kitty (pre-configured) |
| File Manager | Thunar (pre-configured) |
| Browser | Firefox ESR |
Source or Binary Installer
SOBI is CRISP's native package manager. It supports installing from binary or source, with a smart default that prefers binaries and falls back to source automatically when no binary is available.
- Smart default - prefers binary, falls back to source automatically
- Community repo - packages submitted by community members (disabled by default)
- Local installs - supports portable
.sobipackage files for offline/local use - Clean builds - build dependencies are automatically removed after installation
- Kernel management - tracks installed kernels and can remove old ones with
sobi clean -k - Repo name formatting - repo names like
MyCustomRepoare automatically formatted asMy Custom Repowhen displayed
| Action | Command |
|---|---|
| Install (smart default) | sobi ins firefox |
| Install binary | sobi ins -b firefox |
| Install from source | sobi ins -s firefox |
| Install community pkg | sobi ins -c firefox |
| Install from .sobi file | sobi ins -f file.sobi |
| Update all packages | sobi upd |
| Remove a package | sobi rem firefox |
| List active repos | sobi lst repos |
| List installed packages | sobi lst pkgs |
| Clean unused deps | sobi cln d |
| Clean old kernels | sobi cln k |
.sobi is SOBI's portable package format, similar to .deb or .rpm. It allows packages to be distributed and installed locally or offline without needing a network connection to a repo.
The repos are stored in /etc/sobi.d/repos.yml and this is what an example would look like:
# Example Repos file
REPOS:
Main:
Binary: "https://repo.crisplinux.sh/main/binaries/"
Source: "https://repo.crisplinux.sh/main/source/"
Keyring: "https://repo.crisplinux.sh/public.gpg"
Enabled: true
Community:
# Community repo is disabled by default for security.
Binary: "https://repo.crisplinux.sh/community/binaries/"
Source: "https://repo.crisplinux.sh/community/source/"
Keyring: "https://repo.crisplinux.sh/public.gpg"
Enabled: false
MyCustomRepo:
Binary: "https://mywebsite.org/repos/crisp-linux/bin/"
Source: null # Note: if this is set to null it will ignore it
Keyring: "https://mywebsite.org/repos/crisp-linux/pub.gpg"
Enabled: true^ (This is not complete and will probably change with time)
CRISP uses a custom boot splash screen to cover the runit startup output, giving the system a clean and polished first impression. This is handled via Plymouth, which is started early in the boot process before runit brings up services.
- On boot, the Plymouth splash appears immediately after the bootloader hands off to the kernel
- The splash displays the CRISP logo (wasabi tube) with a minimal loading indicator
- Any runit service output is hidden behind the splash by default
- If the boot fails or takes unusually long, the splash will drop to the TTY automatically so the user can see what went wrong
- Pressing
ESCduring boot will dismiss the splash and show the raw runit output for debugging
The splash will ship with a custom CRISP theme built around the wasabi tube logo and the distro's color palette. The theme files will live in /usr/share/plymouth/themes/crisp/.
Verbose boot (no splash) can be enabled by passing
plymouth.enable=0to the kernel at boot via Limine
doas will come with a pre-configured & locked down configuration that will look something like this:
# Note: CRISP uses 'doasperm' instead of the conventional 'wheel' group
# Allow doasperm group to run any command
permit persist :doasperm
# Allow doasperm to run specific commands without password (these are not the default, just examples the user might add)
permit nopass :doasperm cmd /sbin/reboot
permit nopass :doasperm cmd /sbin/shutdown
permit nopass :doasperm cmd /sbin/poweroff
permit nopass :doasperm cmd /bin/sobi
The config will live in /etc/doas.conf and can be configured via a planned custom GUI made by the CRISP team. (the GUI can only be used by root or users in the doasperm group)
- NOTE: During installation, while making a user the TUI will ask the user "Should this user have admin privileges?" This will determine whether that user is in the doasperm group or not.
On boot, the live ISO drops into a TTY where the user will login with the username root (the password is crispy and will be changed during installation). Running install launches a TUI installer that walks through the following steps:
- Locale & timezone selection
- Disk partitioning - handled manually using
cfdisk(recommended) orfdisk, giving the user full control over their layout - Filesystem setup - btrfs with snapshots configured automatically
- Bootloader configuration - Limine, with both UEFI and BIOS/Legacy supported
- Hostname & network setup
- User creation - including the admin privileges prompt (see DOAS Overview)
- Package selection - minimal or full install
UEFI is recommended on modern hardware. BIOS/Legacy mode is supported for older systems.
x86_64 (amd64)- 64 bit, Most modern systems run this architecturei686 (x86)- 32 bit, some older systems run this architectureaarch64 (ARM64)- 64 bit, Systems like Raspberry Pis run this architecture
Support for PowerPC might come soon
- Multiple OSDevs - Building off LFS and maintaining a custom kernel requires significant low-level expertise. At minimum 4 OSDevs are recommended.
- SOBI Developers - SOBI is essentially its own standalone project and needs dedicated developers separate from the OSDevs.
- Infrastructure/Ops - Manages repo hosting, mirrors, package signing, and CI/CD pipelines for automated builds. Needed before anything is publicly usable.
- Security - Handles CVE tracking, vulnerability response, and the package signing process.
- QA/Testers - Dedicated people whose job is breaking things across all supported architectures and upgrade paths.
- Documentation Writers - Critical for adoption, especially for an LFS-based distro. Needs to be someone's dedicated responsibility.
- Community/Project Manager - Keeps momentum going, triages issues, and onboards new contributors. Projects often die from coordination failures, not technical ones.
- Ricers/Designers - For configuring and setting up the pre-riced XFCE environment.
- Artist - For official wallpapers, the logo, and other visual assets.
- Web Developer - For the official website.
- OSDevs and SOBI Developers - nothing exists without them
- Infrastructure/Ops - needed before anything is publicly usable
- Documentation and QA - needed before any public release
- Everything else - Once the project has something real to show
- The ISO format will always be:
crisp_live_v[version]_[MM]-[DD]-[YYYY].iso- An example of this would be:
crisp_live_v0.1_03-04-2026.iso
- An example of this would be:
- I plan on getting the
crisplinux.shdomain but if that's not available or too pricey:crisp.org- (most likely taken but worth a shot cause.orgis cheap)crisplinux.org- Fallback if the one above is takencrisp-project.org- Just sounds nicecrisplinux.dev-.devsounds fancygetcrisp.org- Like how Fedora hasgetfedora.orgcrisplinux.net-.netis also cheap
- The logo will be a tube of wasabi (mainly because the package manager's name
SOBIreminds me of wasabi for whatever reason) - These are the colors I want in the color pallete:
#6fe897- Primary#45852f- Secondary#edfee7- Tertiary
- CRISP ships a compatibility layer so that apps assuming
sudoorpkexecwork out of the box:/usr/bin/sudo→ symlink or wrapper pointing todoas/usr/bin/pkexec→ thin wrapper script, sincepkexecuses a different calling convention thandoas, a raw symlink won't work here
- The goal is to eventually replace these with a proper compatibility layer developed by the CRISP team
CRISP GNU/Linux is a concept I hope to make real one day. The core idea behind SOBI came from a frustration with having to commit to either a source-based distro (like Gentoo) or a binary-based one (like Arch). Why not both? SOBI takes Portage's philosophy of building from source when it matters, and pairs it with the convenience of binaries when it doesn't.
If you wanna help work on this contact me via Github messages :)