diff options
| author | spl3g <notspl3g@duck.com> | 2026-03-18 18:01:41 +0300 |
|---|---|---|
| committer | spl3g <notspl3g@duck.com> | 2026-03-18 18:01:59 +0300 |
| commit | 03648b3d9f177227df40129bed22558f6924b91c (patch) | |
| tree | 8a22eda142beeafd9002a8d5901ba9428a77ad52 /modules/homeModules/exwm.nix | |
| parent | dc19a2b583b3ab50d8e36ff0a90ca633495f675f (diff) | |
so.. v2 i guess
Diffstat (limited to 'modules/homeModules/exwm.nix')
| -rw-r--r-- | modules/homeModules/exwm.nix | 71 |
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 + ]; + }; + }; +} |
