diff options
author | tv <tv@krebsco.de> | 2023-01-03 16:58:37 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2023-01-03 17:01:07 +0100 |
commit | 732cf232ed21e5dd7c66f8751f2ccf3d56f12c92 (patch) | |
tree | 605dd7dbde26635989421a99b6fdcc3914876604 /tv/5pkgs | |
parent | 206a5d145418c3484100b0598a9593a950fbfc98 (diff) |
tv alacritty: mkdir and cp only when needed
Diffstat (limited to 'tv/5pkgs')
-rw-r--r-- | tv/5pkgs/simple/alacritty-tv.nix | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/tv/5pkgs/simple/alacritty-tv.nix b/tv/5pkgs/simple/alacritty-tv.nix index d80c46c..fd4dec9 100644 --- a/tv/5pkgs/simple/alacritty-tv.nix +++ b/tv/5pkgs/simple/alacritty-tv.nix @@ -51,6 +51,20 @@ let scrolling.multiplier = 8; }; config-file = pkgs.writeJSON "alacritty-tv.json" config; + profile = pkgs.writeText "alacritty-tv.profile" /* sh */ '' + # Use home so Alacritty can find the configuration without arguments. + # HOME will be reset once in Alacritty. + HOME=$TMPDIR/Alacritty + export HOME + + # Install stored configuration if it has changed. + # This allows for both declarative updates and runtime modifications. + ${pkgs.coreutils}/bin/mkdir -p "$HOME" + if test "$(${pkgs.coreutils}/bin/cat "$HOME"/ref)" != ${config-file}; then + echo ${config-file} > "$HOME"/ref + ${pkgs.coreutils}/bin/cp ${config-file} "$HOME"/.alacritty.yml + fi + ''; in pkgs.symlinkJoin { @@ -62,27 +76,16 @@ pkgs.symlinkJoin { set -efu - # Use home so Alacritty can find the configuration without arguments. - # HOME will be reset once in Alacritty. - HOME=$TMPDIR/Alacritty - export HOME - - # Install stored configuration if it has changed. - # This allows for both declarative updates and runtime modifications. - ${pkgs.coreutils}/bin/mkdir -p "$HOME" - if test "$(${pkgs.coreutils}/bin/cat "$HOME"/ref)" != ${config-file}; then - echo ${config-file} > "$HOME"/ref - ${pkgs.coreutils}/bin/cp ${config-file} "$HOME"/.alacritty.yml - fi - case ''${1-} in --singleton) shift if ! ${pkgs.alacritty}/bin/alacritty msg create-window "$@"; then + . ${profile} ${pkgs.alacritty}/bin/alacritty "$@" & fi ;; *) + . ${profile} exec ${pkgs.alacritty}/bin/alacritty "$@" ;; esac |