Benutzer:PaulRiegel/NixOS

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen

Installation

Oberfläche für die Installation

(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

mögliche Probleme bei der Partitionierung

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

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

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

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
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;
}