home-manager/horsch/zsh.nix

54 lines
1.2 KiB
Nix

{ ... }:
{
programs.zsh.initExtra = ''
if [ -f $HOME/.nix-profile/etc/profile.d/nix.sh ];
then
source $HOME/.nix-profile/etc/profile.d/nix.sh
fi
function sc-log {
ssh smartcan "SYSTEMD_COLORS=true journalctl --follow --no-tail --unit smartcan-''${1:-*}"
}
function sc-restart {
ssh smartcan "systemctl restart smartcan-''${1}"
}
function fu-reboot {
ssh fusion "reboot"
}
function fu-flash {
local ssh_login="fusion"
local update_file=''${1}
if [ -z ''${update_file} ]; then
update_file=$(find build/tmp/deploy/images -name "*.swu" -type f | fzf --select-1)
fi
if [ -z ''${update_file} ]; then
echo "no file selected"
return 1
fi
if [ ! -f ''${update_file} ]; then
echo "file \"''${update_file}\" does not exist"
return 2
fi
echo "flashing ''${update_file} to device..."
cat "''${update_file}" | ssh ''${ssh_login} "swupdate-client -"
if [ $? -ne 0 ]; then
echo "update failed"
return 3
fi
echo "rebooting device"
ssh ''${ssh_login} reboot
echo "done."
}
'';
}