471 Commits

Author SHA1 Message Date
Hadi
fc4dba9a75 update todos
Former-commit-id: f760d9b564
2024-10-15 15:03:50 +02:00
Hadi
2b56da08c6 change tab size for markdown
Former-commit-id: 80e52cc5c6
2024-10-15 15:02:39 +02:00
Hadi
f95f539cad Add comments to explain each file
Former-commit-id: 915a767283
2024-10-15 15:02:07 +02:00
Hadi
d8b626139a update markdown tab size
Former-commit-id: 4733414bb3
2024-10-15 14:24:58 +02:00
Hadi
477679c0a7 hyprshot -> grimblast
Former-commit-id: 3910bef1bf
2024-10-15 14:14:12 +02:00
Hadi
109ce61bbe add glib
Former-commit-id: 92dded9cc6
2024-10-15 14:05:20 +02:00
Hadi
0c50468ec2 update flake
Former-commit-id: 5e94040f34
2024-10-15 13:42:42 +02:00
Hadi
71f03bde80 update todo
Former-commit-id: 178cb469ab
2024-10-15 13:42:12 +02:00
Hadi
b568faa7f2 From flake to nixvim plugin
Former-commit-id: 59202f132e
2024-10-15 03:47:58 +02:00
Hadi
31a84fd6ff update todo
Former-commit-id: 9f98570ef4
2024-10-15 03:47:43 +02:00
Hadi
30d497fef2 update todo
Former-commit-id: bcd3bd19f0
2024-10-15 03:28:56 +02:00
github-actions
6e41aed96f Update README.md (auto)
Former-commit-id: ad13d77413
2024-10-15 01:22:40 +00:00
Hadi
9256aabe91 edit readme
Former-commit-id: 98d8e2c87d
2024-10-15 03:22:09 +02:00
github-actions
7d54322e8c Update README.md (auto)
Former-commit-id: fd87e06e20
2024-10-15 01:20:20 +00:00
Hadi
364945be45 Edit readme
Former-commit-id: 6c9e632ab8
2024-10-15 03:19:53 +02:00
Hadi
7932ba1f44 Edit github actions
Former-commit-id: 66160d6ae2
2024-10-15 03:18:22 +02:00
Hadi
4eef13d9ba Changes config screenshots
Former-commit-id: 480ae1761d
2024-10-15 03:17:17 +02:00
Hadi
80ea020322 Edit aliases
Former-commit-id: 1b41b58e68
2024-10-15 03:16:57 +02:00
Hadi
31d025a1b8 Update todolist
Former-commit-id: bbbf23b3b0
2024-10-15 02:47:32 +02:00
Hadi
b41644c69d Config lazygit
Former-commit-id: ff2d397191
2024-10-15 02:45:32 +02:00
Hadi
0ec95f82d2 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: afe8e81bf6
2024-10-15 02:34:33 +02:00
Hadi
0df71d76df Init lazygit hm module
Former-commit-id: d097caf401
2024-10-15 02:34:18 +02:00
Hadi
d3f39e88dc Add git aliases
Former-commit-id: 4b6814ae28
2024-10-15 02:34:00 +02:00
github-actions
a8db853539 Update README.md (auto)
Former-commit-id: c76675c145
2024-10-15 00:29:21 +00:00
Hadi
ba4af473f4 Move files to .github
Former-commit-id: ff86acc8c8
2024-10-15 02:28:55 +02:00
Hadi
c272a4a8f9 Edit github actions
Former-commit-id: 7bb5c3b36c
2024-10-15 02:28:24 +02:00
Hadi
16f1aba0c1 Add transparentButtons option in hyprpanel
Former-commit-id: 1c477bacc3
2024-10-15 02:23:14 +02:00
Hadi
9be215cdea Update todo
Former-commit-id: 391d3dd58b
2024-10-15 02:18:54 +02:00
Hadi
f125369e88 Add lazygit
Former-commit-id: e6dd29dac7
2024-10-15 02:17:45 +02:00
Hadi
73d9867b9a Add info
Former-commit-id: 67bed2c355
2024-10-14 22:29:08 +02:00
Hadi
04b3882399 Update github actions
Former-commit-id: 5ec16c82c4
2024-10-14 22:27:33 +02:00
github-actions
ad0c8828cf Update README.md (auto)
Former-commit-id: 277faa310d
2024-10-14 20:21:09 +00:00
Hadi
89252b80bf Init tofi
Former-commit-id: 059acab3f9
2024-10-14 22:20:39 +02:00
Hadi
ab6ae9e7fb Update todolist
Former-commit-id: 95248322f7
2024-10-14 22:20:30 +02:00
Hadi
c84eb4e185 Update readme
Former-commit-id: 0ea82dbf32
2024-10-14 22:20:16 +02:00
Hadi
00236ad9b1 Update github actions
Former-commit-id: 65b9ab0b7e
2024-10-14 22:19:25 +02:00
Hadi
3e9f37ea04 Update readme
Former-commit-id: 4fd7e39c4e
2024-10-14 22:14:49 +02:00
Hadi
0019097d38 Update github actions
Former-commit-id: de477fd3dd
2024-10-14 22:14:30 +02:00
Hadi
90284912bc Update readme
Former-commit-id: 62e6928036
2024-10-14 22:13:13 +02:00
Hadi
f9f63657fb Update github actions
Former-commit-id: 4cfdd8f461
2024-10-14 22:12:52 +02:00
Hadi
319da87024 Update readme
Former-commit-id: 2909de8e3a
2024-10-14 22:11:18 +02:00
Hadi
b5cad0e00c Fix github action
Former-commit-id: e2f6c5e1ff
2024-10-14 22:09:29 +02:00
Hadi
892666e946 Update readme
Former-commit-id: 206de96fa2
2024-10-14 22:08:31 +02:00
Hadi
d1f5b0ea4f Update github actions
Former-commit-id: ff7f46aa5d
2024-10-14 22:07:10 +02:00
Hadi
a8980eb4dd Add white-noise app
Former-commit-id: 34cc630789
2024-10-14 21:23:59 +02:00
Hadi
8482de47b2 Update todolist
Former-commit-id: eb4cb4f4f4
2024-10-14 21:23:45 +02:00
Hadi
7faec62f69 Init KDE Connect
Former-commit-id: 52d7a9f2f0
2024-10-14 21:10:16 +02:00
Hadi
69f2ccceca Fix gtk settings key
Former-commit-id: a8dca6d1c1
2024-10-14 20:57:56 +02:00
Hadi
476d89a651 Flake update
Former-commit-id: d06355d5b7
2024-10-14 20:51:31 +02:00
Hadi
690ae53780 Add documentation per modules
Former-commit-id: 39f74ee63c
2024-10-14 16:35:57 +02:00
Hadi
58ed393097 Edit network placement
Former-commit-id: bd57c19a2b
2024-10-14 14:22:14 +02:00
Hadi
4367c39873 Edit popup font size
Former-commit-id: b9e3f09e7f
2024-10-11 22:33:29 +02:00
Hadi
f32062d541 Fix copilot completion key overlap
Former-commit-id: f5388f478b
2024-10-11 13:02:43 +02:00
Hadi
eb57aa062e Edit todo
Former-commit-id: a24167d107
2024-10-10 22:42:02 +02:00
Hadi
fce3056d8f Init zenmode
Former-commit-id: 53703c0db0
2024-10-10 22:41:39 +02:00
Hadi
42bb93093c merge gh actions updates
Former-commit-id: 6adc0d7c3c
2024-10-10 21:43:33 +02:00
Hadi
e785e84bf2 Init hyprswitch
Former-commit-id: 4969b5aa8f
2024-10-10 21:43:24 +02:00
github-actions
e2af0156c8 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: f595e67528
2024-10-10 14:33:34 +00:00
Hadi
b071daad02 Update
Former-commit-id: b5071b889b
2024-10-10 16:33:21 +02:00
Hadi
4e7a020fc4 Update
Former-commit-id: fa59c4d8c2
2024-10-10 16:31:30 +02:00
github-actions
ac53f1a812 Update README.md (auto)
Former-commit-id: 568306aade
2024-10-10 14:29:41 +00:00
Hadi
5ed0ec12ea Update
Former-commit-id: 159ce3c1c2
2024-10-10 16:29:14 +02:00
Hadi
fc0c2b0d13 Update
Former-commit-id: df52538c42
2024-10-10 15:35:23 +02:00
Hadi
aa1f99e8f4 Update
Former-commit-id: ee894aaea7
2024-10-10 15:28:25 +02:00
Hadi
2b947bd5b1 Update
Former-commit-id: bd7ff1cc20
2024-10-10 15:09:59 +02:00
Hadi
c0efbbd734 Update
Former-commit-id: 3c2157260d
2024-10-09 18:34:02 +02:00
Hadi
6379ff551d Update
Former-commit-id: 36e9281397
2024-10-09 17:09:33 +02:00
Hadi
492d257fa5 Put every variables in top of the file for easy copy to another config
Former-commit-id: 0bd55fdc10
2024-10-09 15:12:50 +02:00
Hadi
3bebb475d7 Update
Former-commit-id: 55c7c7068a
2024-10-08 21:56:44 +02:00
Hadi
4a832f376f Update
Former-commit-id: 5603871ef1
2024-10-08 20:46:56 +02:00
Hadi
a5bd556df9 Update
Former-commit-id: a554505de2
2024-10-08 20:07:56 +02:00
Hadi
c6710b1d64 Update
Former-commit-id: 3f0a694b5f
2024-10-08 20:02:45 +02:00
Hadi
731aa270b6 Update
Former-commit-id: a781a227ac
2024-10-08 13:00:40 +02:00
Hadi
8c74fa0fc8 Remove duckduckgo theme changing alert
Former-commit-id: 5e8139963f
2024-10-08 12:37:56 +02:00
Hadi
0bb41bb6dd Update the readme
Former-commit-id: 85b8874094
2024-10-08 12:35:38 +02:00
Hadi
92e9e59f02 Update the readme
Former-commit-id: d7184174cd
2024-10-08 12:34:50 +02:00
Hadi
7a177e4bb2 Update
Former-commit-id: 8d7fbd74b5
2024-10-08 12:33:38 +02:00
Hadi
e8625f81e9 Update
Former-commit-id: 36527362a7
2024-10-08 11:43:12 +02:00
Hadi
b14c343f14 Update
Former-commit-id: e83de257ad
2024-10-08 11:29:59 +02:00
Hadi
c364668759 Update
Former-commit-id: c401b9bd7f
2024-10-08 10:39:10 +02:00
Hadi
3381fe405b Update
Former-commit-id: 741a6f97ae
2024-10-08 10:17:01 +02:00
Hadi
b738189d0c Update
Former-commit-id: 52e267a436
2024-10-07 20:41:30 +02:00
Hadi
ac914caf6a Update
Former-commit-id: d11cf580f9
2024-10-07 20:27:07 +02:00
Hadi
97e2c915cd Update
Former-commit-id: d37504de7c
2024-10-07 18:34:06 +02:00
Hadi
21ed46cd7c Update
Former-commit-id: 8a41ffad2f
2024-10-07 13:13:23 +02:00
Hadi
7eb4e5ade9 Update
Former-commit-id: 3aa0fb8a22
2024-10-07 12:02:26 +02:00
Hadi
dae95bc5be Update
Former-commit-id: 75f2c2c7c6
2024-10-07 11:17:59 +02:00
Hadi
a33cf73ff1 Update
Former-commit-id: ab65fe342b
2024-10-07 10:13:21 +02:00
Hadi
18c30e5931 Update
Former-commit-id: 905cc9a885
2024-10-06 18:49:52 +02:00
Hadi
13c8f27411 Testing
Former-commit-id: 23dcfd5290
2024-10-05 11:48:16 +02:00
Hadi
a640670baa Update
Former-commit-id: 270c1b959e
2024-10-04 21:12:13 +02:00
Hadi
ae77733c71 Update
Former-commit-id: 58fa41a210
2024-10-04 21:03:01 +02:00
Hadi
6827360045 Update
Former-commit-id: 8f6b049129
2024-10-04 10:58:53 +02:00
Hadi
359e9745d6 Update
Former-commit-id: 7047ffe785
2024-10-03 10:18:49 +02:00
Hadi
56bcd3d56a Update
Former-commit-id: fe657984fe
2024-10-01 17:16:24 +02:00
Hadi
8a81c546de Update
Former-commit-id: 660c99d5ed
2024-10-01 15:05:02 +02:00
Hadi
23f0682eac Update
Former-commit-id: 7f1c7446f8
2024-10-01 14:57:15 +02:00
Hadi
418bc45bd2 Update
Former-commit-id: 804e6b255e
2024-10-01 13:58:05 +02:00
Hadi
1c4fece944 Update
Former-commit-id: 381e839dfa
2024-10-01 13:21:25 +02:00
Hadi
3716ba6b4f Update
Former-commit-id: 57c0df5d48
2024-09-30 21:15:21 +02:00
Hadi
0e56be3428 Update
Former-commit-id: c1609eefff
2024-09-23 15:12:05 +02:00
Hadi
7beef9441e Update
Former-commit-id: 22c67467c0
2024-09-20 13:35:40 +02:00
Hadi
176e3ba305 Update
Former-commit-id: f49ac89514
2024-09-18 23:54:02 +02:00
Hadi
ed045316ff Update
Former-commit-id: e47edc0c1f
2024-09-18 23:53:39 +02:00
Hadi
cfec304bbb Update
Former-commit-id: 2721d11575
2024-09-18 00:52:23 +02:00
Hadi
575bb58bfc Update
Former-commit-id: c97e51a9d2
2024-09-16 17:28:52 +02:00
Hadi
9ce3df4884 Update
Former-commit-id: ac293a378c
2024-09-16 17:24:47 +02:00
Hadi
3c9875a110 Update
Former-commit-id: 615028dcca
2024-09-15 20:58:24 +02:00
Hadi
8c69c549db update
Former-commit-id: feeb938f5e
2024-09-13 22:07:19 +02:00
Hadi
f1f919fe49 Update
Former-commit-id: b6ec38b1a1
2024-09-13 20:04:14 +02:00
Hadi
12cc080fc3 Update
Former-commit-id: 86d990f157
2024-09-12 01:36:59 +02:00
Hadi
6b4b9a9aa7 Update
Former-commit-id: a16ea9af7d
2024-09-12 00:25:37 +02:00
Hadi
6207e48d84 Update
Former-commit-id: 7904e497bd
2024-09-11 17:53:25 +02:00
Hadi
b41dfdf664 Update
Former-commit-id: 7f5e4a8e6d
2024-09-10 09:50:27 +02:00
Hadi
8155f65fb9 Update
Former-commit-id: 1a7e84a8dd
2024-09-09 13:56:45 +02:00
Hadi
b0ca6aa757 Update
Former-commit-id: 381f88cf0d
2024-09-07 17:25:21 +02:00
Hadi
fd0251afbc Update
Former-commit-id: 166c9f3139
2024-09-06 20:19:21 +02:00
Hadi
5e16ae7463 Update
Former-commit-id: 316e0cd2d3
2024-09-04 22:37:24 +02:00
Hadi
2a2f4e4b9d Update
Former-commit-id: 8fe7237409
2024-09-04 22:36:17 +02:00
Hadi
eef1d9531f Update
Former-commit-id: 2ffa7e9518
2024-09-04 22:01:48 +02:00
Hadi
b92243118d Update
Former-commit-id: cc8d0ddca3
2024-09-04 21:24:51 +02:00
Hadi
01f9894fc6 update
Former-commit-id: da2aab6f76
2024-09-04 21:07:53 +02:00
Hadi
03d202250b update
Former-commit-id: 79403b916d
2024-09-04 21:06:59 +02:00
Hadi
9cb8036b73 Update
Former-commit-id: 0489f7eaa7
2024-09-04 21:04:53 +02:00
Hadi
60fe3769e8 Release v2.4.0
Former-commit-id: 7ddff66f00
2024-09-04 10:11:28 +02:00
Hadi
641bf821d4 Update
Former-commit-id: e1f973cabf
2024-09-04 10:10:52 +02:00
Hadi
25aa619445 Update
Former-commit-id: e38895c4a5
2024-09-04 10:10:32 +02:00
Hadi
5a0d476de3 Update
Former-commit-id: c2e6fd7d32
2024-09-04 09:34:42 +02:00
Hadi
00db8d0ae6 Update
Former-commit-id: 3d8bcaeeb2
2024-09-04 02:02:57 +02:00
Hadi
ef66b6f848 Add wofi clipman
Former-commit-id: 4135134261
2024-09-04 01:53:36 +02:00
Hadi
59caed5e69 Add wofi emoji
Former-commit-id: 027ef1c398
2024-09-04 01:44:37 +02:00
Hadi
dad0865d06 Change to gammastep
Former-commit-id: 659509e613
2024-09-04 01:40:24 +02:00
Hadi
c106c76cbc Update
Former-commit-id: e9a20f49e2
2024-09-02 18:30:30 +02:00
Hadi
4181544de8 Update
Former-commit-id: 75562adea8
2024-09-02 09:29:50 +02:00
Hadi
30c8414749 Update
Former-commit-id: 4afca71b91
2024-08-30 17:29:30 +02:00
Hadi
6bb9386773 Update
Former-commit-id: 4a8f1be75f
2024-08-30 17:02:38 +02:00
Hadi
ae82cbcf67 Update
Former-commit-id: 4540b40dc4
2024-08-30 16:13:57 +02:00
Hadi
518ac107c6 Update
Former-commit-id: fcd5eca04f
2024-08-30 16:06:22 +02:00
Hadi
58f5f421e8 Update
Former-commit-id: da1b88305d
2024-08-30 15:47:17 +02:00
Hadi
999950afc9 Update
Former-commit-id: f0e9294982
2024-08-30 14:16:30 +02:00
Hadi
13a6249227 Update
Former-commit-id: b3f20e6aef
2024-08-30 09:33:57 +02:00
Hadi
c68df370cc Update
Former-commit-id: 48a59c4c55
2024-08-29 22:46:04 +02:00
Hadi
c08d551932 Update
Former-commit-id: c83e5b2213
2024-08-29 17:04:05 +02:00
Hadi
fa63cf950a Update
Former-commit-id: 55a5c52c51
2024-08-29 14:29:05 +02:00
Hadi
31cb1fd0f2 Release v2.3.0
Former-commit-id: 90e8d5577e
2024-08-28 12:30:52 +02:00
Hadi
647236f7b0 Fetch the gtk flatcolor theme folder from github
Former-commit-id: 835a9e9da2
2024-08-28 12:30:04 +02:00
Hadi
43566fc4ae Update
Former-commit-id: 3c171c33be
2024-08-28 11:43:03 +02:00
Hadi
682c50793c Update
Former-commit-id: aa8fca0bed
2024-08-26 17:48:05 +02:00
Hadi
2958b5a03c Update
Former-commit-id: 1255919f41
2024-08-24 17:09:12 +02:00
Hadi
2b25d18bd5 update
Former-commit-id: 109f31151d
2024-08-23 11:42:33 +02:00
Hadi
248f9a5ba8 update
Former-commit-id: 3c3acd03b4
2024-08-23 11:28:15 +02:00
Hadi
89ff802e16 update
Former-commit-id: 65c95ac82a
2024-08-23 11:28:07 +02:00
Hadi
13643dc1bc update
Former-commit-id: 776095c817
2024-08-23 11:25:23 +02:00
Hadi
188ef240ae update
Former-commit-id: d36952e040
2024-08-23 11:23:16 +02:00
Hadi
a8c1b6363d update
Former-commit-id: ae0480cab3
2024-08-23 10:59:21 +02:00
Hadi
8aaa6199f2 update
Former-commit-id: bd8e69fe44
2024-08-23 10:58:07 +02:00
Hadi
4cd544d59f update
Former-commit-id: ddeaf0170d
2024-08-23 10:56:42 +02:00
Hadi
c9a4f2115d update
Former-commit-id: f27b66f878
2024-08-23 10:52:35 +02:00
Hadi
395efb8ef1 update
Former-commit-id: 574b0043ac
2024-08-23 10:52:11 +02:00
Hadi
1280370a0a update
Former-commit-id: fbd804939f
2024-08-23 10:51:31 +02:00
Hadi
f9bcfb5b50 update
Former-commit-id: cfa4e187c5
2024-08-23 10:31:25 +02:00
Hadi
3244b2d7e0 update
Former-commit-id: b1d3094bcc
2024-08-23 10:25:43 +02:00
Hadi
eff0846c0f update
Former-commit-id: 1f7ca17d94
2024-08-23 10:12:00 +02:00
Hadi
e2a10d4067 update
Former-commit-id: d939bc6f53
2024-08-23 10:11:07 +02:00
Hadi
39a1d16701 update
Former-commit-id: 3419421098
2024-08-23 10:09:02 +02:00
Hadi
adbe7f3295 Update
Former-commit-id: d816099985
2024-08-22 21:02:14 +02:00
Hadi
d67f234b2b update
Former-commit-id: 28424b82ab
2024-08-22 16:28:08 +02:00
Hadi
14a3a77c9e update
Former-commit-id: 771dceeb06
2024-08-22 16:11:48 +02:00
Hadi
0a1f505dd1 update
Former-commit-id: a2d4d36289
2024-08-22 16:07:39 +02:00
Hadi
c6b1af26ce update
Former-commit-id: e4fce0a17a
2024-08-22 16:06:44 +02:00
Hadi
4a42f1fc91 update
Former-commit-id: 88a8168ce2
2024-08-22 16:02:10 +02:00
Hadi
612a8f6d33 update
Former-commit-id: 58d809d860
2024-08-22 15:41:28 +02:00
Hadi
e7b608ecc4 update
Former-commit-id: 4b3f43e402
2024-08-22 15:32:46 +02:00
Hadi
bfe270b6e1 update
Former-commit-id: bbe0574051
2024-08-22 15:28:47 +02:00
Hadi
e5f82cdb2d Update
Former-commit-id: 3ef71b9fa2
2024-08-22 15:25:32 +02:00
Hadi
d705c8cecc Update
Former-commit-id: a240a76a8e
2024-08-20 15:27:18 +02:00
Hadi
f2613218db Update
Former-commit-id: d254085e29
2024-08-20 00:17:10 +02:00
Hadi
2099c4636c Update
Former-commit-id: ac2223ad24
2024-08-19 22:50:30 +02:00
Hadi
8cf93bfbc8 Update
Former-commit-id: 8092a2d348
2024-08-19 22:28:49 +02:00
Hadi
b2dca45c34 Update
Former-commit-id: c434816d83
2024-08-19 22:20:59 +02:00
Hadi
403e4e1967 Update
Former-commit-id: 9e8637e9a8
2024-08-19 21:09:21 +02:00
Hadi
7ef771f14e Update
Former-commit-id: d1896b626b
2024-08-19 20:40:29 +02:00
Hadi
acb7db87df Release v2.2.0
Former-commit-id: e6f66110f0
2024-08-19 20:32:10 +02:00
Hadi
0f5b7f60b6 Update
Former-commit-id: caaa500232
2024-08-19 19:42:20 +02:00
Hadi
d7264b0de1 Update
Former-commit-id: e27d43df71
2024-08-19 19:41:24 +02:00
Hadi
23b518381a Update
Former-commit-id: 79a69d245c
2024-08-19 19:36:21 +02:00
Hadi
8876aae16c Update
Former-commit-id: 849eb5dd11
2024-08-19 00:38:27 +02:00
Hadi
0ed5d1cf04 Update
Former-commit-id: 31ac58592e
2024-08-19 00:15:43 +02:00
Hadi
83decac5e9 Update
Former-commit-id: b9fda769bc
2024-08-18 23:57:00 +02:00
Hadi
9104494893 Update
Former-commit-id: 94c88e04f2
2024-08-18 23:56:48 +02:00
Hadi
10d1a73eeb Update
Former-commit-id: 9d74ac9d82
2024-08-18 23:52:21 +02:00
Hadi
307c0b5edd Update
Former-commit-id: a64c79ae22
2024-08-18 23:43:17 +02:00
Hadi
321914861f Release v2.1.0
Former-commit-id: a134abdea3
2024-08-18 23:40:47 +02:00
Hadi
b851c527af Update
Former-commit-id: 957b148656
2024-08-18 23:29:31 +02:00
Hadi
69f1aa3072 Update
Former-commit-id: 7fab715859
2024-08-18 23:29:08 +02:00
Hadi
aeaee053c4 Update
Former-commit-id: 246b5b6c8e
2024-08-11 12:02:11 +02:00
Hadi
7632e82867 Update
Former-commit-id: a318562aa7
2024-08-10 13:28:07 +02:00
Hadi
ffbb5eb322 Update
Former-commit-id: 4ec671e6b4
2024-08-02 20:53:58 +02:00
Hadi
fe6288d42c Update
Former-commit-id: e3f4493865
2024-07-29 19:34:43 +02:00
Hadi
f54ec0a5ab Update
Former-commit-id: 5c5a2796f6
2024-07-25 23:23:11 +02:00
Hadi
768b475183 Update
Former-commit-id: a7bd5ad28b
2024-07-24 23:38:16 +02:00
Hadi
0643968e77 Update
Former-commit-id: 830dc909e2
2024-07-22 22:32:10 +02:00
Hadi
18a17abad4 Update
Former-commit-id: 351dc0ebb3
2024-07-22 21:49:19 +02:00
Hadi
c4b19710ef Update
Former-commit-id: aff363f37d
2024-07-21 22:20:55 +02:00
Hadi
1beb1be29c Update
Former-commit-id: fdd41cf848
2024-07-19 13:03:34 +02:00
Hadi
621520e9e8 Update
Former-commit-id: 308cbfcb19
2024-07-13 12:04:41 +02:00
Hadi
f030f9b6ed Update
Former-commit-id: 1dc5190c43
2024-07-11 16:07:04 +02:00
Hadi
f6c5f90a75 Update
Former-commit-id: 8412b4dd93
2024-07-09 16:20:53 +02:00
Hadi
3ad6f353b6 Update
Former-commit-id: 04d2e91dd5
2024-07-09 15:01:41 +02:00
Hadi
debc426717 Update
Former-commit-id: 70459117ed
2024-07-09 14:16:50 +02:00
Hadi
0e6f7110e4 Update
Former-commit-id: 87ee1c7738
2024-07-09 14:00:14 +02:00
Hadi
af3b9fcd6e Update
Former-commit-id: 0509eba07f
2024-07-09 13:41:42 +02:00
Hadi
8e5df9ff90 Update
Former-commit-id: 9142814f8f
2024-07-09 12:05:04 +02:00
Hadi
7e1eaf33af Update
Former-commit-id: 33a9386356
2024-07-09 11:44:32 +02:00
Hadi
6a12e7cde9 Update
Former-commit-id: fb73cce28a
2024-07-09 11:12:41 +02:00
Hadi
9a4fb9fd61 Update
Former-commit-id: e0c24bf068
2024-07-09 09:47:29 +02:00
Hadi
c77dd39a98 Update
Former-commit-id: 8e63ef0b46
2024-07-09 09:38:51 +02:00
Hadi
a0a7d5755a Merge branch 'main' of github.com:anotherhadi/nixy
Update


