diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 624aac2..a96c487 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,4 +1,4 @@ -version: 2 +version: 2 updates: - package-ecosystem: "npm" directory: "/" diff --git a/programas/biome/setup.sh b/programas/biome/setup.sh index 3944f5a..58e4db6 100755 --- a/programas/biome/setup.sh +++ b/programas/biome/setup.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing Biome..." -npm install -g @biomejs/biome +echo -e "\e[32mInstalling Biome...\e[0m" +curl -L https://github.com/biomejs/biome/releases/download/v1.9.4/biome-linux-x64 -o biome +chmod +x biome +sudo mv biome /usr/local/bin/biome \ No newline at end of file diff --git a/programas/broot/setup.sh b/programas/broot/setup.sh index 2f4f03a..fdc9fd2 100755 --- a/programas/broot/setup.sh +++ b/programas/broot/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing broot..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate broot +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling broot...\e[0m" +install_cargo_crate broot \ No newline at end of file diff --git a/programas/cline/setup.sh b/programas/cline/setup.sh index f30c909..bdf0191 100755 --- a/programas/cline/setup.sh +++ b/programas/cline/setup.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing cline..." -sudo npm install -g @cline/cli +echo -e "\e[32mInstalling Cline...\e[0m" +if command -v npm &> /dev/null; then + sudo npm install -g @cline/cli +else + echo "npm not found. Skipping." +fi \ No newline at end of file diff --git a/programas/deno/setup.sh b/programas/deno/setup.sh index d9d632c..ebd7210 100755 --- a/programas/deno/setup.sh +++ b/programas/deno/setup.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing Deno..." -curl -fsSL https://deno.land/x/install/install.sh | /usr/bin/env sh +echo -e "\e[32mInstalling Deno...\e[0m" +curl -fsSL https://deno.land/x/install/install.sh | /usr/bin/env sh \ No newline at end of file diff --git a/programas/devenv/setup.sh b/programas/devenv/setup.sh new file mode 100755 index 0000000..5bad959 --- /dev/null +++ b/programas/devenv/setup.sh @@ -0,0 +1,7 @@ +#!/bin/sh +echo -e "\e[32mInstalling devenv...\e[0m" +if command -v nix > /dev/null 2>&1; then + nix profile install --accept-flake-config github:cachix/devenv/latest +else + echo "Nix not found. Devenv requires Nix to be installed." +fi diff --git a/programas/distrobox/setup.sh b/programas/distrobox/setup.sh index 02db9e6..3254dfe 100755 --- a/programas/distrobox/setup.sh +++ b/programas/distrobox/setup.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing distrobox..." -curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo /usr/bin/env sh +echo -e "\e[32mInstalling Distrobox...\e[0m" +curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo /usr/bin/env sh \ No newline at end of file diff --git a/programas/flox/setup.sh b/programas/flox/setup.sh new file mode 100755 index 0000000..be1a220 --- /dev/null +++ b/programas/flox/setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo -e "\e[32mInstalling flox...\e[0m" +curl -fsSL https://install.flox.dev/ | sh diff --git a/programas/helix/setup.sh b/programas/helix/setup.sh index b45bdb2..05b6d7c 100755 --- a/programas/helix/setup.sh +++ b/programas/helix/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing helix..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate helix-term --bin hx +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Helix...\e[0m" +install_cargo_crate helix-term --bin hx \ No newline at end of file diff --git a/programas/hyperfine/setup.sh b/programas/hyperfine/setup.sh index 446024d..085171c 100755 --- a/programas/hyperfine/setup.sh +++ b/programas/hyperfine/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing hyperfine..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate hyperfine +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Hyperfine...\e[0m" +install_cargo_crate hyperfine \ No newline at end of file diff --git a/programas/just/setup.sh b/programas/just/setup.sh index e22f65b..ff13de9 100755 --- a/programas/just/setup.sh +++ b/programas/just/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } echo "Installing just..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate just +install_cargo_crate just \ No newline at end of file diff --git a/programas/llm/setup.sh b/programas/llm/setup.sh index b436edc..8e13a25 100755 --- a/programas/llm/setup.sh +++ b/programas/llm/setup.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing llm..." -pip3 install --break-system-packages llm +echo -e "\e[32mInstalling LLM...\e[0m" +if command -v uv > /dev/null 2>&1; then + uv tool install llm +else + pip3 install llm --break-system-packages +fi \ No newline at end of file diff --git a/programas/mods/setup.sh b/programas/mods/setup.sh index 1c7bf9b..81dd01d 100755 --- a/programas/mods/setup.sh +++ b/programas/mods/setup.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing mods..." +echo -e "\e[32mInstalling Mods...\e[0m" source "$PWD/programas/common/cargo_helper.sh" -install_go_package github.com/charmbracelet/mods@latest +install_go_package github.com/charmbracelet/mods@latest \ No newline at end of file diff --git a/programas/moon/setup.sh b/programas/moon/setup.sh index 35eb9c5..5536ace 100755 --- a/programas/moon/setup.sh +++ b/programas/moon/setup.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing moon..." -curl -fsSL https://moonrepo.dev/install/moon.sh | /usr/bin/env sh +echo -e "\e[32mInstalling Moon...\e[0m" +curl -fsSL https://moonrepo.dev/install/moon.sh | /usr/bin/env sh \ No newline at end of file diff --git a/programas/nushell/setup.sh b/programas/nushell/setup.sh index 0dd2e13..e048c82 100755 --- a/programas/nushell/setup.sh +++ b/programas/nushell/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing nushell..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate nu +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Nushell...\e[0m" +install_cargo_crate nu \ No newline at end of file diff --git a/programas/opentofu/setup.sh b/programas/opentofu/setup.sh index 782cdc8..64f948c 100755 --- a/programas/opentofu/setup.sh +++ b/programas/opentofu/setup.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing opentofu..." +echo -e "\e[32mInstalling OpenTofu...\e[0m" curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh -o install-opentofu.sh chmod +x install-opentofu.sh ./install-opentofu.sh --install-method standalone -rm install-opentofu.sh +rm install-opentofu.sh \ No newline at end of file diff --git a/programas/pkgx/setup.sh b/programas/pkgx/setup.sh index 9bd41f2..d9f3dc7 100755 --- a/programas/pkgx/setup.sh +++ b/programas/pkgx/setup.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing pkgx..." -curl -fsS https://pkgx.sh | /usr/bin/env sh +echo -e "\e[32mInstalling pkgx...\e[0m" +curl -fsS https://pkgx.sh | /usr/bin/env sh \ No newline at end of file diff --git a/programas/procs/setup.sh b/programas/procs/setup.sh index 35c84c0..c83fc5d 100755 --- a/programas/procs/setup.sh +++ b/programas/procs/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing procs..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate procs +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Procs...\e[0m" +install_cargo_crate procs \ No newline at end of file diff --git a/programas/pueue/setup.sh b/programas/pueue/setup.sh index 6088842..1d7f222 100755 --- a/programas/pueue/setup.sh +++ b/programas/pueue/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing pueue..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate pueue +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Pueue...\e[0m" +install_cargo_crate pueue \ No newline at end of file diff --git a/programas/ruff/setup.sh b/programas/ruff/setup.sh index 0812bda..e27b9c9 100755 --- a/programas/ruff/setup.sh +++ b/programas/ruff/setup.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing Ruff..." -pip3 install --break-system-packages ruff +echo -e "\e[32mInstalling Ruff...\e[0m" +if command -v uv > /dev/null 2>&1; then + uv tool install ruff +else + pip3 install ruff --break-system-packages +fi \ No newline at end of file diff --git a/programas/rye/setup.sh b/programas/rye/setup.sh new file mode 100755 index 0000000..147eac8 --- /dev/null +++ b/programas/rye/setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo -e "\e[32mInstalling Rye...\e[0m" +curl -sSf https://rye-up.com/get | sh diff --git a/programas/tealdeer/setup.sh b/programas/tealdeer/setup.sh index 0489e6c..5233294 100755 --- a/programas/tealdeer/setup.sh +++ b/programas/tealdeer/setup.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -echo "Installing tealdeer..." -source "$PWD/programas/common/cargo_helper.sh" -install_cargo_crate tealdeer +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +source "$SCRIPT_DIR/../common/cargo_helper.sh" 2>/dev/null || { install_cargo_crate() { cargo install "$1"; }; } +echo -e "\e[32mInstalling Tealdeer...\e[0m" +install_cargo_crate tealdeer \ No newline at end of file diff --git a/setup-2026.sh b/setup-2026.sh index 28c7fbc..b896f05 100755 --- a/setup-2026.sh +++ b/setup-2026.sh @@ -173,7 +173,7 @@ if [[ -z "$PROFILE" ]]; then echo "" PROFILE_CHOICE=$("$GUM" choose \ --height=20 \ - --cursor="⚡ " \ + --cursor="✨ " \ --header="Escolha o seu nível de poder no Nexus:" \ --header.foreground="#ff7edb" \ --cursor.foreground="#72f1b8" \ @@ -214,6 +214,29 @@ log "Perfil selecionado: $PROFILE" # Human-readable descriptions for the modules declare -A MOD_DESC=( + ["cline"]="🤖 Cline (Autonomous coding agent CLI)" + + ["just"]="🤖 Just (Command Runner)" + ["mods"]="🤖 Mods (AI on the command line)" + ["llm"]="🧠 LLM (Access Large Language Models)" + ["helix"]="🧬 Helix (Post-modern text editor)" + ["nushell"]="🐚 Nushell (A new type of shell)" + ["deno"]="🦕 Deno (Modern JS/TS runtime)" + ["opentofu"]="🏗️ OpenTofu (Infrastructure as Code)" + ["distrobox"]="📦 Distrobox (Run any linux distro in terminal)" + ["moon"]="🌙 Moon (Build system for JS/TS)" + ["biome"]="🚀 Biome (Fast JS/TS toolchain)" + ["ruff"]="⚡ Ruff (Extremely fast Python linter)" + ["pkgx"]="📦 pkgx (Blazing fast package manager)" + ["devenv"]="⚙️ Devenv (Declarative Developer Environments)" + ["flox"]="❄️ Flox (Developer environments for everyone)" + ["rye"]="🌾 Rye (Hassle-free Python experience)" + ["broot"]="🌲 Broot (A new way to see and navigate directory trees)" + ["pueue"]="🗃️ Pueue (Command-line task management tool)" + ["procs"]="🔍 Procs (A modern replacement for ps)" + ["tealdeer"]="🦌 Tealdeer (A very fast implementation of tldr in Rust)" + ["hyperfine"]="⏱️ Hyperfine (A command-line benchmarking tool)" + ["mise"]="🛠️ Mise (Polyglot Tool Version Manager)" ["atuin"]="🐢 Atuin (Magical Shell History)" ["devbox"]="📦 Devbox (Portable Developer Environments)" @@ -343,13 +366,13 @@ if command -v "$GUM" &> /dev/null; then # Note: Use `gum choose` because it supports `--selected` natively (unlike `gum filter`), # allowing us to pre-select modules based on the chosen profile. # We increased the height and added a search hint (use '/' to search in modern gum). - SELECTED_TEXT=$("$GUM" choose --no-limit --cursor="⚡ " \ - --height=30 \ + SELECTED_TEXT=$("$GUM" choose --no-limit --cursor="✨ " \ + --height=35 \ --selected="${DEFAULTS}" \ --selected.foreground="#36f9f6" \ --cursor.foreground="#ff7edb" \ --item.foreground="#f8f8f2" \ - --header="Selecione os módulos (pressione '/' para buscar):" \ + --header="🚀 Selecione os módulos (pressione '/' para buscar):" \ --header.foreground="#fede5d" \ "${CHOICES[@]}") @@ -482,4 +505,4 @@ fi # Cleanup if [ -n "$TMP_GUM_DIR" ] && [ -d "$TMP_GUM_DIR" ]; then rm -rf "$TMP_GUM_DIR" -fi +fi \ No newline at end of file