Compare commits

..

267 commits
nixos ... main

Author SHA1 Message Date
Benjamin Palko
0206ce5773 ?? 2025-11-24 14:02:24 -05:00
Benjamin Palko
04c718410b add java to mise global 2025-11-24 14:02:24 -05:00
Benjamin Palko
a3b7fa400c switch to alacritty 2025-11-24 14:02:24 -05:00
Benjamin Palko
975098c9f4 update 2025-11-11 09:32:24 -05:00
Benjamin Palko
ac9a0c9807 lux update 2025-11-11 09:32:02 -05:00
Benjamin Palko
0add98bc03 wallpaper dir 2025-11-11 09:31:30 -05:00
Benjamin Palko
23920aab0a update rrrrruules 2025-11-11 09:31:09 -05:00
Benjamin Palko
14dd2a2511 lux powermenu 2025-09-23 15:06:52 -04:00
Benjamin Palko
f572060942 latest on submodules 2025-09-18 08:39:00 -04:00
Benjamin Palko
44a540fa6e these cursors were fucking shit up 2025-09-18 08:38:46 -04:00
Benjamin Palko
a4bed9b909 update theme 2025-09-16 10:44:06 -04:00
Benjamin Palko
d55092af33 latest 2025-09-13 22:54:22 -04:00
Benjamin Palko
0d52c2dd65 delete qml import paths 2025-09-13 22:54:08 -04:00
Benjamin Palko
41f3f3499c update gestures 2025-09-11 09:00:15 -04:00
Benjamin Palko
ec15a6212e commit latest subs 2025-09-08 07:58:44 -04:00
Benjamin Palko
d093460c5b lux themes 2025-09-08 07:58:10 -04:00
Benjamin Palko
222958790f add configuration shortcut 2025-09-07 13:22:49 -04:00
Benjamin Palko
aef25d07fd latest nvim 2025-08-29 18:50:27 -04:00
Benjamin Palko
e5cf8b26c4 latest lux shell 2025-08-29 18:50:04 -04:00
Benjamin Palko
6595bb0efc storybook keybinds 2025-08-29 18:49:56 -04:00
Benjamin Palko
b97df66620 pomodoro 2025-08-26 23:35:54 -04:00
Benjamin Palko
1fb43470a8 global obs record keybind 2025-08-26 23:34:28 -04:00
Benjamin Palko
d292736b31 persistent ws 5 2025-08-26 11:47:12 -04:00
Benjamin Palko
008caf935f update rules, fullscreen no lock! 2025-08-21 13:30:04 -04:00
Benjamin Palko
7786fe7782 update env 2025-08-20 10:24:02 -04:00
Benjamin Palko
4eb550a7bf replace rofi 2025-08-19 23:55:31 -04:00
Benjamin Palko
7e8435dbd8 latest 2025-08-19 23:52:48 -04:00
Benjamin Palko
464df8fc0f nvim 2025-08-18 23:42:51 -04:00
Benjamin Palko
c14329ce16 lux powermenu~ 2025-08-18 23:42:18 -04:00
Benjamin Palko
0004ea4bdc TIDAL 2025-08-18 23:38:26 -04:00
Benjamin Palko
984c2dae23 fix file browser 2025-08-18 23:38:15 -04:00
Benjamin Palko
23b5dfbebc update references 2025-08-05 08:31:39 -04:00
Benjamin Palko
ef2944e066 zsh plugins 2025-08-05 08:30:43 -04:00
Benjamin Palko
aa916b7e3d keybinds update 2025-08-05 08:30:34 -04:00
Benjamin Palko
e8114c9f94 no more waybar 2025-07-24 14:09:29 -04:00
Benjamin Palko
f124e07cb6 no more swaync 2025-07-24 14:09:25 -04:00
Benjamin Palko
3c3c4a6913 replace ags with quickshell!!!! 2025-07-24 14:05:54 -04:00
Benjamin Palko
ae398eac24 set cursors 2025-07-24 14:05:19 -04:00
Benjamin Palko
46f8bd8cf4 get that shit outta here 2025-07-17 22:13:30 -04:00
Benjamin Palko
93ba16b78d add quickshell submodule 2025-07-16 17:21:02 -04:00
Benjamin Palko
1653187813 add quickshell to symlinks 2025-07-11 15:38:42 -04:00
Benjamin Palko
42240dd6f6 organize hyprland configs 2025-07-11 15:38:42 -04:00
Benjamin Palko
f558e4ff10 reorder hyprland configs and use var to store config dir path 2025-07-11 13:52:44 -04:00
Benjamin Palko
d16efda58f change submodule urls 2025-07-07 11:48:22 -04:00
Benjamin Palko
acb07fa341 rename ags 2025-07-04 11:58:50 -04:00
Benjamin Palko
16106a9563 use v20 node 2025-07-04 11:58:05 -04:00
Benjamin Palko
affaecf218 fortune 2025-06-17 14:13:20 -04:00
Benjamin Palko
6f022d0eca customize lock screen 2025-06-17 09:01:18 -04:00
Benjamin Palko
c1a5fc5030 update bashrc 2025-06-13 17:22:45 -04:00
Benjamin Palko
6e5450224c huh 2025-06-13 17:21:38 -04:00
Benjamin Palko
6360a10b21 calc always float 2025-06-13 17:21:28 -04:00
Benjamin Palko
08e8f65046 switch to mise 2025-05-22 18:12:08 -04:00
Benjamin Palko
6d717b946b switch to ags bar 2025-04-10 15:35:58 -04:00
Benjamin Palko
f2c9c8a6d5 bllyat 2025-04-10 15:35:41 -04:00
Benjamin Palko
f4193776d2 dont suspend 2025-04-10 15:35:32 -04:00
Benjamin Palko
f984068975 asdf 2025-03-31 22:31:11 -04:00
Benjamin Palko
5df0545186 update hyprland rules 2025-03-31 22:31:04 -04:00
Benjamin Palko
bb41d9ca40 logout menu update 2025-03-31 22:24:41 -04:00
Benjamin Palko
5cc4901b0c hyprlock theme 2025-03-31 22:24:04 -04:00
Benjamin Palko
e83f946bb5 add ags package 2025-01-31 16:23:09 -05:00
Benjamin Palko
0fbc930b28 add ags 2025-01-31 16:18:08 -05:00
Benjamin Palko
e4c9e79471 yeet 2025-01-31 15:17:45 -05:00
Benjamin Palko
531285342b less GAP 2025-01-31 15:17:42 -05:00
Benjamin Palko
5bb5d11721 MINECRAFT~!!@[127;2u![127;2u 2025-01-31 15:17:33 -05:00
Benjamin Palko
b7329cb951 yee 2025-01-31 14:12:01 -05:00
Benjamin Palko
b6f63359b1 blah 2025-01-31 14:11:56 -05:00
Benjamin Palko
c1fc5ecf1d temp 2025-01-31 14:04:33 -05:00
Benjamin Palko
0e26cd26dd shhh 2025-01-31 14:01:58 -05:00
Benjamin Palko
1b58092306 better i guess 2025-01-30 23:04:45 -05:00
Benjamin Palko
c8516db4af idk lol 2025-01-30 23:04:20 -05:00
Benjamin Palko
825284d441 more bun, more power 2025-01-30 23:04:12 -05:00
Benjamin Palko
57218d352a kitty no borders 2025-01-30 23:04:04 -05:00
Benjamin Palko
d922632469 zen! 2025-01-30 23:03:54 -05:00
Benjamin Palko
06680db137 signal! 2025-01-30 23:02:13 -05:00
Benjamin Palko
d6f1c447b7 zen browser 2025-01-14 12:06:56 -05:00
Benjamin Palko
9032fd2076 blyat 2025-01-05 23:07:19 -05:00
Benjamin Palko
054e8dc592 up bun 2024-12-23 13:31:26 -05:00
Benjamin Palko
a25e266987 bigger font 2024-12-20 08:49:06 -05:00
Benjamin Palko
0d27f17050 fix hyprland config 2024-12-20 08:49:01 -05:00
Benjamin Palko
0094e076c9 add nvim as submodule 2024-12-03 20:34:05 -05:00
Benjamin Palko
c0e0752f68 remove for now 2024-12-03 20:33:39 -05:00
Benjamin Palko
36ca9005a6 lazyvim blyat 2024-12-03 20:28:20 -05:00
Benjamin Palko
1f017b110d css 2024-12-03 20:28:03 -05:00
Benjamin Palko
88d6522c4f hypr startup 2024-12-03 20:27:57 -05:00
Benjamin Palko
01f2abb83b EL DAVINCI 2024-11-08 09:03:51 -05:00
Benjamin Palko
4c2ad9d68a RECONFIGURE 2024-11-08 09:03:42 -05:00
Benjamin Palko
c4a6446ff6 $HOME is where the files are 2024-11-07 22:22:52 -05:00
Benjamin Palko
db9a6551ef ya yeet omanisharp, use csharp_ls 2024-11-07 22:22:36 -05:00
Benjamin Palko
aab42872eb blender lets goo 2024-11-07 22:22:10 -05:00
Benjamin Palko
77cb5a64d0 fonts! 2024-11-07 22:20:28 -05:00
Benjamin Palko
2a3ba95248 in PACMANS[127;2u!!!! 2024-11-07 22:20:19 -05:00
Benjamin Palko
9f2263c829 polkit 2024-10-21 23:05:21 -04:00
Benjamin Palko
589abf65f9 plymouth 2024-10-21 16:59:26 -04:00
Benjamin Palko
1d22bef8e0 mplayer 2024-10-18 00:27:11 -04:00
Benjamin Palko
dae73ffaee add inkscape and gimp 2024-10-17 09:13:34 -04:00
Benjamin Palko
3397431e09 remove lutris 2024-10-16 22:15:53 -04:00
Benjamin Palko
fe400dca55 gnome packages 2024-10-16 22:13:44 -04:00
Benjamin Palko
59e0adb5cf blyat 2024-10-16 22:12:05 -04:00
Benjamin Palko
5bfbee85ec use gnome characters 2024-10-16 22:12:01 -04:00
Benjamin Palko
b01c0b8a25 X lol 2024-10-16 22:11:54 -04:00
Benjamin Palko
cfea22fb50 symlink early 2024-10-16 22:09:45 -04:00
Benjamin Palko
8d4b7eb0d9 remove thunar, share nautilus with gnome 2024-10-16 22:09:36 -04:00
Benjamin Palko
93a2c3931b remove steam from apps 2024-10-16 22:09:06 -04:00
Benjamin Palko
aa21417920 hyprland doesnt need wlr 2024-10-16 22:08:46 -04:00
Benjamin Palko
d72d7a14bc add executable 2024-10-16 22:02:33 -04:00
Benjamin Palko
c07bdd4fa3 lazydocker is AUR 2024-10-16 21:40:35 -04:00
Benjamin Palko
1e46b3cf00 xclip 2024-10-16 19:45:01 -04:00
Benjamin Palko
63a19cbcf3 waybar update 2024-10-12 22:27:58 -04:00
Benjamin Palko
fe8156e7bd hypr config 2024-10-12 22:27:52 -04:00
Benjamin Palko
7595baf643 HYPR 2024-10-12 22:27:45 -04:00
Benjamin Palko
4abffe4145 fix waybar 2024-10-10 23:59:53 -04:00
Benjamin Palko
b66ede1304 fonts and laptop setup 2024-10-10 23:59:47 -04:00
Benjamin Palko
2815045c9a font 2024-10-10 23:59:35 -04:00
Benjamin Palko
c5cfc8791f pywal 2024-10-10 23:59:29 -04:00
Benjamin Palko
31f3b9e1b2 update hyprland from nixos branch 2024-10-10 22:14:00 -04:00
Benjamin Palko
6265faa787 update rofi from nixos branch 2024-10-10 22:13:51 -04:00
Benjamin Palko
43fd674bba rofi colors 2024-10-10 22:13:41 -04:00
Benjamin Palko
c9a092f3b6 update waybar from nixos branch 2024-10-10 22:13:34 -04:00
Benjamin Palko
d0d2fa9b28 LAZYVIM BLYAAAAAAAAAAAAAAAT 2024-10-10 21:36:00 -04:00
Benjamin Palko
2ae6ec5cd9 opengl 2024-10-10 21:35:49 -04:00
Benjamin Palko
507a3d143d dev dependencies 2024-10-10 21:35:39 -04:00
Benjamin Palko
ea4161df5d kitty config 2024-10-05 21:56:05 -04:00
Benjamin Palko
4a069507d6 add apps 2024-10-05 21:55:57 -04:00
Benjamin Palko
fa66e6adb3 add docker 2024-10-03 18:41:51 -04:00
Benjamin Palko
1b582aed80 DOCKER 2024-10-03 18:34:25 -04:00
Benjamin Palko
5308879695 fzf 2024-10-01 08:53:51 -04:00
Benjamin Palko
5e94ccee67 blyaaa 2024-10-01 08:06:56 -04:00
Benjamin Palko
93f0bf3894 update installs 2024-10-01 08:05:44 -04:00
Benjamin Palko
4bf929729e enable multilib 2024-10-01 08:05:37 -04:00
Benjamin Palko
ca135d69e4 call lib directly on install.sh 2024-10-01 08:05:27 -04:00
Benjamin Palko
23100d5f1a caprine 2024-10-01 00:31:26 -04:00
Benjamin Palko
7f471527da remove emote 2024-10-01 00:29:15 -04:00
Benjamin Palko
1cdd637ff1 quote 2024-10-01 00:26:10 -04:00
Benjamin Palko
a841d57ab7 check for ohmyzsh 2024-10-01 00:22:44 -04:00
Benjamin Palko
541068ddbb everything can execute 2024-10-01 00:20:55 -04:00
Benjamin Palko
b0da8493c9 dev directory 2024-10-01 00:20:03 -04:00
Benjamin Palko
eaa293d0b2 remove brew.... again
call install
2024-10-01 00:18:24 -04:00
Benjamin Palko
d0ed7ae927 remove brew again 2024-10-01 00:18:01 -04:00
Benjamin Palko
8604568209 add asdf plugins 2024-10-01 00:17:48 -04:00
Benjamin Palko
9b56495c1a rename to apps 2024-10-01 00:17:41 -04:00
Benjamin Palko
08c16948e3 add rust and python 2024-10-01 00:11:01 -04:00
Benjamin Palko
54a13e2a16 we do what we must, because, we can 2024-09-30 23:44:01 -04:00
Benjamin Palko
77c450ec6f kitty conf 2024-09-30 23:43:04 -04:00
Benjamin Palko
92b193e01c executable 2024-09-30 23:36:23 -04:00
Benjamin Palko
14dd2b885a update tools 2024-09-30 23:36:13 -04:00
Benjamin Palko
aed8ceea7e library 2024-09-30 23:22:18 -04:00
Benjamin Palko
dde95a31ef symlinks 2024-09-30 23:13:34 -04:00
Benjamin Palko
ba08ba58e4 pywal alias 2024-09-30 23:13:04 -04:00
Benjamin Palko
3892c58dab blyat 2024-09-30 22:53:06 -04:00
Benjamin Palko
d785e17ce6 update zshrc 2024-09-30 22:52:37 -04:00
Benjamin Palko
4c5b51b11a remove spicetify 2024-09-30 22:52:24 -04:00
Benjamin Palko
06adb681f9 update set shell script 2024-09-30 22:52:14 -04:00
Benjamin Palko
6d7d2b24b8 update packages 2024-09-30 22:52:07 -04:00
Benjamin Palko
eb9467d495 remove brew 2024-09-30 22:42:20 -04:00
Benjamin Palko
f312ea0601 nvim 2024-09-11 23:47:20 -04:00
Benjamin Palko
1eac6a3470 nvim sub 2024-09-11 23:42:42 -04:00
Benjamin Palko
4edfe352e6 add discocss 2024-04-22 20:24:22 +00:00
Benjamin Palko
232c7630d8 add vulkan library 2024-04-22 20:22:44 +00:00
Benjamin Palko
45c700788d track bash config + add default editor 2024-04-21 20:37:59 +00:00
Benjamin Palko
e0908b7484 add lutris and steam (gaming gemer lets goo) 2024-04-21 13:52:28 +00:00
Benjamin Palko
ce3d639559 add screenshot 2024-04-21 13:36:11 +00:00
Benjamin Palko
71417cfaee add wlr desktop portal 2024-04-21 12:48:33 +00:00
Benjamin Palko
4ff5fbc264 update window rules 2024-04-21 12:48:14 +00:00
Benjamin Palko
55001d251e resize window gaps 2024-04-21 12:47:57 +00:00
Benjamin Palko
48e1b294f4 window rules 2024-04-20 09:52:44 +00:00
Benjamin Palko
49441c9f12 scratchpads 2024-04-20 09:52:31 +00:00
Benjamin Palko
dc5a1c0224 add xorn xr db 2024-04-17 02:21:15 +00:00
Benjamin Palko
2fbdaa2e24 install oh-my-zsh 2024-04-16 02:15:10 +00:00
Benjamin Palko
09e7658618 spicetify postinstall 2024-04-16 02:13:55 +00:00
Benjamin Palko
4e7e08a380 change keybinds for run/close back to default 2024-04-16 02:12:22 +00:00
Benjamin Palko
52c6808ea2 add spotify and spicetify to AUR general packages 2024-04-16 02:11:41 +00:00
Benjamin Palko
280623ffa1 remove wofi config 2024-04-16 00:54:42 +00:00
Benjamin Palko
28fd8bac2c remove nvidia, its usually done during OS install 2024-04-15 00:55:23 +00:00
Benjamin Palko
7f38ef3f32 copy nvim config from work dotfiles 2024-04-15 00:53:01 +00:00
Benjamin Palko
ce36d27f1c add glow and lazydocker 2024-04-15 00:52:47 +00:00
Benjamin Palko
2ef404f6cd ignore cava config 2024-04-15 00:34:05 +00:00
Benjamin Palko
48f6a68454 set shell script 2024-04-15 00:19:14 +00:00
Benjamin Palko
7a2ae3600c missing key packages 2024-04-15 00:19:04 +00:00
Benjamin Palko
ed23c33b5a remove equals, its fucking shit up 2024-04-14 23:51:41 +00:00
Benjamin Palko
392147f5c8 add brew to bashrc 2024-04-14 23:48:48 +00:00
Benjamin Palko
b7901a08bb swaync styles 2024-04-07 10:13:56 -05:00
Benjamin Palko
1252a27212 hyprlock screen 2024-04-07 09:23:28 -05:00
Benjamin Palko
3c9670c0af bluetooth 2024-04-07 09:23:16 -05:00
Benjamin Palko
f6d949a345 transparent 2024-04-06 18:27:33 -05:00
Benjamin Palko
f5bb626fa7 wrap wallpaper as text 2024-04-06 18:27:25 -05:00
Benjamin Palko
66230dfba2 update swww init 2024-04-06 18:15:29 -05:00
Benjamin Palko
0f91f2cf19 watch swaync config 2024-04-06 13:51:23 -05:00
Benjamin Palko
320ef09010 waybar config controls spotify only 2024-04-06 13:51:02 -05:00
Benjamin Palko
48cceb8af8 migrate to rofi 2024-04-06 12:57:01 -05:00
Benjamin Palko
4507e2c462 untrack cava config 2024-04-03 20:32:10 -05:00
Benjamin Palko
58e37c9985 comment 2024-04-03 19:22:48 -05:00
Benjamin Palko
8f0e4a17b1 move nc to right side 2024-04-03 19:22:38 -05:00
Benjamin Palko
a2bbc2c5bd cava pywal theme 2024-04-02 21:52:23 -05:00
Benjamin Palko
f0e2fc9cf3 lua wal template 2024-03-25 17:09:34 -05:00
Benjamin Palko
a64babe620 style workspaces 2024-03-25 17:04:46 -05:00
Benjamin Palko
ed396f7238 fix 'only-child' scenario 2024-03-23 17:47:55 -05:00
Benjamin Palko
3c21b077ba more styling 2024-03-22 17:32:45 -05:00
Benjamin Palko
7798e8360c add swww and pywal 2024-03-22 16:05:37 -05:00
Benjamin Palko
076fe3ab81 add pywal and swaync 2024-03-22 12:12:32 -05:00
Benjamin Palko
e4fe39c7ea make wofi less ugly 2024-03-20 18:16:19 -05:00
Benjamin Palko
135bc6091d 1% increment change from vol wheel 2024-03-20 14:51:07 -05:00
Benjamin Palko
e7049c81eb more waybar style fiddling 2024-03-20 14:50:29 -05:00
Benjamin Palko
af05aae09a style waybar to my liking >:) 2024-03-20 13:50:33 -05:00
Benjamin Palko
1610d3a732 revert to basic styling 2024-03-20 12:36:49 -05:00
Benjamin Palko
1106ae4dd6 configure module layout 2024-03-20 12:29:05 -05:00
Benjamin Palko
e279eceabc add mediaplayer module 2024-03-20 11:42:56 -05:00
Benjamin Palko
9bc0942484 bearded-op 2024-03-20 10:32:48 -05:00
Benjamin Palko
f5832bcc1b add gtk and nvidia - removed qt5 2024-03-20 10:32:36 -05:00
Benjamin Palko
7328525e2a update hypland configs 2024-03-19 19:34:48 -05:00
Benjamin Palko
75a2388624 split packages into base (System) and general (my stuff) 2024-03-19 07:57:56 -05:00
Benjamin Palko
49470320d1 remove default pipewire-pulse config 2024-03-18 22:55:01 -05:00
Benjamin Palko
682584db88 basic waybar config 2024-03-18 21:51:48 -05:00
Benjamin Palko
a7d97cd084 add keybinds for moving workspaces and scratchpad 2024-03-18 21:49:02 -05:00
Benjamin Palko
5902b78f82 remove old nvidia config 2024-03-18 20:43:52 -05:00
Benjamin Palko
e05bd168e8 update hypr config 2024-03-16 16:19:48 -05:00
Benjamin Palko
13ae175732 reset cava and set gradient colors 2024-03-16 16:05:36 -05:00
Benjamin Palko
649f5c92be revert to default 2024-03-16 08:59:08 -05:00
Benjamin Palko
a2f4d14a04 partially update readme 2024-03-15 23:37:44 -05:00
Benjamin Palko
e4088880a3 change init order? 2024-03-06 21:29:18 -05:00
Benjamin Palko
1b866b41ef change keybind 2024-03-06 21:29:07 -05:00
Benjamin Palko
f81c6d818d swappy config 2024-03-06 21:26:28 -05:00
Benjamin Palko
8f2a2bebf4 add obsidian 2024-03-05 18:28:09 -05:00
Benjamin Palko
3c23a4f37d update readme with hyprland packages to install 2024-03-03 17:12:41 -05:00
Benjamin Palko
fd49ab9d7d added neofetch to terminal start 2024-03-03 15:57:58 -05:00
Benjamin Palko
957506bbde added swappy and cmatrix packages 2024-03-03 15:57:44 -05:00
Benjamin Palko
0c3b4acd89 use hyprland modules 2024-03-03 11:13:21 -05:00
Benjamin Palko
516641f28a format waybar css file 2024-03-03 11:03:29 -05:00
Benjamin Palko
a5d663d9e9 update keybinds 2024-03-03 11:02:57 -05:00
Benjamin Palko
e0ed8e6e31 browser keybind 2024-03-03 10:43:05 -05:00
Benjamin Palko
f8dc6e43bd add emote to packages 2024-03-03 10:40:49 -05:00
Benjamin Palko
5e732bb226 change hypr config dir layout 2024-03-03 10:40:11 -05:00
Benjamin Palko
830503352d tldr 2024-03-03 09:53:37 -05:00
Benjamin Palko
8f6195b305 add caprine to packages 2024-03-03 09:32:00 -05:00
Benjamin Palko
732e37bf00 set up install.sh script 2024-03-03 09:26:59 -05:00
Benjamin Palko
fbbf61c102 add cava config 2024-03-03 09:26:42 -05:00
Benjamin Palko
6970d560e1 install plugins after adding them 2024-03-03 09:18:47 -05:00
Benjamin Palko
15f0855916 added hypr idle/lock 2024-03-03 01:17:20 -05:00
Benjamin Palko
bf59c1a190 add audio control keybinds 2024-03-03 00:25:55 -05:00
Benjamin Palko
c751da48fd add discord and spotify to packages 2024-03-03 00:25:37 -05:00
Benjamin Palko
065a8377ad fix symlink script 2024-03-02 23:43:19 -05:00
Benjamin Palko
dd655573d5 update symlink script to loop through lists 2024-03-02 22:34:22 -05:00
Benjamin Palko
3df9bf6f4a update readme packages 2024-03-02 22:34:02 -05:00
Benjamin Palko
032302ce66 default waybar files 2024-03-02 22:33:32 -05:00
Benjamin Palko
618e8bbe9e yay install script 2024-03-02 22:33:15 -05:00
Benjamin Palko
b2e48654ea remove sway idle/lock 2024-03-02 20:32:06 -05:00
Benjamin Palko
6c4c1a99b0 add waybar config 2024-03-02 20:31:55 -05:00
Benjamin Palko
9858798869 add wofi docs link 2024-03-02 20:29:17 -05:00
Benjamin Palko
5fe5321293 wofi dracula style 2024-03-02 20:21:50 -05:00
Benjamin Palko
c597dec786 swaylock config (kind of broken) 2024-03-02 20:21:31 -05:00
Benjamin Palko
bc469bfa08 empty swayidle config file 2024-03-02 20:21:14 -05:00
Benjamin Palko
87003571bd pipewire config (for desktop) 2024-03-02 20:21:04 -05:00
Benjamin Palko
460bd73aed add nvim config 2024-03-02 20:20:51 -05:00
Benjamin Palko
01dae7e4ca add hyprland config 2024-03-02 20:20:46 -05:00
Benjamin Palko
c552b9e351 wofi styling 2024-03-02 20:03:38 -05:00
Benjamin Palko
d7052e7d1a basic neofetch config 2024-03-02 20:03:02 -05:00
Benjamin Palko
5fd86150ef kitty config 2024-03-02 20:02:51 -05:00
Benjamin Palko
84bb969fe7 gtk settings
set dark mode default
2024-03-02 20:02:40 -05:00
Benjamin Palko
bab589f9fa sym links init 2024-03-02 20:02:16 -05:00
Benjamin Palko
8aca0c51e5 package installation init 2024-03-02 20:02:08 -05:00
Benjamin Palko
91392c3956 asdf add plugins script 2024-03-02 20:01:52 -05:00
Benjamin Palko
1632c12ac7 brew install script 2024-03-02 20:01:04 -05:00
Benjamin Palko
d143091f45 asdf tool versions 2024-03-02 20:00:42 -05:00
Benjamin Palko
feeb529a02 zsh config 2024-03-02 19:31:19 -05:00
Benjamin Palko
96a6e65232 update README with packages 2024-03-02 19:30:26 -05:00
Benjamin Palko
02d6e292e7 library includes 2024-03-02 19:30:15 -05:00
Benjamin Palko
162367e593 empty install entry 2024-03-01 22:22:09 -05:00
Benjamin Palko
39ae9dad6d update readme 2024-03-01 22:21:53 -05:00
325 changed files with 1177 additions and 30509 deletions

6
.alacritty.toml Normal file
View file

@ -0,0 +1,6 @@
[window]
decorations = "Transparent"
[font]
normal = { family = "JetBrainsMono NF", style = "Regular" }
size = 12

View file

@ -2,6 +2,8 @@
# ~/.bashrc
#
eval "$(mise activate bash)"
# If not running interactively, don't do anything
[[ $- != *i* ]] && return

13
.gitconfig Normal file
View file

@ -0,0 +1,13 @@
[credential "https://github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[credential "https://git.palko.ca"]
helper =
[user]
email = benjaminpalko@hotmail.com
name = Benjamin Palko
[credential]
helper = store

6
.gitignore vendored
View file

@ -3,3 +3,9 @@
./cava/config
cava/config
# Discocss
./discocss
discocss/
!./discocss/custom.css
!discocss/custom.css

6
.gitmodules vendored Normal file
View file

@ -0,0 +1,6 @@
[submodule "nvim"]
path = nvim
url = https://git.palko.ca/baobeld/nvim.git
[submodule "lux-shell"]
path = quickshell
url = https://git.palko.ca/baobeld/lux-shell.git

19
.install/add-asdf-plugins.sh Executable file
View file

@ -0,0 +1,19 @@
asdfPlugins=(
"nodejs"
"bun"
"python"
"rust"
"golang"
)
_addPlugins() {
for plugin; do
asdf plugin add "${plugin}"
done
}
# Add asdf plugins
_addPlugins "${asdfPlugins[@]}"
# Install plugins
asdf install

4
.install/docker-permissions.sh Executable file
View file

@ -0,0 +1,4 @@
if [ ! "$(getent group docker)" ]; then
sudo groupadd docker
fi
sudo usermod -aG docker "${USER}"

View file

@ -0,0 +1,76 @@
#!/bin/bash
# _ _ _
# | | (_) |__ _ __ __ _ _ __ _ _
# | | | | '_ \| '__/ _` | '__| | | |
# | |___| | |_) | | | (_| | | | |_| |
# |_____|_|_.__/|_| \__,_|_| \__, |
# |___/
#
# by Benjamin Palko [based on Stephan Raabe] (2023)
# -----------------------------------------------------
# ------------------------------------------------------
# Function: Is package installed
# ------------------------------------------------------
_isInstalledPacman() {
package="$1"
check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")"
if [ -n "${check}" ]; then
echo 0 #'0' means 'true' in Bash
return #true
fi
echo 1 #'1' means 'false' in Bash
return #false
}
_isInstalledYay() {
package="$1"
check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")"
if [ -n "${check}" ]; then
echo 0 #'0' means 'true' in Bash
return #true
fi
echo 1 #'1' means 'false' in Bash
return #false
}
# ------------------------------------------------------
# Function Install all package if not installed
# ------------------------------------------------------
_installPackagesPacman() {
toInstall=()
for pkg; do
if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
echo ":: ${pkg} is already installed."
continue
fi
toInstall+=("${pkg}")
done
if [[ "${toInstall[@]}" == "" ]]; then
# echo "All pacman packages are already installed.";
return
fi
# printf "Package not installed:\n%s\n" "${toInstall[@]}";
sudo pacman --noconfirm -S "${toInstall[@]}"
}
_installPackagesYay() {
toInstall=()
for pkg; do
if [[ $(_isInstalledYay "${pkg}") == 0 ]]; then
echo ":: ${pkg} is already installed."
continue
fi
toInstall+=("${pkg}")
done
if [[ "${toInstall[@]}" == "" ]]; then
# echo "All packages are already installed.";
return
fi
# printf "AUR packags not installed:\n%s\n" "${toInstall[@]}";
yay --noconfirm -S "${toInstall[@]}"
}

3
.install/install-oh-my-zsh.sh Executable file
View file

@ -0,0 +1,3 @@
if [ ! -d ~/.oh-my-zsh/ ]; then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended --keep-zshrc
fi

17
.install/install-yay.sh Executable file
View file

@ -0,0 +1,17 @@
#!/bin/bash
if sudo pacman -Qs yay > /dev/null ; then
echo ":: yay is already installed!"
else
echo ":: yay is not installed. Starting the installation!"
_installPackagesPacman "base-devel"
SCRIPT=$(realpath "$0")
temp_path=$(dirname "$SCRIPT")
echo $temp_path
git clone https://aur.archlinux.org/yay-git.git ~/yay-git
cd ~/yay-git
makepkg -si
cd $temp_path
echo ":: yay has been installed successfully."
fi

View file

@ -0,0 +1,20 @@
packagesPacman=(
"mplayer"
"discord"
"signal"
"spotify-launcher"
"obsidian"
"krita"
"inkscape"
"gimp"
"blender"
"godot-mono"
"thunderbird"
"prismlauncher"
)
packagesYay=(
"zen-browser-bin"
"aseprite"
"davinci-resolve"
)

20
.install/packages/base.sh Normal file
View file

@ -0,0 +1,20 @@
packagesPacman=(
"grep"
"wget"
"curl"
"unzip"
"xclip"
"inotify-tools"
"pipewire"
"wireplumber"
"pipewire-audio"
"pipewire-alsa"
"pipewire-pulse"
"python-pywal",
"noto-fonts",
"noto-fonts-cjk",
"noto-fonts-emoji"
)
packagesYay=(
)

View file

@ -0,0 +1,3 @@
packagesPacman=(
"plymouth"
)

View file

@ -0,0 +1,4 @@
packagesPacman=(
"xdg-desktop-portal"
"xdg-desktop-portal-gnome"
)

View file

@ -0,0 +1,26 @@
packagesPacman=(
"hyprland"
"hypridle"
"hyprlock"
"polkit"
"rofi-wayland"
"swaync"
"swww"
"waybar"
"bluez"
"bluez-utils"
"blueman"
"xdg-desktop-portal-hyprland"
"gtk3"
"gtk4"
"grim"
"slurp"
"swappy"
"cliphist"
"xorg-xrdb"
)
packagesYay=(
"nwg-look"
"aylurs-gtk-shell"
)

View file

@ -0,0 +1,31 @@
packagesPacman=(
"kitty"
"zsh"
"zsh-autosuggestions"
"zsh-syntax-highlighting"
"git"
"github-cli"
"lazygit"
"neofetch"
"ripgrep"
'fzf'
"neovim"
"ttf-jetbrains-mono-nerd"
"mise"
"btop"
"cmatrix"
"dotnet-runtime"
"dotnet-sdk"
"aspnet-runtime"
"wine"
"docker"
"docker-compose"
"meson"
"glfw"
"glad"
)
packagesYay=(
"lazydocker"
"cava"
)

View file

@ -1,12 +1,33 @@
#!/bin/bash
# files
files=(
".bashrc"
".gitconfig"
".zshrc"
)
_symlinkFiles() {
for file; do
if [ -h ~/${file} ]; then
continue
fi
if [ -f ~/${file} ]; then
rm ~/${file}
fi
ln -s ~/dotfiles/${file} ~/${file}
done
}
# directories
directories=(
"cava"
"gtk-3.0"
"gtk-4.0"
"hypr"
"kitty"
"mise"
"neofetch"
"nvim"
"quickshell"
"rofi"
"swappy"
"swaync"
@ -16,15 +37,16 @@ directories=(
_symlinkDirs() {
for dir; do
if [ -h ~/.config/"${dir}" ]; then
if [ -h ~/.config/${dir} ]; then
continue
fi
if [ -d ~/.config/"${dir}"/ ]; then
if [ -d ~/.config/${dir}/ ]; then
echo "Deleting existing directory ${dir}"
rm -rf ~/.config/"${dir}"/
rm -rf ~/.config/${dir}/
fi
ln -s ~/dotfiles/"${dir}"/ ~/.config/
ln -s ~/dotfiles/${dir}/ ~/.config/
done
}
_symlinkFiles "${files[@]}"
_symlinkDirs "${directories[@]}"

11
.scripts/pywal-swww.sh Executable file
View file

@ -0,0 +1,11 @@
# -n tells `wal` to skip setting the wallpaper.
wal -i ~/Wallpapers/ -n
# Using feh to tile the wallpaper now.
# We grab the wallpaper location from wal's cache so
# that this works even when a directory is passed.
swww img "$(< "${HOME}/.cache/wal/wal")" --transition-type wipe --transition-angle 45 --transition-fps 90
# Copy cava and update config
cp ~/.cache/wal/cava-config ~/dotfiles/cava/config && pkill -USR2 cava

3
.scripts/pywal.sh Executable file
View file

@ -0,0 +1,3 @@
wal -i ~/Wallpapers/ -n
gsettings set org.gnome.desktop.background picture-uri-dark "file://$(cat ~/.cache/wal/wal)"
cp ~/.cache/wal/cava-config ~/dotfiles/cava/config && pkill -USR2 cava

3
.scripts/set-shell.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/bash
chsh -s "$(which zsh)"

129
.zshrc Normal file
View file

@ -0,0 +1,129 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="robbyrussell"
# Load pywal palette
cat ~/.cache/wal/sequences
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git gh bun npm yarn mise)
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
export PATH="$HOME/.local/bin:$PATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias dotfiles="~/dotfiles/"
alias nv="nvim"
alias pywal="~/dotfiles/.scripts/pywal.sh"
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=50
SAVEHIST=1000
bindkey -v
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '$HOME/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
eval "$(mise activate zsh)"
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source $ZSH/oh-my-zsh.sh
export EDITOR=nvim
neofetch --ascii ~/dotfiles/ascii.txt
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

87
README.md Normal file → Executable file
View file

@ -1,4 +1,85 @@
# Dotfiles
# Arch Linux Setup
- [Arch](<https://github.com/BenjaminPalko/dotfiles/tree/arch(btw)>)
- [NixOS](https://github.com/BenjaminPalko/dotfiles/tree/nixos)
This is a work in progress setup for my first Arch Linux install
## Arch install
Start by creating a bootable USB from an Arch ISO, you can download from [here](https://archlinux.org/download/)
Boot into the USB...
Connect to wifi...
```
iwctl
```
Test connection with `ping google.ca`
Run the arch install command
```shell
archinstall
```
Running through the options...
- Disc config: Best-effort
- Boot loader: Grub
- User account: Create one and give super
- Profile: Minimal
- Audio: Pipewire
- Additional packages: `git`
- Network: Copy ISE network configuration
Install...
### Enable multilib
```conf
/etc/pacman.conf
--------------------
[multilib]
Include = /etc/pacman.d/mirrorlist
```
## Packages
This is a list of packages sorted by the package manager used to install them along with a small description of what they do as well as a link to their website/docs
### Pacman
- zsh - Shell
- git - Version control
- github-cli - Github CLI
- lazygit - CLI git client
- neofetch - System display
- neovim - CLI based editor and IDE
- ttf-jetbrains-mono-nerd - Nerd font pack
- wget - retrive files over http(s)
- curl - same as wget
- xclip - Clipboard util
- ripgrep - CLI grep tool (used for neovim text search across files)
- btop - resource monitor
- cmatrix - THE MATRIX
- swappy - screenshot tool
- spotify - Music App
- discord - Messaging
- obsidian - markdown and stuff
#### Hyprland
- swww - wallpaper animations
- hypridle - hyprland idle daemon
- hyprlock - hyprland lock screen
- pywal - generates color palettes from wallpaper
### Yay
- cava - audio visualizer
### Brew
- zsh-completions - zsh plugin that adds CLI completions
- zsh-autosuggestions - zsh that adds suggestions
- asdf - runtime manager (nodejs, python, bun, etc...)

0
aperture.txt → ascii.txt Normal file → Executable file
View file

4
caprine/.gitignore vendored
View file

@ -1,4 +0,0 @@
*
!.gitignore
!config.json
!custom.css

View file

@ -1,43 +0,0 @@
{
"theme": "system",
"privateMode": false,
"showPrivateModePrompt": true,
"vibrancy": "none",
"zoomFactor": 1,
"lastWindowState": {
"x": 513,
"y": 594,
"width": 1244,
"height": 1358,
"isMaximized": false
},
"menuBarMode": false,
"showDockIcon": true,
"showTrayIcon": true,
"alwaysOnTop": false,
"showAlwaysOnTopPrompt": true,
"bounceDockOnMessage": false,
"showUnreadBadge": true,
"showMessageButtons": true,
"launchMinimized": false,
"flashWindowOnMessage": true,
"notificationMessagePreview": true,
"block": {
"chatSeen": false,
"typingIndicator": false,
"deliveryReceipt": false
},
"emojiStyle": "facebook-3-0",
"useWorkChat": false,
"sidebar": "default",
"autoHideMenuBar": true,
"autoUpdate": true,
"notificationsMuted": false,
"callRingtoneMuted": false,
"hardwareAcceleration": true,
"quitOnWindowClose": false,
"keepMeSignedIn": true,
"autoplayVideos": true,
"isSpellCheckerEnabled": true,
"spellCheckerLanguages": []
}

View file

@ -1,227 +0,0 @@
:root {
--base: #1e1e2e;
--base-ninety: rgb(255 255 255 / 90%);
--base-seventy-five: rgb(255 255 255 / 75%);
--base-seventy: rgb(255 255 255 / 70%);
--base-fifty: rgb(255 255 255 / 50%);
--base-fourty: rgb(255 255 255 / 40%);
--base-thirty: rgb(255 255 255 / 30%);
--base-twenty: rgb(255 255 255 / 20%);
--base-ten: rgb(255 255 255 / 10%);
--base-nine: rgb(255 255 255 / 9%);
--base-five: rgb(255 255 255 / 5%);
--container-color: #11111b;
--container-dark-color: #181825;
--list-header-color: #1e1e2e;
--blue: #89b4fa;
--white: #fff;
}
html.__fb-dark-mode {
--icon-primary-color: #f38ba8;
--messenger-card-background: var(--container-dark-color);
}
div.__fb-dark-mode {
--messenger-card-background: var(--list-header-color);
}
html.__fb-dark-mode-mode body {
color: var(--base-seventy);
background: var(--container-color) !important;
}
/* Fixes appearance of "Verify Account" screen text */
html.__fb-dark-mode-mode ._3-mr ._3-mt,
html.__fb-dark-mode-mode ._3-mr ._3-mu {
color: #fff;
}
html.__fb-dark-mode-mode ._3v_o, /* Login screen */
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._li, /* 2FA screen */
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._4-u5 /* 2FA screen */ {
background-color: var(--container-dark-color);
}
/* Login title and names */
html.__fb-dark-mode-mode ._5hy4,
html.__fb-dark-mode-mode ._3403 {
color: var(--base-fourty) !important;
}
/* Login inputs */
html.__fb-dark-mode-mode ._3v_o ._55r1 {
background: var(--base-five);
color: var(--base-seventy);
}
html.__fb-dark-mode-mode ._3v_o ._55r1::-webkit-input-placeholder {
color: var(--base-thirty) !important;
}
/* "Keep me signed in" checkbox */
html.__fb-dark-mode-mode .uiInputLabelInput {
filter: opacity(70%);
}
/* "Keep me signed in" text */
html.__fb-dark-mode-mode .uiInputLabelLabel {
color: var(--base-fourty) !important;
}
/* 2FA screen modal */
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._4-u8 {
background: var(--container-color);
border-color: var(--base-five) !important;
}
/* 2FA screen modal title */
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._2e9n {
border-color: var(--base-five);
color: #fff;
}
/* 2FA screen modal separator */
html.__fb-dark-mode-mode body.UIPage_LoggedOut ._p0k ._5hzs {
border-color: var(--base-five);
}
/* 2FA screen modal separators */
html.__fb-dark-mode-mode body.UIPage_LoggedOut a {
color: var(--blue);
}
/* 2FA screen modal input */
html.__fb-dark-mode-mode body.UIPage_LoggedOut input {
background: var(--base-ten);
border-color: var(--base-ten);
color: var(--base-ninety);
}
/* Cookies notification: background */
html.__fb-dark-mode-mode ._9o-w ._9o-c {
background: var(--container-color) !important;
}
/* Cookies notification: text */
html.__fb-dark-mode-mode ._9o-g {
color: var(--base-seventy) !important;
}
/* Cookies notification: collapsible headers */
html.__fb-dark-mode-mode ._9o-l {
color: var(--base-seventy) !important;
}
/* Cookies notification: subheaders */
html.__fb-dark-mode-mode ._9si- {
color: var(--base-seventy) !important;
}
/* Cookies notification: hamburger menu */
html.__fb-dark-mode-mode
._42ft._4jy0._55pi._2agf._4o_4._9o-e._p._4jy3._517h._51sy {
background: var(--container-color) !important;
}
/* Cookies notification: hamburger menu background */
html.__fb-dark-mode-mode ._54ng {
background: var(--container-color) !important;
}
/* Cookies notification: hamburger menu text */
html.__fb-dark-mode-mode ._54nh {
color: var(--base-seventy) !important;
}
/* Cookies notification: hamburger menu column borders */
html.__fb-dark-mode-mode ._54nc {
border-color: var(--container-color) !important;
}
/* Cookies notification: icons */
html.__fb-dark-mode-mode .img.sp_ng1YXMZLXub {
filter: invert(0.66);
}
/* Cookies notification: rectangular boxes */
html.__fb-dark-mode-mode .pam._9o-n.uiBoxGray {
background-color: var(--base-ten) !important;
}
html.__fb-dark-mode-mode ._9xq0 {
color: var(--base-seventy) !important;
}
/* Top bar: App menu button color */
/* Top bar: New message button color */
.j83agx80.pfnyh3mw .ozuftl9m .a8c37x1j.ms05siws.hwsy1cff.b7h9ocf4 {
fill: currentcolor;
color: var(--primary-text);
}
/* Chat list: Mute icon */
.bp9cbjyn.j83agx80.btwxx1t3 .dlv3wnog.lupvgy83 .a8c37x1j {
fill: #11111b;
color: var(--primary-text);
}
/* Right sidebar: icons */
.x1qhmfi1.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x1fgtraw.x1264ykn.x78zum5.x6s0dn4.xl56j7k
svg
path {
fill: currentcolor;
color: var(--primary-text);
}
/* Contact list: delivered icon color */
.aahdfvyu [role="grid"] .a8c37x1j.ms05siws.hwsy1cff.b7h9ocf4 {
fill: currentcolor;
color: var(--primary-text);
}
/* Messenger settings: Privacy & safety icon color */
.x1lliihq.x1k90msu.x2h7rmj.x1qfuztq.x198g3q0.xxk0z11.xvy4d1p {
fill: currentcolor;
color: var(--primary-text);
}
/* Removing top gap */
/* TODO: Remove when fixed by fb */
.__fb-dark-mode {
--header-height: 0 !important;
}
/* Message list: fix for received messages text color in dark mode */
/* TODO: Remove when fixed by fb */
.__fb-dark-mode .__fb-light-mode {
--primary-text: #cdd6f4;
}
/* Radio buttons */
.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x13fuv20.xu3j5b3.x1q0q8m5.x26u7qi.xamhcws.xol2nv.xlxy82.x19p7ews.x9f619.x1rg5ohu.x2lah0s.x1n2onr6.x1tz4bnf.xmds5ef.x25epmt.x11y6y4w.xxk0z11.xvy4d1p {
--accent: var(--primary-text);
}
/* Backgrounds of various buttons ("Join room", "Visit Group", Audio call, etc.) */
/* TODO: Remove when fixed by fb, since -floating should not be here */
html.__fb-dark-mode-mode
.x14yjl9h.xudhj91.x18nykt9.xww2gxu.x6s0dn4.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.x3nfvp2.xl56j7k.x1n2onr6.x1qhmfi1.xc9qbxq.x14qfxbe,
html.__fb-dark-mode-mode
.x1n2onr6.x1ja2u2z.x78zum5.x2lah0s.xl56j7k.x6s0dn4.xozqiw3.x1q0g3np.xi112ho.x17zwfj4.x585lrc.x1403ito.x972fbf.xcfux6l.x1qhh985.xm0m39n.x9f619.xn6708d.x1ye3gou.x1qhmfi1.x1r1pt67 {
background-color: var(--secondary-button-background-floating) !important;
}
/* Search results: Close button */
/* TODO: Remove when fixed by fb, since --always-white is not good here */
html.__fb-dark-mode-mode .x14hiurz.x1r1pt67 {
background-color: var(--secondary-button-background) !important;
}
/* Attachment background color in Chat Box */
/* TODO: Remove when fixed by fb, since #d6d9dd is too bright here */
/* Current Background-Color is same style as add attachment button */
html.__fb-dark-mode-mode .x1ybostu {
background-color: rgba(134 142 153 / 25%);
}
/* Recipient Pills in new message form */
/* TODO: Remove when fixed by fb, since #f3f3f4 is too bright here */
/* It seems FB uses shades of blue here */
html.__fb-dark-mode-mode .x4noic3 {
background-color: var(--secondary-button-background);
}
/* Create room icon color */
html.__fb-dark-mode-mode .x1p6odiv {
color: var(--primary-icon);
}

79
cava/shaders/bar_spectrum.frag Executable file
View file

@ -0,0 +1,79 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform int bar_width; // bar width (configurable), not used here
uniform int bar_spacing; // space bewteen bars (configurable)
uniform vec3 u_resolution; // window resolution
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
uniform vec3 bg_color; // background color
uniform vec3 fg_color; // foreground color
uniform int gradient_count;
uniform vec3 gradient_colors[8]; // gradient colors
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
{
//create color based on fraction of this color and next color
float yr = (y - y_min) / (y_max - y_min);
return col_1 * (1.0 - yr) + col_2 * yr;
}
void main()
{
// find which bar to use based on where we are on the x axis
float x = u_resolution.x * fragCoord.x;
int bar = int(bars_count * fragCoord.x);
//calculate a bar size
float bar_size = u_resolution.x / bars_count;
//the y coordinate and bar values are the same
float y = bars[bar];
// make sure there is a thin line at bottom
if (y * u_resolution.y < 1.0)
{
y = 1.0 / u_resolution.y;
}
//draw the bar up to current height
if (y > fragCoord.y)
{
//make some space between bars basen on settings
if (x > (bar + 1) * (bar_size) - bar_spacing)
{
fragColor = vec4(bg_color,1.0);
}
else
{
if (gradient_count == 0)
{
fragColor = vec4(fg_color,1.0);
}
else
{
//find which color in the configured gradient we are at
int color = int((gradient_count - 1) * fragCoord.y);
//find where on y this and next color is supposed to be
float y_min = color / (gradient_count - 1.0);
float y_max = (color + 1.0) / (gradient_count - 1.0);
//make color
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
}
}
}
else
{
fragColor = vec4(bg_color,1.0);
}
}

View file

@ -0,0 +1,34 @@
#version 330
in vec2 fragCoord;
out vec4 fragColor;
// bar values. defaults to left channels first (low to high), then right (high to low).
uniform float bars[512];
uniform int bars_count; // number of bars (left + right) (configurable)
uniform vec3 u_resolution; // window resolution, not used here
//colors, configurable in cava config file
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
uniform vec3 fg_color; // foreground color, not used here
void main()
{
// find which bar to use based on where we are on the x axis
int bar = int(bars_count * fragCoord.x);
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
float y = (bars[bar]) * bar_y;
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
bar_r = bar_r * bar_r * 2;
// set color
fragColor.r = fg_color.x * y * bar_r;
fragColor.g = fg_color.y * y * bar_r;
fragColor.b = fg_color.z * y * bar_r;
}

14
cava/shaders/pass_through.vert Executable file
View file

@ -0,0 +1,14 @@
#version 330
// Input vertex data, different for all executions of this shader.
layout(location = 0) in vec3 vertexPosition_modelspace;
// Output data ; will be interpolated for each fragment.
out vec2 fragCoord;
void main()
{
gl_Position = vec4(vertexPosition_modelspace,1);
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
}

View file

@ -1,7 +0,0 @@
{ ... }:
{
imports = [
<home-manager/nixos>
./nixos/nixos.nix
];
}

48
flake.lock generated
View file

@ -1,48 +0,0 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1724412708,
"narHash": "sha256-tLr1k+UZLVumyqXRU8E5lBtLjsvHSy8e2NiamfkjpYg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b18f3ebc4029c22d437e3424014c8597a8b459a0",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1724224976,
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,33 +0,0 @@
{
description = "Benjamin Palko's dotfiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{ home-manager, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
username = "benjamin";
hostname = "nixos";
in
{
# nixos config
nixosConfigurations."${hostname}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
inherit username;
inherit hostname;
};
modules = [
./nixos/nixos.nix
home-manager.nixosModules.home-manager
{ networking.hostName = "${hostname}"; }
];
};
};
}

View file

@ -1,21 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
# browser
firefox
vivaldi
# messaging
discord
caprine-bin
# game-dev
godot_4
aseprite
# organization
obsidian
];
xdg.configFile.Caprine = {
source = config.lib.file.mkOutOfStoreSymlink ../caprine;
recursive = true;
};
}

View file

@ -1,12 +0,0 @@
{ ... }:
{
programs.git = {
enable = true;
userName = "Benjamin Palko";
userEmail = "Benjaminpalko@hotmail.com";
};
programs.gh = {
enable = true;
gitCredentialHelper.enable = true;
};
}

View file

@ -1,62 +0,0 @@
{ config, pkgs, ... }:
{
imports = [ ./gtk.nix ];
home.pointerCursor = {
gtk.enable = true;
# x11.enable = true;
name = "volantes_cursors";
package = pkgs.volantes-cursors;
size = 24;
};
home.packages = with pkgs; [
rofi-wayland
swaynotificationcenter
volantes-cursors
pywal
(pkgs.writeShellScriptBin "pywal" ''
# -n tells `wal` to skip setting the wallpaper.
wal -i ~/Wallpapers/ -n
# Using feh to tile the wallpaper now.
# We grab the wallpaper location from wal's cache so
# that this works even when a directory is passed.
swww img "$(<"${config.home.homeDirectory}/.cache/wal/wal")" --transition-type wipe --transition-angle 45 --transition-fps 90
# Copy cava and update config
cp ~/.cache/wal/cava-config ~/.config/cava/config && pkill -USR2 cava
'')
];
programs.waybar = {
enable = true;
};
xdg.configFile = {
hypr = {
source = config.lib.file.mkOutOfStoreSymlink ../../hypr;
recursive = true;
};
rofi = {
source = config.lib.file.mkOutOfStoreSymlink ../../rofi;
recursive = true;
};
swaync = {
source = config.lib.file.mkOutOfStoreSymlink ../../swaync;
recursive = true;
};
wal = {
source = config.lib.file.mkOutOfStoreSymlink ../../wal;
recursive = true;
};
waybar = {
source = config.lib.file.mkOutOfStoreSymlink ../../waybar;
recursive = true;
};
xfce4 = {
source = config.lib.file.mkOutOfStoreSymlink ../../xfce4;
recursive = true;
};
};
}

View file

@ -1,25 +0,0 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
theme = {
name = "WhiteSur-Dark";
package = pkgs.whitesur-gtk-theme.override {
colorVariants = [ "Dark" ];
opacityVariants = [ "normal" ];
darkerColor = true;
};
};
iconTheme = {
name = "WhiteSur-dark";
package = pkgs.whitesur-icon-theme.override { themeVariants = [ "default" ]; };
};
};
home.sessionVariables.GTK_THEME = "WhiteSur-Dark";
}

View file

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
spotify
mplayer
];
programs.cava = {
enable = true;
};
}

