{ description = "Voculinux — free, offline voice dictation for Linux"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { packages = forAllSystems ( system: let pkgs = nixpkgs.legacyPackages.${system}; in { voculinux = pkgs.python3Packages.callPackage ./packaging/nix/package.nix { pywhispercpp = pkgs.python3Packages.callPackage ./packaging/nix/pywhispercpp.nix { }; src = self; }; default = self.packages.${system}.voculinux; } ); apps = forAllSystems (system: { voculinux = { type = "app"; program = "${self.packages.${system}.voculinux}/bin/voculinux"; }; default = self.apps.${system}.voculinux; }); overlays.default = final: prev: { voculinux = self.packages.${prev.stdenv.hostPlatform.system}.voculinux; }; nixosModules.voculinux = { pkgs, lib, ... }: { imports = [ ./packaging/nix/module.nix ]; programs.voculinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.voculinux; }; nixosModules.default = self.nixosModules.voculinux; homeManagerModules.voculinux = { pkgs, lib, ... }: { imports = [ ./packaging/nix/home-manager.nix ]; programs.voculinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.voculinux; }; homeManagerModules.default = self.homeManagerModules.voculinux; }; }