diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..52ad597 --- /dev/null +++ b/flake.nix @@ -0,0 +1,32 @@ +{ + description = "My custom apps"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { inherit system; }; + Medieval = "import"; # Apenas para fins de contexto + in + { + packages = { + shiru = pkgs.callPackage ./pkgs/shiru/default.nix { }; + hayase = pkgs.callPackage ./pkgs/hayase/default.nix { }; + hellium = pkgs.callPackeg ./ppkgs/hellium/defalt.nix { }; + + # Você também pode definir um pacote padrão (quando rodar 'nix build' sem especificar o nome) + # default = self.packages.${system}.pacote-a; + }; + } + ); +} diff --git a/pkgs/hayase/default.nix b/pkgs/hayase/default.nix new file mode 100644 index 0000000..7c172e4 --- /dev/null +++ b/pkgs/hayase/default.nix @@ -0,0 +1,40 @@ +{ + lib, + pkgs, + ... +}: +pkgs.appimageTools.wrapType2 rec { + pname = "hayase"; + version = "6.4.67"; + + src = pkgs.fetchurl { + url = "https://api.hayase.watch/files/linux-hayase-${version}-linux.AppImage"; + hash = "sha256-npUSNtiCKTcAK2nOta225W9+07Rsm235vsiAAAALVFU="; + }; + + nativeBuildInputs = with pkgs; [ + makeWrapper + ]; + + extraInstallCommands = + let + contents = pkgs.appimageTools.extractType2 { inherit pname version src; }; + in + '' + mkdir -p "$out/share/applications" + mkdir -p "$out/share/lib/hayase" + cp -r ${contents}/{locales,resources} "$out/share/lib/hayase" + cp -r ${contents}/usr/share/* "$out/share" + cp "${contents}/${pname}.desktop" "$out/share/applications/" + wrapProgram $out/bin/hayase --add-flags "--ozone-platform=wayland" + substituteInPlace $out/share/applications/${pname}.desktop --replace-fail 'Exec=AppRun' 'Exec=${meta.mainProgram}' + ''; + + meta = { + description = "Hayase - Torrent streaming made simple"; + homepage = "https://hayase.watch"; + changelog = "https://hayase.watch/changelog"; + license = lib.licenses.bsl11; + mainProgram = "hayase"; + }; +} diff --git a/pkgs/hellium/default.nix b/pkgs/hellium/default.nix new file mode 100644 index 0000000..e91c57a --- /dev/null +++ b/pkgs/hellium/default.nix @@ -0,0 +1,37 @@ +{ + lib, + pkgs, + ... +}: +pkgs.appimageTools.wrapType2 rec { + pname = "helium"; + version = "0.12.4.1"; + + src = pkgs.fetchurl { + url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage"; + hash = "sha256-OgS8HkLBseFrEhNFJxMwp1bg0gzPdfY1VaySAAp7vq0="; + }; + + nativeBuildInputs = with pkgs; [ + makeWrapper + ]; + + extraInstallCommands = + let + contents = pkgs.appimageTools.extractType2 { inherit pname version src; }; + in + '' + install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + cp -r ${contents}/usr/share/icons $out/share + ''; + + meta = { + description = "helium navegador"; + homepage = "https://github.com/imputnet/helium"; + changelog = "https://github.com/imputnet/helium/releases"; + license = lib.licenses.bsl11; + mainProgram = "helium"; + }; +} diff --git a/pkgs/shiru/default.nix b/pkgs/shiru/default.nix new file mode 100644 index 0000000..c015015 --- /dev/null +++ b/pkgs/shiru/default.nix @@ -0,0 +1,40 @@ +{ + lib, + pkgs, + ... +}: +pkgs.appimageTools.wrapType2 rec { + pname = "shiru"; + version = "v6.6.0"; + + src = pkgs.fetchurl { + url = "https://github.com/RockinChaos/Shiru/releases/download/${version}/linux-Shiru-${version}.AppImage"; + hash = "sha256-Y7R8gKsPm7NmzKXC0C24KqY1s7boWal3w5Lin35eswk="; + }; + + nativeBuildInputs = with pkgs; [ + makeWrapper + ]; + + extraInstallCommands = + let + contents = pkgs.appimageTools.extractType2 { inherit pname version src; }; + in + '' + mkdir -p "$out/share/applications" + mkdir -p "$out/share/lib/shiru" + cp -r ${contents}/{locales,resources} "$out/share/lib/shiru" + cp -r ${contents}/usr/share/* "$out/share" + cp "${contents}/${pname}.desktop" "$out/share/applications/" + wrapProgram $out/bin/shiru --add-flags "--ozone-platform=wayland" + substituteInPlace $out/share/applications/${pname}.desktop --replace-fail 'Exec=AppRun' 'Exec=${meta.mainProgram}' + ''; + + meta = { + description = "Shiru - Torrent streaming made simple"; + homepage = "https://github.com/RockinChaos/Shiru"; + changelog = "https://github.com/RockinChaos/Shiru/releases"; + license = lib.licenses.bsl11; + mainProgram = "shiru"; + }; +}