Summary Files Commits Branches @commit @diff @stats
path: root / modules / openbox-de.nix
diff options
context:
space:
mode:
Commitf087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-07-07 08:55:30 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-07-07 08:55:30 +0300
Files37d7d19aa83e5d2d7ab9370ddfda9091671d2972 /modules/openbox-de.nix
nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.tar
nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.tar.gz
nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.zip
Parent27b0e6bf1f4cc859d331d5c50030d8531c958452 (diff)
[all] Improved autoconfig-ing setup and added some configs
1 files changed, 98 insertions, 0 deletions
-rw-r--r--modules/openbox-de.nix98
diff --git a/modules/openbox-de.nix b/modules/openbox-de.nix
new file mode 100644
index 0000000..8102d6b
--- /dev/null
+++ b/modules/openbox-de.nix
@@ -0,0 +1,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 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" ];
+ };
+}