View file

@ -1,55 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
# Languages
lua
(python3.withPackages (
p: with p; [
pygobject3
gst-python
]
))
# C++
meson
mesonlsp
pkg-config
ninja
cmake
gnumake
clang
clang-tools
# OpenGL
glslls
fmt
fmt.dev
glfw-wayland
libGL
libGL.dev
# Other
nodejs
bun
rustc
go
cargo
# Extensions
ripgrep
xclip
fzf
nixfmt-rfc-style
lazygit
];
xdg.configFile.nvim = {
source = config.lib.file.mkOutOfStoreSymlink ../nvim;
recursive = true;
};
programs.neovim = {
enable = true;
};
home.sessionVariables = {
EDITOR = "nvim";
VCPKG_ROOT = "${pkgs.vcpkg.outPath}/share/vcpkg";
};
}

View file

@ -1,69 +0,0 @@
{ config, pkgs, ... }:
{
programs.kitty = {
enable = true;
shellIntegration.enableZshIntegration = true;
font = {
name = "JetBrainsMono NF";
size = 11;
};
settings = {
enable_audio_bell = "no";
window_margin_width = 10;
background_opacity = "0.5";
confirm_os_window_close = 0;
};
};
programs.zsh = {
enable = true;
autocd = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initExtra = ''
neofetch --ascii ~/dotfiles/aperture.txt
'';
shellAliases = {
neofetch = "neofetch --ascii ~/dotfiles/aperture.txt";
rebuild = "sudo nixos-rebuild switch --flake ~/dotfiles";
clean = "nix-store --gc";
dotfiles = "cd ~/dotfiles/";
nv = "nvim";
};
oh-my-zsh = {
enable = true;
plugins = [
"git"
"gh"
"bun"
];
theme = "robbyrussell";
};
history = {
path = "${config.xdg.dataHome}/zsh/history";
size = 10000;
};
};
programs.starship = {
enable = true;
settings = {
add_newline = false;
};
};
programs.btop = {
enable = true;
settings = {
theme = "system";
};
};
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
neofetch
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
}

