442 Commits

Author SHA1 Message Date
Hadi c6cc2b3e2b Release v2.1.0
Former-commit-id: a134abdea3
2024-08-18 23:40:47 +02:00
Hadi 61eac2f021 Update
Former-commit-id: 957b148656
2024-08-18 23:29:31 +02:00
Hadi 55cfb67493 Update
Former-commit-id: 7fab715859
2024-08-18 23:29:08 +02:00
Hadi 082fbb2130 Update
Former-commit-id: 246b5b6c8e
2024-08-11 12:02:11 +02:00
Hadi 207caa7ba5 Update
Former-commit-id: a318562aa7
2024-08-10 13:28:07 +02:00
Hadi 9d03a16364 Update
Former-commit-id: 4ec671e6b4
2024-08-02 20:53:58 +02:00
Hadi 7832f5f750 Update
Former-commit-id: e3f4493865
2024-07-29 19:34:43 +02:00
Hadi c9775af4ea Update
Former-commit-id: 5c5a2796f6
2024-07-25 23:23:11 +02:00
Hadi 146afb1de5 Update
Former-commit-id: a7bd5ad28b
2024-07-24 23:38:16 +02:00
Hadi e9e7d4f06f Update
Former-commit-id: 830dc909e2
2024-07-22 22:32:10 +02:00
Hadi 273fd77b86 Update
Former-commit-id: 351dc0ebb3
2024-07-22 21:49:19 +02:00
Hadi cf04176b10 Update
Former-commit-id: aff363f37d
2024-07-21 22:20:55 +02:00
Hadi eb3083346f Update
Former-commit-id: fdd41cf848
2024-07-19 13:03:34 +02:00
Hadi 5078a34ee3 Update
Former-commit-id: 308cbfcb19
2024-07-13 12:04:41 +02:00
Hadi b5f27c6ed6 Update
Former-commit-id: 1dc5190c43
2024-07-11 16:07:04 +02:00
Hadi cb7c2f3c40 Update
Former-commit-id: 8412b4dd93
2024-07-09 16:20:53 +02:00
Hadi 3e6f8b856d Update
Former-commit-id: 04d2e91dd5
2024-07-09 15:01:41 +02:00
Hadi 38b516453a Update
Former-commit-id: 70459117ed
2024-07-09 14:16:50 +02:00
Hadi 2e9fd1710f Update
Former-commit-id: 87ee1c7738
2024-07-09 14:00:14 +02:00
Hadi 4b8593b097 Update
Former-commit-id: 0509eba07f
2024-07-09 13:41:42 +02:00
Hadi fd5dfea2c4 Update
Former-commit-id: 9142814f8f
2024-07-09 12:05:04 +02:00
Hadi b623474fc0 Update
Former-commit-id: 33a9386356
2024-07-09 11:44:32 +02:00
Hadi ffcd2c0c19 Update
Former-commit-id: fb73cce28a
2024-07-09 11:12:41 +02:00
Hadi aa1a9c25d7 Update
Former-commit-id: e0c24bf068
2024-07-09 09:47:29 +02:00
Hadi cd837e208e Update
Former-commit-id: 8e63ef0b46
2024-07-09 09:38:51 +02:00
Hadi eca9b216ba Merge branch 'main' of github.com:anotherhadi/nixy
Update


