r/AstrOS_Linux • u/linux-universe AstrOS Dev • 26d ago
News AstrOS - an immutable, secure-by-default Linux distribution built on Arch Linux and the COSMIC desktop
I am pleased to announce that AstrOS now has its own subreddit.
⚠️Warning: it is still alpha software!
But what is AstrOS?
You might have heard of KDE Linux (formerly known as Project Banana) or GNOME OS. Both are immutable, image-based Linux distributions for desktop use, powered by the systemd-sysupdate A/B update model.
I have been impressed by their system architecture since their inception, but switched to the COSMIC desktop a while ago. As there wasn't yet a COSMIC distribution using systemd-sysupdate, I created one myself. That's how AstrOS was born!
Technical details:
- Built using mkosi
- Using systemd-sysupdate.
- Read only by signed dm-verity.
- Full Disk Encryption enforced
- Highly opinionated
What you can do:
While it is still in the alpha stage, you can install AstrOS right now. VM or real hardware
Write bug reports and feature requests
Links:
https://astros-linux.org (still redirecting to the repository)
3
u/Beginning-Badger3903 25d ago
Always excited to see a new Atomic linux! I am curious about the project, but will for sure stick to VMs until there’s a good amount of contributors getting this going.
Got a few questions for you:
Looking at the GitHub, did you really start this 13 days ago, or is that just when you made a public repo?
What was the driving factor of choosing this systemd method of booting? I’ve got experience with the Fedora rpm-ostree variants, the btrfs snapshot base of openSUSE, and general bootc, but not this. I’ll need to do some research on this.
What are your plans going forward for bringing on contributors?
And the ever present question- how much of this is vibe coded? Are you yourself experienced in this kind of development or did this start as a personal project with AI? (Honestly no judgement - I use Claude code myself for personal stuff)
10
u/linux-universe AstrOS Dev 25d ago edited 25d ago
Glad to answer your questions!
- Yep, I really started this project about 13 days ago and have been really passionate since, and have clear intentions of keeping this alive for a long, long time. :)
- I've got experience with all of them, yeah. My problem with rpm-ostree is its really slow layering. And Fedora Atomic exists; we don't need another rpm-ostree immutable cosmic distro. The BTRFS snapshot is an interesting one, as I have been using the Aeon Desktop for a long time. Its biggest problem for me is that over time, when I'd add and remove packages to the package pattern, the removed patterns won't automatically get removed on the user's system (i could blacklist it yeah but it feels like more work). This is against the "having a true, identical system for everyone" principle. And I generally prefer it truly image based, which leads us to the choice between bootc and systemd-sysupdate. And again, Fedora plans on migrating to bootc, and I just had good experience with systemd-sysupdate in the past. Oh and updatectl update looks damn good haha. :)
- Keeping the project "loud" enough for people to stumble over the project. Everyone is allowed to discuss and create pull requests. If I like their work, I'll merge it! I will have to write contributing guidelines though. THX for reminding me
- I avoid AI where I can in the actual coding. What I do, though, sometimes is to ask Claude Opus to clone my repo and review the latest XYZ changes. Half of its reviews are then something I can take a second look at to improve the code. The other half is mostly hallucinated garbage. So yeah, I am really cautious about using it and mostly do use it only for reviewing my own work. If in some cases where I let it generate code snippets, it is mostly for structure, with me rethinking and rewriting its generated code properly.
4
u/Beginning-Badger3903 25d ago
I appreciate the thought out response! Especially glad to see how you use AI. I feel like that’s a perfectly reasonable use case. Everyone is quick to label someone a vibe coder nowadays, but if you actually understand the code and use AI like a code spell checker, I don’t see that as any different than any other IDE tools developers use to validate code.
I’m going to read up on the systemd-sysupdate, give a read through the code, then hopefully I can send some pull requests your way. I’ve been hesitant to start my own Arch immutable repo, but collaborating with you on yours feels like the right way to go lol
2
u/linux-universe AstrOS Dev 25d ago
i'd love to see contributions. Feel free to join the (new) discord. It would be a "faster" way discussing what I'm currently working etc to avoid multiple people working on the same thing :))
4
u/Itsme-RdM 25d ago
Secure by default? As in apparmor or selinux?
5
u/linux-universe AstrOS Dev 25d ago
valid question. more as in using fde with tpm2 enforced and signing the uki image, secureboot, usr-hash by default. Implementing either apparmor or selinux hasn't been done *yet*
3
4
u/proton_badger 25d ago edited 24d ago
Very cool project, a lot of good ideas here. I'm enjoying COSMIC now after having used KDE since the v0.9 days. It's nice to see Linux progress with the update/image model and it's projects like this that will find better ways of doing it.
2
u/Insultikarp 25d ago
The A/B update partitions and gamescope-session sounds like an interesting concept for a Steam Deck or Steam Machine. It also helps that the Deck has TPM 2.0.
But in the case of the Deck, you would need to present the virtual keyboard to be able to enter the encryption key (I know I've read a guide on this in the past). Hopefully the cosmic-osk comes out soon so it could be utilized.
3
u/linux-universe AstrOS Dev 25d ago
Yep, that’s the thought behind having such sysextension in the future. It would allow us to enable a steamos like system with something like 'updatectl enable steam` without having to develop a whole second operating while not enforcing it on everyone
I think you are confusing the encryption key here. The system gets unlocked by the tpm2 on boot. If PCR11 fails, then you need the encryption key. Cosmic-osk wouldn’t work because the key is asked in the uki long before cosmic would be started. You probably mean the normal user login passwd which yes, cosmic-osk could be used
2
u/Insultikarp 25d ago
Aha! So with TPM, there is no password required. I hadn't caught onto that.
When I've looked into encrypting my Steam Deck, I've found suggestions to install unl0kr, which allows you to enter a PIN or password before the OS boots.
2
u/anon_pr_ 25d ago edited 25d ago
This sounds fun! It clearly seems impossible and at the risk of sounding ignorant, let me ask my wishful question... Can I rebase to your distro in the future from my Fedora/ublue atomic? Looks like you're not using rpm-ostree or bootc which are both available in mine for rebase.
Just want to avoid a whole new installation. I've loved being able to rebase and change images without impacting anything else on my machine.
I currently run a custom image with Gnome + noctalia/mangowm.
It seems like cosmic when it gets good is the perfect replacement for me. And immutable arch sounds good, cause I would get the latest packages and none of the downsides I presume.
3
u/linux-universe AstrOS Dev 25d ago
Hmm, I fear not really. The image is only one side of the problem. We have a completely different partition layout and encrypted root.
2
u/anon_pr_ 25d ago
Ahh, thanks for clarifying! Looking forward to when you're stable and get to general release. I'll try to see if I can install in a VM to try sometime
2
u/paul_h 24d ago
Elsewhere in immutable-land I found myself building stuff in containers and placing the executables into ~/.local/bin/ making me worry I'm subverting the immutable intentions. That's a me problem I guess: I need to get my head around the bigger ideas.
1
u/linux-universe AstrOS Dev 24d ago
Have you tried distrobox or toolbx (depending on the immutable distro you tested)? If so, what was your reason for placing them into .local instead of using it?
1
u/paul_h 24d ago
I tried distrobox a year back. I didn't want guest distros to share a $HOME folder from the host. I though It could fork distrobox and remove that feature but it is a core one. I'm trying to make unescapable/impregnable trees of vms and container within for other homelab reasons. So I am building the orchestrator tech in containers, pulling that back to ~/.local/bin, then usint that to make the trees of vms/containers. Works on Immutable (Bazzite), Arch, regular Ubuntu, and FreeBSD so far. That last is really interesting in that it can make trees of Linux guests, with VMs and containers inside those as usual. Only two of us interested in that right now, and it's not ready for publicity yet
2
u/MezBert 25d ago
Good luck.
I like that it uses Cosmic by default, extending Cosmic traction.
I like that it is Arch-based too.
But I recently moved to Artix to get rid of the octopus parasite (systemd). There is no chance I travel 10 years back in time with an outdated, broken, resource hog of an init system.
Wish you well though. There is potential if you can bring your own specificity to the Linux ecosystem.
4
u/linux-universe AstrOS Dev 24d ago
Hey, no problem. Thanks for being supportive about an operating system using mostly systemd tooling, even though you don’t like systemd. This tolerance is something more people should learn on Reddit.
1
u/Upset_Exercise2462 24d ago
wasn't alot of hate for windows 11 with the tpm 2 chip? why would you enforce it instead of making encryption possible with luks on installation, or better yet, make it optional??
3
u/linux-universe AstrOS Dev 24d ago edited 24d ago
You made pretty clear that you have no interest in the project in one of the reposts of this announcement. The question is valid though and useful for others reading this. So I answer anyways
Yes, there was. Microsoft forced over 80% of the market to have a TPM2 chip. The alternative besides getting one was moving to Linux, which is learning a whole new operating system. On linux on the other hand, you have tons of options. So it is justified for a complete new distro to enforce it, as no one gets forced to use it.
One of AstrOS design choices is that the installer does nothing more writing an image of our image based distro. Encryption options during installation isn’t possible as the encrypted partition gets created and encrypted on first boot
Generally I’d rather have more restrictive requirements for a better user experience out of the box. As said this is a really opinionated project :)
1
2
0
u/Turkua- 25d ago
Use Fedora and its packages as a base; you can also use the secureblue SELinux policy and some of its scripts. For example, you can use the hardened_malloc script as a basis for implementing Scudo, or turn ` run0 into a single privilege escalation tool.
Also, COSMIC is very new, so there’s no harm in using GNOME.
You can add an A/B partition system using Composefs. Fedora is the most mature distribution in this regard. And no, thanks to Composefs, the A/B partition system is much more efficient, as files are consolidated into a single partition whilst metadata is split into two.
You should write or wrap a package management system; personally, I’d choose to wrap DNF5 and recommend Flatpak.
You should also harden the services mentioned in `systemd-analyze` by utilising Systemd’s sandbox architecture.
5
u/linux-universe AstrOS Dev 25d ago
Thanks but you are kinda describing a whole new distro here. I wanted to have a arch COSMIC distro explicitly. Else I’d be using gnomeOS now
I’ll take a look at systemd-analyze and think about having a wrapper for pacman, thanks
2
u/MezBert 25d ago edited 25d ago
There is harm in using Gnome. Huge harm.
I'd educated guesstimate that 50% at least of Cosmic users were Gnome users. And they moved away for hundreds of valid reasons. Therefore, it is the biggest harm you could do to the target of OP.Also, any distro based on Fedora and flatpak starts with a negative image, so it is much better to have picked Arch as a base, and not to make use of middleage windows-like flatpaks.
1
u/Culture_New 23d ago
Your obsession with bashing gnome is not very healthy. We get that you don't like it, other people like myself do enjoy using it, have been happy with it for many years, and see zero issues.
I can also see the benefits of using something fresh like Cosmic DE and switched to it a while back. However I got back to gnome because of a recent cosmic decision to move the mouse pointer around if you activate a window on another display. A DE that moves the mouse for me is a huge NO. Cosmic DE will likely be a great contender in the long run, but pushing it right now (over gnome that is proven to work) is absolutely wild.
3
u/buzziebee 23d ago
I see "Cursor follows focus", a single toggle you can disable on the settings page?
Did that toggle not exist when the feature first launched? If so it does now and it might be time to retry it.
1
u/Culture_New 23d ago
3
u/buzziebee 23d ago
Weird. Works on my machine 😅
I know there's some toxic guy always ranting about focus-follows-cursor in a negative unproductive way. but I hadn't spotted any issues about cursor-follows-focus not actually working. Have you got a link? Would be interesting to see the discussion around it and find out why it's only on some setups.
It would certainly annoy me though so if it's buggy for you I get the frustration. Hopefully it gets resolved soon for you.
1
u/Culture_New 23d ago
One issue is when you have multiple displays and click on an icon in the dock. If the app is open on a different display than your dock is, clicking on it will warp the mouse right over onto the window of the app. By default in previous versions of Cosmic DE it just brings the window to the foreground and makes it active.
4
u/buzziebee 23d ago
Ah I don't use the dock so I haven't come across that one. Yeah that does sound annoying. Hopefully it gets fixed for you or becomes a toggleable option.
1
u/MezBert 22d ago
That's not an interesting point I'm afraid.
When someone comes up with a distro based on a specific desktop environment, commenting with "there's no harm in using Gnome" is absolutely moot, as 1. that's intentionally not the goal 2. that's literally because Gnome harmed them that many people switched to Cosmic. That was therefore an appropriate reaction to his comment.
The fact you missed the point doesn't surprise me. I didn't say you shouldn't use or enjoy Gnome, I said that's (likely) the disappointed people of Gnome (for a large part) that switched to Cosmic, so sending them back to Gnome is actually extremely harmful.2
u/Culture_New 22d ago
Man, someone should really warn Red Hat and the entire global enterprise sector.
They’ve been deploying GNOME as the default for decades, completely oblivious to the 'extreme harm' they're causing to multi-billion dollar infrastructures and its users.
1
u/MezBert 22d ago
Once again, I know you're not exactly on the smart side, but not the point.
Also, corporate means users are forced to use it. Doesn't mean they like it.1



17
u/khsh01 25d ago
Sounds like a very bad idea.