diff options
author | aszlig <aszlig@redmoonstudios.org> | 2015-03-18 02:46:15 +0100 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2015-03-18 02:46:15 +0100 |
commit | e91c0b0c2269a8ab0158863dc1c074daf46001f7 (patch) | |
tree | cfb21b6e78bc61de7b653a71db5af06a61951a72 /modules/user/aszlig/slim/default.nix | |
parent | 147ee83ee25b0c5d4a0600b12e31d6c994a5a9ca (diff) |
modules: Move own stuff into modules/user/aszlig.
Some modules might be generic enough to be included in modules/ directly, but for now, let's just get them out of the way. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'modules/user/aszlig/slim/default.nix')
-rw-r--r-- | modules/user/aszlig/slim/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/user/aszlig/slim/default.nix b/modules/user/aszlig/slim/default.nix new file mode 100644 index 00000000..ca3ce8c6 --- /dev/null +++ b/modules/user/aszlig/slim/default.nix @@ -0,0 +1,43 @@ +{ 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; + 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 <<EOF + session_x ${toString centerLeft}% + msg_color #ffffff + username_color #ffffff + password_color #ffffff + input_color #ffffff + EOF + ''; + installPhase = '' + cp -R share/slim/themes/nixos-slim-testing "$out" + ''; + }; + }; +} |