!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

38 Members
https://github.com/nix-community/flakelight12 Servers

Load older messages


SenderMessageTime
18 Sep 2025
@niclas:overby.meNiclas Overby Ⓝimage.png
Download image.png
10:21:01
@niclas:overby.meNiclas Overby Ⓝ Hi accelbread !
Have you considered supporting something like this in Flakelight, so that input overlays can be moved to the withOverlays folder?
10:22:56
@niclas:overby.meNiclas Overby ⓃAnd actually the same for lib, so you can use pkgs in lib10:25:48
@niclas:overby.meNiclas Overby Ⓝ* And actually the same for lib, so you can use pkgs in the lib folder10:27:02
@accelbread:matrix.orgaccelbreadthat should already work, right?14:36:21
@niclas:overby.meNiclas Overby ⓃIt seems to cause an infinite recursion14:39:24
@niclas:overby.meNiclas Overby Ⓝimage.png
Download image.png
14:39:26
@accelbread:matrix.orgaccelbreadAh, I see. I'll take a look14:41:40
@accelbread:matrix.orgaccelbread

interestingly, something like the following in nix/withOverlays/default.nix works:

final: prev: (prev.lib.composeManyExtensions [
  prev.inputs.nixgl.overlays.default
  prev.inputs.emacs-overlay.overlays.package
  prev.inputs.self.overlays.overrides
  prev.inputs.self.overlays.lix
]) final prev

So computing the module arguments is triggering evaluation of withOverlays... hmm

15:10:09
@niclas:overby.meNiclas Overby Ⓝ

Does it make sense that this is supported?: (How does Flakelight know whether it is an overlay or a function to setup multiple overlays, like in my example ?)

withOverlays = overlay; 

Shouldn't it only support?:

withOverlays = [overlay, ...];
15:18:28
@accelbread:matrix.orgaccelbread ah it's type is defined as optListOf overlay; if what its set to is a list, its used as is, if its not a list its put in one 15:20:29
@accelbread:matrix.orgaccelbread so withOverlays = overlay is automatically converted to withOverlays = [ overlay ] by the module system 15:21:18
@accelbread:matrix.orgaccelbreadah that explains it15:24:36
@accelbread:matrix.orgaccelbread you can usually do { inputs, ...}: ... in a file because those options support being set to a function that takes module args 15:25:52
@accelbread:matrix.orgaccelbreadthis should be distinguishable though15:26:53
@accelbread:matrix.orgaccelbreadtesting a change that enables taking args when loading withOverlays16:36:34
@accelbread:matrix.orgaccelbread given that withOverlays = overlay is confusing with module args (i.e. cant do { inputs, ... }: final: prev: { ... }, must do {inputs, ... }: [( final: prev: { ... })]), and that I dont see others' repos on Github using that form, I'll deprecate the withOverlays = overlay syntax in favor of explicitly writing withOverlays = [ overlay ] 16:41:41
@accelbread:matrix.orgaccelbreadActually, don't need to deprecate that16:48:11
@accelbread:matrix.orgaccelbreadhttps://github.com/nix-community/flakelight/commit/464ab0a32efcc4310eef119cfc6c470e267cd42a16:59:47
@accelbread:matrix.orgaccelbreadthis should work now with the new commit17:01:15
@accelbread:matrix.orgaccelbread will need {inputs, ...}: instead of just {inputs}: 17:03:34
@accelbread:matrix.orgaccelbread Is there an issue with importing lib from nix/lib/default.nix? It already can take module args 17:11:26
@niclas:overby.meNiclas Overby ⓃNo I just assumed it didn't work either.19:06:40
@niclas:overby.meNiclas Overby ⓃNice thanks! :)19:07:19
@niclas:overby.meNiclas Overby Ⓝ

How is nixDirAliases suppose to work?

Is it really allowed to have multiple aliases, so you can e.g. have multiple folders with packages definitions like:

      nixDirAliases = {
        packages = ["dir1" "dir2"];
};
19:09:49
@niclas:overby.meNiclas Overby Ⓝ *

How is nixDirAliases suppose to work?

Is it really allowed to have multiple aliases, so you can e.g. have multiple folders with packages definitions like:

nixDirAliases = {
  packages = ["dir1" "dir2"];
};
19:10:05
@accelbread:matrix.orgaccelbreadIts intended to allow using "nixos" instead of "nixosConfigurations" and so on19:11:55
@accelbread:matrix.orgaccelbreadso you can give alternative names for dirs for that attribute19:12:24
@accelbread:matrix.orgaccelbreadfirst one will be used19:12:28
@accelbread:matrix.orgaccelbread so with nixDirAliases.foo = [ "bar" ] if theres no nix/foo.nix or nix/foo/ then nix/bar.nix and nix/bar/ will be checked and used equivalently 19:13:55

Show newer messages


Back to Room ListRoom Version: 10