blob: aa9a16b4c260a0589eed9e3fcfdb010957bc2f75 (
plain) (
blame)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
# Essential libs
dbus cairo libnotify gtk3 yad gnome.zenity gnome.gvfs gmtp at-spi2-atk
# Main apps and their config apps
# window manager, compositor, taskbar, notifications, app menu, lockscreen, session manager
openbox lxappearance obconf picom nixpkgs-2305.tint2 dunst jgmenu i3lock-color lightdm lightdm-gtk-greeter
# General X11 tools
lxqt.lxqt-policykit xorg.xev xfontsel xorg.xmodmap xorg.xwininfo xorg.xprop clipnotify xdotool xautolock xcape xorg.setxkbmap xkbmon xorg.xhost xclip wmctrl
menu-cache
# Tray
libappindicator networkmanagerapplet pnmixer
# File openers
evince gnome.eog nixpkgs-2305.gnome.file-roller cinnamon.nemo-with-extensions gnome.seahorse
# System
gnome.gnome-system-monitor udisks gnome.gnome-disk-utility baobab gnome.simple-scan
# Theme
nixpkgs-mint.cinnamon.mint-themes nixpkgs-mint.cinnamon.mint-y-icons oreo-black-bordered-cursor
openbox-theme-collections openbox-blocks-dark
xdg-desktop-portal-gtk xdg-desktop-portal-xapp
];
security.polkit.enable = true;
xdg.portal = {
enable = true;
configPackages = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-xapp ];
config.common = {
default = [ "gtk" "xapp" ];
"org.freedesktop.impl.portal.Screenshot" = [ "xapp" ];
};
};
programs = {
dconf.enable = true;
gnome-disks.enable = true;
};
services = {
dbus.packages = with pkgs; [ gnome2.GConf ];
udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
udisks2.enable = true; # gnome-disks disk access
gnome.gnome-keyring.enable = true;
gvfs.enable = true; # MTP (for nemo)
logind.extraConfig = ''
InhibitDelayMaxSec=1
HoldoffTimeoutSec=1s
HandlePowerKey=poweroff'';
};
services.xserver = {
enable = true;
# Window manager
windowManager.openbox.enable = true;
xautolock = {
enable = true;
time = 15;
locker = "/home/kamen/.a/sys/lock.sh";
extraOptions = [ "-detectsleep" "-secure" ];
};
};
systemd.services = {
lockscreen = {
wantedBy = [ "sleep.target" ];
before = [ "suspend.target" ];
serviceConfig = {
User = "kamen";
Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" "DBUS_SESSION_BUS_ADDRESS=\"unix:path=/run/user/1000/bus\"" ];
ExecStart = "/home/kamen/.a/sys/lock.sh";
};
};
};
systemd.user.services = {
lxqt-policykit = {
description = "lxqt-policykit runner";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
# This is kinda gross, because the xautolock service is already defined and configured
# inside services.xserver.xautolock, but it's the only way I know
xautolock.serviceConfig.Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" ];
};
}
|