Prefiro maximizar o controle do meu sistema sempre que possível. As principais prioridades da minha área de trabalho do Linux incluem acessibilidade, facilidade de uso, reprodutibilidade e estabilidade.
E por falar em controle, percebi que deveria começar a documentar meus processos. Quero dizer, quem sabe, minha sabedoria pode ficar um metro e meio de baixo para mim, e eu tenho um monte de know-how escondido nesse meu cérebro meu. Além disso, você sabe o que eles dizem sobre externismo ativo - trata -se de garantir que seu conhecimento não termine com você.
Eu experimentei ferramentas diferentes ao longo do tempo, desde scripts de shell, makefiles, Ansible/Puppet/Chef (confira as tags git) para aplicar e sincronizar a configuração. Mas à medida que o sistema evolui, as coisas tendem a se deteriorar e tudo se torna uma bagunça gigante.
O NIX parece resolver esses problemas, embora de maneira extrema - menos conveniente e sensível, mas bastante eficaz - priorizando a correção em vez da flexibilidade. Mais importante ainda, a reprodutibilidade dos guarda -sobrante, o que significa que eu posso sentar e relaxar; Se algo funcionou, continuará trabalhando a menos que mude.
Antes de qualquer coisa, você pode ver minha configuração em:
Além disso, descrevi nix extensivamente em minhas anotações aqui.
Este é o repositório raiz da minha configuração do sistema Linux, gerenciada pelo Nix Flake.
Eu usei principalmente o gerente doméstico com Lib de queda de neve para instalação e configuração da maioria dos pacotes. Para material nativo (exibir drivers / virtualização que requer integrações de kernel DKMS / gerenciamento de serviços), usei o Puppet RAL.
Portanto, na maioria dos casos, essa configuração deve ser aplicável a uma ampla variedade de distritos, incluindo vários gerentes de serviço (Systemd/Runit/OpenRC/etc).
JustFile tem as seguintes receitas configuradas.
just --list --unsorted Receitas disponíveis:
construir
punção a seco
trocar
Gerinações de lista
TreeView arg = '.' # Mostra o TreeView da determinada pasta (também usada na geração de leitura)
nvFetcher # Atualize todas as dependências em nvFetcher.toml
Bundix # Atualize todas as jóias em pacotes/**
O comando principal que você deve se lembrar é,
just switch && stow -t $HOME stow/ TODO: Document stow Pasta
Autogenerado executando Cc Cv b em EMACS. Certifique -se de carregar o módulo Shell, se não o fizer.
casas
└── x86_64-linux
└── Animesh@Framework
└── default.nix
Minha configuração principal está em homes/x86_64-linux/animesh@framework/default.nix.
módulos
└── Home
├─IC APPS
│ └── Brave
│ └── Padrão.nix
├── cli
│ ├── Bat
│ │ └── Padrão.nix
│ ├── Peixe
│ │ ├── Padrão.nix
│ │ └── funções.nix
│ ├── Git
│ │ └── Padrão.nix
│ ├── inxi
│ │ └── Padrão.nix
│ ├── Just
│ │ └── Padrão.nix
│ ├── Kitty
│ │ └── Padrão.nix
│ ├── nix
│ │ ├── Padrão.nix
│ │ ├── Pin-inputs.nix
│ │ └── Setup-comma.nix
│ ├── Ranger
│ │ └── Padrão.nix
│ └── Starship
│ └── Padrão.nix
Desktop
│ ├── EWW
│ │ └── Padrão.nix
│ ├── fontes
│ │ └── Padrão.nix
│ ├── GTK
│ │ └── Padrão.nix
│ ├── Herbstluftwm
│ │ └── Padrão.nix
│ └── Xorg
│ └── Padrão.nix
Editores
│ ├── Emacs
│ │ └── Padrão.nix
│ └── NVIM
│ └── Padrão.nix
├── idiomas
│ ├── Android
│ │ └── Padrão.nix
│ ├ Fo. Vá
│ │ └── Padrão.nix
│ └── Ruby
│ └── Padrão.nix
├── Módulos
│ └── Puppet
│ ├── Padrão.nix
│ └── etc.nix
└── Sistema
├── Handler ACPI
│ └── Padrão.nix
├── AUTO-CPUFREQ
│ └── Padrão.nix
├── FSTRIM
│ └── Padrão.nix
└── sysctl
└── default.nix
pacotes
├── Emacs-Chdir
│ └── Padrão.nix
├── Emacs-Pcre
│ └── Padrão.nix
├── Fosfor-icons
│ └── Padrão.nix
└── Puppet
├── default.nix
└── gemset.nix
sobreposições
└── nvFetcher
└── default.nix
Para limpar as gerações mais antigas:
pushd ~ /.local/state/nix/profiles && ls | awk " !/ $( readlink home-manager ) / && /home-manager-/ " | xargs rm && popd
nix-collect-garbage --delete-old
nix store gc --debugÀs vezes, os arquivos MMAP impedem o GC, a reinicialização + a mesma coisa pode esclarecer ainda mais!
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
For more information, please refer to < http://unlicense.org/ >Agradecimentos especiais a eles, pois minha configuração foi extremamente inspirada por eles,