Former-commit-id: e107b25a2f
2024-07-09 09:33:49 +02:00
Hadi f1bff29cd9 Update
Former-commit-id: 841f9625e9
2024-07-09 09:33:21 +02:00
Hadi e452d79f0c update
Former-commit-id: ddddd3b4a4
2024-07-08 07:45:56 +00:00
Hadi 0fb184e8d3 Update
Former-commit-id: a73a50aa1f
2024-07-06 00:37:24 +02:00
Hadi 5b337e5e94 Update
Former-commit-id: cd7db37ccd
2024-07-06 00:35:41 +02:00
Hadi 498c03decc Update
Former-commit-id: 9931071846
2024-07-05 14:56:19 +02:00
Hadi 5f6fb011a2 Update
Former-commit-id: de4347765c
2024-07-05 10:16:16 +02:00
Hadi 46b913a7d3 Update
Former-commit-id: 5bee2d6931
2024-07-05 09:20:58 +02:00
Hadi 0ecb821342 Update
Former-commit-id: 7dc7cfcaba
2024-07-05 09:09:43 +02:00
Hadi f7d23ddee9 Update
Former-commit-id: a8d37c3fcd
2024-07-05 08:49:18 +02:00
Hadi fb63d4c0e9 Update
Former-commit-id: fa6d5d50bd
2024-07-02 12:18:49 +02:00
Hadi 9bddf6dab9 update
Former-commit-id: fdff88cc9d
2024-07-01 13:15:24 +00:00
Hadi 2f39827f03 nixvim refactor
Former-commit-id: 55caf123df
2024-07-01 13:07:12 +00:00
Hadi 41a6417a2d Update
Former-commit-id: 88ae1d29a5
2024-07-01 13:04:32 +02:00
Hadi 02331d9deb update todos
Former-commit-id: 51739ac610
2024-07-01 08:41:07 +00:00
Hadi 742aa325aa update
Former-commit-id: 76a6f6cd6e
2024-07-01 08:34:04 +00:00
Hadi 6d487ab9f0 update
Former-commit-id: 7ef2c71725
2024-07-01 08:32:49 +00:00
Hadi a0f7128a28 update
Former-commit-id: 81574fd7bc
2024-07-01 08:31:12 +00:00
Hadi fdd5d685d6 Add wallpapers
Former-commit-id: ba9dde2c1a
2024-07-01 10:13:17 +02:00
Hadi 62213109f7 update
Former-commit-id: 93837b6bea
2024-06-30 18:01:52 +02:00
Hadi 9c43c89a3f Update
Former-commit-id: 8b76bf48a6
2024-06-30 17:59:39 +02:00
Hadi 9c1fc992e2 update
Former-commit-id: c80ddff8eb
2024-06-30 17:46:32 +02:00
Hadi cc2b0989d3 update
Former-commit-id: c4d436b434
2024-06-30 17:42:09 +02:00
Hadi 3ee5f2097d update
Former-commit-id: dae8755b59
2024-06-30 17:35:58 +02:00
Hadi 5657e0b24c Update
Former-commit-id: 7c0216b1fb
2024-06-30 17:32:42 +02:00
Hadi b51725e7cd Update
Former-commit-id: 40ffce6605
2024-06-29 00:18:07 +02:00
Hadi 86f8c99554 Update
Former-commit-id: 56c2c41b68
2024-06-28 16:35:49 +02:00
Hadi c256b870aa Update
Former-commit-id: 06f5e03e66
2024-06-28 16:32:52 +02:00
Hadi 94103e9dfb Update
Former-commit-id: 921c359693
2024-06-28 15:02:53 +02:00
Hadi af6319c8ec update
Former-commit-id: 1f35859f2c
2024-06-28 14:35:35 +02:00
Hadi 6edda0e6e1 Update
Former-commit-id: 71f405e633
2024-06-28 01:24:27 +02:00
Hadi 3ba7648eb0 update
Former-commit-id: 84b645e181
2024-06-28 01:11:49 +02:00
Hadi 484d82a788 update
Former-commit-id: 5857299c20
2024-06-28 01:10:09 +02:00
Hadi be0d934622 update
Former-commit-id: ec24cde14f
2024-06-28 01:07:53 +02:00
Hadi abab0d1b96 update
Former-commit-id: 3f79044a2a
2024-06-28 01:07:24 +02:00
Hadi 9dd462b0b8 Update
Former-commit-id: cf6ea202e1
2024-06-28 00:58:12 +02:00
Hadi 28404f07cd Update
Former-commit-id: 84f87f9833
2024-06-27 19:42:08 +02:00
Hadi eb0e205e99 Update
Former-commit-id: ae6818ed65
2024-06-27 18:32:17 +02:00
Hadi 0c856fe2d2 update
Former-commit-id: cd7b35389e
2024-06-27 09:49:24 +00:00
Hadi 26452fbf23 update
Former-commit-id: c8c81e20ae
2024-06-27 09:20:44 +00:00
Hadi 6f2ad22139 golang bin to $PATH
Former-commit-id: 2972b4238c
2024-06-27 08:45:21 +00:00
Hadi e79b8ac14c update
Former-commit-id: b35d35f3d5
2024-06-27 08:42:42 +00:00
Hadi 9826faa7d0 update
Former-commit-id: bde31a4934
2024-06-27 08:32:24 +00:00
Hadi 68e5393f5d update
Former-commit-id: 170287e948
2024-06-27 08:31:28 +00:00
Hadi f3e7766229 create keybindings doc
Former-commit-id: 5d14ec00b5
2024-06-27 08:24:13 +00:00
Hadi 76f7b763cf Merge branch 'main' of https://github.com/anotherhadi/nixy
Former-commit-id: f6209d0754
2024-06-27 07:50:31 +00:00
Hadi 51191f82c7 update todo
Former-commit-id: 9e906c161a
2024-06-27 07:46:24 +00:00
Hadi e86c831653 Update
Former-commit-id: 071ce93f11
2024-06-27 00:11:54 +02:00
Hadi 91f8e392ef Update
Former-commit-id: a9939a0f54
2024-06-27 00:10:09 +02:00
Hadi 7ce04c1ae9 Update
Former-commit-id: 9cf68648eb
2024-06-26 22:18:39 +02:00
Hadi 1aff187d21 Update
Former-commit-id: 652377bd9b
2024-06-26 22:17:03 +02:00
Hadi 856c0c3212 Update
Former-commit-id: dd9c61b9ff
2024-06-26 22:13:14 +02:00
Hadi acfaa9d9e8 update
Former-commit-id: c00458c02a
2024-06-26 21:30:04 +02:00
Hadi 20307f9096 Update
Former-commit-id: 1df0f31dbc
2024-06-26 21:19:04 +02:00
Hadi ff1d70ba79 add md-table-of-contents source
Former-commit-id: 6a8382c79e
2024-06-26 14:46:22 +00:00
Hadi 188e34a575 update
Former-commit-id: 1ed7675095
2024-06-26 14:44:08 +00:00
Hadi 373c2d4546 Update
Former-commit-id: 57cab5fa52
2024-06-26 12:31:58 +02:00
Hadi ae1335d4d2 update
Former-commit-id: 3cfb9e733a
2024-06-26 10:32:58 +02:00
Hadi 70e9831d3a Update
Former-commit-id: bb4617160c
2024-06-25 22:22:26 +02:00
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
Hadi ce2dcf66a4 update
Former-commit-id: bbaf52b496
2024-06-17 20:47:28 +02:00
Hadi 0d9b79c73e update
Former-commit-id: 5835d73997
2024-06-17 20:44:37 +02:00
Hadi a17e3583e6 Update
Former-commit-id: bbbf516812
2024-06-17 20:38:13 +02:00
Hadi 1885087e56 Update
Former-commit-id: 6f8698e345
2024-06-17 20:37:09 +02:00
Hadi b79d37ad06 Update
Former-commit-id: b49b2d2c60
2024-06-17 20:08:17 +02:00
Hadi 8952cbaade update
Former-commit-id: a703d0816b
2024-06-17 19:50:35 +02:00
Hadi cbda10510d update
Former-commit-id: 4aba4116de
2024-06-17 19:45:21 +02:00
Hadi e09cae9c44 Update
Former-commit-id: 9db5b9231e
2024-06-17 19:23:43 +02:00
Hadi 187bdb0a32 Update
Former-commit-id: dc5c227667
2024-06-17 19:20:34 +02:00
Hadi 5ba463757e update
Former-commit-id: 912c0abc51
2024-06-17 19:20:01 +02:00
Hadi 7763a854af update
Former-commit-id: d8659825a2
2024-06-17 19:18:05 +02:00
Hadi 6cd8da4bf1 Update README.md
Former-commit-id: 087dd4dfec
2024-06-17 17:10:04 +02:00
Hadi a397f5e82b update
Former-commit-id: a6207c07ab
2024-06-17 17:04:39 +02:00
Hadi 31ba52c9ac add hyprcursor
Former-commit-id: efc017e5bd
2024-06-17 16:55:42 +02:00
Hadi bd5998521b moved gtk theme
Former-commit-id: 2982684252
2024-06-17 16:54:50 +02:00
Hadi 5d043297d3 update
Former-commit-id: 5e3a372259
2024-06-17 16:53:18 +02:00
Hadi 07dd6c09a5 temp
Former-commit-id: 8d16aa86e0
2024-06-17 16:35:53 +02:00
Hadi 28513feea4 temp
Former-commit-id: 3f613c9910
2024-06-17 16:33:34 +02:00
Hadi 982c4b2f80 update
Former-commit-id: 8b2f8c08d3
2024-06-17 16:23:03 +02:00
Hadi cd3ac7cfbc update
Former-commit-id: f2c80d003c
2024-06-17 14:24:18 +02:00
Hadi 58bbb5532a Add themes folder
Former-commit-id: a6cc46cf93
2024-06-17 14:18:15 +02:00
Hadi 6b115d6d28 Update
Former-commit-id: 857c98e32a
2024-06-17 13:49:05 +02:00
Hadi 7d97cc9148 Update
Former-commit-id: d169306a68
2024-06-17 13:47:13 +02:00
Hadi 992929e13a test hosts
Former-commit-id: b22d2f596f
2024-06-17 09:23:37 +02:00
Hadi 65b80a7d8d test
Former-commit-id: 026be4852e
2024-06-17 09:22:31 +02:00
Hadi 396a4dcf84 Update
Former-commit-id: 49cf0fc0e3
2024-06-14 21:18:42 +02:00
Hadi dae5881128 Add animations speed in variables
Former-commit-id: 7267fa55fb
2024-06-14 21:13:50 +02:00
Hadi c00de1af0e Update
Former-commit-id: c410d04e1a
2024-06-14 21:04:33 +02:00
Hadi 5c760f5bfc Update
Former-commit-id: fad7c6e46d
2024-06-14 20:58:52 +02:00
Hadi d3881d0897 Update
Former-commit-id: 089c57802e
2024-06-14 15:28:30 +02:00
Hadi 64771ae931 Update
Former-commit-id: 47701f3f49
2024-06-14 14:43:21 +02:00
Hadi 516b7eaed4 Update
Former-commit-id: 5af6219fff
2024-06-14 14:24:09 +02:00
Hadi dc11045158 Update
Former-commit-id: 9eb2dbf579
2024-06-14 14:21:27 +02:00
Hadi c462a44130 Refactor
Former-commit-id: ea15e4fa98
2024-06-14 14:20:06 +02:00
Hadi 9130b97e13 Update
Former-commit-id: cf99fa5687
2024-06-14 14:03:35 +02:00
Hadi c1291fa9e7 Update
Former-commit-id: 98d8545186
2024-06-14 13:58:54 +02:00
Hadi 282031208e Update
Former-commit-id: 60ee25a3fa
2024-06-14 13:56:43 +02:00
Hadi 2ee7347334 Update
Former-commit-id: 25e4b89053
2024-06-14 13:44:30 +02:00
Hadi d3d4c5c7e6 Fix
Former-commit-id: 758b594e39
2024-06-14 12:54:46 +02:00
Hadi 47b46bdbf1 Update
Former-commit-id: eb94f6b527
2024-06-14 10:03:29 +02:00
Hadi a5750d59be test
Former-commit-id: aae1271cf0
2024-06-14 10:00:54 +02:00
Hadi e7324aa80d Update
Former-commit-id: 70a3473916
2024-06-13 11:02:21 +02:00
Hadi 61728dd166 Update
Former-commit-id: 96b64e86e0
2024-06-13 10:52:06 +02:00
Hadi f405b40518 Temp
Former-commit-id: d117be2be9
2024-06-13 10:48:06 +02:00
Hadi 4fbcff7320 Update
Former-commit-id: a30df8d186
2024-06-11 23:41:38 +02:00
Hadi 9e77650fa6 Stable
Former-commit-id: 3b52711351
2024-06-11 23:31:59 +02:00
Hadi 2e3a459e5c Fix
Former-commit-id: 0e3989391e
2024-06-11 22:00:58 +02:00
Hadi 3e0a36a9d9 Fix
Former-commit-id: e9310630bd
2024-06-11 21:58:04 +02:00
Hadi 84463917f5 Update
Former-commit-id: c2bb7f475b
2024-06-08 20:50:18 +02:00
Hadi b23b815696 Update
Former-commit-id: 14eeb7bd3a
2024-06-08 02:32:42 +02:00
Hadi d2858a640b Update
Former-commit-id: 08b9ef2677
2024-06-08 02:28:42 +02:00
Hadi 8cd055be59 Update
Former-commit-id: cbb276551c
2024-06-08 02:28:13 +02:00
Hadi 7a3787d62d Update
Former-commit-id: 4556c5ea2f
2024-06-08 02:26:47 +02:00
Hadi 985dd82c6f Update
Former-commit-id: 6a017c8e70
2024-06-08 02:24:07 +02:00
Hadi b828545a42 Update
Former-commit-id: e33ab5a6e1
2024-06-08 02:22:10 +02:00
Hadi c1a311e021 Update
Former-commit-id: fbf3fe3255
2024-06-08 02:20:20 +02:00
Hadi 98fc1e131b Update
Former-commit-id: 41a6de85b1
2024-06-08 02:19:25 +02:00
Hadi f19b74c2e9 Update
Former-commit-id: 6561d23db6
2024-06-08 02:18:53 +02:00
Hadi 0aae361973 Update
Former-commit-id: 562dad765b
2024-06-08 02:17:50 +02:00
Hadi e925d6712c Update
Former-commit-id: 2656132158
2024-06-08 02:17:04 +02:00
Hadi 553455474b Update
Former-commit-id: 430d30e4ee
2024-06-08 02:05:37 +02:00
Hadi b53c5bb5b1 Update
Former-commit-id: 3a1896894f
2024-06-08 01:57:55 +02:00
Hadi f76419c158 Update
Former-commit-id: 88fb9d078b
2024-06-08 01:56:21 +02:00
Hadi fb44fb3fab Update
Former-commit-id: 1ccb720f3b
2024-06-08 00:36:44 +02:00
Hadi d19182608d Update
Former-commit-id: d2c8461193
2024-06-08 00:35:45 +02:00
Hadi ebbb2dd780 Update
Former-commit-id: 92b467525d
2024-06-08 00:01:20 +02:00
Hadi ce24afcea0 Update
Former-commit-id: 6c08c79a16
2024-06-07 23:54:10 +02:00
Hadi 4b1c84319b Update
Former-commit-id: e52f52f4da
2024-06-07 23:46:40 +02:00
Hadi 7d46fa680f Update
Former-commit-id: b855318c55
2024-06-07 23:35:59 +02:00
Hadi 73961f5caf Update
Former-commit-id: ca8abfde1c
2024-06-07 23:34:02 +02:00
Hadi 89c194d604 Update
Former-commit-id: 24de104139
2024-06-07 22:53:04 +02:00
Hadi fc50d282ca Update
Former-commit-id: 2c0246c84a
2024-06-07 22:43:37 +02:00
Hadi 101cbd0761 Update
Former-commit-id: 9177f93a96
2024-06-07 22:41:10 +02:00
Hadi 48f7c42a21 Update
Former-commit-id: 57867b1a22
2024-06-07 22:37:59 +02:00
Hadi a6d00d0823 Update
Former-commit-id: 7b9e579a4e
2024-06-07 22:34:48 +02:00
Hadi e02c11e258 Update
Former-commit-id: 65ec024028
2024-06-07 22:25:21 +02:00
Hadi 3554bf257e Update
Former-commit-id: 19af1ccdc2
2024-06-07 22:11:42 +02:00
Hadi ec0e54e4b2 Update
Former-commit-id: 7d80970e9d
2024-06-07 22:08:09 +02:00
Hadi 8d60d1d914 Update
Former-commit-id: 755a2e8f2b
2024-06-07 22:05:49 +02:00
Hadi 2555bc641b Update
Former-commit-id: 160d302a74
2024-06-07 21:49:44 +02:00
Hadi dfc48d1525 Add pub key
Former-commit-id: b674a8be1b
2024-06-07 21:46:15 +02:00
Hadi 80a61f86dc Fix
Former-commit-id: e2382abacc
2024-06-07 21:41:04 +02:00
Hadi 1cde20d8bc Add hardware config for server
Former-commit-id: bf7dd645ba
2024-06-07 21:38:39 +02:00
Hadi 378bdade49 Update
Former-commit-id: 7bb06e521f
2024-06-07 21:37:48 +02:00
Hadi b87610007a Add heaven (my server)
Former-commit-id: 17f93ea60b
2024-06-07 21:21:03 +02:00
Hadi c216a5e997 Update
Former-commit-id: d917ac9f6a
2024-06-07 10:55:45 +02:00
Hadi ccf0ee95c6 Update
Former-commit-id: 98556f202e
2024-06-03 20:18:30 +02:00
Hadi 0a2644f5d4 Update
Former-commit-id: 0f98d762a2
2024-05-25 10:53:38 +02:00
Hadi 7f31c039e8 Update
Former-commit-id: c074db2779
2024-05-20 19:44:45 +02:00
Hadi cfbf65a7f5 Add hyprland cachix
Former-commit-id: 98186715b1
2024-05-17 14:52:18 +02:00
Hadi 1f67c4a752 Merge pull request #1 from anotherhadi/unstable
Update

