dotfiles

Repositório dotfiles
git clone git://git.sivaldodavi.com/dotfiles.git
Log | Files | Refs | README

commit 298115f0741752d341d35f9023dac7adbe58b1e7
parent 1416ffeaf40335e3cbe7549105234a7b607baee7
Author: Sivaldo <gxixtx@xsxixvxaxlxdxoxdxaxvxix.xcxoxm>
Date:   Sat, 27 Jun 2026 16:02:17 -0300

refactor(install): unificar instalação de ferramentas via código-fonte

- Substitui as funções `install_suckless` e `install_nsxiv` por uma única
  função `install_source_tools`.
- Altera a gestão dos repositórios Suckless: agora são clonados e
  atualizados individualmente direto no diretório `$SRC_DIR`.
- Modifica a instalação do nsxiv: o código-fonte passa a ser mantido
  no `$SRC_DIR` (em vez de usar o `/tmp`), permitindo atualizações
  futuras via `git pull`.
- Atualiza o menu de ajuda e o `case`, agrupando os antigos comandos
  `suckless` e `nsxiv` na nova opção `ferramentas`.

Diffstat:
M.local/bin/install | 66+++++++++++++++++++++++++++++++++---------------------------------
1 file changed, 33 insertions(+), 33 deletions(-)

diff --git a/.local/bin/install b/.local/bin/install @@ -39,8 +39,7 @@ show_help() { echo " permissoes - Configura grupos de usuário, doas e X11" echo " servicos - Ativa serviços essenciais (ex: dbus)" echo " dotfiles - Clona/Atualiza dotfiles e cria links" - echo " suckless - Clona e compila as ferramentas suckless" - echo " nsxiv - Clona e compila o nsxiv isoladamente" + echo " ferramentas - Clona e compila ferramentas do código-fonte (Suckless e nsxiv)" echo " lf - Instala o gerenciador de arquivos lf via go" echo " vim - Instala o gerenciador e os plugins do Vim" echo " ffsetup - Clona e executa o ffsetup" @@ -258,41 +257,44 @@ setup_dotfiles() { echo "✅ Dotfiles configurados." } -install_suckless() { - echo "Compilando ferramentas Suckless..." +install_source_tools() { + echo "Compilando ferramentas (Suckless + nsxiv)..." mkdir -p "$SRC_DIR" - SUCKLESS_DIR="$SRC_DIR/suckless" - - if [ -d "$SUCKLESS_DIR" ]; then - echo "Git: repositório suckless já existe, atualizando..." - (cd "$SUCKLESS_DIR" && git pull) || echo "Falha ao atualizar repositório suckless." - else - git clone "$BASE_URL/suckless.git" "$SUCKLESS_DIR" || die "Falha ao clonar repositório suckless." - fi + # 1. Ferramentas Suckless for repo in $REPOS; do - if [ ! -d "$SUCKLESS_DIR/$repo" ]; then - echo "Diretório '$repo' não encontrado em $SUCKLESS_DIR, pulando." - continue + REPO_DIR="$SRC_DIR/$repo" + + if [ -d "$REPO_DIR" ]; then + echo "Git: repositório $repo já existe, atualizando..." + (cd "$REPO_DIR" && git pull) || echo "Falha ao atualizar $repo." + else + echo "Clonando $repo..." + git clone "$BASE_URL/$repo.git" "$REPO_DIR" || echo "Falha ao clonar $repo." fi - echo "Compilando $repo..." - (cd "$SUCKLESS_DIR/$repo" && doas make clean install) || echo "Falha ao compilar '$repo'." - done - echo "Suckless finalizado." -} -install_nsxiv() { - echo "Clonando e compilando nsxiv..." - NSXIV_TMP="/tmp/nsxiv_build" - rm -rf "$NSXIV_TMP" + if [ -d "$REPO_DIR" ]; then + echo "Compilando $repo..." + (cd "$REPO_DIR" && doas make clean install) || echo "Falha ao compilar '$repo'." + fi + done - if git clone "https://codeberg.org/nsxiv/nsxiv" "$NSXIV_TMP"; then - (cd "$NSXIV_TMP" && doas make clean install) || echo "Falha ao compilar 'nsxiv'." - rm -rf "$NSXIV_TMP" - echo "'nsxiv' instalado." + # 2. nsxiv (do repositório oficial) + NSXIV_DIR="$SRC_DIR/nsxiv" + if [ -d "$NSXIV_DIR" ]; then + echo "Git: repositório nsxiv já existe, atualizando..." + (cd "$NSXIV_DIR" && git pull) || echo "Falha ao atualizar nsxiv." else - echo "Falha ao clonar o repositório do nsxiv." + echo "Clonando nsxiv..." + git clone "https://codeberg.org/nsxiv/nsxiv.git" "$NSXIV_DIR" || echo "Falha ao clonar nsxiv." fi + + if [ -d "$NSXIV_DIR" ]; then + echo "Compilando nsxiv..." + (cd "$NSXIV_DIR" && doas make clean install) || echo "Falha ao compilar 'nsxiv'." + fi + + echo "Ferramentas compiladas com sucesso." } install_lf() { @@ -338,8 +340,7 @@ run_full_installation() { setup_permissions setup_services setup_dotfiles - install_suckless - install_nsxiv + install_source_tools install_lf setup_vim setup_ffsetup @@ -383,8 +384,7 @@ case "$1" in permissoes) setup_permissions ;; servicos) setup_services ;; dotfiles) setup_dotfiles ;; - suckless) install_suckless ;; - nsxiv) install_nsxiv ;; + ferramentas) install_source_tools ;; lf) install_lf ;; vim) setup_vim ;; ffsetup) setup_ffsetup ;;