Ich bevorzuge es, die Kontrolle über mein System zu maximieren, wann immer möglich. Zu den oberen Prioritäten für meinen Linux -Desktop gehören die Zugänglichkeit, Benutzerfreundlichkeit, Reproduzierbarkeit und Stabilität.
Und wenn ich von Kontrolle sprach, habe ich festgestellt, dass ich meine Prozesse dokumentieren sollte. Ich meine, wer weiß, meine Weisheit könnte nur sechs Fuß unter mir gehen, und ich habe eine Bootsladung Know-how in meinem Gehirn von mir versteckt. Außerdem wissen Sie, was sie über den aktiven Externalismus sagen - es geht darum, sicherzustellen, dass Ihr Wissen nicht mit Ihnen endet.
Ich habe im Laufe der Zeit mit verschiedenen Tools experimentiert, von Shell -Skripten, Makefiles, Ansible/Puppet/Chef (siehe GIT -Tags), um die Konfiguration durchzusetzen und zu synchronisieren. Aber wenn sich das System weiterentwickelt, verschlechtert sich die Dinge und alles wird zu einem riesigen Chaos.
Nix scheint diese Probleme zu lösen, wenn auch in extremer Weise weniger bequem und sinnvoll, aber sehr effektiv -, die Richtigkeit vor Flexibilität zu priorisieren. Am wichtigsten ist, dass es die Reproduzierbarkeit garantiert, was bedeutet, dass ich mich zurücklehnen und entspannen kann. Wenn etwas funktioniert hat, wird es weiter funktionieren, wenn es nicht geändert wird.
Vor irgendetwas können Sie meine Konfiguration anzeigen unter:
Zusätzlich habe ich NIX in meinen Notizen hier ausführlich beschrieben.
Dies ist Root -Repository für meine Linux -Systemkonfiguration, die von Nix Flake verwaltet wird.
Ich habe hauptsächlich Home-Manager mit Schneefall-Lib für die Installation und Konfiguration der meisten Pakete verwendet. Für native Dinge (Display -Treiber / Virtualisierung, für die DKMS -Kernel -Integrationen / Service -Management erforderlich ist) habe ich Puppet Ral verwendet.
In den meisten Fällen sollte diese Konfiguration anwendbar sein, um eine Vielzahl von Distributionen anzupassen, einschließlich verschiedener Servicemanager (Systemd/Runit/OpenRC/etc).
JustFile hat folgende Rezepte eingerichtet.
just --list --unsorted Verfügbare Rezepte:
bauen
trockener
schalten
Listengenerationen
TreeView arg = '.' # Zeigt TreeView des angegebenen Ordners (auch in der Generierung von Readme verwendet)
nvfetcher # Aktualisieren Sie alle Abhängigkeiten in nvfetcher.toml
Bundix # Aktualisieren Sie alle Edelsteine in Paketen/**
Hauptbefehl, an die Sie sich erinnern sollten, ist,
just switch && stow -t $HOME stow/ TODO: Dokument stow Ordner
Autogeneriert durch Ausführen Cc Cv b in EMACs. Stellen Sie sicher, dass Sie das Shell -Modul laden, wenn Sie es nicht getan haben.
Häuser
└── x86_64-linux
└── Animesh@Framework
└── Standard.nix
Meine primäre Konfiguration ist bei homes/x86_64-linux/animesh@framework/default.nix.
Module
└── Zuhause
├── Apps
│ └── mutig
│ └── Standard.nix
├── cli
│ ├── Fledermaus
│ │ └── Standard.nix
│ ├── Fisch
│ │ ├── Standard.nix
│ │ └── Funktionen.nix
│ ├── Git
│ │ └── Standard.nix
│ ├── Inxi
│ │ └── Standard.nix
│ ├ ├── Gerade
│ │ └── Standard.nix
│ ├── Kitty
│ │ └── Standard.nix
│ ├── Nix
│ │ ├── Standard.nix
│ │ ├── Pin-Inputs.nix
│ │ └── Setup-comma.nix
│ ├── Ranger
│ │ └── Standard.nix
│ └º - Raumschiff
│ └── Standard.nix
├── Desktop
│ ├── EWW
│ │ └── Standard.nix
│ ├── Schriftarten
│ │ └── Standard.nix
│ ├── GTK
│ │ └── Standard.nix
│ ├── Herbstluftwm
│ │ └── Standard.nix
│ └── xorg
│ └── Standard.nix
├── Redakteure
│ ├── EMACs
│ │ └── Standard.nix
│ └── NVIM
│ └── Standard.nix
├── Sprachen
│ ├── Android
│ │ └── Standard.nix
│ ├── Gehen Sie
│ │ └── Standard.nix
│ └── Rubin
│ └── Standard.nix
├── Module
│ └── Puppe
│ ├── Standard.nix
│ └── usw. nix
└── System
├── ACPI-Handler
│ └── Standard.nix
├── Auto-CPUFREQ
│ └── Standard.nix
├── Fstrim
│ └── Standard.nix
└── sysctl
└── Standard.nix
Pakete
├── EMACS-CHDIR
│ └── Standard.nix
├── EMACS-PCRE
│ └── Standard.nix
├── Phosphor-ICons
│ └── Standard.nix
└── Puppe
├── Standard.nix
└── Gemset.nix
Overlays
└── nvfetcher
└── Standard.nix
Ältere Generationen aufräumen:
pushd ~ /.local/state/nix/profiles && ls | awk " !/ $( readlink home-manager ) / && /home-manager-/ " | xargs rm && popd
nix-collect-garbage --delete-old
nix store gc --debugManchmal verhindern MMAP -Dateien GC, neu starten + gleiche Sache kann noch mehr klären!
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/ >Besonderer Dank an diese, da meine Konfiguration von ihnen extrem inspiriert war.