diff --git a/assets/blendos/1.png b/assets/blendos/1.png new file mode 100644 index 0000000..1454da9 Binary files /dev/null and b/assets/blendos/1.png differ diff --git a/blog/blendos.html b/blog/blendos.html index 74b492e..e60638f 100644 --- a/blog/blendos.html +++ b/blog/blendos.html @@ -9,10 +9,6 @@

Checking out blendOS

-
-

WARNING: This page is a work-in-progress, and is very - incomplete. Read at your own risk.

-

blendOS is self-described as "Arch Linux, made declarative, immutable and atomic." And yeah, that's a pretty good description of what it is. But you can never really @@ -26,27 +22,42 @@ documentation, not even man pages, so I gave up on it very quickly. But with v4, hopefully it's improved since then.

+

Installation itself was simple: it's got a basic installer, + which notably allows for manual partitioning, but does + not allow for selecting which track to use (which we'll + get to later), though to be fair, that's very simple to + change post-installation.

+ blendOS live image boot: a basic GNOME desktop with a vertical white window in the center; it has the blendOS logo and a "Start" button, with the text "Welcome to blendOS", "Press Start to start installing blendOS!"

First use

Upon first boot, blendOS drops you into a pretty standard - GNOME session, on account of the /system.yaml file - by default:

+ GNOME session with a graphical setup to add a user account, set + timezone, and all that.

+

Here's the default /system.yaml file + provided:

impl: http://github.com/blend-os/tracks/raw/main
 repo: https://pkg-repo.blendos.co
 track: default-gnome
-

At first I wasn't sure what impl is doing, but it seems to be - combined with the track to get the URL for the raw - yaml file1.

-

This is actually a really interesting bit which isn't - documented, as it means you can just, say, host your own - track(s) for all your computers in a Git repo, and they can each - inherit from other configs2 or be overridden - locally; this actually seems like a very interesting and viable - way to centrally manage many computers running Linux, and given - I'm constantly switching between several computers; I can just - put my config(s) in one repo, and pull from that.

+

At first I wasn't sure what impl is doing, but according to + the system.yaml + docs seems to be combined with the track to get the URL for + the raw yaml file.1

+

This is actually a really interesting bit, as it means you + can just, say, host your own track(s) for all your computers in + a Git repo, and they can each inherit from other configs2 or be overridden locally; + this actually seems like a very interesting and viable way to + centrally manage many computers running Linux, and given I'm + constantly switching between several computers; I can just put + my config(s) in one repo, and pull from that.

+

(details on this at system.yaml + docs -> Creating a track repo/webserver)

Configuration

blendOS's configuration is really simple:


 commands:
   'echo hiiiiiii > /home/user/helloooooo'
-

It's quite basic, but blendOS actually works very well for - me; I already have a Git repo of (from system.yaml + docs)

+

It's quite basic, but blendOS's design actually works very + well for me; I already have a Git repo of all my configs, which are intended to be run from a clean installation automatically, so for blendOS I just have to put those scripts into the yaml file and adapt it so the packages are listed in the YAML rather than being installed with - pacman or yay.

+ pacman, paru or the like (at least, + not directly, via akshara instead)

Problems

-

Biggest of all blendOS's problems is how slow it is to - rebuild. It doesn't save "layers" of packages like rpm-ostree - (as used by Fedora atomic)

+

By far, the biggest of all blendOS's problems is how + slow it is to rebuild. It doesn't save "layers" like rpm-ostree + (as used by Fedora atomic); instead, it just completely rebuilds + the system every single time. Because of this, it takes a long + time to run the updater/rebuilder, even to just install one more + package.3

+

Besides that, my only complaints are:

+
    +
  1. The akshara's (the update/rebuild tool) major + issue with reinheritance (see system.yaml + docs -> Inheritance).
  2. +
  3. Its community and issue tracking is primarily on Discord, + which is then indexed by Answer Overflow so it's searchable with + Google and the like; there's no dedicated developer space (only + one issue on their + GitLab, where akshara is hosted.) However, + given you must be pretty competent with Linux to be using + blendOS in the first place, and how small the dev team and + community is, this isn't much of an issue.
  4. +
  5. There's a lack of documentation for some bits, though the + docs are updated and getting new additions constantly.
  6. +
+

I've encountered more bugs and missing features since then, + but I'll talk about that in my next post, as they'll fit better + there.

Wishlist

-

Sources

+

This is some other stuff I want, not necessarily problems, + but things I'd like added

+

Sources

+

Sources are linked as they're used throughout, and also + listed separately here.

+ +
    +
  1. blendOS Homepage
  2. +
  3. Introduction + to blendOS
  4. +
  5. blendOS + reference
  6. +
  7. system.yaml + docs
  8. +
  9. blendOS + GitLab
  10. +
  11. rpm-ostree + docs
  12. +
  13. blendOS's + Git structure
  14. +
