Benutzer:PaulRiegel/NixOS

Aus Wiki StuRa HTW Dresden
Version vom 18. Mai 2024, 20:37 Uhr von 81.201.149.152 (Diskussion) (→‎24.05)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Vorbetrachtung[Bearbeiten]

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
  • (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.
$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]

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[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