mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
module moving mostly done
This commit is contained in:
parent
a9de747c25
commit
e78a971b9b
33 changed files with 455 additions and 447 deletions
124
modules/X11.nix
Normal file
124
modules/X11.nix
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
_: {
|
||||
config,
|
||||
pkgs,
|
||||
options,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.localModules.X11Programs;
|
||||
in {
|
||||
options.localModules.X11Programs = {
|
||||
picom.enable = mkEnableOption "";
|
||||
sxhkd.enable = mkEnableOption "";
|
||||
};
|
||||
config = mkMerge [
|
||||
{
|
||||
services.xserver = {
|
||||
exportConfiguration = true;
|
||||
layout = "us";
|
||||
libinput.enable = true;
|
||||
xautolock.enable = false;
|
||||
excludePackages = [pkgs.xterm];
|
||||
};
|
||||
}
|
||||
|
||||
(
|
||||
mkIf cfg.picom.enable {
|
||||
services.picom = {
|
||||
enable = true;
|
||||
backend = "glx";
|
||||
shadow = false;
|
||||
shadowOpacity = 0.5;
|
||||
vSync = false;
|
||||
settings = {
|
||||
blur = false;
|
||||
|
||||
shadow-radius = 12;
|
||||
frame-opacity = 1.0;
|
||||
inactive-opacity-override = false;
|
||||
corner-radius = 12;
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'desktop'"
|
||||
"window_type = 'tooltip'"
|
||||
];
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
detect-transient = true;
|
||||
use-damage = true;
|
||||
log-level = "warn";
|
||||
wintypes = {
|
||||
tooltip = {
|
||||
fade = true;
|
||||
shadow = false;
|
||||
opacity = 1.0;
|
||||
focus = true;
|
||||
full-shadow = false;
|
||||
};
|
||||
dock = {shadow = true;};
|
||||
dnd = {shadow = true;};
|
||||
popup_menu = {opacity = 1.0;};
|
||||
dropdown_menu = {opacity = 1.0;};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
(
|
||||
let
|
||||
configFile = pkgs.writeText "sxhkdrc" ''
|
||||
XF86AudioPlay
|
||||
playerctl play-pause
|
||||
XF86AudioPause
|
||||
playerctl play-pause
|
||||
XF86AudioStop
|
||||
playerctl stop
|
||||
XF86AudioNext
|
||||
playerctl next
|
||||
XF86AudioPrev
|
||||
playerctl previous
|
||||
XF86AudioRaiseVolume
|
||||
amixer sset Master 40+
|
||||
XF86AudioLowerVolume
|
||||
amixer sset Master 40-
|
||||
XF86AudioMute
|
||||
amixer sset Master toggle
|
||||
XF86MonBrightnessUp
|
||||
brightnessctl s 20+
|
||||
XF86MonBrightnessDown
|
||||
brightnessctl s 20-
|
||||
Print
|
||||
maim $HOME/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg
|
||||
Print + shift
|
||||
maim | xclip -selection clipboard -t image/png
|
||||
super + Print
|
||||
maim -s $HOME/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg
|
||||
super + Print + shift
|
||||
maim -s | xclip -selection clipboard -t image/png
|
||||
'';
|
||||
in
|
||||
mkIf cfg.sxhkd.enable
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.maim #screenshooter
|
||||
pkgs.brightnessctl #brightness control for laptop
|
||||
pkgs.playerctl #music control
|
||||
pkgs.xclip
|
||||
pkgs.coreutils
|
||||
];
|
||||
systemd.user.services.sxhkd = {
|
||||
description = "sxhkd hotkey daemon";
|
||||
wantedBy = ["graphical-session.target"];
|
||||
partOf = ["graphical-session.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.sxhkd}/bin/sxhkd -c ${configFile}";
|
||||
RestartSec = 3;
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue