Ok, isso pode não ser uma questão muito concreta, e talvez esteja sujeita a gosto, mas estou lutando para acertar isso, então aqui vai.
Eu tenho um computador.
Este computador tem linux nele (graças a deus). Arch Linux para ser específico (com awesome
wm).
Eu sou o único usuário neste computador.
Quanto à boa prática, configurei dois usuários: o usuário root
e o usuário diário romeovs
user. Dessa forma, só uso permissões quando necessário (usando sudo
, por exemplo).
Ao longo dos anos, tenho trabalhado com meu pacote de software, adicionando um monte de aplicativos a este computador. Nota: vim
, git
, mpc
, mutt
, calcurse
, ufw
, ...
Agora aqui está o problema: qual dos arquivos de configuração desses aplicativos eu uso? Todos eles fornecem um arquivo de configuração /etc
-based global , que afeta todos usuários, bem como local ~/.config
(ou , infelizmente, ~/
) opções de configuração.
Eu sempre trabalhei usando as configurações locais, porque isso parecia mais natural. Mas à medida que me familiarizo mais com o meu computador, sinto que isso de alguma forma não tem elegância. Os contra desta abordagem são:
-
dicrepância ao alternar para root
user, mesmo com sudo
(por exemplo, ao usar vim
)
-
nem sempre funciona, por exemplo ao carregar deamons do arco linux DEAMONS
array eles são executados pelo usuário root
e, portanto, não selecionam as configurações do usuário local.
-
desordem do diretório principal $HOME
. Infelizmente, existem muito poucos aplicativos que aderem à filosofia $XDG_CONFIG_HOME
.
Os benefícios são:
-
o material é local, o que parece mais nas linhas da divisão de permissões entre root
e romeovs
.
-
acesso rápido e fácil aos arquivos. não é necessário sudo
para editá-las.
-
mais fácil para git
de rastreamento dos arquivos de configuração.
-
de alguma forma se sente mais seguro: um usuário pode estragar tudo sem mexer nas configurações globais da máquina.
-
é mais "-pack-update-may-overwite-my-config" -proof
Vamos começar:
What is the de-facto standard to split configuration on a single user machine, especially for the system maintainer (single-user)?