Replace wayland with xmonad
diff --git a/modules/chromium.nix b/modules/chromium.nix
index dadac9d..c4c5c81 100644
--- a/modules/chromium.nix
+++ b/modules/chromium.nix
@@ -4,7 +4,7 @@
}: {
home.home.packages = [ pkgs.chromium ];
- config.nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebUIDarkMode --force-dark-mode --enable-features=WebRTCPipeWireCapturer";
+ config.nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --enable-features=WebUIDarkMode --force-dark-mode --enable-features=WebRTCPipeWireCapturer";
config.environment.persistence."/nix/persist".users.${username}.directories = [ ".config/chromium" ];
}
diff --git a/modules/input.nix b/modules/input.nix
new file mode 100644
index 0000000..3f6b1cc
--- /dev/null
+++ b/modules/input.nix
@@ -0,0 +1,6 @@
+{pkgs, ...}: {
+ config.services.xserver.libinput = {
+ enable = true;
+ touchpad.naturalScrolling = true;
+ };
+}
diff --git a/modules/security.nix b/modules/security.nix
index 0cf0586..0f857d4 100644
--- a/modules/security.nix
+++ b/modules/security.nix
@@ -35,9 +35,7 @@
let
lockCommand =
lib.pipe ''
- ${pkgs.sway}/bin/swaymsg output "*" dpms off
${pkgs.systemd}/bin/systemd-inhibit --why="Already locked" --what=idle --who="lock script" ${config.security.wrapperDir}/physlock -s -p "${lockMessage}"
- while [ $(${pkgs.sway}/bin/swaymsg -t get_outputs | ${pkgs.jq}/bin/jq "[.[] | .dpms] | any") = "false" ]; do ${pkgs.coreutils}/bin/sleep 0.1; ${pkgs.sway}/bin/swaymsg output "*" dpms on; done
'' [
(lib.splitString "\n")
(lib.filter (line: line != ""))
diff --git a/modules/xmonad.nix b/modules/xmonad.nix
index 66ee90b..745739e 100644
--- a/modules/xmonad.nix
+++ b/modules/xmonad.nix
@@ -1,10 +1,26 @@
-{pkgs, ...}: {
- home.xsession.windowManager.xmonad = {
+{ pkgs, home, config, ... }: {
+ home = {
+ xsession = {
+ windowManager.xmonad = {
+ enable = true;
+ enableContribAndExtras = true;
+ config = ./xmonad/xmonad.hs;
+ extraPackages = haskellPackages: with haskellPackages; [
+ ];
+ };
+ };
+ programs.zsh.profileExtra = ''
+ if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
+ exec ${pkgs.systemd}/bin/systemd-cat -t xmonad ${pkgs.xorg.xinit}/bin/startx
+ fi
+ '';
+ home.file.".xinitrc".text = ''
+ ${home.xsession.windowManager.command}
+ '';
+ };
+ config.services.xserver = {
enable = true;
- enableContribAndExtras = true;
- config = ./xmonad/xmonad.hs;
- extraPackages = haskellPackages: with haskellPackages; [
- taffybar
- ];
+ layout = "gb";
+ displayManager.startx.enable = true;
};
}
diff --git a/modules/xmonad/xmonad.hs b/modules/xmonad/xmonad.hs
index 518ba33..76cc166 100644
--- a/modules/xmonad/xmonad.hs
+++ b/modules/xmonad/xmonad.hs
@@ -1,10 +1,24 @@
-- spell-checker:words xmonad
import XMonad
+import System.Exit
import XMonad.Util.EZConfig
+terminal = "kitty" -- Kitty, my beloved <3
+launcher = "pkill rofi; rofi -show combi"
+networkManager = "wpa_cli select_network $(wpa_cli list_networks | tail -n +3 | rofi -dmenu -window-title 'Select Network' | awk '{print $1;}')"
+modifierKey = mod4Mask -- Use Super as our mod key
+
+shift = shiftMask
+
main :: IO ()
main = xmonad $ def
- { modMask = mod4Mask -- Use Super as our mod key
- , terminal = "kitty" -- Kitty, my beloved <3
- }
+ { modMask = modifierKey -- Use Super as our mod key
+ , XMonad.terminal = Main.terminal
+ } `additionalKeys`
+ [ ((modifierKey, xK_d), spawn launcher)
+ , ((modifierKey, xK_n), spawn networkManager)
+ , ((modifierKey .|. shift, xK_q), kill)
+ , ((modifierKey, xK_q), spawn "xmonad --restart")
+ , ((modifierKey .|. shift, xK_c), io (exitWith ExitSuccess))
+ ]