/skift

🥑 A hobby operating system built from scratch in modern C++. Featuring a reactive UI library and a strong emphasis on user experience.

Primary LanguageC++MIT LicenseMIT


Looking for the old skiftOS? Click here




Website - Manual - Discord - Releases





skiftOS: The delightful operating system

skiftOS is a hobby operating system built from scratch in contemporary C and C++ for ARM, x86, and RISC-V architectures.

Following the 80/20 rule, skift tries to be a simple, yet powerful operating system that can be used for daily tasks. It is designed to be modular, extensible, and easy to use and hack on.

Screenshot


skiftOS applications running on Linux

Building

skiftOS is written in bleeding-edge C2x and C++23 and building it requires a modern C/C++ compiler like clang-14 or GCC-12 installed on the host machine.

# Make sure clang is the right version
$ clang --version
clang version 13.0.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

# Make sure nasm is installed
$ nasm --version
NASM version 2.15.05 compiled on Sep 24 2020

# Make sure python3 is installed
$ python3 --version
Python 3.10.5

Building skiftOS also requires installing osdk:

$ git clone https://github.com/devse-org/osdk

$ cd osdk

$ pip install --user -e .

Once you have installed osdk, you can build and boot skiftOS using:

$ osdk boot

Individual components can be run on the host system using:

$ osdk run <component>

Contributings

This project practice optimistic merging meaning that pull requests are merged into the main branch as soon as possible. The objective is to keep PR as small, focused, and incremental as possible.

Commit messages should be short and concise and prefixed with the name of the package. For example:


karm-base: Fix buffer overflow in Karm::String::reserve.

Binary files should be as small as possible.

  • SVG should be preferred over other raster images formats
  • optipng -strip all to reduce the size of PNG images.
  • gifsicle -O3 to reduce the size of GIF images.
  • jpegoptim -m90 to reduce the size of JPEG images.

License

MIT License

The skift operating system and its core components are licensed under the MIT License.

The full text of the license can be accessed via this link and is also included in the license.md file of this software package.