- Add deadnix, nixfmt, and statix to flake inputs
- Add formatter output to flake for nix fmt support
- Add deadnix, nixfmt, statix to Home Manager packages
- Format all nix files with nixfmt
- Add GitHub Actions workflow for CI validation
- Support x86_64-darwin in formatter
This is being done as a step before moving to the nix version of ABS.
That change would be included here too, but I ran into a bug:
```
[2024-12-02 19:53:46.433] FATAL: [Server] Unhandled rejection: [Error: EACCES: permission denied, mkdir '/metadata'] {
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/metadata'
}
promise: Promise {
<rejected> [Error: EACCES: permission denied, mkdir '/metadata'] {
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/metadata'
}
}
```
No idea why yet so the container lives on.
To setup the mountpoint, I ran `zfs set mountpoint=legacy
orico/audiobookshelf` and created the directory used as the mount in the
`fileSystems` section.