fix: missing dependency for flake.nix (#751)
* fix: missing dependency for flake.nix * fix formatting * remove bindings.ts changes --------- Co-authored-by: Thinh Vu <phuocthinhvu@gmail.com> Co-authored-by: CJ Pais <cj@cjpais.com>
This commit is contained in:
parent
647ccab7f8
commit
14db1791d5
2 changed files with 93 additions and 77 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -34,3 +34,6 @@ recording_*
|
||||||
playwright-report/
|
playwright-report/
|
||||||
test-results/
|
test-results/
|
||||||
blob-report/
|
blob-report/
|
||||||
|
|
||||||
|
.direnv
|
||||||
|
.envrc
|
||||||
|
|
|
||||||
167
flake.nix
167
flake.nix
|
|
@ -5,85 +5,98 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
self,
|
{
|
||||||
nixpkgs,
|
self,
|
||||||
}: let
|
nixpkgs,
|
||||||
supportedSystems = ["x86_64-linux"];
|
}:
|
||||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
let
|
||||||
# Read version from Cargo.toml
|
supportedSystems = [ "x86_64-linux" ];
|
||||||
cargoToml = builtins.fromTOML (builtins.readFile ./src-tauri/Cargo.toml);
|
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||||
version = cargoToml.package.version;
|
# Read version from Cargo.toml
|
||||||
in {
|
cargoToml = builtins.fromTOML (builtins.readFile ./src-tauri/Cargo.toml);
|
||||||
packages = forAllSystems (system: let
|
version = cargoToml.package.version;
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
in
|
||||||
in {
|
{
|
||||||
# AppImage-based package
|
packages = forAllSystems (
|
||||||
handy-appimage = let
|
system:
|
||||||
appimage = pkgs.appimageTools.wrapType2 {
|
let
|
||||||
pname = "handy-appimage-unwrapped";
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
inherit version;
|
in
|
||||||
src = pkgs.fetchurl {
|
{
|
||||||
url = "https://github.com/cjpais/Handy/releases/download/v${version}/Handy_${version}_amd64.AppImage";
|
# AppImage-based package
|
||||||
hash = "sha256-tTswFYLCPGtMbHAb2bQMsklRiRCVXLrtu4pQC8IHdqQ=";
|
handy-appimage =
|
||||||
};
|
let
|
||||||
extraPkgs = p:
|
appimage = pkgs.appimageTools.wrapType2 {
|
||||||
with p; [
|
pname = "handy-appimage-unwrapped";
|
||||||
|
inherit version;
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://github.com/cjpais/Handy/releases/download/v${version}/Handy_${version}_amd64.AppImage";
|
||||||
|
hash = "sha256-tTswFYLCPGtMbHAb2bQMsklRiRCVXLrtu4pQC8IHdqQ=";
|
||||||
|
};
|
||||||
|
extraPkgs =
|
||||||
|
p: with p; [
|
||||||
|
alsa-lib
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
pkgs.writeShellScriptBin "handy" ''
|
||||||
|
export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
||||||
|
exec ${appimage}/bin/handy-appimage-unwrapped "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
default = self.packages.${system}.handy-appimage;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
# Development shell for building from source
|
||||||
|
devShells = forAllSystems (
|
||||||
|
system:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
# Rust
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
rust-analyzer
|
||||||
|
clippy
|
||||||
|
# Frontend
|
||||||
|
nodejs
|
||||||
|
bun
|
||||||
|
# Tauri CLI
|
||||||
|
cargo-tauri
|
||||||
|
# Native deps
|
||||||
|
pkg-config
|
||||||
|
openssl
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
libsoup_3
|
||||||
|
webkitgtk_4_1
|
||||||
|
gtk3
|
||||||
|
gtk-layer-shell
|
||||||
|
glib
|
||||||
|
libxtst
|
||||||
|
libevdev
|
||||||
|
llvmPackages.libclang
|
||||||
|
cmake
|
||||||
|
vulkan-headers
|
||||||
|
vulkan-loader
|
||||||
|
shaderc
|
||||||
|
libappindicator
|
||||||
];
|
];
|
||||||
};
|
|
||||||
in
|
|
||||||
pkgs.writeShellScriptBin "handy" ''
|
|
||||||
export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
|
||||||
exec ${appimage}/bin/handy-appimage-unwrapped "$@"
|
|
||||||
'';
|
|
||||||
|
|
||||||
default = self.packages.${system}.handy-appimage;
|
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
||||||
});
|
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath [ pkgs.libappindicator ]}";
|
||||||
|
|
||||||
# Development shell for building from source
|
shellHook = ''
|
||||||
devShells = forAllSystems (system: let
|
echo "Handy development environment"
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
bun install
|
||||||
in {
|
echo "Run 'bun run tauri dev' to start"
|
||||||
default = pkgs.mkShell {
|
'';
|
||||||
buildInputs = with pkgs; [
|
};
|
||||||
# Rust
|
}
|
||||||
rustc
|
);
|
||||||
cargo
|
};
|
||||||
rust-analyzer
|
|
||||||
clippy
|
|
||||||
# Frontend
|
|
||||||
nodejs
|
|
||||||
bun
|
|
||||||
# Tauri CLI
|
|
||||||
cargo-tauri
|
|
||||||
# Native deps
|
|
||||||
pkg-config
|
|
||||||
openssl
|
|
||||||
alsa-lib
|
|
||||||
libsoup_3
|
|
||||||
webkitgtk_4_1
|
|
||||||
gtk3
|
|
||||||
glib
|
|
||||||
libxtst
|
|
||||||
libevdev
|
|
||||||
llvmPackages.libclang
|
|
||||||
cmake
|
|
||||||
vulkan-headers
|
|
||||||
vulkan-loader
|
|
||||||
shaderc
|
|
||||||
libappindicator
|
|
||||||
];
|
|
||||||
|
|
||||||
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
|
||||||
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath [ pkgs.libappindicator ]}";
|
|
||||||
|
|
||||||
shellHook = ''
|
|
||||||
echo "Handy development environment"
|
|
||||||
bun install
|
|
||||||
echo "Run 'bun run tauri dev' to start"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue