Welcome to my horrifyingly convoluted NixOS configuration. This mess currently runs on my desktop (desktop
), laptop (t440p
), optiplex homeserver (server
), testing laptop (x220
) and an unused smart tv replacment (digiboksi
). I am very creative with naming things.
This is a slowly moving flake of theseus, going through occasional half assed refactors. This repository has been around from when i first got started with home-manager, most of the oldest stuff has been replaced, but there are still probably a few lines of nix remaining.
At Meow Industries, our commitment to excellence is reflected in our comprehensive list of innovative features, including but not limited to:
- [X] Modules to abstract away the abstractions provided by NixOS
- [X] Library with useless helper functions that only add extra complexity
- [X] Configuration only used by one machine represented as a module in
modules/
. - [X] Unused and useless customization options for those modules
- [X] Modules for things I don’t even use, for example gnome is a “supported” environment
- [X] Rewrites of community modules that I was slightly unsatisfied with
- See impermanence.nix, discord or the WIP browser module
- [X] Helper programs which could have just been scripts
- See screenshot or ir-client
- [X] Unfunctional flakeless build system
- [X] Useless abstraction on top of home-manager
- As a bonus treat there is no consistency in the usage of home-manager or NixOS options
- [X] Bad file organization
- [?] Bad programming practices
- [X] Unreadable nix incantations
TODO: Get rid of the separate home module
TODO: Move more stuff back into home manager
TODO: Invent a way of making a home manager output from the module imports list to support non nixos installations
- It should be possible to
lib.evalModules
all of the nixos modules, and then use the home manager modules inside a standalone home manager setup? - For this to be of any use, more stuff must be moved into home manager, as right now you wouldn’t even be getting a shell