12 Aug 2021 |
@d4hines:matrix.org | When using the imperative commands like nix-env --set-flag , where is that metadata stored? | 22:26:18 |
@timdeh:matrix.org | good question | 22:27:24 |
@timdeh:matrix.org | I think priority information is part of the module system, so probably within the derivation itself (but that's just a guess) | 22:27:54 |
@gtrunsec:matrix.org | * if you mean emacs overlay, my example would help you (emacs-ng feature )https://github.com/GTrunSec/Coding-Dev-Env-With-NixFlake/blob/main/emacs/flake.nix | 22:28:48 |
@ultranix:matrix.org | bud repl | 22:38:51 |
@ultranix:matrix.org | In reply to @kraftnix:matrix.org
Ok, it's 100% an emacs issue, I spliced down your profile until and simply adding/removing user.profiles.emacs from your user makes the issue appear/disappear.
i don't use emacs, or understand how their overlay works but that's your current issue.
if you haven't heard about bud before I highly recommend checking it out, specifically how it helped me quickly find your issue was doing
bud repl
nix-repl> Flake.nixosConfigurations.arrakis.config.system.path
error: The option `home-manager.users.tgunnoe.inputs' does not exist. Definition values:
- In `/nix/store/493yp6hb6mc186mgi2h2m9kddq5dwk3y-source/users/tgunnoe': { }
«derivation
# comment out your emacs profile
nix-repl> :r
Loading '/nix/store/q35fmyf6l8d5gc7khgmpqzj84q6l6wlj-repl.nix'...
Added 4 variables.
nix-repl> Flake.nixosConfigurations.arrakis.config.system.path
«derivation /nix/store/0xg5n34l73p7h03wsi5ixl7ijlpm1j6h-system-path.drv»
allows for very quick debugging
i'll check it out, thank you | 22:39:14 |
@ultranix:matrix.org | i dont understand still what bud is for. in that example, it seems to run nix-repl and then Flake.nixosConfigurations.arrakis.config.system.path | 22:40:37 |
@kraftnix:matrix.org | bud is the replacement for flk with more features, makes it easier to write your own custom cli | 22:41:16 |
@kraftnix:matrix.org | so basically yeah bud repl, is just nix repl but wraps in a few things, bud gives you Flake, Channels, LoadFlake and Me | 22:42:16 |
@ultranix:matrix.org | i didn't use flk either. it disconnected me from understanding what the normal nix/flake commands would be | 22:42:18 |
@timdeh:matrix.org | Just for posterity, d4hines and I debugged the issue further via DM, and we discovered that the conflict was due to the the nix which was installed by default in the profile already, and the home-manager derivation which was trying to be installed. Lowering the priority of the default Nix install package with nix-env --set-flag resolved the conflict | 22:43:21 |
@ultranix:matrix.org | that emacs profile is getting dated i suppose | 22:43:49 |
@kraftnix:matrix.org | if you look at the source for bud you can see what the command does, it honestly makes me life 10x easier rather than having to type out boilerplate all the time, it aims to just wrap nix and provide good defaults for the devos project. it's also good to learn what the commands actually do under the hood tho, so I can appreciate that. | 22:45:18 |
@ultranix:matrix.org | alright i'll give it a try then | 22:53:29 |
@ultranix:matrix.org | i just try not to bloat my configuration with thing's i dont use, so i think i removed it and a few other things like darwin | 22:53:30 |
@ultranix:matrix.org | i have hardly understood what's going on with the base devos configuration, but its definitely better since the digga abstraction | 22:54:48 |
@timdeh:matrix.org | Yeah, I kinda took the risk of exposing my (lack of) skills when I first release DevOS. The hope was that the community would make it better, and it seems to have worked so far 🤞 | 22:56:22 |
@timdeh:matrix.org | * Yeah, I kinda took the risk of exposing my (lack of) skills when I first released DevOS. The hope was that the community would make it better, and it seems to have worked so far 🤞 | 22:56:29 |
@timdeh:matrix.org | * Yeah, I kinda took the risk of exposing my (lack of) skills when I first released DevOS 😅. The hope was that the community would make it better, and it seems to have worked so far 🤞 | 22:56:36 |
@ultranix:matrix.org | i think a lot of my problems have been unable to quickly adapt to all of the changes, for example flakes and reading logs and derivations are so different there as well. its hard to keep up often | 22:59:45 |
@ultranix:matrix.org | all of the changes within nix community | 22:59:59 |
@ultranix:matrix.org | so yeah, couldnt even find a stack trace that would help me with this error. that i've had for more than a month | 23:00:33 |
@timdeh:matrix.org | Yeah the nix debugging story is probably the worst thing about the language atm | 23:01:23 |
@timdeh:matrix.org | I was thinking it might be worth creating a sort of linter with rnix-parser that looks for common error patterns itself, instead of relying on the confusing stack trace abilities of the evaluator | 23:02:03 |
@d4hines:matrix.org | In reply to @ultranix:matrix.org i just try not to bloat my configuration with thing's i dont use, so i think i removed it and a few other things like darwin This is why I'm starting from scratch with a home-manager config. The DevOS config has a lot of really cool ideas, but it's got too much going on for me as a beginnner. | 23:02:05 |
@ultranix:matrix.org | i think yeah you do need some experience with nix to use DevOS, cant just spin it up with a first time NixOS or whatever | 23:04:19 |
@ultranix:matrix.org | but for nix itself, it would help a lot to move fully to flakes, and get rid of the old interface too | 23:05:50 |
@ultranix:matrix.org | or at least have it under legacy interface or something | 23:06:20 |
@timdeh:matrix.org | indeed, DevOS was more of an attempt at reifying a best practice for a Nix repository. It's hard to grasp a best practice when you barely understand the rules of the game 😅 | 23:06:26 |
@ultranix:matrix.org | nix subcommand flake to just be nix | 23:06:33 |