Previously, the device ID would be lost and consequently regenerated on boot.
This means that previous connections will recognise it as a new, different
device.
I'm sorry. I really wanted to improve my commit discipline. I know. I can't
be fucked to comb this diff and split it into 8 properly-ordered commits, like I
know I should. I'm not having a good time right now. We'll do better moving
forward.
- Greatly increase gc-cons-threshold. This is the biggest win of this commit, shaving off about 400 ms. The GC runs a single time during init.
- Sprinkle a few `:defer t`s throughout.
wwwwfeat: Configure Orderless
Shaving MILLISECONDS off our startup time!!! Fuck yes!
I've measured the average startup time to be 0.68s in the previous commit, and an average of 0.52 with this commit.
Every Nixy solution I could find or conceive had too many points spread across
these various facets:
- Flimsy (emacsWithPackagesFromUsePackage)
- Inelegant (builtins.exec, manual listings)
- Inflexible (emacsWithPackagesFromUsePackage)
- Otherwise unergonomic (everything }:D)
Straight.el is sufficiently declarative, flexible, and Nix-friendly without
blindly bowing down to the imperialist NixOS user. Now, Convenience and
ergonomics shan't be forsaken for the dogma that is total Nixation.
Working:
- The daemon
- Mutable config — well, kinda. I'm not yet sure how it will interact with
`emacsWithPackagesFromUsePackage`.
- Packages via Nixpkgs
I had to disable initrd's systemd stuff. I just /couldn't/ get a rollback
service working; believe me, not for a lack of effort! I've been working on
this on-and-off for a month or two now.