!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

613 Members
121 Servers

Load older messages


SenderMessageTime
11 Aug 2024
@qu4pk4:matrix.orgqu4pk4 *

For example, the flake contains lots of packages, because I use it to build conditionally different versions. I went with a modular approach:

# flake.nix
{
  ...
  packages = {
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
  };
}

Which allows to run the packages like nix run '#pkg1.ver1' or 'nix run #pkg1.ver2'. Unfortunately, nix flake checkdoes not enter the nested attributes and that results innix flake check` failing.

16:42:45
@qu4pk4:matrix.orgqu4pk4 Is this a bad approach or can I instruct nix flake {show,check} dive into the attributes? 16:43:42
@qu4pk4:matrix.orgqu4pk4 *

For example, the flake contains lots of packages, because I use it to build conditionally different versions. I went with a modular approach:

# flake.nix
{
  ...
  packages = {
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
  };
}

Which allows to run the packages like nix run '#pkg1.ver1' or 'nix run #pkg1.ver2'. Unfortunately, nix flake checkdoes not enter the nested attributes and that results innix flake check` failing.

16:43:52
@qu4pk4:matrix.orgqu4pk4 *

For example, the flake contains lots of packages, because I use it to build conditionally different versions. I went with a modular approach:

# flake.nix
{
  ...
  packages = {
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
  };
}

Which allows to run the packages like nix run '#pkg1.ver1' or 'nix run #pkg1.ver2'. Unfortunately, nix flake check does not enter the nested attributes and that results innix flake check` failing.

16:44:04
@qu4pk4:matrix.orgqu4pk4 *

For example, the flake contains lots of packages, because I use it to build conditionally different versions. I went with a modular approach:

# flake.nix
{
  ...
  packages = {
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
  };
}

Which allows to run the packages like nix run '#pkg1.ver1' or nix run '#pkg1.ver2'. Unfortunately, nix flake check does not enter the nested attributes and that results innix flake check\ failing.

16:44:28
@qu4pk4:matrix.orgqu4pk4 *

For example, the flake contains lots of packages, because I use it to build conditionally different versions. I went with a modular approach:

# flake.nix
{
  ...
  packages = {
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
    pkg1 = {
      ver1 = { ... };
      ver2 = { ... };
      ...
      vern = { ... };
    };
  };
}

Which allows to run the packages like nix run '#pkg1.ver1' or nix run '#pkg1.ver2'. Unfortunately, nix flake check does not enter the nested attributes and that results innix flake check failing.

16:44:44
@emilazy:matrix.orgemilyyeah you're not allowed to do that sorry17:27:36
@emilazy:matrix.orgemilysadly17:27:45
@ronnypfannschmidt:matrix.orgRonnyim wondering - are there any experiments on how to have a library system for derivations, dependencies and so on - preferably without suckering into pkgs.lib im looking for stuff to make more easy autoupdaters, service specs, state management18:45:55
@qu4pk4:matrix.orgqu4pk4
In reply to @emilazy:matrix.org
yeah you're not allowed to do that sorry
I mean, it works enough for my use case. :D
20:00:59
@emilazy:matrix.orgemily well, it doesn't work for nix flake check :) 20:01:34
@qu4pk4:matrix.orgqu4pk4Is there a good reason, why it doesn't/cannot work?20:02:02
@qu4pk4:matrix.orgqu4pk4My Flake is part of a research into libs/pkgs, so I am ok with it not fitting 100% into the infra.20:02:50
@qu4pk4:matrix.orgqu4pk4 Nix doesn't seem to be used much for supporting any version of lib, but the strictness and constraints feel like a good match for that use case. 20:04:32
@qu4pk4:matrix.orgqu4pk4Especially, for research reproduceability.20:04:52
@qu4pk4:matrix.orgqu4pk4 Another thing: installCheck phase is ran when doInstallCheck is set to true according to https://nixos.org/manual/nixpkgs/stable/#var-stdenv-doInstallCheck, but not when cross-compiling. I can't get my installCheck phase to run in a flake that uses flake-utils. Is the cross-compiling kicking in? 20:13:20
@qu4pk4:matrix.orgqu4pk4 I am building with nix build '#pkg.ver' therefore I am not really thinking I am cross-compiling. 20:13:48
@emilazy:matrix.orgemily
In reply to @qu4pk4:matrix.org
Is there a good reason, why it doesn't/cannot work?
the schema forbids it. legacyPackages lets you put arbitrary data in, which is why Nixpkgs uses it
20:15:37
@tomberek:matrix.orgtomberek qu4pk4: Eelco is working on a flake-schemas effort to make supporting various schemas in the the top-level outputs. Regardless, you can place a "lib" wherever you wish. Nixpkgs itself places "lib" output into the top-level of the flake. 22:29:56
12 Aug 2024
@qu4pk4:matrix.orgqu4pk4Thanks07:44:21
@qu4pk4:matrix.orgqu4pk4 How to use passthru.tests for testing Flake package builds? My idea is to build static libraries and tests that the lib<name>.a indeed exists by compiling a simple source. 07:45:44
@qu4pk4:matrix.orgqu4pk4 But pkgs.runCommand used in https://nixos.org/manual/nixpkgs/stable/#var-meta-tests-nixos does not result in a derivation and therefore both nix run and nix build complain. 07:46:46
@qu4pk4:matrix.orgqu4pk4 Or are passthru.tests somehow ran automatically on nix bulid '.#<pkg>'? 07:48:45
@amiablechief:matrix.org@amiablechief:matrix.org left the room.11:34:31
@kyub:matrix.org@kyub:matrix.org left the room.16:59:15
13 Aug 2024
@nat:nekopon.plnat changed their profile picture.15:06:42
@nat:nekopon.plnat changed their display name from nat ⋆ ˚。⋆୨୧˚ to nat.15:06:45
@jul1u5:matrix.orgjul1u5 changed their display name from Julius Marozas to jul1u5.21:58:50
14 Aug 2024
@peddie:matrix.orgpeddie changed their profile picture.00:34:49
@fudgemaster:matrix.orgFrank Geusch changed their display name from Master Fudge to Frank Geusch.13:25:41

Show newer messages


Back to Room ListRoom Version: 6