| 11 Aug 2021 |
balsoft | * People who manage their nixos desktops with flakes: how do you handle the programs.sqlite thing? It used to be distributed together with channels, but it's not an option with flakes... | 13:06:03 |
niksnut | In reply to @balsoft:balsoft.ru People who manage their nixos desktops with flakes: how do you handle the programs.sqlite thing? It used to be distributed together with channels, but it's not an option with flakes... Yeah, that's not supported with flakes. | 17:57:09 |
Jez (he/him) 🌦️ | What's the programs.sqlite thing? | 19:13:10 |
andi- | It is for the programs-not-found handler that tells you which package(s) a binary might be in that isn't in your PATH. | 19:21:09 |
tomberek | ls /nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite -alh | 19:22:25 |
Jez (he/him) 🌦️ | Ah! I assumed it was an attribute set from configuration.nix 🙃 | 19:28:06 |
Jez (he/him) 🌦️ | programs.sqlite.enable = true; 😉 | 19:28:28 |
Jez (he/him) 🌦️ | Anyway, I use a flake to manage my system config, and home-manager within that, and the home manager option programs.command-not-found.enable = true; seems to work for me | 19:29:56 |
Jez (he/him) 🌦️ | But I've not tried it without hm | 19:30:11 |
elonsroadster | Is there a standard way to allow users of a flake devShell to add further customizations to that shell? | 22:16:36 |
elonsroadster | I suppose that an import extension that happens if some file in the directory exists might work, but the annoying thing is that the file would need to be git added at minimum to be included. | 22:17:43 |
| 12 Aug 2021 |
balsoft | In reply to @jez:petrichor.me Anyway, I use a flake to manage my system config, and home-manager within that, and the home manager option programs.command-not-found.enable = true; seems to work for me It works only if you have the channel. I don't. | 00:08:53 |
balsoft | In reply to @niksnut:matrix.org Yeah, that's not supported with flakes. Ok, thanks. | 00:09:10 |
elonsroadster | In reply to @elonsroadster:matrix.org Is there a standard way to allow users of a flake devShell to add further customizations to that shell? No one has any ideas for this? | 02:38:06 |
tomberek | elonsroadster: you are probably looking for "shellHook" | 03:36:10 |
elonsroadster | tomberek: I don't think so. I want to be able to modify the nix expression provided by a flake as the devShell. For example, I want to be able to add additional developer tools to the nix shell that shouldn't necessarily be added to the nix shell for everybody. My particular use case is that I want to add a language server implementation that is using the same compiler versions etc. as what is in the nix shell as part of the nix shell. | 03:42:09 |
elonsroadster | My understanding of shellHook is that its a parameter that allows the execution of additional shell commands and stuff, not a way to add or modify the derivation that actually generates the shell | 03:42:55 |
mewp | wouldn't makeOverridable work here? | 05:07:09 |
Jez (he/him) 🌦️ | In reply to @balsoft:balsoft.ru It works only if you have the channel. I don't. Oh, I see what you mean! | 06:50:46 |
elonsroadster | In reply to @mewp:nurupo.pl wouldn't makeOverridable work here? im not super familiar with that | 06:57:59 |
elonsroadster | mewp: I mean thats sort of what I'm looking for, but generally, I want to be able to use nix develop but override aspects of the devShell. makeOverrideable, only makes it so that if I somehow am able to import the flake that I can then further modify it | 07:00:09 |
elonsroadster | I believe that most of the functions that create shells probably already have makeOverridable applied | 07:00:39 |
mewp | all right but override how? as in, not what you want to change, but how would you like to change it? | 07:01:59 |
elonsroadster | so the primary use case I have is adding certain developer tools, which may not be of use to everybody | 07:02:19 |
elonsroadster | so like | 07:02:22 |
elonsroadster | I'd like to add say an lsp server to the devShell | 07:02:40 |
elonsroadster | having the lsp server in e.g. my profile, or installed globally in any way is not a good solution. Between diff projects I will need diff versions, and the version of the language server should depend on how things are set up for that particular project | 07:03:48 |
elonsroadster | so I guess one thought is that I know that there is a compat library that eelco wrote (https://github.com/edolstra/flake-compat/blob/master/default.nix) | 07:04:38 |
mewp | ah, so if I understand correctly, you want to have personal customizations to a devShell? | 07:04:56 |
elonsroadster | right exactly | 07:05:07 |