!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

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

Load older messages


SenderMessageTime
2 Oct 2025
@accelbread:matrix.orgaccelbreadlegacyPackages doesn't verify strucure, just that it has the pkgset type that stuff expects14:55:33
@accelbread:matrix.orgaccelbreadhttps://github.com/aws-greengrass/aws-greengrass-sdk-lite/blob/44ea7a1f38ce5eab05558cadbe701e3f0c314216/flake.nix#L21914:56:37
@accelbread:matrix.orgaccelbreadhere is a legacyPackages example14:56:55
@accelbread:matrix.orgaccelbread the pkgs type is any set with _type = "pkgs" 14:57:30
@accelbread:matrix.orgaccelbreadnot sure why nixpkgs does it that way but im using nixpkg's definition14:58:10
@accelbread:matrix.orgaccelbread flakelight sets its lib functions in the flakelight module arg so reachable from that and inherits that in a flakelight attr in overlay. both locations means { flakelight, ... }: flakelight.importDir works for stuff taking module args or for stuff taking pkgs 15:02:44
@accelbread:matrix.orgaccelbread you could also maybe add a flakelightModule that adds a stagingSystem option or smth 15:06:24
@accelbread:matrix.orgaccelbread https://github.com/accelbread/flakelight-elisp/blob/master/flakelight-elisp.nix
here flakelight-elisp adds a config option for defining elisp packages
15:08:08
@accelbread:matrix.orgaccelbread
In reply to @niclas:overby.me
Did you come to a conclusion for this?
havnt had a chance yet
15:28:30
@niclas:overby.meNiclas Overby Ⓝ Ideally I would use lib, but how can you access nixpkgs from lib? 17:19:17
@niclas:overby.meNiclas Overby Ⓝ * Ideally I would use nix/lib.nix, but how can you access nixpkgs? 17:20:33
@niclas:overby.meNiclas Overby Ⓝ * Ideally I would use nix/lib.nix, but how can you access pkgs? 17:21:47
@accelbread:matrix.orgaccelbread

Some folk put per-system things in lib like lib.x86_64-linux.mkShell. You can do that in flakelight either with nix/lib.nix:

{ genSystems, ... }: ({
  # regular lib stuff
} // genSystems (pkgs: {
  # per-system lib stuff
}))
17:44:31
@accelbread:matrix.orgaccelbread *

Some folk put per-system things in lib like lib.x86_64-linux.mkShell. You can do that in flakelight either with nix/lib.nix:

{ genSystems, ... }: ({
  # regular lib stuff
} // genSystems (pkgs: {
  # per-system lib stuff
}))
17:44:38
@accelbread:matrix.orgaccelbread* Some folk put per-system things in lib like lib.x86_64-linux.mkShell. You can do that in flakelight with nix/lib.nix: { genSystems, ... }: ({ # regular lib stuff } // genSystems (pkgs: { # per-system lib stuff })) 17:55:31
@accelbread:matrix.orgaccelbread *

Some folk put per-system things in lib like lib.x86_64-linux.mkShell. You can do that in flakelight with nix/lib.nix:

{ genSystems, ... }: ({
  # regular lib stuff
} // genSystems (pkgs: {
  # per-system lib stuff
}))
17:56:10
3 Oct 2025
@niclas:overby.meNiclas Overby Ⓝ Is it possible to disable the nixDir feature? Or more fine-grained, disable autoloading of specific outputs in nixDir? 08:50:02
@accelbread:matrix.orgaccelbreadyeah, can set it to a non-existing dir iirc. I could add a null option16:01:53
@accelbread:matrix.orgaccelbreadfine-grained, no16:02:15
4 Oct 2025
@niclas:overby.meNiclas Overby ⓃThat would be awesome! :)11:25:04
7 Oct 2025
@accelbread:matrix.orgaccelbreadnixDir can now be set to null: https://github.com/nix-community/flakelight/commit/eda172d7ead89292cb7f9e136a482e97e00873a406:27:30
8 Oct 2025
@niclas:overby.meNiclas Overby Ⓝ

Is there a reason, that the ./. argument is separate from the following attributeset?

Why this:

  outputs = inputs:
    inputs.flakelight ./. {
      inherit inputs;

And not this:

  outputs = inputs:
    inputs.flakelight {
      inherit inputs;
      src = ./.;
11:40:24
@niclas:overby.meNiclas Overby Ⓝ

Some another questions :)

Other than populating the src attribute and detecting the nixDir directory, is ./. used for anything else?

Could it potentially be made optional?

11:42:45
@niclas:overby.meNiclas Overby Ⓝ *

Is there a reason, that the ./. argument is separate from the following attributeset?

Why this:

  outputs = inputs:
    inputs.flakelight ./. {
      inherit inputs;

And not this:

  outputs = inputs:
    inputs.flakelight {
      inherit inputs;
      src = ./.;

I guess the first is a little shorter, but are there any other reason?

11:43:46
@accelbread:matrix.orgaccelbreadRedacted or Malformed Event15:19:14
@accelbread:matrix.orgaccelbreadI had attempted that syntax initially but it led to a bunch of infinite recursions15:23:32
@accelbread:matrix.orgaccelbreadalso I couldn't make the flake root a default value of src15:24:22
@accelbread:matrix.orgaccelbread its used for src, nixDir, default package description pulled from flake description, loading default inputs fron your flake.lock, preparing the file tree for flake checks, the formatting check, enabling editorconfig support 15:31:40
@zxfsee:matrix.orgzxfsee joined the room.22:31:33
9 Oct 2025
@niclas:overby.meNiclas Overby ⓃIf it is possible, would you change how lib is exposed?09:01:30

Show newer messages


Back to Room ListRoom Version: 10