Sender | Message | Time |
---|---|---|
21 Sep 2025 | ||
Great! It seems to work wonderfully, when importing overlays that does not need inputs. But how can you handle with overlays like this? | 07:24:54 | |
Download image.png | 07:24:55 | |
* Great! It seems to work wonderfully, when importing overlays that does not need inputs. But how can you handle with overlays that require inputs like this? | 13:24:12 | |
hmm, at that point its a file expected to be an overlay. I don't know of a way to distinguish I guess it can be deffered to overlay evaluation time like i did in bundlers. I could potentially make that work but even then, the preferred way to write that would be:
that should already work. | 17:00:10 | |
* hmm, at that point its a file expected to be an overlay. I don't know of a way to distinguish moduleArgs -> overlay from overlay. After one application, both are functions, and after two applications the overlay needs to use the params, so I need the real args. I guess it can be deffered to overlay evaluation time like i did in bundlers. I could potentially make that work but even then, the preferred way to write that would be: final: prev: (import prev.inputs.rust-overlay) final prev that should already work. I'll see if i can make the proposed syntax work though | 17:02:22 | |
* hmm, at that point its a file expected to be an overlay. I don't know of a way to distinguish moduleArgs -> overlay from overlay. After one application, both are functions, and after two applications the overlay needs to use the params, so I need the real args. I guess it can be deffered to overlay evaluation time like i did in bundlers. I could potentially make that work but even then, the preferred way to write that would be: ```nix final: prev: (import prev.inputs.rust-overlay) final prev ``` that should already work. I'll see if i can make the proposed syntax work though | 17:02:42 | |
22 Sep 2025 | ||
Oh great, I didn't know you could do that. :) It would probably still be good to support the proposed syntax, as it is closer to how you usually setup overlays in the main flake.nix | 09:05:04 | |
Is there any way to achieve this with nixDirAliases ? (With or without setting the right side of the alias as a string) | 09:09:31 | |
Download image.png | 09:09:33 | |
I apologize for the frequent change requests! 😅 I'm currently porting numerous repositories to Flakelight, and since developers configure flakes in so many different ways, it's challenging to gradually adopt Flakelight without implementing some of these suggested changes. | 09:15:16 | |
* I apologize for the frequent change requests! 😅 I'm currently porting numerous repositories to Flakelight, and since developers configure flakes in so many different ways, it's challenging to gradually adopt Flakelight without implementing some of these suggested changes. (Or moving files around in the repositories, which the developers are not too happy about.) | 09:33:31 | |
Yet another idea. Supporting wildcards in the alias like this:
So you could support the layout: | 13:33:00 | |
Download image.png | 13:33:01 | |
23 Sep 2025 | ||
The right side can be a path, yes; problem is the left side which doesn't support nesting. for that you could write (assuming the dirs are dirs you want to load as attrs):
or as I'd more likely write:
| 03:30:37 | |
* The right side can be a path, yes; problem is the left side which doesn't support nesting. for that you could write (assuming the dirs are dirs you want to load as attrs):
or as I'd more likely write:
| 03:32:02 | |
* The right side can be a path, yes; problem is the left side which doesn't support nesting. for that you could write (assuming the dirs are dirs you want to load as attrs):
or as I'd more likely write:
| 03:33:36 | |
Not a problem! feedback is good. I've been moving flakes at work to all use a consistent layout since its been a pain to modify repos when they all use different layouts :P | 03:37:47 | |
What is the porting from? I kinda imagined the porting flow would be using outputs and perSystem to make the old code work, and then moving nix code to flakelight options | 03:38:56 | |
Yeah, for this usecase, I'd recommend putting the namespace in the file name rather than dir since with dirs its different in the filesystem and the nix code. though if you want that layout, i'd set
I'm not sure how the glob would match in general, and what to do about matching files etc. I think this case would be good to specify how it should be loaded. | 03:57:24 | |
While in this case you just want directories, not sure if ignoring them would generalize | 03:58:14 | |
I was considering adding another helper function to the flakelight lib for loading an option from a dir exactly like flakelight does but mulling over the api. would probably be like optionType -> name -> path -> [ value ] | 04:05:51 | |
* I was considering adding another helper function to the flakelight lib for loading an option from a dir exactly like flakelight does but mulling over the api. would probably be like optionType -> name -> asPaths -> path -> [ value ] | 04:06:43 | |
* I was considering adding another helper function to the flakelight lib for loading an option from a dir exactly like flakelight does but mulling over the api. would probably be like { optionType, name, asPaths } -> path -> [ value ] | 04:07:32 | |
* I was considering adding another helper function to the flakelight lib for loading an option from a dir exactly like flakelight does but mulling over the api. would probably be like name -> { optionType, asPaths } -> path -> [ value ] | 04:08:15 | |
I guess it could also be nixDirAliases.nixosModules = lib.pipe ./nixos/modules [ builtins.readDir lib.attrNames (map (d: "nixos/modules/${d}"))] | 04:39:04 | |
I could use outputs and perSystem , but that would undermine the core value proposition. The goal is to demonstrate Flakelight's ability to significantly reduce boilerplate compared to developers' existing setups. If I rely on outputs and perSystem , the boilerplate reduction becomes minimal, making it harder to showcase the real benefits that would motivate adoption. | 09:50:50 | |
I guess the idea is just to use directories to better organize modules. Your suggestion with using | 10:18:36 | |
If I could define a function in lib, and access it when setting nixDirAliases, then that could of course work. But IMHO it would be better, if there was a way to achieve it directly with nixDirAliases like with the wildcard. | 10:22:34 | |
10:41:07 | ||
* I guess the idea is just to use directories to better organize modules. Your suggestion with using | 12:09:07 |