Zeigt eure NixOS "Skilltrees" her (eure Konfigurationen und Setups)

@KitKat::new()
Mit configurationLimit = 3läuft /boot nicht voll. Es pendelt zwischen 1 und 3 efi Dateien ( je 122 MB) in /boot/efi/nixos. 512 MB boot Partition ist ausreichend.

Wie groß sind eigentlich die Dateien mit AMD Grafikkarte? Haben vielleicht "open linux kernel modules" von nvidia einen Einfluss auf die Größe?
Ich könnte auch die Begrenzung der gespeicherten Systemzustände auf 2(aktuelle + vorherige) einstellen. Wenn ich so überlege, brauche ich viele Systemzustände gar nicht. Falls NixOS nicht startet, kann ich auch mit sudo nano /etc/nixos/configuration.nix die Änderungen rückgängig machen.

Wie macht man alias für sudo nixos-rebuild switch? ~/.bashrcexistiert ja nicht.
Würde das hier funktionieren?
programs.bash.shellAliases = {
snrs = "sudo nixos-rebuild switch";
};
 
D.S.i.u.S. schrieb:
Wie groß sind eigentlich die Dateien mit AMD Grafikkarte?
Ich habe eine AMD IGPU: 2* ca. 12 MB
 
  • Gefällt mir
Reaktionen: D.S.i.u.S.
Update 19.12.2024
Mein NixOS Build auf Seite 1 habe ich aktualisiert.
  • Dort stehen jetzt configuration.nix, flake.nix, home.nix, nvidia-open-latest.nix und syncthing.nix statt einzelner "Bausteine" wie z.B.: boot.kernelPackages = pkgs.linuxPackages_cachyos;
  • Die Zeilen für nvidia und syncthing in configuration.nix habe ich nach nvidia-open-latest.nix und syncthing.nix ausgelagert.
  • Ich verwende nun cachyOS statt zen Kernel. Machbar wird es durch ein Flake mit chaotic-nyx
  • Steam hat Autostart mit Zusatz "-nochatui -nofriendsui -silent" bekommen (home.nix)
  • Ich habe die Weise wie ich NixOS aktualisiere geändert.
Aktualisieren und herunterfahren:
1. kate ~/.local/share/applications/update-and-shutdown.desktop (oder mit nano)
Inhalt der Datei:
Bash:
    [Desktop Entry]
    Name=Update and Shutdown
    Comment=Updates NixOS and shuts down the system
    Exec=konsole -e bash -c "~/nixos-config/update-and-shutdown.sh"
    Icon=system-shutdown-update
    Terminal=false
    Type=Application
    Categories=System;Utility;
2. kate ~/nixos-config/update-and-shutdown.sh (oder mit nano)
Inhalt der Datei:
Bash:
    #!/usr/bin/env bash
    cd /nixos-config
    sudo nix flake update
    sudo nixos-rebuild switch --flake /etc/nixos/
    sudo systemctl poweroff
Skript ausführbar machen: chmod +x ~/nixos-config/update-and-shutdown.sh
3. Seit KDE Plasma 6.2.0 gibt es "system-shutdown-update" Icon
Rechtsklick auf "Update and Shutdown" in "System" und dann zu Favoriten hinzufügen.
Screenshot_20241220_133930a.png

Für sudo verwende ich YubiKey anstelle von Passwort.

Ich habe jetzt die Wahl zwischen "Update and Shutdown" oder einfach nur "Shutdown".
Zusätzlich habe ich noch nfu und nrs
Bash:
 # Aliases für alle Shells
  environment.shellAliases = {
  nfu = "sudo sh -c 'cd /etc/nixos && nix flake update'";
  nrs = "sudo nixos-rebuild switch --flake /etc/nixos";
};
nfu: Aktualisiert die Inputs einer Flake auf die neuesten Versionen.
nrs: Übernimmt die Änderungen in der Konfiguration und bringt das System auf den neuesten Stand.

Wie man neue Pakete installiert:
  1. NixOS options Suche benutzen, um zu überprüfen, ob es eine Option gibt (z.B.: programs.thunderbird.enable = true; )
  2. Wenn .enable Option nicht vorhanden ist, dann NixOS Packages Suche benutzen, um den richtigen Paketnamen zu finden.
  3. In configuration.nix entweder in environment.systemPackages oder users.users.<Benutzername>.packages hinzufügen.
  4. Die Änderungen mit sudo nixos-rebuild switch oder in meinem Fall mit nrs(sudo nixos-rebuild switch --flake /etc/nixos/) aktivieren.
