{ nixpkgs, toolchain, dhallPackages, pkgs }: let args = { name = "genode-dev-env"; buildInputs = with nixpkgs.buildPackages; [ toolchain stdenv.glibc.dev git tup ccache pkgconfig pkgs.upstream.dev pkgs.ports.libc.dev ]; GENODE_DEV = pkgs.upstream.dev; shellHook = '' export DHALL_PRELUDE=${dhallPackages.prelude}/package.dhall export DHALL_GENODE=${dhallPackages.genode}/package.dhall export DHALL_GENODE_TYPES=${dhallPackages.genode}/types.dhall export PROMPT_DIRTRIM=2 export PS1="\[\033[1;30m\]dev: [\[\033[1;37m\]\w\[\033[1;30m\]] $\[\033[0m\] " export PS2="\[\033[1;30m\]>\[\033[0m\] " ''; # Setup a prompt with a distinct appearance }; in nixpkgs.buildPackages.mkShell ( args // { passthru = { mkShell = { buildInputs, ... }@args': nixpkgs.buildPackages.mkShell ( args // args' // { buildInputs = args.buildInputs ++ args'.buildInputs; } ); }; } )