Welcome to the vanilla wiki!
What is vanilla?
It's a new radically different Linux distribution targeting technical and/or experimented users who like simplicity, consistency and elegance.
Goals and non goals¶
- No systemd. Systemd isn't a bad thing in itself, but it's too complex to be qualified as KISS.
- No installer. Installers are too complex, error prone and not enough flexible. The key idea is to use the tool
vpkto install a set of packages to the target device.
- Flexibility. The vanilla source tree allow package customization with ease.
- Stability. Fixed version with ABI/API compatibility honored.
- Weak dependencies. The
vpktool installs dependencies by default but let user process dependencies manually.
- Elegance. All vanilla applications, init scripts and package paths are following a strict coding style and UX style.
- Simplicity. Packages are simple tarballs and inspected via simple text files.
- Free and opensource. The vanilla source tree does not contain proprietary software. All vanilla sources are written using the permissive ISC license.
- Pure shared libraries. No static libraries are built nor libtool .la files are installed.
- Vanilla. Packages are kept as close as possible to upstream with no or few changes for compatibility only.
- musl a clean and lightweight C library
- busybox a set of components for a basic system
- llvm modular toolchain for several languages including C, C++
- linux obviously the Linux kernel
- wayland better focus on wayland for a long-term replacement to X.Org (X.Org is shipped though)
- sysvinit an old fashion traditional init system (can replace busybox's init)
- sysklogd a simple system logger daemon (can replace busybox's syslogd)
Features (package options)¶
Common features in Vanilla packages.
- Access control lists (ACL): enabled by default
- Native language support (NLS): enabled by default
- SELinux (SELINUX): disabled by default
- PAM (PAM): enabled by default
- http://hg.malikania.fr/vanilla, the vanilla source tree
- http://hg.malikania.fr/vanilla-vpk, the vanilla package manager
- firstname.lastname@example.org, general discussions and questions
- email@example.com, patches and development discussions
- firstname.lastname@example.org, (read-only) commits
- email@example.com, (read-only) announcements
To subscribe, send a mail at "listname+subscribe@domain".
- 0.1 (May 1): Highlight: bootable system with core components
- vpk: install with remote support [done]
- vpk: remove [done]
- vpk: update [done]
- vpk: build [done]
- vpk: list [done]
- vpk: info [done]
- 0.2 (August 1): Highlight: X.Org and wayland support
- busybox as principal core components (init, shell, mdev)
- vpk: install with dependencies and checksums
- vpk: support configuration file protection
- vpk: upgrade
- vpk: tag/untag
- PAM support [in progress]
- New filesystem hierarchy (see FHS) [done]
- 0.3 (September 1): Highlight: XFCE and MATE desktops
- vinitrd: create and list initramfs
- 0.4 (December 1): Highlight: vpod
- vpod: bulk
- vpod: test
- vpod: shell
- 0.5 (January 1, 2020): Highlight: KDE Plasma desktop
- SELinux support (disabled by default)
- 0.6 (February 1, 2020): Highlight: Public website available
- File hierarchy is ready for public downloads
- Documentation is complete
- Manpages: vpk, vinitrd
- Vanilla book
- 0.7 (March 1, 2020): Highlight: full initramfs support
- LVM2 support
- RAID support
- LUKS support
- 1.0 (May 1, 2020): Highlight: First stable release
See READMEs in repositories. Upcoming documentation in the wiki.
- Vanilla project pages
- README.md: using vanilla sources
- HOWTO.md: creating new packages
- README.md: using the vpk tool
Many thanks for people who were involved from near and far to vanilla.
- musl community: help when packages use GNU extensions
- LLVM community: helped me bootstrapping, building the toolchain
- LFS community (including French variant): helped me a lot in several aspects
- Alpine Linux community: trying to fix broken packages with musl
- Quentin Rameau for giving some feedback and hints
- Stéphane Pequignot for its interest and contributions
- Michaël Scherer for various help