The fork takes its own name everywhere a user can see it: binaries (voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus namespace (com.voculinux.Voculinux, no alias for the old name), config/data/cache dirs, single-instance lock, IBus engine identity, tray icons, resource prefixes, VOCULINUX_* environment names, and the update-checker user agent. The internal Python module stays vocalinux and the distribution metadata keeps the upstream URLs as provenance. On first run a previous Vocalinux install's config.json, custom dictionary, and portal restore token are copied once into the new locations (new config always wins, no merge, no write-back); models re-resolve through the pinned-checksum download path. An offline naming-sweep test proves no old-name strings remain on user-visible surfaces outside the allowlist. Refs #18
61 lines
1.7 KiB
Nix
61 lines
1.7 KiB
Nix
{
|
|
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;
|
|
};
|
|
}
|