2015-07-16 13:49:57 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
#TODO:
|
|
|
|
#prefix with Attribute Name
|
|
|
|
#ex: urxvt
|
|
|
|
|
|
|
|
#
|
|
|
|
#
|
2016-02-15 15:29:01 +00:00
|
|
|
with builtins;
|
|
|
|
with lib;
|
2015-07-16 13:49:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
2015-07-28 20:20:59 +00:00
|
|
|
inherit (import ../../tv/4lib { inherit pkgs lib; }) shell-escape;
|
2015-07-16 13:49:57 +00:00
|
|
|
inherit (pkgs) writeScript;
|
|
|
|
|
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
options = {
|
|
|
|
services.xresources.enable = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
description = ''
|
|
|
|
Whether to enable the automatic loading of Xresources definitions at display-manager start;
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
services.xresources.resources = mkOption {
|
|
|
|
default = {};
|
|
|
|
type = types.attrsOf types.str;
|
|
|
|
example = {
|
|
|
|
urxvt = ''
|
|
|
|
URxvt*scrollBar: false
|
|
|
|
URxvt*urgentOnBell: true
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
description = ''
|
|
|
|
Xresources definitions.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
config =
|
|
|
|
let
|
|
|
|
cfg = config.services.xresources;
|
|
|
|
xres = concatStringsSep "\n" (attrValues cfg.resources);
|
|
|
|
|
|
|
|
in mkIf cfg.enable {
|
|
|
|
services.xserver.displayManager.sessionCommands = ''
|
|
|
|
echo ${shell-escape xres} | xrdb -merge
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|