Firefox:
Ich habe die Sachen, die ich in about:config verändert habe, unter preferences eingetragen.
Bash:
  # Firefox.
  programs.firefox = {
    enable = true;
    languagePacks = [ "de" ];
    preferences = {
        "intl.locale.requested" = "de";
        "widget.use-xdg-desktop-portal.file-picker" = 1; # KDE file picker
        "browser.tabs.loadBookmarksInTabs" = true; # Lesezeichen in neuem Tab öffnen
        "full-screen-api.warning.delay" = -1; # Vollbildmodus Meldung deaktivieren Teil 1/2
        "full-screen-api.warning.timeout" = 0; # Vollbildmodus Meldung deaktivieren Teil 2/2
        "ui.tooltip.delay_ms" = 5000;
        "dom.private-attribution.submission.enabled" = false; # "datenschutzfreundliche" Werbe-Messungen
        "browser.cache.disk.enable" = false; # Cache abschalten
        "extensions.pocket.enabled" = false; # Pocket deaktivieren
        "dom.event.clipboardevents.enabled" = false; # Zwischenablage nicht überwachen
        "privacy.donottrackheader.enabled" = true; # Do Not Track aktivieren
    };
};

Syncthing:
Syncthing.nix ist noch ausbaufähig. Ich habe es nur aktiviert und den Rest über Syncthing Web interface erledigt.
Screenshot_20241210_031309.png
 
Zuletzt bearbeitet:
Vor kurzem wurde der Standardcompiler auf GCC 14 umgestellt, der einige Warnungen standardmäßig in Fehler umwandelt. Jemand muss jack1 Paket von Version 0.125.0 auf 0.126.0 aktualisieren.
Es hat die Folge, dass man NixOS nicht aktualisieren kann, wenn "Shotcut" Programm installiert ist.
NixOS führt Aktualisierungen atomar durch, es werden entweder alle Änderungen erfolgreich angewendet oder keine.
Screenshot_20241227_230807.png


In meiner configuration.nix steht jetzt ein Fix dafür:
Bash:
 # jack1 Fix (kann man sonst NixOS nicht aktualisieren)
  nixpkgs.overlays = [
    (final: prev: {
      jack1 = prev.jack1.overrideAttrs (_: {
        NIX_CFLAGS_COMPILE = [
          "-Wno-int-conversion"
          "-Wno-incompatible-pointer-types"
        ];
      });
    })
  ];

EDIT 07.01.25:
Jack1 wurde auf Version 0.126.0 aktualisiert.
Man kann jetzt auch ohne Fix problemlos NixOS aktualisieren.
 
Zuletzt bearbeitet:
Update 04.02.2025
D.S.i.u.S. schrieb:
Ich habe GC mit "--delete-older-than 7d" und trotzdem war 512mb /boot Partition nach 110 Tagen voll.
Vielleicht wegen NVIDIA open GPU kernel modulen?
Ich belasse es jetzt bei GC 7d und 512 MB /boot und werde es weiter beobachten.

Wie groß sind eigentlich die Dateien in /boot/EFI/nixos?
Die efi Dateien in /boot/EFI/nixos sind jetzt auf einmal 15 MB statt 122 MB groß.
Bash:
$ ls -lh /boot/EFI/nixos
insgesamt 50M
-rwxr-xr-x 1 root root 15M  3. Feb 18:28 4whqvhbxz2610v6pqfs8hz9gj3y2jfh7-linux-6.13.0-bzImage.efi
-rwxr-xr-x 1 root root 15M  3. Feb 18:28 hbarnb7prdwnhpcfn67x092zq5cpsjn3-linux-6.13.1-bzImage.efi
-rwxr-xr-x 1 root root 11M  3. Feb 18:28 q9ic2ais9q2p9n8yaxa89kypzz3d9l8q-initrd-linux-6.13.1-initrd.efi
-rwxr-xr-x 1 root root 11M  3. Feb 18:28 xr30b0w682yy6sl3nfl8fmlwc952wi0h-initrd-linux-6.13.0-initrd.efi
Ich weiß nicht, was sich geändert hat oder was ich geändert habe.
Und ich habe immer noch Nvidia Open Treiber.
Das hier habe ich am 18.12.24 entfernt:
Bash:
boot.initrd.kernelModules = [
 "nvidia"
  "nvidia_drm"
  "nvidia_modeset"
  "nvidia_uvm"
];
 boot.kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" "nouveau.modeset=0" ];
