# This module provides all the shell options { self, inputs, ... }: { flake.modules.homeManager.shell-tools = { config, pkgs, ... }: { imports = with inputs.self.modules.homeManager; [ # bash zsh files ]; home.packages = with pkgs; [ btop uv xclip inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools ]; home.shell.enableShellIntegration = true; }; perSystem = { system, pkgs, self', ... }: { packages.shell-tools = inputs.wrappers.lib.wrapPackage { inherit pkgs; # binName = "show-tools"; package = (pkgs.symlinkJoin { name = "show-tools"; meta.mainProgram = "show-tools"; paths = with pkgs; [ nh ripgrep fd jq wget curl dig self'.packages.gdu self'.packages.my-eza hostname iproute2 direnv (writeShellApplication { name = "show-tools"; text = '' IFS=':' read -r -a path_dirs <<< "''${PATH:-}" for dir in "''${path_dirs[@]}"; do [[ "$dir" == */bin ]] || continue [[ -d "$dir" ]] || continue printf '%s\n' "$dir"/* done ''; }) ]; }); }; packages.gdu = inputs.wrappers.lib.wrapPackage { inherit pkgs; package = pkgs.gdu; args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ]; }; }; }