View file

@ -1,4 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ deluge ];
}

View file

@ -1,23 +0,0 @@
# -----------------------------------------------------
# Environment Variables
# name: "Nvidia"
# -----------------------------------------------------
# https://wiki.hyprland.org/Nvidia/
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
cursor {
no_hardware_cursors = true
}
env = NVD_BACKEND,direct
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORM,wayland
env = WLR_NO_HARDWARE_CURSORS,1
env = __GL_VRR_ALLOWED,1
env = WLR_DRM_NO_ATOMIC,1
env = ELECTRON_OZONE_PLATFORM_HINT,auto

View file

@ -1,35 +0,0 @@
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = nomaxsize, class:.* # You'll probably like this.
# windowrulev2 = opacity 1 0.6, class:.*
# Apps
windowrule = float, title:rofi
windowrule = workspace special:terminal, kitty
windowrule = workspace special:music, title:^Spotify Premium$
windowrulev2 = opacity 0.85 0.8, initialTitle:^Spotify Premium$
windowrulev2 = workspace 1,class:(discord)
windowrulev2 = workspace 1,class:(Caprine)
windowrule = opacity 0.999, Caprine
windowrule = workspace 2, firefox
windowrule = opacity 0.999, firefox
windowrulev2 = workspace 4,float,class:(steam)
windowrule = workspace 4, class:^(steam_app_*)$
# Workspaces
workspace = 1, persistent:true
workspace = 2, persistent:true
workspace = 3, persistent:true
workspace = 4, persistent:true