Former-commit-id: e107b25a2f
2024-07-09 09:33:49 +02:00
Hadi
5efa224a57 Update
Former-commit-id: 841f9625e9
2024-07-09 09:33:21 +02:00
Hadi
61e195d134 update
Former-commit-id: ddddd3b4a4
2024-07-08 07:45:56 +00:00
Hadi
5b2c6db769 Update
Former-commit-id: a73a50aa1f
2024-07-06 00:37:24 +02:00
Hadi
c6fee1ccd6 Update
Former-commit-id: cd7db37ccd
2024-07-06 00:35:41 +02:00
Hadi
60652a60df Update
Former-commit-id: 9931071846
2024-07-05 14:56:19 +02:00
Hadi
b41f3576c9 Update
Former-commit-id: de4347765c
2024-07-05 10:16:16 +02:00
Hadi
edacf85795 Update
Former-commit-id: 5bee2d6931
2024-07-05 09:20:58 +02:00
Hadi
7dd9f021f0 Update
Former-commit-id: 7dc7cfcaba
2024-07-05 09:09:43 +02:00
Hadi
ce4da71c70 Update
Former-commit-id: a8d37c3fcd
2024-07-05 08:49:18 +02:00
Hadi
0380714faa Update
Former-commit-id: fa6d5d50bd
2024-07-02 12:18:49 +02:00
Hadi
2b7d962b27 update
Former-commit-id: fdff88cc9d
2024-07-01 13:15:24 +00:00
Hadi
11f73f74ff nixvim refactor
Former-commit-id: 55caf123df
2024-07-01 13:07:12 +00:00
Hadi
8cc101b169 Update
Former-commit-id: 88ae1d29a5
2024-07-01 13:04:32 +02:00
Hadi
0bd30d921b update todos
Former-commit-id: 51739ac610
2024-07-01 08:41:07 +00:00
Hadi
fe238ca49a update
Former-commit-id: 76a6f6cd6e
2024-07-01 08:34:04 +00:00
Hadi
527a22c37b update
Former-commit-id: 7ef2c71725
2024-07-01 08:32:49 +00:00
Hadi
e1ad72405f update
Former-commit-id: 81574fd7bc
2024-07-01 08:31:12 +00:00
Hadi
985a8b063d Add wallpapers
Former-commit-id: ba9dde2c1a
2024-07-01 10:13:17 +02:00
Hadi
66677bc08e update
Former-commit-id: 93837b6bea
2024-06-30 18:01:52 +02:00
Hadi
f3434352d2 Update
Former-commit-id: 8b76bf48a6
2024-06-30 17:59:39 +02:00
Hadi
65b82b3609 update
Former-commit-id: c80ddff8eb
2024-06-30 17:46:32 +02:00
Hadi
c3e544248f update
Former-commit-id: c4d436b434
2024-06-30 17:42:09 +02:00
Hadi
6a33d7ac72 update
Former-commit-id: dae8755b59
2024-06-30 17:35:58 +02:00
Hadi
9b8c5b9b19 Update
Former-commit-id: 7c0216b1fb
2024-06-30 17:32:42 +02:00
Hadi
130415e809 Update
Former-commit-id: 40ffce6605
2024-06-29 00:18:07 +02:00
Hadi
52a029e998 Update
Former-commit-id: 56c2c41b68
2024-06-28 16:35:49 +02:00
Hadi
d1a8286a21 Update
Former-commit-id: 06f5e03e66
2024-06-28 16:32:52 +02:00
Hadi
78bccf2c7e Update
Former-commit-id: 921c359693
2024-06-28 15:02:53 +02:00
Hadi
4290cc3c35 update
Former-commit-id: 1f35859f2c
2024-06-28 14:35:35 +02:00
Hadi
8f70b0d26b Update
Former-commit-id: 71f405e633
2024-06-28 01:24:27 +02:00
Hadi
d9580c1dff update
Former-commit-id: 84b645e181
2024-06-28 01:11:49 +02:00
Hadi
763fa5e549 update
Former-commit-id: 5857299c20
2024-06-28 01:10:09 +02:00
Hadi
0c68ac35b5 update
Former-commit-id: ec24cde14f
2024-06-28 01:07:53 +02:00
Hadi
3ed7128cc4 update
Former-commit-id: 3f79044a2a
2024-06-28 01:07:24 +02:00
Hadi
d7f34d9f0e Update
Former-commit-id: cf6ea202e1
2024-06-28 00:58:12 +02:00
Hadi
826fd6aaaf Update
Former-commit-id: 84f87f9833
2024-06-27 19:42:08 +02:00
Hadi
1fba2d19b3 Update
Former-commit-id: ae6818ed65
2024-06-27 18:32:17 +02:00
Hadi
d92bbe59a6 update
Former-commit-id: cd7b35389e
2024-06-27 09:49:24 +00:00
Hadi
edc0243200 update
Former-commit-id: c8c81e20ae
2024-06-27 09:20:44 +00:00
Hadi
27ac4008f8 golang bin to $PATH
Former-commit-id: 2972b4238c
2024-06-27 08:45:21 +00:00
Hadi
9dc7b851f5 update
Former-commit-id: b35d35f3d5
2024-06-27 08:42:42 +00:00
Hadi
4a2d941991 update
Former-commit-id: bde31a4934
2024-06-27 08:32:24 +00:00
Hadi
a62c549e8f update
Former-commit-id: 170287e948
2024-06-27 08:31:28 +00:00
Hadi
7232c54382 create keybindings doc
Former-commit-id: 5d14ec00b5
2024-06-27 08:24:13 +00:00
Hadi
25067c9d06 Merge branch 'main' of https://github.com/anotherhadi/nixy
Former-commit-id: f6209d0754
2024-06-27 07:50:31 +00:00
Hadi
be8b1b696c update todo
Former-commit-id: 9e906c161a
2024-06-27 07:46:24 +00:00
Hadi
885f18806e Update
Former-commit-id: 071ce93f11
2024-06-27 00:11:54 +02:00
Hadi
b9ebf59fea Update
Former-commit-id: a9939a0f54
2024-06-27 00:10:09 +02:00
Hadi
ba007b4710 Update
Former-commit-id: 9cf68648eb
2024-06-26 22:18:39 +02:00
Hadi
1d8bc979c3 Update
Former-commit-id: 652377bd9b
2024-06-26 22:17:03 +02:00
Hadi
a7197e360e Update
Former-commit-id: dd9c61b9ff
2024-06-26 22:13:14 +02:00
Hadi
878754ad8b update
Former-commit-id: c00458c02a
2024-06-26 21:30:04 +02:00
Hadi
4a08e654e0 Update
Former-commit-id: 1df0f31dbc
2024-06-26 21:19:04 +02:00
Hadi
5d94699990 add md-table-of-contents source
Former-commit-id: 6a8382c79e
2024-06-26 14:46:22 +00:00
Hadi
d98468a34d update
Former-commit-id: 1ed7675095
2024-06-26 14:44:08 +00:00
Hadi
5f73e46e73 Update
Former-commit-id: 57cab5fa52
2024-06-26 12:31:58 +02:00
Hadi
674ef50ac9 update
Former-commit-id: 3cfb9e733a
2024-06-26 10:32:58 +02:00
Hadi
d276202288 Update
Former-commit-id: bb4617160c
2024-06-25 22:22:26 +02:00
Hadi
9b31f3be8d update
Former-commit-id: 80f8ca3e9a
2024-06-25 22:20:17 +02:00
Hadi
24d0f22f8e Update
Former-commit-id: c618feced4
2024-06-25 21:57:24 +02:00
Hadi
13cf7cd494 Update
Former-commit-id: 6f6c8bebf7
2024-06-25 18:10:20 +02:00
Hadi
65c430318f Update
Former-commit-id: 6d0855ce44
2024-06-25 18:02:38 +02:00
Hadi
b4e6f9d48c update
Former-commit-id: 32af0cf534
2024-06-25 11:57:53 +02:00
Hadi
a024023c43 init keybindings.md
Former-commit-id: 0b4f2d6970
2024-06-25 11:47:15 +02:00
Hadi
6edf2cd0b9 install script test
Former-commit-id: b4947a61c5
2024-06-25 11:39:34 +02:00
Hadi
d2b3e6b430 up
Former-commit-id: 4e5cdbbac5
2024-06-25 09:49:11 +02:00
Hadi
b5476da7ef version pull
Former-commit-id: c0a0afd077
2024-06-25 09:26:10 +02:00
Hadi
9c1afd279c Update TODO.md
Former-commit-id: e047f99306
2024-06-24 22:31:49 +02:00
Hadi
f998316b9e rearrange folders
Former-commit-id: fbb6fe70ff
2024-06-24 21:18:20 +02:00
Hadi
fea1eade7f Change notification system
Former-commit-id: 3b84f735ee
2024-06-24 21:13:22 +02:00
Hadi
2517219f4c Fix
Former-commit-id: 1cdfe8e278
2024-06-24 20:44:09 +02:00
Hadi
c5d95b14ea Update TODO.md
Former-commit-id: 1eb830a97c
2024-06-24 16:37:59 +02:00
Hadi
0a7befb23b todo update
Former-commit-id: ec924af562
2024-06-24 14:35:46 +02:00
Hadi
41116fb2b5 update
Former-commit-id: 5d47643320
2024-06-24 11:05:38 +02:00
Hadi
cf2f5f2f9b Update
Former-commit-id: 282c04af67
2024-06-24 00:40:05 +02:00
Hadi
35ba84724f Update
Former-commit-id: 7397237149
2024-06-24 00:33:36 +02:00
Hadi
2151fc6f90 Update
Former-commit-id: 1a4ff5e542
2024-06-24 00:17:07 +02:00
Hadi
45ed8258ca Update
Former-commit-id: 0cec3f04d2
2024-06-24 00:12:53 +02:00
Hadi
ffc95dcd1b Update
Former-commit-id: 87ae5dd36f
2024-06-24 00:10:35 +02:00
Hadi
2c68166067 update
Former-commit-id: 2e31e74d92
2024-06-23 23:51:07 +02:00
Hadi
ae83c7497a update
Former-commit-id: 0922357af2
2024-06-23 23:47:31 +02:00
Hadi
03c675cf62 update
Former-commit-id: 1d298c60d5
2024-06-23 23:43:47 +02:00
Hadi
a4d8670563 update
Former-commit-id: d5aa5b1a49
2024-06-23 23:32:18 +02:00
Hadi
0114b629e6 update
Former-commit-id: 469f903657
2024-06-23 20:11:35 +02:00
Hadi
7f4280af72 update
Former-commit-id: ae95a1b457
2024-06-23 20:10:15 +02:00
Hadi
e7b4080c2a update
Former-commit-id: 101712c8bb
2024-06-23 19:59:53 +02:00
Hadi
c541832066 update
Former-commit-id: 5dce9af547
2024-06-23 19:54:21 +02:00
Hadi
8b57bffcd6 update
Former-commit-id: d215570fea
2024-06-23 18:35:16 +02:00
Hadi
7a4e3ad1a3 update
Former-commit-id: aa7801b04f
2024-06-23 18:32:04 +02:00
Hadi
7a2c2c6201 update
Former-commit-id: d1789906a2
2024-06-23 18:28:15 +02:00
Hadi
a8c0fdb670 update
Former-commit-id: a4f74f5fe7
2024-06-23 18:26:25 +02:00
Hadi
5ce310fe6d update
Former-commit-id: afd56d878e
2024-06-23 18:24:30 +02:00
Hadi
89818e9ee2 update
Former-commit-id: 12ebcadd71
2024-06-23 17:53:09 +02:00
Hadi
d943b85cc9 update
Former-commit-id: c5420f8d3a
2024-06-23 17:52:19 +02:00
Hadi
8eaa78bf4b Update
Former-commit-id: f8786dd24f
2024-06-23 17:32:18 +02:00
Hadi
82d6c29f21 Update
Former-commit-id: caee38f568
2024-06-23 15:48:52 +02:00
Hadi
72a8aa16bb Update
Former-commit-id: 487d81ff86
2024-06-23 15:14:29 +02:00
Hadi
5c9b799afe Update
Former-commit-id: 4046038cf2
2024-06-23 14:53:23 +02:00
Hadi
eb584dac56 Update
Former-commit-id: e9a5a9e574
2024-06-23 14:52:35 +02:00
Hadi
2fd610a09c Update
Former-commit-id: 98f708d693
2024-06-23 14:50:06 +02:00
Hadi
8eb88f474a Update
Former-commit-id: 66cd92d740
2024-06-23 14:47:22 +02:00
Hadi
f73291c269 Update
Former-commit-id: 2b5813057c
2024-06-23 14:46:11 +02:00
Hadi
e93e5807f9 Update
Former-commit-id: bbb35737c2
2024-06-23 14:45:51 +02:00
Hadi
6d0a2e186b Update
Former-commit-id: 1efdadbdad
2024-06-23 14:23:36 +02:00
Hadi
c2a700ef3a Update
Former-commit-id: 9f98ec2a52
2024-06-23 14:22:01 +02:00
Hadi
7b0deaf9c1 Update
Former-commit-id: 6f8c9d7836
2024-06-23 14:19:45 +02:00
Hadi
98d1ccb2c0 Add remote rebuild (server)
Former-commit-id: d1f5aa6dfa
2024-06-23 13:53:01 +02:00
Hadi
e6f46e1788 Update
Former-commit-id: 54eb13bc40
2024-06-23 13:46:07 +02:00
Hadi
e6c2becccb Update
Former-commit-id: f29e68ef63
2024-06-23 13:36:37 +02:00
Hadi
cfc9f99c83 Update
Former-commit-id: 8260c9d554
2024-06-21 15:49:16 +02:00
Hadi
3c43b277b7 Update
Former-commit-id: ec5b132e17
2024-06-21 15:48:37 +02:00
Hadi
64f789e52a Update
Former-commit-id: 45c0175d72
2024-06-21 15:25:14 +02:00
Hadi
9ab4dae87b Update
Former-commit-id: 154c21859d
2024-06-21 13:58:14 +02:00
Hadi
f2b742e470 Update
Former-commit-id: d100690333
2024-06-21 13:45:59 +02:00
Hadi
a3f44fa53c Update
Former-commit-id: 9fd64e9f04
2024-06-21 13:44:56 +02:00
Hadi
91d06ef6a4 Update
Former-commit-id: 909c32fef8
2024-06-21 13:42:14 +02:00
Hadi
b9df9861fc Update
Former-commit-id: feea4f5ad9
2024-06-21 13:14:54 +02:00
Hadi
049e2a9214 Update
Former-commit-id: 1ce9d2e46f
2024-06-20 18:04:50 +02:00
Hadi
78bb7ff465 Update
Former-commit-id: ae48fb8605
2024-06-20 17:43:20 +02:00
Hadi
8e04a559b9 Update
Former-commit-id: 636d921341
2024-06-20 17:34:56 +02:00
Hadi
aa3f3e2269 Update
Former-commit-id: fa7ec583b6
2024-06-20 17:33:40 +02:00
Hadi
bcc505f5dd Update
Former-commit-id: a723bd6087
2024-06-20 17:30:14 +02:00
Hadi
f0617924b0 Update
Former-commit-id: 3950c68160
2024-06-20 17:08:25 +02:00
Hadi
14c33a8191 Update
Former-commit-id: 4653a9e86f
2024-06-20 16:39:59 +02:00
Hadi
fcd92d0155 Update
Former-commit-id: 9e191c76eb
2024-06-20 16:32:27 +02:00
Hadi
9d73c644a7 Update
Former-commit-id: 2996ca0d12
2024-06-20 15:43:04 +02:00
Hadi
c5c0fdc7cc Update
Former-commit-id: c7beef1880
2024-06-20 15:41:54 +02:00
Hadi
42d7b8b820 Update
Former-commit-id: 1a3c28f69a
2024-06-20 15:35:06 +02:00
Hadi
2983dd6270 Update
Former-commit-id: 597f88adab
2024-06-20 15:33:42 +02:00
Hadi
7d684153a9 Update
Former-commit-id: 85a4a4ad2a
2024-06-20 15:31:01 +02:00
Hadi
bc26eb05a7 Update
Former-commit-id: e078d81b51
2024-06-20 15:29:25 +02:00
Hadi
ec38767570 Update
Former-commit-id: b676e1bdbb
2024-06-20 15:27:32 +02:00
Hadi
5340cfeb84 Update
Former-commit-id: 83252b0da5
2024-06-20 15:16:28 +02:00
Hadi
734e310f28 Update
Former-commit-id: 56b09db387
2024-06-20 15:13:02 +02:00
Hadi
e388cc7556 Update
Former-commit-id: 6f998c79ab
2024-06-20 15:07:15 +02:00
Hadi
0263e08415 Update
Former-commit-id: 4bec772eb2
2024-06-20 12:10:00 +02:00
Hadi
65f8fcc926 Update
Former-commit-id: 5bdbfb3a5f
2024-06-20 12:09:20 +02:00
Hadi
59a3c1d4de Update
Former-commit-id: 0cc6e18f3d
2024-06-20 11:45:19 +02:00
Hadi
206d4d7433 Update
Former-commit-id: f9bd98bc58
2024-06-20 11:42:57 +02:00
Hadi
8c8833b26e Update
Former-commit-id: 81e72e574d
2024-06-20 11:41:28 +02:00
Hadi
392a3e4998 Update
Former-commit-id: fe393e3c2a
2024-06-20 11:38:53 +02:00
Hadi
76a423a964 Update
Former-commit-id: e0803c6bd5
2024-06-20 11:31:02 +02:00
Hadi
63c19a0c61 Update
Former-commit-id: f761b8c66a
2024-06-20 11:27:41 +02:00
Hadi
f3f4689cc8 Update
Former-commit-id: 01b056d4cb
2024-06-20 11:25:35 +02:00
Hadi
2050efbfbf Update
Former-commit-id: 73ac8d8188
2024-06-20 11:24:41 +02:00
Hadi
8d5734b739 Update TODO.md
Former-commit-id: b90999d5b6
2024-06-20 09:39:02 +02:00
Hadi
f23897d7d8 Update TODO.md
Former-commit-id: 365fab9659
2024-06-20 02:47:27 +02:00
Hadi
22b00bf301 Update
Former-commit-id: a0c5bd962b
2024-06-20 02:45:24 +02:00
Hadi
76355d3ca1 Fix
Former-commit-id: b796117725
2024-06-20 01:55:49 +02:00
Hadi
14b29a6588 Update
Former-commit-id: 1b4cd64024
2024-06-20 01:31:30 +02:00
Hadi
5eafcf5b76 Update
Former-commit-id: 8ec1744969
2024-06-20 01:23:20 +02:00
Hadi
9c43d22eb1 Update
Former-commit-id: b44a2e17f9
2024-06-20 00:25:10 +02:00
Hadi
06428958dd Update
Former-commit-id: de9b1de37c
2024-06-20 00:17:59 +02:00
Hadi
0d84783032 Update
Former-commit-id: e94276c144
2024-06-20 00:15:18 +02:00
Hadi
25af8d6213 Update
Former-commit-id: 0114f7281b
2024-06-20 00:14:15 +02:00
Hadi
e3549ce9e5 Update
Former-commit-id: 5db186ba9b
2024-06-20 00:07:23 +02:00
Hadi
1d859e5c13 Update
Former-commit-id: eec2b56fcd
2024-06-20 00:06:06 +02:00
Hadi
4ef84d1f8d Update
Former-commit-id: 265651c931
2024-06-19 23:59:20 +02:00
Hadi
ed791eb748 Update
Former-commit-id: 7e5c45d406
2024-06-19 23:53:17 +02:00
Hadi
5c6acc2028 Update
Former-commit-id: ae9ffdf2a8
2024-06-19 23:52:10 +02:00
Hadi
a9dc177a34 Update
Former-commit-id: 325f8e9d15
2024-06-19 23:51:36 +02:00
Hadi
ef32063715 Update
Former-commit-id: 29905a460b
2024-06-19 23:49:03 +02:00
Hadi
bdaa52dedc Update
Former-commit-id: 92e8eb8983
2024-06-19 23:48:36 +02:00
Hadi
c5d7ba76c7 Update
Former-commit-id: cafce8e7c9
2024-06-19 23:47:35 +02:00
Hadi
358e8c9158 Update
Former-commit-id: 21482d4a44
2024-06-19 23:45:03 +02:00
Hadi
d1dd841da8 Update
Former-commit-id: 1b3cc99197
2024-06-19 23:42:42 +02:00
Hadi
8137ebfd99 Update
Former-commit-id: adecf1bc29
2024-06-19 23:39:30 +02:00
Hadi
cc45eda3ef Update
Former-commit-id: a272a038f1
2024-06-19 23:38:04 +02:00
Hadi
8415d92264 Update
Former-commit-id: a6d3e17135
2024-06-19 23:32:31 +02:00
Hadi
17d95716b6 Update
Former-commit-id: 0e291d3388
2024-06-19 23:28:50 +02:00
Hadi
6db2fc373d Update
Former-commit-id: c852176e0d
2024-06-19 23:28:13 +02:00
Hadi
ebbf404c68 Update
Former-commit-id: ad339a19a6
2024-06-19 23:23:29 +02:00
Hadi
9fc328f675 Update
Former-commit-id: aad8b9d8e6
2024-06-19 23:21:24 +02:00
Hadi
ba489aaea3 Update
Former-commit-id: debb139aeb
2024-06-19 23:20:49 +02:00
Hadi
67ec1dd41f Update
Former-commit-id: 939597dd90
2024-06-19 23:15:52 +02:00
Hadi
ae50fc36d6 Update
Former-commit-id: 7a89711897
2024-06-19 23:11:37 +02:00
Hadi
f401067dd9 Update
Former-commit-id: e51b20e4ab
2024-06-19 23:07:47 +02:00
Hadi
a02bee95de Update
Former-commit-id: 9dbc87c010
2024-06-19 23:02:56 +02:00
Hadi
ec7b2a2fe9 Update
Former-commit-id: 137dd150fd
2024-06-19 22:59:06 +02:00
Hadi
2a40427cd6 Update
Former-commit-id: 6e66f200a3
2024-06-19 22:57:14 +02:00
Hadi
eb42d3e4d1 Update
Former-commit-id: 28dcb1f574
2024-06-19 22:50:58 +02:00
Hadi
03f4715693 Update
Former-commit-id: 536de64d5c
2024-06-19 22:48:21 +02:00
Hadi
c35dfb8017 Update
Former-commit-id: ac1c7da665
2024-06-19 22:47:37 +02:00
Hadi
7bdacd9ed5 Update
Former-commit-id: d3604fa6cf
2024-06-19 22:47:13 +02:00
Hadi
c8ca22f308 Update
Former-commit-id: 241a91487c
2024-06-19 22:46:33 +02:00
Hadi
13b147932e Update
Former-commit-id: 2f2aad2b91
2024-06-19 22:45:37 +02:00
Hadi
29b6dc17c0 Update
Former-commit-id: ce756d2f78
2024-06-19 22:44:55 +02:00
Hadi
8ff1df4333 Update
Former-commit-id: 94cb2758e6
2024-06-19 22:40:01 +02:00
Hadi
af0241f1eb Update
Former-commit-id: 50ee6b2dbf
2024-06-19 22:39:12 +02:00
Hadi
3719cc90be Update
Former-commit-id: 0949607442
2024-06-19 22:37:52 +02:00
Hadi
396297d6f7 Update
Former-commit-id: 12e8e9e870
2024-06-19 22:36:42 +02:00
Hadi
cb4b5741d7 Update
Former-commit-id: aa519ba3ee
2024-06-19 22:36:18 +02:00
Hadi
da000e60bd Update
Former-commit-id: 2cd6b6be58
2024-06-19 22:33:48 +02:00
Hadi
c4a38e7691 Update
Former-commit-id: 3939348e1b
2024-06-19 22:32:03 +02:00
Hadi
8972cd081b Update
Former-commit-id: 26767f861c
2024-06-19 21:53:34 +02:00
Hadi
b930a7e9f7 Update
Former-commit-id: adbbcec22c
2024-06-19 21:52:46 +02:00
Hadi
85a7fc8ca7 Update
Former-commit-id: f868a937d5
2024-06-19 21:50:36 +02:00
Hadi
869a442843 Update
Former-commit-id: c9ba9b30fe
2024-06-19 21:47:33 +02:00
Hadi
49b6d81216 Update
Former-commit-id: f2b659add1
2024-06-19 21:43:28 +02:00
Hadi
21d84fd39d Update
Former-commit-id: c18fffcb3d
2024-06-19 21:42:12 +02:00
Hadi
2a12db0133 test
Former-commit-id: b5fe18ab2f
2024-06-19 21:41:04 +02:00
Hadi
9c5118264c add hardware config
Former-commit-id: 115c6345c3
2024-06-19 21:31:18 +02:00
Hadi
3a8df54936 Update
Former-commit-id: 884abe9e6c
2024-06-19 21:22:41 +02:00
Hadi
a3c8ad5efb Update
Former-commit-id: d877b40d0b
2024-06-19 21:18:28 +02:00
Hadi
b38a1ccef8 test
Former-commit-id: 530e9d8bea
2024-06-19 21:17:54 +02:00
Hadi
321bb0bd16 Update
Former-commit-id: d9e4bd4cd1
2024-06-19 21:16:15 +02:00
Hadi
6c96796584 Update
Former-commit-id: 4cba1f2acf
2024-06-19 21:12:30 +02:00
Hadi
c6bc2ba192 Update
Former-commit-id: 8c0c636ec8
2024-06-19 21:05:03 +02:00
Hadi
c5f8e0f7a2 Update
Former-commit-id: 39a4b5cc00
2024-06-19 21:03:58 +02:00
Hadi
9ff0e4cbe4 Update
Former-commit-id: a5e4015cf3
2024-06-19 21:01:08 +02:00
Hadi
4c0a61ccad Update
Former-commit-id: 5414f49671
2024-06-19 21:01:01 +02:00
Hadi
8ddabcee34 Update
Former-commit-id: 10f3754b0a
2024-06-19 09:55:58 +02:00
Hadi
ccef91e0ed Update
Former-commit-id: 063534079d
2024-06-18 19:15:19 +02:00
Hadi
f9057b2983 Update
Former-commit-id: d4abd221c0
2024-06-18 19:14:18 +02:00
Hadi
5e276e88f8 Update
Former-commit-id: 77696506bc
2024-06-18 19:13:15 +02:00
Hadi
6c4428b4ef Update
Former-commit-id: 05932e597c
2024-06-18 19:05:40 +02:00
Hadi
fd32e06cd2 Update README.md
Former-commit-id: 6606762bca
2024-06-18 15:49:32 +02:00
Hadi
1a4615a781 change image
Former-commit-id: e0bae26b5d
2024-06-18 15:44:27 +02:00
Hadi
3823561a0a Update README.md
Former-commit-id: cd91c40f7d
2024-06-18 15:43:27 +02:00
Hadi
b667a65f31 Add files via upload
Former-commit-id: 07e81831fa
2024-06-18 15:42:24 +02:00
Hadi
88df4c8d42 Add files via upload
Former-commit-id: a900a2a121
2024-06-18 15:34:25 +02:00
Hadi
8082c06548 update readme colors
Former-commit-id: d2916aa984
2024-06-18 15:25:59 +02:00
Hadi
21bf90efc0 edit
Former-commit-id: f79b67c04e
2024-06-18 14:39:51 +02:00
Hadi
6d22f2d409 move nextcloud to home manager
Former-commit-id: 6c936a12f1
2024-06-18 14:32:35 +02:00
Hadi
ffa788dd4e update todo
Former-commit-id: b5ae490899
2024-06-18 14:26:49 +02:00
Hadi
79a045e3bb todo update
Former-commit-id: fd9b7ea141
2024-06-18 14:20:23 +02:00
Hadi
2fb8a97b71 update
Former-commit-id: c11a21a34a
2024-06-18 14:09:55 +02:00
Hadi
26065f3699 fix
Former-commit-id: ba09c5cfe3
2024-06-18 14:07:48 +02:00
Hadi
4f2ba52404 add tailscale
Former-commit-id: 8ec108927c
2024-06-18 14:05:14 +02:00
Hadi
be23ff67aa fix
Former-commit-id: d311675fe9
2024-06-18 13:41:33 +02:00
Hadi
ff79cbf502 update
Former-commit-id: 63fd084dcf
2024-06-18 13:41:07 +02:00
Hadi
8b8f3fa54b Update
Former-commit-id: 759f7e715a
2024-06-18 12:36:26 +02:00
Hadi
1f2bb4c33a Update
Former-commit-id: c0e0609ef4
2024-06-18 12:35:13 +02:00
Hadi
9d458b7e04 Update
Former-commit-id: fb2f1824a3
2024-06-18 12:32:45 +02:00
Hadi
dedf840131 Update
Former-commit-id: bfed924f0f
2024-06-18 12:30:56 +02:00
Hadi
7dc2c69292 Update
Former-commit-id: 1ad4233def
2024-06-18 12:21:57 +02:00
Hadi
def86d31a4 Update
Former-commit-id: b536a87854
2024-06-18 12:10:45 +02:00
Hadi
3038f62405 update
Former-commit-id: c3b54c538f
2024-06-18 11:42:22 +02:00
Hadi
fe01b971cf temp
Former-commit-id: 40648d4041
2024-06-18 11:26:35 +02:00
Hadi
918c865202 temp
Former-commit-id: cb4a8f024f
2024-06-18 11:11:08 +02:00
Hadi
6e30f6cd4e temp
Former-commit-id: f4aa262e74
2024-06-18 10:29:37 +02:00
Hadi
ff73c05ba6 temp
Former-commit-id: ac6a0f59c4
2024-06-18 10:23:07 +02:00
Hadi
dbf520b556 temp
Former-commit-id: 93b7145e70
2024-06-18 10:10:21 +02:00
Hadi
fc046db74b temp
Former-commit-id: dc4f3160cc
2024-06-18 09:54:18 +02:00
Hadi
96bae83dd1 rename shared to modules
Former-commit-id: 2ccd17867f
2024-06-18 09:21:14 +02:00
Hadi
aae802193c Update
Former-commit-id: d3e6730df0
2024-06-18 00:01:23 +02:00
Hadi
8dc316d6a4 Update
Former-commit-id: 57eb1c9459
2024-06-17 23:57:26 +02:00
Hadi
ad86356f9a update
Former-commit-id: 880ed3d0e9
2024-06-17 23:47:58 +02:00
Hadi
007ef7304b add server
Former-commit-id: 93ba190cbf
2024-06-17 23:41:41 +02:00
Hadi
019a6deaf4 Update
Former-commit-id: 251f535146
2024-06-17 23:32:56 +02:00
Hadi
7da96ad2c7 Update
Former-commit-id: 8e0691ca6a
2024-06-17 23:32:52 +02:00
Hadi
7ebc1ba322 add server
Former-commit-id: 25d4dc93f1
2024-06-17 23:29:47 +02:00
Hadi
c5e9cb9c32 add pfetch
Former-commit-id: d1b581fd58
2024-06-17 21:34:54 +02:00
423 changed files with 4226 additions and 55467 deletions

