···1+@document.meta
2+title: WHAT-BRANCH
3+description: What this PR will be about
4+authors: ladas552
5+categories: [
6+ nix
7+]
8+created: 2026-03-08T12:33:21
9+updated: 2026-03-08T18:25:52
10+version: 1.1.1
11+@end
12+13+* What I want
14+ - Remove flake-parts dependency
15+** Additonal ideas to implement
16+ - Go flake inputless.
17+ Get everything from nvfetcher. Yes, even nixpkgs. I don't have a reason to, other than that I hate how flake inputs work. not having a good way to import modules. Also need to find a way to make a nvf config.
18+ - Switch to Adios
19+ For the fun of it. I think I can use adios with Flakes. Need to check. There is no practical reason, other than it will be fun and Uniq.
20+* How
21+** My current setup
22+ ~ Utilises generic module class to set options for every flake parts module, including the wrappers.
23+ ~ nixosConfiguration function to combine all the modules into a host
24+ ~ If I don't import a module into host, it doesn't exist. As in doesn't apply changes
25+26+** How Can I reapply this setup on non Flake-Parts config
27+ ~ Generic modules, are just normal modules because normal modules don't type check. So theoretically I can import the normal option modules under any scope.
28+ ~ I can just use the default flake outputs with a let in
29+ ~ I think options will work just fine. But I need to take out all the boilerplate from it. make it as simple as `mkIfModule` at the top of the config or something.
30+31+** Materials
32+*** Classes without flake-parts
33+ from @boomshroom on nixos unofficial discord, this way whichever module loads the config will determine under what class it will load.
34+ @code nix
35+{ _class, ...}:
36+{
37+ nixos = { /* nixos config */ };
38+ homeManager = { /* home-manager config */ };
39+ nixOnDroid = { /* droid config */ };
40+ darwin = { /* macos config */ };
41+ nixbsd = { /* bsd config */ };
42+}.${_class}
43+ @end
44+45+*** Configs to steal
46+ - {https://github.com/llakala/nixos}[llakala] - adios, wrappers, uses base values and specialArgs
47+ - {https://github.com/hercules-ci/flake-parts/blob/main/extras/modules.nix}[Flake-parts] - This file in particular defines modules and classes in `flake.modules`. So theoretically I can just adopt this into my config without fucking with flake-parts