How to merge multiple writeShellApplication
into a single package?
How to merge multiple writeShellApplication
into a single package?
I need to generate a number of scripts in my configuration and make them into a single package (for ease of reference, because there are a lot of them).
So far, I'm creating the scripts via writeShellApplication
, making them into packages via an overlay
, merging them with buildEnv
and then adding the resulting package to `systemPackages.
Something like:
`nix
nixpkgs.overlays = [ (final: prev: { my-hello-1 = final.writeShellApplication { name = "my-hello-1-script"; text = "echo my hello wolrd 1"; }; my-hello-2 = final.writeShellApplication { name = "my-hello-2-script"; text = "echo my hello wolrd 1"; }; my-hello-scripts = final.buildEnv { name = "my-hello-scripts"; paths = [ final.my-hello-1 final.my-hello-2 ]; }; }) ]; environment.systemPackages = [ pkgs.my-hello-scripts ]; `
This works, but I don't really need the my-hello-1
and my-hello-2
packages... can you think of a way to make do without needing them?