ordenada

Ordenada is a configuration framework based on the Nix package manager that aims to make it easy to build reproducible development environments. It draws inspiration from the RDE project for GNU Guix.

Ordenada's configuration is centered around users and features. Features are blocks of configuration that provide certain functionality for a user, such as setting up your email, adding your GnuPG keys, or configuring your window manager. Normally, you only need to enable them and all the required settings will automatically be configured for you, although there are many available options you can tweak to fit your needs. See the full list of features and options.

NOTE: Ordenada is in current development and its API is subject to change

Installation

You can install Ordenada into your NixOS configuration using Flakes. First, add its flake URL to your list of inputs.

{
  inputs = {
    # ...other inputs
    ordenada.url = "github:migalmoreno/ordenada";
  };
}

Import its list of modules into your configuration.

{
  outputs =
    { nixpkgs, ordenada, ... }:
    {
      nixosConfigurations."<hostname>" = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          # ...other modules
          ordenada.nixosModules.ordenada
        ];
      };
    };
}

Optionally, if you want to make use of Ordenada's utility library, to e.g. create your own features, add the following to your configuration.

nixpkgs.overlays = [ ordenada.overlays.default ];

Usage

In a typical single user setup, you just need to add a global set of features and add your user to the users set.

{ config, pkgs, ... }:

{
  ordenada = {
    users = {
      bob = { };
    };
    features = {
      userInfo = {
        username = "bob";
      };
      home.enable = true;
      gnupg.enable = true;
      gtk = {
        enable = true;
        theme = {
          name = "adw-gtk3";
          package = pkgs.adw-gtk3;
        };
      };
      emacs = {
        enable = true;
        all-the-icons.enable = true;
        appearance.enable = true;
        eglot.enable = true;
        modus-themes = {
          enable = true;
          dark = true;
        };
      };
      irc = {
        enable = true;
        accounts = {
          libera = {
            network = "irc.libera.chat";
            nick = "bob";
          };
          oftc = {
            network = "irc.oftc.net";
            nick = "bob";
          };
        };
      };
      mail = {
        enable = true;
        accounts = {
          personal = {
            primary = true;
            fqda = "bob@example.com";
            extraConfig = {
              imap = {
                host = "mail.example.com";
                port = 993;
              };
              smtp = {
                host = "mail.example.com";
                port = 465;
              };
            };
          };
        };
      };
      sway.enable = true;
      waybar = {
        enable; = true;
        modules = with config.ordenada.features.waybar.defaultModules; [
          swayWorkspaces
          swayWindow
          pulseaudio
          battery
          swayLanguage
          clock
          swaync
        ];
      };
    };
  };
}

In more complex multi-user installations, you can modify the set of user features to match each user's needs. As shown in the example below, you could make user bob augment the global features with ones specific to him. Alternatively, you could also create an set of user features from scratch and augment certain features as you go, like in the case of the alice user below.

{ config, ... }:

{
  ordenada = {
    users = {
      bob = {
        features = config.ordenada.features // {
          emacs.spelling.enable = true;
          firefox.enable = false;
        };
      };
      alice = {
        features = with config.ordenada.features; {
          userInfo = {
            username = "alice";
          };
          inherit gnupg;
          home.enable = true;
          bash.enable = true;
          emacs = with emacs; {
            enable = true;
            dired.enable = true;
            org-roam.enable = true;
            inherit modus-themes eglot;
          };
        };
      };
    };
    features = {
      userInfo = {
        username = "bob";
      };
      # ...rest of global features
    };
  };
}

With the above setup, two users bob and alice will be configured in the system. bob will end up with an augmented global features setup while alice will only have the features home, bash, the inherited global gnupg feature, and emacs along with its features.

