Este repositório contém meus arquivos de configuração (dotfiles) para o ambiente Linux, gerenciados com GNU Stow.
.
├── aliases/ → ~/.aliases
├── dbeaver/ → configurações do DBeaver
├── git/ → ~/.gitconfig
├── ohmyposh/ → ~/.config/ohmyposh/.zen.toml
├── positron/ → configurações do Positron
├── rss/ → feeds em formato OPML
├── scripts/ → scripts auxiliares
├── tmux/ → ~/.tmux.conf
├── zsh/ → ~/.zshrc
├── bootstrap.sh
└── README.mdRecomenda-se sempre fazer backup dos arquivos existes antes de aplicar os dotfiles.
- Remover arquivos antigos (se necessário)
rm ~/.aliases ~/.gitconfig ~/.config/ohmyposh/.zen.toml ~/.tmux.conf ~/.zshrc # [...]- Clonar o repositório
git clone git@github.com:marcelohfonseca/dotfiles.git ~/.dotfiles
cd ~/.dotfiles- Instalar o GNU Stow
sudo apt update && sudo apt install stow -y- Aplicar os dotfiles
./bootstrap.shO GNU Stow cria links simbólicos (symlinks) da sua $HOME para os arquivos dentro do repositório.
Exemplo:
~/.zshrc → ~/.dotfiles/zsh/.zshrcOu seja:
- Você edita os arquivos dentro de
~/.dotfiles - O sistema usa eles como se estivessem na
$HOME
Cada diretório dentro do repositório representa um pacote independente.
stow zsh
stow gitEvite usar
stow ., pois isso pode causar conflitos (principalmente com.config).
Se adicionar novos arquivos em algum pacote:
stow -R <pacote>Exemplo:
stow -R zsh
stow -D <pacote>
- A estrutura de cada pacote deve espelhar o destino na
$HOME - Apenas parte da
.configé versionada (evitando conflitos, no meu caso) - O DBeaver utiliza um caminho customizado (
~/.local/share/DBeaverData/workspace6/.metadata/.plugins/org.eclipse.core.runtime/.settings/...) - O Positron também utiliza caminho customizado (
~/.config/Positron/User/...)