diff options
Diffstat (limited to 'home-manager/homeModules/exwm.nix')
| -rw-r--r-- | home-manager/homeModules/exwm.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/home-manager/homeModules/exwm.nix b/home-manager/homeModules/exwm.nix new file mode 100644 index 0000000..bc5d79c --- /dev/null +++ b/home-manager/homeModules/exwm.nix @@ -0,0 +1,61 @@ +{ lib, pkgs, config, ... }: +{ + imports = [ + ./picom.nix + ./dunst.nix + ]; + + options = { + exwm.enable = lib.mkEnableOption " enable exwm"; + }; + + config = lib.mkIf config.exwm.enable { + picom.enable = true; + 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 + ]; + }; +} |
