Skip to content

Home Manager modules

Home profile for advanced users (computer scientists, developers, admins).

  • enable bool Enable advanced user features
  • enableTools bool Various tools for advanced users
  • enablePhoneTools bool Smartphone tools (scrcpy)
  • enableAdmin bool Enable administrator features (network, os tools)
  • enableNixAdmin bool Enable nix administration features
  • enableDeveloper bool Enable tools for developer
  • enableEssentials bool Frequently used tools
darkone.home.advanced = {
enable = false;
enableTools = false;
enablePhoneTools = false;
enableAdmin = false;
enableNixAdmin = false;
enableDeveloper = true;
enableEssentials = true;
};

AI coding tools and supporting utilities.

  • enable bool Enable AI tools and supporting utilities
  • enableClaude bool Claude Code CLI
  • enableOpenCode bool OpenCode terminal AI agent
  • enableCodex bool OpenAI Codex CLI
  • enableAider bool Aider AI pair programming
  • enableGoose bool Goose AI coding agent (Block Inc.)
  • preferLocal bool Prefer local models than cloud ones
darkone.home.ai = {
enable = false;
enableClaude = false;
enableOpenCode = false;
enableCodex = false;
enableAider = false;
enableGoose = false;
preferLocal = false;
};

Audio tools and effects.

Installs an audio player (vlc) and the MP3 encoder (lame) unconditionally, then layers editors and effects (audacity, easyeffects with the easyeffects-fw16 preset) when enableTools is set. Real-time noise reduction (noisetorch) is intentionally disabled because it requires PulseAudio.

  • enable bool Audio tools
  • enableTools bool Audio tools / editors (audacity, easyeffect, noisetorch…)
darkone.home.audio = {
enable = false;
enableTools = false;
};

Several graphical education packages.

  • enable bool Education software collection
  • enableBaby bool Education software for babies (<=6 yo)
  • enableChild bool Education software for children (6-12 yo)
  • enableStudent bool Education software for teenagers and adults (>=12 yo)
  • enableMath bool Math tools and apps
  • enableMusic bool Music tools and apps
  • enableScience bool Scientific tools and apps
  • enableDraw bool Draw tools and apps
  • enableLang bool Lang tools and apps
  • enableMisc bool Misc tools and apps (general, training…)
  • enableComputer bool Computing tools and apps (klavaro, etc.)
darkone.home.education = {
enable = false;
enableBaby = false;
enableChild = false;
enableStudent = false;
enableMath = true;
enableMusic = true;
enableScience = true;
enableDraw = true;
enableLang = true;
enableMisc = true;
enableComputer = true;
};

Several graphical game packages.

  • enable bool Enable games
  • enableBaby bool Games for babies (<=6 yo)
  • enableChild bool Games for children (6-12 yo)
  • enableTeenager bool Games for teenagers and adults (>=12 yo)
  • enable3D bool More 3D Games
  • enableCli bool Cli Games
  • enableStk bool SuperTuxKart (only)
  • enableMore bool More (secondary) games in each categories
darkone.home.games = {
enable = false;
enableBaby = false;
enableChild = false;
enableTeenager = false;
enable3D = false;
enableCli = false;
enableStk = false;
enableMore = false;
};

Gnome tweaks for home-manager.

Hides the bare xterm launcher unconditionally, registers polished .desktop entries for scrcpy and scrcpy-console when the package is part of the user’s home.packages, and (when hideTechnicalIcons is set) hides Settings, Extensions, Printers and File Roller icons for beginner / child profiles.

  • enable bool Enable gnome settings for home manager
  • hideTechnicalIcons bool Hide some icons for beginners / children / babies
darkone.home.gnome = {
enable = false;
hideTechnicalIcons = false;
};

Image processing software.

Always installs the lightweight viewer (geeqie) and editor (gimp), then layers tooling by audience: enableBeginner adds pinta, enablePro adds inkscape/krita/yed, enable3D (with enablePro) adds blender, enableCAD adds freecad (from stable nixpkgs to avoid Qt churn), and enableCli adds imagemagick/jhead.

  • enable bool Imagery creation
  • enablePro bool Additional image processing software for professionals
  • enableBeginner bool Additional image processing software for beginners
  • enable3D bool 3D softwares
  • enableCAD bool CAD softwares
  • enableCli bool CLI tools (imagemagick, jhead…)
darkone.home.imagery = {
enable = false;
enablePro = false;
enableBeginner = false;
enable3D = false;
enableCAD = false;
enableCli = false;
};

Mime types DNF module. (wip)

  • enable bool Enable DNF default applications update
darkone.home.mime.enable = false;

Graphical music and sound creation apps.

Categorised by audience: enablePro (ardour, reaper, renoise, rosegarden), enableCreator (decibels, hydrogen), enableScore (musescore, muse-sounds-manager), enableFun (mixxx, mousai), enableCli (mpg123, cmus, lilypond), enableEasy (gnome-music vs. audacious), enableMpd (MPD daemon, ncmpcpp, mpdris2), and enableDev (lilypond).

  • enable bool Music creation home module
  • enablePro bool Hard tools for professionals (rose, ardour…)
  • enableFun bool Fun audio tools (mixxx…)
  • enableCli bool Command line audio tools (mpg123, cmus, moc…)
  • enableDev bool Audio software for developers (lilypond…)
  • enableMpd bool MPD daemon and players (mpd, ncmpcpp…)
  • enableEasy bool Easy tools instead of efficient (gnome-music vs audacious…)
  • enableScore bool Score softwares (musescore…)
  • enableCreator bool Creation tools for beginners (lmms, hydrogen…)
