blob: 658fede6b3a72f4e26b6a963b0066748a2fc4c28 (
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
{ pkgs, config, ... }: {
environment.systemPackages = with pkgs; [
#== Essential libraries ==#
dbus
at-spi2-atk
libnotify
gtk3
yad # GUI dialogs in shell scripts
cairo # 2D graphics
zenity # display dialogs from cli
gnome.gvfs # virtual filesystem
#== Primary applications ==#
openbox lxappearance obconf # window manager and tools
picom # compositor
nixpkgs-2305.tint2 # taskbar
dunst dunst-applet # notifications
jgmenu # app menu
i3lock-color # lockscreen
lightdm lightdm-gtk-greeter # session manager
#== X11 tools ==#
lxqt.lxqt-policykit
xautolock # lock on inactivity
xkbmon # keyboard language/layout monitor
#== System tools ==#
gnome-disk-utility
nixpkgs-mint.gnome.gnome-system-monitor # system monitor
nixpkgs-mint.gnome.baobab # disk usage analyzer
nixpkgs-2305.simple-scan # document scanner
#== Freedesktop ==#
xdg-desktop-portal-gtk
xdg-desktop-portal-xapp
menu-cache # read menu files
#== Tray applications ==#
libappindicator
pnmixer # audio control
#== File viewers/editors ==#
atril # PDF/PostScript/DJVU/...
eom # PNG/JPEG/...
engrampa # archives
nixpkgs-2305.cinnamon.nemo-with-extensions # file manager
seahorse # GnomeKeyring manager
#== Themes ==#
nixpkgs-mint.cinnamon.mint-themes
nixpkgs-mint.cinnamon.mint-y-icons
oreo-black-bordered-cursor
openbox-theme-collections
openbox-blocks-dark
] ++
(if config.hardware.bluetooth.enable then
[
blueman # bluetooth configuration
]
else []) ++
(if config.networking.networkmanager.enable then
[
networkmanagerapplet
]
else []);
security = {
polkit.enable = true;
pam.services.i3lock.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;
profiles.user.databases = [{
lockAll = true;
settings."org/cinnamon/desktop/applications/terminal" = {
exec = "${pkgs.terminator}/bin/terminator";
};
settings."org/cinnamon/desktop/default-applications/terminal" = {
exec = "${pkgs.terminator}/bin/terminator";
};
}];
};
gnome-disks.enable = true;
};
services = {
dbus.packages = with pkgs; [ gnome2.GConf ];
udev.packages = with pkgs; [ gnome-settings-daemon ];
udisks2.enable = true; # gnome-disks disk access
gnome.gnome-keyring.enable = true;
gvfs.enable = true; # MTP (for nemo)
logind.settings.Login = {
InhibitDelayMaxSec = 1;
HoldoffTimeoutSec = "1s";
HandlePowerKey = "poweroff";
};
};
services.xserver = {
enable = true;
# Window manager
windowManager.openbox.enable = true;
xautolock = {
enable = true;
time = 15;
locker = "/home/kamen/bin/lock";
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/bin/lock suspend";
};
};
};
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" ];
};
}
|