Former-commit-id: 0087ca74be
2024-05-17 14:46:30 +02:00
Hadi b9dbcac931 Update
Former-commit-id: 5fe726fd20
2024-05-17 14:44:56 +02:00
Hadi 0b713dfa4e More variables
Former-commit-id: cc1efb2588
2024-05-17 10:28:02 +02:00
Hadi 140bd5c510 Update
Former-commit-id: 0b32914be2
2024-05-16 17:59:50 +02:00
Hadi ae68f811f2 Add nvim noice
Former-commit-id: bc9101e542
2024-05-11 00:37:16 +02:00
Hadi 1c25f3421d Add table of contents
Former-commit-id: 42876ccac3
2024-05-09 16:58:42 +02:00
Hadi 3f4477d938 Add compress/extract
Former-commit-id: 728797b8c5
2024-05-09 16:55:46 +02:00
Hadi 7d0afea3bf Update
Former-commit-id: dff9dcc8d5
2024-05-09 16:51:42 +02:00
Hadi 4eab3730be Update
Former-commit-id: 31913ccdcc
2024-05-09 16:50:46 +02:00
Hadi 07d95c5255 Add lazygit
Former-commit-id: 8400e5fd4d
2024-05-09 16:46:30 +02:00
Hadi ddb412cdea Add lazygit
Former-commit-id: 8d0216e1fc
2024-05-09 16:44:39 +02:00
Hadi 5c29aeffc5 Update
Former-commit-id: c4f8d05c0d
2024-05-09 16:33:24 +02:00
Hadi f9dfd7ae1a Update
Former-commit-id: 6d4bc5a9e8
2024-05-09 13:33:51 +02:00
Hadi 34a8b4ffed Add new theme
Former-commit-id: 6065afd390
2024-05-09 13:33:44 +02:00
Hadi 93480fdf86 Fix spacing
Former-commit-id: abfe7ca839
2024-05-09 13:33:18 +02:00
Hadi f5605570e0 Update
Former-commit-id: a26fbaa2c3
2024-05-09 10:54:19 +02:00
Hadi 9d9e3570df Rearrange folder struct
Former-commit-id: e58fda9896
2024-05-04 22:51:33 +02:00
Hadi 8be54bb19b Fix renamed
Former-commit-id: d026643105
2024-05-04 22:46:46 +02:00
Hadi b533415ab7 Delete /tmp dir on boot
Former-commit-id: 984a25c111
2024-05-04 22:45:51 +02:00
Hadi 3b2fd0b3f4 Update
Former-commit-id: 2c2b451d40
2024-05-04 22:36:06 +02:00
Hadi ef90d16de8 Waybar git to solve issue w/hyprland
Former-commit-id: 1af3617b32
2024-05-02 18:16:39 +02:00
Hadi 5222447894 Update
Former-commit-id: 6d1912703c
2024-05-02 15:46:16 +02:00
Hadi 8d9d8d4ca2 Update
Former-commit-id: 81ab14b256
2024-05-02 15:40:12 +02:00
Hadi f32ad388b2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/572af610f6151fd41c212f897c71f7056e3fb518' (2024-04-23)
  → 'github:nixos/nixpkgs/58a1abdbae3217ca6b702f03d3b35125d88a2994' (2024-04-27)


Former-commit-id: 92ec6a5ea8
2024-05-02 12:44:43 +02:00
Hadi e1ff3e4624 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)
  → 'github:nixos/nixpkgs/572af610f6151fd41c212f897c71f7056e3fb518' (2024-04-23)


Former-commit-id: 62029890cd
2024-04-25 22:44:44 +02:00
Hadi 1187753bb7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)
  → 'github:nixos/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)


Former-commit-id: 6cec1f00f0
2024-04-22 17:39:48 +02:00
Hadi dde5b26215 Update
Former-commit-id: 7dd8af5bf8
2024-04-20 11:50:19 +02:00
Hadi 1db52368f7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/66adc1e47f8784803f2deb6cacd5e07264ec2d5c' (2024-04-16)
  → 'github:nixos/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19)


Former-commit-id: 86175a04e5
2024-04-20 11:31:07 +02:00
Hadi 9e9970f517 Fix typo
Former-commit-id: de607e2eea
2024-04-20 01:05:50 +02:00
Hadi 00df88dc0e Delete .sops.yaml
Former-commit-id: e8dd18e32c
2024-04-20 00:41:50 +02:00
Hadi de09bd0179 Fix
Former-commit-id: 3fe07d3ba5
2024-04-20 00:39:15 +02:00
Hadi 2180d78dfc Add github search engine
Former-commit-id: 52ccccc2d9
2024-04-20 00:23:32 +02:00
Hadi 1cb0490c03 Fix 2 file explorer
Former-commit-id: 805917511e
2024-04-20 00:19:15 +02:00
Hadi 424dd06e18 Fix
Former-commit-id: 950e1cfcf2
2024-04-20 00:16:05 +02:00
Hadi 17b23c8497 Fix
Former-commit-id: 637accfc1c
2024-04-20 00:02:59 +02:00
Hadi ba6bb433b6 Fix font
Former-commit-id: a37de9940f
2024-04-19 23:46:15 +02:00
Hadi c3120b819e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cfd6b5fc90b15709b780a5a1619695a88505a176' (2024-04-12)
  → 'github:nixos/nixpkgs/66adc1e47f8784803f2deb6cacd5e07264ec2d5c' (2024-04-16)


Former-commit-id: 14bca81e37
2024-04-19 23:35:51 +02:00
Hadi edcb1af2d9 Update
Former-commit-id: 767e9d182d
2024-04-14 21:59:30 +02:00
Hadi 0cc43ddbb5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6' (2024-04-08)
  → 'github:nixos/nixpkgs/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5' (2024-04-10)


Former-commit-id: 21ce99bfe8
2024-04-14 17:01:34 +02:00
Hadi 3f4096dfe5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)
  → 'github:nixos/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6' (2024-04-08)


Former-commit-id: 3aeedf0ed7
2024-04-10 18:25:46 +02:00
Hadi 2b27db1bff flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/08b9151ed40350725eb40b1fe96b0b86304a654b' (2024-04-03)
  → 'github:nixos/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)


Former-commit-id: cd04bd89c0
2024-04-07 15:47:33 +02:00
Hadi f9aafdc772 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)
  → 'github:nixos/nixpkgs/08b9151ed40350725eb40b1fe96b0b86304a654b' (2024-04-03)


Former-commit-id: 331fc331df
2024-04-04 11:35:03 +02:00
Hadi 0568b5d256 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21)
  → 'github:nixos/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)


Former-commit-id: b9775975ea
2024-03-30 12:09:12 +01:00
Hadi 76ed5e3b0a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b06025f1533a1e07b6db3e75151caa155d1c7eb3' (2024-03-19)
  → 'github:nixos/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21)


Former-commit-id: 7a8ebb778a
2024-03-22 14:16:16 +01:00
Hadi 61a70a7c37 I hate wl clipboard
Former-commit-id: 24a8438694
2024-03-20 23:26:53 +01:00
Hadi cebb8d311d Woopsi
Former-commit-id: ce2e0c2fa8
2024-03-20 22:44:32 +01:00
Hadi 42d7bb5c6e Nerdfont icons finder, folder arch..
Former-commit-id: e97e2705b5
2024-03-20 22:38:49 +01:00
Hadi 0eb1751e41 Up
Former-commit-id: cb98842775
2024-03-20 21:47:50 +01:00
Hadi c995295397 Up
Former-commit-id: 95562dce0e
2024-03-20 20:04:09 +01:00
Hadi 448a482497 keybindings
Former-commit-id: bb47c6a943
2024-03-20 18:58:16 +01:00
Hadi 9bd0c2f190 Themes
Former-commit-id: 5ad31e7602
2024-03-20 18:31:59 +01:00
Hadi 283d757327 oops
Former-commit-id: 35de81a46d
2024-03-20 18:05:24 +01:00
Hadi 32c9cd7504 up
Former-commit-id: 0fee3682d0
2024-03-20 18:01:15 +01:00
Hadi fac419453e Fix powermenu management
Former-commit-id: aa25061ad7
2024-03-18 22:48:11 +01:00
Hadi b043028ec7 Fix neofetch on floating window
Former-commit-id: 69bd97e1bd
2024-03-18 22:40:15 +01:00
Hadi 900eb52b17 Fix windows name & padding
Former-commit-id: 1dd92201d0
2024-03-18 22:37:03 +01:00
Hadi 89d705f414 Up
Former-commit-id: ef3489075f
2024-03-18 22:26:32 +01:00
Hadi 34e5fbb417 License
Former-commit-id: 6a562ff64c
2024-03-17 17:35:11 +01:00
Hadi 0aa6df37cd Details README
Former-commit-id: 441b45846e
2024-03-17 17:17:03 +01:00
Hadi a185bd740d Up
Former-commit-id: 381b3228dc
2024-03-17 17:11:49 +01:00
Hadi bd81378c22 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d691274a972b3165335d261cc4671335f5c67de9' (2024-03-14)
  → 'github:nixos/nixpkgs/c75037bbf9093a2acb617804ee46320d6d1fea5a' (2024-03-16)


