From 6ea803da80558e269564c99070e92e285cf977ff Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Sat, 11 Feb 2023 17:18:54 +0100 Subject: add personal nixos modules --- modules/nixos/gui.nix | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 modules/nixos/gui.nix (limited to 'modules/nixos/gui.nix') diff --git a/modules/nixos/gui.nix b/modules/nixos/gui.nix new file mode 100644 index 0000000..d4de375 --- /dev/null +++ b/modules/nixos/gui.nix @@ -0,0 +1,54 @@ +{ config, lib, pkgs, ... }: + +let cfg = config.personal.gui; +in { + options.personal.gui = { + enable = lib.mkEnableOption "GUI"; + xserver.enable = lib.mkEnableOption "X server"; + i3.enable = lib.mkEnableOption "i3"; + }; + + config = lib.mkIf cfg.enable (lib.mkMerge [ + { + services.xserver = lib.mkIf cfg.xserver.enable { + enable = true; + desktopManager.xfce.enable = true; + displayManager = { + lightdm = { + enable = true; + # background = background-image; + greeters.gtk = { + enable = true; + # extraConfig = '' + # user-background = false + # ''; + theme = { + name = "Arc-Dark"; + package = pkgs.arc-theme; + }; + iconTheme = { + name = "Breeze-dark"; + package = pkgs.breeze-icons; + }; + }; + }; + }; + # Hardware + libinput.enable = true; + layout = config.personal.hardware.keyboard.keyMap; + autoRepeatDelay = 200; + }; + services.blueman.enable = config.hardware.bluetooth.enable; + } + (lib.mkIf cfg.i3.enable { + services.xserver = { + desktopManager.xfce = { + noDesktop = true; + enableXfwm = false; + }; + windowManager.i3.enable = true; + displayManager.defaultSession = "xfce+i3"; + }; + }) + ]); +} -- cgit v1.2.3