Mein erster Post! Weiß nicht ob ich hier richtig bin, sagt notfalls einfach Bescheid.

Ich habe über die Jahre immer mal wieder versucht zu Linux zu wechseln. Zuerst Linux Mint, dann Ubuntu und auf zahlreiche Empfehlungen hin mehrfach OpenSuse, zuletzt TumbleWeed.

Aber bisher war meine Erfahrung jedes Mal dass irgend etwas nicht gescheit funktioniert und ich wieder stundenlang am suchen und fixen bin. Oder Software, die ich nutzen möchte, bekomme ich nicht oder nur stark veraltet. Sogar Open Source Clients wie Bitwarden auf TumbleWeed zu bekommen war ein Problem.

Bei Windows google ich einfach das was ich haben will, bekomme die aktuelle .exe direkt vom Hersteller und gut ist. Habe neulich eine 25 Jahre(!) alte .exe (mein erstes Computerspiel) auf Windows 10 ausgeführt. Doppelklick, Farbeinstellungen anpassen, lief dann 1a. Frustfrei.

Ich schäme mich fast es zu sagen, aber ich bin studierter Informatiker und mittlerweile Softwareentwickler. Technisch kein kompletter Laie. Habe keine Angst vor einer Kommandozeile. Freue mich aber auch wenn ich sie nicht ständig für jeden Mist brauche.

Ich möchte eine Distro für meinen Arbeitslaptop die einfach nur zuverlässig funktioniert. Ich möchte nichts vorinstalliert haben, freue mich aber wenn ich ein breites Spektrum an aktueller Software bekommen kann. Bonuspunkte wenn Microsoft Teams und Outlook funktionieren, unsere Firma nutzt beides intensiv für die Koordination.

Was würdet ihr da empfehlen?

Edit: Danke schön für die vielen Tipps und Kommentare! Ich werde mir wohl erstmal auf einem alten Laptop Fedora etwas genauer ansehen. Falls mir das nicht so gefällt habe ich mir aus euren Kommentaren noch ein paar andere Optionen abgespeichert. Euch noch einen guten Start in die Woche ^^

  • CULT PONY
    link
    fedilink
    Deutsch
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Ich bin aktuell auf NixOS. NixOS ist eines dieser Distros die unglaublich komplex zu lernen sind. Paketinstallation und System Konfiguration geschieht über die Skriptsprache Nix. Die Software Repo ist eine Github Repo mit Buildskripten in Nix Sprache. Die Standard Buildskripte sind alle auf einem Cache Server verfügbar.

    Der Verkaufspunkt ist das NixOS reproduzierbar ist. Meine Konfiguration ist ein sogenanntes Nix Flake. Das heißt der genaue Commit der aus den Software Repos von Github verwendet wird, ist in der Konfiguration vermerkt. Meine Installation kann ich binär-identisch wiederherstellen. Selbst auf einem neuen Computer reicht es aus die Konfig zu laden und ich erhalte ein System das Hash-zu-Hash identisch ist. Jede Software Revision wird genauso wieder vom Internet aus dem Cache heruntergeladen oder einfach vor-Ort reproduzierbar neu gebaut. Hash ist derselbe.

    Aber das ist noch nichtmal das beste. Das beste ist das die Konfig Sprache Dinge einfach funktionieren lässt. Um Ton und meine Bluetooth Kopfhörer funktionsfähig zu machen habe ich folgendes Snippet in meiner Config:

    { ... }:
    {
      services.pipewire.enable = true;
      services.pipewire.pulse.enable = true; # Enable Pulse Audio Compatibility
      services.pipewire.wireplumber.enable = true;
      programs.dconf.enable = true; # Needed for KDE Bluetooth Integration
      hardware.bluetooth.enable = true;
      hardware.bluetooth.powerOnBoot = true; # Turn on Bluetooth when booting
    }
    

    Und das Snippet funktioniert so. Einfach so.

    Drucken?

    { pkgs, ... }:
    {
      services.printing.enable = true;
      services.avahi.enable = true;
      services.avahi.nssmdns = true; # Enable MDNS in /etc/nsswitch.conf
      services.avahi.openFirewall = true; # Configure Firewall defaults
      services.printing.drivers = with pkgs; [
        postscript-lexmark
        foomatic-db-ppds-withNonfreeDb
      ];
    }
    

    Via Home-Manager ist ein großteil meiner Konfig nichtmal System Konfig. System Konfig ist nur genug um KDE und Hardware funktionsfähig zu machen. In Home-Manager kannst du dann deine lokalen Sachen konfigurieren, wie z.B. deine Shell-RC oder sogar VSCode, siehe hier:

      programs.vscode = {
        enable = true;
        package = pkgs.vscode-with-extensions.override {
          vscodeExtensions = with pkgs-unstable.pkgs.vscode-extensions; [
            bbenoist.nix
            ms-vscode-remote.remote-ssh
            matklad.rust-analyzer
            mkhl.direnv
            elixir-lsp.vscode-elixir-ls
            gruntfuggly.todo-tree
            arrterian.nix-env-selector
            jnoortheen.nix-ide
            bungcip.better-toml
          ];
        };
      };
    

    Wenn was schiefgeht; meine Config ist in einer Git Repo, ich kann immer die vorherige Config wiederherstellen. Und der Bootloader wird von NixOS automatisch so konfiguriert das du die Letzten X Configurationen einfach so booten kannst. Dann ist alles wie vorher. Hat mir schon X mal den Arsch gerettet weil ich was fehlkonfiguriert hatte.

    Aber an sich? NixOS ist genial. Sachen funktionieren einfach. Und ich kann funktionierende Sachen reproduzieren.

    edit: Oh und ich vergaß; nix flakes kannst du mit einem Tool namens “direnv” dynamisch in die System Konfig mergen. D.h. wenn ich in ein Projekt gehe mit einer Nix Flake die eine Entwicklungsumgebung definiert, wird diese Umgebung automatisch geladen. Ich muss z.B. gar nicht Rust bei mir Global installieren. Die Nix Flake in meinen Rust Repos läd automatisch die Rust Toolsuite herunter und der exakten Version die vom Entwickler vorgesehen ist. Und dann ist Rust verfügbar solange ich am Projekt arbeite. Wenn ich das Projekt zumachen wir die Umgebung entladen und die Binaries irgendwann wegen nicht-verwendung aufgeräumt.