Benutzer:PaulRiegel/NixOS: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Installation == * https://nixos.org/nixos/manual/#sec-installation === Oberfläche für die Installation === (mögliches) Tastenbelegung für die Kommand…“) |
(→24.05) |
||
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[category:Linux]] | |||
== Vorbetrachtung == | |||
* file:///nix/store/z6cwny3w3vpph61sn7f4g3jwyb1mknrd-nixos-manual/share/doc/nixos/index.html | |||
* https://nixos.wiki/wiki/NixOS_on_ZFS | |||
* https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.10-Root-on-ZFS | |||
== Installation == | == Installation == | ||
Zeile 17: | Zeile 24: | ||
snafu! Vielleicht passt was nicht mit dem Schreiben vom bootloader (standartmäßig zu bestimmen mit ''sda''). (Vielleicht kann das Verwenden von gparted (Werkzeug für die grafische Oberfläche) Fehler verursachen.) Notfalls halt einfach <code>fdisk</code> verwenden. (Das stellt beim Erstellen von ''sda1'' einen ausreichend großen freien Bereich (auf dem Hinterkopf 2048 freie Blöcke) für den standardmäßigen bootloader GRUB zur Verfügung.) | snafu! Vielleicht passt was nicht mit dem Schreiben vom bootloader (standartmäßig zu bestimmen mit ''sda''). (Vielleicht kann das Verwenden von gparted (Werkzeug für die grafische Oberfläche) Fehler verursachen.) Notfalls halt einfach <code>fdisk</code> verwenden. (Das stellt beim Erstellen von ''sda1'' einen ausreichend großen freien Bereich (auf dem Hinterkopf 2048 freie Blöcke) für den standardmäßigen bootloader GRUB zur Verfügung.) | ||
[[ | == Konfiguration == | ||
: <code>cat /etc/nixos/hardware-configuration.nix</code> | |||
:: am initial generierten Beispiel für ein [http://thinkwiki.de/Twist ThinkPad S230u] | |||
<pre> | |||
# Do not modify this file! It was generated by ‘nixos-generate-config’ | |||
# and may be overwritten by future invocations. Please make changes | |||
# to /etc/nixos/configuration.nix instead. | |||
{ config, lib, pkgs, ... }: | |||
{ | |||
imports = | |||
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> | |||
]; | |||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; | |||
boot.kernelModules = [ "kvm-intel" ]; | |||
boot.extraModulePackages = [ ]; | |||
fileSystems."/" = | |||
{ device = "/dev/disk/by-uuid/6ea468cb-1400-4629-90bd-ce8fc7fc664c"; | |||
fsType = "ext4"; | |||
}; | |||
swapDevices = [ ]; | |||
nix.maxJobs = lib.mkDefault 4; | |||
powerManagement.cpuFreqGovernor = "powersave"; | |||
} | |||
</pre> | |||
==== /etc/nixos/configuration.nix ==== | |||
: <code>cat /etc/nixos/configuration.nix</code> | |||
:: Das ist theoretisch. Praktisch ist die Datei mit wesentlich mehr, aber nicht zur Anwendung kommenden, Inhalt gefüllt | |||
<pre> | |||
{ config, pkgs, ... }: | |||
{ | |||
imports = | |||
[ | |||
./hardware-configuration.nix | |||
]; | |||
boot.loader.grub.enable = true; | |||
boot.loader.grub.version = 2; | |||
system.stateVersion = "17.03"; | |||
} | |||
</pre> | |||
===== Ort zum Booten für die Installation von GRUB ===== | |||
Während der [[#Installation]] ist mindestens das Eintragen von ''boot.loader.grub.device'' notwendig. | |||
: <code>$EDITOR /etc/nixos/configuration.nix</code> | |||
:: Es kann, wie in vielen Fällen, der erste Massenspeicher ''/dev/sda'' das Gerät zum Installieren sein. | |||
<pre> | |||
{ config, pkgs, ... }: | |||
{ | |||
imports = | |||
[ | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
]; | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
boot.loader.grub.device = "/dev/sda"; | |||
</pre> | |||
<pre> | |||
} | |||
</pre> | |||
===== Konfiguration für einen initiale grundlegende Oberfläche ===== | |||
: Es sollen die (nahezu frei gewälten) Komponenten für das erste weitere Arbeiten installiert sein. | |||
:* grafische Oberfläche | |||
:*: KDE (Plasma 5) | |||
:*:: In der durch [[NixOS]] generierten Datei ''/etc/nixos/configuration.nix'' ist (auskommentiert) Plasma 5 vorbereitet. | |||
:*:: Plasma 5 ist die Arbeitsoberfläche, welche für KDE (5) entwickelt und verwendet wird. | |||
:** Xorg | |||
:** Anmeldungsverwaltung | |||
:* (grafische) Netzwerkverwaltung | |||
:*: I.V.m. einer grafischen Oberfläche (etwa Plasma) gibt es dann einen Netzwerkverwaltung fürs "Klickibunti". | |||
:* einen Webbrowser | |||
:*: Firefox (aka Nightly) | |||
:*:: Eigentlich kann es auch jeder andere Webbrowser sein. | |||
:*:: Das Medium für die Installation (mit grafischer Oberfläche) verwendet auch diesen Webbrowser. | |||
:* (besonders netten) Texteditor für die grafische Oberfläche | |||
:*: kate | |||
:*:: Eigentlich braucht es keinen weiteren Texteditor. Standardmäßig wird bei Plasma der Texteditor ''kwrite'' mit bereitgestellt. | |||
: <code>$EDITOR /etc/nixos/configuration.nix</code> | |||
<pre> | |||
{ config, pkgs, ... }: | |||
{ | |||
imports = | |||
[ | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
]; | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
networking.networkmanager.enable = true; | |||
i18n = { | |||
consoleKeyMap = "de"; | |||
defaultLocale = "en_US.UTF-8"; | |||
#### defaultLocale = "de_DE.UTF-8"; | |||
#### #wenn es irgendwann der globalen Lokalisierung bedarf (Eigentlich will sowas doch kein Mensch, schon allein wegen der Suchen im www beim Debugging. Oder?) | |||
}; | |||
environment.systemPackages = with pkgs; [ | |||
kate | |||
firefox | |||
]; | |||
services.xserver.enable = true; | |||
services.xserver.layout = "de"; | |||
services.xserver.xkbOptions = "eurosign:e"; | |||
services.xserver.displayManager.sddm.enable = true; | |||
#### services.xserver.displayManager.slim.enable = false; | |||
#### #wenn nicht slim (als default von NixOS beim Betrieb von X), statt etwa sddm, starten soll | |||
services.xserver.desktopManager.plasma5.enable = true; | |||
</pre> | |||
<pre> | |||
} | |||
</pre> | |||
= 24.05 = | |||
==== Secure Boot ==== | |||
[[wikipedia:en:Secure Boot]] | |||
Aktuell gibt es keine (standardmäßige) Systematik. Daher wird Secure Boot nicht konfiguriert. Daher darf die Funktionalität Secure Boot beim Computer nicht aktiviert sein, also bei einer standardmäßigen Aktivierung deaktiviert werden. | |||
==== KDE Plasma 6 ==== | |||
2024-02-28 wurde [[wikipedia:en:KDE Plasma 6]] veröffentlicht.<ref>https://kde.org/announcements/megarelease/6/</ref> | |||
Es soll die grafische Arbeitsplatzoberfläche Plasma 6 (der Arbeitsplatzumgebung KDE 6) verwendet werden. | |||
<pre> | |||
services.xserver.enable = true; | |||
services.desktopManager.plasma6.enable = true; | |||
</pre> | |||
Standardmäßig (bei NixOS) wird [[wikipedia:en:LightDM]] verwendet. | |||
Es soll aber - wie (bei KDE) eigentlich standardmäßig - aber [[wikipedia:en:SDDM]] verwendet werden. | |||
<pre> | |||
# services.displayManager.sddm.enable = true; | |||
services.displayManager.sddm.wayland.enable = true; | |||
</pre> | |||
==== automatische Anmeldung beim Start ==== | |||
Es soll - beim Starten - keine Anmeldung bei der Verwaltung der Arbeitsoberflöche für das übliche Konto notwendig sein (, also eine automatische Anmeldung für das übliche Konto erfolgen). | |||
<pre> | |||
services.displayManager.autoLogin.enable = true; | |||
services.displayManager.autoLogin.user = "vat"; | |||
</pre> | |||
== foo to do == | |||
==== boot.loader.efi.efiSysMountPoint ==== | |||
; default: <code>"/boot"</code> | |||
; maybe: <code>"/efi"</code> | |||
===== boot.loader.efi.efiSysMountPoint boot.loader.systemd-boot.xbootldrMountPoint ===== | |||
Jedoch wird bei <code>boot.loader.systemd-boot.xbootldrMountPoint</code> - also wenn systemd-boot verwendet wird - <code>boot.loader.efi.efiSysMountPoint</code> auch dafür verwendet. | |||
; default: <code></code> | |||
; maybe: <code>"/boot"</code> | |||
===== boot.loader.efi.canTouchEfiVariables ===== | |||
; default: <code>false</code> | |||
; maybe: <code>true</code> |
Aktuelle Version vom 18. Mai 2024, 20:37 Uhr
Vorbetrachtung[Bearbeiten]
- file:///nix/store/z6cwny3w3vpph61sn7f4g3jwyb1mknrd-nixos-manual/share/doc/nixos/index.html
- https://nixos.wiki/wiki/NixOS_on_ZFS
- https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.10-Root-on-ZFS
Installation[Bearbeiten]
Oberfläche für die Installation[Bearbeiten]
(mögliches) Tastenbelegung für die Kommandozeile ändern
loadkeys de
(mögliches) Starten der standardmäßigen grafischen Oberfläche (KDE 5)
systemctl start display-manager
mögliche Probleme bei der Installation[Bearbeiten]
mögliche Probleme bei der Partitionierung[Bearbeiten]
snafu! Vielleicht passt was nicht mit dem Schreiben vom bootloader (standartmäßig zu bestimmen mit sda). (Vielleicht kann das Verwenden von gparted (Werkzeug für die grafische Oberfläche) Fehler verursachen.) Notfalls halt einfach fdisk
verwenden. (Das stellt beim Erstellen von sda1 einen ausreichend großen freien Bereich (auf dem Hinterkopf 2048 freie Blöcke) für den standardmäßigen bootloader GRUB zur Verfügung.)
Konfiguration[Bearbeiten]
cat /etc/nixos/hardware-configuration.nix
- am initial generierten Beispiel für ein ThinkPad S230u
# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, ... }: { imports = [ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/6ea468cb-1400-4629-90bd-ce8fc7fc664c"; fsType = "ext4"; }; swapDevices = [ ]; nix.maxJobs = lib.mkDefault 4; powerManagement.cpuFreqGovernor = "powersave"; }
/etc/nixos/configuration.nix[Bearbeiten]
cat /etc/nixos/configuration.nix
- Das ist theoretisch. Praktisch ist die Datei mit wesentlich mehr, aber nicht zur Anwendung kommenden, Inhalt gefüllt
{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; boot.loader.grub.enable = true; boot.loader.grub.version = 2; system.stateVersion = "17.03"; }
Ort zum Booten für die Installation von GRUB[Bearbeiten]
Während der #Installation ist mindestens das Eintragen von boot.loader.grub.device notwendig.
$EDITOR /etc/nixos/configuration.nix
- Es kann, wie in vielen Fällen, der erste Massenspeicher /dev/sda das Gerät zum Installieren sein.
{ config, pkgs, ... }: { imports = [
];
boot.loader.grub.device = "/dev/sda";
}
Konfiguration für einen initiale grundlegende Oberfläche[Bearbeiten]
- Es sollen die (nahezu frei gewälten) Komponenten für das erste weitere Arbeiten installiert sein.
- grafische Oberfläche
- KDE (Plasma 5)
- In der durch NixOS generierten Datei /etc/nixos/configuration.nix ist (auskommentiert) Plasma 5 vorbereitet.
- Plasma 5 ist die Arbeitsoberfläche, welche für KDE (5) entwickelt und verwendet wird.
- Xorg
- Anmeldungsverwaltung
- KDE (Plasma 5)
- (grafische) Netzwerkverwaltung
- I.V.m. einer grafischen Oberfläche (etwa Plasma) gibt es dann einen Netzwerkverwaltung fürs "Klickibunti".
- einen Webbrowser
- Firefox (aka Nightly)
- Eigentlich kann es auch jeder andere Webbrowser sein.
- Das Medium für die Installation (mit grafischer Oberfläche) verwendet auch diesen Webbrowser.
- Firefox (aka Nightly)
- (besonders netten) Texteditor für die grafische Oberfläche
- kate
- Eigentlich braucht es keinen weiteren Texteditor. Standardmäßig wird bei Plasma der Texteditor kwrite mit bereitgestellt.
- kate
- grafische Oberfläche
$EDITOR /etc/nixos/configuration.nix
{ config, pkgs, ... }: { imports = [
];
networking.networkmanager.enable = true; i18n = { consoleKeyMap = "de"; defaultLocale = "en_US.UTF-8"; #### defaultLocale = "de_DE.UTF-8"; #### #wenn es irgendwann der globalen Lokalisierung bedarf (Eigentlich will sowas doch kein Mensch, schon allein wegen der Suchen im www beim Debugging. Oder?) }; environment.systemPackages = with pkgs; [ kate firefox ]; services.xserver.enable = true; services.xserver.layout = "de"; services.xserver.xkbOptions = "eurosign:e"; services.xserver.displayManager.sddm.enable = true; #### services.xserver.displayManager.slim.enable = false; #### #wenn nicht slim (als default von NixOS beim Betrieb von X), statt etwa sddm, starten soll services.xserver.desktopManager.plasma5.enable = true;
}
24.05[Bearbeiten]
Secure Boot[Bearbeiten]
Aktuell gibt es keine (standardmäßige) Systematik. Daher wird Secure Boot nicht konfiguriert. Daher darf die Funktionalität Secure Boot beim Computer nicht aktiviert sein, also bei einer standardmäßigen Aktivierung deaktiviert werden.
KDE Plasma 6[Bearbeiten]
2024-02-28 wurde wikipedia:en:KDE Plasma 6 veröffentlicht.[1]
Es soll die grafische Arbeitsplatzoberfläche Plasma 6 (der Arbeitsplatzumgebung KDE 6) verwendet werden.
services.xserver.enable = true; services.desktopManager.plasma6.enable = true;
Standardmäßig (bei NixOS) wird wikipedia:en:LightDM verwendet. Es soll aber - wie (bei KDE) eigentlich standardmäßig - aber wikipedia:en:SDDM verwendet werden.
# services.displayManager.sddm.enable = true; services.displayManager.sddm.wayland.enable = true;
automatische Anmeldung beim Start[Bearbeiten]
Es soll - beim Starten - keine Anmeldung bei der Verwaltung der Arbeitsoberflöche für das übliche Konto notwendig sein (, also eine automatische Anmeldung für das übliche Konto erfolgen).
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "vat";
foo to do[Bearbeiten]
boot.loader.efi.efiSysMountPoint[Bearbeiten]
- default
"/boot"
- maybe
"/efi"
boot.loader.efi.efiSysMountPoint boot.loader.systemd-boot.xbootldrMountPoint[Bearbeiten]
Jedoch wird bei boot.loader.systemd-boot.xbootldrMountPoint
- also wenn systemd-boot verwendet wird - boot.loader.efi.efiSysMountPoint
auch dafür verwendet.
- default
- maybe
"/boot"
boot.loader.efi.canTouchEfiVariables[Bearbeiten]
- default
false
- maybe
true