darkone.home.music = {
enable = false;
enablePro = false;
enableFun = false;
enableCli = false;
enableDev = false;
enableMpd = false;
enableEasy = false;
enableScore = false;
enableCreator = false;
};

Common tools for office desktop.

  • enable bool Default useful packages

  • enableMore bool More alternative packages

  • enableUnsafeFeatures bool Features for advanced non-child users

  • enableUBlock bool Enable ublock plugin

  • enableTools bool Little (gnome) tools (iotas, dialect, etc.)

  • enableProductivity bool Productivity apps (obsidian, time mgm, projects, etc.)

  • enableCommunication bool Communication tools

  • enableOffice bool Office packages (libreoffice, huntspell, fonts…)

  • enableFirefox bool Enable firefox

  • enableLibreWolf bool Enable LibreWolf (firefox alternative)

  • enableChromium bool Enable chromium

  • enableBrave bool Enable Brave Browser

  • enableEmail bool Email management packages (thunderbird)

  • enableSecurity bool Security tools (keepass)

  • enableCalendarContacts bool Gnome calendar, contacts and related apps

  • enableEssentials bool Essential tools

  • huntspellLang str Huntspell Lang 🡕

  • enableElementAutoStart bool Auto-start Element Desktop on login when a local Matrix server is present

  • enableFractalAutoStart bool Auto-start Fractal on login when a local Matrix server is present (opt-in, see caveats below)

  • nextcloud.enable bool Install the Nextcloud desktop client, pre-bound to the network instance

  • nextcloud.server nullOr str Nextcloud instance the client binds to. null picks the one declared on the network (this zone first). Set it to target a local or external instance instead.

  • nextcloud.enableAutoStart bool Start the Nextcloud client in the background on login

  • nextcloud.enableWebdav bool Ship nextcloud-webdav-login, a one-shot helper that authenticates through the browser (Kanidm SSO) and registers the result as a GNOME Online Account: files over WebDAV in the file manager, plus calendar and contacts in Evolution. Needed because Nextcloud refuses to create an app password from its web UI for an OIDC user.

    The helper also prints the app password, so any other WebDAV client can be pointed at the same account.

    Ignored when darkone.home.office.nextcloud.enable is off.

  • nextcloud.syncDir nullOr str Local folder pre-filled in the setup wizard, relative to $HOME.

darkone.home.office = {
enable = false;
enableMore = false;
enableUnsafeFeatures = false;
enableUBlock = false;
enableTools = false;
enableProductivity = false;
enableCommunication = false;
enableOffice = false;
enableFirefox = false;
enableLibreWolf = false;
enableChromium = false;
enableBrave = false;
enableEmail = false;
enableSecurity = false;
enableCalendarContacts = false;
enableEssentials = true;
huntspellLang = "en-us";
enableElementAutoStart = true;
enableFractalAutoStart = false;
nextcloud.enable = detectedNextcloud != null;
nextcloud.server = "https://cloud.example.com";
nextcloud.enableAutoStart = true;
nextcloud.enableWebdav = true;
nextcloud.syncDir = "Nextcloud";
};

Home module: gaze-driven input (Talon autostart + Onboard tuned for eye tracking).

  • enable bool Gaze-driven input configuration (Talon + Onboard)
  • enableTalonAutostart bool Start Talon on session login (talon must be in PATH).
  • communityScripts nullOr package talonhub/community tree deployed to ~/.talon/user/community.
  • enableDwell bool dwell click: clicking by resting the pointer. Off by default — it is only usable with an eye tracker, and with a mouse it fires on whatever the pointer was left over (the a11y menu toggling zoom or the on-screen keyboard, typically)
  • dwellTime float Dwell click delay in seconds.
darkone.home.umi = {
enable = false;
enableTalonAutostart = true;
communityScripts = null;
enableDwell = false;
dwellTime = 1.2;
};

Video tools and applications.

Always installs the GNOME viewer (showtime) and gates the rest by audience: enableTools (ffmpeg, mlt, vlc, video-trimmer, parabolic), enableEditing (kdenlive + shotcut from stable nixpkgs), enableCreator (OBS Studio with obs-backgroundremoval, obs-vkcapture, etc.), enableUnfree (davinci-resolve from stable), and enableAlternative (mpv).

  • enable bool Video creation and tools home module
  • enableTools bool Video tools for professionals
  • enableEditing bool Video editing tools (kdenlive…)
  • enableCreator bool Video creator tools (obs…)
  • enableUnfree bool Unfree video apps (davinci…)
  • enableAlternative bool Alternative video apps (mpv…)
darkone.home.video = {
enable = false;
enableTools = false;
enableEditing = false;
enableCreator = false;
enableUnfree = false;
enableAlternative = false;
};