Files
voculinux/.gitignore
T
c3c390f19d feat(nix): add flake package, NixOS and Home Manager modules (#936)
* feat(nix): add flake package, NixOS and Home Manager modules

Add a flake.nix plus packaging/nix derivations so Nix and NixOS users can
run and install Vocalinux declaratively, including via Home Manager.

- package.nix: buildPythonApplication with GTK3, libayatana-appindicator,
  IBus and libnotify typelibs; wraps the entry point with every host tool
  the injectors probe for (xdotool, wtype, ydotool, wl-clipboard, xclip,
  xsel, xprop, setxkbmap, ibus, gdbus, notify-send, paplay, aplay)
- pywhispercpp.nix: builds pywhispercpp from its vendored PyPI sdist
  (absent from nixpkgs, same gap as Debian/Fedora), static whisper.cpp,
  GGML_NATIVE=OFF for a portable baseline
- module.nix: NixOS module enabling hardware.uinput and installing the
  package; input/uinput group membership stays a per-user choice
- home-manager.nix: programs.vocalinux.enable installs into the profile
- docs/INSTALL.md gains a Nix / NixOS section; packaging/nix/README.md
  carries the usage snippets

Refs #931

* fix(nix): address review findings on imports check and docs

- pywhispercpp: check pywhispercpp.model and _pywhispercpp too, so the
  compiled binding is proven loadable, not just the package
- README Home Manager example: declare the nixpkgs/home-manager inputs
  and pass pkgs, which homeManagerConfiguration requires
- package.nix: use top-level xprop/setxkbmap attrs (xorg.* is deprecated)

---------

Co-authored-by: Jatin K Malik <jatinkrmalik@gmail.com>
2026-10-10 20:40:25 -07:00

179 lines
2.2 KiB
Plaintext

# Python bytecode files
__pycache__/
*.py[cod]
*$py.class
# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
*.snap
# snapcraft local build trees (repo root only)
/parts/
/prime/
/stage/
/snap/.snapcraft/
/.snapcraft/
# Virtual environments
venv/
env/
ENV/
.env
.venv/
activate-vocalinux.sh
# Local development settings
.vscode/
.idea/
*.swp
*.swo
*~
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
coverage.xml
*.cover
.pytest_cache/
.nyc_output
# Downloaded models and data
*.model
/models/
.local/
# Log files
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# OS specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# Installed desktop entries
*-installed.desktop
# Pre-commit
.pre-commit-cache/
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Package manager lock files (keep bun.lock but ignore others if mixed)
# Allow package-lock.json in web directory for GitHub Actions caching
yarn.lock
pnpm-lock.yaml
package-lock.json
!web/package-lock.json
# Build outputs
out/
.next/
.nuxt/
dist/
build/
# Flatpak build artifacts
.flatpak-builder/
build-dir/
/repo/
*.flatpak
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Coverage directory used by tools like istanbul
coverage/
.nyc_output
# ESLint cache
.eslintcache
# Prettier cache
.prettierache
# TypeScript cache
*.tsbuildinfo
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# Dependency directories
jspm_packages/
# Temporary folders
tmp/
temp/
MagicMock/
tmp/
temp/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.swp
*.swo
*~
# Turbo
.turbo
# Vercel
.vercel
# Storybook build outputs
.out
.storybook-out
# Local Netlify folder
.netlify
.claude-workflow-rules.md
# Analysis documents (keep local)
CROSS_DISTRO_ANALYSIS.md
FIX_PLAN.md
# opentree - local AI worktree orchestration tool (per-developer, not shared)
.opentree/
opentree.toml
# Sisyphus - local AI agent loop state (per-developer, not shared)
.sisyphus/
# Nix build output symlinks
result
result-*