| 7 Jul 2021 |
cole-h | withs with large scopes are not fun to debug :) | 21:35:23 |
andi- | to keep the namespace sane and not pollute whatever someone might merge with little review into the scope. It makes it easier to reason about. | 21:35:24 |
piegames | I'm really not fond of with statements because they are glob imports, but they have a valid use case in lists of packages. | 21:36:18 |
| * piegames would really like to have an import statement that allows to write lib.foo without having to do with pkgs; | 21:36:50 |
Sandro | Having with pkgs on every other line is just noise and makes the file not easily copyable into nixpkgs. | 21:37:26 |
andi- | inherit (pkgs) lib? | 21:37:24 |
piegames | Obvious hacky workaround: with { lib = pkgs.lib; }; | 21:37:32 |
piegames | In reply to @andi:kack.it
inherit (pkgs) lib? Oh I see. I didn't know this was applicable in let bindings as well, I thought I had to write let lib = pkgs.lib(to be fair, they are more or less equally bad) | 21:38:51 |
cole-h | %s/with pkgs; ?// is pretty easy if you want to copy into Nixpkgs ;) | 21:39:16 |
cole-h | But I prefer sparse withs to global withs. | 21:39:34 |
Sandro | That won't work. You still have some () around | 21:40:02 |
cole-h | Parens don't hurt. Might not be pretty, but | 21:40:26 |
cole-h | Anyways, I don't plan on changing to use one large with pkgs; at the top (nor will I accept a change doing so). | 21:40:49 |
cole-h | * Either way, I don't plan on changing to use one large with pkgs; at the top (nor will I accept a change doing so). | 21:40:53 |
andi- | Perhaps this is cleaner:
diff --git a/default.nix b/default.nix
index 644ebb0..ed618f0 100644
--- a/default.nix
+++ b/default.nix
@@ -4,25 +4,39 @@
}:
let
- pkg = pkgs.rustPlatform.buildRustPackage {
+ inherit (pkgs) lib;
+
+ pkg = pkgs.callPackage ({ lib
+ , stdenv
+ , rustPlatform
+ , pkgconfig
+ , rustPackages
+ , darwin
+ , nix-gitignore
+ , openssl
+ , nix
+ }: rustPlatform.buildRustPackage {
name = "ofborg";
- src = pkgs.nix-gitignore.gitignoreSource [] ./.;
+ src = nix-gitignore.gitignoreSource [] ./.;
- nativeBuildInputs = with pkgs; [
+ nativeBuildInputs = [
pkgconfig
pkgs.rustPackages.clippy
];
- buildInputs = with pkgs; [
+ buildInputs = [
openssl
- ];
+ ] ++ lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+ Security
+ CoreFoundation
+ ]);
preBuild = ''
cargo clippy
'';
doCheck = false; # Tests require access to a /nix/ and a nix daemon
- checkInputs = with pkgs; [
+ checkInputs = [
nix
];
@@ -32,7 +46,7 @@ let
"hubcaps-0.3.16" = "1p7rn8y71fjwfag65437gz7a56pysz9n69smaknvblyxpjdzmh4d";
};
};
- };
+ }) {};
| 21:42:49 |
cole-h | andi-: Thanks -- the darwin machine is back up :) | 21:59:02 |
andi- | the one single darwin machine. That is a nice summary of Darwin support ;-) | 21:59:30 |
cole-h | lol | 21:59:35 |
andi- | did you also deploy the PHP part? That is the one I am scare about | 22:00:16 |
andi- | I never ever tried running that | 22:00:24 |
cole-h | Yep, everything is totally deployed :P | 22:00:26 |
cole-h | ofborg is responding to PR's, so I believe that the PHP stuff is all good | 22:02:04 |
andi- | fascinating | 22:02:15 |
cole-h | (Since the php stuff is only for the webhook AFAICT) | 22:02:16 |
andi- | It is only used for the webhooks yeah | 22:02:33 |
cole-h | phew, crisis averted | 22:02:43 |
andi- | For the purpose of maintainability I could open a PR that swaps it with a simple python script that I use elsewhere for GitHub events | 22:03:01 |
cole-h | TBH sounds like a net-good, but we'd have to discuss with Graham. Maybe start with a draft / WIP PR, if you feel like investing the time into an uncertain prospect? :P | 22:03:56 |
cole-h | (Rather, I'd have to discuss with him -- though I do the bulk of maintenance now, I defer to him for "larger" decisions like these) | 22:04:18 |
andi- | cole-h: What is the strategy towards keeping the nixpkgs pin up2date within ofborg? The Hydra jobset already builds against the latest release IIRC. What is used for deployment? The pin in the JSON file? | 22:13:26 |