@@ -1,298 +1,307 @@
{ pkgs , config , niveumPackages , lib , . . . }:
{
pkgs ,
config ,
niveumPackages ,
lib ,
. . .
}:
let
inherit ( import ../lib ) defaultApplications ;
niriConfig =
let
klem = niveumPackages . klem . override {
config . dmenu = " ${ pkgs . dmenu } / b i n / d m e n u - i - p k l e m " ;
config . scripts = {
" p . r p a s t e " = pkgs . writers . writeDash " p . r " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p : / / p . r - - d a t a - b i n a r y @ - \
| ${ pkgs . coreutils } / b i n / t a i l - - l i n e s = 1 \
| ${ pkgs . gnused } / b i n / s e d ' s / \ \ < r \ \ > / k r e b s c o . d e / '
'' ;
" e n v s . s h p a s t e " = pkgs . writers . writeDash " e n v s - h o s t " ''
${ pkgs . curl } / b i n / c u r l - F " f i l e = @ - " h t t p s : / / e n v s . s h
'' ;
" e n v s . s h s h o r t e n " = pkgs . writers . writeDash " e n v s - s h o r t e n " ''
${ pkgs . curl } / b i n / c u r l - F " s h o r t e n = $( ${ pkgs . coreutils } / b i n / c a t ) " h t t p s : / / e n v s . s h
'' ;
" g o . r s h o r t e n " = pkgs . writers . writeDash " g o . r " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p : / / g o . r - F " u r i = $( ${ pkgs . coreutils } / b i n / c a t ) "
'' ;
" 4 d 2 . o r g p a s t e " = pkgs . writers . writeDash " 4 d 2 - p a s t e " ''
${ pkgs . curl } / b i n / c u r l - F " f i l e = @ - " h t t p s : / / d e p o t . 4 d 2 . o r g /
'' ;
" 0 x 0 . s t s h o r t e n " = pkgs . writers . writeDash " 0 x 0 . s t " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p s : / / 0 x 0 . s t - F " s h o r t e n = $( ${ pkgs . coreutils } / b i n / c a t ) "
'' ;
" r o t 1 3 " = pkgs . writers . writeDash " r o t 1 3 " ''
${ pkgs . coreutils } / b i n / t r ' [ A - Z a - z ] ' ' [ N - Z A - M n - z a - m ] '
'' ;
" i p a " = pkgs . writers . writeDash " i p a " ''
${ niveumPackages . ipa } / b i n / i p a
'' ;
" b e t a c o d e " = pkgs . writers . writeDash " b e t a c o d e " ''
${ niveumPackages . betacode } / b i n / b e t a c o d e
'' ;
" c u r l " = pkgs . writers . writeDash " c u r l " ''
${ pkgs . curl } / b i n / c u r l - f S s " $( ${ pkgs . coreutils } / b i n / c a t ) "
'' ;
ocr = pkgs . writers . writeDash " o c r " ''
${ pkgs . tesseract4 } / b i n / t e s s e r a c t - l e n g + d e u - s t d o u t
'' ;
emojai = pkgs . writers . writeDash " e m o j a i " ''
${ pkgs . curl } / b i n / c u r l h t t p s : / / w w w . e m o j a i . a p p / a p i / g e n e r a t e - X P O S T - H ' C o n t e n t - T y p e : a p p l i c a t i o n / j s o n ' - - d a t a - r a w " $( ${ pkgs . jq } / b i n / j q - s R ' { e m o j i : . } ' ) " | ${ pkgs . jq } / b i n / j q - r . r e s u l t
'' ;
" g p t - 3 . 5 " = pkgs . writers . writeDash " g p t " ''
${ niveumPackages . gpt35 } / b i n / g p t
'' ;
gpt-4 = pkgs . writers . writeDash " g p t " ''
${ niveumPackages . gpt4 } / b i n / g p t
'' ;
let
klem = niveumPackages . klem . override {
config . dmenu = " ${ pkgs . dmenu } / b i n / d m e n u - i - p k l e m " ;
config . scripts = {
" p . r p a s t e " = pkgs . writers . writeDash " p . r " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p : / / p . r - - d a t a - b i n a r y @ - \
| ${ pkgs . coreutils } / b i n / t a i l - - l i n e s = 1 \
| ${ pkgs . gnused } / b i n / s e d ' s / \ \ < r \ \ > / k r e b s c o . d e / '
'';
" e n v s . s h p a s t e " = pkgs . writers . writeDash " e n v s - h o s t " ''
${ pkgs . curl } / b i n / c u r l - F " f i l e = @ - " h t t p s : / / e n v s . s h
'';
" e n v s . s h s h o r t e n " = pkgs . writers . writeDash " e n v s - s h o r t e n " ''
${ pkgs . curl } / b i n / c u r l - F " s h o r t e n = $( ${ pkgs . coreutils } / b i n / c a t ) " h t t p s : / / e n v s . s h
'';
" g o . r s h o r t e n " = pkgs . writers . writeDash " g o . r " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p : / / g o . r - F " u r i = $( ${ pkgs . coreutils } / b i n / c a t ) "
'';
" 4 d 2 . o r g p a s t e " = pkgs . writers . writeDash " 4 d 2 - p a s t e " ''
${ pkgs . curl } / b i n / c u r l - F " f i l e = @ - " h t t p s : / / d e p o t . 4 d 2 . o r g /
'';
" 0 x 0 . s t s h o r t e n " = pkgs . writers . writeDash " 0 x 0 . s t " ''
${ pkgs . curl } / b i n / c u r l - f S s h t t p s : / / 0 x 0 . s t - F " s h o r t e n = $( ${ pkgs . coreutils } / b i n / c a t ) "
'';
" r o t 1 3 " = pkgs . writers . writeDash " r o t 1 3 " ''
${ pkgs . coreutils } / b i n / t r ' [ A - Z a - z ] ' ' [ N - Z A - M n - z a - m ] '
'';
" i p a " = pkgs . writers . writeDash " i p a " ''
${ niveumPackages . ipa } / b i n / i p a
'';
" b e t a c o d e " = pkgs . writers . writeDash " b e t a c o d e " ''
${ niveumPackages . betacode } / b i n / b e t a c o d e
'';
" c u r l " = pkgs . writers . writeDash " c u r l " ''
${ pkgs . curl } / b i n / c u r l - f S s " $( ${ pkgs . coreutils } / b i n / c a t ) "
'';
ocr = pkgs . writers . writeDash " o c r " ''
${ pkgs . tesseract4 } / b i n / t e s s e r a c t - l e n g + d e u - s t d o u t
'';
emojai = pkgs . writers . writeDash " e m o j a i " ''
${ pkgs . curl } / b i n / c u r l h t t p s : / / w w w . e m o j a i . a p p / a p i / g e n e r a t e - X P O S T - H ' C o n t e n t - T y p e : a p p l i c a t i o n / j s o n ' - - d a t a - r a w " $( ${ pkgs . jq } / b i n / j q - s R ' { e m o j i : . } ' ) " | ${ pkgs . jq } / b i n / j q - r . r e s u l t
'';
" g p t - 3 . 5 " = pkgs . writers . writeDash " g p t " ''
${ niveumPackages . gpt35 } / b i n / g p t
'';
gpt-4 = pkgs . writers . writeDash " g p t " ''
${ niveumPackages . gpt4 } / b i n / g p t
'';
} ;
} ;
} ;
in
''
s p a w n - a t - s t a r t u p " w a y b a r "
s p a w n - a t - s t a r t u p " ${ pkgs . xwayland-satellite } / b i n / x w a y l a n d - s a t e l l i t e "
in
''
s p a w n - a t - s t a r t u p " ${ pkgs . ironbar } / b i n / i r o n b a r "
sp a w n - a t - s t a r t u p " ${ pkgs . xwayland-satellite } / b i n / x w a y l a n d - s a t e l l i t e "
e n v i r o n m e n t {
D I S P L A Y " : 0 "
}
en v i r o n m e n t {
DI S P L A Y " : 0 "
A N K I _ W A Y L A N D " 1 "
}
i n p u t {
w a r p - m o u s e - t o - f o c u s
f o c u s - f o l l o w s - m o u s e m a x - s c r o l l - a m o u n t = " 0 % "
in p u t {
wa r p - m o u s e - t o - f o c u s
fo c u s - f o l l o w s - m o u s e m a x - s c r o l l - a m o u n t = " 0 % "
k e y b o a r d {
r e p e a t - r a t e 3 5
r e p e a t - d e l a y 3 5 0
t r a c k - l a y o u t " g l o b a l "
ke y b o a r d {
re p e a t - r a t e 3 5
re p e a t - d e l a y 3 5 0
tr a c k - l a y o u t " g l o b a l "
x k b {
l a y o u t " d e "
v a r i a n t " T 3 "
o p t i o n s " c t r l : n o c a p s , c o m p o s e : c a p s , g r p : c t r l s _ t o g g l e "
}
}
t o u c h p a d {
c l i c k - m e t h o d " c l i c k f i n g e r "
t a p
d w t
d w t p
}
}
xk b {
la y o u t " d e "
va r i a n t " T 3 "
op t i o n s " c t r l : n o c a p s , c o m p o s e : c a p s , g r p : c t r l s _ t o g g l e "
}
}
to u c h p a d {
cl i c k - m e t h o d " c l i c k f i n g e r "
ta p
dw t
dw t p
}
}
p r e f e r - n o - c s d
pr e f e r - n o - c s d
h o t k e y - o v e r l a y {
s k i p - a t - s t a r t u p
}
ho t k e y - o v e r l a y {
sk i p - a t - s t a r t u p
}
l a y o u t {
g a p s 5
la y o u t {
ga p s 5
d e f a u l t - c o l u m n - w i d t h {
p r o p o r t i o n 0 . 5
}
p r e s e t - c o l u m n - w i d t h s {
p r o p o r t i o n 0 . 3 3 3 3 3
de f a u l t - c o l u m n - w i d t h {
p r o p o r t i o n 0 . 5
p r o p o r t i o n 0 . 6 6 6 6 7
}
p r e s e t - c o l u m n - w i d t h s {
p r o p o r t i o n 0 . 3 3 3 3 3
p r o p o r t i o n 0 . 5
p r o p o r t i o n 0 . 6 6 6 6 7
}
f o c u s - r i n g {
w i d t h 2
}
s h a d o w {
/ / o n
s o f t n e s s 3 0
s p r e a d 5
o f f s e t x = 0 y = 5
d r a w - b e h i n d - w i n d o w t r u e
c o l o r " # 0 0 0 0 0 0 7 0 "
/ / i n a c t i v e - c o l o r " # 0 0 0 0 0 0 5 4 "
}
t a b - i n d i c a t o r {
/ / o f f
h i d e - w h e n - s i n g l e - t a b
p l a c e - w i t h i n - c o l u m n
g a p 5
w i d t h 4
l e n g t h t o t a l - p r o p o r t i o n = 1 . 0
p o s i t i o n " r i g h t "
g a p s - b e t w e e n - t a b s 2
c o r n e r - r a d i u s 8
a c t i v e - c o l o r " r e d "
i n a c t i v e - c o l o r " g r a y "
u r g e n t - c o l o r " b l u e "
/ / a c t i v e - g r a d i e n t f r o m = " # 8 0 c 8 f f " t o = " # b b d d f f " a n g l e = 4 5
/ / i n a c t i v e - g r a d i e n t f r o m = " # 5 0 5 0 5 0 " t o = " # 8 0 8 0 8 0 " a n g l e = 4 5 r e l a t i v e - t o = " w o r k s p a c e - v i e w "
/ / u r g e n t - g r a d i e n t f r o m = " # 8 0 0 " t o = " # a 3 3 " a n g l e = 4 5
}
b o r d e r {
o f f
}
}
a n i m a t i o n s {
/ / o f f
w o r k s p a c e - s w i t c h {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 1 0 0 0 e p s i l o n = 0 . 0 0 0 1
}
f o c u s - r i n g {
w i d t h 2
w i n d o w - o p e n {
d u r a t i o n - m s 1 5 0
c u r v e " e a s e - o u t - e x p o "
}
s h a d o w {
/ / o n
s o f t n e s s 3 0
s p r e a d 5
o f f s e t x = 0 y = 5
d r a w - b e h i n d - w i n d o w t r u e
c o l o r " # 0 0 0 0 0 0 7 0 "
/ / i n a c t i v e - c o l o r " # 0 0 0 0 0 0 5 4 "
w i n d o w - c l o s e {
d u r a t i o n - m s 1 5 0
c u r v e " e a s e - o u t - q u a d "
}
t a b - i n d i c a t o r {
/ / o f f
h i d e - w h e n - s i n g l e - t a b
p l a c e - w i t h i n - c o l u m n
g a p 5
w i d t h 4
l e n g t h t o t a l - p r o p o r t i o n = 1 . 0
p o s i t i o n " r i g h t "
g a p s - b e t w e e n - t a b s 2
c o r n e r - r a d i u s 8
a c t i v e - c o l o r " r e d "
i n a c t i v e - c o l o r " g r a y "
u r g e n t - c o l o r " b l u e "
/ / a c t i v e - g r a d i e n t f r o m = " # 8 0 c 8 f f " t o = " # b b d d f f " a n g l e = 4 5
/ / i n a c t i v e - g r a d i e n t f r o m = " # 5 0 5 0 5 0 " t o = " # 8 0 8 0 8 0 " a n g l e = 4 5 r e l a t i v e - t o = " w o r k s p a c e - v i e w "
/ / u r g e n t - g r a d i e n t f r o m = " # 8 0 0 " t o = " # a 3 3 " a n g l e = 4 5
h o r i z o n ta l - v ie w - m o v e m e n t {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
b o r d e r {
o f f
w i n d o w - m o v e m e n t {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
}
a n i m a t i o n s {
/ / o f f
w o r k s p a c e - s w i t c h {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 1 0 0 0 e p s i l o n = 0 . 0 0 0 1
}
w i n d o w - o p e n {
d u r a t i o n - m s 1 5 0
c u r v e " e a s e - o u t - e x p o "
}
w i n d o w - c l o s e {
d u r a t i o n - m s 1 5 0
c u r v e " e a s e - o u t - q u a d "
}
h o r i z o n t a l - v i e w - m o v e m e n t {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
w i n d o w - m o v e m e n t {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
w i n d o w - r e s i z e {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
c o n f i g - n o t i f i c a t i o n - o p e n - c l o s e {
s p r i n g d a m p i n g - r a t i o = 0 . 6 s t i f f n e s s = 1 0 0 0 e p s i l o n = 0 . 0 0 1
}
s c r e e n s h o t - u i - o p e n {
d u r a t i o n - m s 2 0 0
c u r v e " e a s e - o u t - q u a d "
}
o v e r v i e w - o p e n - c l o s e {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
}
w i n d o w - r u l e {
g e o m e t r y - c o r n e r - r a d i u s 0
c l i p - t o - g e o m e t r y t r u e
}
w i n d o w - r u l e {
m a t c h i s - w i n d o w - c a s t - t a r g e t = t r u e
b o r d e r {
o n
w i d t h 3
a c t i v e - c o l o r " # f 3 8 b a 8 "
i n a c t i v e - c o l o r " # 7 d 0 d 2 d "
w i n d o w - r e s i z e {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
}
b i n d s {
M o d + S h i f t + S l a s h { s h o w - h o t k e y - o v e r l a y ; }
M o d + R e t u r n { s p a w n " ${ ( defaultApplications pkgs ) . terminal } " ; }
M o d + D { s p a w n " ${ pkgs . wofi } / b i n / w o f i " " - - s h o w " " r u n " ; }
M o d + S h i f t + D { s p a w n " ${ niveumPackages . notemenu } / b i n / n o t e m e n u " ; }
M o d + T { s p a w n " ${ ( defaultApplications pkgs ) . fileManager } " ; }
M o d + Y { s p a w n " ${ ( defaultApplications pkgs ) . browser } " ; }
M o d + P { s p a w n " r o f i - p a s s " ; }
M o d + U { s p a w n " ${ niveumPackages . unicodmenu } / b i n / u n i c o d m e n u " ; }
c o n f i g - n o t i f i c a t i o n - o p e n - c l o s e {
s p r i n g d a m p i n g - r a t i o = 0 . 6 s t i f f n e s s = 1 0 0 0 e p s i l o n = 0 . 0 0 1
}
M o d + B { s p a w n " p k i l l " " - S I G U S R 1 " " w a y b a r " ; }
M o d + F 1 2 { s p a w n " ${ klem } / b i n / k l e m " ; }
s c r e e n s h o t - u i - o p e n {
d u r a t i o n - m s 2 0 0
c u r v e " e a s e - o u t - q u a d "
}
M od + S h i f t + Q { c l o s e - w i n d o w ; }
o v e r v i e w - o p e n - c l o s e {
s p r i n g d a m p i n g - r a t i o = 1 . 0 s t i f f n e s s = 8 0 0 e p s i l o n = 0 . 0 0 0 1
}
}
X F 8 6 A u d i o R a i s e V o l u m e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r - i 5 " ; }
X F 8 6 A u d i o L o w e r V o l u m e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r - d 5 " ; }
X F 8 6 A u d i o M u t e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r - t " ; }
w i n d o w - r u l e {
g e o m e t r y - c o r n e r - r a d i u s 0
c l i p - t o - g e o m e t r y t r u e
}
X F 8 6 A u d i o P a u s e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 P l a y a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / p l a y e r c t l p r e v i o u s " ; }
X F 8 6 A u d i o S t o p a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / p l a y e r c t l s t o p " ; }
P r i n t { s p a w n " f l a m e s h o t g u i " ; }
M o d + S h i f t + W { s p a w n " s w a y l o c k " ; }
w i n d o w - r u l e {
m a t c h i s - w i n d o w - c a s t - t a r g e t = t r u e
M o d + C o m m a { c o n s u m e - o r - e x p e l - w i n d o w - l e f t ; }
M o d + P e r i o d { c o n s u m e - o r - e x p e l - w i n d o w - r i g h t ; }
M o d + W { t o g g l e - c o l u m n - t a b b e d - d i s p l a y ; }
M o d + A r e p e a t = f a l s e { t o g g l e - o v e r v i e w ; }
M o d + F { m a x i m i z e - c o l u m n ; }
M o d + C { c e n t e r - c o l u m n ; }
M o d + M i n u s { s e t - c o l u m n - w i d t h " - 2 5 % " ; }
M o d + P l u s { s e t - c o l u m n - w i d t h " + 2 5 % " ; }
b o r d e r {
o n
w i d t h 3
a c t i v e - c o l o r " # f 3 8 b a 8 "
i n a c t i v e - c o l o r " # 7 d 0 d 2 d "
}
}
M o d + C t r l + 0 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 0 " ; }
M o d + C t r l + 1 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 1 " ; }
M o d + C t r l + 2 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 2 " ; }
M o d + C t r l + 3 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 3 " ; }
M o d + C t r l + 4 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 4 " ; }
M o d + C t r l + 5 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 5 " ; }
M o d + C t r l + 6 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 6 " ; }
M o d + C t r l + 7 { s p a w n " n i r i " " m s g " " a c t i o n" " s w i t c h - l a y o u t " " 7 "; }
M o d + C t r l + 8 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 8 " ; }
M o d + C t r l + 9 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 9 " ; }
b i n d s {
Mo d + S h i f t + S l a s h { s h o w - h o t k e y - o v e r l a y ; }
Mo d + R e t u r n { s p a w n " ${ ( defaultApplications pkgs ) . terminal } " ; }
M o d + D { s p a w n " ${ pkgs . wofi } / b i n / w o f i " " - - s h o w " " r u n " ; }
Mo d + S h i f t + D { s p a w n " ${ niveumPackages . notemenu } / b i n / n o t e m e n u " ; }
M o d + T { s p a w n " ${ ( defaultApplications pkgs ) . fileManager } " ; }
M o d + Y { s p a w n " ${ ( defaultApplications pkgs ) . browser } " ; }
M o d + P { s p a w n " ${ niveumPackages . passmenu } / b i n / p a s s m e n u " ; }
M o d + U { s p a w n " ${ niveumPackages . unicodmenu } / b i n / u n i c o d m e n u " ; }
M o d + H { f o c u s - c o l u m n - o r - m o n i t o r - l e f t ; }
M o d + J { f o c u s - w i nd o w - o r - w o r k s p a c e - d o w n ; }
M o d + K { f o c u s - w i n d o w - o r - w o r k s p a c e - u p ; }
M o d + L { f o c u s - c o l u m n - o r - m o n i t o r - r i g h t ; }
Mo d + B { s p a w n " ${ pkgs . ironbar } / b i n / i r o n b a r " " b a r " " b a r - 1 3 3 7 " " t o g g l e - v i s i b l e " ; }
Mo d + F 1 2 { s p a w n " ${ klem } / b i n / k l e m " ; }
M o d + S h i f t + H { m o v e - c o l u m n - l e f t - o r - t o - m o n i t o r - l e f t ; }
M o d + S h i f t + J { m o v e - w i n d o w - d o w n - o r - t o - w o r k s p a c e - d o w n ; }
M o d + S h i f t + K { m o v e - w i n d o w - u p - o r - t o - w o r k s p a c e - u p ; }
M o d + S h i f t + L { m o v e - c o l u m n - r i g h t - o r - t o - m o n i t o r - r i g h t ; }
Mo d + S h i f t + Q { c l o s e - w i n d o w ; }
M o d + C t r l + H { f o c u s - m o n i t o r - l e f t ; }
M o d + C t r l + J { f o c u s - m o n i t o r - d o w n ; }
M o d + C t r l + K { f o c u s - m o n i t o r - u p ; }
M o d + C t r l + L { f o c u s - m o n i t o r - r i g h t ; }
X F 8 6 A u d i o R a i s e V o l u m e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r -i 5 " ; }
X F 8 6 A u d i o L o w e r V o lu m e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r -d 5 " ; }
X F 8 6 A u d i o M u t e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . pamixer } / b i n / p a m i x e r -t " ; }
M o d + S h i f t + C t r l + H { m o v e - c o l u m n - t o - m o n i t o r - l e f t ; }
M o d + S h i f t + C t r l + J { m o v e - c o l u m n - t o - w o r k s p a c e - d o w n ; }
M o d + S h i f t + C t r l + K { m o v e - c o l u m n - t o - w o r k s p a c e - u p ; }
M o d + S h i f t + C t r l + L { m o v e - c o l u m n - t o - m o n i t o r - r i g h t ; }
X F 8 6 A u d i o P a u s e a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 P l a y a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / 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 a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / p l a y e r c t l p r e v i o u s " ; }
X F 8 6 A u d i o S t o p a l l o w - w h e n - l o c k e d = t r u e { s p a w n " ${ pkgs . playerctl } / b i n / p l a y e r c t l s t o p " ; }
P r i n t { s p a w n " f l a m e s h o t g u i " ; }
M o d + S h i f t + W { s p a w n " s w a y l o c k " ; }
M o d + S h i f t + A l t + C t r l + H { m o v e - w or k s p a c e - t o - m o n i t o r - l e f t ; }
M o d + S h i f t + A l t + C t r l + J { m o v e - w o r k s p a c e - d o w n ; }
M o d + S h i f t + A l t + C t r l + K { m o v e - w o r k s p a c e - u p ; }
M o d + S h i f t + A l t + C t r l + L { m o v e - w o r k s p a c e - t o- m o n i t o r - r i g h t ; }
M o d + C o m m a { c o n s u m e - o r - e x p e l - w i n d o w - l e f t ; }
Mo d + P e r i o d { c o n s u m e - o r - e x p e l - w i n d o w - r i g h t ; }
Mo d + W { t o g g l e - c o l u m n - t a b b e d - d i s p l a y ; }
Mo d + A r e p e a t = f a l s e { t o g g l e - o v e r v i e w ; }
M o d + F { m a x i m i z e - c o l u m n ; }
M o d + C { c e n t e r - c o l u m n ; }
M o d + M i n u s { s e t - c o l u m n - w i d t h " - 2 5 % " ; }
M o d + P l u s { s e t - c o l u m n - w i d t h " + 2 5 % " ; }
M o d + 1 { f o c u s - w o r k s p a c e 1 ; }
M o d + 2 { f o c u s - w o r k s p a c e 2 ; }
M o d + 3 { f o c u s - w o r k s p a c e 3 ; }
M o d + 4 { f o c u s - w o r k s p a c e 4 ; }
M o d + 5 { f o c u s - w o r k s p a c e 5 ; }
M o d + 6 { f o c u s - w o r k s p a c e 6 ; }
M o d + 7 { f o c u s - w o r k s p a c e 7 ; }
M o d + 8 { f o c u s - w o r k s p a c e 8 ; }
M o d + 9 { f o c u s - w o r k s p a c e 9 ; }
M o d + 0 { f o c u s - w o r k s p a c e 1 0 ; }
Mo d + C t r l + 0 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 0 " ; }
Mo d + C t r l + 1 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 1 " ; }
Mo d + C t r l + 2 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 2 " ; }
Mo d + C t r l + 3 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 3 " ; }
Mo d + C t r l + 4 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 4 " ; }
Mo d + C t r l + 5 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 5 " ; }
Mo d + C t r l + 6 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 6 " ; }
Mo d + C t r l + 7 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 7 " ; }
Mo d + C t r l + 8 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 8 " ; }
Mo d + C t r l + 9 { s p a w n " n i r i " " m s g " " a c t i o n " " s w i t c h - l a y o u t " " 9 " ; }
M o d + S h i f t + 1 { m o v e - w i n d o w - t o - w o r k s p a c e " 1 " ; }
M o d + S h i f t + 2 { m o v e - w i n d o w - t o - w o r k s p a c e " 2 " ; }
M o d + S h i f t + 3 { m o v e - w i n d o w - t o - w o r k s p a c e " 3 " ; }
M o d + S h i f t + 4 { m o v e - w i n d o w - t o - w o r k s p a c e " 4 " ; }
M o d + S h i f t + 5 { m o v e - w i n d o w - t o - w o r k s p a c e " 5 " ; }
M o d + S h i f t + 6 { m o v e - w i n d o w - t o - w o r k s p a c e " 6 " ; }
M o d + S h i f t + 7 { m o v e - w i n d o w - t o - w o r k s p a c e " 7 " ; }
M o d + S h i f t + 8 { m o v e - w i n d o w - t o - w o r k s p a c e " 8 " ; }
M o d + S h i f t + 9 { m o v e - w i n d o w - t o - w o r k s p a c e " 9 " ; }
M o d + S h i f t + 0 { m o v e - w i n d o w - t o - w o r k s p a c e " 0 " ; }
}
'' ;
in {
M o d + H { f o c u s - c o l u m n - o r - m o n i t o r - l e f t ; }
Mo d + J { f o c u s - w i n d o w - o r - w o r k s p a c e - d o w n ; }
M o d + K { f o c u s - w i n d o w - o r - w o r k s p a c e - u p ; }
M o d + L { f o c u s - c o l u m n - o r - m o n i t o r - r i g h t ; }
Mo d + S h i f t + H { m o v e - c o l u m n - l e f t - o r - t o - m o n i t o r - l e f t ; }
Mo d + S h i f t + J { m o v e - w i n d o w - d o w n - o r - to - w o r k s p a c e - d o w n ; }
Mo d + S h i f t + K { m o v e - w i n d o w - u p - o r - to - w o r k s p a c e - u p ; }
Mo d + S h i f t + L { m o v e - c o l u m n - r i g h t - o r - t o - m o n i t o r - r i g h t ; }
M o d + C t r l + H { f o c u s - m o n i t o r - l e f t ; }
M o d + C t r l + J { f o c u s - m o n i t o r - d o w n ; }
M o d + C t r l + K { f o c u s - m o n i t o r - u p ; }
M o d + C t r l + L { f o c u s - m o n i t o r - r i g h t ; }
M o d + S h i f t + C t r l + H { m o v e - c o l u m n - t o - m o n i t o r - l e f t ; }
M o d + S h i f t + C t r l + J { m o v e - c o l u m n - t o - w o r k s p a c e - d o w n ; }
M o d + S h i f t + C t r l + K { m o v e - c o l u m n - t o - w o r k s p a c e - u p ; }
M o d + S h i f t + C t r l + L { m o v e - c o l u m n - t o - m o n i t o r - r i g h t ; }
M o d + S h i f t + A l t + C t r l + H { m o v e - w o r k s p a c e - t o - m o n i t o r - l e f t ; }
M o d + S h i f t + A l t + C t r l + J { m o v e - w o r k s p a c e - d o w n ; }
M o d + S h i f t + A l t + C t r l + K { m o v e - w o r k s p a c e - u p ; }
M o d + S h i f t + A l t + C t r l + L { m o v e - w o r k s p a c e - t o - m o n i t o r - r i g h t ; }
M o d + 1 { f o c u s - w o r k s p a c e 1 ; }
M o d + 2 { f o c u s - w o r k s p a c e 2 ; }
M o d + 3 { f o c u s - w o r k s p a c e 3 ; }
M o d + 4 { f o c u s - w o r k s p a c e 4 ; }
M o d + 5 { f o c u s - w o r k s p a c e 5 ; }
M o d + 6 { f o c u s - w o r k s p a c e 6 ; }
M o d + 7 { f o c u s - w o r k s p a c e 7 ; }
M o d + 8 { f o c u s - w o r k s p a c e 8 ; }
M o d + 9 { f o c u s - w o r k s p a c e 9 ; }
M o d + 0 { f o c u s - w o r k s p a c e 1 0 ; }
M o d + S h i f t + 1 { m o v e - w i n d o w - t o - w o r k s p a c e " 1 " ; }
M o d + S h i f t + 2 { m o v e - w i n d o w - t o - w o r k s p a c e " 2 " ; }
M o d + S h i f t + 3 { m o v e - w i n d o w - t o - w o r k s p a c e " 3 " ; }
M o d + S h i f t + 4 { m o v e - w i n d o w - t o - w o r k s p a c e " 4 " ; }
M o d + S h i f t + 5 { m o v e - w i n d o w - t o - w o r k s p a c e " 5 " ; }
M o d + S h i f t + 6 { m o v e - w i n d o w - t o - w o r k s p a c e " 6 " ; }
M o d + S h i f t + 7 { m o v e - w i n d o w - t o - w o r k s p a c e " 7 " ; }
M o d + S h i f t + 8 { m o v e - w i n d o w - t o - w o r k s p a c e " 8 " ; }
M o d + S h i f t + 9 { m o v e - w i n d o w - t o - w o r k s p a c e " 9 " ; }
M o d + S h i f t + 0 { m o v e - w i n d o w - t o - w o r k s p a c e " 0 " ; }
}
'' ;
in
{
system . activationScripts . niriConfig = {
text = ''
c p ${ pkgs . writeText " c o n f i g . k d l " niriConfig } ${ config . users . users . me . home } / . c o n f i g / n i r i / c o n f i g . k d l
@@ -303,14 +312,113 @@ in {
programs . niri . enable = true ;
services . displayManager . defaultSession = lib . mkForce " n i r i " ;
home-manager . users . me = {
xdg . configFile . " i r o n b a r / s t y l e . c s s " . text = ''
* {
f o n t - s i z e : 8 p t ;
f o n t - f a m i l y : " G e n t i u m P l u s " , " B l e x M o n o N e r d F o n t " ;
}
b o x , m e n u b a r , b u t t o n {
b a c k g r o u n d - c o l o r : u n s e t ;
b o x - s h a d o w : n o n e ;
b a c k g r o u n d - i m a g e : n o n e ;
}
. c l o c k , . u p o w e r , . v o l u m e {
f o n t - w e i g h t : u n s e t ;
}
t o o l t i p * {
f o n t - f a m i l y : " B l e x M o n o N e r d F o n t " ;
f o n t - s i z e : 7 p t ;
}
'' ;
xdg . configFile . " i r o n b a r / c o n f i g . j s o n " . source = ( pkgs . formats . json { } ) . generate " i r o n b a r . j s o n " {
name = " b a r - 1 3 3 7 " ;
height = 12 ;
layer = " t o p " ;
position = " b o t t o m " ;
start = [ ] ;
center = [
{
type = " t r a y " ;
icon_size = 8 ;
}
{ type = " c l i p b o a r d " ; }
{ type = " n o t i f i c a t i o n s " ; }
] ;
end = [
{
type = " u p o w e r " ;
icon_size = 8 ;
format = " { p e r c e n t a g e } % " ;
}
{
type = " l a b e l " ;
tooltip = " { { d f - h - - o u t p u t = s i z e , u s e d , a v a i l , p c e n t , t a r g e t } } " ;
label = " \t { { 5 0 0 0 : d f - h / - - o u t p u t = a v a i l | t a i l + 2 } } " ;
}
{
type = " l a b e l " ;
tooltip = " { { f r e e - L h - - s i | a w k ' { f o r ( i = 1 ; i < = N F ; i + + ) { p r i n t f \" % s % s \" , $ i , ( i % 2 ? O F S : O R S ) } i f ( N F % 2 ) p r i n t f O R S } ' } } " ;
label = " \t { { 5 0 0 : f r e e - h - - s i | a w k ' N R = = 2 { p r i n t f $ 3 \" \\ n \" } ' } } " ;
}
{
type = " l a b e l " ;
tooltip = " { { } } " ;
on_click_left = " p a m i x e r - t " ;
on_scroll_up = " p a m i x e r - i 1 " ;
on_scroll_down = " p a m i x e r - d 1 " ;
label = " { { 5 0 0 : i f $ ( p a m i x e r - - g e t - m u t e ) = t r u e ; t h e n e c h o ; e l s e e c h o ; f i } } \t { { 5 0 0 : p a m i x e r - - g e t - v o l u m e } } % " ;
}
{
type = " l a b e l " ;
tooltip = " { { u p t i m e } } " ;
label = " \t { { 5 0 0 : u p t i m e | s e d ' s / . * l o a d a v e r a g e : \\ ( [ ^ ] * \\ ) ; . * / \\ 1 / ' | t r ' ' ' \n ' } } " ;
}
{
type = " l a b e l " ;
tooltip = " { { k h a l l i s t t o d a y t o d a y - d a s t r o - t e s t - 3 } } " ;
label = " " ;
}
{
type = " l a b e l " ;
tooltip = " { { c u r l w t t r . i n / ? 0 | ${ pkgs . ansifilter } / b i n / a n s i f i l t e r } } " ;
label = " " ;
}
{
type = " l a b e l " ;
name = " c a l " ;
tooltip = " { { c a l } } " ;
label = " { { 5 0 0 : d a t e + ' < U + F 0 1 7 > \t % Y - % m - % d ( % W % a ) % H : % M ' } } " ;
}
] ;
} ;
programs . alacritty . enable = true ; # Super+T in the default setting (terminal)
programs . swaylock . enable = true ; # Super+Alt+L in the default setting (screen locker)
program s. waybar = {
enable = true ; # launch on startup in the default setting (bar)
service s. s waync = {
enable = true ;
settings = {
notification-window-width = 300 ;
control-center-width = 300 ;
widgets = [
" v o l u m e "
" m p r i s "
" t i t l e "
" d n d "
" n o t i f i c a t i o n s "
] ;
widget-config = {
title = {
text = " ⲡ ⲧ ⲏ ⲣ ϥ ̄ " ;
" c l e a r - a l l - b u t t o n " = true ;
" b u t t o n - t e x t " = " ⲧ ⲁ ⲩ ⲟ ⲟ ⲩ " ;
} ;
dnd . text = " ⲙ ̄ ⲡ ⲣ ̄ ϣ ⲧ ⲣ ̄ ⲧ ⲱ ⲣ ⲧ ̄ " ;
label . text = " ⲧ ⲙ ⲏ ⲧ ⲉ " ;
} ;
} ;
} ;
services . mako . enable = true ; # notification daemon
services . swayidle . enable = true ; # idle management daemon
home . packages = with pkgs ; [
xdg-desktop-portal-gnome