aboutsummaryrefslogtreecommitdiff
path: root/modules/homeModules/exwm.nix
diff options
context:
space:
mode:
authorspl3g <notspl3g@duck.com>2026-03-18 18:01:41 +0300
committerspl3g <notspl3g@duck.com>2026-03-18 18:01:59 +0300
commit03648b3d9f177227df40129bed22558f6924b91c (patch)
tree8a22eda142beeafd9002a8d5901ba9428a77ad52 /modules/homeModules/exwm.nix
parentdc19a2b583b3ab50d8e36ff0a90ca633495f675f (diff)
so.. v2 i guess
Diffstat (limited to 'modules/homeModules/exwm.nix')
-rw-r--r--modules/homeModules/exwm.nix71
1 files changed, 71 insertions, 0 deletions
diff --git a/modules/homeModules/exwm.nix b/modules/homeModules/exwm.nix
new file mode 100644
index 0000000..ccc7dbf
--- /dev/null
+++ b/modules/homeModules/exwm.nix
@@ -0,0 +1,71 @@
+{
+ inputs,
+ self,
+ ...
+}: {
+ flake.homeModules.exwm = {
+ lib,
+ pkgs,
+ config,
+ ...
+ }: {
+ modules = [
+ self.homeModules.picom
+ self.homeModules.dunst
+ ];
+
+ options.customs = {
+ exwm.enable = lib.mkEnableOption " enable exwm";
+ };
+
+ config = lib.mkIf config.exwm.enable {
+ customs.picom.enable = true;
+ customs.dunst.enable = true;
+
+ programs.emacs = {
+ extraPackages = epkgs: with epkgs; [exwm];
+ extraConfig = ''
+ (setq exwm--my-scripts "${./attachments/hypr-scripts}")
+ '';
+ };
+ services = {
+ # Screenshotting.
+ flameshot.enable = true;
+
+ # Screen locking.
+ screen-locker = {
+ enable = true;
+ lockCmd = "${pkgs.i3lock-fancy}/bin/i3lock-fancy -p -t ''";
+ inactiveInterval = 20;
+ };
+ };
+ home.file.xinitrc = {
+ text = ''
+ # Disable access control for the current user.
+ xhost +SI:localuser:$USER
+
+ # Make Java applications aware this is a non-reparenting window manager.
+ export _JAVA_AWT_WM_NONREPARENTING=1
+
+ # Set default cursor.
+ xsetroot -cursor_name left_ptr
+
+ picom -b
+
+ # Finally start Emacs
+ ${pkgs.dbus.dbus-launch} --exit-with-session emacs -mm --fullscreen --internal-border=0 --border-width=0
+ '';
+ target = ".xinitrc";
+ };
+ home.packages = with pkgs; [
+ boomer
+ arandr
+ feh
+ gtk3
+ i3lock-fancy
+ xclip
+ xorg.xev
+ ];
+ };
+ };
+}