diff --git a/flake.lock b/flake.lock index 82130d1..f8638db 100644 --- a/flake.lock +++ b/flake.lock @@ -1,40 +1,75 @@ { "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1742417894, - "narHash": "sha256-mxfb7mdJh7n6aKDsZsaGJDD5mF0veJJhIg2GOMqyH4o=", + "lastModified": 1742288794, + "narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ecbf53f525017f5dd7a3bb3a7090422fc95e9361", + "rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "root": { "inputs": { + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", - "vesktop": "vesktop" + "vesktop-src": "vesktop-src" } }, - "vesktop": { - "flake": false, + "systems": { "locked": { - "lastModified": 1742421072, - "narHash": "sha256-ocIsd/UtLO/lb2iB0H8+YJkBu05xDuoCFXmaUX72HkA=", - "ref": "refs/heads/main", - "rev": "ff66a2818a6eb1294e04b320b01e7af10f70fd55", - "revCount": 1, - "type": "git", - "url": "https://gitea.napo280.fr/napo280/overlay-vencord" + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" }, "original": { - "type": "git", - "url": "https://gitea.napo280.fr/napo280/overlay-vencord" + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "vesktop-src": { + "flake": false, + "locked": { + "lastModified": 1741219937, + "narHash": "sha256-b4qSBi6kALqpv/2rPfjy9Q4QLjqp1rmhSSjfRY7YM0c=", + "owner": "Vencord", + "repo": "Vesktop", + "rev": "fd91a23188d14dee519487c4aa7405b20b6fb95a", + "type": "github" + }, + "original": { + "owner": "Vencord", + "repo": "Vesktop", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 9d02d1e..8548795 100644 --- a/flake.nix +++ b/flake.nix @@ -3,20 +3,54 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - vesktop.url = "github:Vencord/Vesktop"; + vesktop-src = { + url = "github:Vencord/Vesktop"; + flake = false; + }; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, vesktop, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { - inherit system; - # On utilise l'overlay tel quel, sans aucune modification - overlays = [ vesktop.overlay ]; - }; - in { - # Le package Vesktop devient le package par défaut du flake - packages.default = pkgs.vesktop; - }); -} + 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; + } + ); +}