aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules/exwm.nix
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2024-11-19 23:49:50 +0300
committerspl3g <spleefer6@yandex.ru>2025-05-01 14:58:57 +0300
commitdc76fd7780460a144efb51ebaf5369b753108a11 (patch)
tree15a37007debf5fd41247472ec57330c6dbea3fad /home-manager/homeModules/exwm.nix
parent9ee05b0f1270fb8066368332b2f20da62af7e0a1 (diff)
feat: add exwm (will not use it)
Diffstat (limited to 'home-manager/homeModules/exwm.nix')
-rw-r--r--home-manager/homeModules/exwm.nix61
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
+ ];
+ };
+}