!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

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

Load older messages


SenderMessageTime
18 Sep 2025
@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
@niclas:overby.meNiclas Overby ⓃBut why is it a list then?19:14:27
@accelbread:matrix.orgaccelbread multiple aliases can exist, like if you wanted nixosConf to also work 19:15:06
@accelbread:matrix.orgaccelbread nixDirAliases.foo = [ "bar" "baz" ] checks all of the foo, bar, and baz paths in order and uses the first one to set foo 19:16:05
@niclas:overby.meNiclas Overby ⓃOh makes sense, but it could also be useful, if you could have multiple aliases that merges together :)19:18:02
@accelbread:matrix.orgaccelbreadhmm, yeah that could be possible19:19:13
@accelbread:matrix.orgaccelbreadDo you have an example of how you'd use it? Like for multiple dirs of packages?19:20:24
@niclas:overby.meNiclas Overby ⓃRedacted or Malformed Event19:22:02
@niclas:overby.meNiclas Overby Ⓝ* .19:22:11
@niclas:overby.meNiclas Overby Ⓝ

With this config:

nixDirAliases = {
  packages = ["apps" "scripts"];
};

And this layout:

apps:
- app1: default.nix
- app2: default.nix

scripts:
- script1: default.nix
- script2: default.nix

Then app1, app2, script1, scrip2 will be set in packages

19:26:59
@niclas:overby.meNiclas Overby ⓃWhen I noticed that nixDirAliases took a list rather than a single string, I actually expected it to behave like this 19:28:04
@accelbread:matrix.orgaccelbread

I see. I'll see if I can make nixDirAliases clearer

for the merging directories usecase, I'd recommend having nix/packages.nix load the other directories; there is a function exported for this (importDir)
so packages.nix could be:

{ flakelight, ...}: flakelight.importDir ./apps // flakelight.importDir ./scripts

Does that work for your use case?

19:33:20
@accelbread:matrix.orgaccelbreadthough making flakelight merge all aliases would also not break things, I think; will need to think over it a bit19:35:17
@accelbread:matrix.orgaccelbread it does make sense that having nixosConfigurations/foo.nix and nixos/bar.nix should end up with two systems 19:37:06
@accelbread:matrix.orgaccelbread though would error on nixosConfigurations/foo.nix and nixos/foo.nix both existing 19:37:46
@accelbread:matrix.orgaccelbreadYeah, I think it makes sense to have nixDirAliases load all the aliases and merge them19:40:35
@niclas:overby.meNiclas Overby Ⓝ *

With this config:

nixDirAliases = {
  packages = ["apps" "scripts"];
};

And this layout:

apps:
- app1: default.nix
- app2: default.nix

scripts:
- script1: default.nix
- script2: default.nix

Then app1, app2, script1, script2 will be set in packages

19:41:00

Show newer messages


Back to Room ListRoom Version: 10