5 ms·
> tightly-coupled, non-modular, non-scalable pattern, experimental This is a massive part of the problem to be advocating for & adopting flakes. My config is m
by toastal 1mo ago
> tightly-coupled, non-modular, non-scalable pattern, experimental
This is a massive part of the problem to be advocating for & adopting flakes. My config is much simpler: nixos-rebuild switch --file host/$HOSTNAME. This doesn’t require a properly evaluating, not-quite-Nix manifest file to just to build a system. If more folks understood the standard package format & overlays, they too would come to the conclusion that pointing to a file is simpler/uncoupled. packages are just derivations, as are apps, as are checks so there’s little value in separating them. Overlays, modules, configurations, these are all better as their own files too—instead of what I see more often which is coupling them to the flake so they can’t be consumed by stable nix. I have seen big corpos get totally boned by transitive dependency resolution exploding the lockfile too as input.follows does not offer the same power as overlays. The straw breaking camels’ backs to me is how restricted the input pinning options are to things being shipped by the C++ binary & the maintenance burden upstream now takes on trying to shove too many things into the binary instead of sticking to a few primitives.
You don’t need perfectionism—my config is a mess of some of my most beginner code—but the foundation folks are building on is not good & it ends up leaving very sour tastes in folks’ mouths and/or trying to build abstractions on abstractions to hide the underlying design (things built on ‘dendredic’ patterns, which itself is a questionable patterns, built on flake-parts which is questionable, all to hide limitations of flakes which is the core misstep which is hard to work with causing folks to want to overabstract).
- archietect 1mo agoWhere is --file argument documented? I checked the man page, that doesn't exist.
- toastal 1mo agoThe manpage for `nix build` & `nix shell` goes to `nix-build` & `nix-shell` the stable, non-experimental command which do not need a file as an arg since they are more developer-friendly. The `nix-command` experimental stuff is documented somewhere else—maybe https://nix.dev/manual/nix/2.35/command-ref/new-cli/nix.html?highlight=--file#nix-file https://nix.dev/manual/nix/2.35/command-ref/new-cli/nix.html... is good enough for the concept. `man nixos-rebuild`, `man nix profile` have `--file, -F` documented.