42 lines
1.2 KiB
Nix
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
|
|
];
|
|
}
|