| 12 Mar 2022 |
ramsey | it tells me that it doesn't recognize php as a variable name | 23:34:57 |
Jan Tojnar | oh, right, you need to use pkgs.php | 23:35:20 |
Jan Tojnar | In Nix, like in most programming languages, only variables that are explicitly introduced into scope are available to use | 23:36:06 |
ramsey | I don't know how to include pkgs.php | 23:36:28 |
Jan Tojnar | it should be available inside the function body (since the function takes pkgs as an argument) | 23:37:12 |
Jan Tojnar | * pkgs should be available inside the function body (since the function takes pkgs as an argument) | 23:37:21 |
ramsey | this tutorial doesn't give me any indication of how to include packages: https://nixos.org/guides/dev-environment.html | 23:37:26 |
ramsey | and reading about it here doesn't show me how to add it to my default.nix file: https://search.nixos.org/packages?channel=21.11&show=php&from=0&size=50&sort=relevance&type=packages&query=php | 23:38:00 |
Jan Tojnar | you can do something like:
let
pkgs = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/bacbfd713b4781a4a82c1f390f8fe21ae3b8b95b.tar.gz") {};
in
pkgs.php.buildEnv {
extensions = { all, enabled ... }: enabled ++ (with all; [ xdebug ]);
}
| 23:39:09 |
ramsey | how am I supposed to know that? Is that in a tutorial that I'm missing? | 23:39:44 |
Jan Tojnar | the guide relies on the fact that when default.nix contains a function, nix-shell and nix-build will automatically call it (and since you do not pass the pkgs argument, the default value after the question mark will be used) | 23:40:39 |
Jan Tojnar | many of these guides are too “monkey see, monkey do” but unfortunately, the other alternative is learning Nix syntax and semantics first and then the same for Nixpkgs, which is a very long road | 23:43:50 |
Jan Tojnar | * many of these guides are too “monkey see, monkey do” for my taste. But unfortunately, the other alternative is learning Nix syntax and semantics first and then the same for Nixpkgs, which is a very long road | 23:44:56 |
ramsey | Right. Unfortunately, for me this monkey needs to see more so that I can do more 😉 | 23:45:16 |
Jan Tojnar | I would recommend getting intimately familiar with the syntax section of Nix manual https://nixos.org/manual/nix/stable/expressions/writing-nix-expressions.html | 23:46:26 |
Jan Tojnar | and then either ask about the stuff that is unclear in the guides, or assume it is not important for the task if it is not explained | 23:48:03 |
ramsey | k | 23:48:19 |
Jan Tojnar | In reply to @ramsey:matrix.org So, nix builds its own Phar instead of using the one provided by the maintainers. Interesting. I don't see how this is really relevant in PHP's case, since it's not packaging a binary for the target system. building from source is not just about portability (which is indeed less of an issue with text-based languages like PHP), the primary concern is that the PHAR is opaque, so it is hard to solve issues with it (e.g. apply patches) | 23:52:24 |
ramsey | good point... it can also be environment-specific | 23:53:06 |
ramsey | i.e., include the wrong versions of packages for the environment you're on | 23:53:26 |
Jan Tojnar | then there is also a security aspect – this is not critical for us, since we do not have the resources to verify each source at the moment, but that would be another argument for Debian or Fedora | 23:54:36 |
Jan Tojnar | but NixOS is still quite pragmatic, so if not using PHAR from upstream is too much work, we will use it | 23:56:34 |
Jan Tojnar | * but NixOS is still quite pragmatic, so if not using PHAR from upstream is too much work, we will use it (in fact, we do that for most PHP tools) | 23:57:00 |
| 13 Mar 2022 |
Pol | Phive PR for Nix: https://github.com/NixOS/nixpkgs/pull/163986 | 10:35:09 |
Pol | The only thing I'm unsure is the license. | 10:35:23 |
Pol | I asked the author: https://twitter.com/drupol/status/1502956751632703495 | 10:36:40 |
Pol | Jan Tojnar: PR fixed, I also added all the missing hooks in other PHP packages. | 15:41:16 |
| Guillem CANAL joined the room. | 16:39:21 |
Pol | In reply to @drupol:matrix.org Phive PR for Nix: https://github.com/NixOS/nixpkgs/pull/163986 ramsey: PR is done, I guess it will be available very soon. | 20:22:53 |
ramsey | Nice! | 22:25:27 |