feat(identity): rename user-visible identity to voculinux with one-time legacy import

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
This commit is contained in:
soubarnak
2026-11-06 01:29:39 +05:30
parent c565e6d946
commit ea7be5f111
251 changed files with 2449 additions and 1991 deletions
+13 -13
View File
@@ -1,5 +1,5 @@
{
description = "Vocalinux — free, offline voice dictation for Linux";
description = "Voculinux — free, offline voice dictation for Linux";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
@@ -21,40 +21,40 @@
pkgs = nixpkgs.legacyPackages.${system};
in
{
vocalinux = pkgs.python3Packages.callPackage ./packaging/nix/package.nix {
voculinux = pkgs.python3Packages.callPackage ./packaging/nix/package.nix {
pywhispercpp = pkgs.python3Packages.callPackage ./packaging/nix/pywhispercpp.nix { };
src = self;
};
default = self.packages.${system}.vocalinux;
default = self.packages.${system}.voculinux;
}
);
apps = forAllSystems (system: {
vocalinux = {
voculinux = {
type = "app";
program = "${self.packages.${system}.vocalinux}/bin/vocalinux";
program = "${self.packages.${system}.voculinux}/bin/voculinux";
};
default = self.apps.${system}.vocalinux;
default = self.apps.${system}.voculinux;
});
overlays.default = final: prev: {
vocalinux = self.packages.${prev.stdenv.hostPlatform.system}.vocalinux;
voculinux = self.packages.${prev.stdenv.hostPlatform.system}.voculinux;
};
nixosModules.vocalinux =
nixosModules.voculinux =
{ pkgs, lib, ... }:
{
imports = [ ./packaging/nix/module.nix ];
programs.vocalinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.vocalinux;
programs.voculinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.voculinux;
};
nixosModules.default = self.nixosModules.vocalinux;
nixosModules.default = self.nixosModules.voculinux;
homeManagerModules.vocalinux =
homeManagerModules.voculinux =
{ pkgs, lib, ... }:
{
imports = [ ./packaging/nix/home-manager.nix ];
programs.vocalinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.vocalinux;
programs.voculinux.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.voculinux;
};
homeManagerModules.default = self.homeManagerModules.vocalinux;
homeManagerModules.default = self.homeManagerModules.voculinux;
};
}