Former-commit-id: bb869d6897
2024-03-17 16:47:28 +01:00
Hadi 96c6f25c3c Up
Former-commit-id: a230692b90
2024-03-17 01:14:16 +01:00
Hadi 61a67cd51d Up
Former-commit-id: f86a0271b6
2024-03-16 22:26:30 +01:00
Hadi fe6ef8762e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/0ad13a6833440b8e238947e47bea7f11071dc2b2' (2024-03-12)
  → 'github:nixos/nixpkgs/d691274a972b3165335d261cc4671335f5c67de9' (2024-03-14)


Former-commit-id: 3f2ba75a5e
2024-03-16 18:26:14 +01:00
Hadi c6c053585c Secrets, scripts, clean..
Former-commit-id: 5e98256a82
2024-03-15 21:26:34 +01:00
Hadi f3dcd108db Up
Former-commit-id: 05fc3fbcd9
2024-03-14 18:42:15 +01:00
Hadi 8e8bb981e1 Up
Former-commit-id: 77eba6e2c2
2024-03-14 01:30:17 +01:00
Hadi 5000562333 Up
Former-commit-id: d5bd3270f7
2024-03-14 01:05:29 +01:00
Hadi e2aad1b524 Add caffeine
Former-commit-id: 13ae5ad530
2024-03-14 00:10:13 +01:00
Hadi bb383dcddb Up
Former-commit-id: 8bda501d16
2024-03-13 23:32:40 +01:00
Hadi d59434285a Up
Former-commit-id: 6ed623bd6f
2024-03-13 21:56:32 +01:00
Hadi e55f66e4fb Up
Former-commit-id: 3fe2c8913f
2024-03-13 21:38:55 +01:00
Hadi 7c3ff59a0f Add wallpapers
Former-commit-id: a1f05792e4
2024-03-13 19:58:46 +01:00
456 changed files with 3123 additions and 38564 deletions
+5 -1
View File
@@ -1,7 +1,11 @@
keys:
- &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
creation_rules:
- path_regex: secrets/laptop.yaml$
- path_regex: hosts/laptop/secrets/laptop.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/server/secrets/server.yaml$
key_groups:
- age:
- *primary
+48 -43
View File
@@ -1,46 +1,42 @@
[//]: # (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: 06/17/24)
[//]: # (Date: 08/18/24)
[//]: # (Version: v2.0.1)
<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>
<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>
<br>
# Nixy
**Nixy** is a NixOS configuration with home-manager, secrets and custom theming all in one place.
<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.1&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
- [Nixy](#nixy)
- [Table of Content](#table-of-content)
- [Gallery](#gallery)
- [Architecture](#architecture)
@@ -49,19 +45,22 @@ 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
- 🏠 `home` are the dotfiles and configuration files for the users
- '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 like configuration
- 'wallpapers' are... wallpapers
- 💻 `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 that you can copy
- 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
- 'themes' contains all the *themes* available *(see [THEMES.md](docs/THEMES.md))*
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
## Installation
@@ -69,12 +68,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/laptop` 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 your hostname 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
@@ -82,6 +84,9 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
- [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
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers 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
+29 -6
View File
@@ -1,9 +1,14 @@
# APPS
# Apps and services
*non-exhaustive list*
*non-exhaustive lists*
| Category | Software |
|----------------|---------------|
## Laptop
The laptop configuration is used by an 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 |
| | hyprpaper |
@@ -18,7 +23,7 @@
| | eza |
| | zoxide |
| | fzf |
| Editor | neovim(nixvim)|
| Editor | neovim(nixvim) |
| File manager | lf |
| | thunar |
| Browser | qutebrowser |
@@ -30,4 +35,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/)...
+11 -2
View File
@@ -1,10 +1,19 @@
# 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.
- 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 to-do, ...).
- Create a Pull Request against the main branch of Nixy.
> [!TIP]
> When wallpapers are added, run `./docs/scripts/compress_png.sh` and `./docs/scripts/create_preview_wallpapers.sh`
> [!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
+38
View File
@@ -0,0 +1,38 @@
# Keybindings
The list of the keybindings working on Hyprland:
| Description | Keybinding | Command |
| --------------------------- | ---------------------- | ------------------------------------------------------------------ |
| Switch Workspace | SUPER + {Number} | workspace {Number} |
| Move app to Workspace | SUPER SHIFT + {Number} | movetoworkspace {Number} |
| Kitty | SUPER + RETURN | exec \${pkgs.kitty}/bin/kitty |
| Thunar | SUPER + E | exec \${pkgs.xfce.thunar}/bin/thunar |
| Qutebrowser | SUPER + B | exec \${pkgs.qutebrowser}/bin/qutebrowser |
| Bitwarden | SUPER + K | exec \${pkgs.bitwarden}/bin/bitwarden |
| Peaclock | SUPER + C | exec \${pkgs.kitty}/bin/kitty --class peaclock peaclock |
| Lock | SUPER + L | exec \${pkgs.hyprlock}/bin/hyprlock |
| Powermenu | SUPER + X | exec powermenu |
| Launcher | SUPER + SPACE | exec menu |
| Close window | SUPER + Q | killactive |
| Toggle Floating | SUPER + T | togglefloating |
| Toggle Fullscreen | SUPER + F | fullscreen |
| Move focus left | SUPER + left | movefocus l |
| Move focus Right | SUPER + right | movefocus r |
| Move focus Up | SUPER + up | movefocus u |
| Move focus Down | SUPER + down | movefocus d |
| Screenshot window | SUPER + PRINT | exec screenshot window |
| Screenshot monitor | PRINT | exec screenshot monitor |
| Screenshot region | SUPER SHIFT + PRINT | exec screenshot region |
| Screenshot region then edit | ALT PRINT | exec screenshot region swappy |
| Turn off night shift | SUPER + F2 | exec night-shift-off |
| Turn on night shift | SUPER + F3 | exec night-shift-on |
| Choose sound output | SUPER + F5 | exec \${pkgs.kitty}/bin/kitty --class floating zsh -c sound-output |
| Move Window (mouse) | SUPER + mouse:272 | movewindow |
| Resize Window (mouse) | SUPER + R | resizewindow |
| Toggle Mute | XF86AudioMute | exec sound-toggle |
| Lock when closing Lid | switch:Lid Switch | exec \${pkgs.hyprlock}/bin/hyprlock |
| Sound Up | XF86AudioRaiseVolume | exec sound-up |
| Sound Down | XF86AudioLowerVolume | exec sound-down |
| Brightness Up | XF86MonBrightnessUp | exec brightness-up |
| Brightness Down | XF86MonBrightnessDown | exec brightness-down |
+15 -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
@@ -33,6 +39,8 @@ Caffeine is a simple script that toggles hypridle (disable suspend & screenlock)
Blue light filter, using wlsunset
- `night-shift` # Toggle night shift
- `night-shift-status` # Return active/inactive
- `night-shift-on`
- `night-shift-off`
@@ -45,7 +53,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
+41 -7
View File
@@ -1,10 +1,44 @@
# Todolist
- [ ] Installation script
- [ ] Themes
- [ ] MacOS theme
- [ ] Make hyprcursor work
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] Jackflix V2
- Backup Radarr, Prowlarr, Sonarr config
- [ ] Nixy
- [~] Installation script ([install.sh](./scripts/install.sh) to test on a fresh install)
- [~] Variables-template with defaults
- [ ] Themes
- [ ] macOS theme
- [ ] Tofi (Wofi, but terminal based)
- [ ] Qutebrowser
- [ ] !!! Bitwarden integration (I need this.)
- [ ] Hyprland
- [-] Implement Hyprcursor (see home/system/hyprland/hyprcursor.nix: Not working, small cursor on some apps, big one on others)
- [ ] Animations based on app name
- [ ] Wofi: popin
- [ ] Wlogout: fade in
- [ ] Fix screenshots
- [ ] Fix hyprlock
- [ ] Hyprlock tty theme
- [ ] Nixvim
- [ ] Telescope shortcut for file content
- [ ] Markdown snippets
- [ ] Make whichkey better
- [ ] Keymaps:
- Trouble
- Tagbar
- [ ] Disable background color for headlines.nvim for titles
- [ ] Backup system for some folders ($home/dev, $home/pictures, ...)
- [ ] Exclude file pattern (nodes modules, ...)
- [ ] Auto backup when a specific usb key is plugged
- [ ] Pika backup?
- [ ] Markdown to pdf tool
- [ ] 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)
+39
View File
@@ -0,0 +1,39 @@
# Wallpapers
Wallpapers can be found in the `/home/wallpapers` folder.
| Name | Preview |
|---------------------|----------------------------------------------------------------|
| astronaut.png | ![astronaut.png](../home/wallpapers/astronaut.png) |
| aurore.png | ![aurore.png](../home/wallpapers/aurore.png) |
| barcode.png | ![barcode.png](../home/wallpapers/barcode.png) |
| cat-leaves.png | ![cat-leaves.png](../home/wallpapers/cat-leaves.png) |
| city.png | ![city.png](../home/wallpapers/city.png) |
| cloud.png | ![cloud.png](../home/wallpapers/cloud.png) |
| clouds2.png | ![clouds2.png](../home/wallpapers/clouds2.png) |
| clouds.png | ![clouds.png](../home/wallpapers/clouds.png) |
| coffee.png | ![coffee.png](../home/wallpapers/coffee.png) |
| dark_cloud.png | ![dark_cloud.png](../home/wallpapers/dark_cloud.png) |
| dark.png | ![dark.png](../home/wallpapers/dark.png) |
| fuji-dark.png | ![fuji-dark.png](../home/wallpapers/fuji-dark.png) |
| fuji-light.png | ![fuji-light.png](../home/wallpapers/fuji-light.png) |
| galaxy.png | ![galaxy.png](../home/wallpapers/galaxy.png) |
| house-cloud.png | ![house-cloud.png](../home/wallpapers/house-cloud.png) |
| key.png | ![key.png](../home/wallpapers/key.png) |
| lavender-cat.png | ![lavender-cat.png](../home/wallpapers/lavender-cat.png) |
| lofi-computer.png | ![lofi-computer.png](../home/wallpapers/lofi-computer.png) |
| lofi-urban.png | ![lofi-urban.png](../home/wallpapers/lofi-urban.png) |
| magma.png | ![magma.png](../home/wallpapers/magma.png) |
| mountains-black.png | ![mountains-black.png](../home/wallpapers/mountains-black.png) |
| mountains.png | ![mountains.png](../home/wallpapers/mountains.png) |
| nix.png | ![nix.png](../home/wallpapers/nix.png) |
| problems.png | ![problems.png](../home/wallpapers/problems.png) |
| sea.png | ![sea.png](../home/wallpapers/sea.png) |
| see.png | ![see.png](../home/wallpapers/see.png) |
| space2.png | ![space2.png](../home/wallpapers/space2.png) |
| space.png | ![space.png](../home/wallpapers/space.png) |
| street.png | ![street.png](../home/wallpapers/street.png) |
| sun.png | ![sun.png](../home/wallpapers/sun.png) |
| tokyo.png | ![tokyo.png](../home/wallpapers/tokyo.png) |
| train.png | ![train.png](../home/wallpapers/train.png) |
| windows.png | ![windows.png](../home/wallpapers/windows.png) |
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Compress png files in ./docs/src and ./home/wallpapers
[[ -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
# Wallpapers
for file in ./home/wallpapers/*.png; do
optipng "$file"
done
-9
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
-29
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"
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
# Create WALLPAPERS.md to preview wallpapers in ./home/wallpapers
WALLPAPERS_FOLDER="./home/wallpapers"
WALLPAPERS_MD="./docs/WALLPAPERS.md"
[[ -d "$WALLPAPERS_FOLDER" ]] || (echo "Wallpapers folder not found" && exit 1)
echo "# Wallpapers" >"$WALLPAPERS_MD"
echo "" >>"$WALLPAPERS_MD"
echo "Wallpapers can be found in the \`/home/wallpapers\` folder." >>"$WALLPAPERS_MD"
echo "" >>"$WALLPAPERS_MD"
echo "| Name | Preview |" >>"$WALLPAPERS_MD"
echo "| -- | -- |" >>"$WALLPAPERS_MD"
for file in "$WALLPAPERS_FOLDER"/*.png; do
filename=$(basename "$file")
echo "| $filename | ![$filename](../home/wallpapers/$filename) |" >>"$WALLPAPERS_MD"
done
pandoc -t commonmark_x "$WALLPAPERS_MD" -o "/tmp/wallpapers.md"
mv "/tmp/wallpapers.md" "$WALLPAPERS_MD"
+16 -3
View File
@@ -7,8 +7,21 @@
README_FILE="./README.md"
header=$(cat "./docs/src/header.md")
table_of_content=$(~/go/bin/md-table-of-contents ./docs/src/README_template.md)
table_of_content=$(md-table-of-contents ./docs/src/README_template.md) # https://github.com/anotherhadi/md-table-of-contents
version=$(git describe --tags --abbrev=0)
readme_content=$(cat "./docs/src/README_template.md")
description=$(curl -s https://api.github.com/repos/anotherhadi/nixy | jq .description)
description="${description%\"}"
description="${description#\"}"
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}
header=${header//\{description\}/$description}
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"
-10
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
+61
View File
@@ -0,0 +1,61 @@
#!/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.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/default.nix" ]] || (echo "File ./home/system/hyprland/default.nix not found" && exit 1)
config=$(cat "./home/system/hyprland/default.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 "# Keybindings" >"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE"
echo "The list of the keybindings working on Hyprland:" >>"$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 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 | $mod$key |" >>"$KEYBINDINGS_FILE"
done
pandoc -t commonmark_x "$KEYBINDINGS_FILE" -o "/tmp/keybindings.md"
mv "/tmp/keybindings.md" "$KEYBINDINGS_FILE"
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
TAG=$(git describe --tags --abbrev=0)
echo "Current tag: $TAG"
read -rp "Enter the new tag name: " NEW_TAG
echo "Compresing png files..."
bash ./docs/scripts/compress_png.sh
echo "Creating wallpapers preview..."
bash ./docs/scripts/create_preview_wallpapers.sh
echo "Creating README.md..."
bash ./docs/scripts/create_readme.sh
echo "Creating keybindings.md..."
bash ./docs/scripts/create_keybindings.sh
git add .
git commit -m "Release $NEW_TAG"
git tag -a "$NEW_TAG" -m "Release $NEW_TAG"
git push origin "$NEW_TAG"
+23 -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,22 @@ 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
- 🏠 `home` are the dotfiles and configuration files for the users
- '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 like configuration
- 'wallpapers' are... wallpapers
- 💻 `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 that you can copy
- 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
- 'themes' contains all the *themes* available *(see [THEMES.md](docs/THEMES.md))*
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
## Installation
@@ -30,12 +31,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/laptop` 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 your hostname 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
@@ -43,6 +47,9 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
- [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
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers 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

+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: {description})
[//]: # (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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 990 KiB

Generated
+132 -104
View File
@@ -11,11 +11,11 @@
"sf-pro": "sf-pro"
},
"locked": {
"lastModified": 1718062482,
"narHash": "sha256-bGWs6XRVgzm1Uagx/EAnz9wnMQVImR1ZlVpAy+SDXCw=",
"lastModified": 1719591391,
"narHash": "sha256-sVTFewitXIYe5vBihbCFQGdBPdnT26kES1T05umBBnE=",
"owner": "Lyndeno",
"repo": "apple-fonts.nix",
"rev": "eeb3521706bfe21206b1301ff8e0876defa1b6dd",
"rev": "0e21619dad5b0d9ca2e050155e32448380547b06",
"type": "github"
},
"original": {
@@ -24,20 +24,52 @@
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1723920171,
"narHash": "sha256-dVCMrAe+D/5S91erhwQj2DSzHOVzAanWqoy+vPWB9DY=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "71d49670fe246cdaff4860b0effba0ab9f163b72",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"devshell": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1717408969,
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"lastModified": 1722113426,
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
"owner": "numtide",
"repo": "devshell",
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
"type": "github"
},
"original": {
@@ -60,22 +92,6 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -84,11 +100,11 @@
]
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
@@ -120,11 +136,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@@ -153,7 +169,10 @@
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
@@ -165,11 +184,11 @@
]
},
"locked": {
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"lastModified": 1723202784,
"narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"rev": "c7012d0c18567c889b948781bc74a501e92275d1",
"type": "github"
},
"original": {
@@ -207,11 +226,11 @@
]
},
"locked": {
"lastModified": 1718243258,
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
"lastModified": 1723986931,
"narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
"rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671",
"type": "github"
},
"original": {
@@ -228,11 +247,11 @@
]
},
"locked": {
"lastModified": 1718141734,
"narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=",
"lastModified": 1723399884,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"type": "github"
},
"original": {
@@ -257,11 +276,11 @@
]
},
"locked": {
"lastModified": 1717181720,
"narHash": "sha256-yv+QZWsusu/NWjydkxixHC2g+tIJ9v+xkE2EiVpJj6g=",
"lastModified": 1722623071,
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "9e27a2c2ceb1e0b85bd55b0afefad196056fe87c",
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
"type": "github"
},
"original": {
@@ -272,6 +291,7 @@
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
@@ -281,11 +301,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1718359900,
"narHash": "sha256-eVf70Ps7O8R3DEEfSMW54V07kxkRv5IaWMxSa77hMu4=",
"lastModified": 1724014641,
"narHash": "sha256-ub/HCvrxuvvqmnWpNdcyi/mp0G9+rNjtKHrA7cwyuis=",
"ref": "refs/heads/main",
"rev": "b2590b58c51094424a9651d8df37dfab838b5bbb",
"revCount": 4824,
"rev": "f4045ab8d032186b7c5409cd9f05eeaa813320ba",
"revCount": 5109,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -310,11 +330,11 @@
]
},
"locked": {
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"lastModified": 1721326555,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
"type": "github"
},
"original": {
@@ -339,11 +359,11 @@
]
},
"locked": {
"lastModified": 1717881852,
"narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
"lastModified": 1721324361,
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "ec6938c66253429192274d612912649a0cfe4d28",
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
"type": "github"
},
"original": {
@@ -364,11 +384,11 @@
]
},
"locked": {
"lastModified": 1717881334,
"narHash": "sha256-a0inRgJhPL6v9v7RPM/rx1kbXdfe3xJA1c9z0ZkYnh4=",
"lastModified": 1722869141,
"narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "0693f9398ab693d89c9a0aa3b3d062dd61b7a60e",
"rev": "0252fd13e78e60fb0da512a212e56007515a49f7",
"type": "github"
},
"original": {
@@ -389,11 +409,11 @@
]
},
"locked": {
"lastModified": 1717784906,
"narHash": "sha256-YxmfxHfWed1fosaa7fC1u7XoKp1anEZU+7Lh/ojRKoM=",
"lastModified": 1721324119,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0f30f9eca6e404130988554accbb64d1c9ec877d",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
"type": "github"
},
"original": {
@@ -410,11 +430,11 @@
]
},
"locked": {
"lastModified": 1717976995,
"narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=",
"lastModified": 1722924007,
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "315aa649ba307704db0b16c92f097a08a65ec955",
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
"type": "github"
},
"original": {
@@ -425,11 +445,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1718349360,
"narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=",
"lastModified": 1723310128,
"narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6",
"rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf",
"type": "github"
},
"original": {
@@ -457,27 +477,27 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1717880976,
"narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=",
"lastModified": 1721524707,
"narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c",
"rev": "556533a23879fc7e5f98dd2e0b31a6911a213171",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.11",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717974879,
"narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=",
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
@@ -489,11 +509,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1718160348,
"narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=",
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "57d6973abba7ea108bac64ae7629e7431e0199b6",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
@@ -530,14 +550,15 @@
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1718358971,
"narHash": "sha256-8REGUp3RB2/3Q3Ibu00onhj1HyLh/Z8oRU6D3/EQ08w=",
"lastModified": 1724010176,
"narHash": "sha256-26fas5WqF8w1PMrMuJNde4bH6WSXFfRbh+L4krgPOzY=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "e51b8b9b5c91aa49981d78c4aa1ac08a50150103",
"rev": "c52ba6785661f095221aa1e1eb24f57e89d7b2de",
"type": "github"
},
"original": {
@@ -546,27 +567,13 @@
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1718354773,
"narHash": "sha256-p0pjm5l6LOYoEzSMLZv0QSE4vgGwfhkCz7VN58IUjzc=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2fe75ecfd4dd1d2063fcc31ccb5db6d9f2b6b33c",
"type": "github"
},
"original": {
"id": "nur",
"type": "indirect"
}
},
"nurpkgs": {
"locked": {
"lastModified": 1718354773,
"narHash": "sha256-p0pjm5l6LOYoEzSMLZv0QSE4vgGwfhkCz7VN58IUjzc=",
"lastModified": 1724012881,
"narHash": "sha256-lqn4UX+tvtwOmBZ2Dxh6euXKNcXGEYqPolEdjtONDVY=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2fe75ecfd4dd1d2063fcc31ccb5db6d9f2b6b33c",
"rev": "8c7136cb22fd96cde881225863b450df75876ebc",
"type": "github"
},
"original": {
@@ -575,6 +582,28 @@
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1723367906,
"narHash": "sha256-v1qA4WBGDI2uH/TVqRwuXSBP341W681psbzYJ8zrjog=",
"owner": "NuschtOS",
"repo": "search",
"rev": "6ca2c3ae05a915c160512bd41f6810f456c9b30d",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"ny": {
"flake": false,
"locked": {
@@ -595,7 +624,6 @@
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixvim": "nixvim",
"nur": "nur",
"nurpkgs": "nurpkgs",
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix"
@@ -657,11 +685,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1718137936,
"narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=",
"lastModified": 1723501126,
"narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "c279dec105dd53df13a5e57525da97905cc0f0d6",
"rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
"type": "github"
},
"original": {
@@ -757,11 +785,11 @@
]
},
"locked": {
"lastModified": 1718139168,
"narHash": "sha256-1TZQcdETNdJMcfwwoshVeCjwWfrPtkSQ8y8wFX3it7k=",
"lastModified": 1723454642,
"narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "1cb529bffa880746a1d0ec4e0f5076876af931f1",
"rev": "349de7bc435bdff37785c2466f054ed1766173be",
"type": "github"
},
"original": {
@@ -787,11 +815,11 @@
]
},
"locked": {
"lastModified": 1717918856,
"narHash": "sha256-I38bmPLqamvOfVSArd1hhZtkVRAYBK38fOHZCU1P9Qg=",
"lastModified": 1722365976,
"narHash": "sha256-Khdm+mDzYA//XaU0M+hftod+rKr5q9SSHSEuiQ0/9ow=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "72907822c19afc0983c69d59d299204381623725",
"rev": "7f2a77ddf60390248e2a3de2261d7102a13e5341",
"type": "github"
},
"original": {
+25 -6
View File
@@ -26,22 +26,41 @@
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
outputs = inputs@{ nixpkgs, nur, ... }: {
outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = {
nixy = nixpkgs.lib.nixosSystem {
nixy = nixpkgs.lib.nixosSystem { # CHANGE ME
system = "x86_64-linux";
modules = [
./hosts/laptop/configuration.nix
inputs.nixos-hardware.nixosModules.omen-16-n0005ne
./hosts/laptop/configuration.nix # CHANGE ME
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGE ME
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.overlays = [ nur.overlay ];
nixpkgs.overlays = [ inputs.nurpkgs.overlay ];
_module.args = { inherit inputs; };
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users."hadi" = import ./home/laptop.nix; # CHANGE ME
users."hadi" = import ./hosts/laptop/home.nix; # CHANGE ME
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 = [ inputs.nurpkgs.overlay ];
_module.args = { inherit inputs; };
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users."hadi" = import ./hosts/server/home.nix;
extraSpecialArgs = { inherit inputs; };
};
}
-90
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;
}
+6
View File
@@ -0,0 +1,6 @@
{
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
}
+4 -1
View File
@@ -3,7 +3,10 @@
enable = true;
colorschemes.catppuccin = {
enable = true;
settings = { transparent_background = true; };
settings = {
transparent_background = true;
flavour = "mocha";
};
};
};
}
+8 -21
View File
@@ -1,30 +1,17 @@
{ inputs, ... }: {
imports = [
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/none-ls.nix
./plugins/wilder.nix
./plugins/dashboard.nix
./plugins/lsp.nix
./plugins/treesitter.nix
./plugins/toggleterm.nix
./plugins/copilot.nix
./plugins/whichkey.nix
./plugins/alpha.nix
./plugins/keymaps.nix
./plugins/comment.nix
./plugins/oil.nix
./plugins/trouble.nix
./plugins/tmux-navigator.nix
./plugins/noice.nix
./plugins/obsidian.nix
./plugins/markdown.nix
./plugins/tree.nix
./plugins/ui.nix
./plugins/utils.nix
./plugins/zen-mode.nix
./options.nix
./colorscheme.nix
./keymaps.nix
];
}
+24
View File
@@ -0,0 +1,24 @@
{
programs.nixvim.keymaps = [
{
key = "<leader>fm";
action = "<cmd>lua vim.lsp.buf.format()<cr>";
options.desc = "LSP Format";
}
{
key = "<leader>w";
action = "<cmd>set wrap!<cr>";
options.desc = "Toggle word wrapping";
}
{
key = "<leader>W";
action = "<cmd>set linebreak!<cr>";
options.desc = "Toggle linebreak";
}
{
key = "<leader>z";
action = "<cmd>ZenMode<cr>";
options.desc = "ZenMode";
}
];
}
+2 -2
View File
@@ -24,7 +24,7 @@
wildmode = "list:longest";
completeopt = [ "menuone" "noselect" ];
signcolumn = "yes";
cursorline = true;
cursorline = false;
scrolloff = 8;
mouse = "a";
@@ -32,6 +32,6 @@
swapfile = false;
undofile = true;
conceallevel = 2;
conceallevel = 3;
};
}
@@ -1 +0,0 @@
{ programs.nixvim.plugins.nvim-autopairs = { enable = true; }; }
@@ -1 +0,0 @@
{ programs.nixvim.plugins.bufferline = { enable = true; }; }
-1
View File
@@ -1 +0,0 @@
{ programs.nixvim.plugins.comment = { enable = true; }; }
-5
View File
@@ -1,5 +0,0 @@
{
programs.nixvim.plugins.copilot-vim = {
enable = true;
};
}
@@ -71,7 +71,22 @@
type = "button";
val = " NixOs Config";
on_press.__raw =
"function() vim.cmd[[e ${config.var.configDirectory}]] end";
"function() vim.cmd[[Neotree ${config.var.configDirectory}]] 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 =
"function() vim.cmd[[e ${config.var.configDirectory}/docs/KEYBINDINGS.md]] end";
opts = {
shortcut = "nc";
position = "center";
-6
View File
@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.gitsigns = {
enable = true;
settings = { current_line_blame = false; };
};
}
-71
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>";
}
];
}
-1
View File
@@ -1 +0,0 @@
{ programs.nixvim.plugins.lazygit = { enable = true; }; }
-1
View File
@@ -1 +0,0 @@
{ programs.nixvim.plugins.lualine = { enable = true; }; }
+26
View File
@@ -11,6 +11,14 @@
tailwindcss.enable = true;
html.enable = true;
svelte.enable = true;
marksman.enable = true;
ltex = {
enable = false;
settings = {
enabled = false;
language = "en";
};
};
};
keymaps.lspBuf = {
"gd" = "definition";
@@ -20,5 +28,23 @@
"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;
};
};
};
};
}
+133
View File
@@ -0,0 +1,133 @@
{
programs.nixvim.plugins = {
mkdnflow = {
enable = true;
mappings = {
# Main
MkdnEnter = {
key = "<CR>";
modes = [ "n" "v" "i" ];
};
# Links
MkdnCreateLink = false;
MkdnCreateLinkFromClipboard = {
key = "<leader>lc";
modes = [ "n" "v" ];
};
MkdnDestroyLink = {
key = "<leader>dl";
modes = "n";
};
MkdnFollowLink = false;
MkdnNextLink = {
key = "<Tab>";
modes = "n";
};
MkdnYankAnchorLink = {
key = "ya";
modes = "n";
};
MkdnYankFileAnchorLink = {
key = "yfa";
modes = "n";
};
MkdnPrevLink = {
key = "<S-Tab>";
modes = "n";
};
MkdnDecreaseHeading = {
key = "-";
modes = "n";
};
MkdnExtendList = false;
MkdnFoldSection = {
key = "<leader>ff";
modes = "n";
};
MkdnUnfoldSection = {
key = "<leader>fu";
modes = "n";
};
MkdnGoBack = {
key = "<BS>";
modes = "n";
};
MkdnGoForward = {
key = "<Del>";
modes = "n";
};
MkdnIncreaseHeading = {
key = "+";
modes = "n";
};
MkdnMoveSource = {
key = "<F2>";
modes = "n";
};
MkdnNewListItem = false;
MkdnNewListItemAboveInsert = {
key = "O";
modes = "n";
};
MkdnNewListItemBelowInsert = {
key = "o";
modes = "n";
};
MkdnNextHeading = {
key = "]]";
modes = "n";
};
MkdnPrevHeading = {
key = "[[";
modes = "n";
};
MkdnSTab = false;
MkdnTab = false;
MkdnTableFormat = {
key = "<leader>ft";
modes = "n";
};
MkdnTableNewColAfter = {
key = "<leader>ic";
modes = "n";
};
MkdnTableNewColBefore = {
key = "<leader>iC";
modes = "n";
};
MkdnTableNewRowAbove = {
key = "<leader>iR";
modes = "n";
};
MkdnTableNewRowBelow = {
key = "<leader>ir";
modes = "n";
};
MkdnTableNextCell = {
key = "<S-Tab>";
modes = "i";
};
MkdnTableNextRow = false;
MkdnTablePrevCell = {
key = "<M-Tab>";
modes = "i";
};
MkdnTablePrevRow = {
key = "<M-CR>";
modes = "i";
};
MkdnToggleToDo = {
key = "<C-Space>";
modes = [ "n" "v" ];
};
MkdnUpdateNumbering = {
key = "<leader>nn";
modes = "n";
};
};
};
};
}
-1
View File
@@ -1 +0,0 @@
{ programs.nixvim.plugins.noice = { enable = true; }; }
-20
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;
};
};
};
}
-5
View File
@@ -1,5 +0,0 @@
{
programs.nixvim.plugins.neo-tree = {
enable = true;
};
}
-9
View File
@@ -1,9 +0,0 @@
{ config, ... }: {
programs.nixvim.plugins.obsidian = {
enable = config.var.obsidian;
settings = {
dir = "~/nextcloud/Notes";
disable_frontmatter = true;
};
};
}
-6
View File
@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.oil = {
enable = true;
settings = { default_file_explorer = false; };
};
}
-13
View File
@@ -1,13 +0,0 @@
{
programs.nixvim.plugins.telescope = {
enable = true;
keymaps = {
"<leader>fg" = "live_grep";
#"<C-p>" = {
# action = "git_files";
# desc = "Telescope Git Files";
#};
};
extensions.fzf-native = { enable = true; };
};
}
@@ -1 +0,0 @@
{ programs.nixvim.plugins.tmux-navigator = { enable = true; }; }
@@ -1,9 +0,0 @@
{
programs.nixvim.plugins.toggleterm = {
enable = true;
settings = {
open_mapping = "[[<c-t>]]";
direction = "horizontal";
};
};
}
+61
View File
@@ -0,0 +1,61 @@
{
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";
};
};
};
};
keymaps = [
{
key = "-";
action = "<cmd>Oil<cr>";
options.desc = "Oil";
}
{
key = "<leader>e";
action = "<cmd>Oil --float<cr>";
options.desc = "Oil";
}
{
key = "<leader>E";
action = "<cmd>Neotree toggle<cr>";
options.desc = "Neotree";
}
];
};
}
-10
View File
@@ -1,10 +0,0 @@
{
programs.nixvim.plugins = {
treesitter = {
enable = true;
nixGrammars = true;
indent = true;
};
treesitter-context.enable = true;
};
}
-1
View File
@@ -1 +0,0 @@
{ programs.nixvim.plugins.trouble = { enable = true; }; }
+31
View File
@@ -0,0 +1,31 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ ctags ];
programs.nixvim = {
plugins = {
lualine.enable = true;
noice.enable = true;
gitsigns = {
enable = true;
settings.current_line_blame = false;
};
bufferline.enable = true;
trouble.enable = true;
which-key.enable = true;
headlines = {
enable = true;
settings = {
markdown = {
codeblock_highlight = false;
};
};
};
nvim-colorizer.enable = true;
# tagbar.enable = true;
};
keymaps = [{
key = "<leader>t";
action = "<cmd>TroubleToggle<cr>";
options.desc = "Trouble";
}];
};
}
+51
View File
@@ -0,0 +1,51 @@
{ config, ... }: {
programs.nixvim = {
highlightOverride = {
FloatBorder.fg = "#${config.var.theme.colors.accent}";
};
plugins = {
copilot-vim.enable = true;
flash.enable = true;
# image.enable = true;
tmux-navigator.enable = true;
comment.enable = true;
nvim-autopairs.enable = true;
friendly-snippets.enable = true;
telescope = {
enable = true;
keymaps = {
"<leader>fg" = "live_grep";
"<leader> " = "find_files";
};
extensions.fzf-native = { enable = true; };
};
treesitter = {
enable = true;
nixGrammars = true;
settings = {
indent.enable = true;
highlight.enable = true;
};
};
treesitter-context.enable = true;
};
keymaps = [
{
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>";
}
];
};
}
-3
View File
@@ -1,3 +0,0 @@
{
programs.nixvim.plugins.which-key.enable=true;
}
-6
View File
@@ -1,6 +0,0 @@
{
programs.nixvim.plugins.wilder = {
enable = true;
modes = [ ":" "/" "?" ];
};
}
+31
View File
@@ -0,0 +1,31 @@
{
programs.nixvim.plugins.zen-mode = {
enable = true;
settings = {
on_open = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.opt.relativenumber = false
vim.opt.signcolumn = "no"
vim.opt.wrap = true
vim.opt.linebreak = true
end
'';
plugins = {
gitsigns = { enabled = true; };
options = {
enabled = true;
ruler = false;
showcmd = false;
};
tmux = { enabled = true; };
};
window = {
backdrop = 0.95;
height = 1;
options = { signcolumn = "no"; };
width = 0.9;
};
};
};
}
+89 -10
View File
@@ -1,6 +1,82 @@
{ 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": "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": "󰊻"}
]
}
]
}
}
'';
imports = [ ./duckduckgo-colorscheme.nix ./homepage ];
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
# ./userscripts.nix
];
programs.qutebrowser = {
enable = true;
@@ -18,8 +94,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 +115,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 = {
@@ -133,6 +208,8 @@
"dark"; # Enable dark mode for websites that support it
};
statusbar.show = "in-mode";
fonts = { default_family = "${config.var.theme.font}"; };
completion = {
@@ -152,6 +229,7 @@
autoplay = false;
javascript.clipboard = "access";
javascript.enabled = true;
webgl = true;
pdfjs = true;
};
@@ -184,8 +262,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 +";
@@ -256,6 +334,7 @@
config.unbind("gt")
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)
'';
@@ -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>
'';
}
+14
View File
@@ -0,0 +1,14 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
keyutils
python3
python311Packages.pyperclip
python312Packages.tldextract
];
xdg.configFile."qutebrowser/userscripts/bitwarden" = {
source = ./userscripts/qute-bitwarden.py;
executable = true;
};
}
@@ -0,0 +1,291 @@
#!/usr/bin/env python3
# SPDX-FileCopyrightText: Chris Braun (cryzed) <cryzed@googlemail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""
Insert login information using Bitwarden CLI and a dmenu-compatible application
(e.g. dmenu, rofi -dmenu, ...).
"""
USAGE = """The domain of the site has to be in the name of the Bitwarden entry, for example: "github.com/cryzed" or
"websites/github.com". The login information is inserted by emulating key events using qutebrowser's fake-key command in this manner:
[USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms.
If enabled, with the `--totp` flag, it will also move the TOTP code to the
clipboard, much like the Firefox add-on.
You must log into Bitwarden CLI using `bw login` prior to use of this script.
The session key will be stored using keyctl for the number of seconds passed to
the --auto-lock option.
To use in qutebrowser, run: `spawn --userscript qute-bitwarden`
"""
EPILOG = """Dependencies: tldextract (Python 3 module), pyperclip (optional
Python module, used for TOTP codes), Bitwarden CLI (1.7.4 is known to work
but older versions may well also work)
WARNING: The login details are viewable as plaintext in qutebrowser's debug log
(qute://log) and might be shared if you decide to submit a crash report!"""
import argparse
import enum
import functools
import os
import shlex
import subprocess
import sys
import json
import tldextract
argument_parser = argparse.ArgumentParser(
description=__doc__,
usage=USAGE,
epilog=EPILOG,
)
argument_parser.add_argument('url', nargs='?', default=os.getenv('QUTE_URL'))
argument_parser.add_argument('--dmenu-invocation', '-d', default='wofi --dmenu -i',
help='Invocation used to execute a dmenu-provider')
argument_parser.add_argument('--password-prompt-invocation', '-p', default='rofi -dmenu -p "Master Password" -password -lines 0',
help='Invocation used to prompt the user for their Bitwarden password')
argument_parser.add_argument('--no-insert-mode', '-n', dest='insert_mode', action='store_false',
help="Don't automatically enter insert mode")
argument_parser.add_argument('--totp', '-t', action='store_true',
help="Copy TOTP key to clipboard")
argument_parser.add_argument('--io-encoding', '-i', default='UTF-8',
help='Encoding used to communicate with subprocesses')
argument_parser.add_argument('--merge-candidates', '-m', action='store_true',
help='Merge pass candidates for fully-qualified and registered domain name')
argument_parser.add_argument('--auto-lock', type=int, default=900,
help='Automatically lock the vault after this many seconds')
group = argument_parser.add_mutually_exclusive_group()
group.add_argument('--username-only', '-e',
action='store_true', help='Only insert username')
group.add_argument('--password-only', '-w',
action='store_true', help='Only insert password')
group.add_argument('--totp-only', '-T',
action='store_true', help='Only insert totp code')
stderr = functools.partial(print, file=sys.stderr)
class ExitCodes(enum.IntEnum):
SUCCESS = 0
FAILURE = 1
# 1 is automatically used if Python throws an exception
NO_PASS_CANDIDATES = 2
COULD_NOT_MATCH_USERNAME = 3
COULD_NOT_MATCH_PASSWORD = 4
def qute_command(command):
with open(os.environ['QUTE_FIFO'], 'w') as fifo:
fifo.write(command + '\n')
fifo.flush()
def ask_password(password_prompt_invocation):
process = subprocess.run(
shlex.split(password_prompt_invocation),
text=True,
stdout=subprocess.PIPE,
)
if process.returncode > 0:
raise Exception('Could not unlock vault')
master_pass = process.stdout.strip()
return subprocess.check_output(
['bw', 'unlock', '--raw', master_pass],
text=True,
).strip()
def get_session_key(auto_lock, password_prompt_invocation):
if auto_lock == 0:
subprocess.call(['keyctl', 'purge', 'user', 'bw_session'])
return ask_password(password_prompt_invocation)
else:
process = subprocess.run(
['keyctl', 'request', 'user', 'bw_session'],
text=True,
stdout=subprocess.PIPE,
)
key_id = process.stdout.strip()
if process.returncode > 0:
session = ask_password(password_prompt_invocation)
if not session:
raise Exception('Could not unlock vault')
key_id = subprocess.check_output(
['keyctl', 'add', 'user', 'bw_session', session, '@u'],
text=True,
).strip()
if auto_lock > 0:
subprocess.call(['keyctl', 'timeout', str(key_id), str(auto_lock)])
return subprocess.check_output(
['keyctl', 'pipe', str(key_id)],
text=True,
).strip()
def pass_(domain, encoding, auto_lock, password_prompt_invocation):
session_key = get_session_key(auto_lock, password_prompt_invocation)
process = subprocess.run(
['bw', 'list', 'items', '--session', session_key, '--url', domain],
capture_output=True,
)
err = process.stderr.decode(encoding).strip()
if err:
msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain, err)
stderr(msg)
if process.returncode:
return '[]'
out = process.stdout.decode(encoding).strip()
return out
def get_totp_code(selection_id, domain_name, encoding, auto_lock, password_prompt_invocation):
session_key = get_session_key(auto_lock, password_prompt_invocation)
process = subprocess.run(
['bw', 'get', 'totp', '--session', session_key, selection_id],
capture_output=True,
)
err = process.stderr.decode(encoding).strip()
if err:
# domain_name instead of selection_id to make it more user-friendly
msg = 'Bitwarden CLI returned for {:s} - {:s}'.format(domain_name, err)
stderr(msg)
if process.returncode:
return '[]'
out = process.stdout.decode(encoding).strip()
return out
def dmenu(items, invocation, encoding):
command = shlex.split(invocation)
process = subprocess.run(command, input='\n'.join(
items).encode(encoding), stdout=subprocess.PIPE)
return process.stdout.decode(encoding).strip()
def fake_key_raw(text):
for character in text:
# Escape all characters by default, space requires special handling
sequence = '" "' if character == ' ' else r'\{}'.format(character)
qute_command('fake-key {}'.format(sequence))
def main(arguments):
if not arguments.url:
argument_parser.print_help()
return ExitCodes.FAILURE
extract_result = tldextract.extract(arguments.url)
# Try to find candidates using targets in the following order: fully-qualified domain name (includes subdomains),
# the registered domain name and finally: the IPv4 address if that's what
# the URL represents
candidates = []
for target in filter(None, [
extract_result.fqdn,
extract_result.registered_domain,
extract_result.subdomain + '.' + extract_result.domain,
extract_result.domain,
extract_result.ipv4]):
target_candidates = json.loads(
pass_(
target,
arguments.io_encoding,
arguments.auto_lock,
arguments.password_prompt_invocation,
)
)
if not target_candidates:
continue
candidates = candidates + target_candidates
if not arguments.merge_candidates:
break
else:
if not candidates:
stderr('No pass candidates for URL {!r} found!'.format(
arguments.url))
return ExitCodes.NO_PASS_CANDIDATES
if len(candidates) == 1:
selection = candidates.pop()
else:
choices = ['{:s} | {:s}'.format(c['name'], c['login']['username']) for c in candidates]
choice = dmenu(choices, arguments.dmenu_invocation, arguments.io_encoding)
choice_tokens = choice.split('|')
choice_name = choice_tokens[0].strip()
choice_username = choice_tokens[1].strip()
selection = next((c for (i, c) in enumerate(candidates)
if c['name'] == choice_name
and c['login']['username'] == choice_username),
None)
# Nothing was selected, simply return
if not selection:
return ExitCodes.SUCCESS
username = selection['login']['username']
password = selection['login']['password']
totp = selection['login']['totp']
if arguments.username_only:
fake_key_raw(username)
elif arguments.password_only:
fake_key_raw(password)
elif arguments.totp_only:
# No point in moving it to the clipboard in this case
fake_key_raw(
get_totp_code(
selection['id'],
selection['name'],
arguments.io_encoding,
arguments.auto_lock,
arguments.password_prompt_invocation,
)
)
else:
# Enter username and password using fake-key and <Tab> (which seems to work almost universally), then switch
# back into insert-mode, so the form can be directly submitted by
# hitting enter afterwards
fake_key_raw(username)
qute_command('fake-key <Tab>')
fake_key_raw(password)
if arguments.insert_mode:
qute_command('mode-enter insert')
# If it finds a TOTP code, it copies it to the clipboard,
# which is the same behavior as the Firefox add-on.
if not arguments.totp_only and totp and arguments.totp:
# The import is done here, to make pyperclip an optional dependency
import pyperclip
pyperclip.copy(
get_totp_code(
selection['id'],
selection['name'],
arguments.io_encoding,
arguments.auto_lock,
arguments.password_prompt_invocation,
)
)
return ExitCodes.SUCCESS
if __name__ == '__main__':
arguments = argument_parser.parse_args()
sys.exit(main(arguments))
@@ -6,7 +6,6 @@
./zoxide.nix
./tmux.nix
./lazygit.nix
./fetch
./lf
./eza.nix
];
}
+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; [
@@ -39,6 +40,7 @@
set -g @catppuccin_directory_text "#{pane_current_path}"
set -g @catppuccin_status_background "default"
set-option -g default-terminal "screen-256color"
'';
}
];
@@ -1,6 +1,8 @@
{ pkgs, lib, config, ... }: {
home.packages = with pkgs; [ eza bat ripgrep tldr ];
home.packages = with pkgs; [ bat ripgrep tldr ];
home.sessionPath = [ "$HOME/go/bin" ];
programs.zsh = {
enable = true;
@@ -15,6 +17,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 +37,24 @@
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";
neorg =
"cd ~/nextcloud/neorg && vim -c ':ZenMode' -c ':Telescope find_files' index.norg";
notes =
"cd ~/nextcloud/Notes && vim -c ':ZenMode' -c ':Telescope find_files' index.md";
note = "notes";
# git
ga = "git add";
+39
View File
@@ -0,0 +1,39 @@
{
programs.yazi = {
enable = true;
enableZshIntegration = true;
settings = {
log = { enabled = false; };
manager = {
show_hidden = false;
sort_by = "modified";
sort_dir_first = true;
sort_reverse = true;
};
};
theme = {
filetype = {
rules = [
{
fg = "#7AD9E5";
mime = "image/*";
}
{
fg = "#F3D398";
mime = "video/*";
}
{
fg = "#F3D398";
mime = "audio/*";
}
{
fg = "#CD9EFC";
mime = "application/x-bzip";
}
];
};
};
};
}
+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() {
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
while true;do
battery-plugged &
battery-level &
sleep 60
done
}
minute
'';
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 ]; }
+13 -7
View File
@@ -1,9 +1,7 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
homedir = config.home.homeDirectory;
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
[[ -f /tmp/caffeine ]] && echo "active" || echo "inactive"
[[ -f /tmp/caffeine ]] && echo "1" || echo "0"
'';
caffeine = pkgs.writeShellScriptBin "caffeine" ''
@@ -16,8 +14,16 @@ 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 ]; }
caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
status=$(caffeine-status)
if [[ $status == "1" ]]; then
echo "󰅶"
else
echo "󰾪"
fi
'';
in { home.packages = [ caffeine-status caffeine caffeine-status-icon ]; }
+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;
};
}
File diff suppressed because it is too large Load Diff
+37 -7
View File
@@ -1,20 +1,50 @@
{ 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 = pkgs.writeShellScriptBin "night-shift" ''
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
'';
night-shift-status-icon =
pkgs.writeShellScriptBin "night-shift-status-icon" ''
if [[ $(pgrep wlsunset) ]]; then
echo "󰖔"
else
echo "󰖕"
fi
'';
in {
home.packages = [
night-shift-on
night-shift-off
night-shift
night-shift-status
night-shift-status-icon
];
}
+47 -22
View File
@@ -1,32 +1,57 @@
{ 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" ''
function ui(){
DEFAULT_ICON="󰘳"
# "icon;name;command"[]
apps=(
";Rebuild;nixy rebuild"
";Upgrade;nixy upgrade"
";Update;nixy update"
";Collect Garbage;nixy gc"
";Clean Boot Menu;nixy cb"
)
# 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
'';
nixy-gc = pkgs.writeShellScriptBin "nixy-gc" ''
elif [[ $1 == "gc" ]];then
cd ${config.var.configDirectory} && sudo nix-collect-garbage -d
'';
nixy-cb = pkgs.writeShellScriptBin "nixy-cb" ''
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
];
}
in { 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 ]; }
+2 -2
View File
@@ -5,8 +5,8 @@
services.dunst = {
enable = true;
iconTheme = {
name = "Adwaita-Dark";
package = pkgs.gnome.adwaita-icon-theme;
name = "Moka";
package = pkgs.moka-icon-theme;
};
settings = {
global = {

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