summaryrefslogtreecommitdiffstats
path: root/jeschli/2configs/xserver/xserver.conf.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2018-04-26 12:54:03 +0200
committerlassulus <lassulus@lassul.us>2018-04-26 12:54:03 +0200
commite7b4301dda04e17ca5802cddd2c037617674b599 (patch)
tree1e76afe6aa0aa8a4ac08387f7926a8ea64165e58 /jeschli/2configs/xserver/xserver.conf.nix
parentb1ecac535ecccaad05fcdea394f527e5cf88af3a (diff)
parentb5d1c2f5e6ab4a44f81366e1b9de0b366d8aa871 (diff)
Merge remote-tracking branch 'prism/staging/jeschli'
Diffstat (limited to 'jeschli/2configs/xserver/xserver.conf.nix')
-rw-r--r--jeschli/2configs/xserver/xserver.conf.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/jeschli/2configs/xserver/xserver.conf.nix b/jeschli/2configs/xserver/xserver.conf.nix
new file mode 100644
index 000000000..6f34e0150
--- /dev/null
+++ b/jeschli/2configs/xserver/xserver.conf.nix
@@ -0,0 +1,40 @@
+{ config, lib, pkgs, ... }:
+
+with import <stockholm/lib>;
+
+let
+ cfg = config.services.xserver;
+in
+
+pkgs.stdenv.mkDerivation {
+ name = "xserver.conf";
+
+ xfs = optionalString (cfg.useXFS != false)
+ ''FontPath "${toString cfg.useXFS}"'';
+
+ inherit (cfg) config;
+
+ buildCommand =
+ ''
+ echo 'Section "Files"' >> $out
+ echo $xfs >> $out
+
+ for i in ${toString config.fonts.fonts}; do
+ if test "''${i:0:''${#NIX_STORE}}" == "$NIX_STORE"; then
+ for j in $(find $i -name fonts.dir); do
+ echo " FontPath \"$(dirname $j)\"" >> $out
+ done
+ fi
+ done
+
+ for i in $(find ${toString cfg.modules} -type d); do
+ if test $(echo $i/*.so* | wc -w) -ne 0; then
+ echo " ModulePath \"$i\"" >> $out
+ fi
+ done
+
+ echo 'EndSection' >> $out
+
+ echo "$config" >> $out
+ '';
+}