reworked sxhkd, added QMK stuff, fixed VM

This commit is contained in:
Gerg-L 2023-11-05 00:58:49 -04:00
parent 928040c5cf
commit 56c9d32f85
Signed by: gerg-l
SSH key fingerprint: SHA256:FPYDHIkvMocr4wdmZXpgpJjsb2Tw6rASs2ISPbOb0KI
5 changed files with 95 additions and 91 deletions

View file

@ -14,9 +14,10 @@
enable = true;
displayManager = {
sessionCommands = ''
${lib.getExe pkgs.feh} --bg-center "${self.packages.images}/recursion.png"
${lib.getExe pkgs.numlockx}
${lib.getExe pkgs.picom} &
feh --bg-center "${self.packages.images}/recursion.png"
numlockx
picom &
sxhkd &
'';
defaultSession = "none+dwm";
};
@ -43,8 +44,56 @@
}
];
};
environment.systemPackages = builtins.attrValues {
inherit (suckless.packages) dmenu dwm st;
environment = {
systemPackages = builtins.attrValues {
inherit (suckless.packages) dmenu dwm st;
inherit (pkgs)
maim
playerctl
xclip
alsa-utils
feh
numlockx
picom
;
sxhkd = pkgs.symlinkJoin {
name = "sxhkd";
nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
paths = [ pkgs.sxhkd ];
postBuild = ''
wrapProgram $out/bin/sxhkd \
--add-flags "-c /etc/sxhkd/sxhkdrc"
'';
};
};
etc."sxhkd/sxhkdrc".text = ''
XF86AudioPlay
playerctl play-pause
XF86AudioPause
playerctl play-pause
XF86AudioStop
playerctl stop
XF86AudioNext
playerctl next
XF86AudioPrev
playerctl previous
XF86AudioRaiseVolume
amixer sset Master 1%+
XF86AudioLowerVolume
amixer sset Master 1%-
XF86AudioMute
amixer sset Master toggle
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
super + ctrl + r
pkill -usr1 -x sxhkd
'';
};
};
_file = ./dwm.nix;

View file

@ -1,74 +1,14 @@
_:
{ pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}:
let
cfg = config.local.X11Programs;
in
{
options.local.X11Programs = {
sxhkd.enable = lib.mkEnableOption "";
services.xserver = {
tty = lib.mkDefault 1;
exportConfiguration = true;
layout = "us";
libinput.enable = true;
xautolock.enable = false;
excludePackages = [ pkgs.xterm ];
desktopManager.xterm.enable = false;
};
config = lib.mkMerge [
{
services.xserver = {
tty = lib.mkDefault 1;
exportConfiguration = true;
layout = "us";
libinput.enable = true;
xautolock.enable = false;
excludePackages = [ pkgs.xterm ];
desktopManager.xterm.enable = false;
};
}
(
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
lib.mkIf cfg.sxhkd.enable {
environment.systemPackages = [
pkgs.maim # screenshooter
pkgs.brightnessctl # brightness control for laptop
pkgs.playerctl # music control
pkgs.xclip
];
services.xserver.displayManager.sessionCommands = ''
${lib.getExe' pkgs.sxhkd "sxhkd"} -c ${configFile} &
'';
}
)
];
_file = ./X11.nix;
}