diff options
| author | Quentin Aristote <quentin@aristote.fr> | 2023-02-11 17:18:54 +0100 |
|---|---|---|
| committer | Quentin Aristote <quentin@aristote.fr> | 2023-02-12 13:16:43 +0100 |
| commit | 6ea803da80558e269564c99070e92e285cf977ff (patch) | |
| tree | 151458881e22471888ac301ba6cb8b060f3723d8 /modules/nixos/gui.nix | |
| parent | 84d6a76d15345cdbd11fac5a079e04c81e484238 (diff) | |
add personal nixos modules
Diffstat (limited to 'modules/nixos/gui.nix')
| -rw-r--r-- | modules/nixos/gui.nix | 54 |
1 files changed, 54 insertions, 0 deletions
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"; + }; + }) + ]); +} |
