Using @attrs for the flake was cool at first, but this doesn't actually
work if we want to use our nix-config inside NixOS containers due to how
`self` works.
Because of this, it's easier to simply ban @attrs altogether and use
`nix-config` for everything since it's possible to access *all* the
inputs of nix-config from itself instead of having to manually inherit
each input we want (which could be any of them).
Makes it possible to enable phone support for different devices in the
future.
Note that programs.man.generateCaches in home-manager is handled at the
system level to avoid having to later override it with mkForce.
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.