This was cool but there were a few issues such as me not being able to
find the infamous "dock patch" despite grepping for dock on
https://dwm.suckless.org/patches/, which resulted in the keyboard hiding
tiled windows and being below floating windows.
There was also an issue where starting corekeyboard from dwm would
result in styling not being applied compared to starting it from the
terminal.
A third issue was that from a quick attempt I couldn't get callaudiod to
start inside dwm, which was required for gnome-calls.
Overall it looks like I will be using Phosh until further notice on the
PinePhone, as I've already gotten it to work well enough for my use case.
This worked and was *significantly* faster than Phosh but resulted in a
lot of phone things broken like phone calls and the camera. Overall
quite cool to run dwm on the PinePhone but not really practical when
trying to use the PinePhone as a phone.
Derivations like the documentation for rustc were taking up huge amounts
of space that *probably* aren't needed on the PinePhone, so disabling
documentation should significantly improve copy times and reduce the
total amount of space necessary for updates.
Note that we're using libopus and libx264 instead of flac and ffvhuff to
significantly reduce the file size and make it easier to play back the
recorded video on the PinePhone.
Note that there will be no preview while recording the video. The video
recording is also delayed a bit, so it's necessary to wait a few seconds
after you finish recording a video before pressing q to stop it.
This is a huge step towards using the phone as a phone without having to
worry about using Phosh long-term. This could potentially lead to an
extremely minimal phone in the future that has improved performance for
simple tasks.
Will be using the phone as a portable web browser to avoid issues with
native applications generally being slower and lacking features you'd
find in their web counterparts.
Had to reinstall NixOS on the PinePhone again since a corrupted Nix
store broke everything and was unrecoverable due to not being able to
successfully repair specific files with the use of SSH substituters.
This time we will be trying the PinePhone without LUKS encryption to see
if this makes a difference in the performance of the device. Technically
encryption *isn't* supposed to make things slower in 2024 but the
PinePhone CPU is old enough that performance could've been affected.
Alacritty has some significant issues that make it a non-starter for me
on the PinePhone, such as neovim not displaying properly over SSH.
As an alternative to no touch support in kitty and no shift modifiers in
squeekboard, tmux can be used instead.
I only use alacritty on the phone due to the superior touch support.
Touch support might be added to kitty later if someone is willing to
patch it. See: https://github.com/kovidgoyal/kitty/issues/5432
After having to use vagrant again after a while I've decided that it's
better to simply "do things the right way" the first time with the
declarative nature of Nix instead of trying to make install scripts
work.
Notably, the feedback loop between provisioning Vagrant boxes was
lacking compared to rebuilding on NixOS, and the virtual machine
frequently had to be destroyed and provisioned all over again, versus
having already built derivations with Nix.
Been running this for a few days now and it seems to make the phone
significantly slower under load but reduces the probability of hanging
and crashing by quite a bit.
Plan to try this later with maximum CPU frequency to see if high CPU
frequency still crashes the PinePhone.
- mpv: No hardware acceleration makes it useless under phosh
- thunar: Viewport breaks when using non-English UI
- ncmpcpp: Phone screen is too small to show display
- papers: Gets cut off due to the 200% zoom and 1440x720 resolution
- geary: Not interested in storing emails on the phone
Seems to be a bit more unstable but the performance difference is huge
enough that I'd rather run this than the minimum cpu frequency.
Battery life seems to be okay with around 3 hours of on-screen time and
low brightness. The massive increase in performance means that there's
much less time spent waiting for the phone, so the decrease in on-screen
time should be offset by how long you have to keep the phone on waiting
for it.
This fixes an issue where previously homeManagerModules would be an
unknown flake output. Note that this change is a part of Nix 2.22.3
but not Nix 2.23.3.
This is necessary since the boot process is handled by mobile-nixos.
Note that the implementation here should allow us to move aarch64
differences out of the flake.nix and simplify nixosConfigurations
again long-term.