Aktuelle Version |
Dein Text |
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 24: |
Zeile 17: |
| 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 ==
| | [[category:Linux]] |
| | |
| : <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>
| |