View file

@ -1,16 +0,0 @@
# Notification Daemon
exec-once = bash ~/.config/hypr/scripts/start-swaync.sh
# Idle Daemon
exec-once = hypridle
# Status-bar
exec-once = bash ~/.config/hypr/scripts/start-waybar.sh
# Emotes
exec-once = emote
# Wallpaper Daemon
exec-once = swww-daemon
exec-once = [workspace 1 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland
exec-once = [workspace 1 silent] caprine --enable-features=UseOzonePlatform --ozone-platform=wayland
exec-once = [workspace 2 silent] firefox
exec-once = [workspace special:music silent] spotify

View file

@ -28,8 +28,8 @@ listener {
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc
}
# listener {
# timeout = 1800 # 30min
# on-timeout = systemctl suspend # suspend pc
# }

View file

@ -1,48 +1,19 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
#autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-1,2560x1440@144,auto,auto
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
source = ~/.config/hypr/config/startup.conf
# PyWal Colors
source = ~/.cache/wal/colors-hyprland.conf
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Set programs that you use
$terminal = kitty
$fileManager = Thunar
$menu = ~/.config/rofi/scripts/launcher_t1
$powerMenu = ~/.config/rofi/scripts/powermenu_t1
# Programs
$terminal = alacritty
$fileManager = nautilus
$lockScreen = hyprlock
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
exec-once=hyprctl setcursor volantes_cursors 24
env = XCURSOR_THEME,
# See https://wiki.hyprland.org/Configuring/Monitors/
# PC
monitor=DP-1,2560x1440@144,auto,auto
source = ~/.config/hypr/config/environments/nvidia.conf
source = ~/.config/hypr/config/keybinds.conf
source = ~/.config/hypr/config/rules.conf
# Laptop
monitor=eDP-1,1920x1080@60,auto,1.20
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
@ -65,10 +36,8 @@ general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 10
gaps_out = 20
gaps_out = 10
border_size = 3
col.active_border = $color4 $color13 45deg
col.inactive_border = $color0
layout = dwindle
@ -76,39 +45,6 @@ general {
allow_tearing = true
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
ignore_opacity = true
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
@ -119,11 +55,6 @@ master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
@ -136,3 +67,12 @@ device {
sensitivity = -0.5
}
$hypr = ~/.config/hypr/hyprland
source = $hypr/animations.conf
source = $hypr/colours.conf
source = $hypr/decorations.conf
source = $hypr/env.conf
source = $hypr/execs.conf
source = $hypr/keybinds.conf
source = $hypr/rules.conf

View file

@ -0,0 +1,14 @@
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}

View file

@ -0,0 +1,7 @@
# PyWal Colors
source = ~/.cache/wal/colors-hyprland.conf
general {
col.active_border = $color4 $color13 45deg
col.inactive_border = $color0
}

View file

@ -0,0 +1,19 @@
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 6
blur {
enabled = true
size = 4
passes = 1
ignore_opacity = true
}
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
}

