Sender | Message | Time |
---|---|---|
20 Oct 2021 | ||
mars | this is kinda the nature of the nixos module system though modules all modify one big config | 00:35:48 |
David Arnold (blaggacao) | Heheh, see divnix/data-merge . | 00:36:17 |
David Arnold (blaggacao) | afk for a bot | 00:38:03 |
mars | but yeah with profiles it seems like you're going for
and you can't paste two definitions of the same option in one configuration.nix whereas modules that are potentially upstreamable are supposed to be safe to add to your imports | 00:38:05 |
mars | * but yeah with profiles it seems like you're going for > stuff you might paste in a configuration.nix without much extra structure and you can't paste two definitions of the same option in one configuration.nix whereas modules that are potentially upstreamable are supposed to be safe to add to your imports | 00:38:52 |
mars | so i get the basic idea
| 00:40:59 |
mars | i don't love modules/ , though, because potentially a digga user will have modules for NixOS, home-manager, nix-darwin, and (I just learned this also has modules today) devshell— which are all different module systems | 00:45:55 |
mars | and even if they all (for now?) have the same kinds of modules, they have different stuff in them. extra care has to be taken (if it's even possible) for a whatever-module.nix file to work for both NixOS and nix-darwin or whatever | 00:48:01 |
Pacman99 | In reply to @mars:jupiterbroadcasting.comDevos was mostly made with a focus on nixos. So modules/ is meant for nixos. I think that's the best sane default. But we could always make the groupByConfig structure the default. | 00:54:16 |
mars | In reply to @pachumicchu:myrdd.infoI can tell! if you don't have a top-level nixos attr passed to digga.mkFlake, it chokes ;) | 00:55:32 |
Pacman99 | In reply to @mars:jupiterbroadcasting.comI think there has been work to make this possible, but it requires a lot of groundwork to work with various init systems and configuration methods | 00:55:35 |
mars | In reply to @pachumicchu:myrdd.infowym groupByConfig? is that an existing template? | 00:56:56 |
Pacman99 | In reply to @mars:jupiterbroadcasting.comUhhh I think that is kind of a bug. I would prefer if that didn't happen, but we rely on nixos.hostDefaults.channelName | 00:57:57 |
Pacman99 | I wonder if there's anything else in nixos we rely on... | 00:58:21 |
Pacman99 | In reply to @mars:jupiterbroadcasting.comYeah its one of the examples in digga | 00:58:52 |
Pacman99 | In the nix-darwin PR, a top-level hostDefaults was proposed, I think this is a good argument for that | 01:00:02 |
mars | I was just looking at that, was about to bring it up! | 01:00:25 |
mars | wanted to review the discussion there first | 01:00:33 |
mars | I think it's great if devos is NixOS focused. I like how the pkgs/ dir is structured to mimic Nixpkgs and the file declaring the overlay is like Nixpkgs' top-level/all-packages.nix | 01:02:38 |
mars | but for me I'm trying to figure out if digga would be nice to use to define a generic Nix code repo seems like with the nix-darwin related PR it might be more or less there? | 01:03:42 |
mars | basically just like:
| 01:09:34 |
mars | seems like that's the direction digga is going. is that right? | 01:10:25 |
mars | In reply to @pachumicchu:myrdd.info ok, looking again at that PR:I think being able to share channels between all consumers of nixpkgs is a good idea, so I like a top-level also for sharing module code between module systems, digga doesn't need to be clever you can tell digga that a module is compatible with a given module ecosystem by symlinking it into the appropriate dir, if you don't want multiple copies of it | 01:16:09 |
mars | * ok, looking again at that PR: -- I think being able to share channels between all consumers of nixpkgs is a good idea, so I like a top-level `hostDefaults` also for sharing module code between module systems, digga doesn't need to be clever you can tell digga that a module is compatible with a given module ecosystem by symlinking it into the appropriate dir, if you don't want multiple copies of it does that seem too clunky? | 01:16:30 |
Pacman99 | Channels are shared already its just the default channel that isn't | 01:26:30 |
Pacman99 | But generally I think I agree with you on other points | 01:26:46 |
Pacman99 | I'm starting to think a top-level hostDefaults might be warranted | 01:27:09 |
mars | ok cool. thanks for the correction and for thinking through this with me | 01:27:29 |
Pacman99 | We should make a github issue or discussion for this, if you would like to get that started | 01:28:35 |
mars | channels here is terminology inherited from fup, right? and what it means is collections of packages that are similar to nixpkgs in structure (they expect the same arguments when you import them, they can be modified through the overlays interface) | 01:28:44 |