@ -3,6 +3,13 @@
let
let
mod = " M o d 4 " ;
mod = " M o d 4 " ;
in {
in {
# Dependencies
home . packages = with pkgs ; [
playerctl # pactl comes with PulseAudio
scrot # Screnshot keybindings
xclip # Copying screenshots to clipboard
] ;
xsession . windowManager . i3 = {
xsession . windowManager . i3 = {
enable = true ;
enable = true ;
config = {
config = {
@ -20,11 +27,24 @@ in {
" ${ mod } + R e t u r n " = " e x e c k i t t y " ;
" ${ mod } + R e t u r n " = " e x e c k i t t y " ;
" ${ mod } + S h i f t + e " = " e x e c i 3 - m s g e x i t " ; # bypass default session exit confirmation menu
" ${ mod } + S h i f t + e " = " e x e c i 3 - m s g e x i t " ; # bypass default session exit confirmation menu
" M o d 1 + Q " = " e x e c / e t c / p r o f i l e s / p e r - u s e r / e l n u / b i n / r o f i - p o w e r " ;
" M o d 1 + Q " = " e x e c / e t c / p r o f i l e s / p e r - u s e r / e l n u / b i n / r o f i - p o w e r " ;
# Audio controls
" X F 8 6 A u d i o R a i s e V o l u m e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - v o l u m e @ D E F A U L T _ S I N K @ + 1 0 % " ;
" X F 8 6 A u d i o R a i s e V o l u m e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - v o l u m e @ D E F A U L T _ S I N K @ + 1 0 % " ;
" X F 8 6 A u d i o L o w e r V o l u m e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - v o l u m e @ D E F A U L T _ S I N K @ - 1 0 % " ;
" X F 8 6 A u d i o L o w e r V o l u m e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - v o l u m e @ D E F A U L T _ S I N K @ - 1 0 % " ;
" X F 8 6 A u d i o M u t e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - m u t e @ D E F A U L T _ S I N K @ t o g g l e " ;
" X F 8 6 A u d i o M u t e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s i n k - m u t e @ D E F A U L T _ S I N K @ t o g g l e " ;
" X F 8 6 A u d i o M i c M u t e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s o u r c e - m u t e @ D E F A U L T _ S O U R C E @ t o g g l e " ;
" X F 8 6 A u d i o M i c M u t e " = " e x e c - - n o - s t a r t u p - i d p a c t l s e t - s o u r c e - m u t e @ D E F A U L T _ S O U R C E @ t o g g l e " ;
} ;
# Media player controls
" X F 8 6 A u d i o P l a y " = " e x e c p l a y e r c t l p l a y - p a u s e " ;
" X F 8 6 A u d i o N e x t " = " e x e c p l a y e r c t l n e x t " ;
" X F 8 6 A u d i o P r e v " = " e x e c p l a y e r c t l p r e v i o u s " ;
# Multi-screen screenshots with scrot
" P r i n t " = " e x e c s c r o t ' s c r e e n s h o t _ % Y % m % d _ % H % M % S . p n g ' - e ' m k d i r - p ~ / P i c t u r e s / s c r e e n s h o t s & & m v $ f ~ / P i c t u r e s / s c r e e n s h o t s & & x c l i p - s e l e c t i o n c l i p b o a r d - t i m a g e / p n g - i ~ / P i c t u r e s / s c r e e n s h o t s / ` l s - 1 - t ~ / P i c t u r e s / s c r e e n s h o t s | h e a d - 1 ` " ; # All screens
# OSX-like area selection screenshots
" S h i f t + P r i n t " = " e x e c s c r o t - s ' s c r e e n s h o t _ % Y % m % d _ % H % M % S . p n g ' - e ' m k d i r - p ~ / P i c t u r e s / s c r e e n s h o t s & & m v $ f ~ / P i c t u r e s / s c r e e n s h o t s & & x c l i p - s e l e c t i o n c l i p b o a r d - t i m a g e / p n g - i ~ / P i c t u r e s / s c r e e n s h o t s / ` l s - 1 - t ~ / P i c t u r e s / s c r e e n s h o t s | h e a d - 1 ` ' " ; # Area selection
} ;
keycodebindings = {
keycodebindings = {
" 1 3 3 " = " - - r e l e a s e e x e c r o f i - s h o w r u n - t h e m e " ;
" 1 3 3 " = " - - r e l e a s e e x e c r o f i - s h o w r u n - t h e m e " ;
} ;
} ;