From 48e0ba19c2e3b34f1a3db500adef76982804abf4 Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Thu, 19 May 2022 13:40:34 -0400 Subject: [PATCH] module: add wm This module sets up window managers, and the common xorg configuration between them. --- flake.nix | 1 - hosts/Infini-DESKTOP/default.nix | 3 +- hosts/Infini-FRAMEWORK/default.nix | 3 +- hosts/Infini-SWIFT/default.nix | 3 +- modules/modules/desktop/wm.nix | 46 ++++++++++++++++++++++++++++++ profiles/graphical/qtile.nix | 16 ----------- profiles/graphical/xserver.nix | 17 ----------- users/infinidoge/default.nix | 2 ++ 8 files changed, 54 insertions(+), 37 deletions(-) create mode 100644 modules/modules/desktop/wm.nix delete mode 100644 profiles/graphical/qtile.nix delete mode 100644 profiles/graphical/xserver.nix diff --git a/flake.nix b/flake.nix index 9d39c46..e423884 100644 --- a/flake.nix +++ b/flake.nix @@ -136,7 +136,6 @@ base = [ (with users; [ root infinidoge ]) ]; - graphic = base ++ [ graphical.qtile ]; develop = [ (with profiles.develop.programming; [ diff --git a/hosts/Infini-DESKTOP/default.nix b/hosts/Infini-DESKTOP/default.nix index f3a930d..dc9026d 100644 --- a/hosts/Infini-DESKTOP/default.nix +++ b/hosts/Infini-DESKTOP/default.nix @@ -1,7 +1,7 @@ { suites, profiles, pkgs, lib, ... }: { imports = lib.lists.flatten [ (with suites; [ - graphic + base develop ]) @@ -56,6 +56,7 @@ }; }; desktop = { + wm.enable = true; gaming.enableAll = true; }; virtualization.enable = true; diff --git a/hosts/Infini-FRAMEWORK/default.nix b/hosts/Infini-FRAMEWORK/default.nix index a598523..71df404 100644 --- a/hosts/Infini-FRAMEWORK/default.nix +++ b/hosts/Infini-FRAMEWORK/default.nix @@ -1,6 +1,6 @@ { suites, profiles, pkgs, lib, ... }: { imports = lib.lists.flatten [ - (with suites; [ graphic ]) + (with suites; [ base ]) (with profiles; [ networking.wireless @@ -44,6 +44,7 @@ }; }; desktop = { + wm.enable = true; gaming = { steam.enable = true; polymc.enable = true; diff --git a/hosts/Infini-SWIFT/default.nix b/hosts/Infini-SWIFT/default.nix index c6a7db8..ad67dc9 100644 --- a/hosts/Infini-SWIFT/default.nix +++ b/hosts/Infini-SWIFT/default.nix @@ -1,6 +1,6 @@ { suites, profiles, pkgs, lib, ... }: { imports = lib.our.flattenListSet { - suites = with suites; [ graphic develop ]; + suites = with suites; [ base develop ]; imports = [ ./hardware-configuration.nix ]; profiles = with profiles; [ @@ -26,6 +26,7 @@ services = { proxy.enable = true; }; + desktop.wm.enable = true; }; networking.interfaces.wlan0.useDHCP = true; diff --git a/modules/modules/desktop/wm.nix b/modules/modules/desktop/wm.nix new file mode 100644 index 0000000..594118b --- /dev/null +++ b/modules/modules/desktop/wm.nix @@ -0,0 +1,46 @@ +{ pkgs, lib, config, ... }: +with lib; +with lib.hlissner; +let + cfg = config.modules.desktop.wm; +in +{ + options.modules.desktop.wm = { + enable = mkBoolOpt false; + qtile.enable = mkBoolOpt false; + }; + + config = mkIf cfg.enable (mkMerge [ + { + info = { + graphical = mkDefault true; + monitors = mkDefault 1; + }; + + services.xserver = { + enable = true; + displayManager.lightdm.enable = true; + }; + + environment.systemPackages = with pkgs; flatten [ + (with xorg; [ + xwininfo + xprop + ]) + + xsecurelock + blugon + ]; + } + (mkIf cfg.qtile.enable { + services.xserver.windowManager.qtile.enable = true; + + info.env.wm = "qtile"; + + fonts.fonts = with pkgs; [ + powerline-fonts + ubuntu_font_family + ]; + }) + ]); +} diff --git a/profiles/graphical/qtile.nix b/profiles/graphical/qtile.nix deleted file mode 100644 index ab82ce3..0000000 --- a/profiles/graphical/qtile.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ pkgs, ... }: { - imports = [ ./xserver.nix ]; - - services.xserver.windowManager.qtile.enable = true; - - info.env.wm = "qtile"; - - environment.systemPackages = with pkgs; [ - xsecurelock - ]; - - fonts.fonts = with pkgs; [ - powerline-fonts - ubuntu_font_family - ]; -} diff --git a/profiles/graphical/xserver.nix b/profiles/graphical/xserver.nix deleted file mode 100644 index eabeaaa..0000000 --- a/profiles/graphical/xserver.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, lib, ... }: { - services.xserver = { - enable = true; - displayManager.lightdm.enable = true; - }; - - environment.systemPackages = with pkgs; lib.flatten [ - (with xorg; [ - xwininfo - xprop - ]) - - blugon - ]; - - info.monitors = lib.mkDefault 1; -} diff --git a/users/infinidoge/default.nix b/users/infinidoge/default.nix index 4d8b53f..39b7fa5 100644 --- a/users/infinidoge/default.nix +++ b/users/infinidoge/default.nix @@ -86,6 +86,8 @@ in }; }; + desktop.wm.qtile.enable = true; + software.minipro.enable = true; };