Und Nvidia habe ich ausgelagert. Von configuration.nix nach nvidia-open-latest.nix
Bash:
{ config, pkgs, ... }:
{
  # Load nvidia driver for Xorg and Wayland
   services.xserver.videoDrivers = ["nvidia"];
   hardware.nvidia = {
     modesetting.enable = true;
     powerManagement.enable = false;
     open = true;
     nvidiaSettings = true;
     package = config.boot.kernelPackages.nvidiaPackages.latest;
    };
}
 
Seit Februar habe ich keine Veränderungen in NixOS vorgenommen.
Jetzt hatte ich beim Update evaluation warning gehabt.
Screenshot_20250518_183033a.png

Welche Version habt ihr in configuration.nix und in home.nix stehen?
Bei mir steht überall 24.05, weil ich NixOS im Juni 2024 installiert habe.(Bald NixOS Jahrestag)

"Home Manager version 25.11 and Nixpkgs version 25.05" in evaluation warning verstehe ich nicht. Muss ich mal morgen schauen, was das sein soll.
 
Das "Problem" hat sich von selbst gelöst. Es kommt kein warning mehr.
Screenshot_20250520_174954a.png
 
Servus,
ich habe mir die letzten Tage NixOS, aktuelle ISO 25.05, angeschaut und ich finde es sehr interessant gegenüber ein Linux Arch. In allen muss ich erst hineinkommen und finde mich mit "Flakes" überhaupt nicht zu recht. Um mit "Flakes" etwas zu machen muss man doch eine "NIX" Datei erstellen und es dort aktivieren oder verstehe ich das falsch? "home-manager" ist mir auch noch fremd und steige nicht durch. Ich versuche das Repo Cachy-OS zu benutzen, aber es gelingt mir nicht. Ich brauche unbedingt das "MESA-GIT" daraus, ansonsten läuft die Intel ARC 750 mit Unreal 5 Games nicht. Endet immer "Sie haben keinen DX12 bla bla" Treiber. Bei Linux Arch dasselbe, wenn ich "MESA-GIT" nicht benutze. Aber hier kann ich es mir auch aus den "Aur" holen.

Also was wird bei NixOS nicht klar? --- Wie aktiviert man vernünftig Flakes bei Stable? Besonders Cachy-OS. "home-manager" Ja / Nein ?

Ich habe mich auch schon mit dem Chaotic's-Nyx eingelesen und probiert. Endet aber immer im Sande.
 
