195 Commits

Author SHA1 Message Date
Hadi 446e610c59 update
Former-commit-id: 80f8ca3e9a
2024-06-25 22:20:17 +02:00
Hadi 894e9872c3 Update
Former-commit-id: c618feced4
2024-06-25 21:57:24 +02:00
Hadi f00d34f38b Update
Former-commit-id: 6f6c8bebf7
2024-06-25 18:10:20 +02:00
Hadi 93395308a0 Update
Former-commit-id: 6d0855ce44
2024-06-25 18:02:38 +02:00
Hadi 3fcd3c316f update
Former-commit-id: 32af0cf534
2024-06-25 11:57:53 +02:00
Hadi 07a2b77f84 init keybindings.md
Former-commit-id: 0b4f2d6970
2024-06-25 11:47:15 +02:00
Hadi 1a28823b3b install script test
Former-commit-id: b4947a61c5
2024-06-25 11:39:34 +02:00
Hadi 597afc0b39 up
Former-commit-id: 4e5cdbbac5
2024-06-25 09:49:11 +02:00
Hadi 540636df16 version pull
Former-commit-id: c0a0afd077
2024-06-25 09:26:10 +02:00
Hadi 1c8b68182a Update TODO.md
Former-commit-id: e047f99306
2024-06-24 22:31:49 +02:00
Hadi dee40034cd rearrange folders
Former-commit-id: fbb6fe70ff
2024-06-24 21:18:20 +02:00
Hadi cb347c715b Change notification system
Former-commit-id: 3b84f735ee
2024-06-24 21:13:22 +02:00
Hadi 0e683e111f Fix
Former-commit-id: 1cdfe8e278
2024-06-24 20:44:09 +02:00
Hadi ceb8e98fbf Update TODO.md
Former-commit-id: 1eb830a97c
2024-06-24 16:37:59 +02:00
Hadi da50226d9f todo update
Former-commit-id: ec924af562
2024-06-24 14:35:46 +02:00
Hadi 3ba87d750f update
Former-commit-id: 5d47643320
2024-06-24 11:05:38 +02:00
Hadi 2cab0e6903 Update
Former-commit-id: 282c04af67
2024-06-24 00:40:05 +02:00
Hadi 846e83545f Update
Former-commit-id: 7397237149
2024-06-24 00:33:36 +02:00
Hadi 14b568ae7d Update
Former-commit-id: 1a4ff5e542
2024-06-24 00:17:07 +02:00
Hadi 1fc8bce262 Update
Former-commit-id: 0cec3f04d2
2024-06-24 00:12:53 +02:00
Hadi 16f8d6d8b3 Update
Former-commit-id: 87ae5dd36f
2024-06-24 00:10:35 +02:00
Hadi ae337d1631 update
Former-commit-id: 2e31e74d92
2024-06-23 23:51:07 +02:00
Hadi c9959e4715 update
Former-commit-id: 0922357af2
2024-06-23 23:47:31 +02:00
Hadi 26fd7e8775 update
Former-commit-id: 1d298c60d5
2024-06-23 23:43:47 +02:00
Hadi 1819e78c0b update
Former-commit-id: d5aa5b1a49
2024-06-23 23:32:18 +02:00
Hadi e26a6eb442 update
Former-commit-id: 469f903657
2024-06-23 20:11:35 +02:00
Hadi 4cc072fa14 update
Former-commit-id: ae95a1b457
2024-06-23 20:10:15 +02:00
Hadi 46436db4a5 update
Former-commit-id: 101712c8bb
2024-06-23 19:59:53 +02:00
Hadi 1e0f379981 update
Former-commit-id: 5dce9af547
2024-06-23 19:54:21 +02:00
Hadi 2027dd0cd1 update
Former-commit-id: d215570fea
2024-06-23 18:35:16 +02:00
Hadi 59be989faa update
Former-commit-id: aa7801b04f
2024-06-23 18:32:04 +02:00
Hadi fadb6fcfd8 update
Former-commit-id: d1789906a2
2024-06-23 18:28:15 +02:00
Hadi 988f7a68db update
Former-commit-id: a4f74f5fe7
2024-06-23 18:26:25 +02:00
Hadi 60ef1c61f2 update
Former-commit-id: afd56d878e
2024-06-23 18:24:30 +02:00
Hadi a70bb23316 update
Former-commit-id: 12ebcadd71
2024-06-23 17:53:09 +02:00
Hadi 186d1c69de update
Former-commit-id: c5420f8d3a
2024-06-23 17:52:19 +02:00
Hadi 90f0adb29e Update
Former-commit-id: f8786dd24f
2024-06-23 17:32:18 +02:00
Hadi 11a12e6ca6 Update
Former-commit-id: caee38f568
2024-06-23 15:48:52 +02:00
Hadi ec1c7f1dc6 Update
Former-commit-id: 487d81ff86
2024-06-23 15:14:29 +02:00
Hadi e8f3660561 Update
Former-commit-id: 4046038cf2
2024-06-23 14:53:23 +02:00
Hadi 173c2f89fc Update
Former-commit-id: e9a5a9e574
2024-06-23 14:52:35 +02:00
Hadi 577d33bdd1 Update
Former-commit-id: 98f708d693
2024-06-23 14:50:06 +02:00
Hadi 5d09cd1097 Update
Former-commit-id: 66cd92d740
2024-06-23 14:47:22 +02:00
Hadi ade814e4af Update
Former-commit-id: 2b5813057c
2024-06-23 14:46:11 +02:00
Hadi 4c39b0044d Update
Former-commit-id: bbb35737c2
2024-06-23 14:45:51 +02:00
Hadi 08c43f4771 Update
Former-commit-id: 1efdadbdad
2024-06-23 14:23:36 +02:00
Hadi def4d2a994 Update
Former-commit-id: 9f98ec2a52
2024-06-23 14:22:01 +02:00
Hadi 7256d94c49 Update
Former-commit-id: 6f8c9d7836
2024-06-23 14:19:45 +02:00
Hadi 52345c06cd Add remote rebuild (server)
Former-commit-id: d1f5aa6dfa
2024-06-23 13:53:01 +02:00
Hadi 26f6c935af Update
Former-commit-id: 54eb13bc40
2024-06-23 13:46:07 +02:00
Hadi 7aa0413931 Update
Former-commit-id: f29e68ef63
2024-06-23 13:36:37 +02:00
Hadi 04b54566b1 Update
Former-commit-id: 8260c9d554
2024-06-21 15:49:16 +02:00
Hadi ff0e41c73f Update
Former-commit-id: ec5b132e17
2024-06-21 15:48:37 +02:00
Hadi b070d20ef4 Update
Former-commit-id: 45c0175d72
2024-06-21 15:25:14 +02:00
Hadi 5849179d0b Update
Former-commit-id: 154c21859d
2024-06-21 13:58:14 +02:00
Hadi 9aa13777c5 Update
Former-commit-id: d100690333
2024-06-21 13:45:59 +02:00
Hadi 79ca8b68a8 Update
Former-commit-id: 9fd64e9f04
2024-06-21 13:44:56 +02:00
Hadi 99038231a8 Update
Former-commit-id: 909c32fef8
2024-06-21 13:42:14 +02:00
Hadi 5c877f5f76 Update
Former-commit-id: feea4f5ad9
2024-06-21 13:14:54 +02:00
Hadi 2beda6180b Update
Former-commit-id: 1ce9d2e46f
2024-06-20 18:04:50 +02:00
Hadi 3921780961 Update
Former-commit-id: ae48fb8605
2024-06-20 17:43:20 +02:00
Hadi 6d856f0bfa Update
Former-commit-id: 636d921341
2024-06-20 17:34:56 +02:00
Hadi 7ef5dac5cb Update
Former-commit-id: fa7ec583b6
2024-06-20 17:33:40 +02:00
Hadi ada5bebfe0 Update
Former-commit-id: a723bd6087
2024-06-20 17:30:14 +02:00
Hadi fd472e7abc Update
Former-commit-id: 3950c68160
2024-06-20 17:08:25 +02:00
Hadi 67c02f59de Update
Former-commit-id: 4653a9e86f
2024-06-20 16:39:59 +02:00
Hadi 34a090cb13 Update
Former-commit-id: 9e191c76eb
2024-06-20 16:32:27 +02:00
Hadi 6c66562c77 Update
Former-commit-id: 2996ca0d12
2024-06-20 15:43:04 +02:00
Hadi 44474f2cbb Update
Former-commit-id: c7beef1880
2024-06-20 15:41:54 +02:00
Hadi 0c34497671 Update
Former-commit-id: 1a3c28f69a
2024-06-20 15:35:06 +02:00
Hadi 957d749df5 Update
Former-commit-id: 597f88adab
2024-06-20 15:33:42 +02:00
Hadi 23e45b3679 Update
Former-commit-id: 85a4a4ad2a
2024-06-20 15:31:01 +02:00
Hadi 58f45a48b4 Update
Former-commit-id: e078d81b51
2024-06-20 15:29:25 +02:00
Hadi 64884b1367 Update
Former-commit-id: b676e1bdbb
2024-06-20 15:27:32 +02:00
Hadi 41808ad011 Update
Former-commit-id: 83252b0da5
2024-06-20 15:16:28 +02:00
Hadi f1f9ee57f0 Update
Former-commit-id: 56b09db387
2024-06-20 15:13:02 +02:00
Hadi 2fa2d20c8b Update
Former-commit-id: 6f998c79ab
2024-06-20 15:07:15 +02:00
Hadi d1047e2abf Update
Former-commit-id: 4bec772eb2
2024-06-20 12:10:00 +02:00
Hadi eb75f6e451 Update
Former-commit-id: 5bdbfb3a5f
2024-06-20 12:09:20 +02:00
Hadi 95329e82fb Update
Former-commit-id: 0cc6e18f3d
2024-06-20 11:45:19 +02:00
Hadi c139f1c12a Update
Former-commit-id: f9bd98bc58
2024-06-20 11:42:57 +02:00
Hadi 4ead1d07ae Update
Former-commit-id: 81e72e574d
2024-06-20 11:41:28 +02:00
Hadi 81d9c22cbc Update
Former-commit-id: fe393e3c2a
2024-06-20 11:38:53 +02:00
Hadi 5da1dcccba Update
Former-commit-id: e0803c6bd5
2024-06-20 11:31:02 +02:00
Hadi 6a950d4bcc Update
Former-commit-id: f761b8c66a
2024-06-20 11:27:41 +02:00
Hadi 26263eee48 Update
Former-commit-id: 01b056d4cb
2024-06-20 11:25:35 +02:00
Hadi ba0a151f1e Update
Former-commit-id: 73ac8d8188
2024-06-20 11:24:41 +02:00
Hadi 2c5be469f0 Update TODO.md
Former-commit-id: b90999d5b6
2024-06-20 09:39:02 +02:00
Hadi 9728b2ed6b Update TODO.md
Former-commit-id: 365fab9659
2024-06-20 02:47:27 +02:00
Hadi 2255bd8d7c Update
Former-commit-id: a0c5bd962b
2024-06-20 02:45:24 +02:00
Hadi 7617488f52 Fix
Former-commit-id: b796117725
2024-06-20 01:55:49 +02:00
Hadi c0b0ed81c8 Update
Former-commit-id: 1b4cd64024
2024-06-20 01:31:30 +02:00
Hadi 4ab75fb583 Update
Former-commit-id: 8ec1744969
2024-06-20 01:23:20 +02:00
Hadi 339eb8877c Update
Former-commit-id: b44a2e17f9
2024-06-20 00:25:10 +02:00
Hadi 2e92ce971e Update
Former-commit-id: de9b1de37c
2024-06-20 00:17:59 +02:00
Hadi 51e58883fa Update
Former-commit-id: e94276c144
2024-06-20 00:15:18 +02:00
Hadi 59fe18dcd6 Update
Former-commit-id: 0114f7281b
2024-06-20 00:14:15 +02:00
Hadi d543f308b3 Update
Former-commit-id: 5db186ba9b
2024-06-20 00:07:23 +02:00
Hadi 0881baf082 Update
Former-commit-id: eec2b56fcd
2024-06-20 00:06:06 +02:00
Hadi 3f4590bda4 Update
Former-commit-id: 265651c931
2024-06-19 23:59:20 +02:00
Hadi c692d33216 Update
Former-commit-id: 7e5c45d406
2024-06-19 23:53:17 +02:00
Hadi 33de46de17 Update
Former-commit-id: ae9ffdf2a8
2024-06-19 23:52:10 +02:00
Hadi ff55504616 Update
Former-commit-id: 325f8e9d15
2024-06-19 23:51:36 +02:00
Hadi 627435b452 Update
Former-commit-id: 29905a460b
2024-06-19 23:49:03 +02:00
Hadi 64f057b1b1 Update
Former-commit-id: 92e8eb8983
2024-06-19 23:48:36 +02:00
Hadi f6f4acf2b6 Update
Former-commit-id: cafce8e7c9
2024-06-19 23:47:35 +02:00
Hadi 44b79b0ff0 Update
Former-commit-id: 21482d4a44
2024-06-19 23:45:03 +02:00
Hadi f5887c9f24 Update
Former-commit-id: 1b3cc99197
2024-06-19 23:42:42 +02:00
Hadi 178aeb2aac Update
Former-commit-id: adecf1bc29
2024-06-19 23:39:30 +02:00
Hadi 8e8caed609 Update
Former-commit-id: a272a038f1
2024-06-19 23:38:04 +02:00
Hadi 92c1b38ca5 Update
Former-commit-id: a6d3e17135
2024-06-19 23:32:31 +02:00
Hadi 9f196b8fb8 Update
Former-commit-id: 0e291d3388
2024-06-19 23:28:50 +02:00
Hadi a8ad3a28fb Update
Former-commit-id: c852176e0d
2024-06-19 23:28:13 +02:00
Hadi 19f5613c74 Update
Former-commit-id: ad339a19a6
2024-06-19 23:23:29 +02:00
Hadi 35848dfd62 Update
Former-commit-id: aad8b9d8e6
2024-06-19 23:21:24 +02:00
Hadi a37fda47ea Update
Former-commit-id: debb139aeb
2024-06-19 23:20:49 +02:00
Hadi 60f5d20cbe Update
Former-commit-id: 939597dd90
2024-06-19 23:15:52 +02:00
Hadi 6a808cbc89 Update
Former-commit-id: 7a89711897
2024-06-19 23:11:37 +02:00
Hadi 75f9e08d7b Update
Former-commit-id: e51b20e4ab
2024-06-19 23:07:47 +02:00
Hadi 1d7d1e1c89 Update
Former-commit-id: 9dbc87c010
2024-06-19 23:02:56 +02:00
Hadi b8356528ba Update
Former-commit-id: 137dd150fd
2024-06-19 22:59:06 +02:00
Hadi 602423d9ae Update
Former-commit-id: 6e66f200a3
2024-06-19 22:57:14 +02:00
Hadi 295085c7e9 Update
Former-commit-id: 28dcb1f574
2024-06-19 22:50:58 +02:00
Hadi 872735897c Update
Former-commit-id: 536de64d5c
2024-06-19 22:48:21 +02:00
Hadi b064228958 Update
Former-commit-id: ac1c7da665
2024-06-19 22:47:37 +02:00
Hadi 156ca28cbf Update
Former-commit-id: d3604fa6cf
2024-06-19 22:47:13 +02:00
Hadi cd08d5ad46 Update
Former-commit-id: 241a91487c
2024-06-19 22:46:33 +02:00
Hadi 109cd5075b Update
Former-commit-id: 2f2aad2b91
2024-06-19 22:45:37 +02:00
Hadi bbdf394dda Update
Former-commit-id: ce756d2f78
2024-06-19 22:44:55 +02:00
Hadi c1ace49f38 Update
Former-commit-id: 94cb2758e6
2024-06-19 22:40:01 +02:00
Hadi 05c1fe6313 Update
Former-commit-id: 50ee6b2dbf
2024-06-19 22:39:12 +02:00
Hadi a94489d52d Update
Former-commit-id: 0949607442
2024-06-19 22:37:52 +02:00
Hadi 2db08a1a06 Update
Former-commit-id: 12e8e9e870
2024-06-19 22:36:42 +02:00
Hadi abf9f53eee Update
Former-commit-id: aa519ba3ee
2024-06-19 22:36:18 +02:00
Hadi 33e9ca6021 Update
Former-commit-id: 2cd6b6be58
2024-06-19 22:33:48 +02:00
Hadi 601306033d Update
Former-commit-id: 3939348e1b
2024-06-19 22:32:03 +02:00
Hadi a67177bbb3 Update
Former-commit-id: 26767f861c
2024-06-19 21:53:34 +02:00
Hadi 13cecc6f19 Update
Former-commit-id: adbbcec22c
2024-06-19 21:52:46 +02:00
Hadi 83ee267214 Update
Former-commit-id: f868a937d5
2024-06-19 21:50:36 +02:00
Hadi 7322f50f14 Update
Former-commit-id: c9ba9b30fe
2024-06-19 21:47:33 +02:00
Hadi e91e838528 Update
Former-commit-id: f2b659add1
2024-06-19 21:43:28 +02:00
Hadi 332caad470 Update
Former-commit-id: c18fffcb3d
2024-06-19 21:42:12 +02:00
Hadi de1ef7f45e test
Former-commit-id: b5fe18ab2f
2024-06-19 21:41:04 +02:00
Hadi 6375bcaf34 add hardware config
Former-commit-id: 115c6345c3
2024-06-19 21:31:18 +02:00
Hadi 12394f2945 Update
Former-commit-id: 884abe9e6c
2024-06-19 21:22:41 +02:00
Hadi 4e7ae503f8 Update
Former-commit-id: d877b40d0b
2024-06-19 21:18:28 +02:00
Hadi 53ae7625af test
Former-commit-id: 530e9d8bea
2024-06-19 21:17:54 +02:00
Hadi ba48ce3942 Update
Former-commit-id: d9e4bd4cd1
2024-06-19 21:16:15 +02:00
Hadi 9a236765ed Update
Former-commit-id: 4cba1f2acf
2024-06-19 21:12:30 +02:00
Hadi 355c13c8f0 Update
Former-commit-id: 8c0c636ec8
2024-06-19 21:05:03 +02:00
Hadi 0810128ee4 Update
Former-commit-id: 39a4b5cc00
2024-06-19 21:03:58 +02:00
Hadi be7548e10a Update
Former-commit-id: a5e4015cf3
2024-06-19 21:01:08 +02:00
Hadi b3df107c36 Update
Former-commit-id: 5414f49671
2024-06-19 21:01:01 +02:00
Hadi 56df3723d2 Update
Former-commit-id: 10f3754b0a
2024-06-19 09:55:58 +02:00
Hadi 27abeac6db Update
Former-commit-id: 063534079d
2024-06-18 19:15:19 +02:00
Hadi da81e80716 Update
Former-commit-id: d4abd221c0
2024-06-18 19:14:18 +02:00
Hadi d70cf4ebe7 Update
Former-commit-id: 77696506bc
2024-06-18 19:13:15 +02:00
Hadi ab11bf5b91 Update
Former-commit-id: 05932e597c
2024-06-18 19:05:40 +02:00
Hadi 88ff53dc29 Update README.md
Former-commit-id: 6606762bca
2024-06-18 15:49:32 +02:00
Hadi d93dda3f6d change image
Former-commit-id: e0bae26b5d
2024-06-18 15:44:27 +02:00
Hadi fed0845912 Update README.md
Former-commit-id: cd91c40f7d
2024-06-18 15:43:27 +02:00
Hadi f18c96bcea Add files via upload
Former-commit-id: 07e81831fa
2024-06-18 15:42:24 +02:00
Hadi dd81dc8e54 Add files via upload
Former-commit-id: a900a2a121
2024-06-18 15:34:25 +02:00
Hadi 67dae73157 update readme colors
Former-commit-id: d2916aa984
2024-06-18 15:25:59 +02:00
Hadi 27cffd8917 edit
Former-commit-id: f79b67c04e
2024-06-18 14:39:51 +02:00
Hadi 5338fa3c93 move nextcloud to home manager
Former-commit-id: 6c936a12f1
2024-06-18 14:32:35 +02:00
Hadi 9ab398c6d2 update todo
Former-commit-id: b5ae490899
2024-06-18 14:26:49 +02:00
Hadi 1a1ec40517 todo update
Former-commit-id: fd9b7ea141
2024-06-18 14:20:23 +02:00
Hadi ab6813996d update
Former-commit-id: c11a21a34a
2024-06-18 14:09:55 +02:00
Hadi d84912df76 fix
Former-commit-id: ba09c5cfe3
2024-06-18 14:07:48 +02:00
Hadi cfb4904976 add tailscale
Former-commit-id: 8ec108927c
2024-06-18 14:05:14 +02:00
Hadi 9ac6e92dc5 fix
Former-commit-id: d311675fe9
2024-06-18 13:41:33 +02:00
Hadi a5e1ee5285 update
Former-commit-id: 63fd084dcf
2024-06-18 13:41:07 +02:00
Hadi d34eafd868 Update
Former-commit-id: 759f7e715a
2024-06-18 12:36:26 +02:00
Hadi 402a1a512a Update
Former-commit-id: c0e0609ef4
2024-06-18 12:35:13 +02:00
Hadi f26f8ad0e1 Update
Former-commit-id: fb2f1824a3
2024-06-18 12:32:45 +02:00
Hadi 8cc97c5cc7 Update
Former-commit-id: bfed924f0f
2024-06-18 12:30:56 +02:00
Hadi 242298923e Update
Former-commit-id: 1ad4233def
2024-06-18 12:21:57 +02:00
Hadi 85011e69d3 Update
Former-commit-id: b536a87854
2024-06-18 12:10:45 +02:00
Hadi b4ad55a8c2 update
Former-commit-id: c3b54c538f
2024-06-18 11:42:22 +02:00
Hadi 8935e3e520 temp
Former-commit-id: 40648d4041
2024-06-18 11:26:35 +02:00
Hadi 883d95ca39 temp
Former-commit-id: cb4a8f024f
2024-06-18 11:11:08 +02:00
Hadi 91055f207f temp
Former-commit-id: f4aa262e74
2024-06-18 10:29:37 +02:00
Hadi 299222f9fd temp
Former-commit-id: ac6a0f59c4
2024-06-18 10:23:07 +02:00
Hadi a2485b18b3 temp
Former-commit-id: 93b7145e70
2024-06-18 10:10:21 +02:00
Hadi 75bc825770 temp
Former-commit-id: dc4f3160cc
2024-06-18 09:54:18 +02:00
Hadi b6c4c0e00a rename shared to modules
Former-commit-id: 2ccd17867f
2024-06-18 09:21:14 +02:00
Hadi 6797cb1107 Update
Former-commit-id: d3e6730df0
2024-06-18 00:01:23 +02:00
Hadi 1bd451a8bb Update
Former-commit-id: 57eb1c9459
2024-06-17 23:57:26 +02:00
Hadi 63f101763d update
Former-commit-id: 880ed3d0e9
2024-06-17 23:47:58 +02:00
Hadi 01e890081a add server
Former-commit-id: 93ba190cbf
2024-06-17 23:41:41 +02:00
Hadi 147e0715cf Update
Former-commit-id: 251f535146
2024-06-17 23:32:56 +02:00
Hadi 2922ef04a4 Update
Former-commit-id: 8e0691ca6a
2024-06-17 23:32:52 +02:00
Hadi 9f2afd0f8a add server
Former-commit-id: 25d4dc93f1
2024-06-17 23:29:47 +02:00
Hadi ba31976fcf add pfetch
Former-commit-id: d1b581fd58
2024-06-17 21:34:54 +02:00
343 changed files with 1688 additions and 705 deletions
+4
View File
@@ -5,3 +5,7 @@ creation_rules:
key_groups:
- age:
- *primary
- path_regex: secrets/server.yaml$
key_groups:
- age:
- *primary
+83 -83
View File
@@ -1,87 +1,87 @@
[//]: # (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: 06/17/24)
<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>
# 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
- [Nixy](#nixy)
[//]: # (Title: Nixy)
[//]: # (Description: 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.)
[//]: # (Author: Hadi)
[//]: # (Date: 06/25/24)
[//]: # (Version: v2.0.0)
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
</div>
<br>
# Nixy
<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=v2.0.0&colorA=181825&colorB=89b4fa&logo=githubactions&logoColor=89b4fa"/>
</a>
<a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=github&logoColor=89b4fa">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=181825&logo=NixOS&logoColor=89b4fa&color=89b4fa">
</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=181825&colorB=89b4fa&logo=unlicense&logoColor=89b4fa"/>
</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.
## Table of Content
- [Table of Content](#table-of-content)
- [Gallery](#gallery)
- [Architecture](#architecture)
- [Installation](#installation)
- [Documentation](#documentation)
## 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
- [Documentation](#documentation)
## Gallery
![catppuccin1](docs/src/catppuccin/1.png)
![catppuccin2](docs/src/catppuccin/2.png)
![catppuccin3](docs/src/catppuccin/3.png)
## Architecture
- 🏠 `home` are the dotfiles and configuration files for the user
- 💻 `hosts` are the system configuration files
- 'laptop' is my configuration for my laptop with Nvidia
- 'server' is for my Nixos server (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
- '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))*
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
- 🤫 `secrets` are the secrets files encrypted with sops-nix
## Installation
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
- Copy the `hosts/guest` folder, rename it to your system name, and change the variables inside the `variables.nix` file
- Add your `hardware-configuration.nix` to your new host's folder
- Add your 'nixosConfigurations' inside `flake.nix` (You can edit the "yourhostname" one and change the lines containing '# CHANGEME')
> [!NOTE]
> When you add new files, don't forget to run `git add .` to add them to the git repository
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## 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 Licensey
+28 -4
View File
@@ -1,8 +1,14 @@
# APPS
# Apps and services
*non-exhaustive list*
*non-exhaustive lists*
| Category | Software |
## Laptop
The laptop configuration is used by a Omen 16 laptop w/ nvidia and an amd gpu running NixOS.
The configurations files can be found in the `hosts/laptop` directory.
| Category | Name |
|----------------|---------------|
| WM | Hyprland |
| | hyprlock |
@@ -30,4 +36,22 @@
| Misc | lazygit |
| | neofetch |
| | cava |
| | ... |
| See [hosts/laptop](../hosts/laptop/)... | |
## Server
The server configuration is used by a home server running NixOS.
The configurations files can be found in the `hosts/server` directory.
I mainly use it for self hosting websites and services such as Nextcloud, Vaultwarden, ...
I exposed some services to the internet using a reverse proxy (Nginx) and cloudflare-dyndns, others are accessed through a tailscale network
### Apps
- Nextcloud
- Vaultwarden
- Adguard Home
- Unifi Controler
- Uptime Kuma
- "Jackflix"
- Jellyfin, Transmission, *arr
- See [hosts/server](../hosts/server/)...
+4 -1
View File
@@ -6,5 +6,8 @@ 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)
- 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 todo, ...).
- Create a Pull Request against the main branch of Nixy.
> [!WARNING]
> Don't push your host's files, secrets, or home configuration
+13 -7
View File
@@ -1,12 +1,18 @@
# Scripts
Scripts are located in the `home/scripts` folder. Home-manager add those in the path.
## Nix/NixOs shortcuts
- `nixy-edit`
- `nixy-rebuild`
- `nixy-update`
- `nixy-gc` # garbage collection
- `nixy-cb` # clean boot menu
> [!TIP]
> The `hostname` variable in `hosts/yourhost/variables.nix` should be also the name of the `nixosConfiguration` in `flake.nix` file.
- `nixy` # UI
- `nixy rebuild`
- `nixy update`
- `nixy upgrade`
- `nixy gc` # garbage collection
- `nixy cb` # clean boot menu
## Brightness control
@@ -20,7 +26,7 @@
- `sound-down`
- `sound-toggle`
- `sound-output`
- `sound-change <up/down/mute> <increment>`
- `sound-change [up/down/mute] <increment>`
## Caffeine
@@ -45,7 +51,7 @@ It will copy the selected icon to the clipboard.
## Compress/Extract
Some shortcut to compress and extract files.
Some shortcuts to compress and extract files.
- `compress` ...
- `extract` ...
+6 -5
View File
@@ -1,13 +1,14 @@
# Themes
Themes are defined in `hosts/themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps installed.
You can change the selected theme by changing the import statement at the top of your host's variables file.
Themes are defined in `hosts/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 of your host's variables.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.
## Gallery
+42 -10
View File
@@ -1,10 +1,42 @@
# Todolist
- [ ] Installation script
- [ ] Themes
- [ ] MacOS theme
- [ ] Make hyprcursor work
- [ ] Nixvim
- [ ] Telescope shortcut for file content
- [ ] Markdown snippets
- [ ] Make whichkey better
# Todolist
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] Nixy
- [ ] Installation script ([install.sh](./scripts/install.sh) to test on a fresh install)
- [ ] Variables-template with defaults
- [ ] Themes
- [ ] Upload new wallpapers
- [ ] MacOS theme
- [ ] GithubFetch: Neofetch like, github calendar in the terminal
- [ ] Write a hyprland shortcuts markdown file (Parse the hyprland settings conf)
- [ ] Tofi (Wofi but terminal based)
- [ ] Waybar
- [ ] Caffeine status
- [ ] Night-shift status
- [ ] Hyprland
- [ ] Make hyprcursor work
- [ ] Animations based on app name
- [ ] Wofi: popin
- [ ] Wlogout: fade in
- [ ] Fix screenshots
- [ ] Nixvim
- [ ] Telescope: find with file content
- [ ] Markdown snippets
- [ ] Whichkey: Description for keybindings
- [ ] Spelling
- [ ] Backup system for some folders ($home/dev, $home/pictures, ...)
- [ ] Exclude file pattern (nodes modules, ...)
- [ ] Auto backup when a specific usb key is plugged
- [ ] Usb security for laptop & server, variable in variables.nix, disable for guest
- [ ] Server
- [ ] Bitcoin-git
- [ ] ServerFetch: Neofetch like, but for server: CPU, RAM, Disk, Network, Uptime, status (check with uptime kuma API)
- [ ] Ntfy auth file
- [ ] Launch transmission-openvpn on boot (see hosts/server/modules/jackflix/transmission.nix)
@@ -4,6 +4,16 @@
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
# Main images
for file in ./docs/src/*.png; do
optipng "$file"
done
# Theme's images
for file in ./docs/src/*/*.png; do
optipng "$file"
done
for file in ./home/wallpapers/*.png; do
optipng "$file"
done
+1 -1
View File
@@ -24,6 +24,6 @@ variables=$(echo "$variables" | sed 's/112569860+anotherhadi@users.noreply.githu
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/')
variables=$(echo "$variables" | sed 's/tailscale = true/tailscale = false/')
echo "$variables" >"$GUEST_CONFIG/variables.nix"
+11 -2
View File
@@ -8,7 +8,16 @@ README_FILE="./README.md"
header=$(cat "./docs/src/header.md")
table_of_content=$(~/go/bin/md-table-of-contents ./docs/src/README_template.md)
version=$(git describe --tags --abbrev=0)
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"
header=${header//\{date\}/$(date '+%D')}
header=${header//\{primarycolor\}/89b4fa}
header=${header//\{backgroundcolor\}/181825}
header=${header//\{version\}/$version}
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
echo "$header" >"$README_FILE"
echo "$readme_content" >>"$README_FILE"
sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
mv "/tmp/readme.md" "$README_FILE"
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
[[ -f "./home/system/hyprland/default.nix" ]] || (echo "File ./home/system/hyprland/default.nix not found" && exit 1)
config=$( cat "./home/system/hyprland/default.nix")
# get text between
# bind = [
# and next ]
# Example:
# "$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Description
# Steps:
# We should remove the ""
# $mod replace by Super key
# $shiftMod replace by "Super Shift"
# Concat with key
# Remove , exec,
# Remove variables and /bin/ if present
# Create a markdown table with everything
+77 -9
View File
@@ -1,10 +1,78 @@
# installation script...
#!/usr/bin/env bash
# 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
# https://github.com/anotherhadi/nixy
# Installation script: Should be run on fresh nixos install.
printf "\n\e[0;92m- \e[0m\e[1;77mNixy's Installation Script\e[0;96m [anotherhadi/nixy]\e[0m"
# Check if we're on the good directory
[[ -f "./docs/scripts/install.sh" ]] || (
printf "\n\e[0;91mx \e[0m\e[1;77mNot in the project root directory\e[0m"
exit 1
)
DIR=$PWD
# Create a new configuration
read -rp $'\n\e[0;92m+\e[0m\e[1;77m Username: \e[0;96m' username
read -rp $'\n\e[0;92m+\e[0m\e[1;77m Hostname: \e[0;96m' hostname
HOST_DIR="./hosts/$hostname"
mkdir "$HOST_DIR"
nixos-generate-config --show-hardware-config >"$HOST_DIR/hardware-configuration.nix"
printf "\n\e[0;92m? \e[0m\e[1;77mInstall Nvidia drivers?\e[0;96m [y/N]\e[0m"
read -r yn
yn=$(echo "$yn" | tr '[:upper:]' '[:lower:]')
if [[ $yn == "y" || $yn == "yes" ]]; then
nvidia=true
else
nvidia=false
fi
printf "\n\e[0;92m? \e[0m\e[1;77mInstall prime?\e[0;96m [y/N]\e[0m"
read -r yn
yn=$(echo "$yn" | tr '[:upper:]' '[:lower:]')
if [[ $yn == "y" || $yn == "yes" ]]; then
prime=true
else
prime=false
fi
cp "$LAPTOP_CONFIG/configuration.nix" "$HOST_DIR/configuration.nix"
cp "$LAPTOP_CONFIG/variables.nix" "$HOST_DIR/variables.nix"
config=$(cat "$LAPTOP_CONFIG/configuration.nix")
if [[ $nvidia == false ]]; then
config=$(echo "$config" | sed 's/..\/shared\/nvidia/# ..\/shared\/nvidia/')
fi
if [[ $prime == false ]]; then
config=$(echo "$config" | sed 's/..\/shared\/prime/# ..\/shared\/prime/')
fi
echo "$config" >"$HOST_DIR/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/$username/")
variables=$(echo "$variables" | sed "s/nixy/$hostname/") # FIXME: Host name can be mixed with themes
variables=$(echo "$variables" | sed "s/Hadi/$username/")
variables=$(echo "$variables" | sed 's/sops = true/sops = false/')
variables=$(echo "$variables" | sed 's/obsidian = true/obsidian = false/')
variables=$(echo "$variables" | sed 's/tailscale = true/tailscale = false/')
echo "$variables" >"$HOST_DIR/variables.nix"
# Add it to the git index
git add .
printf "\n\e[0;92m+ \e[0m\e[1;77mHost added!\e[0m"
# REBUILD
printf "\n\e[0;92m? \e[0m\e[1;77mDo you want to rebuild?\e[0;96m [y/N]\e[0m"
read -r yn
yn=$(echo "$yn" | tr '[:upper:]' '[:lower:]')
if [[ $yn == "y" || $yn == "yes" ]]; then
sudo nixos-rebuild switch --flake "$DIR"#"$hostname"
fi
printf "\n\e[0;92m✓ \e[0m\e[1;77mDone!\e[0m"
+18 -16
View File
@@ -1,7 +1,5 @@
# Nixy
**Nixy** is a NixOS configuration with home-manager, secrets and custom theming all in one place.
**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.
## Table of Content
@@ -10,19 +8,20 @@ It's a simple way to manage your system configuration and dotfiles.
## Gallery
![nixy1](docs/src/nixy/1.png)
![nixy2](docs/src/nixy/2.png)
![nixy3](docs/src/nixy/3.png)
![catppuccin1](docs/src/catppuccin/1.png)
![catppuccin2](docs/src/catppuccin/2.png)
![catppuccin3](docs/src/catppuccin/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
- 'laptop' is my configuration for my laptop with Nvidia
- 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
- '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))*
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
- 🤫 `secrets` are the secrets files encrypted with sops-nix
## Installation
@@ -30,12 +29,15 @@ It's a simple way to manage your system configuration and dotfiles.
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
- Copy the `hosts/guest` folder, rename it to your system name, and change the variables inside the `variables.nix` file
- Add your `hardware-configuration.nix` to your new host's folder
- Add your 'nixosConfigurations' inside `flake.nix` (You can edit the "yourhostname" one and change the lines containing '# CHANGEME')
> [!NOTE]
> When you add new files, don't forget to run `git add .` to add them to the git repository
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## Documentation
@@ -45,4 +47,4 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
- [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
- [LICENSE](LICENSE): MIT Licensey
+13 -14
View File
@@ -1,34 +1,33 @@
[//]: # (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.)
[//]: # (Description: 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.)
[//]: # (Author: Hadi)
[//]: # (Date: {date})
[//]: # (Version: {version})
<div align="center">
<img src="https://image.nostr.build/70ebe2b5183879d8c0ffa682cd0089e030ad01909678b242ed86449517eac3a5.png" width="100px" />
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
</div>
<br><br>
<br>
# Nixy
<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&"/>
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message={version}&colorA={backgroundcolor}&colorB={primarycolor}&logo=githubactions&logoColor={primarycolor}"/>
</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">
<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=a158ff&labelColor=040409&style=for-the-badge&logo=github&logoColor=a158ff">
<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=040409&logo=NixOS&logoColor=a158ff&color=a158ff">
<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=040409&colorB=a158ff&logo=unlicense&logoColor=a158ff&"/>
<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><br>
<div align="center">
<img src="https://image.nostr.build/aaf8cf0f3b9784c817f8cf328f19222db2e1886dfb89ae97de83ffa101d437b4.png" width="600px" />
</div>
<br>
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Generated
+58 -58
View File
@@ -165,11 +165,11 @@
]
},
"locked": {
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"lastModified": 1718879355,
"narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a",
"type": "github"
},
"original": {
@@ -207,11 +207,11 @@
]
},
"locked": {
"lastModified": 1718243258,
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
"lastModified": 1719180626,
"narHash": "sha256-vZAzm5KQpR6RGple1dzmSJw5kPivES2heCFM+ZWkt0I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
"rev": "6b1f90a8ff92e81638ae6eb48cd62349c3e387bb",
"type": "github"
},
"original": {
@@ -228,11 +228,11 @@
]
},
"locked": {
"lastModified": 1718141734,
"narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=",
"lastModified": 1719037157,
"narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad",
"rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511",
"type": "github"
},
"original": {
@@ -257,11 +257,11 @@
]
},
"locked": {
"lastModified": 1717181720,
"narHash": "sha256-yv+QZWsusu/NWjydkxixHC2g+tIJ9v+xkE2EiVpJj6g=",
"lastModified": 1718450675,
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "9e27a2c2ceb1e0b85bd55b0afefad196056fe87c",
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6",
"type": "github"
},
"original": {
@@ -281,11 +281,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1718359900,
"narHash": "sha256-eVf70Ps7O8R3DEEfSMW54V07kxkRv5IaWMxSa77hMu4=",
"lastModified": 1719338642,
"narHash": "sha256-oy2IpTiMTof5rUqdmUMYzn6Xugc8kTh629soVCyC3L4=",
"ref": "refs/heads/main",
"rev": "b2590b58c51094424a9651d8df37dfab838b5bbb",
"revCount": 4824,
"rev": "95782de966ec9e182d49b2f032b74a1101f423e8",
"revCount": 4889,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -310,11 +310,11 @@
]
},
"locked": {
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"lastModified": 1714869498,
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
"type": "github"
},
"original": {
@@ -364,11 +364,11 @@
]
},
"locked": {
"lastModified": 1717881334,
"narHash": "sha256-a0inRgJhPL6v9v7RPM/rx1kbXdfe3xJA1c9z0ZkYnh4=",
"lastModified": 1719316102,
"narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "0693f9398ab693d89c9a0aa3b3d062dd61b7a60e",
"rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085",
"type": "github"
},
"original": {
@@ -389,11 +389,11 @@
]
},
"locked": {
"lastModified": 1717784906,
"narHash": "sha256-YxmfxHfWed1fosaa7fC1u7XoKp1anEZU+7Lh/ojRKoM=",
"lastModified": 1719067853,
"narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0f30f9eca6e404130988554accbb64d1c9ec877d",
"rev": "914f083741e694092ee60a39d31f693d0a6dc734",
"type": "github"
},
"original": {
@@ -410,11 +410,11 @@
]
},
"locked": {
"lastModified": 1717976995,
"narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=",
"lastModified": 1719128254,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "315aa649ba307704db0b16c92f097a08a65ec955",
"rev": "50581970f37f06a4719001735828519925ef8310",
"type": "github"
},
"original": {
@@ -425,11 +425,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1718349360,
"narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=",
"lastModified": 1719322773,
"narHash": "sha256-BqPxtFwXrpJQDh65NOIHX99pz2rtIMshG9Mt2xnnc5c=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6",
"rev": "caabc425565bbd5c8640630b0bf6974961a49242",
"type": "github"
},
"original": {
@@ -457,11 +457,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1717880976,
"narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=",
"lastModified": 1719099622,
"narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c",
"rev": "5e8e3b89adbd0be63192f6e645e0a54080004924",
"type": "github"
},
"original": {
@@ -473,11 +473,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717974879,
"narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=",
"lastModified": 1719075281,
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3",
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
"type": "github"
},
"original": {
@@ -489,11 +489,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1718160348,
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=",
"lastModified": 1719254875,
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6",
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
"type": "github"
},
"original": {
@@ -533,11 +533,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1718358971,
"narHash": "sha256-8REGUp3RB2/3Q3Ibu00onhj1HyLh/Z8oRU6D3/EQ08w=",
"lastModified": 1719334058,
"narHash": "sha256-5uhWaoHhUYEPNC42NVW+srBgldwQKQE6dvW45rg0K3Q=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "e51b8b9b5c91aa49981d78c4aa1ac08a50150103",
"rev": "76a8790764ec983ca0659c952c4b6924c4e9bf1a",
"type": "github"
},
"original": {
@@ -548,11 +548,11 @@
},
"nur": {
"locked": {
"lastModified": 1718354773,
"narHash": "sha256-p0pjm5l6LOYoEzSMLZv0QSE4vgGwfhkCz7VN58IUjzc=",
"lastModified": 1719337524,
"narHash": "sha256-bYp4//+XM+J1Y23sW6VjXAiCHUdq3aqgXue/tVeCxLw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2fe75ecfd4dd1d2063fcc31ccb5db6d9f2b6b33c",
"rev": "37ae43594731d4d801f53dffe465006421c7c292",
"type": "github"
},
"original": {
@@ -562,11 +562,11 @@
},
"nurpkgs": {
"locked": {
"lastModified": 1718354773,
"narHash": "sha256-p0pjm5l6LOYoEzSMLZv0QSE4vgGwfhkCz7VN58IUjzc=",
"lastModified": 1719337524,
"narHash": "sha256-bYp4//+XM+J1Y23sW6VjXAiCHUdq3aqgXue/tVeCxLw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2fe75ecfd4dd1d2063fcc31ccb5db6d9f2b6b33c",
"rev": "37ae43594731d4d801f53dffe465006421c7c292",
"type": "github"
},
"original": {
@@ -657,11 +657,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1718137936,
"narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=",
"lastModified": 1719268571,
"narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "c279dec105dd53df13a5e57525da97905cc0f0d6",
"rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3",
"type": "github"
},
"original": {
@@ -757,11 +757,11 @@
]
},
"locked": {
"lastModified": 1718139168,
"narHash": "sha256-1TZQcdETNdJMcfwwoshVeCjwWfrPtkSQ8y8wFX3it7k=",
"lastModified": 1718522839,
"narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "1cb529bffa880746a1d0ec4e0f5076876af931f1",
"rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81",
"type": "github"
},
"original": {
@@ -787,11 +787,11 @@
]
},
"locked": {
"lastModified": 1717918856,
"narHash": "sha256-I38bmPLqamvOfVSArd1hhZtkVRAYBK38fOHZCU1P9Qg=",
"lastModified": 1718619174,
"narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "72907822c19afc0983c69d59d299204381623725",
"rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623",
"type": "github"
},
"original": {
+39 -1
View File
@@ -41,7 +41,45 @@
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users."hadi" = import ./home/laptop.nix; # CHANGE ME
users."hadi" = import ./home/laptop.nix;
extraSpecialArgs = { inherit inputs; };
};
}
];
};
jack = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
inputs.sops-nix.nixosModules.sops
./hosts/server/configuration.nix
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.overlays = [ nur.overlay ];
_module.args = { inherit inputs; };
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users."hadi" = import ./home/server.nix;
extraSpecialArgs = { inherit inputs; };
};
}
];
};
yourhostname = nixpkgs.lib.nixosSystem { # CHANGEME
system = "x86_64-linux";
modules = [
./hosts/yourhostname/configuration.nix # CHANGEME
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.overlays = [ nur.overlay ];
_module.args = { inherit inputs; };
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users."yourusername" = import # CHANGEME
./home/laptop.nix; # you can also create a new ./home/yourhostname.nix
extraSpecialArgs = { inherit inputs; };
};
}
+18 -5
View File
@@ -1,29 +1,34 @@
{ pkgs, config, ... }: {
imports = [
../hosts/laptop/variables.nix
../hosts/laptop/variables.nix # CHANGEME, replace with your host
# Programs
./programs/btop
./programs/cava
./programs/kitty
./programs/nextcloud
./programs/nvim
./programs/qutebrowser
./programs/spicetify
./programs/zathura
./programs/shell
./programs/git
# Scripts
./scripts # All scripts
# System
# System (Desktop environment like stuff)
./system/dunst
./system/git
./system/gtk
./system/hyprland
./system/shell
./system/sops/laptop.nix
./system/waybar
./system/wlogout
./system/wofi
./system/mime
./system/udiskie
./system/sops/laptop.nix # You should probably remove this line
];
home = {
@@ -38,6 +43,8 @@
xfce.thunar
bitwarden
vlc
nextcloud-client
tailscale
# Dev
go
@@ -45,6 +52,10 @@
nodejs
python3
jq
git-ignore
nurl
prefetch-npm-deps
figlet
# Utils
fd
@@ -62,6 +73,8 @@
wireguard-tools
bitwarden-cli
optipng
pfetch
usbutils
# Just cool
peaclock
+6
View File
@@ -0,0 +1,6 @@
{
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
}
+1
View File
@@ -24,6 +24,7 @@
./plugins/tmux-navigator.nix
./plugins/noice.nix
./plugins/obsidian.nix
./plugins/image.nix
./options.nix
./colorscheme.nix
];
+1
View File
@@ -0,0 +1 @@
{ programs.nixvim.plugins.image = { enable = true; }; }
+82 -10
View File
@@ -1,6 +1,79 @@
{ config, ... }: {
{ pkgs, config, ... }:
let
settings = ''
{
"config": {
"title" : "Welcome Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "#${config.var.theme.colors.accent}",
"background": "#${config.var.theme.colors.bg}",
"foreground": "#${config.var.theme.colors.fg}",
"muted": "#${config.var.theme.colors.c8}"
},
"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": "Nerdfont", "url": "https://www.nerdfonts.com/cheat-sheet", "icon": ""},
{"title": "Youtube", "url": "https://youtube.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": "󰊻"}
]
}
]
}
}
'';
imports = [ ./duckduckgo-colorscheme.nix ./homepage ];
homepage = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "40286c5e03bcfb9993cce354b4f12c00a1b4966d";
hash = "sha256-zlJ/bzFWE64HpUCxiRT5E9wrjVVwSTSgIOrifWKxphU=";
};
# 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 = {
enable = true;
@@ -18,8 +91,9 @@
};
quickmarks = {
home = "${config.var.homeDirectory}/.config/startpage/index.html";
server = "${config.var.homeDirectory}/.config/serverpage/index.html";
home = "${homepage}/build/index.html";
server = "https://home.anotherhadi.com";
jack = "https://home.anotherhadi.com";
mynixos = "https://mynixos.com";
github = "https://github.com";
outlook = "https://outlook.office.com/mail/";
@@ -38,10 +112,8 @@
settings = {
url = {
default_page =
"${config.var.homeDirectory}/.config/startpage/index.html";
start_pages =
[ "${config.var.homeDirectory}/.config/startpage/index.html" ];
default_page = "${homepage}/build/index.html";
start_pages = [ "${homepage}/build/index.html" ];
};
colors = {
@@ -184,8 +256,8 @@
keyBindings = {
normal = {
"gh" = "open ${config.var.homeDirectory}/.config/startpage/index.html";
"gs" = "open ${config.var.homeDirectory}/.config/serverpage/index.html";
"gh" = "open ${homepage}/build/index.html";
"gs" = "open https://home.anotherhadi.com";
" p" = "tab-move -";
" n" = "tab-move +";
@@ -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>
'';
}
@@ -6,6 +6,7 @@
./zoxide.nix
./tmux.nix
./lazygit.nix
./eza.nix
./fetch
./lf
];
+13
View File
@@ -0,0 +1,13 @@
{
programs.eza = {
enable = true;
icons = true;
extraOptions = [
"--group-directories-first"
"--no-quotes"
"--git-ignore"
"--icons=always"
];
};
}
@@ -12,6 +12,7 @@
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
set -gq allow-passthrough on
'';
plugins = with pkgs; [
@@ -1,6 +1,6 @@
{ pkgs, lib, config, ... }: {
home.packages = with pkgs; [ eza bat ripgrep tldr ];
home.packages = with pkgs; [ bat ripgrep tldr ];
programs.zsh = {
enable = true;
@@ -15,6 +15,8 @@
pkgs.neofetch + "/bin/neofetch"
else if config.var.theme.fetch == "nerdfetch" then
"nerdfetch"
else if config.var.theme.fetch == "pfetch" then
"echo; ${pkgs.pfetch}/bin/pfetch"
else
""}
'';
@@ -33,19 +35,22 @@
shellAliases = {
vim = "nvim";
vi = "nvim";
v = "nvim";
c = "clear";
clera = "clear";
celar = "clear";
e = "exit";
cd = "z";
ls = "${pkgs.eza}/bin/eza --icons=always";
tree = "${pkgs.eza}/bin/eza --icons=always --tree";
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";
note = "vim ~/Nextcloud/obsidian";
obs = "vim ~/Nextcloud/obsidian";
wireguard-import = "nmcli connection import type wireguard file";
vault = "nvim $HOME/nextcloud/Notes/";
# git
ga = "git add";
+17
View File
@@ -0,0 +1,17 @@
# PDF viewer
{
programs.zathura = {
enable = true;
options = {
guioptions = "v";
adjust-open = "width";
statusbar-basename = true;
render-loading = false;
scroll-step = 120;
# highlight-color = ");
# highlight-active-color = mkForce (rgba "base0D");
};
};
}
@@ -1,16 +1,11 @@
{ pkgs, ... }:
let
notify-system = pkgs.writeShellScriptBin "notify-system" ''
function minute() {
while true;do
battery-plugged &
battery-level &
sleep 60
done
}
minute
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
while true;do
battery-plugged &
battery-level &
sleep 60
done
'';
battery-plugged = pkgs.writeShellScriptBin "battery-plugged" ''
@@ -18,9 +13,9 @@ let
OLD_BATTERY_STATUS=$(cat /tmp/old_battery_status 2>/dev/null || echo "Unknown")
if [[ $BATTERY_STATUS != $OLD_BATTERY_STATUS && $OLD_BATTERY_STATUS != "Unknown" ]]; then
if [[ $BATTERY_STATUS == "Discharging" ]]; then
${pkgs.libnotify}/bin/notify-send "󰚦 " "Battery is unplugged"
notif "battery" "󰚦 Battery is unplugged"
else
${pkgs.libnotify}/bin/notify-send "󰚥 " "Battery is plugged in"
notif "battery" "󰚥 Battery is plugged in"
fi
fi
echo $BATTERY_STATUS > /tmp/old_battery_status
@@ -30,14 +25,12 @@ let
BATTERY_LEVEL=$(cat /sys/class/power_supply/BAT*/capacity | head -n1)
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
if [[ $BATTERY_LEVEL -le 20 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
${pkgs.libnotify}/bin/notify-send "󰁻 Low battery" "Battery level is $BATTERY_LEVEL%"
notif "battery" "󰁻 Low battery" "Battery level is $BATTERY_LEVEL%"
elif [[ $BATTERY_LEVEL -le 10 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
${pkgs.libnotify}/bin/notify-send --urgency=critical "󰁺 Very low battery" "Battery level is $BATTERY_LEVEL%"
elif [[ $BATTERY_LEVEL -eq 100 ]] && [[ $BATTERY_STATUS -ne "Discharging" ]]; then
${pkgs.libnotify}/bin/notify-send "󰁹 Fully charged"
notif "battery" "󰁺 Very low battery" "Battery level is $BATTERY_LEVEL%"
# elif [[ $BATTERY_LEVEL -eq 100 ]] && [[ $BATTERY_STATUS -ne "Discharging" ]]; then
# notif "battery" "󰁹 Fully charged"
fi
'';
in {
home.packages = with pkgs; [ notify-system battery-plugged battery-level ];
}
in { home.packages = [ battery-watch battery-plugged battery-level ]; }
+2 -10
View File
@@ -13,9 +13,7 @@ let
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"
notif "brightness" "$message" "extraargs=-h int:value:$brightness_level"
'';
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
@@ -26,10 +24,4 @@ let
brightness-change down ${increments}
'';
in {
home.packages = with pkgs; [
brightness-change
brightness-up
brightness-down
];
}
in { home.packages = [ brightness-change brightness-up brightness-down ]; }
+3 -6
View File
@@ -1,7 +1,5 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
homedir = config.home.homeDirectory;
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
[[ -f /tmp/caffeine ]] && echo "active" || echo "inactive"
'';
@@ -16,8 +14,7 @@ let
pkill hypridle
message="󰅶 Caffeine Activated"
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" "$message"
'';
in { home.packages = with pkgs; [ caffeine-status caffeine ]; }
in { home.packages = [ caffeine-status caffeine ]; }
+2 -1
View File
@@ -11,6 +11,7 @@ let
echo "Wrong number of arguments..."
fi
'';
extract = pkgs.writeShellScriptBin "extract" ''
for i in "$@" ; do
tar -xvzf $i
@@ -18,4 +19,4 @@ let
done
'';
in { home.packages = with pkgs; [ compress extract ]; }
in { home.packages = [ compress extract ]; }
+3 -1
View File
@@ -8,8 +8,10 @@
./screenshot
./startup
./nerdfont_fzf
./system
./notification
./battery
./compress
./misc
./tofi
];
}
+4 -10
View File
@@ -1,8 +1,6 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
homedir = config.home.homeDirectory;
menu = pkgs.writeShellScriptBin "menu" ''
if pgrep wofi; then
pkill wofi
@@ -19,12 +17,8 @@ let
fi
'';
wireguard-import = pkgs.writeShellScriptBin "wireguard-import" ''
nmcli connection import type wireguard file "$1"
lock = pkgs.writeShellScriptBin "lock" ''
${pkgs.hyprlock}/bin/hyprlock
'';
vault = pkgs.writeShellScriptBin "vault" ''
nvim $HOME/Nextcloud/obsidian
'';
in { home.packages = with pkgs; [ menu wireguard-import powermenu vault ]; }
in { home.packages = [ menu powermenu lock ]; }
+1 -2
View File
@@ -26,10 +26,9 @@ let
'';
in {
home.packages = with pkgs; [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
home.packages = [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
xdg.configFile."nerdfont_glyphnames.json" = {
source = ./nerdfont_glyphnames.json;
};
}
+21 -7
View File
@@ -1,20 +1,34 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
homedir = config.home.homeDirectory;
default = "4000";
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
message="󰖔 Night-Shift Activated"
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
notif "night-shift" "$message"
'';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
pkill wlsunset
message="󰖔 Night-Shift Deactivated"
${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
notif "night-shift" "$message"
'';
in { home.packages = with pkgs; [ night-shift-on night-shift-off ]; }
night-shift-toggle = pkgs.writeShellScriptBin "night-shift-toggle" ''
if pgrep wlsunset; then
night-shift-off
else
night-shift-on
fi
'';
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" ''
if pgrep wlsunset; then
echo "1"
else
echo "0"
fi
'';
in { home.packages = [ night-shift-on night-shift-off night-shift-toggle night-shift-status ]; }
+49 -21
View File
@@ -1,32 +1,60 @@
{ pkgs, config, ... }:
let
nixy-rebuild = pkgs.writeShellScriptBin "nixy-rebuild" ''
sudo nixos-rebuild switch --flake ${config.var.configDirectory}#nixy
'';
nixy-upgrade = pkgs.writeShellScriptBin "nixy-upgrade" ''
sudo nixos-rebuild switch --upgrade --flake ${config.var.configDirectory}#nixy
'';
nixy = pkgs.writeShellScriptBin "nixy" ''
function exec() {
$@
}
nixy-update = pkgs.writeShellScriptBin "nixy-update" ''
cd ${config.var.configDirectory} && sudo nix flake update
'';
function ui(){
DEFAULT_ICON="󰘳"
nixy-gc = pkgs.writeShellScriptBin "nixy-gc" ''
cd ${config.var.configDirectory} && sudo nix-collect-garbage -d
'';
# "icon;name;command"[]
apps=(
";Rebuild;nixy-rebuild"
";Upgrade;nixy-upgrade"
";Update;nixy-update"
";Collect Garbage;nixy-gc"
";Clean Boot Menu;nixy-cb"
)
nixy-cb = pkgs.writeShellScriptBin "nixy-cb" ''
sudo /run/current-system/bin/switch-to-configuration boot
# Apply default icons if empty:
for i in "''${!apps[@]}"; do
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
done
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
[[ -z $fzf_result ]] && exit 0
fzf_result=''${fzf_result/ /;}
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
exec "$command"
exit 0
}
[[ $1 == "" ]] && ui
if [[ $1 == "rebuild" ]];then
sudo nixos-rebuild switch --flake ${config.var.configDirectory}#${config.var.hostname}
elif [[ $1 == "upgrade" ]];then
sudo nixos-rebuild switch --upgrade --flake ${config.var.configDirectory}#${config.var.hostname}
elif [[ $1 == "update" ]];then
cd ${config.var.configDirectory} && sudo nix flake update
elif [[ $1 == "gc" ]];then
cd ${config.var.configDirectory} && sudo nix-collect-garbage -d
elif [[ $1 == "cb" ]];then
sudo /run/current-system/bin/switch-to-configuration boot
elif [[ $1 == "remote" ]];then
cd ~/.config/nixos && git add . && git commit -m "update" && git push
ssh jack -S -C "cd /home/hadi/.config/nixos && git pull && sudo -S nixos-rebuild switch --flake ~/.config/nixos#jack"
else
echo "Unknown argument"
fi
'';
in {
home.packages = with pkgs; [
nixy-rebuild
nixy-upgrade
nixy-update
nixy-gc
nixy-cb
];
home.packages =
[ nixy ];
}
+27
View File
@@ -0,0 +1,27 @@
{ pkgs, ... }:
let
notif = pkgs.writeShellScriptBin "notif" ''
# Shell script to send custom notifications
NOTIF_FOLDER="/tmp/notif"
sender_id=$1 # To overwrite existing notifications
message=$2
extraargs=""
description=""
if [[ $3 == "extraargs="* ]]; then
extraargs=$(echo "$3" | sed 's/extraargs=//g')
else
description="$3"
extraargs="$4"
fi
[[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER
[[ -f "$NOTIF_FOLDER/$sender_id" ]] || echo "0" > "$NOTIF_FOLDER/$sender_id"
old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id")
${pkgs.libnotify}/bin/notify-send "$message" \
$extraargs \
--replace-id="$old_notification_id" --print-id > "$NOTIF_FOLDER/$sender_id"
'';
in { home.packages = [ notif ]; }
+1 -1
View File
@@ -30,4 +30,4 @@ let
--icon="$folder/$filename" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
'';
in { home.packages = with pkgs; [ hyprshot screenshot ]; }
in { home.packages = [ pkgs.hyprshot screenshot ]; }
+3 -10
View File
@@ -26,9 +26,7 @@ let
message="󰕾 Volume: $volume%"
fi
${pkgs.libnotify}/bin/notify-send "$message" \
-h int:value:"$volume" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
notif "sound" "$message" "extraargs=-h int:value:$volume"
'';
sound-up = pkgs.writeShellScriptBin "sound-up" ''
@@ -83,11 +81,6 @@ let
'';
in {
home.packages = with pkgs; [
sound-output
sound-change
sound-up
sound-down
sound-toggle
];
home.packages =
[ sound-output sound-change sound-up sound-down sound-toggle ];
}
+4 -30
View File
@@ -1,43 +1,17 @@
# File runned at startup by Hyprland
{ pkgs, config, ... }:
let
nextcloud-watch = pkgs.writeShellScriptBin "nextcloud-watch" ''
# Start nextcloud if I'm on my local network
while true;do
sleep 120
ssid=$(nmcli -t -f name connection show --active | head -n1)
nextcloud_status=$(ps -aux | grep -E "/bin/nextcloud --background$")
if [[ $nextcloud_status == "" ]]; then
service_status="inactive"
else
service_status="active"
fi
if [[ $ssid == "inthecloud" || $ssid == "Wired connection 2" ]]; then
if [[ $service_status == "inactive" ]]; then
${pkgs.nextcloud-client}/bin/nextcloud --background
fi
else
if [[ $service_status == "active" ]]; then
nextcloud_pid=$(pgrep -n nextcloud)
kill $nextcloud_pid
fi
fi
done
'';
startup = pkgs.writeShellScriptBin "startup" ''
# Startup is a script called by Hyprland on startup
# Because HM enabling services suck.
[[ ${toString config.var.sops} == "1" ]] && systemctl --user start sops-nix
[[ ${toString config.var.nextcloud} == "1" ]] && nextcloud-watch &
notify-system &
battery-watch &
${pkgs.waybar}/bin/waybar &
wlr-randr --output "Unknown-1" --off # REMOVE WEIRD GHOST MONITOR
wlr-randr --output "Unknown-1" --off # FIX: REMOVE WEIRD GHOST MONITOR
'';
in { home.packages = with pkgs; [ startup nextcloud-watch nextcloud-client ]; }
in { home.packages = [ startup ]; }
+62
View File
@@ -0,0 +1,62 @@
{ pkgs, config, ... }:
let
tofi = pkgs.writeShellScriptBin "tofi" ''
hyprexec="hyprctl dispatch exec"
function exec() {
$@
}
function ui(){
DEFAULT_ICON="󰘳"
# "icon;name;command"[]
apps=(
";Nixy;nixy"
";Nerdfont FZF;nerdfont-fzf"
";Brightness Up;brightness-up"
";Brightness Down;brightness-down"
";Sound Up;sound-up"
";Sound Down;sound-down"
";Sound Toggle Mute;sound-toggle"
";Sound Change Output;sound-output"
";Caffeine;caffeine"
";Night Shift Toggle;night-shift-toggle"
";Firefox;$hyprexec firefox"
";Qutebrowser;$hyprexec qutebrowser"
";Kitty;$hyprexec kitty"
";Thunar;$hyprexec thunar"
";Powermenu;powermenu"
";Wofi;menu"
";Lock;lock"
";Bitwarden;$hyprexec bitwarden"
";Clock; peaclock"
";Nextcloud;$hyprexec nextcloud"
";Spotify;$hyprexec spotify"
";Btop;btop"
";Cava;cava"
";Discord;$hyprexec discord"
";Vlc;$hyprexec vlc"
";Obsidian;$hyprexec obsidian"
)
# Apply default icons if empty:
for i in "''${!apps[@]}"; do
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
done
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
[[ -z $fzf_result ]] && exit 0
fzf_result=''${fzf_result/ /;}
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
exec "$command"
exit 0
}
ui
'';
in { home.packages = [ tofi ]; }
+46
View File
@@ -0,0 +1,46 @@
{ pkgs, config, ... }: {
imports = [
../hosts/server/variables.nix
# Programs
./programs/btop
./programs/nvim
./programs/git
./programs/shell
# Scripts
./scripts # All scripts
];
home = {
inherit (config.var) username;
inherit (config.var) homeDirectory;
packages = with pkgs; [
# Dev
go
cargo
nodejs
python3
jq
# Utils
fd
bc
gcc
zip
unzip
wget
curl
glow
wireguard-tools
pfetch
];
stateVersion = "24.05";
};
programs.home-manager.enable = true;
}
+1 -1
View File
@@ -32,7 +32,7 @@
home.file = {
".local/share/themes/FlatColor" = {
recursive = true;
source = ./gtk;
source = ./theme;
};
".local/share/themes/FlatColor/colors2".text = ''

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 184 B

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 286 B

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 169 B

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 257 B

Before

Width:  |  Height:  |  Size: 287 B

After

Width:  |  Height:  |  Size: 287 B

Before

Width:  |  Height:  |  Size: 150 B

After

Width:  |  Height:  |  Size: 150 B

Before

Width:  |  Height:  |  Size: 150 B

After

Width:  |  Height:  |  Size: 150 B

Before

Width:  |  Height:  |  Size: 187 B

After

Width:  |  Height:  |  Size: 187 B

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 239 B

Before

Width:  |  Height:  |  Size: 173 B

After

Width:  |  Height:  |  Size: 173 B

Before

Width:  |  Height:  |  Size: 173 B

After

Width:  |  Height:  |  Size: 173 B

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 248 B

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 207 B

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 270 B

Before

Width:  |  Height:  |  Size: 190 B

After

Width:  |  Height:  |  Size: 190 B

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