By default, all users inherit the global features. Thus, if you want to write a user features set from scratch (e.g. alice's example above) you don't need to include the whole global features set again for a new user feature (e.g. the home, bash, and emacs features above). However, if you want to apply the feature default settings to the user feature (i.e. those that are not explicitly set in the global feature) you'll need to explicitly inherit from the global feature, such as the case with the gnupg feature above.

Extending it

You can use Ordenada's utilities to extend its available features with your own. For instance, the following shows how to create a feature example.

{
  config,
  lib,
  pkgs,
  ...
}:

with pkgs.lib.ordenada;

let
  cfg = config.ordenada.features.example;
in
{
  options = {
    ordenada.features.example = {
      enable = lib.mkEnableOption "the example feature";
      message = lib.mkOption {
        type = lib.types.str;
        description = "The message to show.";
        default = "";
      };
    };
  };
  config = (
    lib.mkMerge [
      (lib.mkIf cfg.enable {
        environment.sessionVariables = {
          EXAMPLE_ENV = 1;
        };
      })
      {
        home-manager = mkHomeConfig config "example" (user: {
          home.sessionVariables = lib.mkIf (hasFeature "acme" user) {
            EXAMPLE_HOME_ENV = "EXAMPLE_HOME_ENV_VALUE";
          };
          programs.emacs = mkElispConfig {
            name = "ordenada-example";
            config = ''
              ;; < your Elisp configuration >
              (setq my-elisp-value ${user.features.example.message})
            '';
            elispPackages = [ ];
            summary = "My example Emacs feature";
          };
        });
      }
    ]
  );
}

The example feature above showcases a common feature definition workflow. First, we define a list of options for this feature that we'll be able to access from anywhere in our configuration. Then, we add a system configuration if the feature is enabled. Next, we add a home configuration via the special utility mkHomeConfig, which allows us to configure home settings for all our Ordenada users. In this example, we set a home environment variable as long as the acme feature is enabled (checked with the hasFeature utility). Finally, we add Emacs Lisp configuration through the mkElispConfig utility which will add a new Emacs configuration package for this feature with interpolated feature options (user.features.example.message).

Configuration Options

ordenada.features.age.enable

Whether to enable the age feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/age.nix>

ordenada.features.age.package

The age package to use.

Type: package

Default: <derivation age-1.2.0>

Declared by: - <ordenada/modules/age.nix>

ordenada.features.age.identities

The list of age identities.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/age.nix>

ordenada.features.age.recipients

The list of age recipients.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/age.nix>

ordenada.features.android.enable

Whether to enable the Android feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/android.nix>

ordenada.features.bash.enable

Whether to enable the Bash feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/bash.nix>

ordenada.features.bash.package

The bash package to use.

Type: package

Default: pkgs.bashInteractive

Declared by: - <ordenada/modules/bash.nix>

ordenada.features.bemenu.enable

Whether to enable the bemenu feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/wm/bemenu.nix>

ordenada.features.bemenu.height

The height of the bemenu prompt.

Type: signed integer

Default: 34

Declared by: - <ordenada/modules/wm/bemenu.nix>

ordenada.features.bluetooth.enable

Whether to enable the Bluetooth feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/bluetooth.nix>

ordenada.features.clojure.enable

Whether to enable the Clojure feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/clojure.nix>

ordenada.features.compile.enable

Whether to enable the compile feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/compile.nix>

ordenada.features.direnv.enable

Whether to enable the Direnv feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/direnv.nix>

ordenada.features.docker.enable

Whether to enable the Docker feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/docker.nix>

ordenada.features.emacs.enable

Whether to enable the Emacs feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.package

The emacs package to use.

Type: package

Default: pkgs.emacs29-pgtk

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.ace-window.enable

Whether to enable Emacs ace-window feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/ace-window.nix>

ordenada.features.emacs.advancedUser

Whether to enable advanced user mode for Emacs features.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.all-the-icons.enable

Whether to enable the Emacs all-the-icons feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/all-the-icons.nix>

ordenada.features.emacs.apheleia.enable

Whether to enable the Emacs Apheleia feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/programming.nix>

ordenada.features.emacs.appearance.enable

Whether to enable the Emacs appearance feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.fringes

The width of the window's frame fringes.

Type: signed integer

Default: 8

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.headerLineAsModeLine

Whether to enable the Emacs header line to be used as the mode line.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.headerLinePadding

The padding for the Emacs header line.

Type: signed integer

Default: 4

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.margin

The margin in between Emacs windows.

Type: signed integer

Default: 8

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.modeLinePadding

The padding for the Emacs mode line.

Type: signed integer

Default: 4

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.appearance.tabBarPadding

The padding for the Emacs tab bar.

Type: signed integer

Default: 4

Declared by: - <ordenada/modules/emacs/appearance.nix>

ordenada.features.emacs.calendar.enable

Whether to enable the Emacs Calendar feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.calendar.apptKey

Keybinding to launch the Emacs appointment notifications.

Type: string

Default: "A"

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.calendar.calendarKey

Keybinding to launch the Emacs Calendar.

Type: string

Default: "c"

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.calendar.dateStyle

The style for displaying dates in the Emacs calendar and diary.

Type: one of "american", "european", "iso"

Default: "iso"

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.calendar.diaryFile

The name of the file where the Emacs diary is located.

Type: string

Default: "/home/nixos/documents/diary"

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.calendar.weekNumbers

Whether to enable showing week numbers in the Emacs calendar.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/calendar.nix>

ordenada.features.emacs.cider.popReplOnConnect

If true, pop a REPL buffer and focus on it, if "display-only" pop it but don't focus on it, and if false create it but don't display it.

Type: string matching the pattern display-only or boolean

Default: "display-only"

Declared by: - <ordenada/modules/clojure.nix>

ordenada.features.emacs.cider.replInCurrentWindow

Whether to enable showing the REPL in the current window.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/clojure.nix>

ordenada.features.emacs.completion.enable

Whether to enable the Emacs completion feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/completion.nix>

ordenada.features.emacs.consult.enable

Whether to enable the Emacs consult feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/consult.nix>

ordenada.features.emacs.consult.initialNarrowing

Whether to enable the initial narrowing of mini-buffer items.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/consult.nix>

ordenada.features.emacs.corfu.enable

Whether to enable the Emacs Corfu feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/corfu.nix>

ordenada.features.emacs.corfu.globalModes

List of modes where Corfu should be enabled.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/corfu.nix>

ordenada.features.emacs.daemons.enable

Whether to enable the Emacs daemons feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/daemons.nix>

ordenada.features.emacs.daemons.fillFrame

Whether to enable showing the list of daemons in the current full frame.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/daemons.nix>

ordenada.features.emacs.defaultThemes

The light theme to use for Emacs.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.dired.enable

Whether to enable the Emacs Dired feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/dired.nix>

ordenada.features.emacs.dired.extraSwitches

The list of extra switches passed to ls for Dired.

Type: list of string

Default:

[
  "-h"
]

Declared by: - <ordenada/modules/emacs/dired.nix>

ordenada.features.emacs.dired.groupDirsFirst

Whether to enable sorting directories first in Dired listing.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/emacs/dired.nix>

ordenada.features.emacs.dired.killOnNewBuffer

Whether to enable killing current Dired buffer on opening new buffer.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/dired.nix>

ordenada.features.emacs.ebdb.enable

Whether to enable the Emacs EBDB feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/ebdb.nix>

ordenada.features.emacs.ebdb.sources

The list of EBDB database sources.

Type: list of string

Default:

[
  "/home/nixos/documents/contacts"
]

Declared by: - <ordenada/modules/emacs/ebdb.nix>

ordenada.features.emacs.eglot.enable

Whether to enable the Emacs Eglot feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/programming.nix>

ordenada.features.emacs.embark.enable

Whether to enable the Emacs Embark feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/embark.nix>

ordenada.features.emacs.erc.alignNicknames

Whether to enable aligning nicks in ERC buffers.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.autoQuery

Buffer behavior upon receiving a private message.

Type: null or one of "window", "window-no-select", "frame", "bury", "buffer"

Default: "window-no-select"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.autojoin

Whether to enable joining channels automatically.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.autojoinChannels

Attrset of channels to autojoin in given IRC networks.

Type: attribute set of list of string

Default: { }

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.defaultPort

Default IRC server port to use in ERC.

Type: signed integer

Default: 6697

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.defaultServer

Default IRC server name to use in ERC.

Type: string

Default: "irc.libera.chat"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.fullName

Full name to use for ERC users.

Type: null or string

Default: null

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.headerLineFormat

Format string to be shown as the header-line in ERC buffers.

Type: null or string

Default: " %n on %t (%m,%l)"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.hideList

List of message types to hide.

Type: list of string

Default:

[
  "NICK"
  "JOIN"
  "PART"
  "QUIT"
  "MODE"
  "AWAY"
]

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.joinBuffer

Buffer behavior upon joining a newly created IRC buffer.

Type: null or one of "window", "window-no-select", "frame", "bury", "buffer"

Default: "bury"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.key

Keybinding to launch ERC.

Type: string

Default: "i"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.killBuffersOnQuit

Whether to enable killing ERC buffers on quit.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.log

Whether to enable logging ERC sessions.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.nick

Nick to use for ERC users.

Type: null or string

Default: null

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.promptForPassword

Whether to enable prompting for password upon connecting to an IRC network.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.queryDisplay

Buffer behavior when using the /QUERY command to talk to someone.

Type: null or one of "window", "window-no-select", "frame", "bury", "buffer"

Default: "window"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.showImages

Whether to enable showing images in ERC buffers.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.sidebarHeaderLineFormat

The header line format for the ERC status side bar.

Type: null or string

Default: " ERC Status"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.sidebarModeLineFormat

The header line format for the ERC status side bar.

Type: null or string

Default: null

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.sidebarWidth

The width of the ERC status sidebar.

Type: signed integer

Default: 22

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.erc.trackExcludeTypes

List of message types to ignore from notifications.

Type: list of string

Default:

[
  "324"
  "329"
  "JOIN"
  "MODE"
  "NICK"
  "PART"
  "QUIT"
]

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.emacs.eshell.enable

Whether to enable the Emacs Eshell feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/eshell.nix>

ordenada.features.emacs.extraConfig

Extra Emacs configuration.

Type: strings concatenated with "\n"

Default: ""

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.extraPackages

List of extra Emacs packages.

Type: list of package

Default: [ ]

Declared by: - <ordenada/modules/emacs>

ordenada.features.emacs.flymake.enable

Whether to enable the Emacs Flymake feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/programming.nix>

ordenada.features.emacs.gnus.enable

Whether to enable the Emacs Gnus feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.directory

Gnus directory variable.

Type: string

Default: "/home/nixos/.cache/emacs/gnus"

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.groupParameters

Group-specific settings.

Type: attribute set of attribute set of (string or signed integer)

Default: { }

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.key

Keybinding to launch the Gnus newsgroup reader.

Type: string

Default: "g"

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.messageArchiveGroup

Group name where to save the messages you've written.

Type: null or (list of string)

Default: null

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.messageArchiveMethod

Mail method to archive the messages you've sent.

Type: null or (list of string)

Default: null

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.postingStyles

Posting styles based on the current group or article.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.topicGroups

Topics-groups attrset to categorize groups into topics.

Type: attribute set of list of string

Default: { }

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.gnus.topicTopology

Hierarchy of topics.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/gnus.nix>

ordenada.features.emacs.help.enable

Whether to enable the Emacs help feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/help.nix>

ordenada.features.emacs.keymaps.enable

Whether to enable the Emacs keymaps feature.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/emacs/keymaps.nix>

ordenada.features.emacs.keymaps.appMap

The Emacs keymap for application keybindings.

Type: attribute set

Default:

{
  appt = "A";
  calendar = "c";
}

Declared by: - <ordenada/modules/emacs/keymaps.nix>

ordenada.features.emacs.keymaps.appMapPrefix

The prefix key used for ordenada-app-map.

Type: string

Default: "a"

Declared by: - <ordenada/modules/emacs/keymaps.nix>

ordenada.features.emacs.keymaps.toggleMap

The Emacs keymap for toggle keybindings.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/emacs/keymaps.nix>

ordenada.features.emacs.keymaps.toggleMapPrefix

The prefix key used for ordenada-toggle-map.

Type: string

Default: "t"

Declared by: - <ordenada/modules/emacs/keymaps.nix>

ordenada.features.emacs.marginalia.enable

Whether to enable the Emacs marginalia feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/marginalia.nix>

ordenada.features.emacs.marginalia.alignment

The alignment of Marginalia annotations.

Type: one of "left", "right", "center"

Default: "left"

Declared by: - <ordenada/modules/emacs/marginalia.nix>

ordenada.features.emacs.message.enable

Whether to enable the Emacs message feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/message.nix>

ordenada.features.emacs.modus-themes.enable

Whether to enable the Emacs Modus Themes feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/modus-themes.nix>

ordenada.features.emacs.modus-themes.dark

Whether to enable dark mode in Modus Themes.

Type: boolean

Default: false

Declared by: - <ordenada/modules/emacs/modus-themes.nix>

ordenada.features.emacs.modus-themes.deuteranopia

Whether to enable deuteranopia support in Modus Themes.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/modus-themes.nix>

ordenada.features.emacs.orderless.enable

Whether to enable the Emacs orderless feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/orderless.nix>

ordenada.features.emacs.org.enable

Whether to enable the Emacs Org feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/org.nix>

ordenada.features.emacs.org.directory

The directory where Org should look for files.

Type: string

Default: "/home/nixos/documents/org"

Declared by: - <ordenada/modules/emacs/org.nix>

ordenada.features.emacs.org.orgModern

Whether to enable Org Modern integration styles in Org buffers.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/org.nix>

ordenada.features.emacs.org.startupIndented

Whether to enable turning org-indent-mode on startup.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/emacs/org.nix>

ordenada.features.emacs.org-roam.enable

Whether to enable Emacs Org Roam feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.org-roam.captureTemplates

The Org Roam capture templates.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.org-roam.dailiesCaptureTemplates

Org Roam dailies capture templates.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.org-roam.dailiesDirectory

Org Roam dailies directory.

Type: string

Default: "daily/"

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.org-roam.directory

Org Roam directory.

Type: string

Default: "~/notes"

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.org-roam.todoIntegration

Whether to enable todo integration in Org Roam.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/org-roam.nix>

ordenada.features.emacs.project.enable

Whether to enable Emacs Project feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/project.nix>

ordenada.features.emacs.project.extraDominatingFiles

List of extra dominating files used to identify projects.

Type: list of string

Default:

[
  ".project.el"
  ".dir-locals.el"
  ".gitignore"
]

Declared by: - <ordenada/modules/emacs/project.nix>

ordenada.features.emacs.rainbow-delimiters.enable

Whether to enable the Emacs rainbow-delimiters feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/programming.nix>

ordenada.features.emacs.shell.enable

Whether to enable Emacs shell feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/shell.nix>

ordenada.features.emacs.smartparens.enable

Whether to enable the Emacs smartparens feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.smartparens.package

The smartparens package to use.

Type: package

Default: pkgs.emacsPackages.smartparens

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.smartparens.hooks

The list of mode hooks where smartparens-mode should be enabled.

Type: list of string

Default:

[
  "prog-mode-hook"
]

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.smartparens.pareditBindings

Whether to enable Paredit bindings for Smartparens.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.smartparens.showSmartParens

Whether to enable Smartparens built-in visualization of matching pairs.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.smartparens.strictHooks

The list of mode hooks where smartparens-strict-mode should be enabled.

Type: list of string

Default:

[
  "prog-mode-hook"
]

Declared by: - <ordenada/modules/emacs/smartparens.nix>

ordenada.features.emacs.spelling.enable

Whether to enable the Emacs spelling feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.package

Package to be used for spelling.

Type: package

Default: <derivation aspell-0.60.8.1>

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.dictionaryServer

Dictionary server to use.

Type: string

Default: "dict.org"

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.flyspellHooks

List of mode hooks where flyspell-mode should be enabled.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.flyspellProgHooks

List of mode hooks where flyspell-prog-mode should be enabled.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.ispellPersonalDictionary

Personal dictionary for ispell.

Type: string

Default: ""

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.ispellProgram

Program to be used by ispell.

Type: path in the Nix store

Default: "/nix/store/bx5bp5wapfzzbr5z6xp39hn2zf2w0v1y-aspell-0.60.8.1/bin/aspell"

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.spelling.ispellStandardDictionary

Default dictionary for ispell.

Type: string

Default: ""

Declared by: - <ordenada/modules/emacs/spelling.nix>

ordenada.features.emacs.tramp.enable

Whether to enable Emacs TRAMP feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/tramp.nix>

ordenada.features.emacs.vertico.enable

Whether to enable the Emacs vertico feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/vertico.nix>

ordenada.features.emacs.vertico.package

The Vertico package to use.

Type: package

Default: <derivation emacs-vertico-20240726.2131>

Declared by: - <ordenada/modules/emacs/vertico.nix>

ordenada.features.emacs.vterm.enable

Whether to enable the Emacs vterm feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/emacs/vterm.nix>

ordenada.features.emacs.vterm.package

The Vterm package to use.

Type: package

Default: <derivation emacs-vterm-20240705.1533>

Declared by: - <ordenada/modules/emacs/vterm.nix>

ordenada.features.firefox.enable

Whether to enable the Firefox feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.package

The Firefox package to use.

Type: package

Default: <derivation firefox-130.0.1>

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.arkenfoxSettings

Arkenfox user.js settings.

Type: attribute set

Default:

{
  "0000" = {
    enable = true;
  };
  "0100" = {
    enable = true;
  };
  "0300" = {
    enable = true;
  };
  "0800" = {
    enable = true;
  };
  "1700" = {
    enable = true;
  };
  "2600" = {
    enable = true;
  };
  "5000" = {
    enable = true;
  };
}

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.extraAddons

Extra Firefox add-ons to install.

Type: list of package

Default: [ ]

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.extraPolicies

Attrset of extra Firefox policies.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.extraSearchConfig

Extra search engines configuration.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.firefox.extraSettings

User.js extra settings for the default Firefox profile.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/firefox.nix>

ordenada.features.fontutils.enable

Whether to enable the fontutils feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.monospace

The monospace font to use.

Type: submodule

Default:

{
  name = "Iosevka";
  package = <derivation Iosevka-31.7.1>;
  size = 11;
}

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.monospace.package

The package of the font.

Type: package

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.monospace.name

The name of the font.

Type: string

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.monospace.size

The size of the font.

Type: signed integer

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.sans

The sans serif font to use.

Type: submodule

Default:

{
  name = "IBM Plex Sans";
  package = <derivation ibm-plex-6.4.0>;
  size = 11;
}

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.sans.package

The package of the font.

Type: package

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.sans.name

The name of the font.

Type: string

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.sans.size

The size of the font.

Type: signed integer

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.serif

The serif font to use.

Type: submodule

Default:

{
  name = "IBM Plex Sans";
  package = <derivation ibm-plex-6.4.0>;
  size = 11;
}

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.serif.package

The package of the font.

Type: package

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.serif.name

The name of the font.

Type: string

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.serif.size

The size of the font.

Type: signed integer

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.unicode

The unicode font to use.

Type: submodule

Default:

{
  name = "Noto Color Emoji";
  package = <derivation noto-fonts-color-emoji-2.042>;
  size = 11;
}

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.unicode.package

The package of the font.

Type: package

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.unicode.name

The name of the font.

Type: string

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.fontutils.fonts.unicode.size

The size of the font.

Type: signed integer

Declared by: - <ordenada/modules/fontutils.nix>

ordenada.features.git.enable

Whether to enable the Git feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/git.nix>

ordenada.features.git.email

Primary Git email.

Type: string

Default: ""

Declared by: - <ordenada/modules/git.nix>

ordenada.features.git.gitLinkRemotes

Attrs of Git remote URLs to git-link functions.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/git.nix>

ordenada.features.git.signCommits

Whether to enable GPG signing of commits.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/git.nix>

ordenada.features.git.signingKey

The GPG key fingerprint to use to sign commits.

Type: null or string

Default: null

Declared by: - <ordenada/modules/git.nix>

ordenada.features.git.username

Primary Git username.

Type: string

Default: ""

Declared by: - <ordenada/modules/git.nix>

ordenada.features.gnupg.enable

Whether to enable the GnuPG feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/gnupg.nix>

ordenada.features.gnupg.defaultTtl

The cache TTL for GnuPG operations.

Type: signed integer

Default: 86400

Declared by: - <ordenada/modules/gnupg.nix>

ordenada.features.gnupg.pinentryPackage

The package for pinentry input.

Type: package

Default: <derivation pinentry-bemenu-0.14.0>

Declared by: - <ordenada/modules/gnupg.nix>

ordenada.features.gnupg.sshKeys

List of SSH key fingerprints.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/gnupg.nix>

ordenada.features.gtk.enable

Whether to enable the GTK feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.cursorSize

The cursor size.

Type: signed integer

Default: 24

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.cursorTheme

The cursor theme.

Type: submodule

Default:

{
  name = "Bibata-Modern-Ice";
  package = <derivation bibata-cursors-2.0.6>;
}

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.cursorTheme.package

Theme package.

Type: package

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.cursorTheme.name

Name of the theme.

Type: string

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.defaultThemes

The default GTK themes.

Type: attribute set of (submodule)

Default:

{
  dark = {
    name = "adw-gtk3-dark";
    package = <derivation adw-gtk3-5.4>;
  };
  light = {
    name = "adw-gtk3";
    package = <derivation adw-gtk3-5.4>;
  };
}

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.defaultThemes.<name>.package

Theme package.

Type: package

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.defaultThemes.<name>.name

Name of the theme.

Type: string

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.theme

The GTK theme.

Type: submodule

Default:

{
  name = "adw-gtk3";
  package = <derivation adw-gtk3-5.4>;
}

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.theme.package

Theme package.

Type: package

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.gtk.theme.name

Name of the theme.

Type: string

Declared by: - <ordenada/modules/gtk.nix>

ordenada.features.home.enable

Whether to enable the home feature.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/home.nix>

ordenada.features.home.extraGroups

The extra list of groups.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/home.nix>

ordenada.features.irc.enable

Whether to enable the IRC feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts

Attrset of IRC accounts.

Type: attribute set of (submodule)

Default: { }

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.bouncer

Whether to enable considering this account as connected to an IRC bouncer server.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.client

Client name used for the IRC connection on this account.

Type: null or string

Default: null

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.network

IRC network to use for this account.

Type: string

Default: "irc.libera.chat"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.nick

Nick the account is registered under the IRC network.

Type: string

Default: "‹name›"

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.port

Port number to use for the IRC connection on this account.

Type: signed integer

Default: 6697

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.irc.accounts.<name>.tls

Whether to enable using TLS for the IRC network connection.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/irc.nix>

ordenada.features.javascript.enable

Whether to enable the JavaScript feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/javascript.nix>

ordenada.features.kanshi.enable

Whether to enable the Kanshi feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/wm/kanshi.nix>

ordenada.features.kanshi.settings

The list of profile settings to apply to Kanshi.

Type: list of (attribute set)

Default: [ ]

Declared by: - <ordenada/modules/wm/kanshi.nix>

ordenada.features.keyboard.layout

The keyboard layout.

Type: submodule

Default:

{
  name = "en";
  options = [
    "ctrl:nocaps"
  ];
}

Declared by: - <ordenada/modules/keyboard.nix>

ordenada.features.keyboard.layout.name

The XKB name of the keyboard layout.

Type: string

Default: "en"

Declared by: - <ordenada/modules/keyboard.nix>

ordenada.features.keyboard.layout.options

The list of XKB options to use for this layout.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/keyboard.nix>

ordenada.features.keyboard.layout.variant

The XKB layout variant name.

Type: string

Default: ""

Declared by: - <ordenada/modules/keyboard.nix>

ordenada.features.mail.enable

Whether to enable the mail feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts

The list of mail accounts.

Type: attribute set of (submodule)

Default: { }

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.extraConfig

Extra config attrset to pass to home-manager's email account.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.flavor

A pre-defined mail account flavor.

Type: string

Default: "plain"

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.fqda

Email address of the mail account.

Type: string

Default: ""

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.fullName

Full name of the mail account.

Type: string

Default: ""

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.primary

Whether to enable this account as the primary mail account.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.accounts.<name>.signature

The email signature for the mail account.

Type: string

Default:

''
  Best regards,
  
''

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.defaultMessageSignature

The default email signature.

Type: string

Default:

''
  Best regards,
  
''

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.imapnotify.enable

Whether to enable the imapnotify mail feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.imapnotify.package

The imapnotify package to use.

Type: package

Default: <derivation goimapnotify-2.3.15>

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.mbsync.enable

Whether to enable the mbsync mail feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.mbsync.package

The mbsync package to use.

Type: package

Default: <derivation isync-1.5.0>

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.msmtp.enable

Whether to enable the msmtp mail feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.mail.msmtp.package

The msmtp package to use.

Type: package

Default: <derivation msmtp-1.8.25>

Declared by: - <ordenada/modules/mail.nix>

ordenada.features.markdown.enable

Whether to enable the Markdown feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/markdown.nix>

ordenada.features.markdown.headingsScaling

Whether to enable incremental scaling of headings.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/markdown.nix>

ordenada.features.networking.enable

Whether to enable the networking feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/networking.nix>

ordenada.features.nix.enable

Whether to enable the Nix feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/nix.nix>

ordenada.features.nix.polymode

Whether to enable Polymode support for Nix multi-line strings.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/nix.nix>

ordenada.features.passage.enable

Whether to enable the passage feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/passage.nix>

ordenada.features.passage.package

The package to use for passage.

Type: package

Default: <derivation passage-1.7.4a2>

Declared by: - <ordenada/modules/passage.nix>

ordenada.features.passage.identitiesFile

The identities file to be used by passage.

Type: string

Default: "/home/nixos/.local/state/passage/identities"

Declared by: - <ordenada/modules/passage.nix>

ordenada.features.password-store.enable

Whether to enable the password-store feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/password-store.nix>

ordenada.features.password-store.package

The package to use for password-store.

Type: package

Default: <derivation pass-env>

Declared by: - <ordenada/modules/password-store.nix>

ordenada.features.pipewire.enable

Whether to enable the Pipewire feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/pipewire.nix>

ordenada.features.qemu.enable

Whether to enable the QEMU feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/qemu.nix>

ordenada.features.ssh.enable

Whether to enable the SSH feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/ssh.nix>

ordenada.features.ssh.daemon

Whether to enable the SSH server daemon.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/ssh.nix>

ordenada.features.ssh.matchBlocks

The SSH stanzas to use in the client configuration.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/ssh.nix>

ordenada.features.ssh.rootAuthorizedKeys

List of root authorized SSH keys.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/ssh.nix>

ordenada.features.ssh.userAuthorizedKeys

List of user authorized SSH keys.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/ssh.nix>

ordenada.features.sway.enable

Whether to enable the Sway feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.sway.package

The Sway package to use.

Type: package

Default: <derivation sway-1.9>

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.sway.autoStartTty

The tty to launch Sway in.

Type: null or string

Default: null

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.sway.extraConfig

Extra configuration for Sway.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.sway.keybindings

The Sway keybindings.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.sway.modifier

The modifier to bind Sway keys to.

Type: string

Default: "Mod4"

Declared by: - <ordenada/modules/wm/sway.nix>

ordenada.features.tailscale.enable

Whether to enable the Tailscale feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/tailscale.nix>

ordenada.features.tailscale.package

The Tailscale package.

Type: package

Default: <derivation tailscale-1.74.1>

Declared by: - <ordenada/modules/tailscale.nix>

ordenada.features.theme.enable

Whether to enable the theme feature.

Type: boolean

Default: true

Example: true

Declared by: - <ordenada/modules/theme.nix>

ordenada.features.theme.defaultWallpapers

The default wallpapers.

Type: attribute set

Default:

{
  dark = <derivation wallhaven-dgo6pl.jpg>;
  light = <derivation wallhaven-28vjgm.jpg>;
}

Declared by: - <ordenada/modules/theme.nix>

ordenada.features.theme.polarity

The theme polarity.

Type: one of "dark", "light"

Default: "light"

Declared by: - <ordenada/modules/theme.nix>

ordenada.features.theme.scheme

The theme color scheme.

Type: attribute set

Default: <function>

Declared by: - <ordenada/modules/theme.nix>

ordenada.features.theme.wallpaper

The theme wallpaper.

Type: path in the Nix store

Default: <derivation wallhaven-28vjgm.jpg>

Declared by: - <ordenada/modules/theme.nix>

ordenada.features.userInfo

User information for Ordenada.

Type: submodule

Default: { }

Declared by: - <ordenada/modules/base.nix>

ordenada.features.userInfo.email

Email of Ordenada user.

Type: string

Default: ""

Declared by: - <ordenada/modules/base.nix>

ordenada.features.userInfo.fullName

Fullname of Ordenada user.

Type: string

Default: ""

Declared by: - <ordenada/modules/base.nix>

ordenada.features.userInfo.gpgPrimaryKey

The primary GnuPG key for this user.

Type: null or string

Default: null

Declared by: - <ordenada/modules/base.nix>

ordenada.features.userInfo.homeDirectory

Home directory of primary Ordenada user.

Type: string

Default: "/home/nixos"

Declared by: - <ordenada/modules/base.nix>

ordenada.features.userInfo.username

Username of Ordenada user.

Type: string

Default: "nixos"

Declared by: - <ordenada/modules/base.nix>

ordenada.features.waybar.enable

Whether to enable the Waybar feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules

Attrset of pre-built Waybar modules.

Type: attribute set of (submodule)

Default:

{
  battery = {
    config = {
      format = "{capacity}% {icon}";
      format-icons = {
        empty = "";
        full = "";
        half = "";
        high = "";
        low = "";
      };
      states = {
        empty = 10;
        full = 100;
        half = 50;
        high = 80;
        low = 20;
      };
    };
    name = "battery";
  };
  clock = {
    config = {
      actions = {
        on-click-right = "mode";
        on-scroll-down = "shift_up";
        on-scroll-up = "shift_down";
      };
      calendar = {
        format = {
          today = "<span color='#3548cf'><b>{}</b></span>";
          weeks = "<span color='#c4c4c4'><b>W{}</b></span>";
        };
        mode-mon-col = 3;
        weeks-pos = "right";
      };
      format = "{:%a %d %b %H:%M}";
      format-alt = "{:%a %d %b (w.%V) %H:%M}";
      tooltip-format = "<tt><small>{calendar}</small></tt>";
    };
    name = "clock";
  };
  pulseaudio = {
    config = {
      format = "{volume}% {icon}";
      format-icons = {
        default = [
          ""
          ""
          ""
        ];
      };
      format-muted = "";
    };
    name = "pulseaudio";
  };
  swayLanguage = {
    config = {
      format = "{short}";
      on-click = "swaymsg input type:keyboard xkb_switch_layout next";
    };
    name = "sway/language";
  };
  swayMode = {
    name = "sway/mode";
    placement = "modules-left";
  };
  swayWindow = {
    config = {
      max-length = 50;
    };
    name = "sway/window";
    placement = "modules-center";
  };
  swayWorkspaces = {
    config = {
      all-outputs = false;
      disable-scroll = true;
      persistent-workspaces = {
        "1" = [ ];
        "2" = [ ];
        "3" = [ ];
        "4" = [ ];
        "5" = [ ];
      };
    };
    name = "sway/workspaces";
    placement = "modules-left";
    style = ''
      #workspaces button {
        background: #e0e0e0;
        color: #000000;
        font-weight: normal;
        border: none;
        border-radius: 0.2em;
        margin: 0.3em 0.2em;
        padding: 0.3em 0.4em;
      }
      
      #workspaces button.active {
        background: #e0e0e0;
      }
      
      #workspaces button.persistent {
        background: none;
      }
      
      #workspaces button.focused {
        background: #3548cf;
        color: #f0f0f0;
      }
      
      #workspaces button.urgent {
        background: #a60000;
        color: #9f9f9f;
      }
    '';
  };
  swaync = {
    config = {
      escape = true;
      exec = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -swb";
      format = "{icon}";
      format-icons = {
        dnd-inhibited-none = "";
        dnd-inhibited-notification = "";
        dnd-none = "";
        dnd-notification = "";
        inhibited-none = "";
        inhibited-notification = "";
        none = "";
        notification = "";
      };
      on-click = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -t -sw";
      on-click-middle = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -C -sw";
      on-click-right = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -d -sw";
      return-type = "json";
      tooltip = false;
    };
    name = "custom/swaync";
  };
}

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules.<name>.barId

