Skip to content

Commit

Permalink
Merge pull request #153 from kbdharun/v2
Browse files Browse the repository at this point in the history
feat: add orchid update, minor fixes
  • Loading branch information
mirkobrombin authored Jan 3, 2024
2 parents 45d5655 + cfc5774 commit 1c99f51
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 232 deletions.
41 changes: 0 additions & 41 deletions .github/workflows/update-contributors.yml

This file was deleted.

39 changes: 39 additions & 0 deletions articles/2024-01-03-vanilla-os-orchid-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: "Vanilla OS 2 Orchid Stable, some clarifications"
description: "Our journey developing Vanilla OS Orchid, and what's next."
published: true
date: 2024-01-03
keywords:
- Vanilla OS
- Vanilla OS Orchid
- Orchid
- News
layout: article
comments: true
---

Vanilla OS is an ambitious and young project with just one year of existence. The development of the first version took about four months, a relatively short time compared to other projects. Many expected to see Vanilla OS 2 Orchid released in a similar timeframe, but that wasn't possible. Orchid is an even more ambitious release, presenting a complete rewrite of the project with a substantial amount of new technologies, developed from scratch to achieve our desired results.

![Vanilla OS Brand](/uploads/laptop-orchid.webp)

In Orchid, we have rethought the entire system from its foundations. The construction itself occurs through a tool we invented called [Vib](https://github.com/Vanilla-OS/Vib) (Vanilla image builder), which assembles Linux distribution images using modules. We have created seven OCI images used at various points in the system. One of these images is [Pico](https://github.com/Vanilla-OS/pico-image), used in all building queues to ensure each component is built precisely for Vanilla OS. We have developed and improved numerous tools and technologies for this release, including [ABRoot](https://github.com/Vanilla-OS/ABRoot), [Albius](https://github.com/Vanilla-OS/Albius), [Vib](https://github.com/Vanilla-OS/Vib), [Differ](https://github.com/Vanilla-OS/Differ), [VSO](https://github.com/Vanilla-OS/vanilla-system-operator), [Apx](https://github.com/Vanilla-OS/apx), [Apx GUI](https://github.com/Vanilla-OS/apx-gui), [EtcBuilder](https://github.com/linux-immutability-tools/EtcBuilder), [FsGuard](https://github.com/linux-immutability-tools/FsGuard), [Prometheus](https://github.com/Vanilla-OS/Prometheus), [Chronos](https://github.com/Vanilla-OS/Chronos), [Eratosthenes](https://github.com/Vanilla-OS/Eratosthenes), [Atlas](https://github.com/Vanilla-OS/Atlas), [First Setup](https://github.com/Vanilla-OS/first-setup), [Installer](https://github.com/Vanilla-OS/vanilla-installer), support for Android via Waydroid and F-Droid, and many more.

We redesigned [ABRoot](https://github.com/Vanilla-OS/ABRoot) to manage the system from boot to the user's initial interactions, handling boot management, fstab, and initramfs. We created [Albius](https://github.com/Vanilla-OS/Albius), the tool responsible for installing an operating system compatible with [ABRoot](https://github.com/Vanilla-OS/ABRoot) and [its complex structure](http://abroot-dev.vanillaos.org/), [LVM Thin Provisioning](https://vanillaos.org/blog/article/2023-11-22/vanilla-os-orchid---devlog-22-nov) and [LUKS2](https://vanillaos.org/blog/article/2023-06-11/vanilla-os-orchid---devlog-11-jun#albius-the-new-installer-backend). [Apx](https://github.com/Vanilla-OS/apx) and [VSO](https://github.com/Vanilla-OS/vanilla-system-operator) have undergone a similarly complex redesign, [redefining their roles](https://vanillaos.org/blog/article/2023-06-11/vanilla-os-orchid---devlog-11-jun#apx-v2-and-vso-v2). Apx is now a flexible and powerful tool and library for developers, whereas [VSO](https://github.com/Vanilla-OS/vanilla-system-operator) is the actual environment where the user operates with the system shell using an isolated and mutable environment, allowing the preservation of the host system.

This extensive work also includes system configuration, systemd units, containers (which play a crucial role in Orchid), and Polkit rules. Speaking of Polkit, we removed sudo, a task that took a considerable amount of time to implement. We had to create Polkit policies to let users use tools requiring administrative privileges without using sudo; we have written [a paragraph](https://vanillaos.org/blog/article/2023-06-11/vanilla-os-orchid---devlog-11-jun#sudont) on this.

Over these months, we have given talks at [GUADEC](https://www.youtube.com/live/hv-bkYpHSbQ?si=YbBzq_nXQTok2-DI&t=634) and conducted several interviews[[1]](#see-also) which, in turn, required time to plan and create the necessary assets.

It's important to note that we develop everything with a distro-agnostic approach, designing all our technologies to be used by any Linux distribution. This process increases development time as we need to consider customization and scalability. For Orchid, we chose to take our time, conduct extensive research, and engage in many discussions. Orchid is not just a pretty reskin of Debian; it is a complex project that revisits many aspects we take for granted in Linux distributions. It required effort, patience, and the **willingness to question everything every single day**.

The beta version will be released on the 30th of January, marking a milestone that we will approach with great passion. On that date, the project will enter a feature freeze, and we will focus on addressing reported bugs and refining the edges for a seamless experience. We don't know how long the beta window will last; it depends on the number of bugs that arise (hopefully few). One thing is certain: 2024 is the year Orchid will see the light, and we are confident it will be on your PCs before this summer, possibly much sooner.

We hope that all our efforts contribute to an excellent user experience. Of course, we do not rule out the existence of bugs even after the stable release, but Orchid is still a young project ready to learn from its mistakes.

_The Vanilla OS Team.

## See also

1. [GUADEC presentation: Vanilla OS is not just another distribution](https://cdn.vanillaos.org/assets/Vanilla%20OS%20-%20GUADEC%202023.pdf)
2. [Vanilla OS Team interview with Nicco Loves Linux](https://www.youtube.com/watch?v=pR5ZEbyv0ZM)
3. [FLOSS Weekly: Vanilla OS on a Stick (Interview with Cofounder)](https://twit.tv/shows/floss-weekly/episodes/725?autostart=false)
141 changes: 0 additions & 141 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 1 addition & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,13 @@
"build": "npm run generate-articles && vite build",
"preview": "vite preview",
"generate-articles": "node scripts/generateArticlesJson.js",
"type-check": "vue-tsc --noEmit",
"start": "node scripts/fetchContributors.mjs"
"type-check": "vue-tsc --noEmit"
},
"dependencies": {
"@types/marked": "^5.0.1",
"@vueuse/head": "^1.1.26",
"fs.promises": "^0.1.2",
"js-yaml": "^4.1.0",
"marked": "^5.1.1",
"node-fetch": "^3.3.2",
"slugify": "^1.6.6",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
Expand Down
Binary file added public/uploads/laptop-orchid.webp
Binary file not shown.
41 changes: 0 additions & 41 deletions scripts/fetchContributors.mjs

This file was deleted.

2 changes: 1 addition & 1 deletion src/views/DownloadOrchidAlpha.vue
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
<div class="text text--rich">
<h3>Vanilla OS 2 Orchid - Alpha builds</h3>
<p>You must be logged on GitHub to download the alpha builds. Once logged in, you will be able to
download the choosen build from the artifacts section.</p>
download the chosen build from the artifacts section.</p>
</div>
<div class="table">
<table class="table-content">
Expand Down
10 changes: 8 additions & 2 deletions src/views/Roadmap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ export default defineComponent({
date: 'No date yet',
description: 'Vanilla OS 2.0 will feature GNOME 45 as the Desktop Environment (not guaranteed).',
},
{
name: 'VSO shell as the default shell',
status: 'Completed',
date: 'December 22 2023',
description: 'Vanilla OS 2.0 will feature VSO shell as the default shell on GNOME Console.',
},
{
name: 'LVM Thin Provisioning',
status: 'Completed',
Expand Down Expand Up @@ -183,8 +189,8 @@ export default defineComponent({
},
{
name: 'OEM Support',
status: 'Ongoing',
date: 'No date yet',
status: 'Completed',
date: '1 January 2024',
description: 'We are working on adding OEM support to Vanilla OS.',
},
{
Expand Down
Loading

0 comments on commit 1c99f51

Please sign in to comment.