From f509ef74c50ccda67afbc3e1a32ee50a94b8d575 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 21 Oct 2014 21:23:33 +0200 Subject: common-workstation: Move SLiM stuff into a module. Signed-off-by: aszlig --- modules/slim/default.nix | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 modules/slim/default.nix (limited to 'modules/slim') diff --git a/modules/slim/default.nix b/modules/slim/default.nix new file mode 100644 index 00000000..d8905ed7 --- /dev/null +++ b/modules/slim/default.nix @@ -0,0 +1,44 @@ +{ pkgs, config, lib, ... }: + +with lib; + +let + cfg = config.vuizvui.slim; + randrHeads = config.services.xserver.xrandrHeads; +in { + options.vuizvui.slim.enable = mkEnableOption "Vuizvui SLiM"; + + config.services.xserver.displayManager.slim = mkIf cfg.enable { + enable = true; + defaultUser = "aszlig"; + theme = pkgs.stdenv.mkDerivation { + name = "nixos-theme-vuizvui"; + src = pkgs.slimThemes.nixosSlim; + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + patchPhase = let + headFactor = if randrHeads == [] then 1 else lib.length randrHeads; + centerLeft = 100 / (headFactor * 2); + in '' + ${pkgs.imagemagick}/bin/mogrify \ + -fill '#080010' -draw 'color 0,0 reset' \ + share/slim/themes/nixos-slim-testing/background.png + ${pkgs.imagemagick}/bin/mogrify \ + -negate -region 100x110+0+0 -negate -fill white -colorize 20% \ + share/slim/themes/nixos-slim-testing/panel.png + sed -i \ + -e 's/^\([a-z_]\+_x[^0-9]*\)[0-9]\+%/\1${toString centerLeft}%/' \ + share/slim/themes/nixos-slim-testing/slim.theme + cat >> share/slim/themes/nixos-slim-testing/slim.theme <