from fabric import Connection nom_hote = "2a01:e0a:5f9:9681:5ca8:ecff:fe4e:82c6" # À remplacer avec votre nom d'hôte à vous. utilisateur = "raito" # À remplacer avec root ou votre nom d'utilisateur. c = Connection(nom_hote, user=utilisateur) def generer_nix(): squelette = """ # This file is managed by Fabric, do not edit. { pkgs, ... }: { %s } """ nix_conf = """ services.grocy = { enable = true; hostName = "playground.v6.lahfa.xyz"; }; security.acme.acceptTerms = true; security.acme.email = "ryan@lahfa.xyz"; networking.firewall.allowedTCPPorts = [ 80 443 ]; """ return squelette % nix_conf print('[+] Regardons le nom d\'hôte') c.run('hostname') print('[+] Regardons les informations du noyau et de la machine') c.run('uname -a') fabric_managed_contents = generer_nix() with open("/tmp/fabric.nix", "w") as f: f.write(fabric_managed_contents) c.put('/tmp/fabric.nix', '/tmp/fabric.nix') c.run('sudo mv /tmp/fabric.nix /etc/nixos/fabric-managed.nix', pty=True) c.run('sudo nixos-rebuild switch', pty=True)