{ description = "Flake Vesktop utilisant son overlay d'origine"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; vesktop-src = { url = "github:Vencord/Vesktop"; flake = false; }; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, vesktop-src, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { packages.vesktop = pkgs.stdenv.mkDerivation { pname = "vesktop"; version = "latest"; src = vesktop-src; buildInputs = with pkgs; [ nodejs_20 # Version recommandée de Node.js pnpm # Gestionnaire de paquets utilisé par Vesktop git # Requis pour cloner et gérer les dépendances ]; buildPhase = '' export HOME=$PWD # Empêche pnpm d'essayer d'écrire dans /homeless-shelter pnpm install pnpm run build pnpm run dist ''; installPhase = '' mkdir -p $out/opt/vesktop cp -r dist/* $out/opt/vesktop ln -s $out/opt/vesktop/Vesktop.AppImage $out/bin/vesktop ''; meta = with pkgs.lib; { description = "Unofficial Discord desktop client with additional features."; homepage = "https://github.com/Vencord/Vesktop"; license = licenses.mit; platforms = platforms.linux; }; }; # Optionnel : rendre Vesktop le package par défaut du flake packages.default = self.packages.${system}.vesktop; } ); }