!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

884 Members
178 Servers

Load older messages


SenderMessageTime
15 Aug 2023
@lenny:flipdot.org@lenny:flipdot.org changed their display name from Lenny. to Lenny. 7913.14:47:42
@cafkafk:nixos.devChristina Sørensen changed their profile picture.14:58:02
@10leej:matrix.org@10leej:matrix.org left the room.19:34:10
16 Aug 2023
@lxsameer:matrix.orglxsameerhey folks, is it possible to have multiple devShells for a platform? for example, one with glibc and one with musl under linux?22:21:46
@kranzes:matrix.orgIlan Joselevich (Kranzes)Yep, the flake schema is devShells.x86_64-linux.X23:04:46
@kranzes:matrix.orgIlan Joselevich (Kranzes)
      devShells.x86_64-linux = {
        clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
          packages = [ pkgs.hello ];
        };
        gcc = pkgs.mkShell {
          packages = [ pkgs.cmatrix ];
        };
      };
23:11:05
@kranzes:matrix.orgIlan Joselevich (Kranzes)devShells.${system} is an attrset23:11:17
@kranzes:matrix.orgIlan Joselevich (Kranzes)what's the musl stdenv that I don't know23:11:59
@crtified:crtified.meCRTified
In reply to @kranzes:matrix.org
      devShells.x86_64-linux = {
        clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
          packages = [ pkgs.hello ];
        };
        gcc = pkgs.mkShell {
          packages = [ pkgs.cmatrix ];
        };
      };
Where's pkgs coming from there?
23:21:53
@kranzes:matrix.orgIlan Joselevich (Kranzes)let binding23:22:08
@crtified:crtified.meCRTifiednixpkgs instantiation? 23:22:10
@kranzes:matrix.orgIlan Joselevich (Kranzes)inputs.nixpkgs.legacyPackages.x86_64-linux23:22:30
@crtified:crtified.meCRTified👌 Just wanted to be sure whether devShells behaves differently 23:22:46
@kranzes:matrix.orgIlan Joselevich (Kranzes)
{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";

  outputs = inputs:
    let
      system = "x86_64-linux";
      pkgs = inputs.nixpkgs.legacyPackages.${system};
    in
    {
      devShells.${system} = {
        clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
          packages = [ pkgs.hello ];
        };
        gcc = pkgs.mkShell {
          packages = [ pkgs.hello ];
        };
      };
    };
}
23:23:14
@kranzes:matrix.orgIlan Joselevich (Kranzes)really basic flake for 1 system architecture23:23:37
@lxsameer:matrix.orglxsameerPretty cool. Thanks folks23:31:13
17 Aug 2023
@lxsameer:matrix.orglxsameer hey friends, I have a very basic flake that follows. when i do nix flake show I get error: expected a derivation. Where might be the error? is there any way to get a traceback? 11:04:36
@lxsameer:matrix.orglxsameer
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
    flake-utils.url = github:numtide/flake-utils;
  };

  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
      in
        rec {
          devShells.${system} = {
            clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
              packages = [ pkgs.hello ];
            };
            gcc = pkgs.mkShell {
              packages = [ pkgs.hello ];
            };
          };
        }
    );
}
11:04:47
@lxsameer:matrix.orglxsameer *
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
    flake-utils.url = github:numtide/flake-utils;
  };

  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
      in
        rec {
          devShells.${system} = {
            clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
              packages = [ pkgs.hello ];
            };
            gcc = pkgs.mkShell {
              packages = [ pkgs.hello ];
            };
          };
        }
    );
}
11:05:01
@lxsameer:matrix.orglxsameer *
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
    flake-utils.url = github:numtide/flake-utils;
  };

  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
      in
        rec {
          devShells.${system} = {
            clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
              packages = [ pkgs.hello ];
            };
            gcc = pkgs.mkShell {
              packages = [ pkgs.hello ];
            };
          };
        }
    );
}
11:05:14
@lxsameer:matrix.orglxsameer *
 {
  description = "A very basic flake";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
    flake-utils.url = github:numtide/flake-utils;
  };

  outputs = { self, nixpkgs, flake-utils, ... }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
      in
        rec {
          devShells.${system} = {
            clang = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
              packages = [ pkgs.hello ];
            };
            gcc = pkgs.mkShell {
              packages = [ pkgs.hello ];
            };
          };
        }
    );
}
11:06:31
@kranzes:matrix.orgIlan Joselevich (Kranzes)That's a flake-utils moment. Omit the ${system} part from devShells.12:25:13
@kranzes:matrix.orgIlan Joselevich (Kranzes) devShells.${system} -> devShells 12:25:24
@kranzes:matrix.orgIlan Joselevich (Kranzes)flake-utils handles the genAttrs part for the outputs12:25:53
@crtified:crtified.meCRTified For more context, https://ayats.org/blog/no-flake-utils/ is a good writeup about flake-utils 12:25:57
@kranzes:matrix.orgIlan Joselevich (Kranzes)You should probably stay away from flake-utils anyway12:26:05
@lxsameer:matrix.orglxsameerI change the flake and I'm not using flake-util like before13:03:07
@lxsameer:matrix.orglxsameerI'm just using the system wrappre now13:03:16
@lxsameer:matrix.orglxsameerthanks folks13:03:33
@antifuchs:asf.computer@antifuchs:asf.computerI find flake.parts a much better-done thing that does all flake-utils does; the post above is great for learning what they do, at any rate13:07:43

Show newer messages


Back to Room ListRoom Version: 6