111
.github/assets/README_template.md vendored Normal file
View File

@@ -0,0 +1,111 @@
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" />
</div>
<br>
# Nixy
<br>
<div align="center">
<a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
</a>
</div>
<br>
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
It's a simple way to manage your system configuration and dotfiles.
I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains.
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
**Nixy key points:**
- Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
- Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
## Table of Content
{md_table_of_content}
## Gallery
![Nixy helper, peaclock](.github/assets/nixy/1.png)
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png)
![nvim, lazygit](.github/assets/nixy/3.png)
![spotify, cava](.github/assets/nixy/4.png)
## Architecture
### 🏠 home
Those are the dotfiles and configuration files for user-level configuration
**Subfolders:**
- `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration
### 🐧 nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
### 🎨 themes
Those are the themes used in the system configuration.
Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts
Those are the host-specific configurations.
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
## Installation
1. Clone the repo
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
3. Add your `hardware-configuration.nix` to your new host's folder
4. Add your 'nixosConfigurations' inside `flake.nix`
> [!Important]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up.
> You can use `rg "CHANGEME"` to find them all with ripgrep.
> [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository
5. Build the system
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## Documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License

BIN
.github/assets/large.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
.github/assets/logo.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
.github/assets/nixy/1.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 KiB

BIN
.github/assets/nixy/2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

BIN
.github/assets/nixy/3.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

BIN
.github/assets/nixy/4.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 KiB

20
.github/scripts/create_readme.sh vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Create the README.md file from the .github/assets/README_template.md file
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
README_FILE="./README.md"
table_of_content=$(markdown-table-of-contents --start-by 2 ./.github/assets/README_template.md) # https://github.com/anotherhadi/markdown-table-of-contents
readme_content=$(cat "./.github/assets/README_template.md")
# Replace variables
readme_content=${readme_content//\{primarycolor\}/A594FD}
readme_content=${readme_content//\{backgroundcolor\}/0b0b0b}
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
echo "[//]: # (This file is autogenerated)" >"$README_FILE"
echo "$readme_content" >>"$README_FILE"
sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
mv "/tmp/readme.md" "$README_FILE"

26
.github/scripts/create_scripts_docs.sh vendored Normal file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
DOCS_FILE="./docs/SCRIPTS.md"
SCRIPTS_FOLDER="./home/scripts"
# search for every directory in the scripts folder:
# The docs for each scripts are in the beginning of the file prefixed by "#-" or "# -" for the title
# Inside the folders, the scripts are stored in default.nix files
echo "[//]: # (This file is autogenerated)" >"$DOCS_FILE"
echo "# Scripts" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
echo "Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path." >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
for folder in "$SCRIPTS_FOLDER"/*; do
script="$folder/default.nix"
[[ -f "$script" ]] || continue
content=$(cat "$script")
content=$(echo "$content" | grep -E "^#-|^# -" | sed 's/^#- //;s/^# - //;s/#-//')
echo "$content" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
done

60
.github/scripts/keybindings_to_markdown.sh vendored Executable file
View File

@@ -0,0 +1,60 @@
#!/usr/bin/env bash
# A script to parse the Hyprland configuration to store keybindings in a table
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
KEYBINDINGS_FILE="./docs/KEYBINDINGS-HYPRLAND.md"
function getList() {
content=$1
name=$2
list_start=$(echo "$content" | sed "/$name = \[/!d;=;Q")
list=$(echo "$content" | tail +"$list_start")
list_end=$(echo "$list" | sed '/\]/!d;=;Q')
list=$(echo "$list" | head -n"$list_end")
echo "$list"
}
[[ -f "./home/system/hyprland/bindings.nix" ]] || (echo "File ./home/system/hyprland/bindings.nix not found" && exit 1)
config=$(cat "./home/system/hyprland/bindings.nix")
# Bind
bind=$(getList "$config" "bind")
# Bindm (mouse)
bindm=$(getList "$config" "bindm")
# Bindl (lock)
bindl=$(getList "$config" "bindl")
# Bindle (lock, repetition)
bindle=$(getList "$config" "bindle")
# Join the lists:
keybindings=$(echo -e "$bind\n$bindm\n$bindl\n$bindle" | grep '"')
echo "[//]: # (This file is autogenerated)" >"$KEYBINDINGS_FILE"
echo "# Keybindings for Hyprland" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE"
echo "> [!NOTE]" >>"$KEYBINDINGS_FILE"
echo "> SUPER is the windows key by default" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE"
echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE"
echo "| -- | -- |" >>"$KEYBINDINGS_FILE"
echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "$keybindings" | while read -r line; do
comment=$(echo "$line" | cut -d\# -f2)
line=$(echo "$line" | cut -d\# -f1)
line=${line:1:${#line}-3}
mod=$(echo "$line" | cut -d, -f1)
key=$(echo "$line" | cut -d, -f2)
# dispatcher=$(echo "$line" | cut -d, -f3)
# params=$(echo "$line" | cut -d, -f4)
[[ $mod == '$mod' ]] && mod="SUPER + "
[[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + "
echo "| ${comment:1} | $mod$key |" >>"$KEYBINDINGS_FILE"
done

View File

@@ -0,0 +1,24 @@
on:
push:
paths:
- 'home/system/hyprland/bindings.nix'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/keybindings_to_markdown.sh
./docs/.github/keybindings_to_markdown.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update KEYBINDINGS-HYPRLAND.md (auto)"
git push

31
.github/workflows/update-readme.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
on:
push:
paths:
- '.github/assets/README_template.md'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '^1.23'
- name: Install required dependencies
run: |
go install github.com/anotherhadi/markdown-table-of-contents@latest
- name: Run a script
run: |
chmod +x ./.github/scripts/create_readme.sh
./.github/scripts/create_readme.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update README.md (auto)"
git push

View File

@@ -0,0 +1,24 @@
on:
push:
paths:
- 'home/scripts'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/create_scripts_docs.sh
./.github/scripts/create_scripts_docs.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update SCRIPTS.md (auto)"
git push

View File

@@ -1,7 +1,11 @@
keys: keys:
- &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334 - &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
creation_rules: creation_rules:
- path_regex: secrets/laptop.yaml$ - path_regex: hosts/laptop/secrets/secrets.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/server/secrets/secrets.yaml$
key_groups: key_groups:
- age: - age:
- *primary - *primary

207
README.md
View File

@@ -1,87 +1,120 @@
[//]: # (Title: Nixy) [//]: # (This file is autogenerated)
[//]: # (Description: Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place. It's a simple way to manage your system configuration and dotfiles.) <div align="center">
[//]: # (Author: Hadi) <img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" />
[//]: # (Date: 06/17/24) </div>
<div align="center"> <br>
<img src="https://image.nostr.build/70ebe2b5183879d8c0ffa682cd0089e030ad01909678b242ed86449517eac3a5.png" width="100px" />
</div> # Nixy
<br><br> <br>
<div align="center">
<div align="center"> <a href="https://github.com/anotherhadi/nixy/stargazers">
<a href="https://github.com/anotherhadi/nixy"> <img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=starship&logoColor=A594FD">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message=2.0.0&colorA=040409&colorB=a158ff&logo=githubactions&logoColor=a158ff&"/> </a>
</a> <a href="https://github.com/anotherhadi/nixy/">
<a href="https://github.com/anotherhadi/nixy/stargazers"> <img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=github&logoColor=A594FD">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=starship&logoColor=a158ff"> </a>
</a> <a href="https://nixos.org">
<a href="https://github.com/anotherhadi/nixy/"> <img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=0b0b0b&logo=NixOS&logoColor=A594FD&color=A594FD">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=github&logoColor=a158ff"> </a>
</a> <a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<a href="https://nixos.org"> <img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=0b0b0b&colorB=A594FD&logo=unlicense&logoColor=A594FD"/>
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=040409&logo=NixOS&logoColor=a158ff&color=a158ff"> </a>
</a> </div>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE"> <br>
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=040409&colorB=a158ff&logo=unlicense&logoColor=a158ff&"/>
</a> **Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
</div> It's a simple way to manage your system configuration and dotfiles.
<br><br> I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains.
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
<div align="center"> I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
<img src="https://image.nostr.build/aaf8cf0f3b9784c817f8cf328f19222db2e1886dfb89ae97de83ffa101d437b4.png" width="600px" />
</div> **Nixy key points:**
# Nixy - Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
**Nixy** is a NixOS configuration with home-manager, secrets and custom theming all in one place. - Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
It's a simple way to manage your system configuration and dotfiles.
## Table of Content
## Table of Content
- [Table of Content](#table-of-content)
- [Nixy](#nixy) - [Gallery](#gallery)
- [Table of Content](#table-of-content) - [Architecture](#architecture)
- [Gallery](#gallery) - [🏠 home](#-home)
- [Architecture](#architecture) - [🐧 nixos](#-nixos)
- [Installation](#installation) - [🎨 themes](#-themes)
- [Documentation](#documentation) - [💻 hosts](#-hosts)
- [Installation](#installation)
## Gallery - [Documentation](#documentation)
![nixy1](docs/src/nixy/1.png) ## Gallery
![nixy2](docs/src/nixy/2.png)
![nixy3](docs/src/nixy/3.png) ![Nixy helper, peaclock](.github/assets/nixy/1.png)
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png)
## Architecture ![nvim, lazygit](.github/assets/nixy/3.png)
![spotify, cava](.github/assets/nixy/4.png)
- 🏠 `home` are the dotfiles and configuration files for the user
- 💻 `hosts` are the system configuration files ## Architecture
- `laptop` is mine
- `guest` is a template that you can copy and modify for your own system ### 🏠 home
- `themes` contains all the themes available (see [THEMES.md](docs/THEMES.md))
- `shared` are some nix files that you can import (nvidia, prime, fonts, ...) Those are the dotfiles and configuration files for user-level configuration
- 🤫 `secrets` are the secrets files encrypted with sops
**Subfolders:**
## Installation
- `programs` is a collection of apps configured with home-manager
```sh - `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
git clone https://github.com/anotherhadi/nixy ~/.config/nixos - `system` is some "desktop environment" configuration
```
### 🐧 nixos
- Change the username in the flake.nix file
- import the guest configuration instead of the `hosts/laptop` one Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
- import your hardware-configuration.nix into the `hosts/guest` folder
### 🎨 themes
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#nixy Those are the themes used in the system configuration.
``` Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md)
## Documentation
### 💻 hosts
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own
- [APPS.md](docs/APPS.md): Which apps are installed Those are the host-specific configurations.
- [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
- [TODO.md](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute ## Installation
- [LICENSE](LICENSE): MIT License
1. Clone the repo
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
3. Add your `hardware-configuration.nix` to your new host's folder
4. Add your 'nixosConfigurations' inside `flake.nix`
> [!Important]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up.
> You can use `rg "CHANGEME"` to find them all with ripgrep.
> [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository
5. Build the system
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## Documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License

View File

@@ -1,33 +0,0 @@
# APPS
*non-exhaustive list*
| Category | Software |
|----------------|---------------|
| WM | Hyprland |
| | hyprlock |
| | hyprpaper |
| | hypridle |
| | wlogout |
| Bar | waybar |
| Terminal | kitty |
| Shell | zsh |
| | tmux |
| | starship |
| | bat |
| | eza |
| | zoxide |
| | fzf |
| Editor | neovim(nixvim)|
| File manager | lf |
| | thunar |
| Browser | qutebrowser |
| Music | spicetify |
| Notifications | dunst |
| Launcher | wofi |
| DM | tuigreet |
| Secrets | sops-nix |
| Misc | lazygit |
| | neofetch |
| | cava |
| | ... |

View File

@@ -1,10 +1,16 @@
# Contributing to Nixy # Contributing to Nixy
Everybody is invited and welcome to contribute to Nixy. There is a lot to do... Check the `docs/TODO.md` file! Everybody is invited and welcome to contribute to Nixy. There is a lot to do... Check the [TODO.md](./TODO.md) file!
The process is straight-forward. The process is straight-forward.
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1) - Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
- Fork Nixy [git repository](https://github.com/anotherhadi/nixy). - Fork Nixy [git repository](https://github.com/anotherhadi/nixy).
- Write your changes (new theme, bug fixes, ...). - Write your changes (new theme, bug fixes, task in to-do, ...).
- Create a Pull Request against the main branch of Nixy. - Create a Pull Request against the main branch of Nixy.
> [!TIP]
> To update the README, change the `./docs/src/README_template.md` and run `./docs/scripts/create_readme.sh`
> [!IMPORTANT]
> Don't push your host's folder

View File

@@ -0,0 +1,46 @@
[//]: # (This file is autogenerated)
# Keybindings for Hyprland
> [!NOTE]
> SUPER is the windows key by default
| Description | Keybinding |
| -- | -- |
| Switch Workspace | SUPER + {Number} |
| Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN |
| Thunar | SUPER + E |
| Qutebrowser | SUPER + B |
| Bitwarden | SUPER + K |
| Lock | SUPER + L |
| Powermenu | SUPER + X |
| Launcher | SUPER + SPACE |
| Toggle HyprFocus | SHIFT + SUPER + SPACE |
| Close window | SUPER + Q |
| Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F |
| Move focus left | SUPER + left |
| Move focus Right | SUPER + right |
| Move focus Up | SUPER + up |
| Move focus Down | SUPER + down |
| Focus previous monitor | SHIFT + SUPER + up |
| Focus next monitor | SHIFT + SUPER + down |
| Add to master | SHIFT + SUPER + left |
| Remove from master | SHIFT + SUPER + right |
| Screenshot window | SUPER + PRINT |
| Screenshot monitor | PRINT |
| Screenshot region | SHIFT + SUPER + PRINT |
| Screenshot region then edit | ALTPRINT |
| Search on internet with wofi | SHIFT + SUPER + S |
| Clipboard picker with wofi | SHIFT + SUPER + C |
| Emoji picker with wofi | SHIFT + SUPER + E |
| Toggle night shift | SUPER + F2 |
| Toggle night shift | SUPER + F3 |
| Move Window (mouse) | SUPER + mouse:272 |
| Resize Window (mouse) | SUPER + R |
| Toggle Mute | XF86AudioMute |
| Lock when closing Lid | switch:Lid Switch |
| Sound Up | XF86AudioRaiseVolume |
| Sound Down | XF86AudioLowerVolume |
| Brightness Up | XF86MonBrightnessUp |
| Brightness Down | XF86MonBrightnessDown |

View File

@@ -1,51 +1,88 @@
# Scripts [//]: # (This file is autogenerated)
# Scripts
## Nix/NixOs shortcuts
Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path.
- `nixy-edit`
- `nixy-rebuild` ## Brightness
- `nixy-update`
- `nixy-gc` # garbage collection This module provides a set of scripts to control the brightness of the screen.
- `nixy-cb` # clean boot menu
- `brightness-up` increases the brightness by 5%.
## Brightness control - `brightness-down` decreases the brightness by 5%.
- `brightness-set [value]` sets the brightness to the given value.
- `brightness-up` - `brightness-change [up|down] [value]` increases or decreases the brightness by the given value.
- `brightness-down`
- `brightness-change <up/down> <increment>` ## Caffeine
## Sound control Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
- `sound-up` - `caffeine-status` - Check if hypridle is running. (0/1)
- `sound-down` - `caffeine-status-icon` - Check if hypridle is running. (icon)
- `sound-toggle` - `caffeine` - Toggle hypridle.
- `sound-output`
- `sound-change <up/down/mute> <increment>` ## Hyprfocus
## Caffeine A simple script to toggle focus on few windows in Hyprland.
(disable gaps, border, shadow, opacity, etc.)
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
- `hyprfocus-on` - Enable hyprfocus.
- `caffeine` # Toggle caffeine - `hyprfocus-off` - Disable hyprfocus.
- `caffeine-status` # Return active/inactive - `hyprfocus-toggle` - Toggle hyprfocus.
## Night-Shift ## Hyprpanel
Blue light filter, using wlsunset Quick scripts to toggle, reload and kill hyprpanel.
- `night-shift-on` - `hyprpanel-toggle` - Toggle hyprpanel.
- `night-shift-off` - `hyprpanel-reload` - Reload hyprpanel.
- `hyprpanel-kill` - Kill hyprpanel.
## Nerdfont FZF
## Nerdfont FZF
Nerdfont fzf is a quick way to search for nerdfont icons locally.
It will copy the selected icon to the clipboard. This module provides a script to search for Nerd Fonts icons using fzf.
- `nerdfont-fzf` - `nerdfont-fzf` - Search for Nerd Fonts icons using fzf.
## Compress/Extract ## Night-Shift
Some shortcut to compress and extract files. Night-Shift is a feature that reduces the amount of blue light emitted by your screen, which can help reduce eye strain and improve sleep quality. This module provides a set of scripts to control Night-Shift on your system.
- `compress` ... - `night-shift-on` activates Night-Shift.
- `extract` ... - `night-shift-off` deactivates Night-Shift.
- `night-shift` toggles Night-Shift.
- `night-shift-status` checks if Night-Shift is active. (0/1)
- `night-shift-status-icon` checks if Night-Shift is active. (icon)
## Nixy
Nixy is a simple script that I use to manage my NixOS system. It's a simple script that provides a menu to rebuild, upgrade, update, collect garbage, clean boot menu, etc.
- `nixy` - UI wizard to manage the system.
- `nixy rebuild` - Rebuild the system.
- `nixy ...` - ... see the script for more commands.
## Screenshot
This module provides a script to take screenshots using `hyprshot` and `swappy`.
- `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
## Sound
This module provides a set of scripts to control the volume of the default audio sink using `wpctl`.
- `sound-up` increases the volume by 5%.
- `sound-down` decreases the volume by 5%.
- `sound-set [value]` sets the volume to the given value.
- `sound-toggle` toggles the mute state of the default audio sink.
## System
Usefull quick scripts
- `menu` - Open wofi with drun mode.
- `powermenu` - Open power dropdown menu.
- `lock` - Lock the screen.

