Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Core Profile — Shared User Profile Options

Purpose

The core.profile module declares a set of shared user-profile options that act as a single source of truth for values consumed by other modules — desktop environments, shell companions, and display managers — rather than hardcoded literals.

Entry Point

Architecture / Services / Scope

The module only declares options; it does nothing on its own. Consumers use config.core.profile.* to read the values.

Options

core.profile.avatar.path

Typestring
Default${config.home.homeDirectory}/.face

Path to user avatar image.


core.profile.location.secret

Typenull or string
Defaultnull

SOPS secret name used for Noctalia location address.


core.profile.wallpaper.directory

Typestring
Default${config.home.homeDirectory}/Pictures/Wallpapers

Path to wallpaper image directory.


core.profile.avatar.path

Path to the user avatar image. Used by the Noctalia desktop shell (via programs.noctalia.settings.shell.avatar_path) to display the user picture in the bar and session UI.

core.profile.wallpaper.directory

Directory containing wallpaper images.

Consumers:

ConsumerHow it uses the value
Noctalia desktop shellSets programs.noctalia.settings.wallpaper.directory
GNOME azwallpaper extensionSets org/gnome/shell/extensions/azwallpaper slideshow-directory

core.profile.location.secret

Name of a SOPS secret whose decrypted value becomes the Noctalia location.address. When unset, the location block is omitted from the Noctalia config entirely. At activation time, the decrypted secret is appended to a base Noctalia config TOML (generated by the module) and written to ~/.config/noctalia/config.toml — the clear-text address never lands in the repo or Nix store.

Secrets

  • core.profile.location.secret — name of a SOPS secret (not a literal value) whose decrypted content supplies the Noctalia location address at activation time.

Usage Example

{ ... }: {
  core.profile = {
    avatar.path = "/home/user/.face";
    wallpaper.directory = "/home/user/Pictures/Backgrounds";
    location.secret = "noctalia-location";
  };
}

Operational Notes / Assumptions

  • The GNOME azwallpaper extension consumes core.profile.wallpaper.directory via dconf-extensions.nix (home/shared/desktop/gnome/).