!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

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

Load older messages


SenderMessageTime
25 Oct 2025
@niclas:overby.meNiclas Overby Ⓝ Would you still like this? 13:54:52
@accelbread:matrix.orgaccelbreadthat would help yes16:46:19
@accelbread:matrix.orgaccelbread
In reply to @niclas:overby.me
I'm still not sure why the check is needed in the first place?
It seems to be a performance footgun with projects with many nixosConfigurations.
if you have a nixos configuration, you wouldn't want nix flake check to pass if it didn't build right? same as why other packages are added to checks. though to evaluate what checks are available under checks.${systems} it needs to know the systems of the nixosConfigurations
16:49:47
@accelbread:matrix.orgaccelbreadi could add a config to not do that but trying to figure if i can make the calculation cheaper16:50:50
@accelbread:matrix.orgaccelbreadhow are you generating the graphs btw?17:40:16
@accelbread:matrix.orgaccelbreadseems passing system to nixosSystem is deprecated, so pushed some updates to use the buildSystem/targetSystem replacements instead19:31:57
@accelbread:matrix.orgaccelbreadalso perf things might depend on which nix is in use; I'm using Lix 2.93.3 at the moment19:33:04
@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;
    };
  };
}
20:16:31
@accelbread:matrix.orgaccelbread

can put that as nix/flakelightModules/git-hooks.nix or w/e and import the module in your flakelight config. (or if you have many repos, put this in your common config one)

Then in a flake you can use it as such:

{
  inputs = {
    flakelight.url = "github:nix-community/flakelight";
    git-hooks.url = "github:cachix/git-hooks.nix";
  };
  outputs = { flakelight, ... }@inputs: flakelight ./. {
    inherit (inputs);
    # Pull it from file, outputs.flaklightModules.git-hooks,
    # inputs.shared-flake.flakelightModules.git-hooks, or w/e
    imports = [ ./git-hooks.nix ];

    git-hooks.hooks = {
      alejandra.enable = true;
      statix.enable = true;
      ruff-format.enable = true;
    }
  };
}
20:22:34
@accelbread:matrix.orgaccelbread

You'd even be able to autoload it as nix/git-hooks.nix:

{
  hooks = {
    alejandra.enable = true;
    statix.enable = true;
    ruff-format.enable = true;
  };
}
20:23:55
@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

There are no newer messages yet.


Back to Room ListRoom Version: 10