From 7f13a3f5b8e8241c97612f74f8603025d1259c4d Mon Sep 17 00:00:00 2001 From: gnidorah Date: Tue, 4 Jul 2017 13:42:53 +0300 Subject: maxx: init at 1.0.0 --- .../services/x11/desktop-managers/default.nix | 2 +- .../modules/services/x11/desktop-managers/maxx.nix | 46 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/services/x11/desktop-managers/maxx.nix (limited to 'nixos/modules') diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index c207aab5de0a..4b57d9641f50 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,7 @@ in # E.g., if Plasma 5 is enabled, it supersedes xterm. imports = [ ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix - ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix + ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/maxx.nix b/nixos/modules/services/x11/desktop-managers/maxx.nix new file mode 100644 index 000000000000..258348ee749e --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/maxx.nix @@ -0,0 +1,46 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.maxx; + deps = [ pkgs.gcc ] ++ cfg.extraPackages; +in { + options.services.xserver.desktopManager.maxx = { + enable = mkEnableOption "MaXX desktop environment"; + + extraPackages = mkOption { + type = with types; listOf package; + default = with pkgs; [ + xorg.xclock + ]; + description = '' + Extra packages visible to session. + ''; + }; + }; + + config = mkIf (xcfg.enable && cfg.enable) { + environment.systemPackages = [ pkgs.maxx ]; + + # there is hardcoded path in binaries + system.activationScripts.setup-maxx = '' + mkdir -p /opt + ln -sfn ${pkgs.maxx}/opt/MaXX /opt + ''; + + services.xserver.desktopManager.session = [ + { name = "MaXX"; + start = '' + export PATH="${makeBinPath deps}:$PATH" + export GTK_PATH="${pkgs.gtk-engine-murrine}/lib/gtk-2.0:${pkgs.gtk_engines}/lib/gtk-2.0:$GTK_PATH" + export GDK_PIXBUF_MODULE_FILE=$(echo ${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache) + + exec ${pkgs.maxx}/opt/MaXX/etc/skel/Xsession.dt + ''; + }]; + }; + + meta.maintainers = [ maintainers.gnidorah ]; +} -- cgit 1.4.1