diff options
author | Robert Helgesson <robert@rycee.net> | 2017-01-12 01:01:15 +0100 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2017-01-15 23:42:47 +0100 |
commit | 3d3a3f6d1398a35da49b85ac37c56e67e8b52396 (patch) | |
tree | c05807edf9b58d0e93fc9690a395a22fa8f0bae4 /modules | |
parent | bd951cda66ab29376dcd707716d13cab7cf1910b (diff) |
xresources: add module
This module adds basic support for configuring X resources.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/default.nix | 1 | ||||
-rw-r--r-- | modules/xresources.nix | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/modules/default.nix b/modules/default.nix index 340cfefebac..57f5c5c27cf 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -27,6 +27,7 @@ let ./services/udiskie.nix ./services/xscreensaver.nix ./systemd.nix + ./xresources.nix ./xsession.nix ]; diff --git a/modules/xresources.nix b/modules/xresources.nix new file mode 100644 index 00000000000..43e8ff1c899 --- /dev/null +++ b/modules/xresources.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.xresources; + + formatLine = n: v: + let + v' = + if isBool v then (if v then "true" else "false") + else toString v; + in + "${n}: ${v'}"; + +in + +{ + options = { + xresources.properties = mkOption { + type = types.nullOr types.attrs; + default = null; + example = '' + { + "XTerm*faceName" = "dejavu sans mono"; + "Emacs*toolBar" = 0; + } + ''; + description = '' + X server resources that should be set. If null, then this + feature is disabled and no ~/.Xresources link is produced. + ''; + }; + }; + + config = mkIf (cfg.properties != null) { + home.file.".Xresources".text = + concatStringsSep "\n" ( + mapAttrsToList formatLine cfg.properties + ); + }; +} |