summaryrefslogtreecommitdiffstats
path: root/tv/5pkgs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2023-01-03 16:58:37 +0100
committertv <tv@krebsco.de>2023-01-03 17:01:07 +0100
commit732cf232ed21e5dd7c66f8751f2ccf3d56f12c92 (patch)
tree605dd7dbde26635989421a99b6fdcc3914876604 /tv/5pkgs
parent206a5d145418c3484100b0598a9593a950fbfc98 (diff)
tv alacritty: mkdir and cp only when needed
Diffstat (limited to 'tv/5pkgs')
-rw-r--r--tv/5pkgs/simple/alacritty-tv.nix29
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