Files
dotfiles/home/scripts.nix
2025-06-13 21:46:40 +05:30

39 lines
1.0 KiB
Nix

{pkgs, ...}: let
mkScript = scriptFile: deps: (pkgs.writeShellApplication {
runtimeInputs = deps;
name = builtins.baseNameOf scriptFile;
text = builtins.readFile scriptFile;
});
in {
home.packages = [
(pkgs.writeShellApplication
{
name = "hotedit";
# description = "Edit files from nix store by replacing them with a local copy";
text = ''
if [ "$#" -eq 0 ]; then
echo "No arguments provided."
exit 1
elif [ "$#" -gt 1 ]; then
echo "More than 1 argument provided."
exit 1
fi
if [ -L "$1" ]; then
echo "The file is a symbolic link."
mv "$1" "$1.bak"
cp "$1.bak" "$1"
chmod +rw "$1"
else
echo "The file is not a symbolic link."
exit 1
fi
exec $EDITOR "$1"
'';
})
(mkScript ../scripts/yt-dlp.sh (with pkgs; [yt-dlp]))
(mkScript ../scripts/autossh.sh (with pkgs; [autossh openssh]))
];
}