From 9a530d15de6943f17a2774c180ba2d4452a194f9 Mon Sep 17 00:00:00 2001 From: rocketcamel Date: Tue, 17 Jun 2025 23:13:01 -0700 Subject: [PATCH] feat: add rofi, fonts, dunst config, gtk theme --- .stow-local-ignore | 1 + custom/dunst/dunstrc | 70 ++++++++++++ custom/fonts/feather/Feather.ttf | Bin 0 -> 81512 bytes custom/rofi/config.rasi | 181 +++++++++++++++++++++++++++++++ custom/rofi/launcher.rasi | 171 +++++++++++++++++++++++++++++ custom/rofi/shared/colors.rasi | 33 ++++++ custom/rofi/shared/fonts.rasi | 12 ++ nix/flake.lock | 17 +++ nix/flake.nix | 5 + nix/fonts/custom-fonts.nix | 12 ++ nix/fonts/flake.lock | 27 +++++ nix/fonts/flake.nix | 18 +++ nix/fonts/result | 1 + nix/hosts/tux/configuration.nix | 4 - nix/modules/commonPackages.nix | 5 + nix/modules/default.nix | 1 + nix/modules/i3.nix | 28 +++-- nix/modules/rofi.nix | 20 ++++ 18 files changed, 595 insertions(+), 11 deletions(-) create mode 100644 custom/dunst/dunstrc create mode 100644 custom/fonts/feather/Feather.ttf create mode 100644 custom/rofi/config.rasi create mode 100644 custom/rofi/launcher.rasi create mode 100644 custom/rofi/shared/colors.rasi create mode 100644 custom/rofi/shared/fonts.rasi create mode 100644 nix/fonts/custom-fonts.nix create mode 100644 nix/fonts/flake.lock create mode 100644 nix/fonts/flake.nix create mode 120000 nix/fonts/result create mode 100644 nix/modules/rofi.nix diff --git a/.stow-local-ignore b/.stow-local-ignore index e52064f..11081ed 100755 --- a/.stow-local-ignore +++ b/.stow-local-ignore @@ -1,3 +1,4 @@ .git .gitignore +custom nix diff --git a/custom/dunst/dunstrc b/custom/dunst/dunstrc new file mode 100644 index 0000000..7945f3f --- /dev/null +++ b/custom/dunst/dunstrc @@ -0,0 +1,70 @@ +[global] + monitor = 0 + follow = mouse + width = (300,400) + height = 250 + origin = top-right + offset = 8x47 + indicate_hidden = yes + shrink = no + transparency = 0 + notification_height = 0 + separator_height = 2 + padding = 12 + horizontal_padding = 12 + frame_width = 2 + frame_color = "#343746" + separator_color = frame + sort = yes + idle_threshold = 120 + font = Roboto mono 12 + line_height = 0 + markup = full + format = "%s\n%b" + alignment = left + vertical_alignment = center + show_age_threshold = 60 + word_wrap = yes + ellipsize = middle + ignore_newline = no + stack_duplicates = true + hide_duplicate_count = false + show_indicators = no + icon_position = left + min_icon_size = 50 + max_icon_size = 50 + icon_path = /usr/share/icons/Papirus/16x16/ + sticky_history = no + history_length = 50 + dmenu = /usr/bin/dmenu -p dunst: + browser = /usr/bin/sensible-browser + always_run_script = true + title = Dunst + class = Dunst + startup_notification = false + verbosity = mesg + corner_radius = 20 + ignore_dbusclose = false + force_xinerama = false + mouse_middle_click = do_action, close_current + mouse_right_click = close_all +[experimental] + per_monitor_dpi = false +[shortcuts] + close = ctrl+space + close_all = ctrl+shift+space + history = ctrl+grave + context = ctrl+shift+period +[urgency_low] + background = "#1b1b25" + foreground = "#dedede" + timeout = 5 +[urgency_normal] + background = "#1b1b25" + foreground = "#dedede" + timeout = 5 +[urgency_critical] + background = "#1b1b25" + foreground = "#dedede" + frame_color = "#f07178" + timeout = 0 diff --git a/custom/fonts/feather/Feather.ttf b/custom/fonts/feather/Feather.ttf new file mode 100644 index 0000000000000000000000000000000000000000..88bdfd0b081c34d0e317191e44afc6bc9270e5df GIT binary patch literal 81512 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

