- Configure Firefox with privacy settings and extensions (Bitwarden, Plasma Integration, MetaMask, Kagi Search, uBlock Origin) - Set Kagi as default/only search engine - Add MOZ_USE_XINPUT2=1 for smooth scrolling - Create context/ directory for concise unit documentation - Create tests/ directory for test scripts - Move test-firefox-config.sh to tests/ - Update agents.md with documentation workflow guidelines - Fix syntax errors in desktop.nix and dev.nix |
||
|---|---|---|
| .. | ||
| README.md | ||
| test-firefox-config.sh | ||
Tests Directory
This directory contains test scripts for verifying NixOS configurations.
Purpose
Automated verification of system configurations to catch issues before deployment.
Available Tests
Firefox Configuration Test
Script: test-firefox-config.sh
Verifies Firefox Home Manager configuration for user jsutter:
- Environment variables (
MOZ_USE_XINPUT2) - Policy file existence and validity
- Extension policies
- Profile preferences
- Privacy settings
Usage:
./test-firefox-config.sh
Requirements:
- Firefox installed
- Valid Home Manager configuration
- JSON parsing tool (
jqor Python)
Running Tests
All Tests
tests/test-firefox-config.sh
Specific Test
./tests/test-firefox-config.sh
Test Conventions
Shell Scripts
- Use
set -efor error handling - Define colored output for readability
- Track pass/fail/skip counts
- Return non-zero on failure
- Use helper functions (
print_pass,print_fail, etc.)
Test Coverage
Tests should verify:
- Configuration builds successfully
- Policies are active (
about:policies) - Settings are enforced
- Extensions are force-installed
- User preferences are applied
Adding New Tests
- Create test script in
tests/ - Make executable:
chmod +x tests/new-test.sh - Document in this README
- Follow naming convention:
test-<service>.sh
Notes
- Many tests require services to be deployed first
- Some Firefox tests require Firefox to have been run once
- Automated tests complement manual verification
- Update test scripts when configurations change
Related Documentation
context/- Configuration documentationagents.md- Agent procedures