DEV Community

Paulo Victor for Devhat

Posted on

Dicas e configurações para seu sistema linux

Fala meu consagrado, quando eu comecei a minha jornada no linux não tinha ninguém para me ajudar e dar dicas de ferramentas para usar no meu terminal e melhorar minha usabilidade, por isso esse guia extra existe, ele ainda faz parte da jornada de configuração do linux, mas é algo bem extra espero que essas dicas possam te ajudar

Comandos de Terminal

Se você não tem muita experiencia com terminal ou nunca usou um linux na vida, vale a pena ver esse artigo e dar um confere em alguns dos comandos que vão te acompanhar pelo dia a dia no linux

Terminal mais bonito

Powerlevel10k é um plugin para o shell zsh que te da uma liberdade de personalizar o seu terminal e deixar ele a sua cara

Antes de começar esse processo recomendo fortemente instalar e configurar alguma fonte de sua preferencia do nerdfonts, para suportar os ícones do github

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Enter fullscreen mode Exit fullscreen mode

Substitua o tema que está no .zshrc pelo powerlevel10k/powerlevel10k e deve ficar assim:

Restarte o seu terminal e ele aparecerá assim, conclua os passos de acordo com seu gosto

Image description

Caso queira saber mais sobre o powerlevel10k clique aqui

Alias git

Alguns comando do git pode ser repetitivos e "grandes" caso queira "otimizar" seu digitar de comandos existem esses alias a seguir, é importante que você customize eles ao seu gosto e necessidade

alias g=git
alias ga='git add'
alias gb='git branch'
alias gc='git commit --verbose'
alias gd='git diff'
alias gf='git fetch'
alias gg='git gui citool'
alias gl='git pull'
alias gm='git merge'
alias gp='git push'
alias gr='git remote'
Enter fullscreen mode Exit fullscreen mode

Alias parar execução de um contêiner

Esse comando para os contêineres em execução automaticamente sem destruir, a fim de preservar recursos do seu pc, é só adicionar ele no .zshrc e bau bau

alias docker-down='docker stop $(docker ps -a -q)'
Enter fullscreen mode Exit fullscreen mode

Transferir wsl para outro disco

As vezes temos um ambiente de dev todo configurado e queremos transferir ele para outro pc, esse guia abaixo vai te ajudar com isso.

Lazygit

Uma interface gráfica para o git no terminal que pode te ajudar a identificar branchs, fazer cherrypick e até rebase

O passo a passo a seguir será para a instalação no UBUNTU, caso queria instalar de outra forma, ou em outro ambiente linux, clique aqui

Rode o seguinte comando no terminal:

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
Enter fullscreen mode Exit fullscreen mode

Após a instalação resete se terminal e use o comando lazygit no seu terminal quando tiver dentro de um repositório q tem git e ele ficará assim:

Image description

Para saber mais sobre os comandos do lazygit, clique aqui

Lazydocker

Dos mesmos criadores de lazygit temos o lazydocker, que tem o intuito de ser uma interface gráfica para o docker no seu terminal, muito útil para ver algum log ou se existe algum container que persistiu, deletar volumes facilmente e outras funcionalidades

Podemos instalar o programa usando o asdf que deixa tudo bem mais fácil, rode os seguintes comandos no terminal caso tenha o asdf instalado:

asdf plugin add lazydocker https://github.com/comdotlinux/asdf-lazydocker.git
asdf list all lazydocker
asdf install lazydocker latest
asdf global lazydocker latest
echo "alias lzd='lazydocker'" >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Após instalar no terminal rode o comando lazydocker e ele ficará assim:

Image description

Para saber mais sobre os comandos do lazydocker, clique aqui

Melhor visualização do git log

Esse é um alias de uma visualização de git log, para o git, com ela será possível se orientar de maneira mais fácil, clique aqui, cole o comando da 1 opção no linux e quando você digitar git lg a sua visualização de commits vai ficar mais limpa e direta.

Definição automática de remote push git

O seguinte comando faz uma magica para setar automaticamente o caminho certo do seu push no git, é uma mão na roda, um oferecimento do Andre

git config --global push.default current
git config --global push.autoSetupRemote true
Enter fullscreen mode Exit fullscreen mode

Definição automática da versão pelo nvm

O @alvarofg conseguiu um script que ativa a versão automatica do node a partir de um nvm assim que se entra em um projeto

# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
  local node_version="$(nvm version)"
  local nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install
    elif [ "$nvmrc_node_version" != "$node_version" ]; then
      nvm use
    fi
  elif [ "$node_version" != "$(nvm version default)" ]; then
    echo "Reverting to nvm default version"
    nvm use default
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
Enter fullscreen mode Exit fullscreen mode

E essa foram algumas das dicas e configurações para seu sistema linux, espero que tenha sido útil, bom código e não se esqueça de seguir nossas redes sociais.

Top comments (2)

Collapse
 
matheuswebp profile image
Matheus Melo

Ótimo guia!

Collapse
 
alvarogfn profile image
Alvaro Guimarães

massa