Update
This commit is contained in:
@@ -1,6 +1,55 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
let
|
||||
|
||||
nixy = pkgs.writeShellScriptBin "nixy" ''
|
||||
function exec() {
|
||||
$@
|
||||
# hyprctl dispatch exec $@
|
||||
}
|
||||
|
||||
function ui(){
|
||||
DEFAULT_ICON=""
|
||||
|
||||
# "icon;name;command"[]
|
||||
apps=(
|
||||
";Rebuild;nixy-rebuild"
|
||||
";Upgrade;nixy-upgrade"
|
||||
";Update;nixy-update"
|
||||
";Collect Garbage;nixy-gc"
|
||||
";Clean Boot Menu;nixy-cb"
|
||||
)
|
||||
|
||||
# Apply default icons if empty:
|
||||
for i in "''${!apps[@]}"; do
|
||||
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
|
||||
done
|
||||
|
||||
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
|
||||
[[ -z $fzf_result ]] && exit 0
|
||||
fzf_result=''${fzf_result/ /;}
|
||||
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
|
||||
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
|
||||
|
||||
exec "$command"
|
||||
exit 0
|
||||
}
|
||||
|
||||
[[ $1 == "" ]] && ui
|
||||
|
||||
if [[ $1 == "rebuild" ]];then
|
||||
nixy-rebuild
|
||||
elif [[ $1 == "upgrade" ]];then
|
||||
nixy-upgrade
|
||||
elif [[ $1 == "update" ]];then
|
||||
nixy-update
|
||||
elif [[ $1 == "gc" ]];then
|
||||
nixy-gc
|
||||
elif [[ $1 == "cb" ]];then
|
||||
nixy-cb
|
||||
fi
|
||||
'';
|
||||
|
||||
nixy-rebuild = pkgs.writeShellScriptBin "nixy-rebuild" ''
|
||||
sudo nixos-rebuild switch --flake ${config.var.configDirectory}#nixy
|
||||
'';
|
||||
@@ -23,6 +72,7 @@ let
|
||||
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
nixy
|
||||
nixy-rebuild
|
||||
nixy-upgrade
|
||||
nixy-update
|
||||
|
||||
Reference in New Issue
Block a user