diff --git a/modules/misc/xdg-desktop-entries.nix b/modules/misc/xdg-desktop-entries.nix index a810796f..7ec7fa56 100644 --- a/modules/misc/xdg-desktop-entries.nix +++ b/modules/misc/xdg-desktop-entries.nix @@ -107,7 +107,7 @@ let }; settings = mkOption { - type = types.attrsOf types.string; + type = types.attrsOf types.str; description = '' Extra key-value pairs to add to the `[Desktop Entry]` section. This may override other values. diff --git a/modules/programs/mu.nix b/modules/programs/mu.nix index 835be361..04b0558e 100644 --- a/modules/programs/mu.nix +++ b/modules/programs/mu.nix @@ -29,6 +29,8 @@ in { programs.mu = { enable = mkEnableOption "mu, a maildir indexer and searcher"; + package = mkPackageOption pkgs "mu" { }; + # No options/config file present for mu, and program author will not be # adding one soon. See https://github.com/djcb/mu/issues/882 for more # information about this. @@ -42,7 +44,7 @@ in { }; config = mkIf cfg.enable { - home.packages = [ pkgs.mu ]; + home.packages = [ cfg.package ]; home.activation.runMuInit = let maildirOption = genCmdMaildir config.accounts.email.maildirBasePath; @@ -52,7 +54,9 @@ in { # In theory, mu is the only thing that creates that directory, and it is # only created during the initial index. if [[ ! -d "${dbLocation}" ]]; then - $DRY_RUN_CMD ${pkgs.mu}/bin/mu init ${maildirOption} ${myAddresses} $VERBOSE_ARG; + $DRY_RUN_CMD ${ + getExe cfg.package + } init ${maildirOption} ${myAddresses} $VERBOSE_ARG; fi ''; }; diff --git a/modules/programs/tmate.nix b/modules/programs/tmate.nix index 025421bd..35547410 100644 --- a/modules/programs/tmate.nix +++ b/modules/programs/tmate.nix @@ -36,7 +36,7 @@ in { }; dsaFingerprint = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; example = literalExpression "SHA256:1111111111111111111111111111111111111111111"; @@ -44,7 +44,7 @@ in { }; rsaFingerprint = mkOption { - type = with types; nullOr string; + type = with types; nullOr str; default = null; example = literalExpression "SHA256:1111111111111111111111111111111111111111111"; diff --git a/modules/services/kanshi.nix b/modules/services/kanshi.nix index 3297d5fb..02fe8e3c 100644 --- a/modules/services/kanshi.nix +++ b/modules/services/kanshi.nix @@ -80,15 +80,28 @@ let Sets the output transform. ''; }; + + adaptiveSync = mkOption { + type = types.nullOr types.bool; + default = null; + example = true; + description = '' + Enables or disables adaptive synchronization + (aka. Variable Refresh Rate). + ''; + }; }; }; - outputStr = { criteria, status, mode, position, scale, transform, ... }: + outputStr = + { criteria, status, mode, position, scale, transform, adaptiveSync, ... }: ''output "${criteria}"'' + optionalString (status != null) " ${status}" + optionalString (mode != null) " mode ${mode}" + optionalString (position != null) " position ${position}" + optionalString (scale != null) " scale ${toString scale}" - + optionalString (transform != null) " transform ${transform}"; + + optionalString (transform != null) " transform ${transform}" + + optionalString (adaptiveSync != null) + " adaptive_sync ${if adaptiveSync then "on" else "off"}"; profileModule = types.submodule { options = { diff --git a/tests/modules/programs/mu/basic-configuration.nix b/tests/modules/programs/mu/basic-configuration.nix index 4b315c2e..70b66fb9 100644 --- a/tests/modules/programs/mu/basic-configuration.nix +++ b/tests/modules/programs/mu/basic-configuration.nix @@ -12,7 +12,7 @@ programs.mu.enable = true; - test.stubs.mu = { }; + test.stubs.mu = { name = "mu"; }; nmt.script = '' assertFileContains activate \