lix-module.nixosModules.default seems to be dependent on the system nixpkgs #107

Open
opened 2026-04-30 11:08:24 +00:00 by delan · 4 comments
Member

with lix-module 5e56f5a973e24 and lix faaa14a303dab (or even 2cea406121156):

Dependency toml11 found: NO. Found 3.7.1 but need: '>=4.0.0'
Run-time dependency toml11 found: NO

meson.build:399:9: ERROR: Dependency lookup for toml11 with method 'cmake' failed: Invalid version, need 'toml11' ['>=4.0.0'] found '3.7.1'.
with lix-module [5e56f5a973e24](https://git.lix.systems/lix-project/nixos-module/commit/5e56f5a973e24292b125dca9e9d506b0a91d6903) and lix [faaa14a303dab](https://git.lix.systems/lix-project/lix/commit/faaa14a303dabc6309a52cc8e5eba86f9e29ccaf) (or even [2cea406121156](https://git.lix.systems/lix-project/lix/commit/2cea40612115663ff16a1d8208c1a77465ef275a)): ``` Dependency toml11 found: NO. Found 3.7.1 but need: '>=4.0.0' Run-time dependency toml11 found: NO meson.build:399:9: ERROR: Dependency lookup for toml11 with method 'cmake' failed: Invalid version, need 'toml11' ['>=4.0.0'] found '3.7.1'. ```
Author
Member

others were unable to reproduce this. it seems this is happening because toml11 is still 3.7.1 in my system nixpkgs (i’m woefully out of date). how come the system nixpkgs matters here?

others were unable to reproduce this. it seems this is happening because toml11 is still 3.7.1 in my system nixpkgs (i’m woefully out of date). how come the system nixpkgs matters here?
delan changed title from lix-module.nixosModules.default seems to be busted with lix main to lix-module.nixosModules.default seems to be dependent on the system nixpkgs 2026-04-30 11:36:00 +00:00
Member

If you set lix.inputs.nixpkgs.follows = "nixpkgs", then your system nixpkgs matters. Without follows it would rely on the nixpkgs pinned in the lix module instead.

If you set `lix.inputs.nixpkgs.follows = "nixpkgs"`, then your system nixpkgs matters. Without `follows` it would rely on the nixpkgs pinned in the lix module instead.
Author
Member

hmm, even if i set inputs.nixpkgs.follows to current nixos-25.11 where toml11 is indeed 4.4.0, it makes no difference (which i guess is consistent with the README saying it’s used for checks only). simplified:

{
  inputs = {
    lix-module = {
      url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
      inputs.nixpkgs.follows = "latestNixpkgs";
      inputs.lix.follows = "lix";
    };
    lix = {
      url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
      flake = false;
    };
    latestNixpkgs.url = "github:NixOS/nixpkgs/755f5aa91337890c432639c60b6064bb7fe67769";
    systemNixpkgs.url = "github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa";
  };
  outputs = inputs@{ lix-module, systemNixpkgs, ... }: {
    nixosConfigurations.jupiter = systemNixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        jupiter/configuration.nix
        lix-module.nixosModules.default
      ];
    };
  };
}
hmm, even if i set `inputs.nixpkgs.follows` to [current nixos-25.11](https://github.com/NixOS/nixpkgs/commit/755f5aa91337890c432639c60b6064bb7fe67769) where [toml11 is indeed 4.4.0](https://github.com/NixOS/nixpkgs/blob/755f5aa91337890c432639c60b6064bb7fe67769/pkgs/by-name/to/toml11/package.nix), it makes no difference (which i guess is consistent with the README saying it’s [used for checks only](https://git.lix.systems/lix-project/nixos-module/src/commit/5e56f5a973e24292b125dca9e9d506b0a91d6903/README.md)). simplified: ```nix { inputs = { lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"; inputs.nixpkgs.follows = "latestNixpkgs"; inputs.lix.follows = "lix"; }; lix = { url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"; flake = false; }; latestNixpkgs.url = "github:NixOS/nixpkgs/755f5aa91337890c432639c60b6064bb7fe67769"; systemNixpkgs.url = "github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa"; }; outputs = inputs@{ lix-module, systemNixpkgs, ... }: { nixosConfigurations.jupiter = systemNixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ jupiter/configuration.nix lix-module.nixosModules.default ]; }; }; } ```
Author
Member

on the other hand, configuring an overlay that pulls in a stable release of lix from a newer nixpkgs seems to work:

{
  inputs = {
    latestNixpkgs.url = "github:NixOS/nixpkgs/755f5aa91337890c432639c60b6064bb7fe67769";
    systemNixpkgs.url = "github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa";
  };
  outputs = inputs@{ systemNixpkgs, latestNixpkgs, ... }: 
  let
    latestPkgs = import latestNixpkgs {
      system = "x86_64-linux";
    };
  in {
    nixosConfigurations.jupiter = systemNixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        jupiter/configuration.nix
        {
          nixpkgs.overlays = [ (final: prev: {
            inherit (latestPkgs.lixPackageSets.lix_2_95)
              nixpkgs-review
              nix-eval-jobs
              nix-fast-build
              colmena;
          }) ];
          nix.package = latestPkgs.lixPackageSets.lix_2_95.lix;
        }
      ];
    };
  };
}
on the other hand, configuring an overlay that pulls in a stable release of lix from a newer nixpkgs seems to work: ```nix { inputs = { latestNixpkgs.url = "github:NixOS/nixpkgs/755f5aa91337890c432639c60b6064bb7fe67769"; systemNixpkgs.url = "github:NixOS/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa"; }; outputs = inputs@{ systemNixpkgs, latestNixpkgs, ... }: let latestPkgs = import latestNixpkgs { system = "x86_64-linux"; }; in { nixosConfigurations.jupiter = systemNixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ jupiter/configuration.nix { nixpkgs.overlays = [ (final: prev: { inherit (latestPkgs.lixPackageSets.lix_2_95) nixpkgs-review nix-eval-jobs nix-fast-build colmena; }) ]; nix.package = latestPkgs.lixPackageSets.lix_2_95.lix; } ]; }; }; } ```
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/nixos-module#107
No description provided.