mirror of
https://mzte.de/git/LordMZTE/dotfiles.git
synced 2024-12-15 09:53:51 +01:00
28 lines
912 B
Nix
28 lines
912 B
Nix
{ pkgs, lib }:
|
|
{ setEnvironment ? null }:
|
|
pkgs.writeShellApplication {
|
|
name = "mzteinit";
|
|
|
|
# We need a wrapper script here because nix cannot build mzteinit while taking localconf into
|
|
# account, as the builder has no access to the home directory. Thus, the user must build
|
|
# mzteinit and we need to launch it here (before it's contained in $PATH, hence the absolute path).
|
|
text = ''
|
|
${lib.optionalString (setEnvironment != null) ''
|
|
if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
|
|
# shellcheck disable=SC1091
|
|
. ${setEnvironment}
|
|
fi
|
|
'' }
|
|
mzteinit_path="$HOME"/.local/bin/mzteinit
|
|
if [[ -f "$mzteinit_path" ]]; then
|
|
exec $mzteinit_path
|
|
else
|
|
echo "mzteinit not found, starting pre-launch emergency shell!"
|
|
exec ${pkgs.bash}/bin/bash
|
|
fi
|
|
'';
|
|
|
|
bashOptions = [ "errexit" "pipefail" ];
|
|
|
|
derivationArgs.passthru.shellPath = "/bin/mzteinit";
|
|
}
|