its laptop
information regarding the computer natalie uses primarily, a framework 16 laptop.
said computer is rather cursed, because it is used by this one. it is very bad at using regular computers, thus all of its computers are quite odd. this is the case to the point that it is nigh impossible for a "normal" "person" to use its computer productively. specific manifestations of this phenomenon shall be detailed below.
booting the kernel
it does not use a boot loader. every time it has attempted to use a bootloader, it has found the experience to be frustrating and pointless. as such, it does not bother. instead of a boot loader, it has simply compiled its kernel with the appropriate drivers to boot the computer. notably, its kernel does this without an initramfs of any kind.
in addition to not having a bootloader or initramfs, device firmware blobs for the gpu, wireless adapter, and ethernet adapter get built in to the kernel image. furthormore, all but three options in the k config that must be enabled are set to =y instead of =m. as such, the only modules in /lib/modules/$(uname -r) are i2c-hid.ko, i2c-hid-acpi.ko, v4l2loopback.ko. v4l2loopback is compiled as a module because it is v4l2loopback, while the reason for the other two being modules will become evident later. this produces a kernel that is 31 megabytes in size (gzipped).[2] more importantly, this makes its kernel functionally impossible to break. additionally, because this computer has a fourth generation nvme drive, the computer boots very quickly because the lack of a need to load modules or firmware makes up for the large kernel size.
the operating system
it runs artix linux. technically, there are 3 root partitions on its computer, one for gentoo, one for artix, and one for nixos. this is irrelevant as it only uses artix as gentoo is broken due to its incompetence, and nixos is frustrating to use (firefox does not work on it for some reason)[3]. additionally, it would be out of scope to use nixos or gentoo, as both of them were installed to experiment with, not to use.
it uses openrc for an init system, because it enjoyed that part of gentoo. also, it is nicer than runit, which it used previously. unfortunately, it is really annoying to have a functioning computer without elogind[4], so it still uses some parts of systemd.
the framework 16 has an issue where the trackpad is able to wake the computer whilst it is asleep due to the lid bending. the trackpad, for some reason, does not appear in the list of acpi wakeup devices. it is not sure why this is, however it is quite frustrating as its computer will turn on in its bag and cook itself until the battery is drained. to fix this, it uses the following script with acpid:
#!/bin/sh
cat /proc/acpi/button/lid/LID0/state | grep open && (modprobe i2c_hid_acpi) || (
acpitool -w | grep enabled | awk '{print $1}' | sed 's/\.//' | xargs -I{} acpitool -W {}
rmmod i2c_hid_acpi
(test -e /home/catalie/.should-power-off) && s2ram --force
)
this disables every acpi wakeup device when /proc/acpi/button/lid/LID0/state is closed, as well as unloading the i2c driver kernel module required for the trackpad to function. upon the lid once again being opened, this driver is reloaded, allowing the trackpad to begin functioning again. this system effectively mitigates the issue of its computer being woken by the trackpad while in its bag.
environment
unfortunately, it uses hyprland. it hates hyprland, but it has yet to find a good compositor or window manager. recently, it has been considering moving to fvwm, but it needs to configure it first. it has written its own status bar and notification ui. these may be found here: //git.gay/0x6e6174/ui. these programs are written using its own python wrapper library around libastal.
almost everything it does is from a terminal. exceptions to this are limited to web browsers, steam, and, unfortunately, discord, as well as occasionally qgis, gnuradio, kicad, and krita. it avoids gimp if it can. it uses foot as its terminal, because it is the best unix terminal emulator it has been able to find.[5] it uses zsh as a shell, and neovim to edit text files. most of what it uses a computer for is editing text files, so neovim is a very important tool for it. mpd is used to play music, because it refuses to use any service that contains ads and is unwilling to pay money to a service so as to make said service not serve ads. it does not like being extorted, and, when possible, will not allow itself to be. other than the prior enumeration of software, it does not use much of note. all file management is done via coreutils, because it cannot fathom why it wouldn't be. "file managers" are pointless and inconvenient.
keyboard
thankfully, framework offers blank keyboards for purchase. this has saved it much time as, unlike with its old laptop, it did not have to sand its keyboard. it uses an ISO layout keyboard, using a slightly customized version of the programmer dvorak layout. because the firmware for the framework 16 keyboard is just qmk, it has programmed this layout in to the firmware itself instead of dealing with silly things like custom xkb layouts.
comments
as an anti-bot measure, in order for $VIEWER's comment to be stored on the server, $VIEWER MUST enter the commit hash of the current deployment found in the bottom right of the page footer. failure to do so will result in the comment being disregarded.