From a0014161ceeee54ad8f6c19c77a314f92eaf23cd Mon Sep 17 00:00:00 2001 From: matt1432 Date: Wed, 17 Jan 2024 19:18:41 -0500 Subject: [PATCH] refactor(ags): move wim and binto configs together under modules --- .gitignore | 1 + devices/binto/config/ags/config.js | 3 - devices/binto/config/ags/package-lock.json | Bin 141324 -> 0 bytes devices/binto/config/ags/package.json | 19 --- devices/binto/config/ags/scss/main.scss | 16 -- devices/wim/config/ags/.eslintrc.json | 146 ------------------ devices/wim/config/ags/.stylelintrc.yml | 17 -- devices/wim/config/ags/config.js | 4 - devices/wim/config/ags/scss/main.scss | 24 --- devices/wim/config/ags/tsconfig.json | 21 --- .../ags => modules/ags/config}/.eslintrc.json | 0 .../ags/config}/.stylelintrc.yml | 0 .../ts/main.ts => modules/ags/config/binto.ts | 10 +- .../ags/config}/icons/down-large.svg | 0 .../ags => modules/ags/config}/js/utils.js | 12 +- .../ags/config}/package-lock.json | Bin 136454 -> 135509 bytes .../ags => modules/ags/config}/package.json | 1 - .../scss/binto-widgets}/applauncher.scss | 0 .../ags/config/scss/binto-widgets}/bar.scss | 0 .../binto-widgets}/notification-center.scss | 0 .../scss/binto-widgets}/notification.scss | 0 .../config/scss/binto-widgets}/powermenu.scss | 0 modules/ags/config/scss/binto.scss | 16 ++ .../ags/config}/scss/common.scss | 0 .../config/scss/wim-widgets}/applauncher.scss | 0 .../ags/config/scss/wim-widgets}/date.scss | 0 .../wim-widgets}/notification-center.scss | 0 .../scss/wim-widgets}/notification.scss | 0 .../ags/config/scss/wim-widgets}/osd.scss | 0 .../ags/config/scss/wim-widgets}/osk.scss | 0 .../config/scss/wim-widgets}/overview.scss | 0 .../ags/config/scss/wim-widgets}/player.scss | 0 .../config/scss/wim-widgets}/powermenu.scss | 0 .../scss/wim-widgets}/quick-settings.scss | 0 .../ags/config/scss/wim-widgets}/systray.scss | 0 .../config/scss/wim-widgets}/traybuttons.scss | 0 .../config/scss/wim-widgets}/workspaces.scss | 0 modules/ags/config/scss/wim.scss | 24 +++ .../ags/config}/services/brightness.ts | 0 .../ags/config}/services/pointers.ts | 0 .../ags/config}/services/tablet.ts | 0 .../ags/config}/services/touch-gestures.ts | 0 .../ags/config}/ts/applauncher/app-item.ts | 0 .../ags/config}/ts/applauncher/main.ts | 2 +- .../ags/config/ts/bar/binto.ts | 9 +- .../ags/config}/ts/bar/fullscreen.ts | 0 .../ags/config}/ts/bar/hovers/audio.ts | 0 .../ags/config}/ts/bar/hovers/bluetooth.ts | 0 .../ags/config}/ts/bar/hovers/brightness.ts | 0 .../config}/ts/bar/hovers/hover-revealer.ts | 0 .../config}/ts/bar/hovers/keyboard-layout.ts | 0 .../ags/config}/ts/bar/hovers/network.ts | 0 .../ags/config}/ts/bar/items/battery.ts | 0 .../ags/config/ts/bar/items/cal-opener.ts | 14 +- .../ags/config/ts/bar/items}/clock.ts | 0 .../config}/ts/bar/items/current-window.ts | 0 .../ags/config}/ts/bar/items/heart.ts | 0 .../ags/config}/ts/bar/items/notif-button.ts | 0 .../ags/config}/ts/bar/items/osk-toggle.ts | 0 .../config}/ts/bar/items/quick-settings.ts | 0 .../ags/config}/ts/bar/items/systray.ts | 0 .../ags/config}/ts/bar/items/tablet-toggle.ts | 0 .../ags/config}/ts/bar/items/workspaces.ts | 0 .../ags/config/ts/bar/wim.ts | 2 +- .../ags/config}/ts/corners/main.ts | 0 .../ags/config}/ts/corners/screen-corners.ts | 0 .../ags => modules/ags/config}/ts/date.ts | 0 .../ags/config}/ts/media-player/gesture.ts | 0 .../ags/config}/ts/media-player/mpris.ts | 0 .../ags/config}/ts/media-player/player.ts | 0 .../ags/config}/ts/misc/audio-icons.ts | 0 .../ags/config}/ts/misc/background-fade.ts | 0 .../ags/config}/ts/misc/closer.ts | 0 .../ags/config}/ts/misc/cursorbox.ts | 0 .../ags/config}/ts/misc/persist.ts | 0 .../ags/config}/ts/misc/popup.ts | 0 .../ags/config}/ts/misc/separator.ts | 0 .../ags/config}/ts/notifications/base.ts | 0 .../ags/config/ts/notifications/binto.ts | 8 +- .../ags/config}/ts/notifications/center.ts | 0 .../ags/config}/ts/notifications/gesture.ts | 0 .../ags/config}/ts/notifications/popup.ts | 0 .../ags/config/ts/notifications/wim.ts | 0 .../config}/ts/on-screen-keyboard/gesture.ts | 0 .../ts/on-screen-keyboard/keyboard-layouts.ts | 0 .../config}/ts/on-screen-keyboard/keyboard.ts | 0 .../ags/config}/ts/on-screen-keyboard/keys.ts | 0 .../ags/config}/ts/on-screen-keyboard/main.ts | 0 .../ags => modules/ags/config}/ts/osd/ctor.ts | 0 .../ags => modules/ags/config}/ts/osd/main.ts | 0 .../ags => modules/ags/config}/ts/osd/osds.ts | 0 .../ags/config}/ts/overview/clients.ts | 0 .../config}/ts/overview/current-workspace.ts | 0 .../ags/config}/ts/overview/dragndrop.ts | 0 .../ags/config}/ts/overview/main.ts | 0 .../ags/config}/ts/overview/variables.ts | 0 .../ags/config}/ts/overview/workspaces.ts | 0 .../ags/config}/ts/powermenu.ts | 0 .../config}/ts/quick-settings/bluetooth.ts | 0 .../config}/ts/quick-settings/button-grid.ts | 0 .../ags/config}/ts/quick-settings/main.ts | 0 .../ags/config}/ts/quick-settings/network.ts | 0 .../config}/ts/quick-settings/slider-box.ts | 0 .../ts/quick-settings/toggle-button.ts | 0 .../ags => modules/ags/config}/ts/setup.ts | 0 .../ags => modules/ags/config}/tsconfig.json | 0 .../ts/main.ts => modules/ags/config/wim.ts | 24 +-- modules/ags/default.nix | 81 +++++----- 108 files changed, 122 insertions(+), 332 deletions(-) delete mode 100644 devices/binto/config/ags/config.js delete mode 100644 devices/binto/config/ags/package-lock.json delete mode 100644 devices/binto/config/ags/package.json delete mode 100644 devices/binto/config/ags/scss/main.scss delete mode 100644 devices/wim/config/ags/.eslintrc.json delete mode 100644 devices/wim/config/ags/.stylelintrc.yml delete mode 100644 devices/wim/config/ags/config.js delete mode 100644 devices/wim/config/ags/scss/main.scss delete mode 100644 devices/wim/config/ags/tsconfig.json rename {devices/binto/config/ags => modules/ags/config}/.eslintrc.json (100%) rename {devices/binto/config/ags => modules/ags/config}/.stylelintrc.yml (100%) rename devices/binto/config/ags/ts/main.ts => modules/ags/config/binto.ts (63%) rename {devices/wim/config/ags => modules/ags/config}/icons/down-large.svg (100%) rename {devices/wim/config/ags => modules/ags/config}/js/utils.js (73%) rename {devices/wim/config/ags => modules/ags/config}/package-lock.json (99%) rename {devices/wim/config/ags => modules/ags/config}/package.json (92%) rename {devices/binto/config/ags/scss/widgets => modules/ags/config/scss/binto-widgets}/applauncher.scss (100%) rename {devices/binto/config/ags/scss/widgets => modules/ags/config/scss/binto-widgets}/bar.scss (100%) rename {devices/binto/config/ags/scss/widgets => modules/ags/config/scss/binto-widgets}/notification-center.scss (100%) rename {devices/binto/config/ags/scss/widgets => modules/ags/config/scss/binto-widgets}/notification.scss (100%) rename {devices/binto/config/ags/scss/widgets => modules/ags/config/scss/binto-widgets}/powermenu.scss (100%) create mode 100644 modules/ags/config/scss/binto.scss rename {devices/wim/config/ags => modules/ags/config}/scss/common.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/applauncher.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/date.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/notification-center.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/notification.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/osd.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/osk.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/overview.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/player.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/powermenu.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/quick-settings.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/systray.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/traybuttons.scss (100%) rename {devices/wim/config/ags/scss/widgets => modules/ags/config/scss/wim-widgets}/workspaces.scss (100%) create mode 100644 modules/ags/config/scss/wim.scss rename {devices/wim/config/ags => modules/ags/config}/services/brightness.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/services/pointers.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/services/tablet.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/services/touch-gestures.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/applauncher/app-item.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/applauncher/main.ts (97%) rename devices/binto/config/ags/ts/bar/main.ts => modules/ags/config/ts/bar/binto.ts (79%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/fullscreen.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/audio.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/bluetooth.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/brightness.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/hover-revealer.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/keyboard-layout.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/hovers/network.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/battery.ts (100%) rename devices/wim/config/ags/ts/bar/items/clock.ts => modules/ags/config/ts/bar/items/cal-opener.ts (54%) rename {devices/binto/config/ags/ts/bar/buttons => modules/ags/config/ts/bar/items}/clock.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/current-window.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/heart.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/notif-button.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/osk-toggle.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/quick-settings.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/systray.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/tablet-toggle.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/bar/items/workspaces.ts (100%) rename devices/wim/config/ags/ts/bar/main.ts => modules/ags/config/ts/bar/wim.ts (97%) rename {devices/wim/config/ags => modules/ags/config}/ts/corners/main.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/corners/screen-corners.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/date.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/media-player/gesture.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/media-player/mpris.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/media-player/player.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/audio-icons.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/background-fade.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/closer.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/cursorbox.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/persist.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/popup.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/misc/separator.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/notifications/base.ts (100%) rename devices/binto/config/ags/ts/notifications/main.ts => modules/ags/config/ts/notifications/binto.ts (62%) rename {devices/wim/config/ags => modules/ags/config}/ts/notifications/center.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/notifications/gesture.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/notifications/popup.ts (100%) rename devices/wim/config/ags/ts/notifications/main.ts => modules/ags/config/ts/notifications/wim.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/on-screen-keyboard/gesture.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/on-screen-keyboard/keyboard-layouts.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/on-screen-keyboard/keyboard.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/on-screen-keyboard/keys.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/on-screen-keyboard/main.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/osd/ctor.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/osd/main.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/osd/osds.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/clients.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/current-workspace.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/dragndrop.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/main.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/variables.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/overview/workspaces.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/powermenu.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/bluetooth.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/button-grid.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/main.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/network.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/slider-box.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/quick-settings/toggle-button.ts (100%) rename {devices/wim/config/ags => modules/ags/config}/ts/setup.ts (100%) rename {devices/binto/config/ags => modules/ags/config}/tsconfig.json (100%) rename devices/wim/config/ags/ts/main.ts => modules/ags/config/wim.ts (56%) diff --git a/.gitignore b/.gitignore index 088ab590..4b8a9dcc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *types/ *build/ result* +*config.js diff --git a/devices/binto/config/ags/config.js b/devices/binto/config/ags/config.js deleted file mode 100644 index aad874f7..00000000 --- a/devices/binto/config/ags/config.js +++ /dev/null @@ -1,3 +0,0 @@ -import { transpileTypeScript } from 'file:///home/matt/.nix/devices/wim/config/ags/js/utils.js'; - -export default (await transpileTypeScript()).default; diff --git a/devices/binto/config/ags/package-lock.json b/devices/binto/config/ags/package-lock.json deleted file mode 100644 index 49bab0e93836b2dfc389d9bc2f17dc7d5b7f0498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141324 zcmeFaX|t+W+9>$Fe?`Xm*!Dim0yiS7OHsgi08#Adyul30B!dX|zWv*Kf%D$F)qPIZ zn^|?L;^aobwOG$QuJynEkKca#<}04@?SK6CO|jx{|5y2i8)$3OaSh3cVkhvyJ*@gZ zGB&9b88P@GiBhBbE>yI&VpZS$FYsINYjAge1+H}?G<@CgHRs}q>M64@%Q^pmzZ2il zZ`Ch<`|ZEVA*6DR|#E}0ILTcnP87 z0e?dPNz_jZ`v#~uaJPnDPHHDf82=9liVOYx zW-K0y5rwYzosefdVdlx~IFrf2a7QtivR!XT2cNr`W-9eM>gvhNz@-5qju#6O4oxp| z=b~C)^*5p%EpriFiruF52*jaLal;kZ?+d@-oOd%!7^t!brM2P4j2pXlI3K}dla4nOWYGA0w;P4y-i~Ic2S_|ADdIO>kh@m~2kt?JeMgF%3sKmd*p4VtRQqwI2?&<6F zGEXvWHDbx6C7l9|3TX5((gulBGif*M4z-NMlet7eqev7J7O|G#4#jTVyrBnaq_`S8 zXD4$Otqm=P7wpxVQEMHx+27D=y3E?hPFqiAcxVXe0-oLbq*4EzAHCGih`5^>ZC2M(T|6c%2_{^F!t*_+RDgx1i%qfwbwZ`2ZAt~z1K;MMRk&5BLDVGJ*<`+T6{J3+rqISx*iNpX8?MM& z(a>X-soaZHU6>8HdIwoD++=E)>#1a?qjiUqe1mLGFrp=x0kYY4H|$qP|A7#Kzf%{Y z>&qyzmH5qc73;1wQJSN#())2xfQsW~>AHdcKLmf=>zYVSGbYUl7Y6I?#Ba8St;EE| zMJU-4rzA!SCp1E-E(Wu{+D1KmJM1rN(%gXbaOJ8sKD9Wxn3L&b!P68!Zp$yw`e~^T z!2c7BfDiiU7GDs6W?x6Z_0Rwf*I&FP7P#)eto!K@csGqk;F za7B!c!?lMi6Ioq(wPkzW*5$Ejej=3yU<|A#~yiKUnPTU2khFdxJ4h=j>fYF$;G&UGA=&-@}m!--*c?%1r>T?v1=^; za-*+^s|ef=NqL*K#Bg$r_v+AGKRWjpgY zXlY*_T=f577y1t5uf5tkT=C0;2A0<+ng1hs9qfXy*yK-Hav-Ig1c4hv;Noqcvwl-t zD*#zp+q;*|LcbLL_~++ymHOk>JAkwa2(~=ozNvW_)IB;fFwI>wVAx2BIL~Tmb7c zu=M{N!rZ@|@_$ukxhy9racBW}rs_%HRQJ-zEpHt&>-$H(Yk>#FVc^FBDBn1O>=;D9 zsQ$P!Q2=U5fF5>135T;aKArIT(Q4uw^Bvap|DG&^Tei%nQG!1Z{I~!8zkmA!sh5BL z@jF5tmvb&Ix7~c`nItcZ^&5VL$3=%}-iG*Cc*=&jV?n zJ_C{l@BEmg!w`bn+a;~fJTB!D4hd^MLRuo<9&J*3HL9@=Gg}RZShMBjw%$Oy8+sB; z#+2+)5ISLc2+0eeIBD#Pb9%Whg1L(IA4R=?k#yw~e;)Dpgrq+S`kyG!GjvCJ+oVR6 zzm>H~2gwVh!EIVZzLO_Te%69K)8d`k09D?(1LzaX_?SLje%$M}*5g^5iSx#`RfkuB zY_`0Rnzg6$j_1~_nfJS_DD|NBv}?ezlu0*!BW zzeMhT{q;odEz6)R4ZKW)0DI<4bAZ(MQNLqh}Md~IJTc8f(ybN==E zn)B=4nhNm8t*{ir;r_QVf6=cNuw!0*GpDf3=KMj8s?*X$^BsJVF_C&c1oGCHu8N!1N%ZX(H{t~&_G@8-fYFcBjo-X z*sk^4`H|1*W&duavHwT)`)XV;=5bU|G;oo0`NV?wfX97l)xCON@aE;fC#rtdjJ-Dv zpp?UefJn-rA5#gF(se;cn>p<Xd2i%x5O|BCtC=*}!tTU(xnYjfgEmc2bl$E_ z8m+M!4LD}qAP}v$6fA61EHQt-6RfXE&})K@LXTpT}dBvC_cfBrO0Ex&(_^= zD+qSGhh>vhYe9FX^Tuqv9or-`3es^nqdU;QB|O_aT+OCW6ko|7anB<-ChA+;I61vgu%R?rqQ8%>?f$^QuTs zjTFsz17)6NQmbl*IljfWs|EuAiPsIacY_0-c=t_}Zvbr(4=b4*CLQxF){6KA$)nqL z2O@T10h5KmH(^)|Q)^>;aw2(yQJp|2k4dM4U?j7y-fp_Eg-~Q_28FKh*1V_5tXfAl zobyN=-RBKJ$BM5R`rDbR%6!2U(Sh1%O-aBLRRwJ+bkDT(ypX!i(OwerEj$6Px*+Xm z&5YBi070i~U@w=g9}h9pCBr&qPo2gpLx!z(mLYS}!N^)O??j{dh*(S}4PZt~BdrgQ zhq;=8P6P=W!bHI~ifls9guJaS>IpU*)p~@oX--BR{*k@>31&Xfb6LDxI^su8If|Um zBL)BG>G{XFTHUkyK$p;^415+J|2%N)Dh3Dvf^9#{V^mlJ5JYn67HOhoXiPbc<1|1`TGx7Gm*`^76dF$6?!+0@YfDi#om`y!s<1 z`8m??6ChXpa0=*GD~0;KNDBe@tEvk5Lcry60s!#CR6uK=2Yn2CoNqdPy)$&IAe^k@ zoxNnlV9JkeG?=aW7#dhhs9W%xXxFR>0~X7Kp@8~nKJ7r$sl9`<7SPx=il@ic1hI-( zwRigbQOxf?8ytE9E6V)#N2x8(fC1{|aNBiMu*?#wRlguGXWzl_{OHH-!t>Kd&UzAw z*COrkDp%v*5^Z1w=NV5t{H$eM;rOCO65#pb69B?_@W;4r3i58T#fSV-AREH~PD5%) zw@epf^SHCy#IuFRHwK=xo(=Wk*i@#uv+#wc!^*{))z|!lZ3Pp1K-8x3qQIv#zU;g4 z*G1kB;`&+aX^ImCpDHi(-N=3&uIpLozr!dCO^>SW7N!zMlQ-!G7BVwnj@W- zx*N$Yt(fPtAh94aUKR84mJk<{Znt4z+htue*Ya5Cxc-D+PjGBu&TT<~yA3oZMoy9> zdJ6xWvEd1{zZmgv$%x0^@IzntEnx{d#y`mN*Ld-A62Oj^AIo`F;%s8nOa$87}o6(3`tjq|sh)9Z! zuBHQO6Ls2O_iBGoSRNJ6&sB_<(EY`fe`}_^*s$TxWz6G57tDG5>NN(1r|1fU{9IXj zg@krkLWEb#CF?jW=PYdj#l-*v{dMvd&9HVs5}}qd7TR@(>Zm4Rj6RB)+0bh&K{E<7 zB=|m6DBHo0S~F*Rze-nqwC+y~c+zH-6?@AFIX!yGX4TUdg6uLLw3iVe*kqJtAn1jO z{K-sp|ev{^U0B&;Nrovq5AQat)FM_@3*43nD?`#Um5QYU5O7{ zkK6^6twg4p76l;ay^}%#M`pjL$qjb~gs`lmfm%BK1R#ccDA--QKIg?fYYiW1>Bw`x z#P+|1*uIIz6T#k+=)kuIQSkR9{F<=^hzJlWTso!utCDQbqdqpWFj!GXqjigxi`i7R zv|isG#JG|UEm;jIVaF3)y=RU*3Eom;V$~ki;7Fn(r@Qn?wK3^+BA1d0liO~x9hAG! zObR9EN8O%3MTY;9%C7NeNaeq3Oxx}q`j!O*hUs|J>1HqXuUG@CB9y!yQEMMD_%xxPj=_S zUcJtfvS72kHJj_>AGN3+*#@8K@Mo3c70hmm(yLi+Bl3oU^BN{E0(+%IJx>X+cpm&Q z8virHd}llM7J9Dq(#ZgQ5kGrNxx~%>>Q!wwZ%+K9n<*>wCO9-rYSSS+!|D;s<^eT$nCEyDYk$EH zxnh$;@ckrSPC)(TE>uC`pQf0e6=DaX{3X8rmInQM-};siyHMsQZhKjTojv%yAUl74 z%~*iOBfh_#y50Ij9#Qjkv_i+NiHN$gjcmK@h}X=y4&`P0J(qPU^&G_zeJUPNZ2CL-BzwhJa}ig&iHC$1;Ma8Swz)tID)rg#mw) z!hpSJd5it7>rP%&u~qdG7<=#4KX%tFW!YbwrsSapQEc;^8)_|!wemhOSNP?87Qu^V zKS_J-0YXBX2A=B6$<#4Pem#evF-M7LV-lt#Q_!a?GVMm4Bwr7I*z3NIGvAO#XEXn& za1wypFE08!me*KkO1Z^Km!XTVYO=!&r7AmIzNpJ=q~K;cK}r6^r?EvA(?}ckGAE!i zqdC_%Ex#Un#01_IW6$O|o~qF{RM1^cBjw%-L&v^5kH%dpqTQX5Z$|`Kh(GLj|0@Dp zM|l0>t-q&{c$Lk(&0Ze^FfZz>^Bg6Eoj<+i4wB7U)L7Q7NRTsORG=YlQ?}3xdc>rY z3KHKQkQ;6$GWAV3c7Wg5)|BRu>k6FJ7+AYxYUhiwEXA|DZx5_lu#VUnQ~S|O&Lb8( zi>`;s-=Cu7&cOY}kbh5xyds0!40+@Dk{3DhJW0us=TD{9JDrX4*s!D*7@;G}=?LG+ zvTk3a_5%2ciGh?^wC7;VsJAcjn4zC65so%Fwcn&c|9n zw<)F|YMHp%wMV)XI$?X#oVL0PNr!q9CYY{7VQU40e!tzOniM{V`_{;sQhrR+i-cQ7 zCOm_4e8XKCO^l#6*WH?*A)vmai}%AY8KpwCGKT=Zan%~w&%v<=lomMxAE!8OrO+|-5U86Dyy_K z=wq&2>swD=goke3KJ)&=k$Ptn?C72yCFUnob72O2eER8l<$e5~+4mNH_v!N=6uo!S=TD1Xe_3zMCeX~( z=4g&BlQt5XcGEJV*;>&Sa>%57w~1;Y>IHK?p-?Czc(RCRLWERlPE1++(LmXsDp1c^o+pIRFDVJcXa%Q>655|4`_5U#Tf6~`@{fG`n(RAFP+E-V zT+M0F$Fi@H?P6o-jOB$k23wpsc~iqA6{?Yj?(de?3N^LO$jak7?}a$bM)t59+7WIf z6gg{($Y3Nk@L0voygQ5qeS+q+ZpuGulw3OBe{tD&whR6&1mE@vUO+K8ddre~z2=ml zYDPp3MzY9iSxgN0_GH!~aY^B3?Ph-_u2`FH$9ZQl8fnU`wybN3F;cl!Krdz8ji_m} zq4zozk5KXE&qncQcG1t!Sy$u#S*SZt^3fZA0fAu*_CK+Qat)`2MWKtWkk9;F7>KQe zms?{x+6{KdLPcg$8|f;$EbYK@Kg!*tw%o#Mz-fh-1umtSyJdzhY0(#iK>L~A_)9$c z6R`Kr4!(uHvt@ktIA4>jmy-bWU48@ybsX*PC-%lHXft%WP2ZtOCzzoo((FVg&jex% z-{8`X|%I%~0w2Rd3PFWt{BiCY?^Je5{oJ)1x@I z@OH_6x9(qiIe!*vKa=P$AoxEtzIt)2_ALYfnR@Iv_$uoiXDIdU@%pvx6s)eO+r|Ry zKV0k18F#Ibprav)ym}O9?TnThz?RDMW^3w53Llu{W~vXsp`|esIm7OlOc92IJbW@6 zFT`<%n3K5J`RR|kikAlQjW)pd!GMpuhMWcYnSzhOfb-K&i{B$?zs!i|IgbkBHRXK4 z?H^66)8LOK?SE*)!|BlaKZy!<2p!k zqOp^tI$L)s=FFT?5 zt6q{CI}bL9X1kCgRmo>$+Y)$tvon1&jI9n@GyY6h=N5ndwb=I(8Nbx+-?H?>_deZ2 z3zWZ?*0Nyb{_Hxo?R&!GiDpC+w|Oc0%I6n6FTy;ixdloXWSV) zo;u^@xRH)_wPDc-w~bYM6-K!qWh|d9QKeXU!io)v#stbl(P{O&&<{tKuC?vnwYr4R z4Q+e-_SxOPh)mpm^sK0krtx{+XXW()7q^t{X-Rh!?a6=qA{pFF1)K(bObB(MhZd*| zy0Le9ka~+bnJ67ZK>1E{JJ;BtH*W+9+#s}I5U;xxd}{{n%hPtbcNv_A{KhZ#yM>TvmDS=WDTT-rSVnigbQo<>C&_lHT*K){+8z3MQzkA+41A8)yD~dwkW;|~u zwQiG#3h6TUg)7-vaidwRIK%&stkYaQ)(}zZ+-Ssi*jv9cY1WfWspL-*l`u zC5n{%PLu*u5|hD(5-!pm#U>35+fZX+D#Qs0lwhkL(bLyU zJTO+Q*@mYaJQ?`nj0B+FbmQ_klk+JT;MVChgzA^&X=TJo(;fBW=jRB3^JxGiK`Q6; zyNaD}7mr@Q`XxH9dHUTc8h41KJoez%p&bY536S|G9@_CN;x6gwmiqj4e#b}B{u9sd zxJKKdRNbl08mdmIy@etWE&0lkg`Z9ZWbeDls~pi2=i;clts&tOwIyT~_cc}&v1lw< z%jPI#)+@6InpOfylDb(ZZAs1PptXp``C{6qDas*~koIWR&)e0|>nG5Vn)JJBi7g=N#QVXZigJNViT|_6udL#HX2_7Od}e!YwqHhU~eL>x=sJ zY9fH-tIw5H`@{h|^>*e6t86Zh$xzhRT)jgWIolYn#Gs%=mk(Dd70*=#JVc z51}PqkJ^149{}t;8GsfT_OUgx-Jm#FYVHxBpwmN#Jto5PMJrorkw`A z=nzRa{b{Ymr;!H@M`8f?IFgt78EJ%JZ@Iz-`9@9$O|y>vK-A!JS&5RAc0@^9X8-}k z6s3N7lCT0!|K1;9R%&kgMAs({dcb$TozLff5|8^Ax<~%!cYK=s->vq5K`>24>`$O? zy0*vT5G|rjt1)Rn=xS*DMWT%x?zWCEbh{Ih3W*bVg9x@AvYD=TRzeOIWU6P46e}#G zrG?`e92J-(A%dZ7wlZFO6n6dDaLp8VeTO;9Bekd>Vvcg~JzUExpeMk9kJ%#Nnzh-^ zwdR^NSzB2^aaxZ!{HdA2-V;$vhO-JG!%G2 zLKlq~as9#%v>!3jFA3!&O#o+HiVnaTrV=Ncl4rnn-sMSJ2V?Gh{`^ltU7Y0QY2J=@ zJWn-rQ_J!1qL2Uw*Pod3*%OHFOaf53Kke&nKWP~xeddgL$uMf*)K-Pjsn&QJOuHf@ z)w~f~)C#tvH0TK^z)~7pt66yCwbt?lhHPgxI2z9!)&-$FwKWzfvDFE+osL+<79R*Q z@rY4A*;eY#^1!KzCHksGonQtK`_KE&?_T=>0NaaG>`!;xztU?2^~e4g+42}zVCH}b z%`K9A_DI=({7!wxFGu)9Xy1p{zl2Bu7C+D_*qG@_QeC(`-=k2oMG6_cp43^^vD$DF zsM|0ZHW$lzteZj4o8>)H9q#zJ!H-yxD!QDE0VTXz!mL3?eKDo#_5#|DTv(k>^{>}K zC|VGey#4JDstj?QSs9R}0Zg0Fcq-fprjbn>J$L=Mi z8}ZeNsOK{vPZH!)8TJ<>xspL|*$mfA{Sa0^t@)v24|Y{>q!6D%{Tql$1h$$F1hO2~uAhy+sm9#mqERWxa~mqoC2Z zFy`x2_ldx(2<#eo6@ev@QXav2JQ5c~pI+2|e>vJY$m)Lq@su-tpq}!}XUWG*N6lPN zd0bab8E<9Vv{qO|UNc~~(dWf{60Z%Srl7@;q1r2dhexanPOchxio_;6))rehIBa1+ z1}HKrGzWGpZP)t&KcaM$V-1{BoV*=Q2R$A)U!Bkl8mK-J$FrK~sk2V+v1z4E{{+cYj3y!wnElOQ52Rv1|}&=avh+WM5R&SVTVF{pqyitGGTpGv~A9fhHDiu z3~-nc4^O97K5U^d-v#FhZrhxjrL{Xg^hvJ&L~H3Q*#B#)m1-s6P+M@;_9-TRi+TV- ze@DLHfqobtNP&ylK(kso?qi3EsF`DGObyr}Q)}c)rnQTjXt-XoW3Jdt=CdLcj5L+{ zTaS_kz@iw+%C@-)Sit3!Iw|l;tonE`Yqt##&su#`%VUneV_$z_`0bZdg^huSa#!)9 z7XgK*74P-f08YngfQ$qKK8BGUY$LOLJhzniBjVs+`xhIp5i)% z0m3WVTCt2bT}jF;&@GAs+hklEbN?a~Z_fl^diw?lhk(f*Ll_t=wUIIxZF*z$@V>y0 z<9y1HL&f&FAQ`61?W!+W+PF~NkZ)p9#B_I!k<}qAM(=r~76g8*ERc~2clwT~`OB4R z?(R_GNp8IY;n?tijdBN~Bp{;t$rgSQqWh5n1osz!alv4ZA*TC?OZAn3p+KEgE8vGZ z-6hbpsdoG(N!OW{X$o~o@9ef4nHdWlEWxdU56L@JYT1vHPwx8!QF#V3un##W43D=~=uo0)FNaQcg z0n)PR{*?Dku-(Z@Qys`9Eu=2V)5yWZ)xx1W5$=wbLPiWB%aEgqq;G@`(IC zQJaTVXo2UYzLVt8-a`ukIKTaY0|Gh2u8c8M0`3Ydu@(UL4kX)wEGVh=+dGKg{#7~7 z+sWK|>L;%~{oafGIK_32`keR&FKk6h2$I|T^?*1Ta8*wf1a3PP5J5*D0*IZh?w8N|Goub;sm}@g5#t+%Nzf7MAl2v z?6ksLn)Ds{z9#su_;o)GkYD?Yrv+D`CD1_c`jRr84s+U|@P#iW(=9ETGy-ilAa=U! zCOySp1*=rYvxbyIq`TOGodxnmeNpe$c3NG7Ah|u?hK6HOTEm|IfZ#f#<>X>Ozb?!FJ$d#$$^E&kdo^2W#$Br3ry03v z>CJ30X1!&hEN5v}&w38u>jYabra>mq5If##y;~uELBE;_xj^U8SCGJdtTBYB_vOV!=Fov=cxc4olrJ5kZ5@GIKLXny^faqG@}~BAn4}HddR=TH1))9`MAt zJF(^#&zW*+N=*XkC#zO1G?uyR8ToFu7@O^3pLrzg|CV;j%aZn#IyeZ2e*yY0#nF)z zF28%4EX*z4r14q9&a?5}JqzX@EMFX@9b;NBsd;qt;Q> zo#h>~9wUY}7YjF5LpX9X(x>B9YTgUQp3K)zq7Zk)?~mF5$EkrW|B2+a+(1>!wg6BP zQUm%NwWlwI>Fr;BVCsJlKjSDVzrAN!0EHvZ0Q5a!puMC=-vvdEGkq(I zG(c$W1`2*4@^v{GVA9KvPxC6Y-X<_ZxKoh&X3SXiJQ8BE!6p#aGFB9Pzq8V9emR+A z5*zsi*$@qF#7{|IC8gTV$5E<2Xo9_GCg#L$cuWUQYijqWM!}BO=nWn@@bTrsO9=mg z0e1d(i7b*Wn4OaeUGo%)NW8<_p^myn&HZv9l&Wsk!$jnwqkl}q+ zg_2?Jb;nseR3&4qAv<;x-BAwrVRtO>y9KFtC4bL?su~giruqwZfhy|;AA>`tqp8{D zh?UkGwPB|3#IhQ!W~)xrX}8G+Hz*pA;Ni{KZ47NysA;W1Xf<_hEYe8OB}ZwOw&iYf zN6^!iYVRaJVyVTW{J45mxD3SL5ggyZo&5qnW;i}|g8uP4T&d8b@^}DwP%L_{La?lC zK5N*QfM1S!LIAjatHyeagJ?s?weHXc8F0p4C9TEIb-Sd6Bf)Y_2<{>Y;Xa?`pz_C9 zWj?v>dA$%1$B|Q)+s1f{j%RfuZp4PAE|QMpdo8xLu8Iz1q5H))$YLL z1TAnMx$M(~#=gPra_V=v%Ud0AMi{6@WE5+_^iQy-A3OV^<~x)FjN6MfJi0h1nvYq%4;4I8c1s3hMo#;8A!R={L1DIGAPxXQA#) zi+oBK&~n)wxC0Q|CpV*!N{4#a9n9K2_7R6Z5O~jYQdKK0t0IjuBX>*LfJ*Q$sO5`s zkMP{j@>Y%a7@&pPq(LE2LqsBV92RSPAjnWvCD=iie^%y-?5ElcOtaE&XyoCA4H(Uzz25nK3rNd*{dcT=$1H9 z_({&*WT^XWquFKe)CGM1?>GbnQbF|l`E5QCxRF(5q3eR1VNBE-0J2UN=sw-7ogzR?O6EKdAI{6O;lP^j5Q-JQ3(Jfeht@#|l5)8QqBe($8{8NG% zW8}iv(F2<0CM$*;aJf^5Fhrxcu4<|9hRdTJ!OwSN9afmk#*e6{41!BDzxCHaX z$BLVuAlD_C3^F87#6?1^HUn)mu8k&%F+-$u*rR0_O;b>?GC_oGon9>_y`DvAj@r+- zE-0?ei{-dxG&F>2dwp)KfEK9`t4G^A++3Hn z(te_+9t#9xHiE^0R445r((u$p+{1HaGb59g!@KHk+FFi69`4QQ8e=SQb=puCaKqmv zaI!-OQ8*3f*+dy<9k(O2yS6+d#&?9nCvb`s&3H3*U{AC|0O=N>zNT2-?W0jb>Uy?k z)eP|2JKG6m3~FnpuFU$odX`R{Op5&?c4!@&?+OWH!@0;c5Sp!{$U4*2xS_GVh1Hw! zpt~=xd2-$9BQY=T=53bAlONcB{2JeYi_6yF=h(jjz&%^7+}r01Fc zQ65`pDwTS*J~Ax^*t{haTiXLCo)$=MifS{d%c85bdyQ@EZJ6bf&G33rN9&-wh+ZLi zdpyT5p5SY4a}q8GV`NRaHIm{L_>pA&#Bp+5AQctg+E;*9f$)9>R}NF{YZUM!eWAg__i9%{mBT^US2ZC2?7-lk&_Vx?OfS z?`--gM#N2TwZLl|pcK=s8xzhpAGU{Dvcv1UNq>SVV%jF-Sa~FOAAquc0{(s3p(&o> zYD(1|cuQ*3zvO$IMy)`3m;uBCO1e(0;^duv1C8R~4XM(y5&>7R>sUT~wX}WH$)d=ik&LvT|Kft==ircw#MA->a;2q3-Db|SUu6o1MWqhjr`nq zRDTY6UGEupxwKmX zqHV{S2Sfrx0aoyQV}vHtmb27$^D$}W+0b3s8?_Ea^?1I`oZ2+bCxf{y^$ol!rT=CE zqYPO9TD^s_lDNMhC#oO_(3It05K=0M{2``-p0C<$KJ6^RS!xuN(;RqtTLBf1E4(wB z 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 diff --git a/devices/binto/config/ags/package.json b/devices/binto/config/ags/package.json deleted file mode 100644 index e14b4b6d..00000000 --- a/devices/binto/config/ags/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "main": "config.js", - "dependencies": { - "fzf": "^0.5.2" - }, - "devDependencies": { - "eslint": "^8.52.0", - "@typescript-eslint/eslint-plugin": "^6.9.1", - "@typescript-eslint/parser": "^6.9.1", - "stylelint-config-standard-scss": "^11.0.0", - "@stylistic/eslint-plugin": "^1.4.0", - "@girs/dbusmenugtk3-0.4": "^0.4.0-3.2.0", - "@girs/gudev-1.0": "^1.0.0-3.2.2", - "@girs/gobject-2.0": "^2.76.1-3.2.3", - "@girs/gtk-3.0": "^3.24.39-3.2.2", - "@girs/gvc-1.0": "^1.0.0-3.1.0", - "@girs/nm-1.0": "^1.43.1-3.1.0" - } -} diff --git a/devices/binto/config/ags/scss/main.scss b/devices/binto/config/ags/scss/main.scss deleted file mode 100644 index 7e66a95d..00000000 --- a/devices/binto/config/ags/scss/main.scss +++ /dev/null @@ -1,16 +0,0 @@ -window, -button, -eventbox, -box, -progressbar, -trough, -undershoot { - all: unset; -} - -@import '/home/matt/.nix/devices/wim/config/ags/scss/common'; -@import './widgets/applauncher'; -@import './widgets/bar'; -@import './widgets/notification'; -@import './widgets/notification-center'; -@import './widgets/powermenu'; diff --git a/devices/wim/config/ags/.eslintrc.json b/devices/wim/config/ags/.eslintrc.json deleted file mode 100644 index e6663314..00000000 --- a/devices/wim/config/ags/.eslintrc.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "env": { - "es2021": true - }, - "extends": "eslint:recommended", - "parser": "@typescript-eslint/parser", - "overrides": [], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": ["@stylistic", "@typescript-eslint"], - "rules": { - "array-callback-return": ["error", { - "allowImplicit": true, - "checkForEach": true - }], - "no-constructor-return": ["error"], - "no-unreachable-loop": ["error", { "ignore": [ - "ForInStatement", "ForOfStatement" - ]}], - "no-use-before-define": ["error", { - "functions": false - }], - - - "block-scoped-var": ["error"], - "capitalized-comments": ["warn", "always", { - "ignoreConsecutiveComments": true - }], - "class-methods-use-this": ["error"], - "curly": ["warn"], - "default-case-last": ["warn"], - "default-param-last": ["error"], - "eqeqeq": ["error", "smart"], - "func-names": ["warn", "never"], - "func-style": ["warn", "expression"], - "logical-assignment-operators": ["warn", "always"], - "no-array-constructor": ["error"], - "no-empty-function": ["warn"], - "no-empty-static-block": ["warn"], - "no-extend-native": ["error"], - "no-extra-bind": ["warn"], - "no-implicit-coercion": ["warn"], - "no-iterator": ["error"], - "no-labels": ["error"], - "no-lone-blocks": ["error"], - "no-lonely-if": ["error"], - "no-loop-func": ["error"], - "no-magic-numbers": ["error", { - "ignore": [-1, 0.1, 0, 1, 2, 3, 10, 33, 66, 100, 255, 360, 450, 1000], - "ignoreDefaultValues": true - }], - "no-multi-assign": ["error"], - "no-new": ["error"], - "no-new-func": ["error"], - "no-new-wrappers": ["error"], - "no-object-constructor": ["error"], - "no-proto": ["error"], - "no-return-assign": ["error"], - "no-sequences": ["error"], - "no-shadow": ["error", { "builtinGlobals": true }], - "no-undef-init": ["warn"], - "no-undefined": ["error"], - "no-useless-constructor": ["warn"], - "no-useless-escape": ["off"], - "no-useless-return": ["error"], - "no-var": ["error"], - "no-void": ["error"], - "no-with": ["error"], - "object-shorthand": ["error", "always"], - "one-var": ["error", "never"], - "operator-assignment": ["warn", "always"], - "prefer-arrow-callback": ["error"], - "prefer-const": ["error"], - "prefer-object-has-own": ["error"], - "prefer-regex-literals": ["error"], - "prefer-template": ["warn"], - - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": "warn", - - "@stylistic/array-bracket-newline": ["warn", "consistent"], - "@stylistic/array-bracket-spacing": ["warn", "never"], - "@stylistic/arrow-parens": ["warn", "always"], - "@stylistic/brace-style": ["warn", "stroustrup"], - "@stylistic/comma-dangle": ["warn", "always-multiline"], - "@stylistic/comma-spacing": ["warn", { "before": false, "after": true }], - "@stylistic/comma-style": ["error", "last"], - "@stylistic/dot-location": ["error", "property"], - "@stylistic/function-call-argument-newline": ["warn", "consistent"], - "@stylistic/function-paren-newline": ["warn", "consistent"], - "@stylistic/indent": ["warn", 4, { - "SwitchCase": 1, - "ignoreComments": true - }], - "@stylistic/key-spacing": ["warn", { "beforeColon": false, "afterColon": true }], - "@stylistic/keyword-spacing": ["warn", { "before": true }], - "@stylistic/linebreak-style": ["error", "unix"], - "@stylistic/lines-between-class-members": ["warn", "always", { "exceptAfterSingleLine": true }], - "@stylistic/max-len": ["warn", { - "code": 80, - "ignoreComments": true, - "ignoreTrailingComments": true, - "ignoreUrls": true - }], - "@stylistic/multiline-ternary": ["warn", "always-multiline"], - "@stylistic/new-parens": ["error"], - "@stylistic/no-mixed-operators": ["warn"], - "@stylistic/no-mixed-spaces-and-tabs": ["error"], - "@stylistic/no-multi-spaces": ["error"], - "@stylistic/no-tabs": ["error"], - "@stylistic/no-trailing-spaces": ["error"], - "@stylistic/no-whitespace-before-property": ["warn"], - "@stylistic/nonblock-statement-body-position": ["error", "below"], - "@stylistic/object-curly-newline": ["warn", { "consistent": true }], - "@stylistic/object-curly-spacing": ["warn", "always"], - "@stylistic/operator-linebreak": ["warn", "after"], - "@stylistic/padded-blocks": ["error", "never"], - "@stylistic/padding-line-between-statements": ["warn", - { "blankLine": "always", "prev": "*", "next": "return" }, - { "blankLine": "always", "prev": ["const", "let", "var"], "next": "*"}, - { "blankLine": "any", "prev": ["const", "let", "var"], "next": ["const", "let", "var"]}, - { "blankLine": "always", "prev": ["case", "default"], "next": "*" } - ], - "@stylistic/quote-props": ["error", "consistent-as-needed"], - "@stylistic/quotes": ["error", "single", { "avoidEscape": true }], - "@stylistic/semi": ["error", "always"], - "@stylistic/semi-spacing": ["warn"], - "@stylistic/space-before-blocks": ["warn"], - "@stylistic/space-before-function-paren": ["warn", "never"], - "@stylistic/space-infix-ops": ["warn"], - "@stylistic/spaced-comment": ["warn", "always"], - "@stylistic/switch-colon-spacing": ["warn"], - "@stylistic/wrap-regex": ["warn"] - }, - "globals": { - "ARGV": "readonly", - "imports": "readonly", - "print": "readonly", - "console": "readonly", - "logError": "readonly", - "setTimeout": "readonly", - "setInterval": "readonly" - } -} diff --git a/devices/wim/config/ags/.stylelintrc.yml b/devices/wim/config/ags/.stylelintrc.yml deleted file mode 100644 index bf5a5120..00000000 --- a/devices/wim/config/ags/.stylelintrc.yml +++ /dev/null @@ -1,17 +0,0 @@ -extends: stylelint-config-standard-scss -ignoreFiles: - - "**/*.js" - - "**/*.ts" -rules: - selector-type-no-unknown: null - selector-class-pattern: null - declaration-empty-line-before: null - no-descending-specificity: null - selector-pseudo-class-no-unknown: null - color-function-notation: legacy - alpha-value-notation: number - scss/operator-no-unspaced: null - scss/no-global-function-names: null - scss/dollar-variable-empty-line-before: null - no-invalid-position-at-import-rule: null - font-family-no-missing-generic-family-keyword: null diff --git a/devices/wim/config/ags/config.js b/devices/wim/config/ags/config.js deleted file mode 100644 index b5a5616c..00000000 --- a/devices/wim/config/ags/config.js +++ /dev/null @@ -1,4 +0,0 @@ -import { transpileTypeScript } from './js/utils.js'; - -// See ./ts/main.ts for actual code -export default (await transpileTypeScript()).default; diff --git a/devices/wim/config/ags/scss/main.scss b/devices/wim/config/ags/scss/main.scss deleted file mode 100644 index 99fbf970..00000000 --- a/devices/wim/config/ags/scss/main.scss +++ /dev/null @@ -1,24 +0,0 @@ -window, -button, -eventbox, -box, -progressbar, -trough, -undershoot { - all: unset; -} - -@import "./common"; -@import "./widgets/powermenu"; -@import "./widgets/traybuttons"; -@import "./widgets/workspaces"; -@import "./widgets/systray"; -@import "./widgets/notification-center"; -@import "./widgets/notification"; -@import "./widgets/date"; -@import "./widgets/quick-settings"; -@import "./widgets/player"; -@import "./widgets/overview"; -@import "./widgets/applauncher"; -@import "./widgets/osd"; -@import "./widgets/osk"; diff --git a/devices/wim/config/ags/tsconfig.json b/devices/wim/config/ags/tsconfig.json deleted file mode 100644 index 506ae24c..00000000 --- a/devices/wim/config/ags/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ES2022", - "lib": [ - "ES2022" - ], - "allowImportingTsExtensions": true, - "allowJs": true, - "checkJs": true, - "strict": true, - "noImplicitAny": false, - "baseUrl": ".", - "typeRoots": [ - "./types/ags.d.ts", - "./node_modules/@girs" - ], - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true - } -} diff --git a/devices/binto/config/ags/.eslintrc.json b/modules/ags/config/.eslintrc.json similarity index 100% rename from devices/binto/config/ags/.eslintrc.json rename to modules/ags/config/.eslintrc.json diff --git a/devices/binto/config/ags/.stylelintrc.yml b/modules/ags/config/.stylelintrc.yml similarity index 100% rename from devices/binto/config/ags/.stylelintrc.yml rename to modules/ags/config/.stylelintrc.yml diff --git a/devices/binto/config/ags/ts/main.ts b/modules/ags/config/binto.ts similarity index 63% rename from devices/binto/config/ags/ts/main.ts rename to modules/ags/config/binto.ts index 64246792..0e6f3ecf 100644 --- a/devices/binto/config/ags/ts/main.ts +++ b/modules/ags/config/binto.ts @@ -1,9 +1,9 @@ -import Pointers from '../../../../wim/config/ags/services/pointers.ts'; +import Pointers from './services/pointers.ts'; -import AppLauncher from '../../../../wim/config/ags/ts/applauncher/main.ts'; -import Bar from './bar/main.ts'; -import { NotifPopups, NotifCenter } from './notifications/main.ts'; -import Powermenu from '../../../../wim/config/ags/ts/powermenu.ts'; +import AppLauncher from './ts/applauncher/main.ts'; +import Bar from './ts/bar/binto.ts'; +import { NotifPopups, NotifCenter } from './ts/notifications/binto.ts'; +import Powermenu from './ts/powermenu.ts'; const closeWinDelay = 800; diff --git a/devices/wim/config/ags/icons/down-large.svg b/modules/ags/config/icons/down-large.svg similarity index 100% rename from devices/wim/config/ags/icons/down-large.svg rename to modules/ags/config/icons/down-large.svg diff --git a/devices/wim/config/ags/js/utils.js b/modules/ags/config/js/utils.js similarity index 73% rename from devices/wim/config/ags/js/utils.js rename to modules/ags/config/js/utils.js index 81741207..6452c2dd 100644 --- a/devices/wim/config/ags/js/utils.js +++ b/modules/ags/config/js/utils.js @@ -2,9 +2,10 @@ import App from 'resource:///com/github/Aylur/ags/app.js'; import { execAsync, monitorFile } from 'resource:///com/github/Aylur/ags/utils.js'; -const watchAndCompileSass = () => { +/** @param {string} host */ +const watchAndCompileSass = (host) => { const reloadCss = () => { - const scss = `${App.configDir}/scss/main.scss`; + const scss = `${App.configDir}/scss/${host}.scss`; const css = '/tmp/ags/style.css'; execAsync(`sassc ${scss} ${css}`).then(() => { @@ -21,9 +22,10 @@ const watchAndCompileSass = () => { reloadCss(); }; -export const transpileTypeScript = async() => { +/** @param {string} host */ +export const transpileTypeScript = async(host) => { await execAsync([ - 'bun', 'build', `${App.configDir}/ts/main.ts`, + 'bun', 'build', `${App.configDir}/${host}.ts`, '--outdir', '/tmp/ags', '--external', 'resource:///*', '--external', 'gi://*', @@ -31,7 +33,7 @@ export const transpileTypeScript = async() => { '--external', '*/fzf.es.js', ]).catch(print); - watchAndCompileSass(); + watchAndCompileSass(host); // The file is going to be there after transpilation // @ts-ignore diff --git a/devices/wim/config/ags/package-lock.json b/modules/ags/config/package-lock.json similarity index 99% rename from devices/wim/config/ags/package-lock.json rename to modules/ags/config/package-lock.json index 118af3f8489d7c9350b3ac8f3b2aa3e1f1a06607..d9b767ef43bb90b73fb4780d32332c941e3ec7c8 100644 GIT binary patch delta 44 zcmZo$#c_2Jhj2BQf`U?BVs5IEm4Z@oeqLH;`bGf@#?8fy_36#kIoqpq7`s;h085n* AssI20 delta 198 zcmcb*h@)*4hd?!#f`U?BVs5IEm4Z@YdhteK3r3dGl+?1x0iJ4`y%-zPp*$1m$sf#} zB-251x`uiN`nvjXHi$pjutqD?w=5*cJ=D$LG0o7?xhU8-u_Qexu{6LlIjSHp$t}R6 zz%1A_E1)vePrJ-3$il_c#WTgoE!RAw#67(-#oWKrxXjF>G_5S%*QhEbvD6|XEzL43 eVDiH-pUD9(x|0*K!r36!Hw&b17f5GxT?GL3ph3(4 diff --git a/devices/wim/config/ags/package.json b/modules/ags/config/package.json similarity index 92% rename from devices/wim/config/ags/package.json rename to modules/ags/config/package.json index e14b4b6d..3af6a5d3 100644 --- a/devices/wim/config/ags/package.json +++ b/modules/ags/config/package.json @@ -10,7 +10,6 @@ "stylelint-config-standard-scss": "^11.0.0", "@stylistic/eslint-plugin": "^1.4.0", "@girs/dbusmenugtk3-0.4": "^0.4.0-3.2.0", - "@girs/gudev-1.0": "^1.0.0-3.2.2", "@girs/gobject-2.0": "^2.76.1-3.2.3", "@girs/gtk-3.0": "^3.24.39-3.2.2", "@girs/gvc-1.0": "^1.0.0-3.1.0", diff --git a/devices/binto/config/ags/scss/widgets/applauncher.scss b/modules/ags/config/scss/binto-widgets/applauncher.scss similarity index 100% rename from devices/binto/config/ags/scss/widgets/applauncher.scss rename to modules/ags/config/scss/binto-widgets/applauncher.scss diff --git a/devices/binto/config/ags/scss/widgets/bar.scss b/modules/ags/config/scss/binto-widgets/bar.scss similarity index 100% rename from devices/binto/config/ags/scss/widgets/bar.scss rename to modules/ags/config/scss/binto-widgets/bar.scss diff --git a/devices/binto/config/ags/scss/widgets/notification-center.scss b/modules/ags/config/scss/binto-widgets/notification-center.scss similarity index 100% rename from devices/binto/config/ags/scss/widgets/notification-center.scss rename to modules/ags/config/scss/binto-widgets/notification-center.scss diff --git a/devices/binto/config/ags/scss/widgets/notification.scss b/modules/ags/config/scss/binto-widgets/notification.scss similarity index 100% rename from devices/binto/config/ags/scss/widgets/notification.scss rename to modules/ags/config/scss/binto-widgets/notification.scss diff --git a/devices/binto/config/ags/scss/widgets/powermenu.scss b/modules/ags/config/scss/binto-widgets/powermenu.scss similarity index 100% rename from devices/binto/config/ags/scss/widgets/powermenu.scss rename to modules/ags/config/scss/binto-widgets/powermenu.scss diff --git a/modules/ags/config/scss/binto.scss b/modules/ags/config/scss/binto.scss new file mode 100644 index 00000000..b85b9a2d --- /dev/null +++ b/modules/ags/config/scss/binto.scss @@ -0,0 +1,16 @@ +window, +button, +eventbox, +box, +progressbar, +trough, +undershoot { + all: unset; +} + +@import "./common"; +@import './binto-widgets/applauncher'; +@import './binto-widgets/bar'; +@import './binto-widgets/notification'; +@import './binto-widgets/notification-center'; +@import './binto-widgets/powermenu'; diff --git a/devices/wim/config/ags/scss/common.scss b/modules/ags/config/scss/common.scss similarity index 100% rename from devices/wim/config/ags/scss/common.scss rename to modules/ags/config/scss/common.scss diff --git a/devices/wim/config/ags/scss/widgets/applauncher.scss b/modules/ags/config/scss/wim-widgets/applauncher.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/applauncher.scss rename to modules/ags/config/scss/wim-widgets/applauncher.scss diff --git a/devices/wim/config/ags/scss/widgets/date.scss b/modules/ags/config/scss/wim-widgets/date.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/date.scss rename to modules/ags/config/scss/wim-widgets/date.scss diff --git a/devices/wim/config/ags/scss/widgets/notification-center.scss b/modules/ags/config/scss/wim-widgets/notification-center.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/notification-center.scss rename to modules/ags/config/scss/wim-widgets/notification-center.scss diff --git a/devices/wim/config/ags/scss/widgets/notification.scss b/modules/ags/config/scss/wim-widgets/notification.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/notification.scss rename to modules/ags/config/scss/wim-widgets/notification.scss diff --git a/devices/wim/config/ags/scss/widgets/osd.scss b/modules/ags/config/scss/wim-widgets/osd.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/osd.scss rename to modules/ags/config/scss/wim-widgets/osd.scss diff --git a/devices/wim/config/ags/scss/widgets/osk.scss b/modules/ags/config/scss/wim-widgets/osk.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/osk.scss rename to modules/ags/config/scss/wim-widgets/osk.scss diff --git a/devices/wim/config/ags/scss/widgets/overview.scss b/modules/ags/config/scss/wim-widgets/overview.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/overview.scss rename to modules/ags/config/scss/wim-widgets/overview.scss diff --git a/devices/wim/config/ags/scss/widgets/player.scss b/modules/ags/config/scss/wim-widgets/player.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/player.scss rename to modules/ags/config/scss/wim-widgets/player.scss diff --git a/devices/wim/config/ags/scss/widgets/powermenu.scss b/modules/ags/config/scss/wim-widgets/powermenu.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/powermenu.scss rename to modules/ags/config/scss/wim-widgets/powermenu.scss diff --git a/devices/wim/config/ags/scss/widgets/quick-settings.scss b/modules/ags/config/scss/wim-widgets/quick-settings.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/quick-settings.scss rename to modules/ags/config/scss/wim-widgets/quick-settings.scss diff --git a/devices/wim/config/ags/scss/widgets/systray.scss b/modules/ags/config/scss/wim-widgets/systray.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/systray.scss rename to modules/ags/config/scss/wim-widgets/systray.scss diff --git a/devices/wim/config/ags/scss/widgets/traybuttons.scss b/modules/ags/config/scss/wim-widgets/traybuttons.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/traybuttons.scss rename to modules/ags/config/scss/wim-widgets/traybuttons.scss diff --git a/devices/wim/config/ags/scss/widgets/workspaces.scss b/modules/ags/config/scss/wim-widgets/workspaces.scss similarity index 100% rename from devices/wim/config/ags/scss/widgets/workspaces.scss rename to modules/ags/config/scss/wim-widgets/workspaces.scss diff --git a/modules/ags/config/scss/wim.scss b/modules/ags/config/scss/wim.scss new file mode 100644 index 00000000..bf2bd697 --- /dev/null +++ b/modules/ags/config/scss/wim.scss @@ -0,0 +1,24 @@ +window, +button, +eventbox, +box, +progressbar, +trough, +undershoot { + all: unset; +} + +@import "./common"; +@import "./wim-widgets/powermenu"; +@import "./wim-widgets/traybuttons"; +@import "./wim-widgets/workspaces"; +@import "./wim-widgets/systray"; +@import "./wim-widgets/notification-center"; +@import "./wim-widgets/notification"; +@import "./wim-widgets/date"; +@import "./wim-widgets/quick-settings"; +@import "./wim-widgets/player"; +@import "./wim-widgets/overview"; +@import "./wim-widgets/applauncher"; +@import "./wim-widgets/osd"; +@import "./wim-widgets/osk"; diff --git a/devices/wim/config/ags/services/brightness.ts b/modules/ags/config/services/brightness.ts similarity index 100% rename from devices/wim/config/ags/services/brightness.ts rename to modules/ags/config/services/brightness.ts diff --git a/devices/wim/config/ags/services/pointers.ts b/modules/ags/config/services/pointers.ts similarity index 100% rename from devices/wim/config/ags/services/pointers.ts rename to modules/ags/config/services/pointers.ts diff --git a/devices/wim/config/ags/services/tablet.ts b/modules/ags/config/services/tablet.ts similarity index 100% rename from devices/wim/config/ags/services/tablet.ts rename to modules/ags/config/services/tablet.ts diff --git a/devices/wim/config/ags/services/touch-gestures.ts b/modules/ags/config/services/touch-gestures.ts similarity index 100% rename from devices/wim/config/ags/services/touch-gestures.ts rename to modules/ags/config/services/touch-gestures.ts diff --git a/devices/wim/config/ags/ts/applauncher/app-item.ts b/modules/ags/config/ts/applauncher/app-item.ts similarity index 100% rename from devices/wim/config/ags/ts/applauncher/app-item.ts rename to modules/ags/config/ts/applauncher/app-item.ts diff --git a/devices/wim/config/ags/ts/applauncher/main.ts b/modules/ags/config/ts/applauncher/main.ts similarity index 97% rename from devices/wim/config/ags/ts/applauncher/main.ts rename to modules/ags/config/ts/applauncher/main.ts index 1c9045d8..8a2ee0ae 100644 --- a/devices/wim/config/ags/ts/applauncher/main.ts +++ b/modules/ags/config/ts/applauncher/main.ts @@ -2,7 +2,7 @@ import App from 'resource:///com/github/Aylur/ags/app.js'; import Applications from 'resource:///com/github/Aylur/ags/service/applications.js'; // FIXME: find cleaner way to import this // @ts-expect-error -import { Fzf } from 'file:///home/matt/.config/ags/node_modules/fzf/dist/fzf.es.js'; +import { Fzf } from 'file:///home/matt/.nix/modules/ags/config/node_modules/fzf/dist/fzf.es.js'; import { Box, Entry, Icon, Label, ListBox, Revealer, Scrollable } from 'resource:///com/github/Aylur/ags/widget.js'; diff --git a/devices/binto/config/ags/ts/bar/main.ts b/modules/ags/config/ts/bar/binto.ts similarity index 79% rename from devices/binto/config/ags/ts/bar/main.ts rename to modules/ags/config/ts/bar/binto.ts index 570c2400..8cd47f57 100644 --- a/devices/binto/config/ags/ts/bar/main.ts +++ b/modules/ags/config/ts/bar/binto.ts @@ -1,10 +1,9 @@ import { Box, CenterBox, Window } from 'resource:///com/github/Aylur/ags/widget.js'; -import SysTray from '../../../../../wim/config/ags/ts/bar/items/systray.ts'; -import Separator from '../../../../../wim/config/ags/ts/misc/separator.ts'; -import NotifButton from - '../../../../../wim/config/ags/ts/bar/items/notif-button.ts'; -import Clock from './buttons/clock.ts'; +import SysTray from './items/systray.ts'; +import Separator from '../misc/separator.ts'; +import NotifButton from './items/notif-button.ts'; +import Clock from './items/clock.ts'; const PADDING = 20; diff --git a/devices/wim/config/ags/ts/bar/fullscreen.ts b/modules/ags/config/ts/bar/fullscreen.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/fullscreen.ts rename to modules/ags/config/ts/bar/fullscreen.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/audio.ts b/modules/ags/config/ts/bar/hovers/audio.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/audio.ts rename to modules/ags/config/ts/bar/hovers/audio.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/bluetooth.ts b/modules/ags/config/ts/bar/hovers/bluetooth.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/bluetooth.ts rename to modules/ags/config/ts/bar/hovers/bluetooth.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/brightness.ts b/modules/ags/config/ts/bar/hovers/brightness.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/brightness.ts rename to modules/ags/config/ts/bar/hovers/brightness.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/hover-revealer.ts b/modules/ags/config/ts/bar/hovers/hover-revealer.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/hover-revealer.ts rename to modules/ags/config/ts/bar/hovers/hover-revealer.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/keyboard-layout.ts b/modules/ags/config/ts/bar/hovers/keyboard-layout.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/keyboard-layout.ts rename to modules/ags/config/ts/bar/hovers/keyboard-layout.ts diff --git a/devices/wim/config/ags/ts/bar/hovers/network.ts b/modules/ags/config/ts/bar/hovers/network.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/hovers/network.ts rename to modules/ags/config/ts/bar/hovers/network.ts diff --git a/devices/wim/config/ags/ts/bar/items/battery.ts b/modules/ags/config/ts/bar/items/battery.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/battery.ts rename to modules/ags/config/ts/bar/items/battery.ts diff --git a/devices/wim/config/ags/ts/bar/items/clock.ts b/modules/ags/config/ts/bar/items/cal-opener.ts similarity index 54% rename from devices/wim/config/ags/ts/bar/items/clock.ts rename to modules/ags/config/ts/bar/items/cal-opener.ts index 92cd3877..fefcef08 100644 --- a/devices/wim/config/ags/ts/bar/items/clock.ts +++ b/modules/ags/config/ts/bar/items/cal-opener.ts @@ -1,10 +1,7 @@ import App from 'resource:///com/github/Aylur/ags/app.js'; -import { Label } from 'resource:///com/github/Aylur/ags/widget.js'; - -const { DateTime } = imports.gi.GLib; - import CursorBox from '../../misc/cursorbox.ts'; +import Clock from './clock'; export default () => CursorBox({ @@ -20,12 +17,5 @@ export default () => CursorBox({ }); }, - child: Label({ class_name: 'clock' }) - .poll(1000, (self) => { - const time = DateTime.new_now_local(); - - self.label = time.format('%a. ') + - time.get_day_of_month() + - time.format(' %b. %H:%M'); - }), + child: Clock(), }); diff --git a/devices/binto/config/ags/ts/bar/buttons/clock.ts b/modules/ags/config/ts/bar/items/clock.ts similarity index 100% rename from devices/binto/config/ags/ts/bar/buttons/clock.ts rename to modules/ags/config/ts/bar/items/clock.ts diff --git a/devices/wim/config/ags/ts/bar/items/current-window.ts b/modules/ags/config/ts/bar/items/current-window.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/current-window.ts rename to modules/ags/config/ts/bar/items/current-window.ts diff --git a/devices/wim/config/ags/ts/bar/items/heart.ts b/modules/ags/config/ts/bar/items/heart.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/heart.ts rename to modules/ags/config/ts/bar/items/heart.ts diff --git a/devices/wim/config/ags/ts/bar/items/notif-button.ts b/modules/ags/config/ts/bar/items/notif-button.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/notif-button.ts rename to modules/ags/config/ts/bar/items/notif-button.ts diff --git a/devices/wim/config/ags/ts/bar/items/osk-toggle.ts b/modules/ags/config/ts/bar/items/osk-toggle.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/osk-toggle.ts rename to modules/ags/config/ts/bar/items/osk-toggle.ts diff --git a/devices/wim/config/ags/ts/bar/items/quick-settings.ts b/modules/ags/config/ts/bar/items/quick-settings.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/quick-settings.ts rename to modules/ags/config/ts/bar/items/quick-settings.ts diff --git a/devices/wim/config/ags/ts/bar/items/systray.ts b/modules/ags/config/ts/bar/items/systray.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/systray.ts rename to modules/ags/config/ts/bar/items/systray.ts diff --git a/devices/wim/config/ags/ts/bar/items/tablet-toggle.ts b/modules/ags/config/ts/bar/items/tablet-toggle.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/tablet-toggle.ts rename to modules/ags/config/ts/bar/items/tablet-toggle.ts diff --git a/devices/wim/config/ags/ts/bar/items/workspaces.ts b/modules/ags/config/ts/bar/items/workspaces.ts similarity index 100% rename from devices/wim/config/ags/ts/bar/items/workspaces.ts rename to modules/ags/config/ts/bar/items/workspaces.ts diff --git a/devices/wim/config/ags/ts/bar/main.ts b/modules/ags/config/ts/bar/wim.ts similarity index 97% rename from devices/wim/config/ags/ts/bar/main.ts rename to modules/ags/config/ts/bar/wim.ts index 2ea880e3..d22669ba 100644 --- a/devices/wim/config/ags/ts/bar/main.ts +++ b/modules/ags/config/ts/bar/wim.ts @@ -3,7 +3,7 @@ import { Window, CenterBox, Box } from 'resource:///com/github/Aylur/ags/widget. import Separator from '../misc/separator.ts'; import Battery from './items/battery.ts'; -import Clock from './items/clock.ts'; +import Clock from './items/cal-opener.ts'; import CurrentWindow from './items/current-window.ts'; import Heart from './items/heart.ts'; import NotifButton from './items/notif-button.ts'; diff --git a/devices/wim/config/ags/ts/corners/main.ts b/modules/ags/config/ts/corners/main.ts similarity index 100% rename from devices/wim/config/ags/ts/corners/main.ts rename to modules/ags/config/ts/corners/main.ts diff --git a/devices/wim/config/ags/ts/corners/screen-corners.ts b/modules/ags/config/ts/corners/screen-corners.ts similarity index 100% rename from devices/wim/config/ags/ts/corners/screen-corners.ts rename to modules/ags/config/ts/corners/screen-corners.ts diff --git a/devices/wim/config/ags/ts/date.ts b/modules/ags/config/ts/date.ts similarity index 100% rename from devices/wim/config/ags/ts/date.ts rename to modules/ags/config/ts/date.ts diff --git a/devices/wim/config/ags/ts/media-player/gesture.ts b/modules/ags/config/ts/media-player/gesture.ts similarity index 100% rename from devices/wim/config/ags/ts/media-player/gesture.ts rename to modules/ags/config/ts/media-player/gesture.ts diff --git a/devices/wim/config/ags/ts/media-player/mpris.ts b/modules/ags/config/ts/media-player/mpris.ts similarity index 100% rename from devices/wim/config/ags/ts/media-player/mpris.ts rename to modules/ags/config/ts/media-player/mpris.ts diff --git a/devices/wim/config/ags/ts/media-player/player.ts b/modules/ags/config/ts/media-player/player.ts similarity index 100% rename from devices/wim/config/ags/ts/media-player/player.ts rename to modules/ags/config/ts/media-player/player.ts diff --git a/devices/wim/config/ags/ts/misc/audio-icons.ts b/modules/ags/config/ts/misc/audio-icons.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/audio-icons.ts rename to modules/ags/config/ts/misc/audio-icons.ts diff --git a/devices/wim/config/ags/ts/misc/background-fade.ts b/modules/ags/config/ts/misc/background-fade.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/background-fade.ts rename to modules/ags/config/ts/misc/background-fade.ts diff --git a/devices/wim/config/ags/ts/misc/closer.ts b/modules/ags/config/ts/misc/closer.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/closer.ts rename to modules/ags/config/ts/misc/closer.ts diff --git a/devices/wim/config/ags/ts/misc/cursorbox.ts b/modules/ags/config/ts/misc/cursorbox.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/cursorbox.ts rename to modules/ags/config/ts/misc/cursorbox.ts diff --git a/devices/wim/config/ags/ts/misc/persist.ts b/modules/ags/config/ts/misc/persist.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/persist.ts rename to modules/ags/config/ts/misc/persist.ts diff --git a/devices/wim/config/ags/ts/misc/popup.ts b/modules/ags/config/ts/misc/popup.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/popup.ts rename to modules/ags/config/ts/misc/popup.ts diff --git a/devices/wim/config/ags/ts/misc/separator.ts b/modules/ags/config/ts/misc/separator.ts similarity index 100% rename from devices/wim/config/ags/ts/misc/separator.ts rename to modules/ags/config/ts/misc/separator.ts diff --git a/devices/wim/config/ags/ts/notifications/base.ts b/modules/ags/config/ts/notifications/base.ts similarity index 100% rename from devices/wim/config/ags/ts/notifications/base.ts rename to modules/ags/config/ts/notifications/base.ts diff --git a/devices/binto/config/ags/ts/notifications/main.ts b/modules/ags/config/ts/notifications/binto.ts similarity index 62% rename from devices/binto/config/ags/ts/notifications/main.ts rename to modules/ags/config/ts/notifications/binto.ts index b7a6de7b..8dd6bf73 100644 --- a/devices/binto/config/ags/ts/notifications/main.ts +++ b/modules/ags/config/ts/notifications/binto.ts @@ -1,11 +1,9 @@ import { Window } from 'resource:///com/github/Aylur/ags/widget.js'; -import NotifCenterWidget from - '../../../../../wim/config/ags/ts/notifications/center.ts'; -import PopUpsWidget from - '../../../../../wim/config/ags/ts/notifications/popup.ts'; +import NotifCenterWidget from './center.ts'; +import PopUpsWidget from './popup.ts'; -import PopupWindow from '../../../../../wim/config/ags/ts/misc/popup.ts'; +import PopupWindow from '../misc/popup.ts'; export const NotifPopups = () => Window({ diff --git a/devices/wim/config/ags/ts/notifications/center.ts b/modules/ags/config/ts/notifications/center.ts similarity index 100% rename from devices/wim/config/ags/ts/notifications/center.ts rename to modules/ags/config/ts/notifications/center.ts diff --git a/devices/wim/config/ags/ts/notifications/gesture.ts b/modules/ags/config/ts/notifications/gesture.ts similarity index 100% rename from devices/wim/config/ags/ts/notifications/gesture.ts rename to modules/ags/config/ts/notifications/gesture.ts diff --git a/devices/wim/config/ags/ts/notifications/popup.ts b/modules/ags/config/ts/notifications/popup.ts similarity index 100% rename from devices/wim/config/ags/ts/notifications/popup.ts rename to modules/ags/config/ts/notifications/popup.ts diff --git a/devices/wim/config/ags/ts/notifications/main.ts b/modules/ags/config/ts/notifications/wim.ts similarity index 100% rename from devices/wim/config/ags/ts/notifications/main.ts rename to modules/ags/config/ts/notifications/wim.ts diff --git a/devices/wim/config/ags/ts/on-screen-keyboard/gesture.ts b/modules/ags/config/ts/on-screen-keyboard/gesture.ts similarity index 100% rename from devices/wim/config/ags/ts/on-screen-keyboard/gesture.ts rename to modules/ags/config/ts/on-screen-keyboard/gesture.ts diff --git a/devices/wim/config/ags/ts/on-screen-keyboard/keyboard-layouts.ts b/modules/ags/config/ts/on-screen-keyboard/keyboard-layouts.ts similarity index 100% rename from devices/wim/config/ags/ts/on-screen-keyboard/keyboard-layouts.ts rename to modules/ags/config/ts/on-screen-keyboard/keyboard-layouts.ts diff --git a/devices/wim/config/ags/ts/on-screen-keyboard/keyboard.ts b/modules/ags/config/ts/on-screen-keyboard/keyboard.ts similarity index 100% rename from devices/wim/config/ags/ts/on-screen-keyboard/keyboard.ts rename to modules/ags/config/ts/on-screen-keyboard/keyboard.ts diff --git a/devices/wim/config/ags/ts/on-screen-keyboard/keys.ts b/modules/ags/config/ts/on-screen-keyboard/keys.ts similarity index 100% rename from devices/wim/config/ags/ts/on-screen-keyboard/keys.ts rename to modules/ags/config/ts/on-screen-keyboard/keys.ts diff --git a/devices/wim/config/ags/ts/on-screen-keyboard/main.ts b/modules/ags/config/ts/on-screen-keyboard/main.ts similarity index 100% rename from devices/wim/config/ags/ts/on-screen-keyboard/main.ts rename to modules/ags/config/ts/on-screen-keyboard/main.ts diff --git a/devices/wim/config/ags/ts/osd/ctor.ts b/modules/ags/config/ts/osd/ctor.ts similarity index 100% rename from devices/wim/config/ags/ts/osd/ctor.ts rename to modules/ags/config/ts/osd/ctor.ts diff --git a/devices/wim/config/ags/ts/osd/main.ts b/modules/ags/config/ts/osd/main.ts similarity index 100% rename from devices/wim/config/ags/ts/osd/main.ts rename to modules/ags/config/ts/osd/main.ts diff --git a/devices/wim/config/ags/ts/osd/osds.ts b/modules/ags/config/ts/osd/osds.ts similarity index 100% rename from devices/wim/config/ags/ts/osd/osds.ts rename to modules/ags/config/ts/osd/osds.ts diff --git a/devices/wim/config/ags/ts/overview/clients.ts b/modules/ags/config/ts/overview/clients.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/clients.ts rename to modules/ags/config/ts/overview/clients.ts diff --git a/devices/wim/config/ags/ts/overview/current-workspace.ts b/modules/ags/config/ts/overview/current-workspace.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/current-workspace.ts rename to modules/ags/config/ts/overview/current-workspace.ts diff --git a/devices/wim/config/ags/ts/overview/dragndrop.ts b/modules/ags/config/ts/overview/dragndrop.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/dragndrop.ts rename to modules/ags/config/ts/overview/dragndrop.ts diff --git a/devices/wim/config/ags/ts/overview/main.ts b/modules/ags/config/ts/overview/main.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/main.ts rename to modules/ags/config/ts/overview/main.ts diff --git a/devices/wim/config/ags/ts/overview/variables.ts b/modules/ags/config/ts/overview/variables.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/variables.ts rename to modules/ags/config/ts/overview/variables.ts diff --git a/devices/wim/config/ags/ts/overview/workspaces.ts b/modules/ags/config/ts/overview/workspaces.ts similarity index 100% rename from devices/wim/config/ags/ts/overview/workspaces.ts rename to modules/ags/config/ts/overview/workspaces.ts diff --git a/devices/wim/config/ags/ts/powermenu.ts b/modules/ags/config/ts/powermenu.ts similarity index 100% rename from devices/wim/config/ags/ts/powermenu.ts rename to modules/ags/config/ts/powermenu.ts diff --git a/devices/wim/config/ags/ts/quick-settings/bluetooth.ts b/modules/ags/config/ts/quick-settings/bluetooth.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/bluetooth.ts rename to modules/ags/config/ts/quick-settings/bluetooth.ts diff --git a/devices/wim/config/ags/ts/quick-settings/button-grid.ts b/modules/ags/config/ts/quick-settings/button-grid.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/button-grid.ts rename to modules/ags/config/ts/quick-settings/button-grid.ts diff --git a/devices/wim/config/ags/ts/quick-settings/main.ts b/modules/ags/config/ts/quick-settings/main.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/main.ts rename to modules/ags/config/ts/quick-settings/main.ts diff --git a/devices/wim/config/ags/ts/quick-settings/network.ts b/modules/ags/config/ts/quick-settings/network.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/network.ts rename to modules/ags/config/ts/quick-settings/network.ts diff --git a/devices/wim/config/ags/ts/quick-settings/slider-box.ts b/modules/ags/config/ts/quick-settings/slider-box.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/slider-box.ts rename to modules/ags/config/ts/quick-settings/slider-box.ts diff --git a/devices/wim/config/ags/ts/quick-settings/toggle-button.ts b/modules/ags/config/ts/quick-settings/toggle-button.ts similarity index 100% rename from devices/wim/config/ags/ts/quick-settings/toggle-button.ts rename to modules/ags/config/ts/quick-settings/toggle-button.ts diff --git a/devices/wim/config/ags/ts/setup.ts b/modules/ags/config/ts/setup.ts similarity index 100% rename from devices/wim/config/ags/ts/setup.ts rename to modules/ags/config/ts/setup.ts diff --git a/devices/binto/config/ags/tsconfig.json b/modules/ags/config/tsconfig.json similarity index 100% rename from devices/binto/config/ags/tsconfig.json rename to modules/ags/config/tsconfig.json diff --git a/devices/wim/config/ags/ts/main.ts b/modules/ags/config/wim.ts similarity index 56% rename from devices/wim/config/ags/ts/main.ts rename to modules/ags/config/wim.ts index 69245624..6a2c0449 100644 --- a/devices/wim/config/ags/ts/main.ts +++ b/modules/ags/config/wim.ts @@ -1,15 +1,15 @@ -import Setup from './setup.ts'; -import AppLauncher from './applauncher/main.ts'; -import Bar from './bar/main.ts'; -import BgFade from './misc/background-fade.ts'; -import Calendar from './date.ts'; -import Corners from './corners/main.ts'; -import { NotifPopups, NotifCenter } from './notifications/main.ts'; -import OSD from './osd/main.ts'; -import OSK from './on-screen-keyboard/main.ts'; -import Overview from './overview/main.ts'; -import Powermenu from './powermenu.ts'; -import QSettings from './quick-settings/main.ts'; +import Setup from './ts/setup.ts'; +import AppLauncher from './ts/applauncher/main.ts'; +import Bar from './ts/bar/wim.ts'; +import BgFade from './ts/misc/background-fade.ts'; +import Calendar from './ts/date.ts'; +import Corners from './ts/corners/main.ts'; +import { NotifPopups, NotifCenter } from './ts/notifications/wim.ts'; +import OSD from './ts/osd/main.ts'; +import OSK from './ts/on-screen-keyboard/main.ts'; +import Overview from './ts/overview/main.ts'; +import Powermenu from './ts/powermenu.ts'; +import QSettings from './ts/quick-settings/main.ts'; Setup(); diff --git a/modules/ags/default.nix b/modules/ags/default.nix index 5ecccf9a..1d41f150 100644 --- a/modules/ags/default.nix +++ b/modules/ags/default.nix @@ -4,7 +4,7 @@ pkgs, ... }: let - inherit (config.vars) configDir mainUser; + inherit (config.vars) mainUser hostName; isTouchscreen = config.hardware.sensor.iio.enable; in { services.upower.enable = true; @@ -22,45 +22,56 @@ in { in { programs.ags = { enable = true; - configDir = symlink "${configDir}/ags"; + configDir = symlink /home/${mainUser}/.nix/modules/ags/config; package = ags.packages.${pkgs.system}.default; - extraPackages = with pkgs; [ - libgudev - ]; }; - home.packages = - [config.customPkgs.coloryou] - ++ (with pkgs; [ - # ags - sassc - bun - playerctl + home = { + file = { + ".config/ags/config.js".text = + /* + javascript + */ + '' + import { transpileTypeScript } from './js/utils.js'; - ## gui - pavucontrol # TODO: replace with ags widget - - (writeShellApplication { - name = "updateTypes"; - runtimeInputs = [nodejs_18 typescript git]; - text = '' - if [[ -d /tmp/ags-types ]]; then - rm -r /tmp/ags-types - fi - rm -r ~/.config/ags/types - - git clone https://github.com/Aylur/ags.git /tmp/ags-types - /tmp/ags-types/example/starter-config/setup.sh - - rm -r /tmp/ags-types + export default (await transpileTypeScript("${hostName}")).default; ''; - }) - ]) - ++ (optionals isTouchscreen (with pkgs; [ - lisgd - squeekboard - ydotool - ])); + }; + + packages = + [config.customPkgs.coloryou] + ++ (with pkgs; [ + # ags + sassc + bun + playerctl + + ## gui + pavucontrol # TODO: replace with ags widget + + (writeShellApplication { + name = "updateTypes"; + runtimeInputs = [nodejs_18 typescript git]; + text = '' + if [[ -d /tmp/ags-types ]]; then + rm -r /tmp/ags-types + fi + rm -r ~/.config/ags/types + + git clone https://github.com/Aylur/ags.git /tmp/ags-types + /tmp/ags-types/example/starter-config/setup.sh + + rm -r /tmp/ags-types + ''; + }) + ]) + ++ (optionals isTouchscreen (with pkgs; [ + lisgd + squeekboard + ydotool + ])); + }; }) ]; }