46
hypr/hyprland/env.conf Normal file
View file

@ -0,0 +1,46 @@
# -----------------------------------------------------
# Environment Variables
# -----------------------------------------------------
# General
env = XDG_SESSION_TYPE,wayland
env = QT_QPA_PLATFORM,wayland
# Nvidia
# https://wiki.hyprland.org/Nvidia/
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = NVD_BACKEND,direct
env = GBM_BACKEND,nvidia-drm
env = __GL_VRR_ALLOWED,1
# Electron
env = ELECTRON_OZONE_PLATFORM_HINT,auto
# Themes
env = GTK_THEME,WhiteSur-Dark
env = ICON_THEME,WhiteSur-Dark
env = COLOR_SCHEME,prefer-dark
#Cursors
cursor {
no_hardware_cursors = true
}
# env = XCURSOR_THEME,Volantes Cursors
# env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,Volantes Cursors
env = HYPRCURSOR_SIZE,24
exec-once = hyprctl setcursor $cursorTheme $cursorSize
# exec-once = gsettings set org.gnome.desktop.interface cursor-theme '$cursorTheme'
# exec-once = gsettings set org.gnome.desktop.interface cursor-size $cursorSize
# Fonts
env = FONT_NAME,JetBrainsMono Nerd Font 24
env = DOCUMENT_FONT_NAME,Cantarell 24
env = MONOSPACE_FONT_NAME,JetBrainsMono Nerd Font 5
env = FONT_ANTIALIASING,rgba
env = FONT_HINTING,full
# uwsm/app2unit
env = APP2UNIT_SLICES,'a=app-graphical.slice b=background-graphical.slice s=session-graphical.slice'

