!yUrHuDcxUngfTlDbiy:matrix.org

flakelight

38 Members
https://github.com/nix-community/flakelight12 Servers

Load older messages


SenderMessageTime
13 Mar 2024
@accelbread:matrix.orgaccelbreadI'll have to look into that; would be nice to package our tests properly lol17:16:05
@cmacr.ae:matrix.orgcmacraeyeah it looked pretty comprehensive when I had a brief read over the site/docs17:17:50
@accelbread:matrix.orgaccelbreadWhat I need is just a function that takes a locked requirements.txt, and gives me a nix file that I can import to get a python environment matching the requirements.txt17:19:32
@cmacr.ae:matrix.orgcmacrae ah yeah, like all the old 2nix tools. as you already mentioned, dream2nix looks very promising 17:20:25
@accelbread:matrix.orgaccelbreadhmm still seems like a bit of a hefty dependency. pip2nix is almost perfect except for being quite out-of-date and not working on Mac. Maybe I ought to just fork it and update it one of these days 17:26:20
@cmacr.ae:matrix.orgcmacraeyeah that's a fair point. I think it has some very lofty goals and is nothing like the smaller converters we're historically used to17:32:22
@accelbread:matrix.orgaccelbreadYeah, I'm also usually not creating a package, but creating a python environment used by devShell, formatter, and multiple packages17:33:09
@accelbread:matrix.orgaccelbreadOr doing something like creating the python env esp-idf requires, and using the esp-idf build system in my derivation17:33:50
@cmacr.ae:matrix.orgcmacraeyeah exactly 👍️17:56:15
14 Mar 2024
@wyndon:envs.netwyndon changed their profile picture.11:02:44
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:44:30
15 Mar 2024
@cmacr.ae:matrix.orgcmacrae me again accelbread 👋😅 looking at using flakelight-rust for our company's mono-repo. when using flakelight-rust in a flakelight flake, where I'm importing the flakelightModule, how can I set the fileset option? 14:51:25
@cmacr.ae:matrix.orgcmacrae also, out of curiosity, maybe you can help me figure out: looks like they're using a top level Cargo.toml in the root of the repo. it uses a large members section to define all its components, of which some are cargo packages. the top level Cargo.toml doesn't have a package section defined, so I added one and called it "<thing>-meta". which in turn seems like it's then instructing to build everything (the desired outcome). do you think this is a good approach for using flakelight-rust? 14:51:28
@accelbread:matrix.orgaccelbreadSounds like its using a cargo workspace; currently flakelight-rust builds the default package if it is set (it can be set to one of the other crates or the workspace itself can have a package section) If you want to build everything, a meta package seems fine for now with current support. Would be best if we add support for building all the crates in a workspace as separate packages though; that way nothing special has to be done. 15:17:38
@accelbread:matrix.orgaccelbread

fileset is set as a normal flakelight option, like so:

{
  inputs.flakelight-rust.url = "github:accelbread/flakelight-rust";
  outputs = { flakelight-rust, ... }:
    flakelight-rust ./. {
      fileset = ./.;
    };
}

Above is easy way which gives pacakges access to all files in the repo

15:19:32
@accelbread:matrix.orgaccelbreadbest practice to have a more restricted set though so that changes to README/etc dont cause a rebuild and better build isolation15:20:03
@accelbread:matrix.orgaccelbreadDocs for what you can do with filesets is here: https://nixos.org/manual/nixpkgs/unstable/#sec-fileset 15:21:17
@accelbread:matrix.orgaccelbreadcan just build one and pass it to flakelight. The default flakelight-rust one just uses Rust and Toml files15:21:57
@cmacr.ae:matrix.orgcmacrae okay, that's great, thanks for all that info! in your example for setting fileset above, that's just using flakelight-rust. how can I do that in a flakelight ./. { call where I'm using flakelight-rust's flakelightModule.default in flakelight's imports arg? 15:22:26
@cmacr.ae:matrix.orgcmacraeSorry, does that make sense?15:22:33
@accelbread:matrix.orgaccelbread * can just build one and pass it to flakelight. The default flakelight-rust one just uses Rust, cargo.toml, and cargo.locl15:22:37
@accelbread:matrix.orgaccelbread * can just build one and pass it to flakelight. The default flakelight-rust one just uses Rust, cargo.toml, and cargo.lock files15:22:42
@cmacr.ae:matrix.orgcmacrae
  outputs = { flakelight, flakelight-rust, devenv, ... }@inputs:
    flakelight ./. {
      imports = [ flakelight-rust.flakelightModules.default ];
      systems = inputs.nixpkgs.lib.systems.flakeExposed;

15:22:47
@cmacr.ae:matrix.orgcmacraelike this :)15:22:51
@accelbread:matrix.orgaccelbread

same way:

outputs = { flakelight, flakelight-rust, devenv, ... }@inputs:
    flakelight ./. {
      imports = [ flakelight-rust.flakelightModules.default ];
      systems = inputs.nixpkgs.lib.systems.flakeExposed;
      fileset = ./.;
15:23:32
@cmacr.ae:matrix.orgcmacraeoh, I tried that but it didn't seem to do what I wanted 😅 I must be doing something wrong15:23:59
@accelbread:matrix.orgaccelbreadcalling flakelight-rust is just a shortcut for calling flakelight and adding flakelight-rust.flakelightModules.default15:24:07
@accelbread:matrix.orgaccelbreadHmm, maybe the fileset is not matching your files?15:24:35
@cmacr.ae:matrix.orgcmacrae yeah, I tried ./. to do everything as a test, but it didn't look like the whole tree was in the build env 15:25:52
@cmacr.ae:matrix.orgcmacraeI'll mess around and see what I can get working. It was very likely user error 🤡15:26:13

Show newer messages


Back to Room ListRoom Version: 10