Je préfère maximiser le contrôle sur mon système chaque fois que possible. Les priorités supérieures pour mon bureau Linux comprennent l'accessibilité, la facilité d'utilisation, la reproductibilité et la stabilité.
Et en parlant de contrôle, j'ai réalisé que je devrais commencer à documenter mes processus. Je veux dire, qui sait, ma sagesse pourrait bien passer à six pieds avec moi, et j'ai une cargaison de savoir-faire cachée dans ce cerveau à moi. De plus, vous savez ce qu'ils disent de l'externalisme actif - il s'agit de s'assurer que vos connaissances ne se terminent pas avec vous.
J'ai expérimenté différents outils au fil du temps allant des scripts de shell, des makefiles, anible / marionnet / chef (consultez les balises Git) afin d'appliquer et de synchroniser la configuration. Mais à mesure que le système évolue, les choses ont tendance à se détériorer et tout devient un gâchis géant.
Nix semble s'attaquer à ces problèmes, bien que d'une manière extrême - moins pratique et sensée, mais assez efficace - de prioriser l'exactitude sur la flexibilité. Plus important encore, il garantit la reproductibilité, ce qui signifie que je peux m'asseoir et me détendre; Si quelque chose fonctionnait, cela continuera de fonctionner à moins de changer.
Avant quoi que ce soit, vous pouvez afficher ma configuration à:
De plus, j'ai décrit beaucoup Nix dans mes notes ici.
Il s'agit du référentiel racine à ma configuration du système Linux, géré par Nix Flake.
J'ai principalement utilisé le manager à domicile avec des chutes de neige pour l'installation et la configuration de la plupart des packages. Pour les trucs natifs (affichage des pilotes / virtualisation qui nécessitent des intégrations de noyau DKMS / Gestion des services), j'ai utilisé Puppet Ral.
Ainsi, dans la plupart des cas, cette configuration doit être applicable à s'adapter à une grande variété de distributions, y compris divers gestionnaires de services (systemd / runit / openrc / etc).
JustFile a la configuration des recettes suivantes.
just --list --unsorted Recettes disponibles:
construire
à sec
changer
Générations de liste
TreeView Arg = '.' # Montre TreeView du dossier donné (également utilisé dans la génération de Readme)
nvfetcher # Mettez à jour toutes les dépendances dans nvfetcher.toml
Bundix # Mettez à jour tous les gemmes dans les packages / **
Commande principale dont vous devez vous rappeler est,
just switch && stow -t $HOME stow/ TODO: dossier Document stow
Autogénéré en fonctionnant Cc Cv b dans EMACS. Assurez-vous de charger le module shell si vous ne l'avez pas fait.
maisons
└fiques x86_64-linux
Framework └fique
└fiques par défaut.nix
Ma configuration principale est à Homes/X86_64-Linux/animesh@framework/default.nix.
modules
└fiques
├til applications
│ └fiques
│ └fiques par défaut.nix
├fiques
│ ├fiques
│ │ └fique
│ ├fiques
│ │ ├fique
│ │ └│fique
│ ├fiques
│ │ └fique
│ ├fique
│ │ └fique
│ ├fique
│ │ └fique
│ ├fique
│ │ └fique
│ ├fique
│ │ ├fique
│ │ ├fique
│ │ └fique
│ ├fiques
│ │ └fique
│ └fique
│ └fiques par défaut.nix
├fiques de bureau
│ ├fique
│ │ └fique
│ ├fiques
│ │ └fique
│ ├fiques
│ │ └fique
│ ├fique
│ │ └fique
│ └fiques
│ └fiques par défaut.nix
├til
│ ├fique
│ │ └fique
│ └fiques
│ └fiques par défaut.nix
├fiques
│ ├fique
│ │ └fique
│ ├fique
│ │ └fique
│ └fiques
│ └fiques par défaut.nix
├tiling modules
│ └fiques
│ ├fiques par défaut.nix
│ └fique
Système
├fiquesller ACPI
│ └fiques par défaut.nix
├fique
│ └fiques par défaut.nix
├fiques
│ └fiques par défaut.nix
└fiques
└fiques par défaut.nix
packages
├fiques Emacs-Chdir
│ └fiques par défaut.nix
├fiques EMACS-PCE
│ └fiques par défaut.nix
├fiques-Phosphor-Icons
│ └fiques par défaut.nix
└til
├fiques par défaut.nix
└fiques Gemset.nix
superpositions
└til nvfetcher
└fiques par défaut.nix
Pour nettoyer les générations plus anciennes:
pushd ~ /.local/state/nix/profiles && ls | awk " !/ $( readlink home-manager ) / && /home-manager-/ " | xargs rm && popd
nix-collect-garbage --delete-old
nix store gc --debugParfois, les fichiers MMAP empêchent GC, le redémarrage + la même chose peut encore plus clarifier!
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/ >Un merci spécial à ceux-ci car ma configuration a été extrêmement inspirée par eux,