| 21 Nov 2023 |
rikudou@lemmings.world | I've been planning to! I know the theory behind it, but haven't had time to learn the syntax, yet. | 08:33:53 |
Pol | the syntax is not that different from regular use of Nix | 08:34:07 |
Pol | it's just that flake has a structure where multiple outputs can be created | 08:34:31 |
Pol | * it's just that flake has a fixed structure where multiple outputs can be created | 08:34:42 |
rikudou@lemmings.world | Well, it's also very cryptic, I've read a bit on them and I still don't understand how to do even the most basic things. I still don't know how to incorporate the bits you shared today (about the php package) into, well, anything, be it configuration.nix or flake.nix. | 08:45:02 |
rikudou@lemmings.world | It seems like something I'll have to read on thoroughly and I don't have the time for that lately | 08:45:42 |
Pol | OK, I can help if you want, just let me know clearly what is unclear and I'll do my best. | 08:47:31 |
rikudou@lemmings.world | Well, creating a complete shell.nix equivalent would be a great start, I have no clue how to install the package in a flake.nix | 08:49:11 |
Pol | shell.nix was made to create development shells. This correspond to the attribute: devShells.default in a flake | 08:49:53 |
Pol | * shell.nix was made to create development shells. This correspond to the attribute: devShells.default in a flake | 08:50:29 |
Pol | For building stuff, it's packages.<something> | 08:50:48 |
rikudou@lemmings.world | In reply to @rikudou:lemmings.world
Here's a fully working shell.nix with what you want, it can easily be adapted to configuration.nix:
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs.buildPackages;
let
custom = import (builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/1d8b8365a02efbf668311dc9db06cb98d49e7302) {};
php74 = custom.php74.buildEnv {
extensions = ({ enabled, all }: enabled ++ (with all; [
redis
xdebug
]));
extraConfig = ''
xdebug.mode=debug
date.timezone=Australia/Brisbane
'';
};
in
[
php74
custom.php74Packages.composer
custom.php74Extensions.pdo
custom.php74Extensions.redis
custom.php74Extensions.xdebug
];
}
I meant more like adapting this to a flake.nix, if possible? That will probably help me find the connections | 08:51:51 |
Pol | Of course! | 09:00:23 |
Pol | Send me your shell.nix | 09:00:31 |
Pol | I'll do it quickly | 09:00:35 |
rikudou@lemmings.world | Download shell.nix | 09:00:58 |
Pol | doing it. | 09:02:15 |
rikudou@lemmings.world | Thanks! | 09:02:23 |
Pol | Without testing it, I'm pretty sure this should work: https://gist.github.com/drupol/8e5eb2f7cb344fe7009b72d97d1bd90f | 09:08:48 |
Pol |  Download image.png | 09:10:23 |
Pol | Yep, seems to work | 09:10:29 |
Pol | Now, going to make it simpler. | 09:10:36 |
rikudou@lemmings.world | I get this error instead: error: getting status of '/nix/store/1wlb2g44ajwr6n14apkigayzqy227ylk-source/flake.nix': No such file or directory | 09:11:02 |
rikudou@lemmings.world | Where does this come from on line 5? nixpkgs_php7429 | 09:12:53 |
Pol | It works here | 09:14:38 |
Pol | Make sure you have the latest version of the file | 09:14:45 |
Pol | In reply to @rikudou:lemmings.world Where does this come from on line 5? nixpkgs_php7429 I made it up myself | 09:14:56 |
Pol | It could be any name actually | 09:15:12 |
Pol | Once you are in the directory where the flake it, just do: nix develop | 09:15:35 |
Pol | And you will enter the default development shell | 09:15:45 |