Enabling User Applications
The top-leveluserapps.enable option enables profile-sync-daemon for browser optimization:
- Profile Sync Daemon (psd) - Syncs browser profiles to tmpfs for improved performance
- Resync interval: 10 minutes
Browsers
Multiple browsers can be installed simultaneously. Priority values determine which becomes the default.Available Browsers
LibreWolf
Privacy-focused Firefox fork with pre-configured privacy settings.Priority: 10 (highest by default)
Firefox
Mozilla Firefox with FF-ULTIMA theme and privacy extensions.Priority: 20
Floorp
Japanese Firefox-based browser with unique features.Priority: 30
Google Chrome
Google’s browser (binary distribution).Priority: 100 (lowest, fallback)
Common Options
Enable the browser.
Priority for becoming the default browser. Lower values win.
Firefox-based Browsers
LibreWolf, Firefox, and Floorp share common configuration:Search Engines
All Firefox-based browsers include custom search engines:- DuckDuckGo (default) - Privacy-focused search
- Nix Packages (
@np) - Search NixOS packages - Nix Options (
@no) - Search NixOS options - NixOS Wiki (
@nw) - Search the NixOS wiki
Extensions
Pre-installed extensions:- uBlock Origin - Ad and tracker blocking
- Privacy Badger - Intelligent tracker blocking
- Bitwarden - Password manager integration
Theme
Firefox-based browsers use the FF-ULTIMA theme for a modern, minimalist interface.Example Configuration
Chrome Configuration
Chrome has a special default behavior:Communication
Communication applications for messaging and collaboration.Discord
Enable Discord client (Vesktop).
Development Tools
Comprehensive development environment configuration.Enabling Development Tools
Enable development tools and configure environment.
- npm with local bin directory in PATH (
~/.npm/bin) - uv - Fast Python package installer and resolver
Text Editors
Editor modules support priority-based defaults forEDITOR and VISUAL environment variables.
Neovim
Enable Neovim editor.
Priority for being the default editor.
Neovim configuration settings passed to nvf.
nvf (NeoVim Flake) framework, which provides a type-safe, modular configuration system.
Example from homes/soriphoono:
VSCode / VSCodium
Enable VSCode/VSCodium editor.
The VSCode package to use.
The desktop file name for XDG integration.
Priority for being the default editor. Lower priority than terminal editors by default.
AI Agents
AI agent configuration modules for LLM integration.modules/home/userapps/development/agents/:
mcp-servers.nix- Model Context Protocol server managementskills.nix- Agent skill definitionsclients/gemini.nix- Google Gemini API client
Development Categories
The development module structure includes:Example Configuration
Data Fortress
Security and cloud storage applications.Bitwarden
Enable Bitwarden desktop client.
Nextcloud
Enable Nextcloud sync client.
Example
Office Suite
Productivity applications (configured inmodules/home/userapps/office/).
Default Applications
Control XDG MIME type associations.Enable setting default applications via Nix configuration.
- Default web browser for HTTP/HTTPS links
- Default text editor for plain text and code files
- Other file type associations