Serpent OS Adopts Rust, Typescript, and GO in Tools and Infrastructure

Aiki Dortorti (IKEY), founder of the Solus distribution, published a note on the latest trends in The development of the distribution serpent os, on the technology of which the production of Solus 5 will be built.

The Serpent OS project has faced technical challenges resulting in relative stagnation. Specifically, the project encountered issues related to the implementation of additional means for safe memory management in the D programming language. Additionally, limited resources hindered the creation and support of packages in D, which was previously used for SERPENT OS development.

Aiki Dortorti expresses his fondness for the D programming language and acknowledges its expressiveness and freedom of creativity. As a result, he plans to continue using D in his personal projects and remains optimistic about its future prospects.

In collaboration with Solus, the project’s priorities have shifted. Architectural decisions are now made by considering the needs of all interested parties, including the existing team.

The development of the project will involve the use of Rust, Reactjs/Typescript, and GO languages. Rust will be utilized for low-level tools such as MOSS, BOULDER, and LIBSTONE. Reactjs/Typescript will be used for front-end development, while GO will be employed for web systems and assembly infrastructure.

The new infrastructure will be scalable and expanded using Kubernetes. The project plans to actively utilize caching during the rebuilding process of the entire distribution after modifying certain dependencies.

The current focus of the project is the implementation of the MOSS package manager in Rust, accompanied by the use of the MPL-2.0 license for new tools. The project aims to maintain copyright ownership to prevent changes in the license in the future.

The SERPENTOS distribution is an independent project that relies on the MOSS manager. The MOSS manager incorporates features borrowed from various modern package managers such as Eopkg/Pisi, RPM, SWUPD, and NIX/Guix. The traditional approach to packet manipulation and the default assembly in the Stateless mode are employed. The package manager follows an atomic model for system

/Reports, release notes, official announcements.