I added specializations over a year ago when I was still new to NixOS
and trying out some of the many different features unique to it. These
days I don't need much more than a terminal and a web browser, and I
haven't used GNOME or Plasma in over a year at this point.
Nowadays everything I need from a computer I can accomplish with the
terminal. Nixpkgs trained me to dig deep into source code to figure out
how to do things, and using a PinePhone significantly improved my
awareness of how Linux interacts with hardware and how to configure it.
One of the biggest motivators for dropping these environments is that I
can't keep up with the changes that are made to GNOME and Plasma.
Hyprland has served my needs well and feels more stable since there
isn't a user interface that's constantly changing.
Now it's possible to float and unfloat windows and those windows will
preserve their floating window size.
Note that this patch was merged with the alwayscenter patch so the diff
applies cleanly.
After trying the new picom animations for a bit they're a bit too janky
compared to the animations in Hyprland. The "geometry" trigger
replicated the tiling animation when swapping windows, however this came
at the cost of transparency being broken during the animation and the
easing in general not being comparable to Hyprland.
Further issues include the usage of animations breaking fade in/out
support for windows, which I found less intrusive than the appear /
disappear presets with not-so-subtle easing. Using the geometry trigger
also meant that switching tags in dwm had a slide in effect, which felt
disruptive compared to the usual feeling of dwm.
Other issues included the increased probability of things not being
drawn correctly (for example, an animation that "hangs" while in the
middle of animating) and a slightly annoying fade effect every time
windows changed in size such as when toggling fullscreen.
The config used is below for reference, however after trying picom
animations dwm feels considerably better without them.
```
animations = (
{
triggers = ["open"];
preset = "appear";
scale = 0.5;
},
{
triggers = ["close"];
preset = "disappear";
scale = 0.5;
},
{
triggers = ["geometry"];
preset = "geometry-change";
duration = 0.5;
},
);
```
Trying this out with dwm and it seems to work. Note that we aren't using
the windowmap patch since it causes windows such as kitty to not focus
properly when switching between tags.
Automatically moves windows to the leftmost tag when moving them.
Useful to help keep the third workspace unoccupied when two other
workspaces have windows on them.
Changes from the original dwm:
- Removed border from windows
- Changed colors (will replace with stylix ones later)
- Added media keys for brightness / volume
- Changed tag names and amount
- Added transparency to bar
- Made librewolf float to preserve window size
- Removed unused keybinds like layout switching
- Removed unused tag keys
- Set mod key to super instead of alt
- Changed dmenu to rofi and st to kitty
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.