22
hypr/hyprland/execs.conf Normal file
View file

@ -0,0 +1,22 @@
# Key ring
exec-once = gnome-keyring-daemon --start --components=secrets
# Idle Daemon
exec-once = hypridle
# Lux-shell
exec-once = quickshell
# Emotes
exec-once = emote
# Wallpaper Daemon
exec-once = swww-daemon
exec-once = [workspace 1 silent] thunderbird
exec-once = [workspace 1 silent] proton-mail --password-store="gnome-libsecret"
exec-once = [workspace 2 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland
exec-once = [workspace 2 silent] signal-desktop --password-store="gnome-libsecret"
exec-once = [workspace 3 silent] zen-browser
exec-once = [workspace 4 silent] alacritty
exec-once = [workspace 5 silent] steam
exec-once = [workspace special:terminal silent] alacritty
exec-once = [workspace special:music silent] tidal-hifi --enable-features=UseOzonePlatform --ozone-platform=wayland

View file

@ -1,16 +1,26 @@
# Lux Keybinds
bind = $mainMod, ESCAPE, global, lux:power-menu
bind = $mainMod, R, global, lux:launcher
bind = $mainMod, M, global, lux:pomodoro
bind = $mainMod, W, global, lux:storybook
bind = $mainMod, grave, global, lux:configuration
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# Global
bind = SUPER, F10, sendshortcut, CTRL, F10, class:^(com\.obsproject\.Studio)$
# Programs
bind = $mainMod, T, exec, $terminal
bind = $mainMod, X, killactive,
bind = $mainMod, ESCAPE, exec, $powerMenu
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, F, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, V, togglesplit, # dwindle
bind = $mainMod, L, exec, $lockScreen # hyprlock
bind = $mainMod, period, exec, emote
bind = $mainMod, B, exec, firefox
bind = $mainMod, period, exec, gnome-characters
bind = $mainMod, B, exec, zen-browser
bind = $mainMod CTRL, F, fullscreen
bind = , PRINT, exec, grim -g "$(slurp)" - | swappy -f -
@ -50,12 +60,12 @@ bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Scratchpad
bind = CTRL SHIFT, S, togglespecialworkspace, magic
bind = CTRL $mainMod, S, movetoworkspace, special:magic
# Terminal
bind = CTRL SHIFT, T, togglespecialworkspace, terminal
bind = CTRL $mainMod, T, movetoworkspace, special:terminal
# Music
bind = CTRL SHIFT, M, togglespecialworkspace, music
bind = CTRL $mainMod, M, movetoworkspace, special:music
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
@ -78,3 +88,6 @@ bind = , XF86AudioStop, exec,
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioNext, exec, playerctl next
# Gestures
# https://wiki.hypr.land/Configuring/Gestures/
gesture = 4, horizontal, workspace

30
hypr/hyprland/rules.conf Normal file
View file

@ -0,0 +1,30 @@
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = nomaxsize, class:.* # You'll probably like this.
# Apps
windowrule = idleinhibit fullscreen, class:^(*)$
windowrule = idleinhibit fullscreen, title:^(*)$
windowrule = idleinhibit fullscreen, fullscreen:1
windowrule = float, center, modal:1
# windowrule = workspace special:terminal, kitty
windowrule = workspace special:music, initialClass:tidal-hifi
windowrule = workspace 1, class:thunderbird
windowrule = workspace 2, class:(discord)
windowrule = workspace 2,class:(signal)
windowrule = opacity 0.999, class:signal
windowrule = workspace 3, class:firefox
windowrule = opacity 0.999, class:firefox
windowrule = workspace 5,float,class:(steam)
windowrule = workspace 5, class:^(steam_app_*)$
windowrule = float, class:org.gnome.Calculator
# Workspaces
workspace = 1, persistent:true
workspace = 2, persistent:true
workspace = 3, persistent:true
workspace = 4, persistent:true
workspace = 5, persistent:true

View file

@ -1,52 +1,141 @@
# _ _ _
# | |__ _ _ _ __ _ __| | ___ ___| | __
# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
# | | | | |_| | |_) | | | | (_) | (__| <
# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
# |___/|_|
#
source = $HOME/.config/hypr/mocha.conf
$primary = rgb(1fb854)
$secondary = rgb(1eb88e)
$accent = rgb(1fb8ab)
$accentAlpha = f5e0dc
$neutral = rgb(19362d)
$base100 = rgb(1b1717)
$base200 = rgb(161212)
$base300 = rgb(110d0d)
$basecontent = rgb(cac9c9)
$basecontentAlpha = cac9c9
$info = rgb(00b5ff)
$success = rgb(00a96e)
$warning = rgb(ffbe00)
$error = rgb(ff5861)
$text = $basecontent
$textAlpha = $basecontentAlpha
$font = JetBrainsMono Nerd Font
# GENERAL
general {
disable_loading_bar = false
hide_cursor = true
ignore_empty_input = true
}
# BACKGROUND
background {
monitor =
#path = $HOME/dotfiles/.settings/lockscreen.png # only png supported for now
color = rgba(25, 20, 20, 1.0)
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
blur_passes = 4 # 0 disables blurring
blur_size = 2
noise = 0.0117
contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
}
input-field {
monitor =
size = 200, 50
outline_thickness = 1
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgb(000000)
inner_color = rgb(200, 200, 200)
font_color = rgb(10, 10, 10)
fade_on_empty = true
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
hide_input = false
position = 0, -20
halign = center
valign = center
path = $HOME/.cache/hyprlock/wallpaper
reload_cmd = "cp $(cat $HOME/.cache/wal/wal) $HOME/.cache/hyprlock/wallpaper"
blur_passes = 1
blur_size = 3
# color = $base
}
# LAYOUT
label {
monitor =
text = Enter your password to unlock
color = rgba(200, 200, 200, 1.0)
shadow_passes = 1
text = Layout: $LAYOUT
color = $text
font_size = 25
font_family = Noto Sans
font_family = $font
position = 20, 20
halign = left
valign = bottom
}
position = 0, 200
# TIME
label {
monitor =
shadow_passes = 1
text = cmd[update:1000] date +"%T"
color = $text
font_size = 90
font_family = $font
position = 0, -20
halign = center
valign = top
}
# DATE
label {
monitor =
shadow_passes = 1
text = cmd[update:43200000] date +"%A, %d %B %Y"
color = $text
font_size = 25
font_family = $font
position = -10, -10
halign = right
valign = top
}
# USER AVATAR
image {
monitor =
path = $HOME/.face
shadow_passes = 1
size = 150
border_color = $base100
border_size = 2
position = 0, 60
halign = center
valign = center
}
# GREETING
label {
monitor =
shadow_passes = 1
text = <span foreground="##$textAlpha">Welcome back <span foreground="##$accentAlpha">$USER</span></span>
color = $text
font_size = 30
font_family = $font
position = 0, 280
halign = center
valign = center
}
# INPUT FIELD
input-field {
monitor =
size = 300, 60
shadow_passes = 1
rounding = 20
outline_thickness = 0
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = $base100
inner_color = $base100
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha"><i>Input password...</i></span>
hide_input = false
check_color = $info
fail_color = $error
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
capslock_color = $warning
position = 0, -90
halign = center
valign = center
}
# QUOTE
label {
monitor =
shadow_passes = 1
text = cmd[update:60000] echo "<i>$(fortune)</i>"
color = $text
font_size = 12
font_family = $font
position = 0, 200
halign = center
valign = bottom
}

View file

@ -1,11 +0,0 @@
#!/bin/bash
CONFIG_FILES="$HOME/.config/swaync/ $HOME/.cache/wal/"
trap "killall swaync" EXIT
swaync &
while true; do
inotifywait -e create,modify -r $CONFIG_FILES
swaync-client -R & swaync-client -rs
done

View file

@ -1,12 +0,0 @@
#!/bin/sh
CONFIG_FILES="$HOME/.config/waybar/ $HOME/.cache/wal/"
trap "killall .waybar-wrapped" EXIT
while true; do
sleep 1.6
waybar &
inotifywait -e create,modify -r $CONFIG_FILES
killall .waybar-wrapped
done

46
install.sh Executable file
View file

@ -0,0 +1,46 @@
#!/bin/bash
source .install/includes/library.sh
clear
cat <<"EOF"
_ _ __ _ _
__| | ___ | |_ / _(_) | ___ ___
/ _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_| _| | | __/\__ \
\__,_|\___/ \__|_| |_|_|\___||___/
EOF
echo -e "${NONE}"
if [ ! -d ~/Development/ ]; then
mkdir ~/Development/
fi
# Install package managers
source .install/install-yay.sh
# Symantic links
source .install/symlink.sh
# Install general packages
source .install/packages/base.sh
source .install/packages/shell.sh
source .install/packages/applications.sh
# source .install/packages/hyprland.sh
echo "Installing pacman packages..."
_installPackagesPacman "${packagesPacman[@]}"
echo "Installing yay packages..."
_installPackagesYay "${packagesYay[@]}"
# oh-my-zsh
source .install/install-oh-my-zsh.sh
# Set Shell
source .scripts/set-shell.sh
# Add asdf plugins
source .install/add-asdf-plugins.sh

30
lux/empty-theme.json Normal file
View file

@ -0,0 +1,30 @@
{
"palette": {
"primary": "",
"primarycontent": "",
"secondary": "",
"secondarycontent": "",
"accent": "",
"accentcontent": "",
"neutral": "",
"neutralcontent": "",
"base100": "",
"base200": "",
"base300": "",
"basecontent": "",
"info": "",
"infocontent": "",
"success": "",
"successcontent": "",
"warning": "",
"warningcontent": "",
"error": "",
"errorcontent": "",
"radiusSelector": "",
"radiusField": "",
"radiusBox": "",
"sizeSelector": "",
"sizeField": "",
"border": ""
}
}

21
lux/shell.json Normal file
View file

@ -0,0 +1,21 @@
{
"powermenu": {
"actions": [
{
"text": "󰍃 Logout",
"command": "hyprctl dispatch exit"
},
{
"text": "󰜉 Reboot",
"command": "systemctl reboot"
},
{
"text": " Shutdown",
"command": "systemctl poweroff"
}
]
},
"wallpaper": {
"directory": "~/Wallpapers/"
}
}

28
lux/themes/dark.json Normal file
View file

@ -0,0 +1,28 @@
{
"primary": "#605dff",
"primarycontent": "#edf1fe",
"secondary": "#f43098",
"secondarycontent": "#f9e4f0",
"accent": "#00d3bb",
"accentcontent": "#084d49",
"neutral": "#09090b",
"neutralcontent": "#e4e4e7",
"base100": "#1d232a",
"base200": "#191e24",
"base300": "#15191e",
"basecontent": "#ecf9ff",
"info": "#00bafe",
"infocontent": "#042e49",
"success": "#00d390",
"successcontent": "#004c39",
"warning": "#fcb700",
"warningcontent": "#793205",
"error": "#ff627d",
"errorcontent": "#4d0218",
"radiusSelector": "8",
"radiusField": "4",
"radiusBox": "8",
"sizeSelector": "3",
"sizeField": "3",
"border": "2"
}

22
lux/themes/forest.json Normal file
View file

@ -0,0 +1,22 @@
{
"primary": "#1fb854",
"primarycontent": "#000000",
"secondary": "#1eb88e",
"secondarycontent": "#000c07",
"accent": "#1fb8ab",
"accentcontent": "#010c0b",
"neutral": "#19362d",
"neutralcontent": "#cdd3d1",
"base100": "#1b1717",
"base200": "#161212",
"base300": "#110d0d",
"basecontent": "#cac9c9",
"info": "#00b5ff",
"infocontent": "#000000",
"success": "#00a96e",
"successcontent": "#000000",
"warning": "#ffbe00",
"warningcontent": "#000000",
"error": "#ff5861",
"errorcontent": "#000000"
}

22
lux/themes/light.json Normal file
View file

@ -0,0 +1,22 @@
{
"primary": "#422ad5",
"primarycontent": "#e0e7ff",
"secondary": "#f43098",
"secondarycontent": "#f9e4f0",
"accent": "#00d3bb",
"accentcontent": "#084d49",
"neutral": "#09090b",
"neutralcontent": "#e4e4e7",
"base100": "#ffffff",
"base200": "#f8f8f8",
"base300": "#eeeeee",
"basecontent": "#18181b",
"info": "#00bafe",
"infocontent": "#042e49",
"success": "#00d390",
"successcontent": "#004c39",
"warning": "#fcb700",
"warningcontent": "#793205",
"error": "#ff627d",
"errorcontent": "#4d0218"
}

22
lux/themes/nord.json Normal file
View file

@ -0,0 +1,22 @@
{
"primary": "#5e81ac",
"primarycontent": "#03060b",
"secondary": "#81a1c1",
"secondarycontent": "#06090d",
"accent": "#88c0d0",
"accentcontent": "#070d10",
"neutral": "#4c566a",
"neutralcontent": "#d8dee9",
"base100": "#eceff4",
"base200": "#e5e9f0",
"base300": "#d8dee9",
"basecontent": "#2e3440",
"info": "#b48ead",
"infocontent": "#0c070b",
"success": "#a3be8d",
"successcontent": "#0a0d07",
"warning": "#ebcb8b",
"warningcontent": "#130f07",
"error": "#bf616a",
"errorcontent": "#0d0304"
}

7
mise/config.toml Normal file
View file

@ -0,0 +1,7 @@
[tools]
go = "latest"
node = "20"
rust = "latest"
bun = "latest"
dotnet = "8"
java = "latest"

0
neofetch/config.conf Executable file
View file

View file

@ -1,8 +0,0 @@
{ pkgs, ... }:
{
hardware.opentabletdriver = {
enable = true;
package = pkgs.opentabletdriver;
daemon.enable = true;
};
}

View file

@ -1,8 +0,0 @@
{ pkgs, ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
}

View file

@ -1,41 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/47f6ac24-4dbc-47d9-bc54-c64509be4e61";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/0355621d-f9ea-485a-8954-d85cd485d475"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,13 +0,0 @@
{ config, ... }:
{
nix.settings = {
experimental-features = [
"nix-command"
"flakes"
];
warn-dirty = false;
};
home.stateVersion = "24.05";
programs.home-manager.enable = true;
}

View file

@ -1,44 +0,0 @@
{ pkgs, ... }:
{
programs.xwayland = {
enable = true;
package = pkgs.xwayland;
};
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
programs.hyprlock.enable = true;
services.hypridle.enable = true;
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
services.gvfs.enable = true;
environment.systemPackages = with pkgs; [
xdg-desktop-portal-gtk
xarchiver
xwayland
xwaylandvideobridge
egl-wayland
# Clipboard
wl-clipboard
cliphist
# Notifications
inotify-tools
# Wallpaper
swww
# Emoji
emote
# Screenshots
grim
slurp
swappy
];
environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

View file

@ -1,14 +0,0 @@
{ ... }:
{
services.pipewire = {
enable = true;
pulse.enable = true;
alsa.enable = true;
wireplumber.enable = true;
};
services.playerctld.enable = true;
services.plex = {
enable = true;
openFirewall = true;
};
}

View file

@ -1,13 +0,0 @@
{ ... }:
{
# networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View file

@ -1,95 +0,0 @@
###############################################################################
# Benjamin's
# NixOS Configuration
###############################################################################
{ pkgs, ... }:
let
username = "benjamin";
in
{
imports = [
# Generated
./hardware-configuration.nix
# Custom
./system.nix
./network.nix
./nvidia.nix
./sddm.nix
./services.nix
./devices.nix
./security.nix
./shell.nix
./hyprland.nix
./media.nix
./gaming.nix
];
nixpkgs.config.permittedInsecurePackages = [ "electron-27.3.11" ];
# Define a user account. Don't forget to set a password with passwd.
users.users.${username} = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
};
home-manager = {
backupFileExtension = "backup";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
# inherit inputs;
};
users.${username} = {
home.username = username;
home.homeDirectory = "/home/${username}";
imports = [
../home-manager/git.nix
../home-manager/hyprland
../home-manager/media.nix
../home-manager/nvim.nix
../home-manager/terminal.nix
../home-manager/yar.nix
../home-manager/applications.nix
./home.nix
];
};
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# System
gcc
cmake
unzip
ffmpeg
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
killall
];
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.05"; # Did you read the comment?
}

View file

@ -1,42 +0,0 @@
{ config, pkgs, ... }:
{
services.xserver.videoDrivers = [ "nvidia" ];
boot.kernelParams = [
"nvidia_drm.fbdev=1"
"nvidia.NVreg_PreserveVideoMemoryAllocations=1"
];
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [ nvidia-vaapi-driver ];
};
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.production;
};
}

