!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

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

Load older messages


SenderMessageTime
25 Oct 2025
@accelbread:matrix.orgaccelbread *

I havent tested this, but heres what i'd do for integrating git-hooks.nix:

{ src, lib, config, ... }: {
  options.git-hooks = {
    type = lib.types.attrs;
    default = { };
  };

  config = {
    withOverlays = [
      (final: prev: {
        pre-commit-check = final.inputs.git-hooks.lib.${final.system}.run
          ({ inherit src; } // config.git-hooks);
      })
    ];

    checks = pkgs: { inherit (pkgs) pre-commit-hook; };

    devShell = { pre-commit-check, ... }: {
      inherit (pre-commit-check) shellHook;
      packages = pre-commit-check.enabledPackages;
    };
  };
}

(note that it also doesnt go through outputs which requires resolving stuff...)

20:25:15
@accelbread:matrix.orgaccelbread *

I havent tested this, but heres what i'd do for integrating git-hooks.nix:

{ src, lib, config, ... }: {
  options.git-hooks = {
    type = lib.types.attrs;
    default = { };
  };

  config = {
    withOverlays = [
      (final: prev: {
        pre-commit-check = final.inputs.git-hooks.lib.${final.system}.run
          ({ inherit src; } // config.git-hooks);
      })
    ];

    checks = pkgs: { inherit (pkgs) pre-commit-check; };

    devShell = { pre-commit-check, ... }: {
      inherit (pre-commit-check) shellHook;
      packages = pre-commit-check.enabledPackages;
    };
  };
}

(note that it also doesnt go through outputs which requires resolving stuff...)

20:29:16
27 Oct 2025
@niclas:overby.meNiclas Overby Ⓝ

Here is my script:

#!/usr/bin/env nu
# Generate a flamegraph from a nix flake evaluation
# Usage: script.nu <flake-path>

def main [flake_path: string] {
    print $"Evaluating flake: ($flake_path)"

    # Create temporary directory for profile data
    let tmp_dir = (mktemp -d)
    let profile_path = ($tmp_dir | path join "nix.profile")

    # Run nix eval with profiler output
    nix eval --impure --no-eval-cache $flake_path --option eval-profiler flamegraph --option eval-profile-file $profile_path

    # Generate flamegraph SVG from profile data
    open $profile_path | inferno-flamegraph | save -f flamegraph.svg

    print "Flamegraph saved to flamegraph.svg"
}
09:52:32
@niclas:overby.meNiclas Overby Ⓝ *

Here is my script:

#!/usr/bin/env nu
# Generate a flamegraph from a nix flake evaluation
# Usage: script.nu <flake-path>

def main [flake_path: string] {
    print $"Evaluating flake: ($flake_path)"

    # Create temporary directory for profile data
    let tmp_dir = (mktemp -d)
    let profile_path = ($tmp_dir | path join "nix.profile")

    # Run nix eval with profiler output
    nix eval --impure --no-eval-cache $flake_path --option eval-profiler flamegraph --option eval-profile-file $profile_path

    # Generate flamegraph SVG from profile data
    open $profile_path | inferno-flamegraph | save -f flamegraph.svg

    print "Flamegraph saved to flamegraph.svg"
}
09:52:40
@niclas:overby.meNiclas Overby Ⓝ *

Here is my Nushell script:

#!/usr/bin/env nu
# Generate a flamegraph from a nix flake evaluation
# Usage: script.nu <flake-path>

def main [flake_path: string] {
    print $"Evaluating flake: ($flake_path)"

    # Create temporary directory for profile data
    let tmp_dir = (mktemp -d)
    let profile_path = ($tmp_dir | path join "nix.profile")

    # Run nix eval with profiler output
    nix eval --impure --no-eval-cache $flake_path --option eval-profiler flamegraph --option eval-profile-file $profile_path

    # Generate flamegraph SVG from profile data
    open $profile_path | inferno-flamegraph | save -f flamegraph.svg

    print "Flamegraph saved to flamegraph.svg"
}
09:52:50
@niclas:overby.meNiclas Overby ⓃYeah, I ended up moving pre-commit-check-run to a package, and refer to it from pkgs10:05:59
@accelbread:matrix.orgaccelbreadmakes sense. withOverlays does same thing if you dont want to export it from the flake18:04:47
4 Nov 2025
@lunik1:lunik.onelunik1 Helo! Been a while. I'm having trouble building a Nix configuration since https://github.com/nix-community/flakelight/commit/5afd70555737c62786b69a64980e7bb1c1947956

I have a main nix config flake here https://gitlab.com/lunik1/nix-config but another system config that exists in a separate, private repository but also using flakelight. In that private configuration's flake.nix I have
        checks = nix-config.checks;
where nix-config is my main config as an input, but since the above commit evaluation has been failing with
error: The option `checks.<function body>' was accessed but has no value defined. Try setting the option.
14:19:10
@lunik1:lunik.onelunik1I'll try and put together an MWE, but might be a couple of days14:19:53
@lunik1:lunik.onelunik1 Hello! Been a while. I'm having trouble building a Nix configuration since https://github.com/nix-community/flakelight/commit/5afd70555737c62786b69a64980e7bb1c1947956

I have a main nix config flake here https://gitlab.com/lunik1/nix-config but another system config that exists in a separate, private repository but also using flakelight. In that private configuration's flake.nix I have
checks = nix-config.checks;
where nix-config is my main config as an input, but since the above commit evaluation has been failing with
error: The option `checks.<function body>' was accessed but has no value defined. Try setting the option.
14:23:59
5 Nov 2025
@accelbread:matrix.orgaccelbreadi'll take a look01:26:12
19 Nov 2025
@lunik1:lunik.onelunik1 well took me longer than I expected, but I have half a MWE here:
https://github.com/lunik1/flakelight-bug-mwe

I've noticed the error stops if I set flakelight.builtinFormatters to true
01:26:13
20 Nov 2025
@accelbread:matrix.orgaccelbreadthanks, ill try it out tomorrow 06:08:37
8 Aug 2025
@0x4a6f:nixos.dev0x4A6F joined the room.07:02:20
14 Sep 2025
@emma:rory.gayEmma [it/its] joined the room.08:39:50
15 Sep 2025
@bestlem:matrix.org@bestlem:matrix.org left the room.10:22:07
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

Show newer messages


Back to Room ListRoom Version: 10