{ self, pkgs, }: pkgs.writeShellScriptBin "homep" '' #!/run/current-system/sw/bin/bash # Ensure the package manifest is generated or updated if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then echo "Generating Nixpkgs manifest..." nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt fi # Select packages using fzf with multi-select enabled selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m) # Check if any packages were selected if [ -n "$selected_packages" ]; then echo "$selected_packages" | while read -r package; do # Append each selected package to the Nix config file sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix" echo "Added $package to the Home Manager configuration." done echo "Packages added successfully. Rebuild system config?" select yn in "Yes" "No"; do case $yn in "Yes" ) nixswitch;break;; "No" ) exit;; esac done else echo "No packages selected." fi ''