| 7 Jul 2021 |
cole-h | Thanks Andi | 21:35:06 |
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 |