ID of the bar to which this module will be added to.

Type: string

Default: "primary"

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules.<name>.config

Configuration for this Waybar module.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules.<name>.name

Name of the module.

Type: string

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules.<name>.placement

Placement of the Waybar module in the bar.

Type: one of "modules-left", "modules-center", "modules-right"

Default: "modules-right"

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.defaultModules.<name>.style

CSS styles applied to this Waybar module.

Type: strings concatenated with "\n"

Default: ""

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.extraSettings

Extra settings for Waybar configuration.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.height

The height of the Waybar bar.

Type: signed integer

Default: 30

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules

The list of modules to add to Waybar.

Type: list of (submodule)

Default:

[
  {
    config = {
      all-outputs = false;
      disable-scroll = true;
      persistent-workspaces = {
        "1" = [ ];
        "2" = [ ];
        "3" = [ ];
        "4" = [ ];
        "5" = [ ];
      };
    };
    name = "sway/workspaces";
    placement = "modules-left";
    style = ''
      #workspaces button {
        background: #e0e0e0;
        color: #000000;
        font-weight: normal;
        border: none;
        border-radius: 0.2em;
        margin: 0.3em 0.2em;
        padding: 0.3em 0.4em;
      }
      
      #workspaces button.active {
        background: #e0e0e0;
      }
      
      #workspaces button.persistent {
        background: none;
      }
      
      #workspaces button.focused {
        background: #3548cf;
        color: #f0f0f0;
      }
      
      #workspaces button.urgent {
        background: #a60000;
        color: #9f9f9f;
      }
    '';
  }
  {
    name = "sway/mode";
    placement = "modules-left";
  }
  {
    config = {
      max-length = 50;
    };
    name = "sway/window";
    placement = "modules-center";
  }
  {
    config = {
      format = "{capacity}% {icon}";
      format-icons = {
        empty = "";
        full = "";
        half = "";
        high = "";
        low = "";
      };
      states = {
        empty = 10;
        full = 100;
        half = 50;
        high = 80;
        low = 20;
      };
    };
    name = "battery";
  }
  {
    config = {
      format = "{volume}% {icon}";
      format-icons = {
        default = [
          ""
          ""
          ""
        ];
      };
      format-muted = "";
    };
    name = "pulseaudio";
  }
  {
    config = {
      format = "{short}";
      on-click = "swaymsg input type:keyboard xkb_switch_layout next";
    };
    name = "sway/language";
  }
  {
    config = {
      actions = {
        on-click-right = "mode";
        on-scroll-down = "shift_up";
        on-scroll-up = "shift_down";
      };
      calendar = {
        format = {
          today = "<span color='#3548cf'><b>{}</b></span>";
          weeks = "<span color='#c4c4c4'><b>W{}</b></span>";
        };
        mode-mon-col = 3;
        weeks-pos = "right";
      };
      format = "{:%a %d %b %H:%M}";
      format-alt = "{:%a %d %b (w.%V) %H:%M}";
      tooltip-format = "<tt><small>{calendar}</small></tt>";
    };
    name = "clock";
  }
  {
    config = {
      escape = true;
      exec = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -swb";
      format = "{icon}";
      format-icons = {
        dnd-inhibited-none = "";
        dnd-inhibited-notification = "";
        dnd-none = "";
        dnd-notification = "";
        inhibited-none = "";
        inhibited-notification = "";
        none = "";
        notification = "";
      };
      on-click = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -t -sw";
      on-click-middle = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -C -sw";
      on-click-right = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -d -sw";
      return-type = "json";
      tooltip = false;
    };
    name = "custom/swaync";
  }
]

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules.*.barId