1?FH~u!h zaUA2TR4m0rGFRrRq&IcBHO9(1D7N^-9d=#0ta!DL6Ax|vxNgxei7;JtKHc%aM79Xj za=y!5ea>amNg@-9)(K~Ipf{sLn@P=X@MU3PVktH7StMU7l(~k1wM;(QmbfX{9}+h) zby+?vSgKI32+K=OC9Gs~te{5Q+7a`8C}ZT&!1Q^^H7Zbi#VdaQE9RRlhR<=?!W7oM zXh*DL2jrbL05+56Pec&Dc@T#We@IV24k2o*wD5(xtmP~W9g%+xgABHae8RFjz{cb$ z-qGOTJ~Cb6W4y5PVpPkBqLSxvY!>PiO-nGbMuiq9#llN!>xB7FutSj-P7|;+3sDP( z@(HXZV}9R!)_sO5uJ8%C>c`g=E!=tPUiIA0AF1cw*Lmvu+~PO+J7XbN`^Fo)7XP{Rit7v{A!j7m(6DsMY!^I)mlhChR&3ZasrBlHn$pgfc!I zo^ZE2oPn*I*`$B!dMfSh9ZE>puH+|n?z(<>IMf#!9=?9p&U#-3;iW68rWZ3q)zJ%v zOPNf0_`+(nkSW3v?f9)WR$kq{xC$b2++M7n*GY^dX0NIpTHbp_4$gvn?uxz3hiX^N z;&5~@I(A`YVRG{P{(*R`zyJKHsfEggV>o>9T~pJG{32Eipj`}>bD=lXo~2+zm!3Mn zHZ7_WYO{G;q!J^vxI?)Y*y1RSn`P-^l}x%2(S+k=B$nBWbHRBC^V#BBG|BZQ6X%(2 zGPG5tZ&1Qs3%b$5@LOEld72sjhD$YRa%Ka()O3l*pn-106vH<<-_rn#6=FmvxXIFk zZes?)4{*tkQRHdEhiqw95_DK1V`C+O`7U}OoKF~qn*n_npr|;=kaD2I^+2&^f8t3%@iR!v54S1=9bl&;n_0l z_aq9*j=~Xj`?}e_gm^4w3tgY*D5@fJyq@H=%n3jb_#cvB&+PnvI-;g0ubQZy)nA)2 z66bT#ylXj#|=+4NnZ%sU~FTtRf_@3Hk@NTk?r!Fs$8~g zL)`fm!sDxQa1n;1CqQ=GP>RWd+qqQPvv35!~$Q-Mw6hh(13JW2#?Q%xQ zg5<9#)Zpd%e0BO=2Z1Dz$?CW=~TO(Q-3a(WbDiwNq2y##C#L|)K2w3-!}rYw=t zqpMh<1QPPOWz`}(MeQ_~t{`%Eq^&f{sbd$wplQ=JKI#O)C;%41thyv-C2JoP1HuZT z?e=p9MR{aBHHEvOxI3E~@OgkVhcqo33Jt`Q)JG%$nuv3f$5rYVm}8l*wXn|YcUgz~ zS1Q}*(K^@go;a7aq})VuU*Vh)CB ziJ1XfUpQq%bAe!pso=ZR{{zi%HfRib@E*}ZoQD8z6THlduRQp_*rN9`tt^jqKt9eI zhxycPJgnjHzDy246K?#G^2l3eG~Wu3r`Ny#-kI@f9fdGi4E5lSU6`+gJEWVsR{^s} z#%m96*R_aIutA9?nUl3^sWlcTfqL(PDAXLr%6f*VJ5t?|^eEWYMF0-0u)>MxYn)3v zSf`%Kh*Q^eFV*S}*xq9#mOdqO(|4;AUH zwsFD%6vUUI3^0SX1+B2^ncBDn8WGd0l>&)iH|d*FpO$H803lGsNE?-f1*8D&9NKu? zDrY2bQtNV=8VN_%5sar%;RLEmNhIAlDS-&q;__3$1cZJdJD(l|m;w_8K1M+v5CTrf zezief&clX4@{SVm$frlQQHPUGXysQ+Eb}TF26fKQhGYKS(8}v`AjpNI7qCv~MUO4e z!lSe_b+>mU4v}^a@>jzOa4HYfDSg$wkY#=wPgG}hJ7Z7F4b3cA?oI=?)&{Zih+UNi zEn5L)+FOIp^T5sv9^e{@y|$`eJC@hxz+KLc4T3qFK>@hBs+g`aa_&{t&6eb$k`<#K zJMJ_y)C!+HJ4$ zZ5G{1YgQMFEZZP=)A6mpZ3E!j!ZMJMXl1MK5=&crV&~~C8X=i=g)*(ZOM4SMMk8dk z18G8~u(1`Wk*HKaDS;G%9zx{#S8DkGMK;bkzhKFfe=|@cAspyT#7jQZY@Wo@m`H|E z|L$7{wP@h4@1!Nok!Rh+5-X^YET*u?A=PJ|h(~o#B!JEpEGNDO|L85)F-o@Fw4HCx zk^=6kq!Q$j7uE6s7;dX?*Cbj%0T26YXp&MmkL53*ik07M;O)wh7IKM5q{>)~hR8SA zQ_zx?0j2F$22jvBc?+bc*Bh|zKttU-?dpp_8-@-JL(v{AXBMtd%1ZFr( zQ?$4Zegp+(;PDz3_-HYp+et4)p&PhfRxoXGyKXs>h2Im^TetJ#Q>6)LniPhbHY7B* z`BD6vH%3|rnM0SI+B33sa+p@5+OF`+*-Lup>u(gra zR@7YFyg3-Q^INU_M%8!F{Ah@dy3;DRB77AY7#@yyNyEcJk*K7KcxmZ#_~wbE&`$xC zi2t@gSVby*PX~B{|9PiwqUSj^kPR$63S3I!*^4cyk|1=Qu=%Kh)4tBPsd=Qc$f_S{Eu__p>ag~M_|G-BO zGS^-1&yHy(_Q}$LdLIA7h|Uvs+hzVZZdxn-{KWU(X8w(})?cl= zo}U%%tn2XV5YiPWzGFv6Z?lpgO4?x=Kl23{V~v&kIQCl2?`z^GgV`MPN3`BFQg*Py5eQqll{WSY`+~=HWbXVjgd&J@K$}qj?XtDBDK6q3nV`K^LK2 zZj){{@3v|qPfSdRhgsJq+rt{-5b>X4=adoclQEaIPmmXfDr|X-O?&M8MPz}f5ujy% zAoeui_D++IAZ0(lf};JfG4>q5xb(*EUc=U+Q>EZoxwt=_<(9s{vQEQjIp4E;8ucF& zDQ~1pTe(cMbNZB^7OnH*Uh~D;w)*fS;yhd69t+?ZcYxfnVrsR430JMz*c#j#>ru?4 zb_p=-0=Otc1aNI$7L@pg)`gf=Z&I&N%~gl)yH-?Z;y^23m_s!cYxZbEkuzUBD`I8| z6=01iXvHw6z;N;*EfM~S2Vx(R8l`5!tw26Js~O?DSZjz5M4k~}*zpJE58wVQ3ZHai zQ>5ZV(*-}mYXzr>W8pJ@a8^Y95gvj_eJWK*PZFIEM+|iqi;Mv%;2A(C0k8Kbk%Vgg z6DuM<-!r$EKm3Co;tS7224ar$+G-z@2SyKpsY$vH`qZnmFehl;tq9lJY!YSis<@Qk z#53L7?XKQ_+RlTp9kSo!;yr~=X`aD5Q22U2LHQn?kUwun6t6W#w*owd2e4|x<8Yq zG-KgK@>AeFAUP~g>@`A|B|dFO(4*%ILuXe<$07s42J-%qMO8dd@JCQt`fszfL?Y+G zLWrmst0v<^h9n@h z?JZ>D)r^s%uPN@%m8Jr;s?{Ln)=yNgYZw_7Uvu{TvyF58YR16Vbl&sEBRY+FNeA`B zOW?>@;fd0iWxZoU$HYRqnFu8F;gEh~Q&{W8t=HIik&pxu^4_4tBo`W5h4h780xEZ# z;p{O2KjzdMk8Ge#kqmmtMK^k{i$N-QI96veg3TlOhL%%Lq3~V;@;p1dB zDo2Lim_(yJVS7>ly2yUROFhVtkItSqEY18FG*f_;?P>5D4lW=^yKNn_&2BR1>5a{4 zp0XAKqea4?BFeo8{$LMy>kY|hv}1Tbia+jM6HV@QZh7Mo4Xie(?@4^-d}I%N4m4w9 z(yhVh2H7QX&}R560TrXD%qGxk2Sr#<0)h^Zt`7WcE%ZXDOlr&&e92bJy<5?$)N4>< zs6TxQm>P*dQ)rwD66dl*0W9z24?engXt}T%%({W`;9^#-cYXqHfC_gvGXD~K-%@b{ zm=^J9)Q!rM)ueb)Uj4CJy?({SBDorAx=O)wr*~|zqwsdx9Yeo-F4-XpRMJ8b> zgMgRYurA&~)yg)xv4^*IV{bK9Zy1e9{R&GWjGqVbxTKAH*V$BINh1+{W3m>t(Ty|g zb?i$IjroZ;9&>>%tts>C|C4p;Wq1pZf`(X4mVAR~g7q#tte8Dec60HuuB{#04x zr%|%%IA%9k-JD=f?O5Tqv(NhV^A5djU_cax-gbr&*7c$>HZrm=-I3HQ$W>x5bJyLPWq1q2p-9Vi3%8wh_OBm0c;g^E zVR4jr%jfouR_e0B+PG{m8GseSepbAs>k;Ewafw_Bw$@We3&o^3NC&ouwxVkn!T+3s z7g9;G2Zv0Xq@z;UJh~yE{u3&zVbyvKj6huhnhof&&KJdhH%D-%hA0gMwQys86#oW& zqeicYnqM`)y1{n&R<_h{=tVMOU=a8Z>cui2mYn!CMxAm%JdXvvFqb_UtyZ(his!bf1bvn>Z~DX1X+vJ1u=6gQI05Z*4)xKp)z< zMHF*`D2~@3bMq?I+h0c%j?)d!*6WJK+49qgen3RD?m!JunOLN+`|aCLW;+gNL->(& z1X}^QN$}#X7hY-)**06Mx1ZN+F7K>ZAv{Y9i;o^T^627%tfl%GnQ_}}FFyVl1AMC& z)|DR4*i)6zO4*dA_I1Sxxe^oy?9xrA`T$kHR=!N=;y&R4m`*kjP?q-Y=KH)7P7fQVPxbm)eRdPKRi+{ z(h)v`E2IzXyEIqmpZZR2WtN+H;J_IV&hZ7s^2lM_j0O%P7RY^nZ_CuFk?%@@0#`hm zbo;F!kufK(LO+xiOXM&iM=>)4$l`8nCVdkzGSonzZlOR<5YRlRiBb;^gHx4EJ=Pjsv`d>OXN z^)GDR$%IA$afuW$UAdmUyLcf7h+@Jt*NGk|Z~7W-P5lWZ?2K{<5uNW*K1rOGK1+VD z+mE!Jza!m{gv2Tl`i|VJR&uLMGnZ5)oh_XFTD3?|-a)ux{%V=j$6v|Ow7m6pa-i}gn7|K1dh=`Y7_^M;G4UxZHM@&xX1K3!mL@}eR1&t68=!rxa^Mf4@%hZp?mZD zN6&m{&z>uDi2Ois$k;ve%wGn^!YG!9yo}g<*){pgBZUVyw&d7<&3Zr3N*_`U?Wo+F20U642;w?*$#*wmC*al#`Kg`=_!qoxA5B+b64)! z^U#^2`}6mH$odEw3kJ0r)l4};`hnub(-ROBq%smLkJ%10ki7wvMraExub%O(eTx7iOoy_zpHVq?yT7EvNq6!|FPyEJR#RVhk z^P&0$NCe9`jMTUgVch)Y-G!_pTFP&#qe!AJZj{a#oWnr9Q&IuKOSnZ0uMm<9Fg2)d z;Zum&c|w^3?^BXi0;fB)PI5DsZvw?UuO&cBwmp%%9COJDYVFhHLZWKV~MV4#Y5b!zy2ECfwKRKCI+THbC)W_d>C@!o1J1>{Ay9D74)&?hg-O zIRXwAZZ{sJZsBWR|%`SBV;`8-DH^Unf>4@J~aY z`NgOVq}Uazi8HyBXJTNO9G0wk-JH-}6AhmaCU{#kli4{8ZdM(;q+Y9ySGqjLiweNj zx!1($&KN!L(4M8Y&)v01_Qb5m3x*RImNZ=fIo57>OnkCvL@~6oIf{_epZp0>Mq< z$qpS>In)V@QMlB4%FCdbN?W;%Pa z=YUncZ1ZJET@wPs)4Se}F%%Z@e$oaBgcO9Hkqn3Ox89nZ$Zd#xj)cUw z|Nq{;1U`=9%y+7L?)%hebdN^TNE++1E+4XNi~$*J<6tB%2W)|{F(5m(2}dANz<@(+ z6Cg2=gAG~W?OH6$FWDC-*$oeJ@POs9AshL(oAAp6C;K*!P1xL)Ay&xgpkhuMe+@8_2)RUHZ$gGR@d)VSW!eam*coMP!cF*0V z>3KU$4oqHq67mH6wQpZGdR<3*5BqUq&q`hSUw@%}!AQ9^6#S=sfg31D{T_e$1=btv zuW97k_HTXxp4KXCsk-u?=dQ$h>4q%)2l~fgbJu}cL{Tp+1!7E-W_QlqiA&nu14DzN zOQZur{{bq6k)(?~wD??bm?4hOcteN}78M_Q%o&7QH~a*P;vbBnwtU%3yY+LS$HZu? z2Hzs|1Fy>nRFd^PX58xy!rN_3zYyPHT(kSdk>Ya#{6MBDl^vY)OZp+`7k$FyzL?ZA zRxsANqOn0GGe|V0VbX%iq^e^jdGfW}4q7HqUVTg@NQ~-oQgxx<60}w+x0eiREDL6X8T-fG<;+H8J2Pb^Fz&{*h zR%lQy`>DOhB3OJmo6`la8*XS3mg#u!lYPxtnQAlkPNdDsfGiV(D!L zr#eU2wE2WlW!moCP;$jXtVU%rizgUy)Xw`LE~Hkxyp6q+o&JF=?X8mGxy-p`&Jb!e z{s2kY2*CUZs+z3VNM|-xCy3fL4Ww0F5*n*k5N1aNnhi+H68L+VA4Dk$L6%Y3{D)iY zq0nTk$;L9)iRX5Bqq-L@#hX;LB0^-d2|q&1;Z_G-gOA1^0+7i-h~^407Z3Lna9uen zO1D?}RRn5|9)#-!ZKeViGu)ojCI#Tp$)JL%3!cLs&=im}5Ga5SFX^b0wt7!O1F`1v z!IKay0yrbT0?DF>0$)2dzaIg9Se+h?o72r{81Q~xS)KiQ!zAxQMVRp z!BB^&Y*HMj&L@_6B;ej9e~bFm*vNv7J+OwM_^2QkU_q3F|C_Ji{p_Q~x<#iXY# z0PP00>)+t8Et0b+jFWs5^jqQ9h`25c!{jaori z#r;VNLQX%vWZ(q&pnG37p9NArO1eDGGAulZkP82>*N#5dro~=N=L#gB?gpxZ!E~S^ zGr$sV@|^!6Y%y*F&9fSFLUCPqhlKSd0wD4(s{WhW4YIG>p!>=5oSA~(RX=yz-n@uEgxyhlSR)E`hRU~B00BRdEp-5F6cUp&rCUZHs z;O_HRrAG4kE*QMjk7h+^=T74{+0lBq1MbS_N2*f(ixP>|0|P7JDy8KEU7{0_-KKSY z8d2Viqg@|paR*#02L@Ir5)`;y>W-1VVFTnSBw3S0EPVi>0ciYkSPS55u@7TMCo?ur zS!b}xjsyv%&twEfks8Y3i~b?6M}5)VQS52i=uM&k#zPGH8m{71;`RJx1IcXDxh<+^ zUbsm^sKC-^`;)%qJG-A}4&re(8$l#A1R*rPZXx*FV6t}YG=3dzO~e{q?pRE$H?sM& z>I2kUZDwyBx!LJ=SM-B$HgD*Do~bv*ceKF;9bSqTNm<))Hcd+m)H>sf#6o0D&jt$f z&AojPo$>5IMyBY?!WnC>uE`4-LIh|fsm%kaO_ODB ziCP*aeQ02iS#&#LwaC*iW={lL!H_swL2EPYD1JhlS}MFQci3la@`PP(pD@0DH>}Je z1F;--7jcdYVUIhi#3R)UV$qaq6|57`RmF8JdOFHd*Fwpr`2>Q$%&CF4)%afsJ?U~e zDG-n5{qJE!bB_TN0Gu;EU!4yJ!-xUXni5-K{qU7YlD0M4TXpgR&%P@1h+1=*!!fJ` zP>RAVxxZ7N4}OP~JhrOX?G_Ra?3rFdS3=&RgqUS~nDmR-qyJ79X4x-p7rV-KEkU6nxb#XUK1CD-;=br!q zLwL8>B`Z3@YfQ|Nd(~XXbh2vk(#Xd@9FLXs9f&TlFD@)T_#I%X0ZWgm7g6%?FZpKk z_*4P+Ub+Zk)W_(wUFh>h)G2~V#`suKx>C_*ic(5zF~@WjPb15^UaeRWysil=!kjH} zG$2rrD3Ov_=}}j>Bv=?1Buog2&l%qlBNiz<02u+ySV?l=3?PV;Qwy~OepEbO{AZ2n zbZ{m!Y7Wgf1~{e%>6@Vqb84KmhR_CukMS(|rPTz1(y0l?7Bt{Hmj7ry3&$d`pG6q< zurmOk)w%}h#gC2`wLI4jL5FHXw50P?1L@0o@KyQ|MErcx@tor|2VAv^W<;*NNL(v! z#}32jikjb;tspo}0(h`YE5W1=DM$JQ9EaZNAI{Bzg1O4dEUQgAOE=jy_S#fH5(&>s z@4yIo4i0B4=Ta-L#9g3fruumnR+8g17a*U;Y_^xSObqj4wbiK@66Jvf?M0?}UMUJ+ zG8D{q>(9@a;`4Zn2Coh;ICncq|okkt~i$W!iN;nXxB|FZZ~#4BM9 zx2}BgFSI)A>XbAd|A$tW?_!5yV4;iuUHlitT1NyD;y2?5e9m$BYO8~;-%7|XDQaEW zPBB=%ag<-V`b~&VWVR9{5sn0AGcKhjmsIy+=fM@Kkc7zsAk5NUP1vKr@KZ|C-I5`D ze1^HSEP_`$uMi(mE+)+h{)?^bl#4edR!~4Vp#r@vWAQ@!i;b}>~_qBR@9 z9xPcd1-}h2>pLvn_nXZkd}#*sI=olGBP_*cZ~!YLxO*ZZ4qTx^8M55JS;EF-7X^#Q zV|P7D>Ti}dlyX7F7{RRUCxr20Y`QpZaUxW>35h8b$1Ma~lUPKt#P-JUm-`Vu;P|ZL zzn%Jem{-fq)vGwHgirD2hCKp*eWtPvgmdUc{7DW4t;22s!w}pl3zSC47|k<@il5pV zn^PgY_!WeL4|)T&vGi~@JDiTy2E0L++v`W*&YT}y3~e5SvB(w!C8nW&mw?;3j}o1O`hZG{#=n2@a%bHC>VsalX!%=z%J;V|n#cR#tAUtP-{yuJh(Po|+Tn`< z)ZKH&uRwG}{od(m(68_iCL+%{VIEVjweNifPPQ5!@FxA=n{>G*zlWvxK%*A)VH>md z^!330uX-P#n2Ke@Fo^a@;O4p02!d2JdEVP*4<9~#K;*F9h0Zv6TeitJ9ixbmxDoL~ zZ*tt___X6o)Nh0bNy12?>k?$o2iof!?+Cp)Beg~D^#3S$Elr3>kl6_P2Q!b+$$sh|WYWfr&M_`P-D5N3LUz z$8_0vAbQGw>3ArA4<H9b;FO-jplf3rf&*_Bn zFBT8*cRL>Rr{M2kBb6}GQ$T4L%wq!mi3mK|`u#us%fRb0;9VkCI>}D}z_GD2bwzZE z)GQuOKy*UrH8_|`Cj&ZzrBCSB50HX^aUTgl;lU09-W^gR{X63oDbzI{5mRCkLVkDg zM<#+P)=QDN*x~Y!1|S6Q#{E=~*kQZ^qI`kw>duUc$hs0 zoFXMY-`@0|V+piynZU{IvEPM*`AsNFHFDREnr9r3}ECd5X$y=0)KM2H$q@ zN`6E7eStwUZxe`9k;xnp^bG%K7d<9z+8GAXyaTQ-TyOui_A2B@?T~diq&XVkp`<(| z%_-?pQwdhGOo<_4VMH-TmGK&hBPDu_T}~_beGm!90&Z6}Q?sP5zAqMsiA+1G!(ZyVBGNQr!$MnIa(QNWp4J8Y@}SvP|qZn$s7CWC|K- zfCyoqIPzJ4%o_*;UxTzelyV&=dm*E-x+@l~(wEBMO|znfsr zu9}_%#Tl=TCl=Q3qC3RufwbP^j(H(sf!{c{ak=q?9`HbQ0AW{`L+vLVgfCv7Q_RLQ zv1mA-Hl`^;c`fvM3SPGd4r+fKh(o|kvm_RccGr=5XF=#%&4OqwL3jZ1eTcqz9&ncW z@;aV9O9k}Fct`b^QpK1QAEwd-gC!D;M=W%~Os46gJS?>}=M=9)%{A&oykv6LB|k~s z%xQ%ad(l`uS1*b;Dtoc`FEWe;vyG$`wZ&}WYl{A_FGt7=sksIZ*18wGTjDyeU;Mh3lIj%(SNv@fkaI$Aq zkC{|*nFO095cBEm&j6z{#QX?=ML(j=?{vkrNO*Ba?c!Q(`cY^= zfw=+^cEpvgxp=T=Yd`AhtH~@(BohhLrA6K8nu~@8Z(KymOu(M9m}Al;u8+kt#TvcI)y zyP}9z7%y0;4?rU*M?3!vrYNzDghDbm4!bD#L6gEQtI1&bVydYj0)=IwycP=ur1CymR zhQ?O_9*!74W@e69fzuJu&9NS*nQE2FE6UTMSQEnIX4YXbo<-VtmAU&scpV4OrdfET zb%=guxtLzih_OSUkk+L{V<~tbBYaBwhGso%eE$d#XDSnjvuGxT8?lzkrba*w%;w=r zn?`0hTYr|ZaFIn?terb}CAteZKB6Y*Khr0GH;tfm+*O1;TV?@LEJlU}BtfNTC8Zm( z(2*=^g6rZnC`)@{UT@ebwj+EitT=teZXk*tI1`5IdXw>B2V?(S9ng7)=ir{2cvDE* zn65{bu(v9NZ-Kg^l9xIiK2R*1Ip!w(RHV}V=~T`ofyoJ45H5TKx}T;v87WAiC=oQg z9_$;HB;B(Wx8{qfLF*r&aL3l8#zeWN>M(n+)~3Cl#c-GDnWlhc@aV+rVzI|-xw^)V zQ|IwmRLPv4wbA0)na-^bADY7_b~xS?#^M0>hgc6RH!Whhgqz})%WmW-yPl&Io+pxj zzZ>)9Jj|1FC987DX*S`J`ekhVkC`#2^tI&E6w=^vONeSWPZHxtj?lyph4#N?;ly@R zrMLF;lF-H(%{4kLVX8RFY0-cZXw~eOh_B61QXFOYwVx}HQ^(wcLg3XbA-!J2hz4+A zXA%X3q$te_xnh@-u+)sd!6AE*ne~pan)@Z|#=O+W@B0o~1akMVHY?+fVyD1&|Jk?k zZw9gL0NDuS(6TN`-1UMna=+U>xeD9K1b|-=;1tuu<9@`0ccNbMyJC#<7A>XX1PeLE zW9D$AppQ9@FL@B(B2h2WF{0H9f(j?-RPd4~DH1~+Le_|OrgdJ0i)B#EqI;ui6d#1m(9cMW&; z^jtMCFbD@YP!$0tcgf|ckRNJ|u3&ArskL=IoP&d+bY@cNMRoOqNpE$~8}_cM?#ncc zwJo@$CEE_eoMk(^GYjJW9DJk$CP6_3IHL&0QWIzQUo#M|5kddD4HrDRcI~PaLxXEm zRidfjcP3&$ytJ247$nIMj$Jr5c0<>K#_DJ!q&q`_mJDRfFc56tI+!~EyyLhYr>GF`CPFGB2lIn zHRdl`uy}hRozm0sP}04iDy1co`Ie!ZgUo&m3J7`v_9Si## z)1&}#mW&6JR86{NLd-JvMJZ&!aSkSzoJEYG%p%&PnsVAW=VTbf|Hg?R^N%M)REh$jdAOY^L0Q<^zEqtwKrQx&=Pq&*m1hcYE+!Z0L&MIl&2m{fALr1Zy* ze=RhWAK3qa1%<--tu0N%Ya<(7k!Vj-Q(IeM!KVKH!M?8U4K1yWb?_n|023k|0|Qw{ z%tB$-15}u`xR7S6EPZTw=lHBSwhRkQ*jC5h(oP1yhwTz5 zTDDAJVSQuF@DWT~;5;W(&moAU1%#CrIs@lvCaklIIUXx~*C%veXJhk4y(}aodO@L* zN|~L(wUE(34Z9Y)Bpk*i=SYTDO*)MyMrKf#y)bC%pEsN5V zA6&8g!L{A%fg}ckEg`tB7`b6#-|C30DIE8>18ud9XErqsMNxVbVGjZC%yr!9IFoek z%@D_cs66jY7)w2Z*+E@W+TKh2#CM4u>eI}OHx9EZ3$0W+Q>DWjg3~h=1h7(bD%BLm zt+mfk9IkLoOAWr(Y#FSqR;E&ld4Uf2iYDKJ)CcgA@_zOL`4XyhIjBi(B4f6qXA0a( z>Z#9g*U^VGTiQTU8fGl;QhMUtj%nJQR|?jSk32f&eeF|5#^J z_TTpRxBpy(kz!g(L?CxMyH31m=Q*6dZu?wmS8~b@E6ufA-{-!9Er7Isk=WBxMR%J{ zQcrX50b559TEgco?bp-Ti*lWp*I~{-+xq>;``o7`O3#dVVs1844dt{>$d}iwWnjMs zd=@0uu3^fJuX3laXWM0gp}8uv^BCm%{;=b7?{5#YwgBN8j86mQw)PyUErOj%{?S&9 zotidliIwvky5sciGhh}~r-qwi4K62Q4`oB)80}NW7b#$|*8^)Le>xb8J6#R&WLvbp z!xsppQfGpKaXI6$(>FlHPmQ;qQ&*kyy5jJd<8-AWvCe9_&AsYrOr;jq!1cX1pu2!% z#+~kXFg4Oz*wB(22%s5wf#@0~$I-wgByL75FQmY$j9X4>QcRjie4V)fgaw--unG=5 zbJY9wnIpyh7V0LX7t^0XC)f#()6l{E8MD%%^lo!rYS_5pT9@&kcL=$g88)@?J01_X zBd(BJfZBKIkKfL9NROE@hfFA%x_ zK;i>U*)VyIwPDAm&^-^L{si=YSgw1eACMOR^PpnsbOxG&-=t|m`q+_UF8=z1gvl92 z@pn?{VEg*rlc~0_Qa63HfI^_Du9P1vNg}?aH=V_Qe{}N0T$+aPDZMEBsjk}$$8JF{| zFG&U1M`2+Iz6;q5x(GKQKi602W}VC4Wvu{%G;O7RitKU4>py98p2^^c_m#HR);8W} z-l2v6m|339F3)h*)+_q@E^lMPjBr5qJ*@ibEX2!wcm0Lv!B)#9)m8GM$I=RqJ;S^I zG;!hl9)1tK=g(eta?ibo=Ia%6Jb$bDW!1av6{xlISk4>Z=%mAX{3HQ}-eG*-q@YBg zEjLTgATlVC3Q+`E!_3<=urr#0Zd3>4v3p^e;~<2xSI`(`m>va~HK7zmNiqjG!ycGS*plav%%i4vsYX&X#NH-mJ?<4e zRr`rp|GI}%eInkkdr8FN&5pITjWrqnkiD>**)i=o@+PZ^%Ikw64bdjMGvBB##Nuf! z1Y7u?!NDGw9*1E@*QVl;6U>_@BSsndRR)Q}$r50#tfoh@>Q|$mS##E1i(oe$(8JlbR`}8G z?C$Ei7y(8?&LEu0KGZWXuygT}rNcu**Yx!+K*pdJ?prkc;n8Kw&se$gqf3_#fr%1m z35f-bV=eW=)ntF<2{*54U$~_Udm^^okI;ULL+l#t)%3m|)P!Q{QdRX{AEbxw2DlkU z0bxDxa7SZ9yAQ5Y0{-@f`Zm;rHBiVlcR`E@4@+IS<{rtkFf4zq(d; z)-=JkDdG-1C7H~ml|}t)#-55p@BPCLvhS|w60nK$7Drk3CU-jhQ(dmho zv8zm7L|#7%`<1wfc>$+vz?)C(bL~i`D~=Bf>Y?;d12j0i!RWu8F*>>%lNp|xut^2A zklXJX92vRe>~qHA2p?Pb>9V{#d{ar&wDb**v~+Aiq4vaq2otkc-F zZ|uHN6DN+tlfn8ZD#susTf*L81mWn9yS$#(`uaAf$BD|rxga#+3fXL@*XKs%SX4%@ z>~XmHF#Zp3HChw=Nr^jn*ZS+^K$9Gq>|p%LaE}_#<}Uw@bBzq`tp(T_72s>}5?Gdy zeb#I>gdQsP1oOH3h+fOpIvO~2ccDPrcZIAZxCgM7>Q7-M(0 zSND)RE#;CeB!cMkRmvY1beWMV8k7-UtYmCvyb4Wc;*5%rsP@5;PqmB}TpcW?IOo6B z4^`nORW)2+KU_uK8PZ+^qngy^PzY%o#xf|HT)T1Ia>(zF?2oGkhH7p!cGE7FNkI*PE{)}IRHNYQ1FNw|aYMfqwLyRta$M3W27hQ}wItPKQ zG*(Vd5W764GQiw;+!w|D1~zUvoJ#StgO@X*=TA&aMmC4+rCmh??6CKvb-9a4S> za5Xm`xu9I1tm}#*tU3FV#BDFI(^Rl7EVN}e4vpS4NLXN3#2a*a*%6$kA-)b;R|}Oc zG4kP|Wj76J#`o?#^XX4QssrDJ`+W!s8E_f@7s13pcz}+*;_ajQqtK%aK*He=AgTJZ z0;7`4`UEyNx+Haapdm8CVJ=G=;pk!UR<)>(iB{tmbT)n@dW>=4Q6N~w`c?#|hN-KV zkvEK|)eY^X@1`@xSMg8$%5Y$}ce#uo#_BZ92h9xtXL!+Tjo0eJi^%1~TQqT{D(uQV zh}>`iTFA&HR8Y84%YlV*;}Vj|r&u+lxKFoT2*Q@m>U?E=2{hak(j*CCZ6qVxyA91n zEBqdctzD-T=^EejQ^FQM(G?^l(fH4?E532a_{A$C^395`{hILcwqr78?)-a{fls*& z-x<(Dp(VIP!NyMrLn1#x@yrk~tAJiLwo82SkT_=i>R4Hqyk`8Kw=9ztLw=tupVphu z7v_SqQ%V-r@{V4uMTLKhO8*!Ar|R~)c*NrITYUdhb%re_E5rs|B+<|I{#bV!`U9I3 z(IEG4u==( zTK?c2{n@vlRf0GI-&Bh2M>NQi(aUM zIlW7Hz*Xdf%An(eI6^r70|z~u#$o2A`YBCkGe2EJleBdI80w#thlA2VJj0pOR4(PG z!z`Dcn+K_to9SVd&t9jQruXl_L1j?gbWqxUIB;zql%L)W;Gp!Zx~9759lEyw$3-|O zAF=vyP+#&hYRe1`%4e|d}KBqi% z%;2E+dvKV~x{!9@py%ej%J=Dc`X>8~o#;(+Ux~6h3!GSgk%13FlF6ytp zvR%{tS#?cmyyNJdlk%Epvrh9&&m8KYdjl%1+En&k-FRl^r@ARWoy~8f zat^5bRG(R=`Hp#QzDwh7KBIT(pl5WC4wNNmt}Id4W*(~7e$YIlHqaWTJoGL-r}VV# zY`#PJ&HE1Ze6F+E4)Z*Ny!AM!F1knS&U|LpcZGV+b)g9k_;yIbljivKq8SmLGRWb$b8c&a%ymYPaEo%&@}Z`H2!WctU| zo2vhinXFk^^Yhx<>w4?8`my?#8lGre)cBpIZ)7($Yt3WL2b=#X*OuFv`)Z4`WnF8y zb$jbeZBzNZd87UBI+k=i(K*(+ztB?HS$Ji^#a)ZKqusZ6|F~yGZ+q`Oy++^Og-r{e zT=?t$js4FK3=KRxI6Aa&=*{7W7C9F^y?EP_eM|nZ^!1U6kvErJI2s<^wS3+3e_F9{ z#cOA5U+G=>{L0^-`NXP*RkxpY;o07^51un|&I@BxV?SSg`ReD-U3l&z=j~b(T(f;` z-P(<7Ut70u-OJ}cwSH{4kg88^$Nb4~~Ct;?|4& z7mZ!?=Ea}BWXYv%mu=d3>jw{A{`3{kYnJ(zmL#%TeWMQfW8tU!c-{*o8fI^_Ixh-Z|fz^X3Ixw%%~v z=3S_C3mSR@4AC|_cFmdd>>X2knznA4+Oli&o-J23P2SwJ`pO+^ckGzzMs!uGdk<>g kiejd?Mby|Wj;nBQ67~heHNFzL*5aVNusXq4p7iJc0~Fc|LjV8( literal 0 HcmV?d00001 diff --git a/custom/rofi/config.rasi b/custom/rofi/config.rasi new file mode 100644 index 0000000..58a5e0d --- /dev/null +++ b/custom/rofi/config.rasi @@ -0,0 +1,181 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Configuration For Rofi Version: 1.7.3 + **/ + +configuration { + /*---------- General setting ----------*/ + modi: "drun,run,filebrowser,window"; + case-sensitive: false; + cycle: true; + filter: ""; + scroll-method: 0; + normalize-match: true; + show-icons: true; + icon-theme: "Papirus"; +/* cache-dir: ;*/ + steal-focus: false; +/* dpi: -1;*/ + + /*---------- Matching setting ----------*/ + matching: "normal"; + tokenize: true; + + /*---------- SSH settings ----------*/ + ssh-client: "ssh"; + ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]"; + parse-hosts: true; + parse-known-hosts: true; + + /*---------- Drun settings ----------*/ + drun-categories: ""; + drun-match-fields: "name,generic,exec,categories,keywords"; + drun-display-format: "{name} [({generic})]"; + drun-show-actions: false; + drun-url-launcher: "xdg-open"; + drun-use-desktop-cache: false; + drun-reload-desktop-cache: false; + drun { + /** Parse user desktop files. */ + parse-user: true; + /** Parse system desktop files. */ + parse-system: true; + } + + /*---------- Run settings ----------*/ + run-command: "{cmd}"; + run-list-command: ""; + run-shell-command: "{terminal} -e {cmd}"; + + /*---------- Fallback Icon ----------*/ + run,drun { + fallback-icon: "application-x-addon"; + } + + /*---------- Window switcher settings ----------*/ + window-match-fields: "title,class,role,name,desktop"; + window-command: "wmctrl -i -R {window}"; + window-format: "{w} - {c} - {t:0}"; + window-thumbnail: false; + + /*---------- Combi settings ----------*/ +/* combi-modi: "window,run";*/ +/* combi-hide-mode-prefix: false;*/ +/* combi-display-format: "{mode} {text}";*/ + + /*---------- History and Sorting ----------*/ + disable-history: false; + sorting-method: "normal"; + max-history-size: 25; + + /*---------- Display setting ----------*/ + display-window: "Windows"; + display-windowcd: "Window CD"; + display-run: "Run"; + display-ssh: "SSH"; + display-drun: "Apps"; + display-combi: "Combi"; + display-keys: "Keys"; + display-filebrowser: "Files"; + + /*---------- Misc setting ----------*/ + terminal: "rofi-sensible-terminal"; + font: "Mono 12"; + sort: false; + threads: 0; + click-to-exit: true; +/* ignored-prefixes: "";*/ +/* pid: "/run/user/1000/rofi.pid";*/ + + /*---------- File browser settings ----------*/ + filebrowser { +/* directory: "/home";*/ + directories-first: true; + sorting-method: "name"; + } + + /*---------- Other settings ----------*/ + timeout { + action: "kb-cancel"; + delay: 0; + } + + /*---------- Keybindings ----------*/ +/* + kb-primary-paste: "Control+V,Shift+Insert"; + kb-secondary-paste: "Control+v,Insert"; + kb-clear-line: "Control+w"; + kb-move-front: "Control+a"; + kb-move-end: "Control+e"; + kb-move-word-back: "Alt+b,Control+Left"; + kb-move-word-forward: "Alt+f,Control+Right"; + kb-move-char-back: "Left,Control+b"; + kb-move-char-forward: "Right,Control+f"; + kb-remove-word-back: "Control+Alt+h,Control+BackSpace"; + kb-remove-word-forward: "Control+Alt+d"; + kb-remove-char-forward: "Delete,Control+d"; + kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h"; + kb-remove-to-eol: "Control+k"; + kb-remove-to-sol: "Control+u"; + kb-accept-entry: "Control+j,Control+m,Return,KP_Enter"; + kb-accept-custom: "Control+Return"; + kb-accept-custom-alt: "Control+Shift+Return"; + kb-accept-alt: "Shift+Return"; + kb-delete-entry: "Shift+Delete"; + kb-mode-next: "Shift+Right,Control+Tab"; + kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab"; + kb-mode-complete: "Control+l"; + kb-row-left: "Control+Page_Up"; + kb-row-right: "Control+Page_Down"; + kb-row-down: "Down,Control+n"; + kb-page-prev: "Page_Up"; + kb-page-next: "Page_Down"; + kb-row-first: "Home,KP_Home"; + kb-row-last: "End,KP_End"; + kb-row-select: "Control+space"; + kb-screenshot: "Alt+S"; + kb-ellipsize: "Alt+period"; + kb-toggle-case-sensitivity: "grave,dead_grave"; + kb-toggle-sort: "Alt+grave"; + kb-cancel: "Escape,Control+g,Control+bracketleft"; + kb-custom-1: "Alt+1"; + kb-custom-2: "Alt+2"; + kb-custom-3: "Alt+3"; + kb-custom-4: "Alt+4"; + kb-custom-5: "Alt+5"; + kb-custom-6: "Alt+6"; + kb-custom-7: "Alt+7"; + kb-custom-8: "Alt+8"; + kb-custom-9: "Alt+9"; + kb-custom-10: "Alt+0"; + kb-custom-11: "Alt+exclam"; + kb-custom-12: "Alt+at"; + kb-custom-13: "Alt+numbersign"; + kb-custom-14: "Alt+dollar"; + kb-custom-15: "Alt+percent"; + kb-custom-16: "Alt+dead_circumflex"; + kb-custom-17: "Alt+ampersand"; + kb-custom-18: "Alt+asterisk"; + kb-custom-19: "Alt+parenleft"; + kb-select-1: "Super+1"; + kb-select-2: "Super+2"; + kb-select-3: "Super+3"; + kb-select-4: "Super+4"; + kb-select-5: "Super+5"; + kb-select-6: "Super+6"; + kb-select-7: "Super+7"; + kb-select-8: "Super+8"; + kb-select-9: "Super+9"; + kb-select-10: "Super+0"; + ml-row-left: "ScrollLeft"; + ml-row-right: "ScrollRight"; + ml-row-up: "ScrollUp"; + ml-row-down: "ScrollDown"; + me-select-entry: "MousePrimary"; + me-accept-entry: "MouseDPrimary"; + me-accept-custom: "Control+MouseDPrimary"; +*/ +} diff --git a/custom/rofi/launcher.rasi b/custom/rofi/launcher.rasi new file mode 100644 index 0000000..fe2c342 --- /dev/null +++ b/custom/rofi/launcher.rasi @@ -0,0 +1,171 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Rofi Theme File + * Rofi Version: 1.7.3 + **/ + +/*****----- Configuration -----*****/ +configuration { + modi: "drun"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; +} + +/*****----- Global Properties -----*****/ +@import "shared/colors.rasi" +@import "shared/fonts.rasi" + +/*****----- Main Window -----*****/ +window { + transparency: "real"; + location: center; + anchor: center; + fullscreen: false; + width: 400px; + x-offset: 0px; + y-offset: 0px; + + enabled: true; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + cursor: "default"; +} + +/*****----- Main Box -----*****/ +mainbox { + enabled: true; + spacing: 0px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px 0px 0px 0px; + border-color: @selected; + background-color: transparent; + children: [ "inputbar", "listview" ]; +} + +/*****----- Inputbar -----*****/ +inputbar { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 15px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: @selected; + text-color: @background; + children: [ "prompt", "entry" ]; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} +textbox-prompt-colon { + enabled: true; + expand: false; + str: "::"; + background-color: inherit; + text-color: inherit; +} +entry { + enabled: true; + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Search..."; + placeholder-color: inherit; +} + +/*****----- Listview -----*****/ +listview { + enabled: true; + columns: 1; + lines: 6; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; + reverse: false; + fixed-height: true; + fixed-columns: true; + + spacing: 5px; + margin: 0px; + padding: 0px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: "default"; +} +scrollbar { + handle-width: 5px ; + handle-color: @selected; + border-radius: 0px; + background-color: @background-alt; +} + +/*****----- Elements -----*****/ +element { + enabled: true; + spacing: 10px; + margin: 0px; + padding: 8px; + border: 0px solid; + border-radius: 0px; + border-color: @selected; + background-color: transparent; + text-color: @foreground; + cursor: pointer; +} +element normal.normal { + background-color: @background; + text-color: @foreground; +} +element selected.normal { + background-color: @background-alt; + text-color: @foreground; +} +element-icon { + background-color: transparent; + text-color: inherit; + size: 32px; + cursor: inherit; +} +element-text { + background-color: transparent; + text-color: inherit; + highlight: inherit; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +/*****----- Message -----*****/ +error-message { + padding: 15px; + border: 2px solid; + border-radius: 12px; + border-color: @selected; + background-color: @background; + text-color: @foreground; +} +textbox { + background-color: @background; + text-color: @foreground; + vertical-align: 0.5; + horizontal-align: 0.0; + highlight: none; +} diff --git a/custom/rofi/shared/colors.rasi b/custom/rofi/shared/colors.rasi new file mode 100644 index 0000000..7390656 --- /dev/null +++ b/custom/rofi/shared/colors.rasi @@ -0,0 +1,33 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Colors + * + * Available Colors Schemes + * + * adapta catppuccin everforest navy paper + * arc cyberpunk gruvbox nord solarized + * black dracula lovelace onedark yousai + * + **/ + +/* Import color-scheme from `colors` directory */ + +/** + * + * Author : Levi Lacoss (fishyfishfish55) + * Github : @fishyfishfish55 + * + * Colors + **/ + +* { + background: #15161EFF; + background-alt: #1A1B26FF; + foreground: #C0CAF5FF; + selected: #33467CFF; + active: #414868FF; + urgent: #F7768EFF; +} diff --git a/custom/rofi/shared/fonts.rasi b/custom/rofi/shared/fonts.rasi new file mode 100644 index 0000000..430c73d --- /dev/null +++ b/custom/rofi/shared/fonts.rasi @@ -0,0 +1,12 @@ +/** + * + * Author : Aditya Shakya (adi1090x) + * Github : @adi1090x + * + * Fonts + * + **/ + +* { + font: "JetBrains Mono Nerd Font 10"; +} diff --git a/nix/flake.lock b/nix/flake.lock index d7c1460..c19e1d7 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "custom-fonts": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "path": "./fonts", + "type": "path" + }, + "original": { + "path": "./fonts", + "type": "path" + }, + "parent": [] + }, "flake-compat": { "flake": false, "locked": { @@ -150,6 +166,7 @@ }, "root": { "inputs": { + "custom-fonts": "custom-fonts", "home-manager": "home-manager", "mantle": "mantle", "nixos-wsl": "nixos-wsl", diff --git a/nix/flake.nix b/nix/flake.nix index d47e0e9..158cf61 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -12,6 +12,8 @@ mantle.inputs.nixpkgs.follows = "nixpkgs"; rokit.url = "github:rocketcamel/rokit-nix"; rokit.inputs.nixpkgs.follows = "nixpkgs"; + custom-fonts.url = "path:./fonts"; + custom-fonts.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = @@ -71,6 +73,9 @@ inputs.mantle.packages.${host.architecture}.default inputs.rokit.packages.${host.architecture}.default ]; + fonts.packages = [ + inputs.custom-fonts.packages.${host.architecture}.default + ]; nixpkgs.config.allowUnfree = true; } ] diff --git a/nix/fonts/custom-fonts.nix b/nix/fonts/custom-fonts.nix new file mode 100644 index 0000000..c0f3c95 --- /dev/null +++ b/nix/fonts/custom-fonts.nix @@ -0,0 +1,12 @@ +{ stdenv, lib }: +stdenv.mkDerivation { + pname = "custom-fonts"; + version = "0.1.0"; + + src = ../../custom/fonts; + + installPhase = '' + mkdir -p $out/share/fonts + cp -r $src/* $out/share/fonts + ''; +} diff --git a/nix/fonts/flake.lock b/nix/fonts/flake.lock new file mode 100644 index 0000000..20428dc --- /dev/null +++ b/nix/fonts/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/nix/fonts/flake.nix b/nix/fonts/flake.nix new file mode 100644 index 0000000..3c7390f --- /dev/null +++ b/nix/fonts/flake.nix @@ -0,0 +1,18 @@ +{ + description = "custom-fonts"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + + outputs = + { self, nixpkgs }: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + fonts = pkgs.callPackage ./custom-fonts.nix { }; + in + { + packages.x86_64-linux.default = fonts; + }; +} diff --git a/nix/fonts/result b/nix/fonts/result new file mode 120000 index 0000000..c1f940e --- /dev/null +++ b/nix/fonts/result @@ -0,0 +1 @@ +/nix/store/0vacng2hzhihjl7z98ni7vzs8rdl68v3-custom-fonts-0.1.0 \ No newline at end of file diff --git a/nix/hosts/tux/configuration.nix b/nix/hosts/tux/configuration.nix index 7975810..5c51264 100644 --- a/nix/hosts/tux/configuration.nix +++ b/nix/hosts/tux/configuration.nix @@ -39,10 +39,6 @@ wheelNeedsPassword = false; }; - fonts.packages = with pkgs; [ - nerd-fonts.jetbrains-mono - ]; - i3.enable = true; kanata.enable = true; diff --git a/nix/modules/commonPackages.nix b/nix/modules/commonPackages.nix index 89071da..931af8f 100644 --- a/nix/modules/commonPackages.nix +++ b/nix/modules/commonPackages.nix @@ -16,6 +16,11 @@ mplus-outline-fonts.githubRelease dina-font proggyfonts + nerd-fonts.jetbrains-mono + nerd-fonts.iosevka + roboto + roboto-mono + open-sans ]; fonts.fontDir.enable = true; commonPackages = with pkgs; [ diff --git a/nix/modules/default.nix b/nix/modules/default.nix index 38be5d8..388c945 100644 --- a/nix/modules/default.nix +++ b/nix/modules/default.nix @@ -12,5 +12,6 @@ ./kanata.nix ./pipewire.nix ./keys.nix + ./rofi.nix ]; } diff --git a/nix/modules/i3.nix b/nix/modules/i3.nix index 0cadeae..83c36eb 100644 --- a/nix/modules/i3.nix +++ b/nix/modules/i3.nix @@ -48,9 +48,13 @@ ahk_x11 prismlauncher feh + dconf + rofi + papirus-icon-theme ]; programs.thunar.enable = true; services.tumbler.enable = true; + rofi.enable = true; home-manager.users.luca = { programs = { @@ -58,7 +62,7 @@ enable = true; settings = { "shell-integration-features" = "no-cursor"; - "background-opacity" = 0.8; + "background-opacity" = 0.85; "cursor-style" = "block"; "cursor-style-blink" = false; "font-size" = 15; @@ -67,6 +71,18 @@ }; services.dunst = { enable = true; + configFile = ../../custom/dunst/dunstrc; + }; + gtk = { + enable = true; + theme.name = "Adwaita-dark"; + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = true; + }; + }; + qt = { + enable = true; + style.name = "adwaita-dark"; }; services.picom = { @@ -75,10 +91,6 @@ }; services.copyq.enable = true; - xsession.initExtra = '' - xset s off - xset s noblank - ''; xsession.windowManager.i3 = { enable = true; extraConfig = '' @@ -89,11 +101,13 @@ config = { modifier = "Mod4"; defaultWorkspace = "workspace number 1"; - terminal = "alacritty"; + terminal = "ghostty"; fonts = { names = [ "Noto Sans" "Noto Sans CJK JP" + "Open Sans" + "Feather" ]; size = 10.0; }; @@ -114,7 +128,7 @@ "${modifier}+Shift+j" = "move down"; "${modifier}+Shift+k" = "move up"; "${modifier}+Shift+l" = "move right"; - "${modifier}+Return" = "exec ghostty"; + "${modifier}+d" = "exec rofi -show drun -theme ~/.config/rofi/launcher.rasi"; }; #startup = [ # { diff --git a/nix/modules/rofi.nix b/nix/modules/rofi.nix new file mode 100644 index 0000000..ab93466 --- /dev/null +++ b/nix/modules/rofi.nix @@ -0,0 +1,20 @@ +{ + pkgs, + lib, + config, + ... +}: +{ + options.rofi = { + enable = lib.mkEnableOption "enable rofi"; + }; + + config = lib.mkIf config.rofi.enable { + home-manager.users.luca = { + + xdg.configFile = { + "rofi".source = ../../custom/rofi; + }; + }; + }; +}