{ pkgs }: pkgs.symlinkJoin { name = "alacritty-tv"; paths = [ (pkgs.writeDashBin "alacritty" '' # usage: # alacritty [--profile=PROFILE] [--singleton] [ARGS...] # where # PROFILE must have a corresponding file /etc/alacritty/PROFILE.toml set -efu profile=default singleton= while :; do case ''${1-} in --profile=*) profile=''${1#--profile=} shift ;; --singleton) singleton=1 shift ;; *) break esac done config=/etc/alacritty/$profile.toml if ! test -e "$config"; then echo "$0: warning: bad profile: $profile; using default instead" >&2 profile=default config=/etc/alacritty/default.toml fi export WINIT_X11_SCALE_FACTOR=$( ${pkgs.haskellPackages.xoutinfo}/bin/xoutinfo | ${pkgs.jq}/bin/jq .device_scale_factor ) if test "$singleton" = 1; then if ! ${pkgs.alacritty}/bin/alacritty --config-file "$config" msg create-window "$@"; then ${pkgs.alacritty}/bin/alacritty --config-file "$config" "$@" & fi else exec ${pkgs.alacritty}/bin/alacritty --config-file "$config" "$@" fi '') pkgs.alacritty ]; }