LinuxNixOS
Showcase Image
Einsatz von NixOS in der Systemlandschaft von ALPSCALE

Kommerzieller Support für NixOS

Autor(en): ALPSCALE

Was ist NixOS?

NixOS ist ein innovatives Linux-basiertes Betriebssystem, das auf dem leistungsstarken Nix-Paketmanager basiert. Es wurde von Grund auf so konzipiert, dass es reproduzierbar, deklarativ und robust ist. Anders als traditionelle Distributionen speichert NixOS sämtliche Systemkonfigurationen – von Benutzerkonten bis zu Diensten und installierter Software – in einer einzigen, nachvollziehbaren Konfigurationsdatei.

Wofür wird NixOS verwendet?

NixOS kommt überall dort zum Einsatz, wo Stabilität, Kontrolle und Automatisierung entscheidend sind:

  • DevOps & Infrastruktur: Automatisierte Provisionierung, Continuous Deployment und rollbacksicheres Systemmanagement – ideal für komplexe CI/CD-Pipelines.
  • Softwareentwicklung: Entwickler erhalten reproduzierbare Entwicklungsumgebungen mit identischen Abhängigkeiten auf jedem System.
  • Sicherheit & Governance: Dank deterministischer Builds und vollständiger Rückverfolgbarkeit lassen sich Sicherheitsrichtlinien präzise durchsetzen.
  • Forschung & Bildung: Wissenschaftliche Rechenumgebungen lassen sich exakt wiederherstellen – essenziell für reproduzierbare Ergebnisse.

Warum NixOS?

NixOS bringt Struktur und Zuverlässigkeit in eine Welt voller Konfigurationschaos. Es ermöglicht eine neue Art der Systemverwaltung: automatisierbar, rollbacksicher und dokumentiert durch Code.

Einige Code-Snippets aus einer Auswahl unserer realen Projekte bieten einen umfassenden Einblick in unsere tägliche Arbeit mit NixOS. Sie zeigen, welche Services wir unseren Kundinnen und Kunden rund um diese vielseitige Distribution anbieten können.

Config unserer Entwickler-Workstations

{ config, pkgs, ... }: { imports = [ # Include other modules ../system/desktop-env/kde-plasma6.nix ../system/localization/de.nix ../system/audio/pipewire-with-virt-mic.nix ../programs/basic.nix ../programs/docker.nix ../programs/browser/firefox.nix ../system/home-manager.nix ../system/user/mmaag.nix ../programs/ollama-amd.nix ../programs/ide/rider.nix ../programs/ide/vs-code-angular.nix ../programs/ide/latex.nix ../programs/basic.nix ../programs/office.nix ../system/bluetooth.nix ../projects/obs-screencast.nix ]; networking.hostName = "workstation"; # Define your hostname. # Enable networking networking.networkmanager.enable = true; # Enable CUPS to print documents. services.printing.enable = true; # setting nixos version # system.allowReboot = true; system.stateVersion = "24.11"; # Did you read the comment? services.printing.cups-pdf.enable = true;}

Unsere Entwickler-Workstations basieren auf einer modularen NixOS-Konfiguration. Für jedes Projekt wird eine IDE, meist VS Code, mit Add-ons eingerichtet und in die Konfigurationsdatei der Workstation integriert .

NixShell Umgebung für lokales Testen

{ pkgs ? import <nixpkgs> {} }: pkgs.mkShell { nativeBuildInputs = with pkgs; [ nodejs_22 cypress ]; shellHook = '' export CYPRESS_INSTALL_BINARY=0 export CYPRESS_RUN_BINARY=${pkgs.cypress}/bin/Cypress '';}

In NixShell-Umgebungen können Testsysteme, wie zum Beispiel Cypress, schnell und einfach gestartet werden. Diese flexible Umgebung ermöglicht es Entwicklern, verschiedene Tests und Anwendungen effizient zu verwalten und auszuführen.

Wir setzen NixOS gerne für Nodes in einem Kubernetes-Cluster ein. Wann immer ein neuer Linux-Server in Betrieb genommen wird, läuft er ebenfalls unter NixOS. Diese Kombination bietet eine zuverlässige und konsistente Umgebung für unsere Infrastruktur.