ID of the bar to which this module will be added to.

Type: string

Default: "primary"

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules.*.config

Configuration for this Waybar module.

Type: attribute set

Default: { }

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules.*.name

Name of the module.

Type: string

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules.*.placement

Placement of the Waybar module in the bar.

Type: one of "modules-left", "modules-center", "modules-right"

Default: "modules-right"

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.modules.*.style

CSS styles applied to this Waybar module.

Type: strings concatenated with "\n"

Default: ""

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.waybar.output

The list of outputs Waybar should be displayed in.

Type: list of string

Default: [ ]

Declared by: - <ordenada/modules/wm/waybar.nix>

ordenada.features.xdg.enable

Whether to enable the XDG feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/xdg.nix>

ordenada.features.xdg.baseDirs

The XDG base directories.

Type: attribute set

Default:

{
  cacheHome = "/home/nixos/.cache";
  configHome = "/home/nixos/.config";
  dataHome = "/home/nixos/.local/share";
  stateHome = "/home/nixos/.local/state";
}

Declared by: - <ordenada/modules/xdg.nix>

ordenada.features.xdg.userDirs

The XDG user directories.

Type: attribute set

Default:

{
  desktop = null;
  documents = "/home/nixos/documents";
  download = "/home/nixos/downloads";
  music = "/home/nixos/music";
  pictures = "/home/nixos/pictures";
  publicShare = "/home/nixos/public";
  templates = null;
  videos = "/home/nixos/videos";
}

