!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

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

Load older messages


SenderMessageTime
23 Sep 2025
@accelbread:matrix.orgaccelbread 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
@accelbread:matrix.orgaccelbread * 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
@accelbread:matrix.orgaccelbread * 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
@accelbread:matrix.orgaccelbread * 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
@accelbread:matrix.orgaccelbread I guess it could also be nixDirAliases.nixosModules = lib.pipe ./nixos/modules [ builtins.readDir lib.attrNames (map (d: "nixos/modules/${d}"))] 04:39:04
@niclas:overby.meNiclas Overby Ⓝ 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
@niclas:overby.meNiclas Overby Ⓝ

I guess the idea is just to use directories to better organize modules.

Your suggestion with using default.nix is the exact thing I want to minimize and ideally avoid.
It is hard to read for users without any Nix experience (I really try to keep the Nix files simple, so they are primarily declarative), and again it is boilerplate, that ideally it could be fully avoided with e.g. the wildcard feature.

10:18:36
@niclas:overby.meNiclas Overby Ⓝ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
@a-kenji:matrix.orgkenji changed their display name from a-kenji to kenji.10:41:07
@niclas:overby.meNiclas Overby Ⓝ *

I guess the idea is just to use directories to better organize modules.

Your suggestion with using default.nix is the thing I want to minimize and ideally avoid.
It is hard to read for users without any Nix experience (I really try to keep the Nix files simple, so they are primarily declarative), and again it is boilerplate, that ideally it could be fully avoided with e.g. the wildcard feature.

12:09:07
@niclas:overby.meNiclas Overby Ⓝ *

I guess the developer's idea is to use the directories to categorize modules.

Your suggestion with using default.nix is the thing I want to minimize and ideally avoid.
It is hard to read for users without any Nix experience (I really try to keep the Nix files simple, so they are primarily declarative), and again it is boilerplate, that ideally it could be fully avoided with e.g. the wildcard feature.

12:12:51
@niclas:overby.meNiclas Overby Ⓝ* 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 or something else. 12:13:49
24 Sep 2025
@niclas:overby.meNiclas Overby Ⓝ *

I guess the developer's idea is to use the directories to categorize modules.

Your suggestion with using default.nix is the thing I want to minimize and ideally avoid.
It is hard to read for users without any Nix experience (I really try to keep the Nix files simple, so they are primarily declarative), and again it is boilerplate, that ideally could be avoided with e.g. the wildcard feature.

11:30:28
25 Sep 2025
@accelbread:matrix.orgaccelbreadhmm i'm thinking wildcard should be a lib function somwhere i dont see one in builtins or nixpkgs lib05:25:50
@accelbread:matrix.orgaccelbread

maybe it would work to have a common nix lib provide a lib glob function?

though using nixDirAliases.nixosModules = lib.pipe ./nixos/modules [ builtins.readDir lib.attrNames (map (d: "nixos/modules/${d}"))] would be less code than pulling in a lib if thats all thats in it

05:29:41
@accelbread:matrix.orgaccelbread could put it in a function like subdirs = path: map (d: "${path}/${d}") (lib.attrNames (builtins.readDir (./. + path))) 05:33:45
@niclas:overby.meNiclas Overby Ⓝ

How can you access lib here?:

nixDirAliases = {
  nixosModules = lib.subdirs "nixos/modules"
};
13:10:21
@niclas:overby.meNiclas Overby Ⓝ *

The idea is to have something that is easy to read for non-Nix native developers.

Compare this:

nixDirAliases = {
  nixosModules = [ "nixos/modules/*" ]
};

To this:

nixDirAliases = {
  nixosModules = lib.pipe ./nixos/modules [ builtins.readDir lib.attrNames (map (d: "nixos/modules/${d}"))] 
};

For how easy it is to read for someone, who has never programmed a ml-like language.

13:19:31
29 Sep 2025
@niclas:overby.meNiclas Overby ⓃRedacted or Malformed Event13:05:08
@niclas:overby.meNiclas Overby ⓃRedacted or Malformed Event13:05:11
@niclas:overby.meNiclas Overby Ⓝ *

Is withOverlays not applied in nixosConfigurations?

I have added the function lib.noverby.add to withOverlay, but the function cannot be accessed?

nixosConfigurations/gravitas.nix:

13:05:47
@niclas:overby.meNiclas Overby Ⓝ *

Is withOverlays not applied in nixosConfigurations?

I have added the function lib.noverby.add to withOverlay, but the function cannot be accessed?

devices/gravitas.nix: (nixosConfigrations has an alias to devices)

13:06:28
@niclas:overby.meNiclas Overby ⓃRedacted or Malformed Event13:06:53
@niclas:overby.meNiclas Overby ⓃRedacted or Malformed Event13:08:33
@niclas:overby.meNiclas Overby Ⓝ * I can access lib.noverby.add in nixosModules 13:08:41
@niclas:overby.meNiclas Overby Ⓝ

Is it possible to add functions to ModuleArgs.lib?

I need it to create helper functions for setting up nixosConfigrations.
It seems like it cannot be added using withOverlays, is there another approach?

13:39:48
@accelbread:matrix.orgaccelbreadthat lib is nixpkgs' so needs withOverlays15:33:48
@accelbread:matrix.orgaccelbreadyou could add a new moduleArg for your helpers15:34:33
@accelbread:matrix.orgaccelbread flakelight puts its helpers in the flakelight module arg and adds it to lib with withOverlays 15:35:43
@niclas:overby.meNiclas Overby ⓃIt does not seem to work:15:43:14

Show newer messages


Back to Room ListRoom Version: 10