@DoedelFIX
Wo scheitert es bei dir?
Ist git bei dir installiert?
Hast du das hier in flake beachtet? -->
hostname = nixpkgs.lib.nixosSystem { # Replace "hostname" with your system's hostname
Auf Seite1 stehen meine flake.nix und home.nix
Homemanager habe ich nur für Steam

Ich benutze Zusatz --impure, um NixOS zu aktualisieren. Vielleicht geht es auch ohne.
nix flake update hat Alias "nfu" und
sudo nixos-rebuild switch --flake ~/nixos-config --impure hat Alias "nrs"
 
Zuletzt bearbeitet:
Danke.
Ich habe es noch mal versucht und es scheitert einfach. Ich bin weitergekommen, er lädt und er versucht den Kernel und Mesa-Git zu bauen, endet aber in eine Art Schleife.

Bin auch noch mal durch die Flakes Wiki durch, durch deine Anleitung und auch auf YouTube durch einen Kanal der sich mit NixOS beschäftigt.

Das Ende ist ein Wirrwarr, den alles kommt auf keinen Nenner, da alle eine andere Vorgehensweise haben. Man weiß nicht, was ist alt und was ist aktuell. Dinge aus dem aktuellen Wiki haben bei mir auch nicht funktioniert und in deiner Beschreibung machst du Dinge, die gar nicht beschrieben werden.

Ein "sudo cp -r /etc/nixos/* ~/nixos-config/" ergibt überhaupt keinen Sinn und wird auch nicht beschrieben. Dass die Datei "configuration.nix" jetzt noch in deinen Eigenen "nixos-config" Ordnder liegt, bringt nichts. Sie wird überhaupt nicht verarbeitet.

Wenn man "home-manager" benutzt dann muss das auch wohl anders aktiviert werden, als was du beschreibst.

Ich habe keine Ahnung wie das für Monaten alles beschrieben wurde, ich weiß nur das ich bei NixOS gerade vor großen ??? stehe.

Ich bin damit auch nicht alleine. Bei den Flakes usw. stehen auch andere mit großen ? vor. Das ist bei NixOS noch ein richtiges Ausbaubares Thema wie ich finde.
 
Danke für die Rückmeldung.
Dann versuche ich eine einfache Schritt-für-Schritt-Anleitung wie man Flakes verwendet zu schreiben.
Ich bin kein Profi, aber ich lerne dazu. Leider vergesse ich alles schnell.
Irgendwas war da noch was mit git und ich habe vergessen, was ich geändert habe. Ich denke, ich muss Logbuch führen und notieren, warum ich etwas gemacht habe.
Ich habe z.B. vergessen, warum ich nix Dateien in anderen Ordner kopiert und dann diese für aktuelle NixOS Konfiguration verwendet habe.

Es gibt in NixOS Wiki keine klare Linie, wie man es richtig macht. Es gibt mehrere Möglichkeiten.

@DoedelFIX
EDIT: ich habe ChatGPT mal gefragt, warum ich mein Konfigurationsverzeichnis von /etc/nixos/ in ~/nixos-config/ verlegt habe.
Die Antwort: Viele NixOS-Nutzer, die auf Flakes umsteigen, verlagern ihre Konfiguration aus /etc/nixos/ in ein separates Verzeichnis wie ~/nixos-config/ oder ~/.dotfiles/nixos/ – typischerweise weil:
  • Flakes besser mit einem eigenen Git-Repository in einem Home-Verzeichnis funktionieren,
  • /etc/nixos/ Root-Rechte erfordert, während ~/nixos-config/ frei veränderbar ist,
  • und man so die Konfiguration versionieren und auf mehreren Maschinen nutzen kann.
Es ist sehr verbreitet, /etc/nixos/ durch ein Verzeichnis wie ~/.dotfiles/nixos/ zu ersetzen – besonders bei Leuten, die ihre Systemkonfiguration versionieren, automatisieren und auf mehreren Rechnern verwenden wollen.

Ich weiß wieder, was mit Git war. Ich habe
Versionsverwaltung (Git) deaktiviert, weil irgendwas nicht "sauber" war.

lol, ich habe vergessen, warum ich für NixOS Aktualisieren --impure verwende. Einige sind der Meinung, dass man --impure nicht verwenden soll. Falls jemand eine Lösung dafür hat, wie man --impure vermeiden kann, dann her damit.
sudo nixos-rebuild switch --flake ~/nixos-config --impure

EDIT2: Ich habe jetzt geschafft --impure zu vermeiden
In flake.nix wurde

./configuration.nix durch (self + "/configuration.nix") und ./home.nix; durch (self + "/home.nix"); ersetzt.

Meine neue flake.nix:

Bash:
{
  description = "NixOS configuration";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    stylix = {
      url = "github:danth/stylix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { self, nixpkgs, chaotic, home-manager, stylix }: {
    nixosConfigurations = {
      nixos = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";

        modules = [
          ./configuration.nix
          chaotic.nixosModules.default
          stylix.nixosModules.stylix

          # Home Manager Modul einbinden
          home-manager.nixosModules.home-manager
          {
            home-manager.useGlobalPkgs = true;
            home-manager.useUserPackages = true;

            # Benutzerkonfiguration aus ./home.nix importieren
            home-manager.users.rebellz = import ./home.nix;
          }
        ];
      };
    };
  };
}
 
Zuletzt bearbeitet:
Update 26.07.2025
Ich habe alle nix Dateien aus Home Ordner zurück nach /etc/nixos/ verschoben und Symlinks in ~/nixos-config erstellt.
Jetzt kann man *.nix Dateien nur mit Root-Rechten editieren.
Dabei musste ich Aliases anpassen.
Bash:
# Aliases für alle Shells
  environment.shellAliases = {
  nfu = "sudo sh -c 'cd /etc/nixos && nix flake update'";
  nrs = "sudo nixos-rebuild switch --flake /etc/nixos";
};

Mit nrs konnte ich natürlich rebuild nicht durchführen, weil Alias nrs = "sudo nixos-rebuild switch --flake ~/nixos-config"; aus alten configuration.nix in ~/nixos-config verwendet wird und da steht noch ~/nixos-config statt /etc/nixos

Damit NixOS configuration.nix aus /etc/nixos/ verwendet, musste ich mit sudo nixos-rebuild switch --flake /etc/nixos rebuild durchführen und aktualisieren.

Falls jemand weiß, wie man Kate oder anderem Editor dazu bringt, Berühren des YubiKeys statt Passwortabfrage nach Speichern anzubieten, dann her damit.
 

Anhänge

  • Screenshot_20250726_182854.png
    Screenshot_20250726_182854.png
    409,3 KB · Aufrufe: 50
  • Screenshot_20250726_204129.png
    Screenshot_20250726_204129.png
    144,9 KB · Aufrufe: 50
Zuletzt bearbeitet:
Zurück
Oben