Declared by: - <ordenada/modules/xdg.nix>

ordenada.features.yaml.enable

Whether to enable YAML feature.

Type: boolean

Default: false

Example: true

Declared by: - <ordenada/modules/yaml.nix>

ordenada.users

Attrs of Ordenada users.

Type: attribute set of (submodule)

Default: { }

Declared by: - <ordenada/modules/base.nix>

ordenada.users.<name>.features

Attrs of Ordenada features for this user.

Type: attribute set

Default:

{
  age = {
    enable = false;
    identities = [ ];
    package = <derivation age-1.2.0>;
    recipients = [ ];
  };
  android = {
    enable = false;
  };
  bash = {
    enable = false;
    package = <derivation bash-interactive-5.2p32>;
  };
  bemenu = {
    enable = false;
    height = 34;
  };
  bluetooth = {
    enable = false;
  };
  clojure = {
    enable = false;
  };
  compile = {
    enable = false;
  };
  direnv = {
    enable = false;
  };
  docker = {
    enable = false;
  };
  emacs = {
    ace-window = {
      enable = false;
    };
    advancedUser = false;
    all-the-icons = {
      enable = false;
    };
    apheleia = {
      enable = false;
    };
    appearance = {
      enable = false;
      fringes = 8;
      headerLineAsModeLine = true;
      headerLinePadding = 4;
      margin = 8;
      modeLinePadding = 4;
      tabBarPadding = 4;
    };
    calendar = {
      apptKey = "A";
      calendarKey = "c";
      dateStyle = "iso";
      diaryFile = "/home/nixos/documents/diary";
      enable = false;
      weekNumbers = false;
    };
    cider = {
      popReplOnConnect = "display-only";
      replInCurrentWindow = false;
    };
    completion = {
      enable = false;
    };
    consult = {
      enable = false;
      initialNarrowing = false;
    };
    corfu = {
      enable = false;
      globalModes = [ ];
    };
    daemons = {
      enable = false;
      fillFrame = false;
    };
    defaultThemes = { };
    dired = {
      enable = false;
      extraSwitches = [
        "-h"
      ];
      groupDirsFirst = true;
      killOnNewBuffer = false;
    };
    ebdb = {
      enable = false;
      sources = [
        "/home/nixos/documents/contacts"
      ];
    };
    eglot = {
      enable = false;
    };
    embark = {
      enable = false;
    };
    enable = false;
    erc = {
      alignNicknames = true;
      autoQuery = "window-no-select";
      autojoin = true;
      autojoinChannels = { };
      defaultPort = 6697;
      defaultServer = "irc.libera.chat";
      fullName = null;
      headerLineFormat = " %n on %t (%m,%l)";
      hideList = [
        "NICK"
        "JOIN"
        "PART"
        "QUIT"
        "MODE"
        "AWAY"
      ];
      joinBuffer = "bury";
      key = "i";
      killBuffersOnQuit = true;
      log = false;
      nick = null;
      promptForPassword = false;
      queryDisplay = "window";
      showImages = false;
      sidebarHeaderLineFormat = " ERC Status";
      sidebarModeLineFormat = null;
      sidebarWidth = 22;
      trackExcludeTypes = [
        "324"
        "329"
        "JOIN"
        "MODE"
        "NICK"
        "PART"
        "QUIT"
      ];
    };
    eshell = {
      enable = false;
    };
    extraConfig = "";
    extraPackages = [ ];
    flymake = {
      enable = false;
    };
    gnus = {
      directory = "/home/nixos/.cache/emacs/gnus";
      enable = false;
      groupParameters = { };
      key = "g";
      messageArchiveGroup = null;
      messageArchiveMethod = null;
      postingStyles = [ ];
      topicGroups = { };
      topicTopology = [ ];
    };
    help = {
      enable = false;
    };
    keymaps = {
      appMap = {
        appt = "A";
        calendar = "c";
      };
      appMapPrefix = "a";
      enable = true;
      toggleMap = { };
      toggleMapPrefix = "t";
    };
    marginalia = {
      alignment = "left";
      enable = false;
    };
    message = {
      enable = false;
    };
    modus-themes = {
      dark = false;
      deuteranopia = false;
      enable = false;
    };
    orderless = {
      enable = false;
    };
    org = {
      directory = "/home/nixos/documents/org";
      enable = false;
      orgModern = false;
      startupIndented = true;
    };
    org-roam = {
      captureTemplates = [ ];
      dailiesCaptureTemplates = [ ];
      dailiesDirectory = "daily/";
      directory = "~/notes";
      enable = false;
      todoIntegration = false;
    };
    package = <derivation emacs-pgtk-29.4>;
    project = {
      enable = false;
      extraDominatingFiles = [
        ".project.el"
        ".dir-locals.el"
        ".gitignore"
      ];
    };
    rainbow-delimiters = {
      enable = false;
    };
    shell = {
      enable = false;
    };
    smartparens = {
      enable = false;
      hooks = [
        "prog-mode-hook"
      ];
      package = <derivation emacs-smartparens-20240713.1002>;
      pareditBindings = false;
      showSmartParens = false;
      strictHooks = [
        "prog-mode-hook"
      ];
    };
    spelling = {
      dictionaryServer = "dict.org";
      enable = false;
      flyspellHooks = [ ];
      flyspellProgHooks = [ ];
      ispellPersonalDictionary = "";
      ispellProgram = "/nix/store/bx5bp5wapfzzbr5z6xp39hn2zf2w0v1y-aspell-0.60.8.1/bin/aspell";
      ispellStandardDictionary = "";
      package = <derivation aspell-0.60.8.1>;
    };
    tramp = {
      enable = false;
    };
    vertico = {
      enable = false;
      package = <derivation emacs-vertico-20240726.2131>;
    };
    vterm = {
      enable = false;
      package = <derivation emacs-vterm-20240705.1533>;
    };
  };
  firefox = {
    arkenfoxSettings = {
      "0000" = {
        enable = true;
      };
      "0100" = {
        enable = true;
      };
      "0300" = {
        enable = true;
      };
      "0800" = {
        enable = true;
      };
      "1700" = {
        enable = true;
      };
      "2600" = {
        enable = true;
      };
      "5000" = {
        enable = true;
      };
    };
    enable = false;
    extraAddons = [ ];
    extraPolicies = { };
    extraSearchConfig = { };
    extraSettings = { };
    package = <derivation firefox-130.0.1>;
  };
  fontutils = {
    enable = false;
    fonts = {
      monospace = {
        name = "Iosevka";
        package = <derivation Iosevka-31.7.1>;
        size = 11;
      };
      sans = {
        name = "IBM Plex Sans";
        package = <derivation ibm-plex-6.4.0>;
        size = 11;
      };
      serif = {
        name = "IBM Plex Sans";
        package = <derivation ibm-plex-6.4.0>;
        size = 11;
      };
      unicode = {
        name = "Noto Color Emoji";
        package = <derivation noto-fonts-color-emoji-2.042>;
        size = 11;
      };
    };
  };
  git = {
    email = "";
    enable = false;
    gitLinkRemotes = { };
    signCommits = false;
    signingKey = null;
    username = "";
  };
  gnupg = {
    defaultTtl = 86400;
    enable = false;
    pinentryPackage = <derivation pinentry-bemenu-0.14.0>;
    sshKeys = [ ];
  };
  gtk = {
    cursorSize = 24;
    cursorTheme = {
      name = "Bibata-Modern-Ice";
      package = <derivation bibata-cursors-2.0.6>;
    };
    defaultThemes = {
      dark = {
        name = "adw-gtk3-dark";
        package = <derivation adw-gtk3-5.4>;
      };
      light = {
        name = "adw-gtk3";
        package = <derivation adw-gtk3-5.4>;
      };
    };
    enable = false;
    theme = {
      name = "adw-gtk3";
      package = <derivation adw-gtk3-5.4>;
    };
  };
  home = {
    enable = true;
    extraGroups = [ ];
  };
  irc = {
    accounts = { };
    enable = false;
  };
  javascript = {
    enable = false;
  };
  kanshi = {
    enable = false;
    settings = [ ];
  };
  keyboard = {
    layout = {
      name = "en";
      options = [
        "ctrl:nocaps"
      ];
      variant = "";
    };
  };
  mail = {
    accounts = { };
    defaultMessageSignature = ''
      Best regards,
      
    '';
    enable = false;
    imapnotify = {
      enable = false;
      package = <derivation goimapnotify-2.3.15>;
    };
    mbsync = {
      enable = false;
      package = <derivation isync-1.5.0>;
    };
    msmtp = {
      enable = false;
      package = <derivation msmtp-1.8.25>;
    };
  };
  markdown = {
    enable = false;
    headingsScaling = false;
  };
  networking = {
    enable = false;
  };
  nix = {
    enable = false;
    polymode = false;
  };
  passage = {
    enable = false;
    identitiesFile = "/home/nixos/.local/state/passage/identities";
    package = <derivation passage-1.7.4a2>;
  };
  password-store = {
    enable = false;
    package = <derivation pass-env>;
  };
  pipewire = {
    enable = false;
  };
  qemu = {
    enable = false;
  };
  ssh = {
    daemon = true;
    enable = false;
    matchBlocks = { };
    rootAuthorizedKeys = [ ];
    userAuthorizedKeys = [ ];
  };
  sway = {
    autoStartTty = null;
    enable = false;
    extraConfig = { };
    keybindings = { };
    modifier = "Mod4";
    package = <derivation sway-1.9>;
  };
  tailscale = {
    enable = false;
    package = <derivation tailscale-1.74.1>;
  };
  theme = {
    defaultWallpapers = {
      dark = <derivation wallhaven-dgo6pl.jpg>;
      light = <derivation wallhaven-28vjgm.jpg>;
    };
    enable = true;
    polarity = "light";
    scheme = <function>;
    wallpaper = <derivation wallhaven-28vjgm.jpg>;
  };
  userInfo = {
    email = "";
    fullName = "";
    gpgPrimaryKey = null;
    homeDirectory = "/home/nixos";
    username = "nixos";
  };
  waybar = {
    defaultModules = {
      battery = {
        barId = "primary";
        config = {
          format = "{capacity}% {icon}";
          format-icons = {
            empty = "";
            full = "";
            half = "";
            high = "";
            low = "";
          };
          states = {
            empty = 10;
            full = 100;
            half = 50;
            high = 80;
            low = 20;
          };
        };
        name = "battery";
        placement = "modules-right";
        style = "";
      };
      clock = {
        barId = "primary";
        config = {
          actions = {
            on-click-right = "mode";
            on-scroll-down = "shift_up";
            on-scroll-up = "shift_down";
          };
          calendar = {
            format = {
              today = "<span color='#3548cf'><b>{}</b></span>";
              weeks = "<span color='#c4c4c4'><b>W{}</b></span>";
            };
            mode-mon-col = 3;
            weeks-pos = "right";
          };
          format = "{:%a %d %b %H:%M}";
          format-alt = "{:%a %d %b (w.%V) %H:%M}";
          tooltip-format = "<tt><small>{calendar}</small></tt>";
        };
        name = "clock";
        placement = "modules-right";
        style = "";
      };
      pulseaudio = {
        barId = "primary";
        config = {
          format = "{volume}% {icon}";
          format-icons = {
            default = [
              ""
              ""
              ""
            ];
          };
          format-muted = "";
        };
        name = "pulseaudio";
        placement = "modules-right";
        style = "";
      };
      swayLanguage = {
        barId = "primary";
        config = {
          format = "{short}";
          on-click = "swaymsg input type:keyboard xkb_switch_layout next";
        };
        name = "sway/language";
        placement = "modules-right";
        style = "";
      };
      swayMode = {
        barId = "primary";
        config = { };
        name = "sway/mode";
        placement = "modules-left";
        style = "";
      };
      swayWindow = {
        barId = "primary";
        config = {
          max-length = 50;
        };
        name = "sway/window";
        placement = "modules-center";
        style = "";
      };
      swayWorkspaces = {
        barId = "primary";
        config = {
          all-outputs = false;
          disable-scroll = true;
          persistent-workspaces = {
            "1" = [ ];
            "2" = [ ];
            "3" = [ ];
            "4" = [ ];
            "5" = [ ];
          };
        };
        name = "sway/workspaces";
        placement = "modules-left";
        style = ''
          #workspaces button {
            background: #e0e0e0;
            color: #000000;
            font-weight: normal;
            border: none;
            border-radius: 0.2em;
            margin: 0.3em 0.2em;
            padding: 0.3em 0.4em;
          }
          
          #workspaces button.active {
            background: #e0e0e0;
          }
          
          #workspaces button.persistent {
            background: none;
          }
          
          #workspaces button.focused {
            background: #3548cf;
            color: #f0f0f0;
          }
          
          #workspaces button.urgent {
            background: #a60000;
            color: #9f9f9f;
          }
        '';
      };
      swaync = {
        barId = "primary";
        config = {
          escape = true;
          exec = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -swb";
          format = "{icon}";
          format-icons = {
            dnd-inhibited-none = "";
            dnd-inhibited-notification = "";
            dnd-none = "";
            dnd-notification = "";
            inhibited-none = "";
            inhibited-notification = "";
            none = "";
            notification = "";
          };
          on-click = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -t -sw";
          on-click-middle = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -C -sw";
          on-click-right = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -d -sw";
          return-type = "json";
          tooltip = false;
        };
        name = "custom/swaync";
        placement = "modules-right";
        style = "";
      };
    };
    enable = false;
    extraSettings = { };
    height = 30;
    modules = [
      {
        barId = "primary";
        config = {
          all-outputs = false;
          disable-scroll = true;
          persistent-workspaces = {
            "1" = [ ];
            "2" = [ ];
            "3" = [ ];
            "4" = [ ];
            "5" = [ ];
          };
        };
        name = "sway/workspaces";
        placement = "modules-left";
        style = ''
          #workspaces button {
            background: #e0e0e0;
            color: #000000;
            font-weight: normal;
            border: none;
            border-radius: 0.2em;
            margin: 0.3em 0.2em;
            padding: 0.3em 0.4em;
          }
          
          #workspaces button.active {
            background: #e0e0e0;
          }
          
          #workspaces button.persistent {
            background: none;
          }
          
          #workspaces button.focused {
            background: #3548cf;
            color: #f0f0f0;
          }
          
          #workspaces button.urgent {
            background: #a60000;
            color: #9f9f9f;
          }
        '';
      }
      {
        barId = "primary";
        config = { };
        name = "sway/mode";
        placement = "modules-left";
        style = "";
      }
      {
        barId = "primary";
        config = {
          max-length = 50;
        };
        name = "sway/window";
        placement = "modules-center";
        style = "";
      }
      {
        barId = "primary";
        config = {
          format = "{capacity}% {icon}";
          format-icons = {
            empty = "";
            full = "";
            half = "";
            high = "";
            low = "";
          };
          states = {
            empty = 10;
            full = 100;
            half = 50;
            high = 80;
            low = 20;
          };
        };
        name = "battery";
        placement = "modules-right";
        style = "";
      }
      {
        barId = "primary";
        config = {
          format = "{volume}% {icon}";
          format-icons = {
            default = [
              ""
              ""
              ""
            ];
          };
          format-muted = "";
        };
        name = "pulseaudio";
        placement = "modules-right";
        style = "";
      }
      {
        barId = "primary";
        config = {
          format = "{short}";
          on-click = "swaymsg input type:keyboard xkb_switch_layout next";
        };
        name = "sway/language";
        placement = "modules-right";
        style = "";
      }
      {
        barId = "primary";
        config = {
          actions = {
            on-click-right = "mode";
            on-scroll-down = "shift_up";
            on-scroll-up = "shift_down";
          };
          calendar = {
            format = {
              today = "<span color='#3548cf'><b>{}</b></span>";
              weeks = "<span color='#c4c4c4'><b>W{}</b></span>";
            };
            mode-mon-col = 3;
            weeks-pos = "right";
          };
          format = "{:%a %d %b %H:%M}";
          format-alt = "{:%a %d %b (w.%V) %H:%M}";
          tooltip-format = "<tt><small>{calendar}</small></tt>";
        };
        name = "clock";
        placement = "modules-right";
        style = "";
      }
      {
        barId = "primary";
        config = {
          escape = true;
          exec = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -swb";
          format = "{icon}";
          format-icons = {
            dnd-inhibited-none = "";
            dnd-inhibited-notification = "";
            dnd-none = "";
            dnd-notification = "";
            inhibited-none = "";
            inhibited-notification = "";
            none = "";
            notification = "";
          };
          on-click = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -t -sw";
          on-click-middle = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -C -sw";
          on-click-right = "/nix/store/k21i7rm1jdpnrcjyh7wdaakgqby0xbiy-SwayNotificationCenter-0.10.1/bin/swaync-client -d -sw";
          return-type = "json";
          tooltip = false;
        };
        name = "custom/swaync";
        placement = "modules-right";
        style = "";
      }
    ];
    output = [ ];
  };
  xdg = {
    baseDirs = {
      cacheHome = "/home/nixos/.cache";
      configHome = "/home/nixos/.config";
      dataHome = "/home/nixos/.local/share";
      stateHome = "/home/nixos/.local/state";
    };
    enable = false;
    userDirs = {
      desktop = null;
      documents = "/home/nixos/documents";
      download = "/home/nixos/downloads";
      music = "/home/nixos/music";
      pictures = "/home/nixos/pictures";
      publicShare = "/home/nixos/public";
      templates = null;
      videos = "/home/nixos/videos";
    };
  };
  yaml = {
    enable = false;
  };
}

Declared by: - <ordenada/modules/base.nix>

ordenada.users.<name>.name

The username for this user.

Type: string

Default: "‹name›"

Declared by: - <ordenada/modules/base.nix>