View File

@@ -1,31 +1,21 @@
# Themes # Themes
Themes are defined in `hosts/themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps installed. Themes are defined in `themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps/programs installed.
You can change the selected theme by changing the import statement at the top of your host's variables file. You can change the selected theme by changing the import statement of your host's configuration.nix file.
*To apply the theme to duckduckgo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js`.* > [!TIP]
> To apply the theme to DuckDuckGo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js`
## Create your own theme ## Create your theme
Create a copy of one of the existing theme and change the variables. Create a copy of one of the existing themes and change the variables.
Wallpapers are loaded from the `home/wallpapers` folder. Wallpapers are loaded from the [nixy-wallpapers](https://github.com/anotherhadi/nixy-wallpapers) repo.
## Gallery ## Gallery
### Nixy ### Nixy
![nixy1](src/nixy/1.png) ![nixy1](../.github/assets/nixy/1.png)
![nixy2](src/nixy/2.png) ![nixy2](../.github/assets/nixy/2.png)
![nixy3](src/nixy/3.png) ![nixy3](../.github/assets/nixy/3.png)
![nixy4](../.github/assets/nixy/4.png)
### Catppuccin
![catppuccin1](src/catppuccin/1.png)
![catppuccin2](src/catppuccin/2.png)
![catppuccin3](src/catppuccin/3.png)
### Windows
![windows1](src/windows/1.png)
![windows2](src/windows/2.png)
![windows3](src/windows/3.png)

View File

@@ -1,10 +1,13 @@
# Todolist # Todolist
- [ ] Installation script feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] Themes
- [ ] MacOS theme - [!] Qutebrowser Bitwarden integration (I need this.)
- [ ] Make hyprcursor work
- [ ] Nixvim - [ ] Nixvim
- [ ] Telescope shortcut for file content - [ ] Change headings foreground
- [ ] Markdown snippets - [ ] neotest golang
- [ ] Make whichkey better - [ ] nvim dap
- [ ] Tofi configuration
- [ ] OS Hardening with nix-mineral

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
# Compress png files in ./docs/src
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
for file in ./docs/src/*/*.png; do
optipng "$file"
done

View File

@@ -1,29 +0,0 @@
#!/usr/bin/env bash
# This script is used to copy my own configuration to the `./hosts/guest` one, and changing some settings
[[ -d "./hosts" ]] || (
echo "Folder ./hosts not found"
exit 1
)
LAPTOP_CONFIG="./hosts/laptop"
GUEST_CONFIG="./hosts/guest"
cp "$LAPTOP_CONFIG/configuration.nix" "$GUEST_CONFIG/configuration.nix"
cp "$LAPTOP_CONFIG/variables.nix" "$GUEST_CONFIG/variables.nix"
# Remove the NVIDIA driver import
config=$(cat "$LAPTOP_CONFIG/configuration.nix")
config=$(echo "$config" | sed 's/..\/shared\/nvidia/# ..\/shared\/nvidia/')
config=$(echo "$config" | sed 's/..\/shared\/prime/# ..\/shared\/prime/')
echo "$config" >"$GUEST_CONFIG/configuration.nix"
variables=$(cat "$LAPTOP_CONFIG/variables.nix")
variables=$(echo "$variables" | sed 's/112569860+anotherhadi@users.noreply.github.com/your_email/')
variables=$(echo "$variables" | sed 's/hadi/your_username/')
variables=$(echo "$variables" | sed 's/Hadi/your_username/')
variables=$(echo "$variables" | sed 's/sops = true/sops = false/')
variables=$(echo "$variables" | sed 's/nextcloud = true/nextcloud = false/')
variables=$(echo "$variables" | sed 's/obsidian = true/obsidian = false/')
echo "$variables" >"$GUEST_CONFIG/variables.nix"

View File

@@ -1,14 +0,0 @@
#!/usr/bin/env bash
# Create the README.md file from the docs/src/README_template.md file
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
README_FILE="./README.md"
header=$(cat "./docs/src/header.md")
table_of_content=$(~/go/bin/md-table-of-contents ./docs/src/README_template.md)
readme_content=$(cat "./docs/src/README_template.md")
echo "${header//\{date\}/$(date '+%D')}" >"$README_FILE"
echo "${readme_content//\{md_table_of_content\}/$table_of_content}" >>"$README_FILE"

View File

@@ -1,10 +0,0 @@
# installation script...
# check if on nixos
# check if ./hosts exist
# check if gum is installed (dependencie)
# save path
# remove .git
# git init and initial commit
# create custom configuration
# save it to ./hosts

View File

@@ -1,42 +0,0 @@
#!/usr/bin/env bash
[ "$1" = "" ] && echo "Usage: $0 <theme_name>" && exit 1
theme_name=$1
# Switch to workspace 1
sleep 2
# Step 1
kitty --class peaclock peaclock &
sleep 1
menu &
sleep 1
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "1.png" -d
sleep 2
pkill peaclock
menu
sleep 2
# Step 2
kitty cmatrix &
sleep 1
kitty &
sleep 1
qutebrowser &
sleep 3
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "2.png" -d
sleep 2
pkill cmatrix
pkill --newest qutebrowser ""
pkill --newest kitty
sleep 2
# Step 3
kitty cava &
sleep 1
spotify &
sleep 10
brightness-down
sleep 1
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "3.png" -d
sleep 2

View File

@@ -1,48 +0,0 @@
# Nixy
**Nixy** is a NixOS configuration with home-manager, secrets and custom theming all in one place.
It's a simple way to manage your system configuration and dotfiles.
## Table of Content
{md_table_of_content}
## Gallery
![nixy1](docs/src/nixy/1.png)
![nixy2](docs/src/nixy/2.png)
![nixy3](docs/src/nixy/3.png)
## Architecture
- 🏠 `home` are the dotfiles and configuration files for the user
- 💻 `hosts` are the system configuration files
- `laptop` is mine
- `guest` is a template that you can copy and modify for your own system
- `themes` contains all the themes available (see [THEMES.md](docs/THEMES.md))
- `shared` are some nix files that you can import (nvidia, prime, fonts, ...)
- 🤫 `secrets` are the secrets files encrypted with sops
## Installation
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
- Change the username in the flake.nix file
- import the guest configuration instead of the `hosts/laptop` one
- import your hardware-configuration.nix into the `hosts/guest` folder
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
```
## Documentation
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own
- [APPS.md](docs/APPS.md): Which apps are installed
- [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
- [TODO.md](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 KiB

View File

@@ -1,34 +0,0 @@
[//]: # (Title: Nixy)
[//]: # (Description: Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place. It's a simple way to manage your system configuration and dotfiles.)
[//]: # (Author: Hadi)
[//]: # (Date: {date})
<div align="center">
<img src="https://image.nostr.build/70ebe2b5183879d8c0ffa682cd0089e030ad01909678b242ed86449517eac3a5.png" width="100px" />
</div>
<br><br>
<div align="center">
<a href="https://github.com/anotherhadi/nixy">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message=2.0.0&colorA=040409&colorB=a158ff&logo=githubactions&logoColor=a158ff&"/>
</a>
<a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=starship&logoColor=a158ff">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=github&logoColor=a158ff">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=040409&logo=NixOS&logoColor=a158ff&color=a158ff">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=040409&colorB=a158ff&logo=unlicense&logoColor=a158ff&"/>
</a>
</div>
<br><br>
<div align="center">
<img src="https://image.nostr.build/aaf8cf0f3b9784c817f8cf328f19222db2e1886dfb89ae97de83ffa101d437b4.png" width="600px" />
</div>

View File

@@ -1 +0,0 @@
8c00e379ddd7f89e4bbf9f381a5721d980c8026f

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 KiB

View File

@@ -1 +0,0 @@
62b52ad02a886c19a8cfe1ea17e8aaad50f23632

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 990 KiB

833
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,7 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -15,39 +16,41 @@
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; spicetify-nix = {
spicetify-nix.url = "github:the-argus/spicetify-nix"; url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
nurpkgs.url = "github:nix-community/NUR"; hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixy-wallpapers = {
url = "github:anotherhadi/nixy-wallpapers";
flake = false;
};
stylix.url = "github:danth/stylix";
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
hyprswitch.url = "github:h3rmt/hyprswitch/release";
}; };
outputs = inputs@{ nixpkgs, nur, ... }: { outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = { nixosConfigurations = {
nixy = # CHANGEME
nixy = nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./hosts/laptop/configuration.nix {
inputs.nixos-hardware.nixosModules.omen-16-n0005ne nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
inputs.home-manager.nixosModules.home-manager _module.args = { inherit inputs; };
{ }
nixpkgs.overlays = [ nur.overlay ]; inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
_module.args = { inherit inputs; }; inputs.home-manager.nixosModules.home-manager
home-manager = { inputs.stylix.nixosModules.stylix
useGlobalPkgs = true; ./hosts/laptop/configuration.nix # CHANGEME
useUserPackages = true; ];
users."hadi" = import ./home/laptop.nix; # CHANGE ME };
extraSpecialArgs = { inherit inputs; };
};
}
];
};
}; };
}; };
} }

View File

@@ -1,90 +0,0 @@
{ pkgs, config, ... }: {
imports = [
../hosts/laptop/variables.nix
# Programs
./programs/btop
./programs/cava
./programs/kitty
./programs/nvim
./programs/qutebrowser
./programs/spicetify
# Scripts
./scripts # All scripts
# System
./system/dunst
./system/git
./system/gtk
./system/hyprland
./system/shell
./system/sops/laptop.nix
./system/waybar
./system/wlogout
./system/wofi
];
home = {
inherit (config.var) username;
inherit (config.var) homeDirectory;
packages = with pkgs; [
swappy
imv
discord
obsidian
xfce.thunar
bitwarden
vlc
# Dev
go
cargo
nodejs
python3
jq
# Utils
fd
bc
gcc
blueman
zip
unzip
xdg_utils
wget
curl
wf-recorder
glow
nwg-displays
wireguard-tools
bitwarden-cli
optipng
# Just cool
peaclock
cbonsai
pipes
cmatrix
# Backup
vscode
tor-browser
firefox
neovide
];
# Import wallpapers into $HOME/wallpapers
file."wallpapers" = {
recursive = true;
source = ./wallpapers;
};
stateVersion = "24.05";
};
programs.home-manager.enable = true;
}

View File

@@ -1,9 +0,0 @@
{
programs.btop = {
enable = true;
settings = {
color_theme = "Default";
theme_background = false;
};
};
}

View File

@@ -1,13 +0,0 @@
{ config, ... }: {
programs.cava = {
enable = true;
settings = {
general.framerate = 60;
smoothing.noise_reduction = 88;
color = {
background = "'#${config.var.theme.colors.bg}'";
foreground = "'#${config.var.theme.colors.accent}'";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ neofetch ]; home.packages = with pkgs; [ neofetch ];
xdg.configFile."neofetch/ascii.txt".text = '' xdg.configFile."neofetch/ascii.txt".text = ''
@@ -109,9 +109,6 @@
song_format="%artist% - %album% - %title%" song_format="%artist% - %album% - %title%"
song_shorthand="off" song_shorthand="off"
mpc_args=() mpc_args=()
colors=(${toString config.var.theme.colors.accentNumber} 1 ${
toString config.var.theme.colors.accentNumber
} ${toString config.var.theme.colors.accentNumber} 7)
bold="on" bold="on"
underline_enabled="on" underline_enabled="on"
underline_char="-" underline_char="-"

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }: { pkgs, ... }:
let let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" '' nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
ostype="$(uname)" ostype="$(uname)"
@@ -345,9 +345,9 @@ let
## USER VARIABLES -- YOU CAN CHANGE THESE ## USER VARIABLES -- YOU CAN CHANGE THESE
lc="$reset$bold''$${config.var.theme.colors.accentName}" # labels lc="$reset$bold$magenta" # labels
nc="$reset$bold''$${config.var.theme.colors.accentName}" # labels nc="$reset$bold$magenta" # labels
hn="$reset$bold''$${config.var.theme.colors.accentName}" # labels hn="$reset$bold$magenta" # labels
ic="$reset$white" # info ic="$reset$white" # info
c0="$reset$grey" # first color c0="$reset$grey" # first color
c1="$reset$white" # second color c1="$reset$white" # second color

View File

@@ -1,8 +1,12 @@
{ config, ... }: { { config, ... }:
let
username = config.var.git.username;
email = config.var.git.email;
in {
programs.git = { programs.git = {
enable = true; enable = true;
userName = config.var.git.username; userName = username;
userEmail = config.var.git.email; userEmail = email;
ignores = [ ignores = [
".cache/" ".cache/"
".DS_Store" ".DS_Store"

View File

@@ -1,6 +1,15 @@
{ config, pkgs, ... }: { {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
keybindings = {
# Reset existing mappings
"ctrl+alt+tab" = "next_tab";
"ctrl+alt+shift+tab" = "previous_tab";
# Send Ctrl Tab and Ctrl + Shift + Tab for Tmux navigation
"ctrl+tab" = "send_text all \\x1b[27;5;9~";
"ctrl+shift+tab" = "send_text all \\x1b[27;6;9~";
"alt+tab" = "send_text all \\x1b[27;3;9~";
};
settings = { settings = {
scrollback_lines = 10000; scrollback_lines = 10000;
initial_window_width = 1200; initial_window_width = 1200;
@@ -10,39 +19,10 @@
confirm_os_window_close = "0"; confirm_os_window_close = "0";
remember_window_size = "no"; remember_window_size = "no";
disable_ligatures = "never"; disable_ligatures = "never";
shell = "${pkgs.tmux}/bin/tmux";
url_style = "curly"; url_style = "curly";
cursor_shape = "Underline"; cursor_shape = "Underline";
cursor_underline_thickness = config.var.theme.border-size; cursor_underline_thickness = 3;
window_padding_width = config.var.theme.gaps-in; window_padding_width = 10;
# Font
font_family = config.var.theme.font-mono;
font_size = config.var.theme.font-size;
# Colors
background = "#" + config.var.theme.colors.bg;
url_color = "#" + config.var.theme.colors.accent;
color0 = "#" + config.var.theme.colors.c0;
color8 = "#" + config.var.theme.colors.c8;
color1 = "#" + config.var.theme.colors.c1;
color9 = "#" + config.var.theme.colors.c9;
color2 = "#" + config.var.theme.colors.c2;
color10 = "#" + config.var.theme.colors.c10;
color3 = "#" + config.var.theme.colors.c3;
color11 = "#" + config.var.theme.colors.c11;
color4 = "#" + config.var.theme.colors.c4;
color12 = "#" + config.var.theme.colors.c12;
color5 = "#" + config.var.theme.colors.c5;
color13 = "#" + config.var.theme.colors.c13;
color6 = "#" + config.var.theme.colors.c6;
color14 = "#" + config.var.theme.colors.c14;
color7 = "#" + config.var.theme.colors.c7;
color15 = "#" + config.var.theme.colors.c15;
cursor = "#" + config.var.theme.colors.fg;
cursor_text_color = "#" + config.var.theme.colors.bg;
selection_foreground = "#" + config.var.theme.colors.accentFg;
selection_background = "#" + config.var.theme.colors.accent;
}; };
}; };
} }

View File

@@ -0,0 +1,22 @@
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in {
programs.lazygit = {
enable = true;
settings = lib.mkForce {
gui = {
theme = {
activeBorderColor = [ accent "bold" ];
inactiveBorderColor = [ muted ];
};
showListFooter = false;
showRandomTip = false;
showCommandLog = false;
showBottomLine = false;
nerdFontsVersion = "3";
};
};
};
}

View File

@@ -0,0 +1,4 @@
# Work in progress on another repo
{ pkgs, ... }: {
home.packages = with pkgs; [ wkhtmltopdf ];
}

View File

@@ -0,0 +1,7 @@
# Nextcloud is a suite of client-server software for creating file hosting services and using them. It is functionally similar to Dropbox, although Nextcloud is free and open-source, allowing anyone to install and operate it on a private server. In contrast to proprietary services, Nextcloud can be hosted on a private server, without additional cost.
{
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
}

View File

@@ -1,9 +0,0 @@
{
programs.nixvim = {
enable = true;
colorschemes.catppuccin = {
enable = true;
settings = { transparent_background = true; };
};
};
}

View File

@@ -1,30 +1,21 @@
# Nixvim is a NixOS module that installs and configures Neovim
{ inputs, ... }: { { inputs, ... }: {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
./plugins/auto-pairs.nix
./plugins/bufferline.nix
./plugins/lazygit.nix
./plugins/telescope.nix
./plugins/nvim-tree.nix
./plugins/lightline.nix
./plugins/git.nix
./plugins/cmp.nix ./plugins/cmp.nix
./plugins/none-ls.nix ./plugins/dashboard.nix
./plugins/wilder.nix
./plugins/lsp.nix ./plugins/lsp.nix
./plugins/treesitter.nix ./plugins/markdown.nix
./plugins/toggleterm.nix ./plugins/tree.nix
./plugins/copilot.nix ./plugins/ui.nix
./plugins/whichkey.nix ./plugins/utils.nix
./plugins/alpha.nix ./plugins/dap.nix
./plugins/keymaps.nix ./plugins/telescope.nix
./plugins/comment.nix ./plugins/zenmode.nix
./plugins/oil.nix
./plugins/trouble.nix
./plugins/tmux-navigator.nix
./plugins/noice.nix
./plugins/obsidian.nix
./options.nix ./options.nix
./colorscheme.nix ./keymaps.nix
]; ];
programs.nixvim.enable = true;
} }

View File

@@ -0,0 +1,310 @@
{
programs.nixvim = {
plugins.which-key = {
enable = true;
settings = {
delay = 600;
icons = {
breadcrumb = "»";
group = "+";
separator = ""; # ➜
mappings = false;
};
spec = [
# General Mappings
{
__unkeyed-1 = "<leader>c";
mode = [ "n" "v" ];
group = "+code";
}
{
__unkeyed-1 = "<leader>d";
mode = [ "n" "v" ];
group = "+debug";
}
{
__unkeyed-1 = "<leader>s";
mode = "n";
group = "+search";
}
{
__unkeyed-1 = "<leader>m";
mode = "n";
group = "+markdown";
}
{
__unkeyed-1 = "<leader>t";
mode = "n";
group = "+trouble";
}
{
__unkeyed-1 = "<leader>u";
mode = "n";
group = "+ui";
}
{
__unkeyed-1 = "<leader>w";
mode = "n";
group = "+windows";
}
{
__unkeyed-1 = "<leader>h";
mode = "n";
group = "+harpoon";
}
];
win = {
border = "rounded";
wo.winblend = 0;
};
};
};
keymaps = [
# General Mappings
{
key = "<leader>e";
action = "<cmd>Oil --float<cr>";
options.desc = "Oil";
}
{
key = "-";
action = "<cmd>Oil<cr>";
options.desc = "Oil";
}
{
key = "<leader>E";
action = "<cmd>Neotree toggle<cr>";
options.desc = "Neotree";
}
{
key = "s";
action = "<cmd>lua require('flash').jump()<cr>";
options.desc = "Flash";
}
{
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
options.desc = "LSP Hover";
}
{
key = "<C-h>";
action = "<cmd>TmuxNavigateLeft<cr>";
}
{
key = "<C-j>";
action = "<cmd>TmuxNavigateDown<cr>";
}
{
key = "<C-k>";
action = "<cmd>TmuxNavigateUp<cr>";
}
{
key = "<C-l>";
action = "<cmd>TmuxNavigateRight<cr>";
}
# UI
{
key = "<leader>uz";
action = "<cmd>ZenMode<cr>";
options.desc = "Toggle ZenMode";
}
{
key = "<leader>uw";
action = "<cmd>set wrap!<cr>";
options.desc = "Toggle word wrapping";
}
{
key = "<leader>ul";
action = "<cmd>set linebreak!<cr>";
options.desc = "Toggle linebreak";
}
{
key = "<leader>us";
action = "<cmd>set spell!<cr>";
options.desc = "Toggle spellcheck";
}
{
key = "<leader>uc";
action = "<cmd>set cursorline!<cr>";
options.desc = "Toggle cursorline";
}
{
key = "<leader>un";
action = "<cmd>set number!<cr>";
options.desc = "Toggle line numbers";
}
{
key = "<leader>ur";
action = "<cmd>set relativenumber!<cr>";
options.desc = "Toggle relative line numbers";
}
{
key = "<leader>ut";
action = "<cmd>set showtabline=2<cr>";
options.desc = "Show tabline";
}
{
key = "<leader>uT";
action = "<cmd>set showtabline=0<cr>";
options.desc = "Hide tabline";
}
# Search
{
key = "<leader> ";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Telescope";
}
{
key = "<leader>sg";
action = "<cmd>lua require('telescope.builtin').live_grep()<cr>";
options.desc = "Livegrep";
}
{
key = "<leader>sf";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Find Files";
}
{
key = "<leader>sb";
action = "<cmd>lua require('telescope.builtin').buffers()<cr>";
options.desc = "Buffers";
}
{
key = "<leader>sh";
action = "<cmd>lua require('telescope.builtin').help_tags()<cr>";
options.desc = "Help Tags";
}
{
key = "<leader>sc";
action = "<cmd>lua require('telescope.builtin').commands()<cr>";
options.desc = "Commands";
}
{
key = "<leader>sm";
action = "<cmd>lua require('telescope.builtin').marks()<cr>";
options.desc = "Marks";
}
{
key = "<leader>so";
action = "<cmd>lua require('telescope.builtin').oldfiles()<cr>";
options.desc = "Oldfiles";
}
{
key = "<leader>ss";
action = "<cmd>lua require('telescope.builtin').spell_suggest()<cr>";
options.desc = "Spell Suggest";
}
{
key = "<leader>sr";
action = "<cmd>:noh<return><esc>";
options.desc = "Reset search";
}
{
key = "<leader>st";
action = "<cmd>TodoTelescope<cr>";
options.desc = "Todos";
}
# Trouble
{
key = "<leader>tx";
action = "<cmd>Trouble diagnostics toggle<cr>";
options.desc = "Diagnostics (Trouble)";
}
{
key = "<leader>tX";
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
options.desc = "Buffer Diagnostics (Trouble)";
}
{
key = "<leader>ts";
action = "<cmd>Trouble symbols toggle focus=false<cr>";
options.desc = "Symbols (Trouble)";
}
{
key = "<leader>tl";
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
options.desc = "LSP Definitions / references / ... (Trouble)";
}
{
key = "<leader>tL";
action = "<cmd>Trouble loclist toggle<cr>";
options.desc = "Location List (Trouble)";
}
{
key = "<leader>tQ";
action = "<cmd>Trouble qflist toggle<cr>";
options.desc = "Quickfix List (Trouble)";
}
# Windows
{
key = "<leader>ws";
action = "<cmd>split<cr>";
options.desc = "Split";
}
{
key = "<leader>wv";
action = "<cmd>vsplit<cr>";
options.desc = "VSplit";
}
{
key = "<leader>wd";
action = "<cmd>close<cr>";
options.desc = "Close";
}
# Code
{
key = "<leader>cd";
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
options.desc = "LSP Definition";
}
{
key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.references()<cr>";
options.desc = "LSP References";
}
{
key = "<leader>ct";
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
options.desc = "LSP Type Definition";
}
{
key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
options.desc = "LSP Code Action";
}
{
key = "<leader>cf";
action = "<cmd>lua vim.lsp.buf.formatting()<cr>";
options.desc = "LSP Formatting";
}
{
key = "<leader>cn";
action = "<cmd>lua vim.lsp.diagnostic.goto_next()<cr>";
options.desc = "LSP Next Diagnostic";
}
{
key = "<leader>cp";
action = "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>";
options.desc = "LSP Previous Diagnostic";
}
{
key = "<leader>cu";
action = "<cmd>lua require('dapui').toggle()<CR>";
options.desc = "Toggle Dapui";
}
{
key = "<leader>cb";
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
options.desc = "Toggle breakpoint";
}
];
};
}

View File

@@ -1,5 +1,4 @@
{ {
programs.nixvim.globals.mapleader = " "; programs.nixvim.globals.mapleader = " ";
programs.nixvim.opts = { programs.nixvim.opts = {
updatetime = 50; # Faster completion updatetime = 50; # Faster completion
@@ -22,16 +21,18 @@
hlsearch = true; hlsearch = true;
smartcase = true; smartcase = true;
wildmode = "list:longest"; wildmode = "list:longest";
completeopt = [ "menuone" "noselect" ]; completeopt = [ "menuone" "noselect" "noinsert" ];
signcolumn = "yes"; signcolumn = "yes";
cursorline = true; cursorline = false;
scrolloff = 8; scrolloff = 8;
mouse = "a"; mouse = "a";
termguicolors = true;
showmode = false;
wrap = false; wrap = false;
swapfile = false; swapfile = false;
undofile = true; undofile = true;
conceallevel = 2; conceallevel = 3;
}; };
} }

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.nvim-autopairs = { enable = true; }; }

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.bufferline = { enable = true; }; }

View File

@@ -15,8 +15,12 @@
sources = [ sources = [
{ name = "nvim_lsp"; } { name = "nvim_lsp"; }
{ name = "luasnip"; } { name = "luasnip"; }
{ name = "buffer"; } {
name = "buffer";
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
}
{ name = "nvim_lua"; } { name = "nvim_lua"; }
{ name = "mkdnflow"; }
{ name = "path"; } { name = "path"; }
]; ];
@@ -80,7 +84,7 @@
completion = { completion = {
winhighlight = winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel"; "FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel";
scrollbar = true; scrollbar = false;
sidePadding = 0; sidePadding = 0;
border = [ "" "" "" "" "" "" "" "" ]; border = [ "" "" "" "" "" "" "" "" ];
}; };

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.comment = { enable = true; }; }

View File

@@ -1,5 +0,0 @@
{
programs.nixvim.plugins.copilot-vim = {
enable = true;
};
}

View File

@@ -0,0 +1,28 @@
{ pkgs, ... }: {
programs.nixvim.plugins.dap = {
enable = true;
adapters = { };
signs = {
dapBreakpoint = {
text = "";
texthl = "DapBreakpoint";
};
dapBreakpointCondition = {
text = "";
texthl = "DapBreakpointCondition";
};
dapLogPoint = {
text = "";
texthl = "DapLogPoint";
};
};
extensions = {
dap-go = {
enable = true;
delve.path = "${pkgs.delve}/bin/dlv";
};
dap-ui = { enable = true; };
dap-virtual-text = { enable = true; };
};
};
}

View File

@@ -1,9 +1,15 @@
{ config, ... }: { { config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
foreground = "#${config.lib.stylix.colors.base05}";
configDir = config.var.configDirectory;
in {
programs.nixvim.highlight = { programs.nixvim.highlight = {
AlphaHeaderColor.fg = "#${config.var.theme.colors.accent}"; AlphaHeaderColor.fg = accent;
AlphaTextColor.fg = "#${config.var.theme.colors.fg}"; AlphaTextColor.fg = foreground;
AlphaShortcutColor.fg = "#${config.var.theme.colors.fgalt}"; AlphaShortcutColor.fg = muted;
}; };
programs.nixvim.plugins.alpha = { programs.nixvim.plugins.alpha = {
@@ -70,8 +76,22 @@
{ {
type = "button"; type = "button";
val = " NixOs Config"; val = " NixOs Config";
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
opts = {
shortcut = "nc";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = " Keybindings";
on_press.__raw = on_press.__raw =
"function() vim.cmd[[e ${config.var.configDirectory}]] end"; "function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
opts = { opts = {
shortcut = "nc"; shortcut = "nc";
position = "center"; position = "center";

View File

@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.gitsigns = {
enable = true;
settings = { current_line_blame = false; };
};
}

View File

@@ -1,71 +0,0 @@
{
programs.nixvim.keymaps = [
{
key = "<leader>e";
action = "<CMD>Neotree toggle<CR>";
}
{
key = "<space>fm";
action = "<CMD>lua vim.lsp.buf.format()<CR>";
}
{
key = "<leader>ot";
action = "<cmd>lua require('obsidian').util.toggle_checkbox()<cr>";
}
{
key = "<leader>oo";
action = "<cmd>ObsidianQuickSwitch<cr>";
}
{
key = "<leader>on";
action = "<cmd>ObsidianNew<cr>";
}
{
key = "<leader>of";
action = "<cmd>ObsidianSearch<cr>";
}
{
key = "<leader>oi";
action = "<cmd>ObsidianPasteImg<cr>";
}
{
key = "<leader>E";
action = "<cmd>Oil<cr>";
}
{
key = "<leader>t";
action = "<cmd>TroubleToggle<cr>";
}
{
key = "<C-h>";
action = "<cmd>TmuxNavigateLeft<cr>";
}
{
key = "<C-j>";
action = "<cmd>TmuxNavigateDown<cr>";
}
{
key = "<C-k>";
action = "<cmd>TmuxNavigateUp<cr>";
}
{
key = "<C-l>";
action = "<cmd>TmuxNavigateRight<cr>";
}
# Terminal Mappings
{
mode = "t";
key = "<esc>";
action = "<C-\\><C-n>";
}
];
}

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.lazygit = { enable = true; }; }

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.lualine = { enable = true; }; }

View File

@@ -11,6 +11,7 @@
tailwindcss.enable = true; tailwindcss.enable = true;
html.enable = true; html.enable = true;
svelte.enable = true; svelte.enable = true;
marksman.enable = true;
}; };
keymaps.lspBuf = { keymaps.lspBuf = {
"gd" = "definition"; "gd" = "definition";
@@ -20,5 +21,25 @@
"K" = "hover"; "K" = "hover";
}; };
}; };
none-ls = {
enable = true;
sources = {
diagnostics = {
golangci_lint.enable = true;
statix.enable = true;
};
formatting = {
gofmt.enable = true;
goimports.enable = true;
nixfmt.enable = true;
markdownlint.enable = true;
tidy.enable = true;
shellharden.enable = true;
shfmt.enable = true;
golines.enable = true;
gofumpt.enable = true;
};
};
};
}; };
} }

View File

@@ -0,0 +1,172 @@
# The render-markdown.nvim plugin is a plugin that renders markdown files in a neovim in a more readable way.
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
background = "#${config.lib.stylix.colors.base00}";
in {
programs.nixvim = {
plugins.mkdnflow = {
enable = true;
modules = { conceal = false; };
toDo.symbols = [ " " "-" "x" "!" "/" ];
mappings = {
MkdnCreateLink = false;
MkdnCreateLinkFromClipboard = {
key = "<leader>ml";
modes = [ "n" "v" ];
};
MkdnDecreaseHeading = {
key = "<leader>m-";
modes = "n";
};
MkdnDestroyLink = false;
MkdnEnter = {
key = "<CR>";
modes = [ "v" ];
};
MkdnExtendList = false;
MkdnFoldSection = {
key = "<leader>mf";
modes = "n";
};
MkdnUnfoldSection = {
key = "<leader>mF";
modes = "n";
};
MkdnFollowLink = {
key = "gd";
modes = "n";
};
MkdnGoBack = false;
MkdnGoForward = false;
MkdnIncreaseHeading = {
key = "<leader>m+";
modes = "n";
};
MkdnMoveSource = false;
MkdnNewListItem = false;
MkdnNewListItemAboveInsert = {
key = "O";
modes = "n";
};
MkdnNewListItemBelowInsert = {
key = "o";
modes = "n";
};
MkdnNextHeading = {
key = "<leader>m#";
modes = "n";
};
MkdnNextLink = false;
MkdnPrevLink = false;
MkdnPrevHeading = {
key = "<leader>m*";
modes = "n";
};
MkdnSTab = false;
MkdnTab = false;
MkdnTableNewColAfter = {
key = "<leader>mc";
modes = "n";
};
MkdnTableNewColBefore = {
key = "<leader>mC";
modes = "n";
};
MkdnTableNewRowAbove = {
key = "<leader>mR";
modes = "n";
};
MkdnTableNewRowBelow = {
key = "<leader>mr";
modes = "n";
};
MkdnTableNextCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTableNextRow = false;
MkdnTablePrevCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTablePrevRow = false;
MkdnToggleToDo = {
key = "<C-Space>";
modes = [ "n" "v" ];
};
MkdnUpdateNumbering = {
key = "<leader>mn";
modes = "n";
};
MkdnYankAnchorLink = {
key = "ya";
modes = "n";
};
MkdnYankFileAnchorLink = {
key = "yfa";
modes = "n";
};
};
};
extraFiles = {
"after/ftplugin/markdown.lua".text = ''
vim.bo.tabstop = 2
vim.bo.shiftwidth = 2
vim.bo.expandtab = true
'';
};
highlight = {
RenderMarkdownBg.bg = background;
RenderMarkdownH1.fg = accent;
RenderMarkdownH2.fg = muted;
RenderMarkdownH3.fg = muted;
RenderMarkdownH4.fg = muted;
RenderMarkdownH5.fg = muted;
RenderMarkdownH6.fg = muted;
RenderMarkdownTodo.fg = muted;
RenderMarkdownWarning.fg = accent;
};
plugins.render-markdown = {
enable = true;
settings = {
heading = {
icons = [ "# " "󰲣 " "󰲥 " "󰲧 " "󰲩 " "󰲫 " ];
backgrounds = [ "RenderMarkdownBg" ];
foregrounds = [
"RenderMarkdownH1"
"RenderMarkdownH2"
"RenderMarkdownH3"
"RenderMarkdownH4"
"RenderMarkdownH5"
"RenderMarkdownH6"
];
};
checkbox = {
unchecked = { highlight = "RenderMarkdownTodo"; };
checked = { highlight = "RenderMarkdownTodo"; };
custom = {
pending = {
raw = "[-]";
rendered = "󰥔 ";
highlight = "RenderMarkdownTodo";
};
important = {
raw = "[!]";
rendered = " ";
highlight = "RenderMarkdownWarning";
};
cancel = {
raw = "[/]";
rendered = "󱋬 ";
highlight = "RenderMarkdownTodo";
};
};
};
};
};
};
}

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.noice = { enable = true; }; }

View File

@@ -1,20 +0,0 @@
{
programs.nixvim.plugins.none-ls = {
enable = true;
sources = {
diagnostics = {
golangci_lint.enable = true;
statix.enable = true;
};
formatting = {
gofmt.enable = true;
goimports.enable = true;
nixfmt.enable = true;
markdownlint.enable = true;
tidy.enable = true;
shellharden.enable = true;
shfmt.enable = true;
};
};
};
}

View File

@@ -1,5 +0,0 @@
{
programs.nixvim.plugins.neo-tree = {
enable = true;
};
}

View File

@@ -1,9 +0,0 @@
{ config, ... }: {
programs.nixvim.plugins.obsidian = {
enable = config.var.obsidian;
settings = {
dir = "~/nextcloud/Notes";
disable_frontmatter = true;
};
};
}

View File

@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.oil = {
enable = true;
settings = { default_file_explorer = false; };
};
}

View File

@@ -1,13 +1,31 @@
{ { config, ... }:
programs.nixvim.plugins.telescope = { let
enable = true; accent = "#${config.lib.stylix.colors.base0D}";
keymaps = { background = "#${config.lib.stylix.colors.base00}";
"<leader>fg" = "live_grep"; background-alt = "#${config.lib.stylix.colors.base01}";
#"<C-p>" = { in {
# action = "git_files"; programs.nixvim = {
# desc = "Telescope Git Files"; highlight = {
#}; TelescopePromptPrefix.fg = accent;
TelescopeSelectionCaret = {
fg = accent;
bg = background-alt;
};
TelescopeSelection.bg = background-alt;
TelescopePromptTitle = {
bg = background;
fg = accent;
};
TelescopePromptNormal.bg = background;
TelescopePromptBorder = {
bg = background;
fg = accent;
};
};
plugins.telescope = {
enable = true;
extensions.fzf-native = { enable = true; };
settings.defaults = { selection_caret = " "; };
}; };
extensions.fzf-native = { enable = true; };
}; };
} }

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.tmux-navigator = { enable = true; }; }

View File

@@ -1,9 +0,0 @@
{
programs.nixvim.plugins.toggleterm = {
enable = true;
settings = {
open_mapping = "[[<c-t>]]";
direction = "horizontal";
};
};
}

View File

@@ -0,0 +1,44 @@
{
programs.nixvim = {
plugins = {
neo-tree.enable = true;
oil = {
enable = true;
settings = {
default_file_explorer = false;
skip_confirm_for_simple_edits = true;
win_options = {
concealcursor = "ncv";
conceallevel = 3;
cursorcolumn = false;
foldcolumn = "0";
list = false;
signcolumn = "no";
spell = false;
wrap = false;
};
float = { padding = 5; };
keymaps = {
"-" = "actions.parent";
"b" = "actions.parent";
"<C-c>" = "actions.close";
"<C-h>" = "actions.select_split";
"<C-l>" = "actions.refresh";
"<C-p>" = "actions.preview";
"<C-s>" = "actions.select_vsplit";
"<C-t>" = "actions.select_tab";
"<CR>" = "actions.select";
_ = "actions.open_cwd";
"`" = "actions.cd";
"g." = "actions.toggle_hidden";
"g?" = "actions.show_help";
"g\\" = "actions.toggle_trash";
gs = "actions.change_sort";
gx = "actions.open_external";
"~" = "actions.tcd";
};
};
};
};
};
}

View File

@@ -1,10 +0,0 @@
{
programs.nixvim.plugins = {
treesitter = {
enable = true;
nixGrammars = true;
indent = true;
};
treesitter-context.enable = true;
};
}

View File

@@ -1 +0,0 @@
{ programs.nixvim.plugins.trouble = { enable = true; }; }

View File

@@ -0,0 +1,54 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ ctags ];
programs.nixvim = {
plugins = {
lualine = {
enable = true;
settings = {
options.disabled_filetypes.statusline =
[ "dashboard" "alpha" "neo-tree" ];
alwaysDivideMiddle = true;
globalstatus = true;
ignoreFocus = [ "neo-tree" ];
extensions = [ "fzf" ];
theme = "auto";
componentSeparators = {
left = "|";
right = "|";
};
sectionSeparators = {
left = ""; # 
right = ""; # 
};
sections = {
lualine_a = [ "mode" ];
lualine_b = [ "branch" "diff" "diagnostics" ];
lualine_c = [ "filename" ];
lualine_x = [ "filetype" ];
lualine_y = [ "progress" ];
lualine_z = [ ''" " .. os.date("%R")'' ];
};
};
};
web-devicons.enable = true;
noice.enable = true;
notify = {
enable = true;
level = "warn";
};
gitsigns = {
enable = true;
settings.current_line_blame = false;
};
trouble.enable = true;
indent-blankline.enable = true;
nvim-colorizer.enable = true;
tagbar = {
enable = true;
tagsPackage = pkgs.universal-ctags;
};
};
};
}

View File

@@ -0,0 +1,49 @@
{ config, ... }: {
programs.nixvim = {
highlightOverride = {
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
};
plugins = {
copilot-vim.enable = true;
flash.enable = true;
image = {
enable = true;
integrations.markdown = {
clearInInsertMode = true;
onlyRenderImageAtCursor = true;
};
};
tmux-navigator.enable = true;
comment.enable = true;
nvim-autopairs.enable = true;
friendly-snippets.enable = true;
todo-comments.enable = true;
treesitter = {
enable = true;
nixGrammars = true;
settings = {
indent.enable = true;
highlight.enable = true;
};
};
harpoon = {
enable = true;
enableTelescope = true;
keymapsSilent = true;
keymaps = {
addFile = "<leader>ha";
toggleQuickMenu = "<leader>hu";
navNext = "<leader>hl";
navPrev = "<leader>hh";
navFile = {
"1" = "<leader>h1";
"2" = "<leader>h2";
"3" = "<leader>h3";
"4" = "<leader>h4";
};
};
};
treesitter-context.enable = true;
};
};
}

View File

@@ -1,3 +0,0 @@
{
programs.nixvim.plugins.which-key.enable=true;
}

View File

@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.wilder = {
enable = true;
modes = [ ":" "/" "?" ];
};
}

View File

@@ -0,0 +1,46 @@
{
programs.nixvim.plugins = {
zen-mode = {
enable = true;
settings = {
on_close = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLEnable')
vim.opt.signcolumn = "yes:2"
vim.wo.wrap = false
vim.wo.linebreak = false
require("gitsigns.actions").refresh()
end
'';
on_open = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLDisable')
vim.opt.relativenumber = false
vim.opt.signcolumn = "no"
vim.wo.wrap = true
vim.wo.linebreak = true
require("gitsigns.actions").refresh()
end
'';
window = {
backdrop = 1;
height = 1;
options = {
signcolumn = "no";
number = false;
relativenumber = false;
cursorline = false;
cursorcolumn = false;
foldcolumn = "0";
list = false;
};
width = 0.8;
};
};
};
};
}

View File

@@ -1,6 +1,87 @@
{ config, ... }: { # Qutebrowser is a keyboard-focused browser with a minimal GUI.
# My homepage is generated using https://github.com/anotherhadi/homepage
{ pkgs, config, ... }:
let
imports = [ ./duckduckgo-colorscheme.nix ./homepage ]; accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = ''
{
"config": {
"title" : "Welcome Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "${accent}",
"background": "${background}",
"foreground": "${foreground}",
"muted": "#${muted}"
},
"folders": [
{
"name": "Bookmarks",
"links": [
{"title": "MyNixOs", "url": "https://mynixos.com", "icon": "󱄅"},
{"title": "Github", "url": "https://github.com", "icon": ""},
{"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""},
{"title": "Cloudflare One", "url": "https://one.dash.cloudflare.com/", "icon": ""},
{"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": "󰭹"},
{"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""},
{"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": "󰖬"},
{"title": "Youtube", "url": "https://youtube.com", "icon": "󰗃"},
{"title": "Figma", "url": "https://figma.com", "icon": ""},
{"title": "Server", "url": "https://home.anotherhadi.com", "icon": ""}
]
},
{
"name": "Work",
"links": [
{"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": "󰴢"},
{"title": "Office", "url": "https://www.office.com/?auth=2", "icon": "󰏆"},
{"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": "󰊻"}
]
}
]
}
}
'';
homepage = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
};
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${
pkgs.writeText "src/routes/config.json" settings
} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/anotherhadi/homepage";
};
};
in {
imports = [ ./duckduckgo-colorscheme.nix ];
programs.qutebrowser = { programs.qutebrowser = {
enable = true; enable = true;
@@ -18,8 +99,9 @@
}; };
quickmarks = { quickmarks = {
home = "${config.var.homeDirectory}/.config/startpage/index.html"; home = "${homepage}/build/index.html";
server = "${config.var.homeDirectory}/.config/serverpage/index.html"; server = "https://home.anotherhadi.com";
jack = "https://home.anotherhadi.com";
mynixos = "https://mynixos.com"; mynixos = "https://mynixos.com";
github = "https://github.com"; github = "https://github.com";
outlook = "https://outlook.office.com/mail/"; outlook = "https://outlook.office.com/mail/";
@@ -38,102 +120,16 @@
settings = { settings = {
url = { url = {
default_page = default_page = "${homepage}/build/index.html";
"${config.var.homeDirectory}/.config/startpage/index.html"; start_pages = [ "${homepage}/build/index.html" ];
start_pages =
[ "${config.var.homeDirectory}/.config/startpage/index.html" ];
}; };
colors = { colors = {
tabs = {
odd.bg = "#${config.var.theme.colors.bg}";
odd.fg = "#${config.var.theme.colors.fg}";
even.bg = "#${config.var.theme.colors.bg}";
even.fg = "#${config.var.theme.colors.fg}";
selected = {
odd = {
bg = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
};
even = {
bg = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
};
};
indicator = {
error = "#${config.var.theme.colors.c1}";
start = "#${config.var.theme.colors.bgalt}";
stop = "#${config.var.theme.colors.bgalt}";
};
};
hints = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
match.fg = "#${config.var.theme.colors.bg}";
};
completion = {
category = {
bg = "#${config.var.theme.colors.bg}";
fg = "#${config.var.theme.colors.fg}";
border = {
top = "#${config.var.theme.colors.bg}";
bottom = "#${config.var.theme.colors.bg}";
};
};
odd.bg = "#${config.var.theme.colors.bg}";
even.bg = "#${config.var.theme.colors.bg}";
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
match.fg = "#${config.var.theme.colors.accent}";
item.selected = {
bg = "#${config.var.theme.colors.accent}";
border.top = "#${config.var.theme.colors.accent}";
border.bottom = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
match.fg = "#${config.var.theme.colors.accentFg}";
};
};
statusbar = {
normal.bg = "#${config.var.theme.colors.bg}";
normal.fg = "#${config.var.theme.colors.fg}";
private.bg = "#${config.var.theme.colors.bg}";
private.fg = "#${config.var.theme.colors.fg}";
insert.bg = "#${config.var.theme.colors.accent}";
insert.fg = "#${config.var.theme.colors.accentFg}";
command = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
private.bg = "#${config.var.theme.colors.bgalt}";
private.fg = "#${config.var.theme.colors.fgalt}";
};
};
messages = {
info = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
border = "#${config.var.theme.colors.bgalt}";
};
error = {
bg = "#${config.var.theme.colors.c1}";
fg = "#${config.var.theme.colors.fgalt}";
border = "#${config.var.theme.colors.c1}";
};
};
#webpage.darkmode.enabled = true; # Enable dark mode for all websites (Weird on images)
webpage.preferred_color_scheme = webpage.preferred_color_scheme =
"dark"; # Enable dark mode for websites that support it "dark"; # Enable dark mode for websites that support it
}; };
fonts = { default_family = "${config.var.theme.font}"; }; statusbar.show = "in-mode";
completion = { completion = {
height = "30%"; height = "30%";
@@ -152,6 +148,7 @@
autoplay = false; autoplay = false;
javascript.clipboard = "access"; javascript.clipboard = "access";
javascript.enabled = true; javascript.enabled = true;
webgl = true;
pdfjs = true; pdfjs = true;
}; };
@@ -160,10 +157,7 @@
remove_finished = 0; remove_finished = 0;
}; };
hints = { hints = { radius = 1; };
border = "none";
radius = 1;
};
scrolling = { scrolling = {
bar = "never"; bar = "never";
@@ -184,8 +178,8 @@
keyBindings = { keyBindings = {
normal = { normal = {
"gh" = "open ${config.var.homeDirectory}/.config/startpage/index.html"; "gh" = "open ${homepage}/build/index.html";
"gs" = "open ${config.var.homeDirectory}/.config/serverpage/index.html"; "gs" = "open https://home.anotherhadi.com";
" p" = "tab-move -"; " p" = "tab-move -";
" n" = "tab-move +"; " n" = "tab-move +";
@@ -256,6 +250,7 @@
config.unbind("gt") config.unbind("gt")
c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6} c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
c.statusbar.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
config.load_autoconfig(True) config.load_autoconfig(True)
''; '';

View File

@@ -1,36 +1,44 @@
{ config, ... }: { # A duckduckgo colorscheme generated for the Stylix theme used.
home.file.".duckduckgo-colorscheme.js".text = '' { config, ... }:
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter. let
// based on https://ddg.codingcodax.dev/ accent = config.lib.stylix.colors.base0D;
// Cookies string for your theme background = config.lib.stylix.colors.base00;
const cookie = '7=${config.var.theme.colors.bg}; j=${config.var.theme.colors.bg}; 9=${config.var.theme.colors.fg}; aa=${config.var.theme.colors.fgalt}; 8=${config.var.theme.colors.c7}; x=${config.var.theme.colors.accent}; 21=${config.var.theme.colors.bgalt};'; foreground = config.lib.stylix.colors.base05;
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
const cookie = '7=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON // Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => { const cookieToJSON = (cookieRaw) => {
const cookieJson = {}; const cookieJson = {};
const items = cookieRaw.split(/[ ,]+/); const items = cookieRaw.split(/[ ,]+/);
items.forEach((item) => { items.forEach((item) => {
const parts = item.split('='); const parts = item.split('=');
cookieJson[parts[0]] = parts[1]; cookieJson[parts[0]] = parts[1];
}); });
return cookieJson; return cookieJson;
}; };
// Iterates over JSON, and adds to browser cookie store // Iterates over JSON, and adds to browser cookie store
const setCookies = (cookieJson) => { const setCookies = (cookieJson) => {
Object.keys(cookieJson).forEach((key) => { Object.keys(cookieJson).forEach((key) => {
document.cookie = `''${key}=''${cookieJson [ key ]}`; document.cookie = `''${key}=''${cookieJson [ key ]}`;
}); });
}; };
alert('The Nixy theme will be applied.'); // Call set cookies, passing in formated cookie data
setCookies(cookieToJSON(cookie));
// Call set cookies, passing in formated cookie data // All done, reload page for changes to take effect :)
setCookies(cookieToJSON(cookie)); location.reload();
'';
// All done, reload page for changes to take effect :)
location.reload();
'';
} }

View File

@@ -1,297 +0,0 @@
{ config, ... }:
let
bookmarks = ''
Bookmarks: [
{text: "MyNixOs", url: "https://mynixos.com", icon: "󱄅"},
{text: "Github", url: "https://github.com", icon: ""},
{text: "Proton", url: "https://mail.proton.me/u/0/inbox", icon: ""},
{text: "Cloudflare One", url: "https://one.dash.cloudflare.com/", icon: ""},
{text: "Chat GPT", url: "https://chat.openai.com/", icon: "󰭹"},
{text: "Nixvim", url: "https://nix-community.github.io/nixvim/", icon: ""},
{text: "Hyprland Wiki", url: "https://wiki.hyprland.org/", icon: "󰖬"},
{text: "Nerdfont", url: "https://www.nerdfonts.com/cheat-sheet", icon: ""},
{text: "Youtube", url: "https://youtube.com", icon: "󰗃"},
],
Home: [
{text: "Casa", url: "http://192.168.2.16:8081/#/", icon: "󰋜"},
{text: "Plex", url: "http://192.168.2.16:32400", icon: "󰚺"},
{text: "Nextcloud", url: "http://192.168.2.16:10081", icon: ""},
],
Work: [
{text: "Outlook", url: "https://outlook.office.com/mail/", icon: "󰴢"},
{text: "Office", url: "https://www.office.com/?auth=2", icon: "󰏆"},
{text: "Teams", url: "https://teams.microsoft.com/_", icon: "󰊻"},
],
'';
in {
xdg.configFile."startpage/index.html".text = ''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Homepage</title>
<style>
h1,
h2,
h3,
p {
margin: 0;
padding: 0;
font-family: '${config.var.theme.font}', sans-serif;
}
.w-screen {
width: 100vw;
}
.overflow-hidden {
overflow: hidden;
}
.max-w-7xl {
max-width: 80rem;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.justify-between {
justify-content: space-between;
}
.items-center {
align-items: center;
}
.py-12 {
padding-top: 3rem;
padding-bottom: 3rem;
}
.px-2 {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.text-5xl {
font-size: 3rem;
line-height: 1;
}
.font-bold {
font-weight: 700;
}
.mb-4 {
margin-bottom: 1rem;
}
.flex {
display: flex;
}
.flex-wrap {
flex-wrap: wrap;
}
.flex-col {
flex-direction: column;
}
.flex-grow {
flex-grow: 1;
}
.gap-5 {
gap: 1.25rem;
}
.gap-05 {
gap: 0.125rem;
}
.justify-start {
justify-content: flex-start;
}
.items-start {
align-items: flex-start;
}
.hover\:opacity-60:hover {
opacity: 0.6;
}
.pb-10 {
padding-bottom: 2.5rem;
}
.p-10 {
padding: 2.5rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
}
.text-4xl {
font-size: 2.25rem;
line-height: 2.5rem;
}
.px-5 {
padding-left: 1.25rem;
padding-right: 1.25rem;
}
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
a {
text-decoration: none;
}
a, a:visited, a:hover, a:active {
color: inherit;
}
</style>
</head>
<body class="w-screen" style="background-color: #${config.var.theme.colors.bg}; color: #${config.var.theme.colors.fg};">
<div class="max-w-7xl mx-auto p-10">
<div class="w-full flex justify-between" id="date-time">
<p class="text-xl"></p>
<p class="text-xl"></p>
</div>
<div class="w-full py-12 px-2" id="greeting">
<h1 class="text-5xl font-bold mb-4" style="color: #${config.var.theme.colors.accent};"></h1>
</div>
<div id="link-list" class="flex gap-5 flex-col justify-start items-start"></div>
</div>
<script defer>
const linkLists = {
${bookmarks}
};
function getDomainFromUrl(url) {
let domain = url.replace(/(^\w+:|^)\/\//, "");
domain = domain.split('/')[0];
return domain;
}
const linkListContainer = document.getElementById('link-list');
for (const key in linkLists) {
if (Object.hasOwnProperty.call(linkLists, key)) {
const linkList = linkLists[key];
const title = document.createElement('h2');
title.textContent = key.charAt(0).toUpperCase() + key.slice(1);
title.className = "text-3xl font-bold"
linkListContainer.appendChild(title);
const list = document.createElement('div');
list.className = 'flex flex-wrap gap-5 justify-start';
linkList.forEach(link => {
const anchor = document.createElement('a');
anchor.href = link.url;
anchor.className = "px-5 py-2 hover:opacity-60 flex-grow"
const div = document.createElement('div');
div.className = 'flex flex-row gap-5 items-center';
let icon = document.createElement('p');
icon.textContent = link.icon || "";
icon.className = "text-4xl";
div.appendChild(icon);
const divNameUrl = document.createElement('div');
divNameUrl.className = 'flex flex-col gap-05';
const name = document.createElement('p');
name.textContent = link.text;
name.className = 'text-lg font-medium';
const url = document.createElement('p');
url.textContent = link.url;
url.className = 'text-sm';
url.style = "color: #${config.var.theme.colors.fgalt};"
divNameUrl.appendChild(name);
divNameUrl.appendChild(url);
div.appendChild(divNameUrl);
anchor.appendChild(div);
list.appendChild(anchor);
});
linkListContainer.appendChild(list);
const spacer = document.createElement('div');
spacer.className = "pb-10"
linkListContainer.appendChild(spacer);
}
}
function updateDateTime() {
const dateTimeContainer = document.getElementById('date-time');
const currentDate = new Date();
const dateOptions = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'};
const timeOptions = {hour: '2-digit', minute: '2-digit'};
const formattedDate = currentDate.toLocaleDateString('en-US', dateOptions);
const formattedTime = currentDate.toLocaleTimeString('en-US', timeOptions);
const dateParagraph = dateTimeContainer.querySelector('p:nth-child(1)');
const timeParagraph = dateTimeContainer.querySelector('p:nth-child(2)');
dateParagraph.textContent = formattedDate;
timeParagraph.textContent = formattedTime;
}
updateDateTime();
setInterval(updateDateTime, 60000);
function updateGreeting() {
const greetingContainer = document.getElementById('greeting');
const currentDate = new Date();
const currentHour = currentDate.getHours();
let greetingText;
if (currentHour < 2) {
greetingText = "Good night! ";
} else if (currentHour < 5) {
greetingText = "Hello, night owl! 󰏒";
} else if (currentHour < 12) {
greetingText = "Good morning! ";
} else if (currentHour < 17) {
greetingText = "Good afternoon! ";
} else if (currentHour < 20) {
greetingText = "Good evening! ";
} else {
greetingText = "Good night! ";
}
const greetingHeader = greetingContainer.querySelector('h1');
greetingHeader.textContent = greetingText;
}
updateGreeting();
</script>
</body>
</html>
'';
}

View File

@@ -0,0 +1,4 @@
{
imports =
[ ./fzf.nix ./zsh.nix ./starship.nix ./zoxide.nix ./tmux.nix ./eza.nix ];
}

View File

@@ -0,0 +1,14 @@
# Eza is a ls replacement
{
programs.eza = {
enable = true;
icons = true;
extraOptions = [
"--group-directories-first"
"--no-quotes"
"--git-ignore"
"--icons=always"
];
};
}

View File

@@ -0,0 +1,30 @@
# Fzf is a general-purpose command-line fuzzy finder.
{ config, lib, ... }:
let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
in {
programs.fzf = {
enable = true;
enableZshIntegration = true;
colors = lib.mkForce {
"fg+" = accent;
"bg+" = "-1";
"fg" = foreground;
"bg" = "-1";
"prompt" = muted;
"pointer" = accent;
};
defaultOptions = [
"--margin=1"
"--layout=reverse"
"--border=rounded"
"--info='hidden'"
"--header=''"
"--prompt='/ '"
"-i"
"--no-bold"
];
};
}

View File

@@ -1,4 +1,9 @@
{ config, lib, ... }: { # starship is a minimal, fast, and extremely customizable prompt for any shell!
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {
@@ -10,22 +15,23 @@
"$git_status" "$git_status"
"$character" "$character"
]; ];
directory = { style = "#${config.var.theme.colors.accent}"; }; directory = { style = accent; };
character = { character = {
success_symbol = "[](#${config.var.theme.colors.accent})"; success_symbol = "[](${accent})";
error_symbol = "[](red)"; error_symbol = "[](red)";
vimcmd_symbol = "[](cyan)"; vimcmd_symbol = "[](cyan)";
}; };
git_branch = { git_branch = {
format = "[$branch]($style)"; symbol = "[](${background-alt}) ";
style = "bright-black"; style = "fg:${accent} bg:${background-alt}";
format = "on [$symbol$branch]($style)[](${background-alt}) ";
}; };
git_status = { git_status = {
format = format =
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)"; "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)";
style = "cyan"; style = "cyan";
conflicted = ""; conflicted = "";
renamed = ""; renamed = "";

View File

@@ -0,0 +1,33 @@
# Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
{ pkgs, ... }: {
programs.tmux = {
enable = true;
mouse = true;
shell = "${pkgs.zsh}/bin/zsh";
prefix = "C-s";
terminal = "kitty";
keyMode = "vi";
extraConfig = ''
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
set -gq allow-passthrough on
bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt
set -g detach-on-destroy off # don't exit from tmux when closing a session
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
bind-key -n M-Tab new-window
'';
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.resurrect
tmuxPlugins.sensible
tmuxPlugins.tokyo-night-tmux
];
};
}

View File

@@ -0,0 +1,7 @@
# Zoxide is a cd replacement
{
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
}

View File

@@ -0,0 +1,90 @@
# My shell configuration
{ pkgs, lib, config, ... }:
let fetch = config.var.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ bat ripgrep tldr sesh ];
home.sessionPath = [ "$HOME/go/bin" ];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
initExtraFirst = ''
bindkey -e
${if fetch == "neofetch" then
pkgs.neofetch + "/bin/neofetch"
else if fetch == "nerdfetch" then
"nerdfetch"
else if fetch == "pfetch" then
"echo; ${pkgs.pfetch}/bin/pfetch"
else
""}
function sesh-sessions() {
session=$(sesh list -t -c | fzf --height 70% --reverse)
[[ -z "$session" ]] && return
sesh connect $session
}
zle -N sesh-sessions
bindkey -M emacs '\es' sesh-sessions
bindkey -M vicmd '\es' sesh-sessions
bindkey -M viins '\es' sesh-sessions
'';
history = {
ignoreDups = true;
save = 10000;
size = 10000;
};
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
export PATH="$PATH''${PATH:+:}${
lib.concatStringsSep ":" config.home.sessionPath
}"
'';
shellAliases = {
vim = "nvim";
vi = "nvim";
v = "nvim";
c = "clear";
clera = "clear";
celar = "clear";
e = "exit";
cd = "z";
ls = "eza --icons=always --no-quotes";
tree = "eza --icons=always --tree --no-quotes";
sl = "ls";
open = "${pkgs.xdg_utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat";
wireguard-import = "nmcli connection import type wireguard file";
notes =
"nvim ~/nextcloud/Notes/index.md --cmd 'cd ~/nextcloud/Notes' -c ':Telescope find_files'";
note = "notes";
# git
g = "lazygit";
ga = "git add";
gc = "git commit";
gcu = "git add . && git commit -m 'Update'";
gp = "git push";
gpl = "git pull";
gs = "git status";
gd = "git diff";
gco = "git checkout";
gcb = "git checkout -b";
gbr = "git branch";
gaa = "git add .";
gcm = "git commit -m";
};
};
}

View File

@@ -1,31 +1,26 @@
# Spicetify is a spotify client customizer
{ pkgs, config, lib, inputs, ... }: { pkgs, config, lib, inputs, ... }:
let spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default; let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
accent = "${config.lib.stylix.colors.base0D}";
in { in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ]; imports = [ inputs.spicetify-nix.homeManagerModules.default ];
nixpkgs.config.allowUnfreePredicate = pkg: nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ "spotify" ]; builtins.elem (lib.getName pkg) [ "spotify" ];
stylix.targets.spicetify.enable = false;
programs.spicetify = { programs.spicetify = {
enable = true; enable = true;
theme = spicePkgs.themes.text; theme = lib.mkForce spicePkgs.themes.text;
colorScheme = "custom"; colorScheme = "custom";
customColorScheme = { customColorScheme = {
text = "${config.var.theme.colors.fg}"; button = accent;
subtext = "${config.var.theme.colors.fgalt}"; button-active = accent;
sidebar-text = "${config.var.theme.colors.fgalt}"; tab-active = accent;
main = "${config.var.theme.colors.bg}";
sidebar = "${config.var.theme.colors.bg}";
background = "${config.var.theme.colors.bg}";
player = "${config.var.theme.colors.bg}";
card = "${config.var.theme.colors.bg}";
shadow = "000000";
selected-row = "${config.var.theme.colors.bgalt}";
button = "${config.var.theme.colors.accent}";
button-active = "${config.var.theme.colors.accent}";
button-disabled = "${config.var.theme.colors.bgalt}";
tab-active = "${config.var.theme.colors.accent}";
misc = "${config.var.theme.colors.fgalt}";
}; };
enabledExtensions = with spicePkgs.extensions; [ enabledExtensions = with spicePkgs.extensions; [
@@ -33,6 +28,7 @@ in {
lastfm lastfm
historyShortcut historyShortcut
hidePodcasts hidePodcasts
adblock
fullAppDisplay fullAppDisplay
shuffle shuffle
]; ];

View File

@@ -0,0 +1,46 @@
# Thunar is a file explorer
{ pkgs, ... }: {
# ctrl + m to toggle the menubar
home.packages = with pkgs.xfce; [
thunar
xfconf
tumbler
thunar-archive-plugin
thunar-volman
];
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-separator-position" type="int" value="170"/>
<property name="last-statusbar-visible" type="bool" value="false"/>
<property name="last-menubar-visible" type="bool" value="false"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="misc-file-size-binary" type="bool" value="true"/>
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
<property name="misc-text-beside-icons" type="bool" value="true"/>
<property name="misc-change-window-icon" type="bool" value="true"/>
<property name="hidden-bookmarks" type="array">
<value type="string" value="computer:///"/>
<value type="string" value="recent:///"/>
<value type="string" value="file:///"/>
<value type="string" value="network:///"/>
</property>
<property name="hidden-devices" type="array">
<value type="string" value="52FEA905FEA8E309"/>
</property>
<property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
<property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
<property name="last-show-hidden" type="bool" value="false"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
</channel>
'';
}

View File

@@ -0,0 +1,17 @@
# Yazi is a TUI file explorer
{
programs.yazi = {
enable = true;
enableZshIntegration = true;
settings = {
log = { enabled = false; };
manager = {
show_hidden = false;
sort_by = "modified";
sort_dir_first = true;
sort_reverse = true;
};
};
};
}

View File

@@ -1,21 +1,24 @@
# - ## Brightness
#-
#- This module provides a set of scripts to control the brightness of the screen.
#-
#- - `brightness-up` increases the brightness by 5%.
#- - `brightness-down` decreases the brightness by 5%.
#- - `brightness-set [value]` sets the brightness to the given value.
#- - `brightness-change [up|down] [value]` increases or decreases the brightness by the given value.
{ pkgs, ... }: { pkgs, ... }:
let let
increments = "5"; increments = "5";
brightness-change = pkgs.writeShellScriptBin "brightness-change" '' brightness-change = pkgs.writeShellScriptBin "brightness-change" ''
sleep 0.05 [[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%+
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%-
'';
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+ brightness-set = pkgs.writeShellScriptBin "brightness-set" ''
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%- ${pkgs.brightnessctl}/bin/brightnessctl set ''${1-100}%
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
message="󰃠 Brightness: $brightness_level%"
${pkgs.libnotify}/bin/notify-send "$message" \
-h int:value:"$brightness_level" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
''; '';
brightness-up = pkgs.writeShellScriptBin "brightness-up" '' brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
@@ -27,9 +30,11 @@ let
''; '';
in { in {
home.packages = with pkgs; [ home.packages = [
pkgs.brightnessctl
brightness-change brightness-change
brightness-up brightness-up
brightness-down brightness-down
brightness-set
]; ];
} }

View File

@@ -1,23 +1,33 @@
{ pkgs, config, ... }: # - ## Caffeine
let #-
homedir = config.home.homeDirectory; #- Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
#-
#- - `caffeine-status` - Check if hypridle is running. (0/1)
#- - `caffeine-status-icon` - Check if hypridle is running. (icon)
#- - `caffeine` - Toggle hypridle.
{ pkgs, ... }:
let
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" '' caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
[[ -f /tmp/caffeine ]] && echo "active" || echo "inactive" [[ $(pidof "hypridle") ]] && echo "0" || echo "1"
'';
caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
[[ $(pidof "hypridle") ]] && echo "󰾪" || echo "󰅶"
''; '';
caffeine = pkgs.writeShellScriptBin "caffeine" '' caffeine = pkgs.writeShellScriptBin "caffeine" ''
if [[ -f /tmp/caffeine ]]; then if [[ $(pidof "hypridle") ]]; then
rm /tmp/caffeine systemctl --user stop hypridle.service
${pkgs.hyprland}/bin/hyprctl dispatch exec ${pkgs.hypridle}/bin/hypridle title="󰅶 Caffeine Activated"
message="󰾪 Caffeine Deactivated" description="Caffeine is now active! Your screen will not turn off automatically."
else else
touch /tmp/caffeine systemctl --user start hypridle.service
pkill hypridle title="󰾪 Caffeine Deactivated"
message="󰅶 Caffeine Activated" description="Caffeine is now deactivated! Your screen will turn off automatically."
fi fi
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification" notif "caffeine" "$title" "$description"
''; '';
in { home.packages = with pkgs; [ caffeine-status caffeine ]; } in { home.packages = [ caffeine-status caffeine caffeine-status-icon ]; }

View File

@@ -1,21 +0,0 @@
# From https://github.com/Frost-Phoenix/nixos-config
{ pkgs, ... }:
let
compress = pkgs.writeShellScriptBin "compress" ''
if (( $# == 1 )) then
# echo -ne "Archive name: "
# read name
# tar -cvzf "$name.tar.gz" $1
tar -cvzf "$1.tar.gz" $1
else
echo "Wrong number of arguments..."
fi
'';
extract = pkgs.writeShellScriptBin "extract" ''
for i in "$@" ; do
tar -xvzf $i
break
done
'';
in { home.packages = with pkgs; [ compress extract ]; }

View File

@@ -4,12 +4,12 @@
./sounds ./sounds
./brightness ./brightness
./caffeine ./caffeine
./hyprpanel
./hyprfocus
./night-shift ./night-shift
./screenshot ./screenshot
./startup
./nerdfont_fzf ./nerdfont_fzf
./notification
./system ./system
./compress
./misc
]; ];
} }

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