!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

889 Members
179 Servers

Load older messages


SenderMessageTime
31 Aug 2023
@moritz.hedtke:matrix.orgmoritz.hedtke removed their display name moritz.hedtke.16:13:17
@penguincoder:matrix.wolfie.pw@penguincoder:matrix.wolfie.pw

is it possible to use flakes to build multiple other git repos but use the source checked out on my machine, not necessarily what has been committed to the repo?

example: I have a meta-repo called nix-techstack and it checks out a bunch of other repos under nix-techstack/src/ and in nix-techstack/flake.nix I am trying to define all of the packages/apps/devShells for all of the other repos in src/. will I have to put a flake.nix anywhere I want to build or can I keep it in my meta-repo?

17:12:48
@penguincoder:matrix.wolfie.pw@penguincoder:matrix.wolfie.pwwould I need to add the other repos as submodules?17:18:02
@philiptaron:matrix.org@philiptaron:matrix.org joined the room.21:47:00
1 Sep 2023
@lxsameer:matrix.orglxsameer

hey folks, I have the following default.nix file and flake.nix file in my root:
default.nix:

let
    nativePkgs = import <nixpkgs> {};
    system = import ./system.nix { pkgs = nativePkgs; };
    pkgs = import <nixpkgs> system;
    llvm = pkgs.llvmPackages_16.override { stdenv = pkgs.llvmPackages_16.libcxxClang; };
    libcxxClangOverlay = final: prev: {
        stdenv = prev.stdenv.override { stdenv = llvm.libcxxClang; };
    };

    finalPkgs = import <nixpkgs> system // { overlays = [ libcxxClangOverlay ]; };
in {
    pkgs = finalPkgs;
    #pkgs.stdenv.override { stdenv = llvm.libcxxClang; };
}


flake.nix

{

  inputs = {
      toolchain = import ./.;
  };

  outputs = inputs@{ toolchain, ... }:
      {
          inherit (toolchain) pkgs;
      };

}

now when I load the flake in the repl I get this err message: error: expected a set but got a thunk at ... what am I doing wrong here?

18:02:38
@lxsameer:matrix.orglxsameerthat toolchain.pkgs seems to be a thunk, but can't tell really why. In a repl it works just fine (default.nix I mean) 18:18:40
2 Sep 2023
@artturin:matrix.orgArtturin
In reply to @lxsameer:matrix.org

hey folks, I have the following default.nix file and flake.nix file in my root:
default.nix:

let
    nativePkgs = import <nixpkgs> {};
    system = import ./system.nix { pkgs = nativePkgs; };
    pkgs = import <nixpkgs> system;
    llvm = pkgs.llvmPackages_16.override { stdenv = pkgs.llvmPackages_16.libcxxClang; };
    libcxxClangOverlay = final: prev: {
        stdenv = prev.stdenv.override { stdenv = llvm.libcxxClang; };
    };

    finalPkgs = import <nixpkgs> system // { overlays = [ libcxxClangOverlay ]; };
in {
    pkgs = finalPkgs;
    #pkgs.stdenv.override { stdenv = llvm.libcxxClang; };
}


flake.nix

{

  inputs = {
      toolchain = import ./.;
  };

  outputs = inputs@{ toolchain, ... }:
      {
          inherit (toolchain) pkgs;
      };

}

now when I load the flake in the repl I get this err message: error: expected a set but got a thunk at ... what am I doing wrong here?

probably can't be a import
01:41:08
@lxsameer:matrix.orglxsameerRedacted or Malformed Event18:34:02
@rick:matrix.ciphernetics.nl@rick:matrix.ciphernetics.nlProbably use --impure on the command line18:36:43
@lxsameer:matrix.orglxsameerthanks I figured it out18:38:00
3 Sep 2023
@itshaydendev:matrix.orgHayden joined the room.08:58:30
@itshaydendev:matrix.orgHayden changed their profile picture.13:11:08
@antifuchs:asf.computer@antifuchs:asf.computer hrm, so I use flake.parts with direnv-nix, and using watch_file **/flake-part.nix, it seems like a "small" reload is happening when I update something in a flake-part.nix file; but in order to get updated definitions of things (e.g. numtide/devshell commands) affecting the dev shell, I still have to manually direnv reload. 15:23:43
@antifuchs:asf.computer@antifuchs:asf.computer the automatically triggered reload seems to do something, but it definitely doesn't make the updated commands available on the devshell I'm in 15:24:15
@petrichor:envs.net@petrichor:envs.net is the watch_file before or after the use flake line? 15:55:38
@antifuchs:asf.computer@antifuchs:asf.computerI tried either - the reloads they trigger (and they do trigger something) both do not pick up changes to the script17:09:23
@ek_is_anika:tchncs.de@ek_is_anika:tchncs.de left the room.19:04:36
@antifuchs:asf.computer@antifuchs:asf.computer Found it: nix_direnv_watch_file **/flake-part.nix does reload the whole dev shell if something changes, if it happens before use flake 23:45:21
4 Sep 2023
@nord:one.ems.host@nord:one.ems.host left the room.04:02:27
@roberthensing:matrix.orgRobert Hensing (roberth) changed their display name from Robert Hensing (roberth) to roberth.15:27:17
@roberthensing:matrix.orgRobert Hensing (roberth) changed their display name from roberth to Robert Hensing (roberth).15:28:04
@rover:aguiarvieira.pt@rover:aguiarvieira.pt left the room.18:11:18
5 Sep 2023
@mr-qubo:matrix.orgmr-qubo It seems like not only buildInputs but also it's dependencies are added to PATH, is this a known issue? 16:24:45
@artturin:matrix.orgArtturin
In reply to @mr-qubo:matrix.org
It seems like not only buildInputs but also it's dependencies are added to PATH, is this a known issue?
they're added when strictDeps is false
16:38:26
@artturin:matrix.orgArtturin
In reply to @mr-qubo:matrix.org
It seems like not only buildInputs but also it's dependencies are added to PATH, is this a known issue?
*

they're added when strictDeps is false

it's true on cross-compilation and in some package sets

16:38:48
@artturin:matrix.orgArtturin *

they're added when strictDeps is false

it's true on cross-compilation and in some package sets even when not cross

16:38:56
@artturin:matrix.orgArtturin *

they're added when strictDeps is false

it's true on cross-compilation and in some package sets even when not cross

you can enable it when not cross if you want

16:39:24
@mr-qubo:matrix.orgmr-qubo
In reply to @artturin:matrix.org

they're added when strictDeps is false

it's true on cross-compilation and in some package sets even when not cross

you can enable it when not cross if you want

I see.
The problem I have is that I use coreutils-full in systemPackages. But most of my flakes override this with coreutils because it's a common dependency and it's added to PATH before /run/current-system/sw/bin.
17:02:42
@mr-qubo:matrix.orgmr-quboLong PATH also makes zsh completion slow.17:04:45
@mr-qubo:matrix.orgmr-qubo
In reply to @artturin:matrix.org

they're added when strictDeps is false

it's true on cross-compilation and in some package sets even when not cross

you can enable it when not cross if you want

I can't find how to enable it in flake.
17:13:12

Show newer messages


Back to Room ListRoom Version: 6