42 lines
1.2 KiB
Nix

{ config, pkgs, ... }:
let
sshManagerShell = pkgs.mkShell {
name = "ssh-manager-shell";
buildInputs = [
pkgs.python311
pkgs.python311Packages.pip
pkgs.python311Packages.virtualenv
];
shellHook = ''
# Wechsel ins Projektverzeichnis, falls nötig
cd /home/leo/Documents/Dev/ssh-manager
# Falls kein virtueller Umgebung existiert, wird eine erstellt
if [ ! -d "venv" ]; then
echo "Creating virtual environment..."
${pkgs.python311}/bin/python -m venv venv
fi
# Virtuelle Umgebung aktivieren
source venv/bin/activate
# Falls die Anforderungen noch nicht installiert wurden, installiere sie
if [ ! -f "venv/requirements_installed" ]; then
echo "Installing requirements..."
pip install --upgrade pip
pip install -r requirements.txt
touch venv/requirements_installed
fi
echo "Virtual environment activated. Run 'python main.py' to start the SSH manager."
'';
};
in {
# Optional: Füge das DevShell-Umfeld zu deinen Systempaketen hinzu,
# sodass du es z.B. via "nix-shell -p ssh-manager-shell" aufrufen kannst.
environment.systemPackages = with pkgs; [
sshManagerShell
];
}