[Linux-only] basically bloxstap for sober

final fixes

+23 -14
+7
default.nix
··· 5 5 src = ./src; 6 6 bunNix = ./bun.nix; 7 7 index = "index.ts"; 8 + installPhase = '' 9 + mkdir -p $out/bin 10 + cp ./tuxstrap $out/bin 11 + 12 + mkdir -p $out/share/applications 13 + $out/bin/tuxstrap "tuxstrap://gendesktoproblox" > $out/share/applications/tuxstrap.desktop 14 + ''; 8 15 }
+14 -13
flake.nix
··· 36 36 in 37 37 { 38 38 packages = eachSystem (system: { 39 - default = pkgsFor.${system}.callPackage ./default.nix { 40 - inherit (bun2nix.lib.${system}) mkBunDerivation; 41 - }; 39 + default = pkgsFor.${system}.callPackage ./default.nix { 40 + inherit (bun2nix.lib.${system}) mkBunDerivation; 41 + }; 42 42 }); 43 43 44 44 devShells = eachSystem (system: { 45 - default = pkgsFor.${system}.mkShell { 46 - packages = with pkgsFor.${system}; [ 47 - bun 48 - bun2nix.packages.${system}.default 49 - ]; 45 + default = pkgsFor.${system}.mkShell { 46 + packages = with pkgsFor.${system}; [ 47 + bun 48 + bun2nix.packages.${system}.default 49 + ]; 50 50 51 - shellHook = '' 52 - bun install --frozen-lockfile 53 - ''; 54 - }; 55 - }); 51 + shellHook = '' 52 + bun install --frozen-lockfile 53 + ''; 54 + }; 55 + } 56 + ); 56 57 }; 57 58 }
+2 -1
src/index.ts
··· 17 17 const firstRobloxURLArg = process.argv.find( 18 18 (a) => a === "tuxstrap://gendesktoproblox" 19 19 ); 20 + 20 21 if ( 21 22 !!firstRobloxURLArg && 22 23 process.argv.find( ··· 30 31 console.log( 31 32 createDesktopEntry( 32 33 tuxstrapDesktopEntry, 33 - join(__dirname, process.argv0) 34 + join(__dirname, process.argv0).replace(/^\/build\//,"/") 34 35 ).replaceAll("org.vinegarhq.Sober", "tuxstrap") 35 36 ); 36 37 process.exit(0);