dotfiles (Português)
Este artigo coleta repositórios de usuários com arquivos de configuração personalizados, comumente conhecidos como dotfiles (que poderia ser traduzido como "arquivos-ponto").
Contents
Controle de versão
A gerência de dotfiles com sistemas de controle de versão, como o Git, ajuda a acompanhar as alterações, compartilhar com outras pessoas e sincronizar os dotfiles entre vários hosts.
Usando gitignore
Manter um diretório git dentro da pasta home permite acompanhar diretamente as alterações. Recomenda-se adicionar seletivamente o conteúdo do arquivo ao índice com git-add(1).
Para evitar arquivos não rastreados (aparecerem em commits e removidos por git-clean(1)), primeiro exclua todos os arquivos com gitignore(5):
~/.git/info/exclude
*
Então, use git add -f
, por exemplo:
$ git add -f ~/.config/*
e faça commit as alterações com git-commit(1):
$ git commit -a
Outras ferramentas
- dotdrop — Uma ferramenta para gerenciar diferentes versões de seus dotfiles em hosts diferentes.
- dotfiles — Uma ferramenta para facilitar o gerenciamento de links simbólicos para seus dotfiles em $HOME, permitindo que você mantenha todos eles em um único diretório.
- dotgit — Uma solução abrangente para gerenciar seus dotfiles.
- dots — Uma ferramenta portátil para gerenciar um único conjunto de dotfiles de forma organizada.
- etckeeper — Destinado a configuração de todo o sistema de controle de versão no /etc. Funciona mantendo o controle de permissões e modos que o software de controle de versão geralmente ignora. Pode usar vários sistemas SCM como backend. Hooks podem autoconfirmar alterações no repositório antes de uma atualização do sistema.
- GNU Stow — Pode ser usado para fazer um link simbólico para dotfiles de um repositório para a árvore $HOME. Consulte [1] para mais informações.
- homeshick — Sincronizador de dotfiles git escrito em bash.
- homesick — Seu diretório home é seu castelo. Não deixe seus dotfiles para trás.
- mackup — Um pequeno utilitário Python para manter as configurações do seu aplicativo em sincronia.
- Pearl — Gerenciador de pacotes para dotfiles, plugins, programas e qualquer forma de código acessível via git. Permite compartilhar e sincronizar pacotes facilmente através de sistemas e tê-los prontos para usar com facilidade.
- rcm — Pode ser usado para fazer link simbólicos para dotfiles de um repositório para árvore $HOME.
- vcsh — Permite a separação de módulos diferentes (por exemplo, configuração do Emacs vs. configuração de zsh) em repositórios individuais que podem ser mantidos separadamente, ao contrário de manter todos os arquivos de pontos em um único repositório. Funciona apenas com o git.
- yadm — Gerencia arquivos em sistemas usando um único repositório Git. Fornece uma maneira de usar arquivos alternativos em um sistema operacional ou host específico. Fornece um método de criptografar dados confidenciais para que possa ser armazenado com segurança em seu repositório.
Mantendo dotfiles em várias máquinas
Uma forma de manter os dotfiles em várias máquinas em vários hosts, permitindo a personalização por host, é manter um ramo mestre para toda a configuração compartilhada, enquanto cada máquina individual possui uma ramificação específica da máquina com check-out. A configuração específica do host pode ser confirmada na ramificação específica da máquina; como a configuração compartilhada é adicionada ao ramo mestre, as ramos por máquina são então rebaseados no mestre atualizado.
Outra abordagem é colocar configuração específica de máquina em blocos comentados especialmente para usar qualia para descomentá-los automaticamente cada um. Essa abordagem requer um trabalho menos manual e não causa conflitos de mesclagem.
Informação confidencial
Ocasionalmente, o software pode manter senhas de texto simples em arquivos de configuração, em vez de depender de um chaveiro. Nesses casos, git sem qualquer filtro pode ser útil para evitar o commit acidental de informações confidenciais. Por exemplo, o arquivo a seguir atribui um filtro ao arquivo "some-dotfile":
.gitattributes
some-dotfile filter=remove-pass
Sempre que o arquivo "some-dotfile" verificado pelo git, o git invocará o filtro "remove-pass" no arquivo antes de ser verificado. O filtro deve ser definido no arquivo de configuração do git, p. ex.:
.git/config
[filter "remove-pass"] clean = "sed -e 's/^password=.*/#password=TODO/'"
Repositórios
Autor | Shell (estrutura de shell) |
WM / DE | Editor | Terminal | Multiplexador | Áudio | Monitor | IRC | |
---|---|---|---|---|---|---|---|---|---|
alfunx | zsh | awesome | vim | kitty | tmux | ncmpcpp/mpd | htop/lain | thunderbird | |
Ambrevar | zsh | awesome | emacs | rxvt-unicode | cmus | htop/vicious | mutt | ||
awal | fish | i3 | vim | st | tmux | i3status | The Lounge | ||
ayekat | zsh | karuiwm | vim | rxvt-unicode | tmux | ncmpcpp/mpd | karuibar | mutt | irssi |
bamos | zsh | i3/xmonad | vim/emacs | rxvt-unicode | tmux | mpv/cmus | conky/xmobar | mutt | ERC |
brisbin33 | zsh | xmonad | vim | rxvt-unicode | screen | dzen | mutt | irssi | |
cinelli | zsh | dwm | vim | termite-git | pianobar | htop | mutt-kz | weechat | |
dikiaap | zsh | i3-gaps | neovim | kitty | i3blocks | ||||
Earnestly | zsh | i3/orbment | vim/emacs | termite | tmux | mpd | conky | mutt | weechat |
ErikBjare | zsh | xmonad/xfce4 | vim | terminator | tmux | xfce4-panel | weechat | ||
falconindy | bash | i3 | vim | rxvt-unicode | ncmpcpp | conky | mutt | ||
graysky | zsh | xfce4 | vim | terminal | ncmpcpp | personalizado | thunderbird | ||
hugdru | zsh | awesome | neovim | rxvt-unicode | tmux | thunderbird | weechat | ||
insanum | bash | herbstluftwm | vim | evilvte | tmux | dzen | mutt-kz | ||
jasonwryan | bash/zsh | dwm | vim | rxvt-unicode | tmux | ncmpcpp | personalizado | mutt | irrsi |
jdevlieghere | zsh | xmonad | vim | terminal | tmux | htop | mutt | weechat | |
jelly | zsh | i3 | vim | termite | tmux | ncmpcpp | mutt-kz-git | weechat | |
maximbaz | zsh | i3-gaps | neovim | alacritty | tmux | py3status | thunderbird | ||
meskarune | bash | herbstluftwm | vim | rxvt-unicode | screen | conky | weechat | ||
neersighted | zsh | i3 | vim | rxvt-unicode | tmux | ncmpcpp | htop | mutt | irssi |
OK100 | bash | dwm | vim | rxvt-unicode | cmus | conky, dzen | mutt | weechat | |
reisub0 | bash | awesome | neovim | termite | mpd | conky | |||
sistematico | zsh/fish/bash | i3 Gaps | vim/nano | termite | tmux | ncmpcpp | polybar | mutt | weechat |
sitilge | zsh | awesome | neovim | termite | thunderbird | ||||
swalladge | zsh/bash | i3 | neovim/vim | termite | tmux | cmus | i3pystatus | mutt | |
SyfiMalik | zsh | i3 | vim | rxvt-unicode | tmux | mpd/ncmpcpp | polybar | mutt | weechat |
thiagowfx | bash/zsh | i3 | vim/emacs | rxvt-unicode | ncmpcpp | i3blocks | |||
unexist | zsh | subtle | vim | rxvt-unicode | ncmpcpp | mutt | irssi | ||
vodik | zsh | xmonad | vim | termite-git | tmux | ncmpcpp | personalizado | mutt | weechat |
w0ng | zsh | dwm | vim | rxvt-unicode | tmux | ncmpcpp | personalizado | mutt | irssi |
whitelynx | fish | i3 | neovim | kitty | i3pystatus | ||||
Wintervenom | bash | herbstluftwm | vim | rxvt-unicode | screen | mpd (mpc-utils) | hlwm-dzen2 | mutt | weechat |
wolfcore | bash | dwm | vim | rxvt-unicode | tmux | cmus | personalizado | weechat | |
zendeavor | zsh | i3 | vim | rxvt-unicode | tmux | ncmpcpp | i3status | weechat |
Veja também
- gregswiki:DotFiles
- XMonad Config Archive
- dotshare.it
- dotfiles.github.io
- terminal.sexy -Designer de esquema de cores do terminal