View file

@ -1,12 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
# services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
theme = "chili";
# package = pkgs.kdePackages.sddm;
package = pkgs.libsForQt5.sddm;
wayland.enable = true;
};
}

View file

@ -1,4 +0,0 @@
{ ... }:
{
security.polkit.enable = true;
}

View file

@ -1,5 +0,0 @@
{ ... }:
{
# SSH
services.openssh.enable = true;
}

View file

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
environment.shells = with pkgs; [ zsh ];
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
programs.nix-ld = {
enable = true;
libraries = with pkgs; [ stdenv.cc.cc ];
};
}

View file

@ -1,20 +0,0 @@
{ ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nixpkgs.config.allowUnfree = true;
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
};
# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
# console = {
# font = "Lat2-Terminus16";
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };
time.timeZone = "Canada/Eastern";
}

1
nvim Submodule

@ -0,0 +1 @@
Subproject commit cb60a3cd51f58ea6a8e0e2aa6cd576c846cd017c

8
nvim/.gitignore vendored
View file

@ -1,8 +0,0 @@
tt.*
.tests
doc/tags
debug
.repro
foo.*
*.log
data

View file

@ -1,15 +0,0 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
}
}

View file

@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -1,4 +0,0 @@
# 💤 LazyVim
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.

View file

@ -1,2 +0,0 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

View file

@ -1,81 +0,0 @@
{
"LazyVim": { "branch": "main", "commit": "12818a6cb499456f4903c5d8e68af43753ebc869" },
"SchemaStore.nvim": { "branch": "main", "commit": "0d18cb5f8faf160335b4ed4699b6b35c616de5b9" },
"bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
"catppuccin": { "branch": "main", "commit": "18bab5ec4c782cdf7d7525dbe89c60bfa02fc195" },
"clangd_extensions.nvim": { "branch": "main", "commit": "a8500531c4ed3a207e744a374ea038744a0f93eb" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-git": { "branch": "main", "commit": "74a8f919cb2e4627ae2407e6cf845aac21cded41" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"conform.nvim": { "branch": "master", "commit": "42b53fcb83fd8d597e1a1dc08f6db72de58f4f46" },
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
"flash.nvim": { "branch": "main", "commit": "ec0bf2842189f65f60fd40bf3557cac1029cc932" },
"flit.nvim": { "branch": "main", "commit": "1ef72de6a02458d31b10039372c8a15ab8989e0d" },
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
"fzf-lua": { "branch": "main", "commit": "30fa904d5a614051c943a87aa15e14d69aa0138f" },
"gitsigns.nvim": { "branch": "main", "commit": "375c44bdfdde25585466a966f00c2e291db74f2d" },
"grug-far.nvim": { "branch": "main", "commit": "85cadf849bdb22540c36da2034d21de0b37c0952" },
"gruvbox.nvim": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" },
"harpoon": { "branch": "harpoon2", "commit": "0378a6c428a0bed6a2781d459d7943843f374bce" },
"indent-blankline.nvim": { "branch": "master", "commit": "dddb5d21811c319eb6e51a993d8fb44b193aae3f" },
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
"leap.nvim": { "branch": "main", "commit": "c6bfb191f1161fbabace1f36f578a20ac6c7642c" },
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"markdown.nvim": { "branch": "main", "commit": "cd0a5ad8c77c3754d02437048bc0bb604a2fe268" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1c55991321d1a861537e32446affc5de5d9a6eaf" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" },
"mini.animate": { "branch": "main", "commit": "320fb35460238c436407cd779f63abad98e84870" },
"mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" },
"mini.diff": { "branch": "main", "commit": "d58f9cb13400aedc5b5a0ef70fcdf31871ba2ee6" },
"mini.hipatterns": { "branch": "main", "commit": "1811b0661721285fc83494d2e687d538fb3ddac8" },
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
"mini.indentscope": { "branch": "main", "commit": "d2e7b5f0260789c325f92ab3421ff9884ea01842" },
"mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
"mini.surround": { "branch": "main", "commit": "d8913ed23be0a1a4585ae34414821cc343a46174" },
"neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
"neotest": { "branch": "master", "commit": "32ff2ac21135a372a42b38ae131e531e64833bd3" },
"neotest-dotnet": { "branch": "main", "commit": "03509791912eaeac9f993f7cf49e170eca06a8bc" },
"neotest-golang": { "branch": "main", "commit": "baa2cf4be671a368c6b75eccbc78672df8b0c124" },
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
"none-ls.nvim": { "branch": "main", "commit": "cfa65d86e21eeb60544d5e823f6db43941322a53" },
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
"nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" },
"nvim-dap-go": { "branch": "main", "commit": "5511788255c92bdd845f8d9690f88e2e0f0ff9f2" },
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
"nvim-lint": { "branch": "master", "commit": "debabca63c0905b59ce596a55a8e33eafdf66342" },
"nvim-lspconfig": { "branch": "master", "commit": "d4814330b207a4e05ba9515e453b0e87f20357ec" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" },
"nvim-treesitter": { "branch": "master", "commit": "1e860567fbc19f117a03c0d2c46dcc01325c1b8b" },
"nvim-treesitter-context": { "branch": "master", "commit": "0f3332788e0bd37716fbd25f39120dcfd557c90f" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ced6375723b20616282f9f6a1018a63ae19b106a" },
"nvim-ts-autotag": { "branch": "main", "commit": "0cb76eea80e9c73b88880f0ca78fbd04c5bdcac7" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "375c2d86cee6674afd75b4f727ce3a80065552f7" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "aad7bf06b4ca0de816b919d475a75b30f5f62b61" },
"one-small-step-for-vimkind": { "branch": "main", "commit": "0f0d5bc67786c36edc2cb6fb5faa5c09dd1a6e10" },
"outline.nvim": { "branch": "main", "commit": "b47514b8f4ae3207c499a69eec05c29cf2182af8" },
"overseer.nvim": { "branch": "master", "commit": "236e60cdac6410dd95ea5cecafdb801a304d6a41" },
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
"plenary.nvim": { "branch": "master", "commit": "ec289423a1693aeae6cd0d503bac2856af74edaa" },
"refactoring.nvim": { "branch": "master", "commit": "c406fc5fb4d7ba5fce7b668637075fad6e75e9f8" },
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
"todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" },
"tokyonight.nvim": { "branch": "main", "commit": "b0e7c7382a7e8f6456f2a95655983993ffda745e" },
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
"ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" },
"vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" },
"vim-dadbod-ui": { "branch": "master", "commit": "0f51d8de368c8c6220973e8acd156d17da746f4c" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" },
"yanky.nvim": { "branch": "main", "commit": "73215b77d22ebb179cef98e7e1235825431d10e4" }
}

