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
boolean
default:"false"
Enable the browser.
int
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
boolean
default:"false"
Enable Discord client (Vesktop).
Development Tools
Comprehensive development environment configuration.Enabling Development Tools
boolean
default:"false"
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
boolean
default:"false"
Enable Neovim editor.
int
default:"20"
Priority for being the default editor.
nvf (NeoVim Flake) framework, which provides a type-safe, modular configuration system.
Example from homes/soriphoono:
VSCode / VSCodium
boolean
default:"false"
Enable VSCode/VSCodium editor.
package
default:"pkgs.vscodium"
The VSCode package to use.
string
default:"codium.desktop"
The desktop file name for XDG integration.
int
default:"30"
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
boolean
default:"false"
Enable Bitwarden desktop client.
Nextcloud
boolean
default:"false"
Enable Nextcloud sync client.
Example
Office Suite
Productivity applications (configured inmodules/home/userapps/office/).
Default Applications
Control XDG MIME type associations.boolean
default:"false"
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