| 13 Aug 2023 |
@ulli:hrnz.li | if it's not in the store, it's not part of the flake | 20:54:38 |
| 14 Aug 2023 |
@petrichor:envs.net | OK, so I want to be able to tell nix that not every file in the source tree while I'm developing it is part of a flake | 09:00:10 |
@petrichor:envs.net | that's easy with git, but I don't know how to do it with any other vcs (or none) | 09:00:38 |
@petrichor:envs.net | e.g. maybe a .flakeignore file, a la .dockerignore? https://docs.docker.com/engine/reference/builder/#dockerignore-file | 16:31:21 |
| 15 Aug 2023 |
| @lenny:flipdot.org changed their display name from Lenny. to Lenny. 7913. | 14:47:42 |
| Christina Sørensen changed their profile picture. | 14:58:02 |
| @10leej:matrix.org left the room. | 19:34:10 |
| 16 Aug 2023 |
lxsameer | hey 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 |
Ilan Joselevich (Kranzes) | Yep, the flake schema is devShells.x86_64-linux.X | 23:04:46 |
Ilan 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 |
Ilan Joselevich (Kranzes) | devShells.${system} is an attrset | 23:11:17 |
Ilan Joselevich (Kranzes) | what's the musl stdenv that I don't know | 23:11:59 |
CRTified | 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 |
Ilan Joselevich (Kranzes) | let binding | 23:22:08 |
CRTified | nixpkgs instantiation? | 23:22:10 |
Ilan Joselevich (Kranzes) | inputs.nixpkgs.legacyPackages.x86_64-linux | 23:22:30 |
CRTified | 👌 Just wanted to be sure whether devShells behaves differently | 23:22:46 |
Ilan 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 |
Ilan Joselevich (Kranzes) | really basic flake for 1 system architecture | 23:23:37 |
lxsameer | Pretty cool. Thanks folks | 23:31:13 |
| 17 Aug 2023 |
lxsameer | 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 | 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 | * 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 | * 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 | * {
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 |
Ilan Joselevich (Kranzes) | That's a flake-utils moment. Omit the ${system} part from devShells. | 12:25:13 |
Ilan Joselevich (Kranzes) | devShells.${system} -> devShells | 12:25:24 |
Ilan Joselevich (Kranzes) | flake-utils handles the genAttrs part for the outputs | 12:25:53 |
CRTified | For more context, https://ayats.org/blog/no-flake-utils/ is a good writeup about flake-utils | 12:25:57 |
Ilan Joselevich (Kranzes) | You should probably stay away from flake-utils anyway | 12:26:05 |