Skip to content

wilsonsrn/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dotfiles!

Esse é um repositório para automação das minhas configurações de uma pós-instalação de distros Unix.

Usage

1 - Primeiramente é necessário instalar o shell Zsh. Portanto, execute:

sudo apt update
sudo apt upgrade -y
sudo apt install zsh -y
chsh -s $(which zsh)

2 - Após reinciar o shell, apenas execute os comandos abaixo para iniciar o instalador:

git clone https://github.com/wilsonsrn/dotfiles.git && cd dotfiles
chmod +x install.sh
./install.sh

Manual Installation

Siga os passos abaixo em sequência.

Atualiza repositório e pacotes:

sudo add-apt-repository universe
sudo apt update
sudo apt upgrade -y

Instala Zsh.

sudo apt install zsh -y
chsh -s $(which zsh)

Pacotes importantes:

sudo apt install git curl unzip wget libfuse2 -y

Pacotes bestas (opcional).

sudo apt install neofetch htop -y

Instala Oh-My-Zsh!.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Instala plugins para Zsh.

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Adiciona plugins em .zshrc.

sed -i 's/^plugins=\(.*\)/plugins=(\n  git\n  zsh-syntax-highlighting\n  zsh-autosuggestions\n  )/g' ~/.zshrc

Opcionalmente você pode adicionar zsh-syntax-highlighting e zsh-autosuggestions em plugins=() de .zshrc.


Adiciona alguns aliases em .zshrc.

echo -e '\n# MY ALIASES' >> ~/.zshrc
echo 'alias ls="exa --icons -1' >> ~/.zshrc
echo 'alias ll="exa --icons --tree --level=2"' >> ~/.zshrc
echo 'alias vim="TERM=tmux nvim"' >> ~/.zshrc
echo 'alias penv='source $(poetry env info --path)/bin/activate'' >> ~/.zshrc

Instala Starship.

curl -sS https://starship.rs/install.sh | sh
echo -e '\n# Starship init' >> ~/.zshrc
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

Primeiro criamos o arquivo de configuração do Starship.

mkdir -p ~/.config
touch ~/.config/starship.toml

Copie o conteúdo de starship.toml para esse arquivo de mesmo nome.


Pacotes de dependencias Python para desenvolvimento.

sudo apt install -y aria2 blt-dev build-essential \
checkinstall gettext libbz2-dev libc6-dev libffi-dev \
libgdbm-dev liblzma-dev liblzma-doc libncurses5-dev \
libncursesw5-dev libnss3-dev libnss3-tools libpq-dev \
libreadline-dev libsqlite3-dev libssl-dev llvm lzma \
python3-dev python3-pip python3-venv tcl-dev tk-dev \
xz-utils zlib1g-dev -y

Atualiza PIP.

pip install --upgrade pip

Instala PIPX.

sudo apt install pipx -y

Instala Rust.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Instala Git Credential Manager.

GCM_VERSION=$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v$GCM_VERSION/gcm-linux_amd64.$GCM_VERSION.deb
GCM_FILE=$(find gcm*)
sudo dpkg -i $GCM_FILE
git-credential-manager configure

Configuração do Git.

git config --global user.name "[email protected]"
git config --global user.email "Wilson XXXXX"
git config --global core.editor nvim
git config --global credential.credentialStore cache
git config --global credential.cacheOptions "--timeout 7200"

Instala pacote GitHub.

sudo apt install gh -y
gh auth login

Instala Neovim.

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
sudo mv nvim.appimage /usr/local/bin/nvim

Pacotes adicionais em Rust.

cargo install ripgrep
cargo install exa
cargo install fd-find
cargo install bat

Instala LazyGit.

mkdir -p ~/.stuff
cd ~/.stuff
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin

Instala Pyenv.

curl https://pyenv.run | bash
echo '' >> ~/.zshrc
echo '# PYENV' >> ~/.zshrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Instala Poetry.

pipx install poetry

Adiciona PIPX ao PATH.

pipx ensurepath

Instala a versão mais recente do nvm.

NVM_VERSION=$(curl -s "https://api.github.com/repos/nvm-sh/nvm/releases/latest" | grep -Po '"tag_name": "\K[^"]*')
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash

Instala o Node mais recente.

nvm install node

Instala Tmux e Oh-My-Tmux!

git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

br/>

Instala fzf.

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

br/>

Para customizar o fzf, coloque no .zshrc:

export FZF_CTRL_T_OPTS="
  --walker-skip .git,node_modules,target
  --preview 'bat -n --color=always --line-range :500 {}'
  --bind 'ctrl-/:change-preview-window(down|hidden|)'"

export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4'

Releases

No releases published

Packages

No packages published