PortValhalla/lib/modules/partition/choose-disk.fish

35 lines
843 B
Fish

#!/bin/env fish
function chooseDisk -a outFile message selectScript
if [ -z "$selectScript" ]
set selectScript "$(status dirname)/select.fish"
end
source "$selectScript"
while true
set -l header
set -l disks
lsblk -do NAME,SIZE,TYPE | begin
read header
cat | while read disk
set -l diskInfo (string split -n " " $disk)
if contains "$diskInfo[3]" "disk"
set -a disks "$disk"
end
end
end
select "$header" "$outFile" "$message" "No valid disk found!" "$(string collect $disks)" "false"
and begin
set -l disk (string split -n " " (cat "$outFile"))
echo "/dev/$disk[1]" > $outFile
return
end
end
end
chooseDisk $argv