Differenze tra le versioni di "Appunti NixOS"

Da GolemWiki.
Jump to navigation Jump to search
Riga 4: Riga 4:
 
Una delle caratteristiche principali di Nix e NixOS è la possibilità di effettuare rollback degli aggiornamenti. Questo significa che è possibile tornare a una versione precedente del sistema in caso di problemi o incompatibilità con le nuove versioni. Inoltre, grazie alla gestione dichiarativa dei pacchetti, è possibile condividere facilmente le configurazioni del sistema con altri utenti, rendendo semplice la collaborazione e la riproducibilità dell'ambiente.
 
Una delle caratteristiche principali di Nix e NixOS è la possibilità di effettuare rollback degli aggiornamenti. Questo significa che è possibile tornare a una versione precedente del sistema in caso di problemi o incompatibilità con le nuove versioni. Inoltre, grazie alla gestione dichiarativa dei pacchetti, è possibile condividere facilmente le configurazioni del sistema con altri utenti, rendendo semplice la collaborazione e la riproducibilità dell'ambiente.
  
 
+
= Link utili =
== Link utili ==
 
 
* [https://nixos.org/nixos/packages.html Ricerca pacchetti]
 
* [https://nixos.org/nixos/packages.html Ricerca pacchetti]
 
* [https://nixos.wiki/wiki/Cheatsheet Nix Cheatsheet] (''apt'' vs ''nix'')
 
* [https://nixos.wiki/wiki/Cheatsheet Nix Cheatsheet] (''apt'' vs ''nix'')
Riga 36: Riga 35:
 
  nix-prefetch-url url_del_file_da_scaricare/pacchetto.tgz
 
  nix-prefetch-url url_del_file_da_scaricare/pacchetto.tgz
  
 +
= Polikit =
 +
Con l'ambiente Plasma troviamo attivo polkit che però chiede la password dell'utente per effettuare operazioni innocue come l'utilizzo del programma xsane anche se l'utente fa parte del gruppo scanner. Per ovviare a questo problema si può aggiungere quanto segue al file <code>/etc/nixos/configuration.nix</code>
 +
security.polkit.extraConfig = ''
 +
  polkit.addRule(function(action, subject) {
 +
    if (subject.isInGroup("scanner")) {
 +
      return polkit.Result.YES;
 +
    }  }); '';
 +
 +
= Sudo =
 +
Per poter utilizzare il comando <code>sudo</code> un utente deve far parte del gruppo '''wheel'', però affinché possa eseguire il comando senza che il sistema chieda la password occorrerà effettuare questa modifica al <code>/etc/nixos/configuration.nix</code>
 +
security.sudo.wheelNeedsPassword = false;
  
  
 
[[Category: Howto]]
 
[[Category: Howto]]

Versione delle 15:04, 7 mag 2023

Introduzione

NixOS è una distribuzione Linux basata sul gestore di pacchetti Nix che, a differenza dei tradizionali gestori di pacchetti, offre un approccio cosiddetto funzionale e dichiarativo. Nix permette infatti di creare ambienti isolati e indipendenti (installa i programmi in directory il cui nome viene generato univocamente tramite un hash crittografico) dove tutti i pacchetti e le rispettive dipendenze sono gestiti in modo sicuro e riproducibile. È anche possibile installare diverse versioni di un pacchetto senza che entrino in conflitto tra loro o con il sistema host.

Una delle caratteristiche principali di Nix e NixOS è la possibilità di effettuare rollback degli aggiornamenti. Questo significa che è possibile tornare a una versione precedente del sistema in caso di problemi o incompatibilità con le nuove versioni. Inoltre, grazie alla gestione dichiarativa dei pacchetti, è possibile condividere facilmente le configurazioni del sistema con altri utenti, rendendo semplice la collaborazione e la riproducibilità dell'ambiente.

Link utili

Comandi comuni

Cercare un pacchetto

nix-env -aqP | grep <package>

Si consiglia di configurare un alias su .bashrc del tipo alias nix-search='nix-env -qaP | grep'

Installare un pacchetto

nix-env --install <package>

Provare un pacchetto senza installarlo

nix-shell -p <package>

«Disinstallare» un pacchetto (in realtà rimuove solo il link)

nix-env --uninstall <package>

Eliminare le vecchie versioni dei pacchetti (compresi i pacchetti che non hanno più un link)

nix-collect-garbage -d

Aggiornare la lista dei repository

nix-channel --update

Aggiornare tutti i pacchetti

nix-env --upgrade

Calcolare l'hash di un file

nix-prefetch-url url_del_file_da_scaricare/pacchetto.tgz

Polikit

Con l'ambiente Plasma troviamo attivo polkit che però chiede la password dell'utente per effettuare operazioni innocue come l'utilizzo del programma xsane anche se l'utente fa parte del gruppo scanner. Per ovviare a questo problema si può aggiungere quanto segue al file /etc/nixos/configuration.nix

security.polkit.extraConfig = 
 polkit.addRule(function(action, subject) {
   if (subject.isInGroup("scanner")) {
     return polkit.Result.YES;
   }  }); ;

Sudo

Per poter utilizzare il comando sudo un utente deve far parte del gruppo 'wheel, però affinché possa eseguire il comando senza che il sistema chieda la password occorrerà effettuare questa modifica al /etc/nixos/configuration.nix

security.sudo.wheelNeedsPassword = false;