View file

@ -1,42 +0,0 @@
{
"extras": [
"lazyvim.plugins.extras.coding.mini-comment",
"lazyvim.plugins.extras.coding.mini-surround",
"lazyvim.plugins.extras.coding.yanky",
"lazyvim.plugins.extras.dap.core",
"lazyvim.plugins.extras.dap.nlua",
"lazyvim.plugins.extras.editor.fzf",
"lazyvim.plugins.extras.editor.harpoon2",
"lazyvim.plugins.extras.editor.leap",
"lazyvim.plugins.extras.editor.mini-diff",
"lazyvim.plugins.extras.editor.outline",
"lazyvim.plugins.extras.editor.overseer",
"lazyvim.plugins.extras.editor.refactoring",
"lazyvim.plugins.extras.formatting.black",
"lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.git",
"lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.nix",
"lazyvim.plugins.extras.lang.omnisharp",
"lazyvim.plugins.extras.lang.sql",
"lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.typescript",
"lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.linting.eslint",
"lazyvim.plugins.extras.lsp.none-ls",
"lazyvim.plugins.extras.test.core",
"lazyvim.plugins.extras.ui.mini-animate",
"lazyvim.plugins.extras.ui.mini-indentscope",
"lazyvim.plugins.extras.ui.treesitter-context",
"lazyvim.plugins.extras.util.dot",
"lazyvim.plugins.extras.util.mini-hipatterns"
],
"news": {
"NEWS.md": "6520"
},
"version": 6
}

View file

@ -1,3 +0,0 @@
-- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here

View file

@ -1,3 +0,0 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here

View file

@ -1,50 +0,0 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import/override with your plugins
{ import = "plugins" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "tokyonight", "habamax" } },
checker = { enabled = true }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
})

View file

@ -1,3 +0,0 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here

View file

@ -1,93 +0,0 @@
return {
{
"nvim-treesitter/nvim-treesitter",
opts = { ensure_installed = { "cpp" } },
},
{
"p00f/clangd_extensions.nvim",
lazy = true,
config = function() end,
opts = {
inlay_hints = {
inline = false,
},
ast = {
--These require codicons (https://github.com/microsoft/vscode-codicons)
role_icons = {
type = "",
declaration = "",
expression = "",
specifier = "",
statement = "",
["template argument"] = "",
},
kind_icons = {
Compound = "",
Recovery = "",
TranslationUnit = "",
PackExpansion = "",
TemplateTypeParm = "",
TemplateTemplateParm = "",
TemplateParamObject = "",
},
},
},
},
{
"neovim/nvim-lspconfig",
opts = {
servers = {
-- Ensure mason installs the server
clangd = {
mason = false,
keys = {
{ "<leader>ch", "<cmd>ClangdSwitchSourceHeader<cr>", desc = "Switch Source/Header (C/C++)" },
},
root_dir = function(fname)
return require("lspconfig.util").root_pattern(
"Makefile",
"configure.ac",
"configure.in",
"config.h.in",
"meson.build",
"meson_options.txt",
"build.ninja"
)(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")(
fname
) or require("lspconfig.util").find_git_ancestor(fname)
end,
capabilities = {
offsetEncoding = { "utf-16" },
},
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--header-insertion=iwyu",
"--completion-style=detailed",
"--function-arg-placeholders",
"--fallback-style=llvm",
},
init_options = {
usePlaceholders = true,
completeUnimported = true,
clangdFileStatus = true,
},
},
},
setup = {
clangd = function(_, opts)
local clangd_ext_opts = LazyVim.opts("clangd_extensions.nvim")
require("clangd_extensions").setup(vim.tbl_deep_extend("force", clangd_ext_opts or {}, { server = opts }))
return false
end,
},
},
},
{
"nvim-cmp",
opts = function(_, opts)
table.insert(opts.sorting.comparators, 1, require("clangd_extensions.cmp_scores"))
end,
},
}

View file

@ -1,17 +0,0 @@
return {
{ "ellisonleao/gruvbox.nvim" },
{ "catppuccin/nvim",
name = "catppuccin",
priority = 1000,
opts = { flavour = "mocha",
--transparent_background = true,
},
},
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
},
}
}

View file

@ -1,193 +0,0 @@
-- since this is just an example spec, don't actually load anything here and return an empty spec
-- stylua: ignore
if true then return {} end
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
--
-- In your plugin files, you can:
-- * add extra plugins
-- * disable/enabled LazyVim plugins
-- * override the configuration of LazyVim plugins
return {
-- add gruvbox
{ "ellisonleao/gruvbox.nvim" },
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
opts = {
colorscheme = "gruvbox",
},
},
-- change trouble config
{
"folke/trouble.nvim",
-- opts will be merged with the parent spec
opts = { use_diagnostic_signs = true },
},
-- disable trouble
{ "folke/trouble.nvim", enabled = false },
-- override nvim-cmp and add cmp-emoji
{
"hrsh7th/nvim-cmp",
dependencies = { "hrsh7th/cmp-emoji" },
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, { name = "emoji" })
end,
},
-- change some telescope options and a keymap to browse plugin files
{
"nvim-telescope/telescope.nvim",
keys = {
-- add a keymap to browse plugin files
-- stylua: ignore
{
"<leader>fp",
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
desc = "Find Plugin File",
},
},
-- change some options
opts = {
defaults = {
layout_strategy = "horizontal",
layout_config = { prompt_position = "top" },
sorting_strategy = "ascending",
winblend = 0,
},
},
},
-- add pyright to lspconfig
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- pyright will be automatically installed with mason and loaded with lspconfig
pyright = {},
},
},
},
-- add tsserver and setup with typescript.nvim instead of lspconfig
{
"neovim/nvim-lspconfig",
dependencies = {
"jose-elias-alvarez/typescript.nvim",
init = function()
require("lazyvim.util").lsp.on_attach(function(_, buffer)
-- stylua: ignore
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
end)
end,
},
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- tsserver will be automatically installed with mason and loaded with lspconfig
tsserver = {},
},
-- you can do any additional lsp server setup here
-- return true if you don't want this server to be setup with lspconfig
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
setup = {
-- example to setup with typescript.nvim
tsserver = function(_, opts)
require("typescript").setup({ server = opts })
return true
end,
-- Specify * to use this function as a fallback for any server
-- ["*"] = function(server, opts) end,
},
},
},
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
{ import = "lazyvim.plugins.extras.lang.typescript" },
-- add more treesitter parsers
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"bash",
"html",
"javascript",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"query",
"regex",
"tsx",
"typescript",
"vim",
"yaml",
},
},
},
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
-- would overwrite `ensure_installed` with the new value.
-- If you'd rather extend the default config, use the code below instead:
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- add tsx and treesitter
vim.list_extend(opts.ensure_installed, {
"tsx",
"typescript",
})
end,
},
-- the opts function can also be used to change the default opts:
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, "😄")
end,
},
-- or you can return new options to override all the defaults
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function()
return {
--[[add your custom lualine config here]]
}
end,
},
-- use mini.starter instead of alpha
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
{ import = "lazyvim.plugins.extras.lang.json" },
-- add any tools you want to have installed below
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"stylua",
"shellcheck",
"shfmt",
"flake8",
},
},
},
}

View file

@ -1,2 +0,0 @@
return {
}

View file

@ -1,16 +0,0 @@
return {
{
"nvim-treesitter/nvim-treesitter",
opts = { ensure_installed = { "meson" } },
},
{
"neovim/nvim-lspconfig",
opts = {
servers = {
mesonlsp = {
mason = false,
},
},
},
},
}

View file

@ -1,16 +0,0 @@
return {
{
"nvim-treesitter/nvim-treesitter",
opts = { ensure_installed = { "glsl" } },
},
{
"neovim/nvim-lspconfig",
opts = {
servers = {
glslls = {
mason = false,
},
},
},
},
}

View file

@ -1,3 +0,0 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120

1
quickshell Submodule

@ -0,0 +1 @@
Subproject commit 618fc22e803418d922b303817c8af5d1988ecbb7

View file

@ -1,102 +0,0 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Run Applications as Root
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Applications'
mesg='Run Applications as Root'
if [[ "$theme" == *'type-1'* ]]; then
list_col='1'
list_row='5'
win_width='400px'
elif [[ "$theme" == *'type-3'* ]]; then
list_col='1'
list_row='5'
win_width='120px'
elif [[ "$theme" == *'type-5'* ]]; then
list_col='1'
list_row='5'
win_width='520px'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='5'
list_row='1'
win_width='670px'
fi
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Alacritty"
option_2=" Thunar"
option_3=" Geany"
option_4=" Ranger"
option_5=" Vim"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "window {width: $win_width;}" \
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Execute Command
run_cmd() {
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
if [[ "$1" == '--opt1' ]]; then
${polkit_cmd} alacritty
elif [[ "$1" == '--opt2' ]]; then
${polkit_cmd} dbus-run-session thunar
elif [[ "$1" == '--opt3' ]]; then
${polkit_cmd} geany
elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} alacritty -e ranger
elif [[ "$1" == '--opt5' ]]; then
${polkit_cmd} alacritty -e vim
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

View file

@ -1,104 +0,0 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Applets : Favorite Applications
# Import Current Theme
source "$HOME"/.config/rofi/applets/shared/theme.bash
theme="$type/$style"
# Theme Elements
prompt='Applications'
mesg="Installed Packages : `pacman -Q | wc -l` (pacman)"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1'
list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6'
list_row='1'
fi
# CMDs (add your apps here)
term_cmd='alacritty'
file_cmd='thunar'
text_cmd='geany'
web_cmd='firefox'
music_cmd='alacritty -e ncmpcpp'
setting_cmd='xfce4-settings-manager'
# Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Terminal <span weight='light' size='small'><i>($term_cmd)</i></span>"
option_2=" Files <span weight='light' size='small'><i>($file_cmd)</i></span>"
option_3=" Editor <span weight='light' size='small'><i>($text_cmd)</i></span>"
option_4=" Browser <span weight='light' size='small'><i>($web_cmd)</i></span>"
option_5=" Music <span weight='light' size='small'><i>($music_cmd)</i></span>"
option_6=" Settings <span weight='light' size='small'><i>($setting_cmd)</i></span>"
else
option_1=""
option_2=""
option_3=""
option_4=""
option_5=""
option_6=""
fi
# Rofi CMD
rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${theme}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
${term_cmd}
elif [[ "$1" == '--opt2' ]]; then
${file_cmd}
elif [[ "$1" == '--opt3' ]]; then
${text_cmd}
elif [[ "$1" == '--opt4' ]]; then
${web_cmd}
elif [[ "$1" == '--opt5' ]]; then
${music_cmd}
elif [[ "$1" == '--opt6' ]]; then
${setting_cmd}
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

Some files were not shown because too many files have changed in this diff Show more