blob: ccc7dbf5df0b4c30bc6ea3eef4b696b87c6af8ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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
];
};
};
}
|