+

Note: As I write this, the docs, particularly the blendOS reference, are + being constantly revised. During the process of writing this, an + entire new section has been added, though this post doesn't + touch on that and said section is unused here - it'll come into + play in the next post.

Footnotes

+ @@ -116,5 +201,6 @@ diff --git a/blog/blendos.md b/blog/blendos.md index 0299ead..c44cad8 100644 --- a/blog/blendos.md +++ b/blog/blendos.md @@ -1,20 +1,20 @@ # Checking out blendOS ---- - -WARNING: This page is a work-in-progress, and is very incomplete. Read at your own risk. - ---- - blendOS is self-described as "Arch Linux, made declarative, immutable and atomic." And yeah, that's a pretty good description of what it is. But you can never *really* tell what a distro is like without trying it, so... ## Installation I decided to just run blendOS in a virtual machine; I had a bunch of data I hadn't backed up yet and was actively working on, and didn't feeling like switching yet given I had no experience with blendOS v4 - I've actually tried blendOS v3 before, back when v4 was in alpha, but it had practically zero documentation, not even `man` pages, so I gave up on it very quickly. But with v4, hopefully it's improved since then. +Installation itself was simple: it's got a basic installer, which notably allows for manual partitioning, but does *not* allow for selecting which track to use (which we'll get to later), though to be fair, that's *very* simple to change post-installation. + +![blendOS live image boot: a basic GNOME desktop with a vertical white window in the center; it has the blendOS logo and a "Start" button, with the text "Welcome to blendOS", "Press Start to start installing blendOS!"](/assets/blendos/1.png) + ## First use -Upon first boot, blendOS drops you into a pretty standard GNOME session, on account of the `/system.yaml` file by default: +Upon first boot, blendOS drops you into a pretty standard GNOME session with a graphical setup to add a user account, set timezone, and all that. + +Here's the default `/system.yaml` file provided: ```yaml impl: http://github.com/blend-os/tracks/raw/main @@ -22,9 +22,11 @@ repo: https://pkg-repo.blendos.co track: default-gnome ``` -At first I wasn't sure what impl is doing, but it seems to be combined with the track to get the URL for the raw `yaml` file[^1]. +At first I wasn't sure what impl is doing, but according to the [`system.yaml` docs] seems to be combined with the track to get the URL for the raw `yaml` file.[^1] -This is actually a really interesting bit *which isn't documented*, as it means you can just, say, host your own track(s) for all your computers in a Git repo, and they can each inherit from other configs[^2] or be overridden locally; this actually seems like a very interesting and viable way to centrally manage many computers running Linux, and given I'm constantly switching between several computers; I can just put my config(s) in one repo, and pull from that. +This is actually a really interesting bit, as it means you can just, say, host your own track(s) for all your computers in a Git repo, and they can each inherit from other configs[^2] or be overridden locally; this actually seems like a very interesting and viable way to centrally manage many computers running Linux, and given I'm constantly switching between several computers; I can just put my config(s) in one repo, and pull from that. + +(details on this at [`system.yaml` docs] -> Creating a track repo/webserver) ## Configuration @@ -57,20 +59,57 @@ commands: 'echo hiiiiiii > /home/user/helloooooo' ``` -It's quite basic, but blendOS actually works very well for me; I already have a Git repo of [all my configs](https://git.askiiart.net/askiiart/configs), which are intended to be run from a clean installation automatically, so for blendOS I just have to put those scripts into the yaml file and adapt it so the packages are listed in the YAML rather than being installed with `pacman` or `yay`. +(from [`system.yaml` docs]) + +It's quite basic, but blendOS's design actually works very well for me; I already have a Git repo of [all my configs](https://git.askiiart.net/askiiart/configs), which are intended to be run from a clean installation automatically, so for blendOS I just have to put those scripts into the yaml file and adapt it so the packages are listed in the YAML rather than being installed with `pacman`, `paru` or the like (at least, not directly, via `akshara` instead) ## Problems -Biggest of all blendOS's problems is how slow it is to rebuild. It doesn't save "layers" of packages like [`rpm-ostree`](https://github.com/coreos/rpm-ostree) (as used by Fedora atomic) +*By far*, the biggest of all blendOS's problems is how slow it is to rebuild. It doesn't save "layers" like [`rpm-ostree`][`rpm-ostree` docs] (as used by Fedora atomic); instead, it just completely rebuilds the system every single time. Because of this, it takes a long time to run the updater/rebuilder, even to just install one more package. + +Besides that, my only complaints are: + +1. The `akshara`'s (the update/rebuild tool) major issue with reinheritance (see [`system.yaml` docs] -> Inheritance). +2. Its community and issue tracking is primarily on Discord, which is then indexed by Answer Overflow so it's searchable with Google and the like; there's no dedicated developer space (only one issue on [their GitLab][blendOS GitLab], where `akshara` is hosted.) However, given you must be pretty competent with Linux to be using blendOS in the first place, and how small the dev team and community is, this isn't much of an issue. +3. There's a lack of documentation for some bits, though the docs are updated and getting new additions constantly. + +I've encountered more bugs and missing features since then, but I'll talk about that in my next post, as they'll fit better there. ## Wishlist +This is some other stuff I want, not necessarily problems, but things I'd like added + +- I'd like an equivalent of this at the user level specifying packages, repos, and commands for other (containerized) distros. +- I'd like to be able to automatically install blendOS - to be able to script it rather than going through the GUI. Just a tarball of the installed system would be great. + ## Sources -- \[1\] [blendOS homepage](https://blendos.co/) -- \[2\] [blendOS post-install intro](https://blendos.co/install/post-install/intro/) +Sources are linked as they're used throughout, and also listed separately here. + +[blendOS Homepage]: https://blendos.co/ +[Introduction to blendOS]: https://blendos.co/install/post-install/intro/ +[blendOS reference]: https://blendos.co/reference/ +[`system.yaml` docs]: https://blendos.co/reference/configs/system/ +[blendOS GitLab]: https://git.blendos.co/blendOS +[`rpm-ostree` docs]: https://coreos.github.io/rpm-ostree/ +[blendOS's Git structure]: https://blendos.co/contributing/#git-structure + + + +1. [blendOS Homepage] +2. [Introduction to blendOS] +3. [blendOS reference] +4. [`system.yaml` docs] +5. [blendOS GitLab] +6. [`rpm-ostree` docs] +7. [blendOS's Git structure] + +Note: As I write this, the docs, particularly the [blendOS reference], are being constantly revised. During the process of writing this, an entire new section has been added, though this post doesn't touch on that and said section is unused here - it'll come into play in the next post. ## Footnotes -[^1]: That is, `http://github.com/blend-os/tracks/raw/main` + `/` + `default-gnome` + `.yaml` -[^2]: In the provided `blend-os/tracks` repo, `default-gnome` actually inherits from the `gnome` track. +[^1]: That is, `http://github.com/blend-os/tracks/raw/main` + `/` + `default-gnome` + `.yaml`; also, I probably should've just... read the documentation from the start, instead of figuring this out on my own and only later checking the docs. + +[^2]: For example, in the provided `blend-os/tracks` repo, `default-gnome` actually inherits from the `gnome` track. + + \ No newline at end of file diff --git a/feed.xml b/feed.xml index e4f30ff..3798c00 100644 --- a/feed.xml +++ b/feed.xml @@ -5,7 +5,7 @@ eng.askiiart.net This is the feed for engl.askiiart.net, I guess https://askiiart.net - Mon, 26 Aug 2024 14:10:10 +0000 + Mon, 02 Sep 2024 04:10:52 +0000 Checking out blendOS https://engl.askiiart.net/blog/blendos.html diff --git a/index.html b/index.html index 78c5cc5..476aeff 100644 --- a/index.html +++ b/index.html @@ -20,5 +20,6 @@ diff --git a/regex-chicanery.py b/regex-chicanery.py index 7f3a484..63da360 100644 --- a/regex-chicanery.py +++ b/regex-chicanery.py @@ -9,8 +9,16 @@ filename = sys.argv[1] with open(filename, 'r+') as f: contents = ''.join(f.readlines()) regexp = re.compile('alt="(.*?)"') + # set title to same as alt text for match in regexp.finditer(contents): - contents = contents.replace(match.group(0), f'title="{match.group(1)}" {match.group(0)}') + contents = contents.replace( + match.group(0), f'title="{match.group(1)}" {match.group(0)}' + ) + + regexp = re.compile('
.*?().*?
', re.DOTALL) + for match in regexp.finditer(contents): + contents = contents.replace(match.group(0), match.group(1)) + with open(filename, 'wt') as f: - f.write(contents) \ No newline at end of file + f.write(contents) diff --git a/style.css b/style.css index fecf262..2808d5d 100644 --- a/style.css +++ b/style.css @@ -42,6 +42,14 @@ footer { font: 18px/1.35 'Atkinson Hyperlegible', sans-serif; } +figcaption { + font: 14px/1.35 'Atkinson Hyperlegible', sans-serif; +} + +small { + font: 14px/1.35 'Atkinson Hyperlegible', sans-serif; +} + a:link, a:visited { color: #80c47b; @@ -105,4 +113,8 @@ blockquote { border-left: 3px solid #59997a; padding-left: 1em; margin-left: 0.5; +} + +img { + max-width: 90vw; } \ No newline at end of file diff --git a/template.html b/template.html index bad433f..23a1652 100644 --- a/template.html +++ b/template.html @@ -14,5 +14,6 @@