Weekly Shaarli
Week 25 (June 21, 2021)
Deux-trois remarques par rapport à NixOS.
La configuration du système complet se fait via un seul fichier texte (/etc/nixos/configuration.nix
) et qui spécifie l'ensemble des services, paquets, utilisateurs et comportements. Par exemple, pour avoir un utilisateur dans sudo, whell, networkmanager, gnome, ... on a un petit fichier d'une centaine de lignes (pratiquement auto-généré), qui peut être mis en conf' (Git, tout ça...).
Le deuxième niveau, c'est l'isolation utilisateur. En tant que non-root, je peux installer tout ce qui est dispo dans les dépôts.
Si un binaire n'existe pas, les sources sont généralement dispos. Elles sont ensuite placées dans un store (/nix/store/...
) et le système continue à vivre sa vie grâce à des liens symboliques :-) Par exemple:
[fred@nixos:~]$ nix-env --install vscodium
replacing old 'vscodium-1.56.2'
installing 'vscodium-1.56.2'
building '/nix/store/562hzi24sijm8vvl5h4w69lxk15nmzhm-user-environment.drv'...
created 54 symlinks in user environment
Le dernier niveau, c'est l'isolation dans un shell kleenex. Une fois que le shell est détruit, toutes dépendances le sont également. Une forme d'environnement disposable ;-)
[fred@nixos:~]$ python --version
python: command not found
[fred@nixos:~]$ nix-shell -p python310
[nix-shell:~]$ python --version
Python 3.10.0a5
[nix-shell:~]$ exit
exit
[fred@nixos:~]$ python --version
python: command not found
A collection of modern/faster/saner alternatives to common unix commands. - ibraheemdev/modern-unix
NixOS has a declarative configuration model: you create or edit a description of the desired configuration of your system, and then NixOS takes care of making it happen.
Mon prochain jouet 🥳
Mais enfin…
Deux trucs intéressants: la loi cobra et la loi de Goodhart.