|
|
||
|---|---|---|
| install.sh | Dateien nach „/" hochladen | |
| README.md | README.md aktualisiert | |
| tui-store.sh | Dateien nach „/" hochladen | |
🐧 NixOS Software Store — TUI v3.1
Ein interaktiver Terminal-basierter Paket-Manager für NixOS mit fuzzy-Suche, Kategorien und automatischer Modul-Konfiguration.
╔══════════════════════════════════════════╗
║ 🐧 NixOS Software Store v3.1 ║
║ Inkl. VM & System-Modul-Support ║
╚══════════════════════════════════════════╝
✨ Features
- Kategorisierte Paketliste mit über 80 kuratierten Paketen in 11 Kategorien
- Zwei Installationsmodi — systemweit via
nixos-rebuildoder lokal vianix profile - Automatische Modul-Konfiguration — z. B. aktiviert
virt-managerautomatischlibvirtd, Gruppen & KVM - Unfree-Pakete klar markiert (🔒) und werden automatisch in
nixpkgs.config.allowUnfreefreigeschaltet - Idempotent — bereits installierte Pakete werden erkannt und übersprungen
- Flakes-kompatibel — neue Konfigurationsdateien werden automatisch via
git addgetrackt - Automatische Backups — vor jeder Änderung wird ein Snapshot der Nix-Config erstellt
- fzf Auto-Bootstrap — falls
fzfnicht installiert ist, wird es automatisch nachgezogen - Desktop-Integration — optionaler
.desktop-Eintrag viainstall.sh
📦 Paketkategorien
| Kategorie | Beispiel-Pakete |
|---|---|
| 🌐 Internet | Firefox, Brave, Thunderbird, Signal, Discord |
| 🎵 Multimedia | VLC, OBS Studio, Spotify, Kdenlive, LMMS |
| 🖥️ Entwicklung | VS Code, Neovim, Git, Docker, Rust, Go |
| 🖋️ Büro | LibreOffice, Obsidian, Zotero, Anki, TeX Live |
| 🎮 Gaming | Steam, Lutris, Heroic, Bottles, RetroArch |
| 🔧 System-Tools | btop, bat, eza, ripgrep, Starship, Zellij |
| 🖼️ Grafik | GIMP, Inkscape, Krita, Blender, darktable |
| 🔒 Sicherheit | KeePassXC, Wireshark, OpenVPN, VeraCrypt |
| 📦 Terminals | Kitty, Ghostty, WezTerm, fish, Zsh |
| 🤖 KI / ML | Ollama, Open WebUI, PyTorch, JupyterLab |
| 💻 Virtualisierung | Virt-Manager, VirtualBox, Docker, Podman |
🚀 Installation
Voraussetzungen
- NixOS mit
configuration.nix - Bash 4+
sudo-Rechte (für systemweite Installation)fzf— wird automatisch installiert, falls nicht vorhanden
Schnellstart
# Beide Dateien in denselben Ordner legen:
# tui-store.sh
# install.sh
chmod +x install.sh
./install.sh
Der Installer richtet automatisch ein:
~/.local/bin/tui-store— das Hauptskript~/.local/bin/tui-store-launch— Wrapper für den Desktop-Start~/.local/share/icons/tui-store.svg— App-Icon~/.local/share/applications/tui-store.desktop— Startmenü-Eintrag
Manuell (ohne Installer)
chmod +x tui-store.sh
sudo ./tui-store.sh
PATH einrichten (falls nötig)
# ~/.bashrc oder ~/.zshrc
export PATH="$HOME/.local/bin:$PATH"
# fish
fish_add_path $HOME/.local/bin
# NixOS configuration.nix
environment.extraInit = "export PATH=$HOME/.local/bin:$PATH";
🎮 Bedienung
ENTER Kategorie / Paket auswählen
TAB Mehrere Pakete markieren
ESC Zurück / Beenden
↑ ↓ Navigation
Eingabe Fuzzy-Suche in Echtzeit
Nach der Paketauswahl erscheint ein Menü:
1) Systemweit — schreibt in /etc/nixos/software-store-packages.nix
und führt nixos-rebuild switch aus
2) Nur für mich — installiert via nix profile install (kein Rebuild)
3) Abbrechen
⚙️ Wie es funktioniert
Der Store verwaltet eine eigene Nix-Datei /etc/nixos/software-store-packages.nix, die automatisch in deine configuration.nix eingebunden wird. Pakete werden dort eingetragen und dann per nixos-rebuild switch aktiviert — ohne dass du die Hauptkonfiguration manuell anfassen musst.
configuration.nix
└── imports
└── software-store-packages.nix ← vom Store verwaltet
├── environment.systemPackages = [ ... ]
└── NixOS-Module (libvirtd, steam, docker, ...)
Für bestimmte Pakete werden zusätzliche NixOS-Module automatisch konfiguriert:
| Paket | Automatisch konfiguriert |
|---|---|
virt-manager |
virtualisation.libvirtd.enable, User-Gruppe libvirtd |
gnome-boxes |
virtualisation.libvirtd.enable, User-Gruppe libvirtd |
virtualbox |
virtualisation.virtualbox.host.enable, User-Gruppe vboxusers |
docker |
virtualisation.docker.enable, User-Gruppe docker |
steam |
programs.steam.enable, hardware.steam-hardware.enable |
🗑️ Deinstallation
rm ~/.local/bin/tui-store \
~/.local/bin/tui-store-launch \
~/.local/share/icons/tui-store.svg \
~/.local/share/applications/tui-store.desktop
Die NixOS-Konfiguration unter /etc/nixos/software-store-packages.nix bleibt erhalten und muss ggf. manuell aus den imports in der configuration.nix entfernt werden.
🛡️ Sicherheit & Backups
Vor jeder Änderung an der Nix-Konfiguration wird automatisch ein Backup erstellt:
/etc/nixos/software-store-packages.nix.bak-20240101-120000
Bei einem fehlgeschlagenen Rebuild:
# Backup einspielen
sudo cp /etc/nixos/software-store-packages.nix.bak-<TIMESTAMP> \
/etc/nixos/software-store-packages.nix
# Rebuild mit Trace für Fehleranalyse
sudo nixos-rebuild switch --show-trace
🐛 Bekannte Hinweise
- VM-Software (Virt-Manager, VirtualBox, Docker): Nach der Installation einmal ab- und neu anmelden, damit die Gruppen-Rechte wirksam werden.
- Lokale Installation (Option 2): VM-spezifische Pakete wie
virt-manageroderdockerbenötigen Systemrechte und müssen über Option 1 installiert werden. - Flakes: Wird ein Git-Repository in
/etc/nixoserkannt, wird die Store-Konfigurationsdatei automatisch viagit addgetrackt.
📄 Lizenz
MIT — frei verwendbar, anpassbar und weitergabefähig.