Who needs Wyse ThinOS anyway, using that would be a waste of a perfectly good x86_64 machine

The aforementioned weird bullshit to get Starship to work nicely is because Starship on Windows doesn't know jack shit about MSYS2 (even when compiled with Cargo inside MSYS2), so there's a couple little config changes, plus explicitly setting the STARSHIP_CONFIG environment variable in ~/.profile

starship.toml:

[directory]
use_logical_path = false
[directory.substitutions]
"C:/msys64/" = "/"
"/home/Iris System" = "~"

Show thread

@Whovian9369 IIRC, msys2_shell.cmd completely ignores what shell you set in /etc/passwd and will always just start bash. This way works though!

This cursed batch script
+ creating an /etc/passwd in MSYS2 and changing my shell
+ setting up Starship (which required some weird bullshit)

= nice shell environment in Windows

:blobcatsip:

Show thread

Wanted to get an MSYS2 shell inside ConsoleZ rather than being forced to use whatever the fuck terminal emulator it has by default.

Figured out I can do that with 2 lines of cursed bullshit in a Windows batch script:

set PATH=C:\msys64\usr\bin;C:\msys64\usr\local\bin;%PATH:;;=;%
bash -c 'cd ^&^& exec $(getent passwd "%USERNAME%" ^| cut -d: -f7) --login'

I think, after I’ve got some other stuff out of the way, I’m going to work a little bit more on the standard library; finish the last little bit of the allocator; and then get a little skeleton thing using all that booting on x86_32.

We’ll see how that goes I guess!

Show thread

I swear to fuck. It took us ages to figure out why the internal IntToString function wasn't working properly with big unsigned integers, turns out it was me fucking up the signedness stuff

git.i8.nz/iris/c-slos.git/comm

Show thread

The format strings probably look familiar if you've used Rust. Yes, that is what I'm doing, or at least as close to it as I can get in C.

:blobcat3c:

Show thread

Slowly working on the Weird[1] String Formatting Code

[1] read: not printf-compatible

Show thread

Okay, I think we're going with Meson instead of some weird custom build tooling, actually. This is nice

Show thread

And then, I get to do the fun shit that is *build tooling*

The current idea around that is a no-dependencies Python 3 module that reads a config (which specifies the platform to build, the config flags, etc) and generates a big fuckoff Makefile that does the actual build

We'll see how that turns out I guess

Show thread

Currently working on the allocator (`slalloc`), only have a couple more things to do on that.

After that, the event system in the kernel standard library, which I've started on but haven't tested At All lmao

Show thread

I set up cgit for this. Here's the work-in-progress code for the weird OS kernel we're working on

git.i8.nz/iris/c-slos.git

🐈 πŸ’»'s choices:

Cybrespace

the mastodon instance at cybre.space is retiring

see the end-of-life plan for details: https://cybre.space/~chr/cybre-space-eol