chore(nix): killall-uni2work
This commit is contained in:
parent
07cc413686
commit
8c4228dcba
36
shell.nix
36
shell.nix
@ -192,8 +192,42 @@ let
|
||||
echo "In develop"
|
||||
fi
|
||||
'';
|
||||
|
||||
killallUni2work = pkgs.writeScriptBin "killall-uni2work" ''
|
||||
#!${pkgs.zsh}/bin/zsh
|
||||
|
||||
set -o pipefail
|
||||
|
||||
lockFile=
|
||||
|
||||
if [[ ''${#@} -gt 0 ]]; then
|
||||
lockFile=''${1}
|
||||
shift
|
||||
|
||||
if [[ -d ''${lockFile} && -f ''${lockFile}/.stack-work.lock ]]; then
|
||||
lockFile=''${lockFile}/.stack-work.lock
|
||||
fi
|
||||
else
|
||||
if [[ -f .stack-work.lock ]]; then
|
||||
lockFile=.stack-work.lock
|
||||
elif [[ -f ~/projects/uni2work/.stack-work.lock ]]; then
|
||||
lockFile=~/projects/uni2work/.stack-work.lock
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "''${lockFile}" && !(-f ''${lockFile}) ]]; then
|
||||
echo "Could not find lockfile" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "Killing users of %s...\n" ''${lockFile}
|
||||
|
||||
while ${pkgs.psmisc}/bin/fuser ''${lockFile} 2>/dev/null | ${pkgs.coreutils}/bin/cut -d ':' -f 2- | ${pkgs.findutils}/bin/xargs -tr -- ${pkgs.util-linux}/bin/kill; do
|
||||
sleep 1
|
||||
done
|
||||
'';
|
||||
in pkgs.mkShell {
|
||||
name = "uni2work";
|
||||
|
||||
nativeBuildInputs = [develop inDevelop] ++ (with pkgs; [ nodejs-14_x postgresql_12 openldap google-chrome exiftool memcached minio minio-client gup ]) ++ (with pkgs.haskellPackages; [ stack yesod-bin hlint cabal-install weeder profiteur ]);
|
||||
nativeBuildInputs = [develop inDevelop killallUni2work] ++ (with pkgs; [ nodejs-14_x postgresql_12 openldap google-chrome exiftool memcached minio minio-client gup ]) ++ (with pkgs.haskellPackages; [ stack yesod-bin hlint cabal-install weeder profiteur ]);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user