summaryrefslogtreecommitdiff
path: root/modules/nixos/personal/gui.nix
diff options
context:
space:
mode:
authorQuentin Aristote <quentin@aristote.fr>2023-02-17 21:22:14 +0100
committerQuentin Aristote <quentin@aristote.fr>2023-02-17 21:24:35 +0100
commit1fdbb44df1c3b8c0bab9e36cee3e8167e102efc3 (patch)
tree210b87b2addd1cc16f06f5646276215841a30622 /modules/nixos/personal/gui.nix
parent262ad5ace2500d97ee3015aee7655f5893801153 (diff)
add filtron and rss-bridge modules
Diffstat (limited to 'modules/nixos/personal/gui.nix')
-rw-r--r--modules/nixos/personal/gui.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/modules/nixos/personal/gui.nix b/modules/nixos/personal/gui.nix
new file mode 100644
index 0000000..d4de375
--- /dev/null
+++ b/modules/nixos/personal/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";
+ };
+ })
+ ]);
+}