491 Commits

Author SHA1 Message Date
Hadi 31cb1fd0f2 Release v2.3.0
Former-commit-id: 90e8d5577e
2024-08-28 12:30:52 +02:00
Hadi 647236f7b0 Fetch the gtk flatcolor theme folder from github
Former-commit-id: 835a9e9da2
2024-08-28 12:30:04 +02:00
Hadi 43566fc4ae Update
Former-commit-id: 3c171c33be
2024-08-28 11:43:03 +02:00
Hadi 682c50793c Update
Former-commit-id: aa8fca0bed
2024-08-26 17:48:05 +02:00
Hadi 2958b5a03c Update
Former-commit-id: 1255919f41
2024-08-24 17:09:12 +02:00
Hadi 2b25d18bd5 update
Former-commit-id: 109f31151d
2024-08-23 11:42:33 +02:00
Hadi 248f9a5ba8 update
Former-commit-id: 3c3acd03b4
2024-08-23 11:28:15 +02:00
Hadi 89ff802e16 update
Former-commit-id: 65c95ac82a
2024-08-23 11:28:07 +02:00
Hadi 13643dc1bc update
Former-commit-id: 776095c817
2024-08-23 11:25:23 +02:00
Hadi 188ef240ae update
Former-commit-id: d36952e040
2024-08-23 11:23:16 +02:00
Hadi a8c1b6363d update
Former-commit-id: ae0480cab3
2024-08-23 10:59:21 +02:00
Hadi 8aaa6199f2 update
Former-commit-id: bd8e69fe44
2024-08-23 10:58:07 +02:00
Hadi 4cd544d59f update
Former-commit-id: ddeaf0170d
2024-08-23 10:56:42 +02:00
Hadi c9a4f2115d update
Former-commit-id: f27b66f878
2024-08-23 10:52:35 +02:00
Hadi 395efb8ef1 update
Former-commit-id: 574b0043ac
2024-08-23 10:52:11 +02:00
Hadi 1280370a0a update
Former-commit-id: fbd804939f
2024-08-23 10:51:31 +02:00
Hadi f9bcfb5b50 update
Former-commit-id: cfa4e187c5
2024-08-23 10:31:25 +02:00
Hadi 3244b2d7e0 update
Former-commit-id: b1d3094bcc
2024-08-23 10:25:43 +02:00
Hadi eff0846c0f update
Former-commit-id: 1f7ca17d94
2024-08-23 10:12:00 +02:00
Hadi e2a10d4067 update
Former-commit-id: d939bc6f53
2024-08-23 10:11:07 +02:00
Hadi 39a1d16701 update
Former-commit-id: 3419421098
2024-08-23 10:09:02 +02:00
Hadi adbe7f3295 Update
Former-commit-id: d816099985
2024-08-22 21:02:14 +02:00
Hadi d67f234b2b update
Former-commit-id: 28424b82ab
2024-08-22 16:28:08 +02:00
Hadi 14a3a77c9e update
Former-commit-id: 771dceeb06
2024-08-22 16:11:48 +02:00
Hadi 0a1f505dd1 update
Former-commit-id: a2d4d36289
2024-08-22 16:07:39 +02:00
Hadi c6b1af26ce update
Former-commit-id: e4fce0a17a
2024-08-22 16:06:44 +02:00
Hadi 4a42f1fc91 update
Former-commit-id: 88a8168ce2
2024-08-22 16:02:10 +02:00
Hadi 612a8f6d33 update
Former-commit-id: 58d809d860
2024-08-22 15:41:28 +02:00
Hadi e7b608ecc4 update
Former-commit-id: 4b3f43e402
2024-08-22 15:32:46 +02:00
Hadi bfe270b6e1 update
Former-commit-id: bbe0574051
2024-08-22 15:28:47 +02:00
Hadi e5f82cdb2d Update
Former-commit-id: 3ef71b9fa2
2024-08-22 15:25:32 +02:00
Hadi d705c8cecc Update
Former-commit-id: a240a76a8e
2024-08-20 15:27:18 +02:00
Hadi f2613218db Update
Former-commit-id: d254085e29
2024-08-20 00:17:10 +02:00
Hadi 2099c4636c Update
Former-commit-id: ac2223ad24
2024-08-19 22:50:30 +02:00
Hadi 8cf93bfbc8 Update
Former-commit-id: 8092a2d348
2024-08-19 22:28:49 +02:00
Hadi b2dca45c34 Update
Former-commit-id: c434816d83
2024-08-19 22:20:59 +02:00
Hadi 403e4e1967 Update
Former-commit-id: 9e8637e9a8
2024-08-19 21:09:21 +02:00
Hadi 7ef771f14e Update
Former-commit-id: d1896b626b
2024-08-19 20:40:29 +02:00
Hadi acb7db87df Release v2.2.0
Former-commit-id: e6f66110f0
2024-08-19 20:32:10 +02:00
Hadi 0f5b7f60b6 Update
Former-commit-id: caaa500232
2024-08-19 19:42:20 +02:00
Hadi d7264b0de1 Update
Former-commit-id: e27d43df71
2024-08-19 19:41:24 +02:00
Hadi 23b518381a Update
Former-commit-id: 79a69d245c
2024-08-19 19:36:21 +02:00
Hadi 8876aae16c Update
Former-commit-id: 849eb5dd11
2024-08-19 00:38:27 +02:00
Hadi 0ed5d1cf04 Update
Former-commit-id: 31ac58592e
2024-08-19 00:15:43 +02:00
Hadi 83decac5e9 Update
Former-commit-id: b9fda769bc
2024-08-18 23:57:00 +02:00
Hadi 9104494893 Update
Former-commit-id: 94c88e04f2
2024-08-18 23:56:48 +02:00
Hadi 10d1a73eeb Update
Former-commit-id: 9d74ac9d82
2024-08-18 23:52:21 +02:00
Hadi 307c0b5edd Update
Former-commit-id: a64c79ae22
2024-08-18 23:43:17 +02:00
Hadi 321914861f Release v2.1.0
Former-commit-id: a134abdea3
2024-08-18 23:40:47 +02:00
Hadi b851c527af Update
Former-commit-id: 957b148656
2024-08-18 23:29:31 +02:00
Hadi 69f1aa3072 Update
Former-commit-id: 7fab715859
2024-08-18 23:29:08 +02:00
Hadi aeaee053c4 Update
Former-commit-id: 246b5b6c8e
2024-08-11 12:02:11 +02:00
Hadi 7632e82867 Update
Former-commit-id: a318562aa7
2024-08-10 13:28:07 +02:00
Hadi ffbb5eb322 Update
Former-commit-id: 4ec671e6b4
2024-08-02 20:53:58 +02:00
Hadi fe6288d42c Update
Former-commit-id: e3f4493865
2024-07-29 19:34:43 +02:00
Hadi f54ec0a5ab Update
Former-commit-id: 5c5a2796f6
2024-07-25 23:23:11 +02:00
Hadi 768b475183 Update
Former-commit-id: a7bd5ad28b
2024-07-24 23:38:16 +02:00
Hadi 0643968e77 Update
Former-commit-id: 830dc909e2
2024-07-22 22:32:10 +02:00
Hadi 18a17abad4 Update
Former-commit-id: 351dc0ebb3
2024-07-22 21:49:19 +02:00
Hadi c4b19710ef Update
Former-commit-id: aff363f37d
2024-07-21 22:20:55 +02:00
Hadi 1beb1be29c Update
Former-commit-id: fdd41cf848
2024-07-19 13:03:34 +02:00
Hadi 621520e9e8 Update
Former-commit-id: 308cbfcb19
2024-07-13 12:04:41 +02:00
Hadi f030f9b6ed Update
Former-commit-id: 1dc5190c43
2024-07-11 16:07:04 +02:00
Hadi f6c5f90a75 Update
Former-commit-id: 8412b4dd93
2024-07-09 16:20:53 +02:00
Hadi 3ad6f353b6 Update
Former-commit-id: 04d2e91dd5
2024-07-09 15:01:41 +02:00
Hadi debc426717 Update
Former-commit-id: 70459117ed
2024-07-09 14:16:50 +02:00
Hadi 0e6f7110e4 Update
Former-commit-id: 87ee1c7738
2024-07-09 14:00:14 +02:00
Hadi af3b9fcd6e Update
Former-commit-id: 0509eba07f
2024-07-09 13:41:42 +02:00
Hadi 8e5df9ff90 Update
Former-commit-id: 9142814f8f
2024-07-09 12:05:04 +02:00
Hadi 7e1eaf33af Update
Former-commit-id: 33a9386356
2024-07-09 11:44:32 +02:00
Hadi 6a12e7cde9 Update
Former-commit-id: fb73cce28a
2024-07-09 11:12:41 +02:00
Hadi 9a4fb9fd61 Update
Former-commit-id: e0c24bf068
2024-07-09 09:47:29 +02:00
Hadi c77dd39a98 Update
Former-commit-id: 8e63ef0b46
2024-07-09 09:38:51 +02:00
Hadi a0a7d5755a Merge branch 'main' of github.com:anotherhadi/nixy
Update


Former-commit-id: e107b25a2f
2024-07-09 09:33:49 +02:00
Hadi 5efa224a57 Update
Former-commit-id: 841f9625e9
2024-07-09 09:33:21 +02:00
Hadi 61e195d134 update
Former-commit-id: ddddd3b4a4
2024-07-08 07:45:56 +00:00
Hadi 5b2c6db769 Update
Former-commit-id: a73a50aa1f
2024-07-06 00:37:24 +02:00
Hadi c6fee1ccd6 Update
Former-commit-id: cd7db37ccd
2024-07-06 00:35:41 +02:00
Hadi 60652a60df Update
Former-commit-id: 9931071846
2024-07-05 14:56:19 +02:00
Hadi b41f3576c9 Update
Former-commit-id: de4347765c
2024-07-05 10:16:16 +02:00
Hadi edacf85795 Update
Former-commit-id: 5bee2d6931
2024-07-05 09:20:58 +02:00
Hadi 7dd9f021f0 Update
Former-commit-id: 7dc7cfcaba
2024-07-05 09:09:43 +02:00
Hadi ce4da71c70 Update
Former-commit-id: a8d37c3fcd
2024-07-05 08:49:18 +02:00
Hadi 0380714faa Update
Former-commit-id: fa6d5d50bd
2024-07-02 12:18:49 +02:00
Hadi 2b7d962b27 update
Former-commit-id: fdff88cc9d
2024-07-01 13:15:24 +00:00
Hadi 11f73f74ff nixvim refactor
Former-commit-id: 55caf123df
2024-07-01 13:07:12 +00:00
Hadi 8cc101b169 Update
Former-commit-id: 88ae1d29a5
2024-07-01 13:04:32 +02:00
Hadi 0bd30d921b update todos
Former-commit-id: 51739ac610
2024-07-01 08:41:07 +00:00
Hadi fe238ca49a update
Former-commit-id: 76a6f6cd6e
2024-07-01 08:34:04 +00:00
Hadi 527a22c37b update
Former-commit-id: 7ef2c71725
2024-07-01 08:32:49 +00:00
Hadi e1ad72405f update
Former-commit-id: 81574fd7bc
2024-07-01 08:31:12 +00:00
Hadi 985a8b063d Add wallpapers
Former-commit-id: ba9dde2c1a
2024-07-01 10:13:17 +02:00
Hadi 66677bc08e update
Former-commit-id: 93837b6bea
2024-06-30 18:01:52 +02:00
Hadi f3434352d2 Update
Former-commit-id: 8b76bf48a6
2024-06-30 17:59:39 +02:00
Hadi 65b82b3609 update
Former-commit-id: c80ddff8eb
2024-06-30 17:46:32 +02:00
Hadi c3e544248f update
Former-commit-id: c4d436b434
2024-06-30 17:42:09 +02:00
Hadi 6a33d7ac72 update
Former-commit-id: dae8755b59
2024-06-30 17:35:58 +02:00
Hadi 9b8c5b9b19 Update
Former-commit-id: 7c0216b1fb
2024-06-30 17:32:42 +02:00
Hadi 130415e809 Update
Former-commit-id: 40ffce6605
2024-06-29 00:18:07 +02:00
Hadi 52a029e998 Update
Former-commit-id: 56c2c41b68
2024-06-28 16:35:49 +02:00
Hadi d1a8286a21 Update
Former-commit-id: 06f5e03e66
2024-06-28 16:32:52 +02:00
Hadi 78bccf2c7e Update
Former-commit-id: 921c359693
2024-06-28 15:02:53 +02:00
Hadi 4290cc3c35 update
Former-commit-id: 1f35859f2c
2024-06-28 14:35:35 +02:00
Hadi 8f70b0d26b Update
Former-commit-id: 71f405e633
2024-06-28 01:24:27 +02:00
Hadi d9580c1dff update
Former-commit-id: 84b645e181
2024-06-28 01:11:49 +02:00
Hadi 763fa5e549 update
Former-commit-id: 5857299c20
2024-06-28 01:10:09 +02:00
Hadi 0c68ac35b5 update
Former-commit-id: ec24cde14f
2024-06-28 01:07:53 +02:00
Hadi 3ed7128cc4 update
Former-commit-id: 3f79044a2a
2024-06-28 01:07:24 +02:00
Hadi d7f34d9f0e Update
Former-commit-id: cf6ea202e1
2024-06-28 00:58:12 +02:00
Hadi 826fd6aaaf Update
Former-commit-id: 84f87f9833
2024-06-27 19:42:08 +02:00
Hadi 1fba2d19b3 Update
Former-commit-id: ae6818ed65
2024-06-27 18:32:17 +02:00
Hadi d92bbe59a6 update
Former-commit-id: cd7b35389e
2024-06-27 09:49:24 +00:00
Hadi edc0243200 update
Former-commit-id: c8c81e20ae
2024-06-27 09:20:44 +00:00
Hadi 27ac4008f8 golang bin to $PATH
Former-commit-id: 2972b4238c
2024-06-27 08:45:21 +00:00
Hadi 9dc7b851f5 update
Former-commit-id: b35d35f3d5
2024-06-27 08:42:42 +00:00
Hadi 4a2d941991 update
Former-commit-id: bde31a4934
2024-06-27 08:32:24 +00:00
Hadi a62c549e8f update
Former-commit-id: 170287e948
2024-06-27 08:31:28 +00:00
Hadi 7232c54382 create keybindings doc
Former-commit-id: 5d14ec00b5
2024-06-27 08:24:13 +00:00
Hadi 25067c9d06 Merge branch 'main' of https://github.com/anotherhadi/nixy
Former-commit-id: f6209d0754
2024-06-27 07:50:31 +00:00
Hadi be8b1b696c update todo
Former-commit-id: 9e906c161a
2024-06-27 07:46:24 +00:00
Hadi 885f18806e Update
Former-commit-id: 071ce93f11
2024-06-27 00:11:54 +02:00
Hadi b9ebf59fea Update
Former-commit-id: a9939a0f54
2024-06-27 00:10:09 +02:00
Hadi ba007b4710 Update
Former-commit-id: 9cf68648eb
2024-06-26 22:18:39 +02:00
Hadi 1d8bc979c3 Update
Former-commit-id: 652377bd9b
2024-06-26 22:17:03 +02:00
Hadi a7197e360e Update
Former-commit-id: dd9c61b9ff
2024-06-26 22:13:14 +02:00
Hadi 878754ad8b update
Former-commit-id: c00458c02a
2024-06-26 21:30:04 +02:00
Hadi 4a08e654e0 Update
Former-commit-id: 1df0f31dbc
2024-06-26 21:19:04 +02:00
Hadi 5d94699990 add md-table-of-contents source
Former-commit-id: 6a8382c79e
2024-06-26 14:46:22 +00:00
Hadi d98468a34d update
Former-commit-id: 1ed7675095
2024-06-26 14:44:08 +00:00
Hadi 5f73e46e73 Update
Former-commit-id: 57cab5fa52
2024-06-26 12:31:58 +02:00
Hadi 674ef50ac9 update
Former-commit-id: 3cfb9e733a
2024-06-26 10:32:58 +02:00
Hadi d276202288 Update
Former-commit-id: bb4617160c
2024-06-25 22:22:26 +02:00
Hadi 9b31f3be8d update
Former-commit-id: 80f8ca3e9a
2024-06-25 22:20:17 +02:00
Hadi 24d0f22f8e Update
Former-commit-id: c618feced4
2024-06-25 21:57:24 +02:00
Hadi 13cf7cd494 Update
Former-commit-id: 6f6c8bebf7
2024-06-25 18:10:20 +02:00
Hadi 65c430318f Update
Former-commit-id: 6d0855ce44
2024-06-25 18:02:38 +02:00
Hadi b4e6f9d48c update
Former-commit-id: 32af0cf534
2024-06-25 11:57:53 +02:00
Hadi a024023c43 init keybindings.md
Former-commit-id: 0b4f2d6970
2024-06-25 11:47:15 +02:00
Hadi 6edf2cd0b9 install script test
Former-commit-id: b4947a61c5
2024-06-25 11:39:34 +02:00
Hadi d2b3e6b430 up
Former-commit-id: 4e5cdbbac5
2024-06-25 09:49:11 +02:00
Hadi b5476da7ef version pull
Former-commit-id: c0a0afd077
2024-06-25 09:26:10 +02:00
Hadi 9c1afd279c Update TODO.md
Former-commit-id: e047f99306
2024-06-24 22:31:49 +02:00
Hadi f998316b9e rearrange folders
Former-commit-id: fbb6fe70ff
2024-06-24 21:18:20 +02:00
Hadi fea1eade7f Change notification system
Former-commit-id: 3b84f735ee
2024-06-24 21:13:22 +02:00
Hadi 2517219f4c Fix
Former-commit-id: 1cdfe8e278
2024-06-24 20:44:09 +02:00
Hadi c5d95b14ea Update TODO.md
Former-commit-id: 1eb830a97c
2024-06-24 16:37:59 +02:00
Hadi 0a7befb23b todo update
Former-commit-id: ec924af562
2024-06-24 14:35:46 +02:00
Hadi 41116fb2b5 update
Former-commit-id: 5d47643320
2024-06-24 11:05:38 +02:00
Hadi cf2f5f2f9b Update
Former-commit-id: 282c04af67
2024-06-24 00:40:05 +02:00
Hadi 35ba84724f Update
Former-commit-id: 7397237149
2024-06-24 00:33:36 +02:00
Hadi 2151fc6f90 Update
Former-commit-id: 1a4ff5e542
2024-06-24 00:17:07 +02:00
Hadi 45ed8258ca Update
Former-commit-id: 0cec3f04d2
2024-06-24 00:12:53 +02:00
Hadi ffc95dcd1b Update
Former-commit-id: 87ae5dd36f
2024-06-24 00:10:35 +02:00
Hadi 2c68166067 update
Former-commit-id: 2e31e74d92
2024-06-23 23:51:07 +02:00
Hadi ae83c7497a update
Former-commit-id: 0922357af2
2024-06-23 23:47:31 +02:00
Hadi 03c675cf62 update
Former-commit-id: 1d298c60d5
2024-06-23 23:43:47 +02:00
Hadi a4d8670563 update
Former-commit-id: d5aa5b1a49
2024-06-23 23:32:18 +02:00
Hadi 0114b629e6 update
Former-commit-id: 469f903657
2024-06-23 20:11:35 +02:00
Hadi 7f4280af72 update
Former-commit-id: ae95a1b457
2024-06-23 20:10:15 +02:00
Hadi e7b4080c2a update
Former-commit-id: 101712c8bb
2024-06-23 19:59:53 +02:00
Hadi c541832066 update
Former-commit-id: 5dce9af547
2024-06-23 19:54:21 +02:00
Hadi 8b57bffcd6 update
Former-commit-id: d215570fea
2024-06-23 18:35:16 +02:00
Hadi 7a4e3ad1a3 update
Former-commit-id: aa7801b04f
2024-06-23 18:32:04 +02:00
Hadi 7a2c2c6201 update
Former-commit-id: d1789906a2
2024-06-23 18:28:15 +02:00
Hadi a8c0fdb670 update
Former-commit-id: a4f74f5fe7
2024-06-23 18:26:25 +02:00
Hadi 5ce310fe6d update
Former-commit-id: afd56d878e
2024-06-23 18:24:30 +02:00
Hadi 89818e9ee2 update
Former-commit-id: 12ebcadd71
2024-06-23 17:53:09 +02:00
Hadi d943b85cc9 update
Former-commit-id: c5420f8d3a
2024-06-23 17:52:19 +02:00
Hadi 8eaa78bf4b Update
Former-commit-id: f8786dd24f
2024-06-23 17:32:18 +02:00
Hadi 82d6c29f21 Update
Former-commit-id: caee38f568
2024-06-23 15:48:52 +02:00
Hadi 72a8aa16bb Update
Former-commit-id: 487d81ff86
2024-06-23 15:14:29 +02:00
Hadi 5c9b799afe Update
Former-commit-id: 4046038cf2
2024-06-23 14:53:23 +02:00
Hadi eb584dac56 Update
Former-commit-id: e9a5a9e574
2024-06-23 14:52:35 +02:00
Hadi 2fd610a09c Update
Former-commit-id: 98f708d693
2024-06-23 14:50:06 +02:00
Hadi 8eb88f474a Update
Former-commit-id: 66cd92d740
2024-06-23 14:47:22 +02:00
Hadi f73291c269 Update
Former-commit-id: 2b5813057c
2024-06-23 14:46:11 +02:00
Hadi e93e5807f9 Update
Former-commit-id: bbb35737c2
2024-06-23 14:45:51 +02:00
Hadi 6d0a2e186b Update
Former-commit-id: 1efdadbdad
2024-06-23 14:23:36 +02:00
Hadi c2a700ef3a Update
Former-commit-id: 9f98ec2a52
2024-06-23 14:22:01 +02:00
Hadi 7b0deaf9c1 Update
Former-commit-id: 6f8c9d7836
2024-06-23 14:19:45 +02:00
Hadi 98d1ccb2c0 Add remote rebuild (server)
Former-commit-id: d1f5aa6dfa
2024-06-23 13:53:01 +02:00
Hadi e6f46e1788 Update
Former-commit-id: 54eb13bc40
2024-06-23 13:46:07 +02:00
Hadi e6c2becccb Update
Former-commit-id: f29e68ef63
2024-06-23 13:36:37 +02:00
Hadi cfc9f99c83 Update
Former-commit-id: 8260c9d554
2024-06-21 15:49:16 +02:00
Hadi 3c43b277b7 Update
Former-commit-id: ec5b132e17
2024-06-21 15:48:37 +02:00
Hadi 64f789e52a Update
Former-commit-id: 45c0175d72
2024-06-21 15:25:14 +02:00
Hadi 9ab4dae87b Update
Former-commit-id: 154c21859d
2024-06-21 13:58:14 +02:00
Hadi f2b742e470 Update
Former-commit-id: d100690333
2024-06-21 13:45:59 +02:00
Hadi a3f44fa53c Update
Former-commit-id: 9fd64e9f04
2024-06-21 13:44:56 +02:00
Hadi 91d06ef6a4 Update
Former-commit-id: 909c32fef8
2024-06-21 13:42:14 +02:00
Hadi b9df9861fc Update
Former-commit-id: feea4f5ad9
2024-06-21 13:14:54 +02:00
Hadi 049e2a9214 Update
Former-commit-id: 1ce9d2e46f
2024-06-20 18:04:50 +02:00
Hadi 78bb7ff465 Update
Former-commit-id: ae48fb8605
2024-06-20 17:43:20 +02:00
Hadi 8e04a559b9 Update
Former-commit-id: 636d921341
2024-06-20 17:34:56 +02:00
Hadi aa3f3e2269 Update
Former-commit-id: fa7ec583b6
2024-06-20 17:33:40 +02:00
Hadi bcc505f5dd Update
Former-commit-id: a723bd6087
2024-06-20 17:30:14 +02:00
Hadi f0617924b0 Update
Former-commit-id: 3950c68160
2024-06-20 17:08:25 +02:00
Hadi 14c33a8191 Update
Former-commit-id: 4653a9e86f
2024-06-20 16:39:59 +02:00
Hadi fcd92d0155 Update
Former-commit-id: 9e191c76eb
2024-06-20 16:32:27 +02:00
Hadi 9d73c644a7 Update
Former-commit-id: 2996ca0d12
2024-06-20 15:43:04 +02:00
Hadi c5c0fdc7cc Update
Former-commit-id: c7beef1880
2024-06-20 15:41:54 +02:00
Hadi 42d7b8b820 Update
Former-commit-id: 1a3c28f69a
2024-06-20 15:35:06 +02:00
Hadi 2983dd6270 Update
Former-commit-id: 597f88adab
2024-06-20 15:33:42 +02:00
Hadi 7d684153a9 Update
Former-commit-id: 85a4a4ad2a
2024-06-20 15:31:01 +02:00
Hadi bc26eb05a7 Update
Former-commit-id: e078d81b51
2024-06-20 15:29:25 +02:00
Hadi ec38767570 Update
Former-commit-id: b676e1bdbb
2024-06-20 15:27:32 +02:00
Hadi 5340cfeb84 Update
Former-commit-id: 83252b0da5
2024-06-20 15:16:28 +02:00
Hadi 734e310f28 Update
Former-commit-id: 56b09db387
2024-06-20 15:13:02 +02:00
Hadi e388cc7556 Update
Former-commit-id: 6f998c79ab
2024-06-20 15:07:15 +02:00
Hadi 0263e08415 Update
Former-commit-id: 4bec772eb2
2024-06-20 12:10:00 +02:00
Hadi 65f8fcc926 Update
Former-commit-id: 5bdbfb3a5f
2024-06-20 12:09:20 +02:00
Hadi 59a3c1d4de Update
Former-commit-id: 0cc6e18f3d
2024-06-20 11:45:19 +02:00
Hadi 206d4d7433 Update
Former-commit-id: f9bd98bc58
2024-06-20 11:42:57 +02:00
Hadi 8c8833b26e Update
Former-commit-id: 81e72e574d
2024-06-20 11:41:28 +02:00
Hadi 392a3e4998 Update
Former-commit-id: fe393e3c2a
2024-06-20 11:38:53 +02:00
Hadi 76a423a964 Update
Former-commit-id: e0803c6bd5
2024-06-20 11:31:02 +02:00
Hadi 63c19a0c61 Update
Former-commit-id: f761b8c66a
2024-06-20 11:27:41 +02:00
Hadi f3f4689cc8 Update
Former-commit-id: 01b056d4cb
2024-06-20 11:25:35 +02:00
Hadi 2050efbfbf Update
Former-commit-id: 73ac8d8188
2024-06-20 11:24:41 +02:00
Hadi 8d5734b739 Update TODO.md
Former-commit-id: b90999d5b6
2024-06-20 09:39:02 +02:00
Hadi f23897d7d8 Update TODO.md
Former-commit-id: 365fab9659
2024-06-20 02:47:27 +02:00
Hadi 22b00bf301 Update
Former-commit-id: a0c5bd962b
2024-06-20 02:45:24 +02:00
Hadi 76355d3ca1 Fix
Former-commit-id: b796117725
2024-06-20 01:55:49 +02:00
Hadi 14b29a6588 Update
Former-commit-id: 1b4cd64024
2024-06-20 01:31:30 +02:00
Hadi 5eafcf5b76 Update
Former-commit-id: 8ec1744969
2024-06-20 01:23:20 +02:00
Hadi 9c43d22eb1 Update
Former-commit-id: b44a2e17f9
2024-06-20 00:25:10 +02:00
Hadi 06428958dd Update
Former-commit-id: de9b1de37c
2024-06-20 00:17:59 +02:00
Hadi 0d84783032 Update
Former-commit-id: e94276c144
2024-06-20 00:15:18 +02:00
Hadi 25af8d6213 Update
Former-commit-id: 0114f7281b
2024-06-20 00:14:15 +02:00
Hadi e3549ce9e5 Update
Former-commit-id: 5db186ba9b
2024-06-20 00:07:23 +02:00
Hadi 1d859e5c13 Update
Former-commit-id: eec2b56fcd
2024-06-20 00:06:06 +02:00
Hadi 4ef84d1f8d Update
Former-commit-id: 265651c931
2024-06-19 23:59:20 +02:00
Hadi ed791eb748 Update
Former-commit-id: 7e5c45d406
2024-06-19 23:53:17 +02:00
Hadi 5c6acc2028 Update
Former-commit-id: ae9ffdf2a8
2024-06-19 23:52:10 +02:00
Hadi a9dc177a34 Update
Former-commit-id: 325f8e9d15
2024-06-19 23:51:36 +02:00
Hadi ef32063715 Update
Former-commit-id: 29905a460b
2024-06-19 23:49:03 +02:00
Hadi bdaa52dedc Update
Former-commit-id: 92e8eb8983
2024-06-19 23:48:36 +02:00
Hadi c5d7ba76c7 Update
Former-commit-id: cafce8e7c9
2024-06-19 23:47:35 +02:00
Hadi 358e8c9158 Update
Former-commit-id: 21482d4a44
2024-06-19 23:45:03 +02:00
Hadi d1dd841da8 Update
Former-commit-id: 1b3cc99197
2024-06-19 23:42:42 +02:00
Hadi 8137ebfd99 Update
Former-commit-id: adecf1bc29
2024-06-19 23:39:30 +02:00
Hadi cc45eda3ef Update
Former-commit-id: a272a038f1
2024-06-19 23:38:04 +02:00
Hadi 8415d92264 Update
Former-commit-id: a6d3e17135
2024-06-19 23:32:31 +02:00
Hadi 17d95716b6 Update
Former-commit-id: 0e291d3388
2024-06-19 23:28:50 +02:00
Hadi 6db2fc373d Update
Former-commit-id: c852176e0d
2024-06-19 23:28:13 +02:00
Hadi ebbf404c68 Update
Former-commit-id: ad339a19a6
2024-06-19 23:23:29 +02:00
Hadi 9fc328f675 Update
Former-commit-id: aad8b9d8e6
2024-06-19 23:21:24 +02:00
Hadi ba489aaea3 Update
Former-commit-id: debb139aeb
2024-06-19 23:20:49 +02:00
Hadi 67ec1dd41f Update
Former-commit-id: 939597dd90
2024-06-19 23:15:52 +02:00
Hadi ae50fc36d6 Update
Former-commit-id: 7a89711897
2024-06-19 23:11:37 +02:00
Hadi f401067dd9 Update
Former-commit-id: e51b20e4ab
2024-06-19 23:07:47 +02:00
Hadi a02bee95de Update
Former-commit-id: 9dbc87c010
2024-06-19 23:02:56 +02:00
Hadi ec7b2a2fe9 Update
Former-commit-id: 137dd150fd
2024-06-19 22:59:06 +02:00
Hadi 2a40427cd6 Update
Former-commit-id: 6e66f200a3
2024-06-19 22:57:14 +02:00
Hadi eb42d3e4d1 Update
Former-commit-id: 28dcb1f574
2024-06-19 22:50:58 +02:00
Hadi 03f4715693 Update
Former-commit-id: 536de64d5c
2024-06-19 22:48:21 +02:00
Hadi c35dfb8017 Update
Former-commit-id: ac1c7da665
2024-06-19 22:47:37 +02:00
Hadi 7bdacd9ed5 Update
Former-commit-id: d3604fa6cf
2024-06-19 22:47:13 +02:00
Hadi c8ca22f308 Update
Former-commit-id: 241a91487c
2024-06-19 22:46:33 +02:00
Hadi 13b147932e Update
Former-commit-id: 2f2aad2b91
2024-06-19 22:45:37 +02:00
Hadi 29b6dc17c0 Update
Former-commit-id: ce756d2f78
2024-06-19 22:44:55 +02:00
Hadi 8ff1df4333 Update
Former-commit-id: 94cb2758e6
2024-06-19 22:40:01 +02:00
Hadi af0241f1eb Update
Former-commit-id: 50ee6b2dbf
2024-06-19 22:39:12 +02:00
Hadi 3719cc90be Update
Former-commit-id: 0949607442
2024-06-19 22:37:52 +02:00
Hadi 396297d6f7 Update
Former-commit-id: 12e8e9e870
2024-06-19 22:36:42 +02:00
Hadi cb4b5741d7 Update
Former-commit-id: aa519ba3ee
2024-06-19 22:36:18 +02:00
Hadi da000e60bd Update
Former-commit-id: 2cd6b6be58
2024-06-19 22:33:48 +02:00
Hadi c4a38e7691 Update
Former-commit-id: 3939348e1b
2024-06-19 22:32:03 +02:00
Hadi 8972cd081b Update
Former-commit-id: 26767f861c
2024-06-19 21:53:34 +02:00
Hadi b930a7e9f7 Update
Former-commit-id: adbbcec22c
2024-06-19 21:52:46 +02:00
Hadi 85a7fc8ca7 Update
Former-commit-id: f868a937d5
2024-06-19 21:50:36 +02:00
Hadi 869a442843 Update
Former-commit-id: c9ba9b30fe
2024-06-19 21:47:33 +02:00
Hadi 49b6d81216 Update
Former-commit-id: f2b659add1
2024-06-19 21:43:28 +02:00
Hadi 21d84fd39d Update
Former-commit-id: c18fffcb3d
2024-06-19 21:42:12 +02:00
Hadi 2a12db0133 test
Former-commit-id: b5fe18ab2f
2024-06-19 21:41:04 +02:00
Hadi 9c5118264c add hardware config
Former-commit-id: 115c6345c3
2024-06-19 21:31:18 +02:00
Hadi 3a8df54936 Update
Former-commit-id: 884abe9e6c
2024-06-19 21:22:41 +02:00
Hadi a3c8ad5efb Update
Former-commit-id: d877b40d0b
2024-06-19 21:18:28 +02:00
Hadi b38a1ccef8 test
Former-commit-id: 530e9d8bea
2024-06-19 21:17:54 +02:00
Hadi 321bb0bd16 Update
Former-commit-id: d9e4bd4cd1
2024-06-19 21:16:15 +02:00
Hadi 6c96796584 Update
Former-commit-id: 4cba1f2acf
2024-06-19 21:12:30 +02:00
Hadi c6bc2ba192 Update
Former-commit-id: 8c0c636ec8
2024-06-19 21:05:03 +02:00
Hadi c5f8e0f7a2 Update
Former-commit-id: 39a4b5cc00
2024-06-19 21:03:58 +02:00
Hadi 9ff0e4cbe4 Update
Former-commit-id: a5e4015cf3
2024-06-19 21:01:08 +02:00
Hadi 4c0a61ccad Update
Former-commit-id: 5414f49671
2024-06-19 21:01:01 +02:00
Hadi 8ddabcee34 Update
Former-commit-id: 10f3754b0a
2024-06-19 09:55:58 +02:00
Hadi ccef91e0ed Update
Former-commit-id: 063534079d
2024-06-18 19:15:19 +02:00
Hadi f9057b2983 Update
Former-commit-id: d4abd221c0
2024-06-18 19:14:18 +02:00
Hadi 5e276e88f8 Update
Former-commit-id: 77696506bc
2024-06-18 19:13:15 +02:00
Hadi 6c4428b4ef Update
Former-commit-id: 05932e597c
2024-06-18 19:05:40 +02:00
Hadi fd32e06cd2 Update README.md
Former-commit-id: 6606762bca
2024-06-18 15:49:32 +02:00
Hadi 1a4615a781 change image
Former-commit-id: e0bae26b5d
2024-06-18 15:44:27 +02:00
Hadi 3823561a0a Update README.md
Former-commit-id: cd91c40f7d
2024-06-18 15:43:27 +02:00
Hadi b667a65f31 Add files via upload
Former-commit-id: 07e81831fa
2024-06-18 15:42:24 +02:00
Hadi 88df4c8d42 Add files via upload
Former-commit-id: a900a2a121
2024-06-18 15:34:25 +02:00
Hadi 8082c06548 update readme colors
Former-commit-id: d2916aa984
2024-06-18 15:25:59 +02:00
Hadi 21bf90efc0 edit
Former-commit-id: f79b67c04e
2024-06-18 14:39:51 +02:00
Hadi 6d22f2d409 move nextcloud to home manager
Former-commit-id: 6c936a12f1
2024-06-18 14:32:35 +02:00
Hadi ffa788dd4e update todo
Former-commit-id: b5ae490899
2024-06-18 14:26:49 +02:00
Hadi 79a045e3bb todo update
Former-commit-id: fd9b7ea141
2024-06-18 14:20:23 +02:00
Hadi 2fb8a97b71 update
Former-commit-id: c11a21a34a
2024-06-18 14:09:55 +02:00
Hadi 26065f3699 fix
Former-commit-id: ba09c5cfe3
2024-06-18 14:07:48 +02:00
Hadi 4f2ba52404 add tailscale
Former-commit-id: 8ec108927c
2024-06-18 14:05:14 +02:00
Hadi be23ff67aa fix
Former-commit-id: d311675fe9
2024-06-18 13:41:33 +02:00
Hadi ff79cbf502 update
Former-commit-id: 63fd084dcf
2024-06-18 13:41:07 +02:00
Hadi 8b8f3fa54b Update
Former-commit-id: 759f7e715a
2024-06-18 12:36:26 +02:00
Hadi 1f2bb4c33a Update
Former-commit-id: c0e0609ef4
2024-06-18 12:35:13 +02:00
Hadi 9d458b7e04 Update
Former-commit-id: fb2f1824a3
2024-06-18 12:32:45 +02:00
Hadi dedf840131 Update
Former-commit-id: bfed924f0f
2024-06-18 12:30:56 +02:00
Hadi 7dc2c69292 Update
Former-commit-id: 1ad4233def
2024-06-18 12:21:57 +02:00
Hadi def86d31a4 Update
Former-commit-id: b536a87854
2024-06-18 12:10:45 +02:00
Hadi 3038f62405 update
Former-commit-id: c3b54c538f
2024-06-18 11:42:22 +02:00
Hadi fe01b971cf temp
Former-commit-id: 40648d4041
2024-06-18 11:26:35 +02:00
Hadi 918c865202 temp
Former-commit-id: cb4a8f024f
2024-06-18 11:11:08 +02:00
Hadi 6e30f6cd4e temp
Former-commit-id: f4aa262e74
2024-06-18 10:29:37 +02:00
Hadi ff73c05ba6 temp
Former-commit-id: ac6a0f59c4
2024-06-18 10:23:07 +02:00
Hadi dbf520b556 temp
Former-commit-id: 93b7145e70
2024-06-18 10:10:21 +02:00
Hadi fc046db74b temp
Former-commit-id: dc4f3160cc
2024-06-18 09:54:18 +02:00
Hadi 96bae83dd1 rename shared to modules
Former-commit-id: 2ccd17867f
2024-06-18 09:21:14 +02:00
Hadi aae802193c Update
Former-commit-id: d3e6730df0
2024-06-18 00:01:23 +02:00
Hadi 8dc316d6a4 Update
Former-commit-id: 57eb1c9459
2024-06-17 23:57:26 +02:00
Hadi ad86356f9a update
Former-commit-id: 880ed3d0e9
2024-06-17 23:47:58 +02:00
Hadi 007ef7304b add server
Former-commit-id: 93ba190cbf
2024-06-17 23:41:41 +02:00
Hadi 019a6deaf4 Update
Former-commit-id: 251f535146
2024-06-17 23:32:56 +02:00
Hadi 7da96ad2c7 Update
Former-commit-id: 8e0691ca6a
2024-06-17 23:32:52 +02:00
Hadi 7ebc1ba322 add server
Former-commit-id: 25d4dc93f1
2024-06-17 23:29:47 +02:00
Hadi c5e9cb9c32 add pfetch
Former-commit-id: d1b581fd58
2024-06-17 21:34:54 +02:00
Hadi a3ec52058e update
Former-commit-id: bbaf52b496
2024-06-17 20:47:28 +02:00
Hadi d78f213006 update
Former-commit-id: 5835d73997
2024-06-17 20:44:37 +02:00
Hadi 73b2015d02 Update
Former-commit-id: bbbf516812
2024-06-17 20:38:13 +02:00
Hadi cedad9a7a6 Update
Former-commit-id: c0894a20ca
2024-06-17 20:37:22 +02:00
Hadi 65d6c2f28f Update
Former-commit-id: 6f8698e345
2024-06-17 20:37:09 +02:00
Hadi 18c7618ebf Update
Former-commit-id: b49b2d2c60
2024-06-17 20:08:17 +02:00
Hadi e29a5c2517 update
Former-commit-id: a703d0816b
2024-06-17 19:50:35 +02:00
Hadi 6f3c922010 update
Former-commit-id: 4aba4116de
2024-06-17 19:45:21 +02:00
Hadi 2b902ef731 Update
Former-commit-id: 9db5b9231e
2024-06-17 19:23:43 +02:00
Hadi 7cb070b6b1 Update
Former-commit-id: dc5c227667
2024-06-17 19:20:34 +02:00
Hadi e788f5954e update
Former-commit-id: 912c0abc51
2024-06-17 19:20:01 +02:00
Hadi bfb370d8fe update
Former-commit-id: d8659825a2
2024-06-17 19:18:05 +02:00
Hadi 0332b6c56b Update README.md
Former-commit-id: 087dd4dfec
2024-06-17 17:10:04 +02:00
Hadi e5bdab5a24 update
Former-commit-id: a6207c07ab
2024-06-17 17:04:39 +02:00
Hadi a42ef3ff84 add hyprcursor
Former-commit-id: efc017e5bd
2024-06-17 16:55:42 +02:00
Hadi da33cf1fd3 moved gtk theme
Former-commit-id: 2982684252
2024-06-17 16:54:50 +02:00
Hadi 4290a5e814 update
Former-commit-id: 5e3a372259
2024-06-17 16:53:18 +02:00
Hadi 8e425d5d87 temp
Former-commit-id: 8d16aa86e0
2024-06-17 16:35:53 +02:00
Hadi 8aeff4bb9a temp
Former-commit-id: 3f613c9910
2024-06-17 16:33:34 +02:00
Hadi 6d23ca208e update
Former-commit-id: 8b2f8c08d3
2024-06-17 16:23:03 +02:00
Hadi 41ccb74258 update
Former-commit-id: f2c80d003c
2024-06-17 14:24:18 +02:00
Hadi 5f1b047221 Add themes folder
Former-commit-id: a6cc46cf93
2024-06-17 14:18:15 +02:00
Hadi a5b26b92de Update
Former-commit-id: 857c98e32a
2024-06-17 13:49:05 +02:00
Hadi 5e71ef48dd Update
Former-commit-id: d169306a68
2024-06-17 13:47:13 +02:00
Hadi 2fc51aa02e test hosts
Former-commit-id: b22d2f596f
2024-06-17 09:23:37 +02:00
Hadi 7dc90af1c8 test
Former-commit-id: 026be4852e
2024-06-17 09:22:31 +02:00
Hadi 7a564110a5 Update
Former-commit-id: 49cf0fc0e3
2024-06-14 21:18:42 +02:00
Hadi bb08cd494a Add animations speed in variables
Former-commit-id: 7267fa55fb
2024-06-14 21:13:50 +02:00
Hadi 3b5885e2c9 Update
Former-commit-id: c410d04e1a
2024-06-14 21:04:33 +02:00
Hadi d9810c3c1f Update
Former-commit-id: fad7c6e46d
2024-06-14 20:58:52 +02:00
Hadi 13f060d100 Update
Former-commit-id: 089c57802e
2024-06-14 15:28:30 +02:00
Hadi 40164e8cbd Update
Former-commit-id: 47701f3f49
2024-06-14 14:43:21 +02:00
Hadi f9187d3252 Update
Former-commit-id: 5af6219fff
2024-06-14 14:24:09 +02:00
Hadi b86fe8b3c7 Update
Former-commit-id: 9eb2dbf579
2024-06-14 14:21:27 +02:00
Hadi 9cdddb99c5 Refactor
Former-commit-id: ea15e4fa98
2024-06-14 14:20:06 +02:00
Hadi 35bb470eb1 Update
Former-commit-id: cf99fa5687
2024-06-14 14:03:35 +02:00
Hadi 1a1597ba49 Update
Former-commit-id: 98d8545186
2024-06-14 13:58:54 +02:00
Hadi 8c55eb48af Update
Former-commit-id: 60ee25a3fa
2024-06-14 13:56:43 +02:00
Hadi cd3dfb985c Update
Former-commit-id: 25e4b89053
2024-06-14 13:44:30 +02:00
Hadi 19bf7838c4 Fix
Former-commit-id: 758b594e39
2024-06-14 12:54:46 +02:00
Hadi 05da8fd990 Update
Former-commit-id: eb94f6b527
2024-06-14 10:03:29 +02:00
Hadi d28ad77974 test
Former-commit-id: aae1271cf0
2024-06-14 10:00:54 +02:00
Hadi 379424e228 Update
Former-commit-id: 70a3473916
2024-06-13 11:02:21 +02:00
Hadi 355336c9ff Update
Former-commit-id: 96b64e86e0
2024-06-13 10:52:06 +02:00
Hadi 46b213bbfa Temp
Former-commit-id: d117be2be9
2024-06-13 10:48:06 +02:00
Hadi 4fda4eda9e Update
Former-commit-id: a30df8d186
2024-06-11 23:41:38 +02:00
Hadi 3bffc0142c Stable
Former-commit-id: 3b52711351
2024-06-11 23:31:59 +02:00
Hadi 21f5d55569 Fix
Former-commit-id: 0e3989391e
2024-06-11 22:00:58 +02:00
Hadi 12d7254c83 Fix
Former-commit-id: e9310630bd
2024-06-11 21:58:04 +02:00
Hadi 35dd9bb964 Update
Former-commit-id: c2bb7f475b
2024-06-08 20:50:18 +02:00
Hadi e104aec12d Update
Former-commit-id: 14eeb7bd3a
2024-06-08 02:32:42 +02:00
Hadi e11dcecace Update
Former-commit-id: 08b9ef2677
2024-06-08 02:28:42 +02:00
Hadi 84d2f689ed Update
Former-commit-id: cbb276551c
2024-06-08 02:28:13 +02:00
Hadi 52c060c8be Update
Former-commit-id: 4556c5ea2f
2024-06-08 02:26:47 +02:00
Hadi 28dc3d1a94 Update
Former-commit-id: 6a017c8e70
2024-06-08 02:24:07 +02:00
Hadi ef2ee20495 Update
Former-commit-id: e33ab5a6e1
2024-06-08 02:22:10 +02:00
Hadi f4f253a218 Update
Former-commit-id: fbf3fe3255
2024-06-08 02:20:20 +02:00
Hadi 2f0f3c74f3 Update
Former-commit-id: 41a6de85b1
2024-06-08 02:19:25 +02:00
Hadi 2809615f7b Update
Former-commit-id: 6561d23db6
2024-06-08 02:18:53 +02:00
Hadi a617044695 Update
Former-commit-id: 562dad765b
2024-06-08 02:17:50 +02:00
Hadi 379cd9e98d Update
Former-commit-id: 2656132158
2024-06-08 02:17:04 +02:00
Hadi 60d880aac2 Update
Former-commit-id: 430d30e4ee
2024-06-08 02:05:37 +02:00
Hadi 89d736c311 Update
Former-commit-id: 3a1896894f
2024-06-08 01:57:55 +02:00
Hadi 96faa74cf0 Update
Former-commit-id: 88fb9d078b
2024-06-08 01:56:21 +02:00
Hadi 0f6a8af649 Update
Former-commit-id: 1ccb720f3b
2024-06-08 00:36:44 +02:00
Hadi 80b3607bc1 Update
Former-commit-id: d2c8461193
2024-06-08 00:35:45 +02:00
Hadi 9c1c2a21a4 Update
Former-commit-id: 92b467525d
2024-06-08 00:01:20 +02:00
Hadi ab13ead2a8 Update
Former-commit-id: 6c08c79a16
2024-06-07 23:54:10 +02:00
Hadi dea3f4f4fd Update
Former-commit-id: e52f52f4da
2024-06-07 23:46:40 +02:00
Hadi 4bf7d41ff1 Update
Former-commit-id: b855318c55
2024-06-07 23:35:59 +02:00
Hadi 54bb1e2064 Update
Former-commit-id: ca8abfde1c
2024-06-07 23:34:02 +02:00
Hadi 3e818073e0 Update
Former-commit-id: 24de104139
2024-06-07 22:53:04 +02:00
Hadi 9c8d27e687 Update
Former-commit-id: 2c0246c84a
2024-06-07 22:43:37 +02:00
Hadi ca138aa8af Update
Former-commit-id: 9177f93a96
2024-06-07 22:41:10 +02:00
Hadi 784df1e08f Update
Former-commit-id: 57867b1a22
2024-06-07 22:37:59 +02:00
Hadi a12846fddc Update
Former-commit-id: 7b9e579a4e
2024-06-07 22:34:48 +02:00
Hadi 820268a2a1 Update
Former-commit-id: 65ec024028
2024-06-07 22:25:21 +02:00
Hadi 7e19f9ee0d Update
Former-commit-id: 19af1ccdc2
2024-06-07 22:11:42 +02:00
Hadi 6558683822 Update
Former-commit-id: 7d80970e9d
2024-06-07 22:08:09 +02:00
Hadi 8401688019 Update
Former-commit-id: 755a2e8f2b
2024-06-07 22:05:49 +02:00
Hadi cfd999b373 Update
Former-commit-id: 160d302a74
2024-06-07 21:49:44 +02:00
Hadi 70b156b828 Add pub key
Former-commit-id: b674a8be1b
2024-06-07 21:46:15 +02:00
Hadi 6e056afe67 Fix
Former-commit-id: e2382abacc
2024-06-07 21:41:04 +02:00
Hadi caa93f691c Add hardware config for server
Former-commit-id: bf7dd645ba
2024-06-07 21:38:39 +02:00
Hadi 34776f0af1 Update
Former-commit-id: 7bb06e521f
2024-06-07 21:37:48 +02:00
Hadi 7f30239b2a Add heaven (my server)
Former-commit-id: 17f93ea60b
2024-06-07 21:21:03 +02:00
Hadi 6d744fab45 Update
Former-commit-id: d917ac9f6a
2024-06-07 10:55:45 +02:00
Hadi cf6ed4a265 Update
Former-commit-id: 98556f202e
2024-06-03 20:18:30 +02:00
Hadi 62e0472698 Update
Former-commit-id: 0f98d762a2
2024-05-25 10:53:38 +02:00
Hadi d477340177 Update
Former-commit-id: c074db2779
2024-05-20 19:44:45 +02:00
Hadi f9c910f5ac Add hyprland cachix
Former-commit-id: 98186715b1
2024-05-17 14:52:18 +02:00
Hadi 41a225ec83 Merge pull request #1 from anotherhadi/unstable
Update

Former-commit-id: 0087ca74be
2024-05-17 14:46:30 +02:00
Hadi 35c98d1b97 Update
Former-commit-id: 5fe726fd20
2024-05-17 14:44:56 +02:00
Hadi 1a477e26bc More variables
Former-commit-id: cc1efb2588
2024-05-17 10:28:02 +02:00
Hadi 8166950e74 Update
Former-commit-id: 0b32914be2
2024-05-16 17:59:50 +02:00
Hadi ea0d1cee92 Add nvim noice
Former-commit-id: bc9101e542
2024-05-11 00:37:16 +02:00
Hadi 8df0278272 Add table of contents
Former-commit-id: 42876ccac3
2024-05-09 16:58:42 +02:00
Hadi 6c471c33f7 Add compress/extract
Former-commit-id: 728797b8c5
2024-05-09 16:55:46 +02:00
Hadi 5182276d1e Update
Former-commit-id: dff9dcc8d5
2024-05-09 16:51:42 +02:00
Hadi d18e69ee75 Update
Former-commit-id: 31913ccdcc
2024-05-09 16:50:46 +02:00
Hadi f363249e41 Add lazygit
Former-commit-id: 8400e5fd4d
2024-05-09 16:46:30 +02:00
Hadi 342fbc2fcc Add lazygit
Former-commit-id: 8d0216e1fc
2024-05-09 16:44:39 +02:00
Hadi 150617ca7a Update
Former-commit-id: c4f8d05c0d
2024-05-09 16:33:24 +02:00
Hadi 7196117da7 Update
Former-commit-id: 6d4bc5a9e8
2024-05-09 13:33:51 +02:00
Hadi ba1feb92ec Add new theme
Former-commit-id: 6065afd390
2024-05-09 13:33:44 +02:00
Hadi 7452406a00 Fix spacing
Former-commit-id: abfe7ca839
2024-05-09 13:33:18 +02:00
Hadi 2c910092c8 Update
Former-commit-id: a26fbaa2c3
2024-05-09 10:54:19 +02:00
Hadi c3d9df2cb0 Rearrange folder struct
Former-commit-id: e58fda9896
2024-05-04 22:51:33 +02:00
Hadi b573560024 Fix renamed
Former-commit-id: d026643105
2024-05-04 22:46:46 +02:00
Hadi 1633e21d9b Delete /tmp dir on boot
Former-commit-id: 984a25c111
2024-05-04 22:45:51 +02:00
Hadi 406d7ae6e9 Update
Former-commit-id: 2c2b451d40
2024-05-04 22:36:06 +02:00
Hadi 2055d2da9a Waybar git to solve issue w/hyprland
Former-commit-id: 1af3617b32
2024-05-02 18:16:39 +02:00
Hadi ec4fc1864c Update
Former-commit-id: 6d1912703c
2024-05-02 15:46:16 +02:00
Hadi fa0aa29974 Update
Former-commit-id: 81ab14b256
2024-05-02 15:40:12 +02:00
Hadi 8e4d046365 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 aec2c05778 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 5cd78b81d1 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 d906e2675d Update
Former-commit-id: 7dd8af5bf8
2024-04-20 11:50:19 +02:00
Hadi ac5949e2a0 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 72111e6c3a Fix typo
Former-commit-id: de607e2eea
2024-04-20 01:05:50 +02:00
Hadi dad7e92a41 Delete .sops.yaml
Former-commit-id: e8dd18e32c
2024-04-20 00:41:50 +02:00
Hadi 8cf07d7418 Fix
Former-commit-id: 3fe07d3ba5
2024-04-20 00:39:15 +02:00
Hadi 3ae887ef0e Add github search engine
Former-commit-id: 52ccccc2d9
2024-04-20 00:23:32 +02:00
Hadi ac34c94aad Fix 2 file explorer
Former-commit-id: 805917511e
2024-04-20 00:19:15 +02:00
Hadi dd54fa49f0 Fix
Former-commit-id: 950e1cfcf2
2024-04-20 00:16:05 +02:00
Hadi 4f1920ac35 Fix
Former-commit-id: 637accfc1c
2024-04-20 00:02:59 +02:00
Hadi 7693435eab Fix font
Former-commit-id: a37de9940f
2024-04-19 23:46:15 +02:00
Hadi 5451b4cfb4 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 3677d8f6a1 Update
Former-commit-id: 767e9d182d
2024-04-14 21:59:30 +02:00
Hadi 8f3fd2e2a5 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 d7a1249a3f 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 290cfca8b3 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 5717331eb6 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 0bf5355641 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 b4c0b61815 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 011c084203 I hate wl clipboard
Former-commit-id: 24a8438694
2024-03-20 23:26:53 +01:00
Hadi 10215a086f Woopsi
Former-commit-id: ce2e0c2fa8
2024-03-20 22:44:32 +01:00
Hadi 882c3f0c76 Nerdfont icons finder, folder arch..
Former-commit-id: e97e2705b5
2024-03-20 22:38:49 +01:00
Hadi c3151cc1f5 Up
Former-commit-id: cb98842775
2024-03-20 21:47:50 +01:00
Hadi cb1b2c04c7 Up
Former-commit-id: 95562dce0e
2024-03-20 20:04:09 +01:00
Hadi 8ab6e708f6 keybindings
Former-commit-id: bb47c6a943
2024-03-20 18:58:16 +01:00
Hadi 06805d8d27 Themes
Former-commit-id: 5ad31e7602
2024-03-20 18:31:59 +01:00
Hadi 557b1d375e oops
Former-commit-id: 35de81a46d
2024-03-20 18:05:24 +01:00
Hadi b9cf6573bd up
Former-commit-id: 0fee3682d0
2024-03-20 18:01:15 +01:00
Hadi 2cd17956fa Fix powermenu management
Former-commit-id: aa25061ad7
2024-03-18 22:48:11 +01:00
Hadi 435d82cfba Fix neofetch on floating window
Former-commit-id: 69bd97e1bd
2024-03-18 22:40:15 +01:00
Hadi c1b7e8d56c Fix windows name & padding
Former-commit-id: 1dd92201d0
2024-03-18 22:37:03 +01:00
Hadi 2956e1599a Up
Former-commit-id: ef3489075f
2024-03-18 22:26:32 +01:00
Hadi 4545f906ef License
Former-commit-id: 6a562ff64c
2024-03-17 17:35:11 +01:00
Hadi ae7d092e1a Details README
Former-commit-id: 441b45846e
2024-03-17 17:17:03 +01:00
Hadi 7252a96939 Up
Former-commit-id: 381b3228dc
2024-03-17 17:11:49 +01:00
Hadi b24abc3831 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 22395725a3 Up
Former-commit-id: a230692b90
2024-03-17 01:14:16 +01:00
Hadi 9beb7bc157 Up
Former-commit-id: f86a0271b6
2024-03-16 22:26:30 +01:00
Hadi f0d8a6b811 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 202ac3ca3b Secrets, scripts, clean..
Former-commit-id: 5e98256a82
2024-03-15 21:26:34 +01:00
Hadi 1f6075cae7 Up
Former-commit-id: 05fc3fbcd9
2024-03-14 18:42:15 +01:00
Hadi 0ab8844d04 Up
Former-commit-id: 77eba6e2c2
2024-03-14 01:30:17 +01:00
Hadi 1bb1112db2 Up
Former-commit-id: d5bd3270f7
2024-03-14 01:05:29 +01:00
Hadi 61804bcbe7 Add caffeine
Former-commit-id: 13ae5ad530
2024-03-14 00:10:13 +01:00
Hadi 31ace98f68 Up
Former-commit-id: 8bda501d16
2024-03-13 23:32:40 +01:00
Hadi e9480830d8 Up
Former-commit-id: 6ed623bd6f
2024-03-13 21:56:32 +01:00
Hadi 7490f1ef84 Up
Former-commit-id: 3fe2c8913f
2024-03-13 21:38:55 +01:00
Hadi f7e41e3653 Add wallpapers
Former-commit-id: a1f05792e4
2024-03-13 19:58:46 +01:00
261 changed files with 42064 additions and 3257 deletions
-111
View File
@@ -1,111 +0,0 @@
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" />
</div>
<br>
# Nixy
<br>
<div align="center">
<a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
</a>
</div>
<br>
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
It's a simple way to manage your system configuration and dotfiles.
I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains.
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
**Nixy key points:**
- Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
- Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
## Table of Content
{md_table_of_content}
## Gallery
![Nixy helper, peaclock](.github/assets/nixy/1.png)
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png)
![nvim, lazygit](.github/assets/nixy/3.png)
![spotify, cava](.github/assets/nixy/4.png)
## Architecture
### 🏠 home
Those are the dotfiles and configuration files for user-level configuration
**Subfolders:**
- `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration
### 🐧 nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
### 🎨 themes
Those are the themes used in the system configuration.
Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts
Those are the host-specific configurations.
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
## Installation
1. Clone the repo
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
3. Add your `hardware-configuration.nix` to your new host's folder
4. Add your 'nixosConfigurations' inside `flake.nix`
> [!Important]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up.
> You can use `rg "CHANGEME"` to find them all with ripgrep.
> [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository
5. Build the system
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## Documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

-20
View File
@@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Create the README.md file from the .github/assets/README_template.md file
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
README_FILE="./README.md"
table_of_content=$(markdown-table-of-contents --start-by 2 ./.github/assets/README_template.md) # https://github.com/anotherhadi/markdown-table-of-contents
readme_content=$(cat "./.github/assets/README_template.md")
# Replace variables
readme_content=${readme_content//\{primarycolor\}/A594FD}
readme_content=${readme_content//\{backgroundcolor\}/0b0b0b}
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
echo "[//]: # (This file is autogenerated)" >"$README_FILE"
echo "$readme_content" >>"$README_FILE"
sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
mv "/tmp/readme.md" "$README_FILE"
-26
View File
@@ -1,26 +0,0 @@
#!/usr/bin/env bash
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
DOCS_FILE="./docs/SCRIPTS.md"
SCRIPTS_FOLDER="./home/scripts"
# search for every directory in the scripts folder:
# The docs for each scripts are in the beginning of the file prefixed by "#-" or "# -" for the title
# Inside the folders, the scripts are stored in default.nix files
echo "[//]: # (This file is autogenerated)" >"$DOCS_FILE"
echo "# Scripts" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
echo "Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path." >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
for folder in "$SCRIPTS_FOLDER"/*; do
script="$folder/default.nix"
[[ -f "$script" ]] || continue
content=$(cat "$script")
content=$(echo "$content" | grep -E "^#-|^# -" | sed 's/^#- //;s/^# - //;s/#-//')
echo "$content" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
done
@@ -1,24 +0,0 @@
on:
push:
paths:
- 'home/system/hyprland/bindings.nix'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/keybindings_to_markdown.sh
./docs/.github/keybindings_to_markdown.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update KEYBINDINGS-HYPRLAND.md (auto)"
git push
-31
View File
@@ -1,31 +0,0 @@
on:
push:
paths:
- '.github/assets/README_template.md'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '^1.23'
- name: Install required dependencies
run: |
go install github.com/anotherhadi/markdown-table-of-contents@latest
- name: Run a script
run: |
chmod +x ./.github/scripts/create_readme.sh
./.github/scripts/create_readme.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update README.md (auto)"
git push
-24
View File
@@ -1,24 +0,0 @@
on:
push:
paths:
- 'home/scripts'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/create_scripts_docs.sh
./.github/scripts/create_scripts_docs.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update SCRIPTS.md (auto)"
git push
+43 -71
View File
@@ -1,6 +1,11 @@
[//]: # (This file is autogenerated) [//]: # (Title: Nixy)
[//]: # (Description: Nixy is a Hyprland NixOS configuration with home-manager, secrets and custom theming all in one place. It's a simple way to manage your system configuration and dotfiles.)
[//]: # (Author: Hadi)
[//]: # (Date: 08/28/24)
[//]: # (Version: v2.2.0)
<div align="center"> <div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" /> <img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
</div> </div>
<br> <br>
@@ -9,17 +14,20 @@
<br> <br>
<div align="center"> <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.2.0&colorA=181825&colorB=89b4fa&logo=githubactions&logoColor=89b4fa"/>
</a>
<a href="https://github.com/anotherhadi/nixy/stargazers"> <a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=starship&logoColor=A594FD"> <img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa">
</a> </a>
<a href="https://github.com/anotherhadi/nixy/"> <a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=github&logoColor=A594FD"> <img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=github&logoColor=89b4fa">
</a> </a>
<a href="https://nixos.org"> <a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=0b0b0b&logo=NixOS&logoColor=A594FD&color=A594FD"> <img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=181825&logo=NixOS&logoColor=89b4fa&color=89b4fa">
</a> </a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE"> <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=0b0b0b&colorB=A594FD&logo=unlicense&logoColor=A594FD"/> <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> </a>
</div> </div>
<br> <br>
@@ -27,94 +35,58 @@
**Nixy** is a **Hyprland** 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. It's a simple way to manage your system configuration and dotfiles.
I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains.
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
**Nixy key points:**
- Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
- Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
## Table of Content ## Table of Content
- [Table of Content](#table-of-content) - [Table of Content](#table-of-content)
- [Gallery](#gallery) - [Gallery](#gallery)
- [Architecture](#architecture) - [Architecture](#architecture)
- [🏠 home](#-home) - [Installation](#installation)
- [🐧 nixos](#-nixos) - [Documentation](#documentation)
- [🎨 themes](#-themes)
- [💻 hosts](#-hosts)
- [Installation](#installation)
- [Documentation](#documentation)
## Gallery ## Gallery
![Nixy helper, peaclock](.github/assets/nixy/1.png) ![catppuccin1](docs/src/catppuccin/1.png)
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png) ![catppuccin2](docs/src/catppuccin/2.png)
![nvim, lazygit](.github/assets/nixy/3.png) ![catppuccin3](docs/src/catppuccin/3.png)
![spotify, cava](.github/assets/nixy/4.png)
## Architecture ## Architecture
### 🏠 home - 🏠 `home` are the dotfiles and configuration files for the users
- 'programs' is a collection of apps configured with home-manager
Those are the dotfiles and configuration files for user-level configuration - 'scripts' is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- 'system' is some "desktop environment" configuration
**Subfolders:** - 'wallpapers' are... wallpapers
- 💻 `hosts` are the system configuration files
- `programs` is a collection of apps configured with home-manager - 'laptop' is my configuration for my laptop with Nvidia that you can copy
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md)) - 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
- `system` is some "desktop environment" configuration - 'themes' contains all the *themes* available *(see [THEMES.md](docs/THEMES.md))*
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
### 🐧 nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
### 🎨 themes
Those are the themes used in the system configuration.
Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts
Those are the host-specific configurations.
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
## Installation ## Installation
1. Clone the repo
```sh ```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos git clone https://github.com/anotherhadi/nixy ~/.config/nixos
``` ```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file - Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
3. Add your `hardware-configuration.nix` to your new host's folder - Add your `hardware-configuration.nix` to your new host's folder
4. Add your 'nixosConfigurations' inside `flake.nix` - Add your 'nixosConfigurations' inside `flake.nix` (You can edit your hostname one and change the lines containing '# CHANGEME')
> [!Important] > [!NOTE]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up.
> You can use `rg "CHANGEME"` to find them all with ripgrep.
> [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository > When you add new files, don't forget to run `git add .` to add them to the git repository
5. Build the system
```sh ```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
``` ```
## Documentation ## Documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own - [THEMES.md](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available - [APPS.md](docs/APPS.md): Which apps are installed
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland - [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy. - [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers available
- [TODO](docs/TODO.md): What's next (feel free to contribute) - [TODO.md](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute - [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License - [LICENSE](LICENSE): MIT License
+56
View File
@@ -0,0 +1,56 @@
# Apps and services
*non-exhaustive lists*
## 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 |
| | hypridle |
| | hyprcursor |
| | wlogout |
| Bar | waybar |
| Terminal | kitty |
| Shell | zsh |
| | tmux |
| | starship |
| | bat |
| | eza |
| | zoxide |
| | fzf |
| Editor | neovim(nixvim) |
| File manager | lf |
| | thunar |
| Browser | qutebrowser |
| Music | spicetify |
| Notifications | dunst |
| Launcher | wofi |
| DM | tuigreet |
| Secrets | sops-nix |
| Misc | lazygit |
| | neofetch |
| | cava |
| 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
- Uptime Kuma
- "Jackflix"
- Jellyfin, Transmission, *arr
- See [hosts/server](../hosts/server/)...
+3
View File
@@ -9,6 +9,9 @@ The process is straight-forward.
- Write your changes (new theme, bug fixes, task in to-do, ...). - Write your changes (new theme, bug fixes, task in to-do, ...).
- Create a Pull Request against the main branch of Nixy. - Create a Pull Request against the main branch of Nixy.
> [!TIP]
> When wallpapers are added, run `./docs/scripts/compress_png.sh` and `./docs/scripts/create_preview_wallpapers.sh`
> [!TIP] > [!TIP]
> To update the README, change the `./docs/src/README_template.md` and run `./docs/scripts/create_readme.sh` > To update the README, change the `./docs/src/README_template.md` and run `./docs/scripts/create_readme.sh`
-46
View File
@@ -1,46 +0,0 @@
[//]: # (This file is autogenerated)
# Keybindings for Hyprland
> [!NOTE]
> SUPER is the windows key by default
| Description | Keybinding |
| -- | -- |
| Switch Workspace | SUPER + {Number} |
| Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN |
| Thunar | SUPER + E |
| Qutebrowser | SUPER + B |
| Bitwarden | SUPER + K |
| Lock | SUPER + L |
| Powermenu | SUPER + X |
| Launcher | SUPER + SPACE |
| Toggle HyprFocus | SHIFT + SUPER + SPACE |
| Close window | SUPER + Q |
| Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F |
| Move focus left | SUPER + left |
| Move focus Right | SUPER + right |
| Move focus Up | SUPER + up |
| Move focus Down | SUPER + down |
| Focus previous monitor | SHIFT + SUPER + up |
| Focus next monitor | SHIFT + SUPER + down |
| Add to master | SHIFT + SUPER + left |
| Remove from master | SHIFT + SUPER + right |
| Screenshot window | SUPER + PRINT |
| Screenshot monitor | PRINT |
| Screenshot region | SHIFT + SUPER + PRINT |
| Screenshot region then edit | ALTPRINT |
| Search on internet with wofi | SHIFT + SUPER + S |
| Clipboard picker with wofi | SHIFT + SUPER + C |
| Emoji picker with wofi | SHIFT + SUPER + E |
| Toggle night shift | SUPER + F2 |
| Toggle night shift | SUPER + F3 |
| Move Window (mouse) | SUPER + mouse:272 |
| Resize Window (mouse) | SUPER + R |
| Toggle Mute | XF86AudioMute |
| Lock when closing Lid | switch:Lid Switch |
| Sound Up | XF86AudioRaiseVolume |
| Sound Down | XF86AudioLowerVolume |
| Brightness Up | XF86MonBrightnessUp |
| Brightness Down | XF86MonBrightnessDown |
+40
View File
@@ -0,0 +1,40 @@
# Keybindings
The list of the keybindings working on Hyprland:
| Description | Keybinding |
|-----------------------------|--------------------------|
| Switch Workspace | SUPER + {Number} |
| Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN |
| Thunar | SUPER + E |
| Qutebrowser | SUPER + B |
| Bitwarden | SUPER + K |
| Peaclock | SUPER + C |
| Lock | SUPER + L |
| Powermenu | SUPER + X |
| Launcher | SUPER + SPACE |
| Close window | SUPER + Q |
| Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F |
| Move focus left | SUPER + left |
| Move focus Right | SUPER + right |
| Move focus Up | SUPER + up |
| Move focus Down | SUPER + down |
| Add to master | SHIFT + SUPER + left |
| Remove from master | SHIFT + SUPER + right |
| Screenshot window | SUPER + PRINT |
| Screenshot monitor | PRINT |
| Screenshot region | SHIFT + SUPER + PRINT |
| Screenshot region then edit | ALT PRINT |
| Turn off night shift | SUPER + F2 |
| Turn on night shift | SUPER + F3 |
| Choose sound output | SUPER + F5 |
| Move Window (mouse) | SUPER + mouse:272 |
| Resize Window (mouse) | SUPER + R |
| Toggle Mute | XF86AudioMute |
| Lock when closing Lid | switch:Lid Switch |
| Sound Up | XF86AudioRaiseVolume |
| Sound Down | XF86AudioLowerVolume |
| Brightness Up | XF86MonBrightnessUp |
| Brightness Down | XF86MonBrightnessDown |
+59 -88
View File
@@ -1,88 +1,59 @@
[//]: # (This file is autogenerated) # Scripts
# Scripts
Scripts are located in the `home/scripts` folder. Home-manager add those in the path.
Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path.
## Nix/NixOs shortcuts
## Brightness
> [!TIP]
This module provides a set of scripts to control the brightness of the screen. > The `hostname` variable in `hosts/yourhost/variables.nix` should be also the name of the `nixosConfiguration` in `flake.nix` file.
- `brightness-up` increases the brightness by 5%. - `nixy` # UI
- `brightness-down` decreases the brightness by 5%. - `nixy rebuild`
- `brightness-set [value]` sets the brightness to the given value. - `nixy update`
- `brightness-change [up|down] [value]` increases or decreases the brightness by the given value. - `nixy upgrade`
- `nixy gc` # garbage collection
## Caffeine - `nixy cb` # clean boot menu
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock). ## Brightness control
- `caffeine-status` - Check if hypridle is running. (0/1) - `brightness-up`
- `caffeine-status-icon` - Check if hypridle is running. (icon) - `brightness-down`
- `caffeine` - Toggle hypridle. - `brightness-change <up/down> <increment>`
## Hyprfocus ## Sound control
A simple script to toggle focus on few windows in Hyprland. - `sound-up`
(disable gaps, border, shadow, opacity, etc.) - `sound-down`
- `sound-toggle`
- `hyprfocus-on` - Enable hyprfocus. - `sound-output`
- `hyprfocus-off` - Disable hyprfocus. - `sound-change [up/down/mute] <increment>`
- `hyprfocus-toggle` - Toggle hyprfocus.
## Caffeine
## Hyprpanel
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
Quick scripts to toggle, reload and kill hyprpanel.
- `caffeine` # Toggle caffeine
- `hyprpanel-toggle` - Toggle hyprpanel. - `caffeine-status` # Return active/inactive
- `hyprpanel-reload` - Reload hyprpanel.
- `hyprpanel-kill` - Kill hyprpanel. ## Night-Shift
## Nerdfont FZF Blue light filter, using wlsunset
This module provides a script to search for Nerd Fonts icons using fzf. - `night-shift` # Toggle night shift
- `night-shift-status` # Return active/inactive
- `nerdfont-fzf` - Search for Nerd Fonts icons using fzf. - `night-shift-on`
- `night-shift-off`
## Night-Shift
## Nerdfont FZF
Night-Shift is a feature that reduces the amount of blue light emitted by your screen, which can help reduce eye strain and improve sleep quality. This module provides a set of scripts to control Night-Shift on your system.
Nerdfont fzf is a quick way to search for nerdfont icons locally.
- `night-shift-on` activates Night-Shift. It will copy the selected icon to the clipboard.
- `night-shift-off` deactivates Night-Shift.
- `night-shift` toggles Night-Shift. - `nerdfont-fzf`
- `night-shift-status` checks if Night-Shift is active. (0/1)
- `night-shift-status-icon` checks if Night-Shift is active. (icon) ## Compress/Extract
## Nixy Some shortcuts to compress and extract files.
Nixy is a simple script that I use to manage my NixOS system. It's a simple script that provides a menu to rebuild, upgrade, update, collect garbage, clean boot menu, etc. - `compress` ...
- `extract` ...
- `nixy` - UI wizard to manage the system.
- `nixy rebuild` - Rebuild the system.
- `nixy ...` - ... see the script for more commands.
## Screenshot
This module provides a script to take screenshots using `hyprshot` and `swappy`.
- `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
## Sound
This module provides a set of scripts to control the volume of the default audio sink using `wpctl`.
- `sound-up` increases the volume by 5%.
- `sound-down` decreases the volume by 5%.
- `sound-set [value]` sets the volume to the given value.
- `sound-toggle` toggles the mute state of the default audio sink.
## System
Usefull quick scripts
- `menu` - Open wofi with drun mode.
- `powermenu` - Open power dropdown menu.
- `lock` - Lock the screen.
+18 -7
View File
@@ -1,7 +1,7 @@
# Themes # Themes
Themes are defined in `themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps/programs installed. 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 configuration.nix file. You can change the selected theme by changing the import statement of your host's variables.nix file.
> [!TIP] > [!TIP]
> To apply the theme to DuckDuckGo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js` > To apply the theme to DuckDuckGo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js`
@@ -9,13 +9,24 @@ You can change the selected theme by changing the import statement of your host'
## Create your theme ## Create your theme
Create a copy of one of the existing themes and change the variables. Create a copy of one of the existing themes and change the variables.
Wallpapers are loaded from the [nixy-wallpapers](https://github.com/anotherhadi/nixy-wallpapers) repo. Wallpapers are loaded from the `home/wallpapers` folder.
## Gallery ## Gallery
### Nixy ### Nixy
![nixy1](../.github/assets/nixy/1.png) ![nixy1](src/nixy/1.png)
![nixy2](../.github/assets/nixy/2.png) ![nixy2](src/nixy/2.png)
![nixy3](../.github/assets/nixy/3.png) ![nixy3](src/nixy/3.png)
![nixy4](../.github/assets/nixy/4.png)
### Catppuccin
![catppuccin1](src/catppuccin/1.png)
![catppuccin2](src/catppuccin/2.png)
![catppuccin3](src/catppuccin/3.png)
### Windows
![windows1](src/windows/1.png)
![windows2](src/windows/2.png)
![windows3](src/windows/3.png)
+28 -7
View File
@@ -1,13 +1,34 @@
# Todolist # Todolist {
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [!] Qutebrowser Bitwarden integration (I need this.) - [ ] Nixy
- [ ] Themes
- [ ] Clipse: clipboard manager
- [ ] Walker launcher implementation
- [ ] Swaync implementation
- [ ] Qutebrowser
- [ ] !!! Bitwarden integration (I need this.)
- [ ] Hyprland
- [ ] Implement Hyprcursor
- [ ] wofi: popin
- [ ] wlogout: fade in
- [ ] Fix screenshots (screenshot region's border shows up in the screenshot, hyprshot jq error?)
- [ ] Hyprlock themes (repo hyprlock-styles on github)
- [ ] Nixvim - [ ] Nixvim
- [ ] Change headings foreground - [ ] Keymaps:
- [ ] neotest golang - Trouble
- [ ] nvim dap - Tagbar (actually not working)
- [ ] Disable background color for headlines.nvim for titles
- [ ] Tofi configuration ## Server
- [ ] OS Hardening with nix-mineral
- [ ] Jackflix V2
- Backup Radarr, Prowlarr, Sonarr config
- Take a look into buildarr or build a custom solution with *arr apis
- [ ] Bitcoin-git: broken
- [ ] Secrets mode 0444: not secure
+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) |
| sea2.png | ![sea2.png](../home/wallpapers/sea2.png) |
| sea.png | ![sea.png](../home/wallpapers/sea.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
+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"
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Create the README.md file from the docs/src/README_template.md file
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
README_FILE="./README.md"
header=$(cat "./docs/src/header.md")
table_of_content=$(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#\"}"
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"
@@ -4,7 +4,7 @@
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1) [[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
KEYBINDINGS_FILE="./docs/KEYBINDINGS-HYPRLAND.md" KEYBINDINGS_FILE="./docs/KEYBINDINGS.md"
function getList() { function getList() {
content=$1 content=$1
@@ -17,9 +17,9 @@ function getList() {
echo "$list" echo "$list"
} }
[[ -f "./home/system/hyprland/bindings.nix" ]] || (echo "File ./home/system/hyprland/bindings.nix not found" && exit 1) [[ -f "./home/system/hyprland/default.nix" ]] || (echo "File ./home/system/hyprland/default.nix not found" && exit 1)
config=$(cat "./home/system/hyprland/bindings.nix") config=$(cat "./home/system/hyprland/default.nix")
# Bind # Bind
bind=$(getList "$config" "bind") bind=$(getList "$config" "bind")
@@ -33,28 +33,29 @@ bindle=$(getList "$config" "bindle")
# Join the lists: # Join the lists:
keybindings=$(echo -e "$bind\n$bindm\n$bindl\n$bindle" | grep '"') keybindings=$(echo -e "$bind\n$bindm\n$bindl\n$bindle" | grep '"')
echo "[//]: # (This file is autogenerated)" >"$KEYBINDINGS_FILE" echo "# Keybindings" >"$KEYBINDINGS_FILE"
echo "# Keybindings for Hyprland" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE" echo "" >>"$KEYBINDINGS_FILE"
echo "> [!NOTE]" >>"$KEYBINDINGS_FILE" echo "The list of the keybindings working on Hyprland:" >>"$KEYBINDINGS_FILE"
echo "> SUPER is the windows key by default" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE" echo "" >>"$KEYBINDINGS_FILE"
echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE" echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE"
echo "| -- | -- |" >>"$KEYBINDINGS_FILE" echo "| -- | -- |" >>"$KEYBINDINGS_FILE"
echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE" echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE" echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "$keybindings" | while read -r line; do echo "$keybindings" | while read line; do
comment=$(echo "$line" | cut -d\# -f2) comment=$(echo "$line" | cut -d\# -f2)
line=$(echo "$line" | cut -d\# -f1) line=$(echo "$line" | cut -d\# -f1)
line=${line:1:${#line}-3} line=${line:1:${#line}-3}
mod=$(echo "$line" | cut -d, -f1) mod=$(echo "$line" | cut -d, -f1)
key=$(echo "$line" | cut -d, -f2) key=$(echo "$line" | cut -d, -f2)
# dispatcher=$(echo "$line" | cut -d, -f3) dispatcher=$(echo "$line" | cut -d, -f3)
# params=$(echo "$line" | cut -d, -f4) params=$(echo "$line" | cut -d, -f4)
[[ $mod == '$mod' ]] && mod="SUPER + " [[ $mod == '$mod' ]] && mod="SUPER + "
[[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + " [[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + "
echo "| ${comment:1} | $mod$key |" >>"$KEYBINDINGS_FILE" echo "| $comment | $mod$key |" >>"$KEYBINDINGS_FILE"
done done
pandoc -t commonmark_x "$KEYBINDINGS_FILE" -o "/tmp/keybindings.md"
mv "/tmp/keybindings.md" "$KEYBINDINGS_FILE"
+26
View File
@@ -0,0 +1,26 @@
#!/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
read -rp "Do you want to compress the png files? [y/N]: " COMPRESS_PNG
if [[ "$COMPRESS_PNG" == "y" || "$COMPRESS_PNG" == "Y" ]]; then
echo "Compresing png files..."
bash ./docs/scripts/compress_png.sh
fi
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/keybindings_to_markdown.sh
git add .
git commit -m "Release $NEW_TAG"
git tag -a "$NEW_TAG" -m "Release $NEW_TAG"
git push origin "$NEW_TAG"
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
[ "$1" = "" ] && echo "Usage: $0 <theme_name>" && exit 1
theme_name=$1
# Switch to workspace 1
sleep 2
# Step 1
kitty --class peaclock peaclock &
sleep 1
menu &
sleep 1
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "1.png" -d
sleep 2
pkill peaclock
menu
sleep 2
# Step 2
kitty cmatrix &
sleep 1
kitty &
sleep 1
qutebrowser &
sleep 3
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "2.png" -d
sleep 2
pkill cmatrix
pkill --newest qutebrowser ""
pkill --newest kitty
sleep 2
# Step 3
kitty cava &
sleep 1
spotify &
sleep 10
brightness-down
sleep 1
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "3.png" -d
sleep 2
+55
View File
@@ -0,0 +1,55 @@
**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
{md_table_of_content}
## Gallery
![catppuccin1](docs/src/catppuccin/1.png)
![catppuccin2](docs/src/catppuccin/2.png)
![catppuccin3](docs/src/catppuccin/3.png)
## Architecture
- 🏠 `home` are the dotfiles and configuration files for the 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" configuration
- 'wallpapers' are... wallpapers
- 💻 `hosts` are the system configuration files
- '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
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
- 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#yourhostname
```
## Documentation
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own
- [APPS.md](docs/APPS.md): Which apps are installed
- [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
- [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.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 KiB

+33
View File
@@ -0,0 +1,33 @@
[//]: # (Title: Nixy)
[//]: # (Description: {description})
[//]: # (Author: Hadi)
[//]: # (Date: {date})
[//]: # (Version: {version})
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
</div>
<br>
# Nixy
<br>
<div align="center">
<a href="https://github.com/anotherhadi/nixy">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message={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={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
</a>
</div>
<br>
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

+1
View File
@@ -0,0 +1 @@
8c00e379ddd7f89e4bbf9f381a5721d980c8026f
Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 KiB

+1
View File
@@ -0,0 +1 @@
62b52ad02a886c19a8cfe1ea17e8aaad50f23632
Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 KiB

Generated
+132 -627
View File
File diff suppressed because it is too large Load Diff
+26 -22
View File
@@ -7,7 +7,6 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -16,6 +15,7 @@
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
spicetify-nix = { spicetify-nix = {
url = "github:Gerg-L/spicetify-nix"; url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -25,32 +25,36 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; hyprland-plugins = {
nixy-wallpapers = { url = "github:hyprwm/hyprland-plugins";
url = "github:anotherhadi/nixy-wallpapers"; inputs.hyprland.follows = "hyprland";
flake = false;
}; };
stylix.url = "github:danth/stylix"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
hyprswitch.url = "github:h3rmt/hyprswitch/release";
}; };
outputs = inputs@{ nixpkgs, ... }: { outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = { nixosConfigurations = {
nixy = # CHANGEME
nixpkgs.lib.nixosSystem { nixy = nixpkgs.lib.nixosSystem { # CHANGEME
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
{ { _module.args = { inherit inputs; }; }
nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
_module.args = { inherit inputs; }; inputs.home-manager.nixosModules.home-manager
} ./hosts/laptop/configuration.nix # CHANGEME
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME ];
inputs.home-manager.nixosModules.home-manager };
inputs.stylix.nixosModules.stylix
./hosts/laptop/configuration.nix # CHANGEME jack = nixpkgs.lib.nixosSystem {
]; system = "x86_64-linux";
}; modules = [
{ _module.args = { inherit inputs; }; }
inputs.sops-nix.nixosModules.sops
inputs.home-manager.nixosModules.home-manager
./hosts/server/configuration.nix
];
};
}; };
}; };
} }
+9
View File
@@ -0,0 +1,9 @@
{
programs.btop = {
enable = true;
settings = {
color_theme = "Default";
theme_background = false;
};
};
}
+13
View File
@@ -0,0 +1,13 @@
{ config, ... }: {
programs.cava = {
enable = true;
settings = {
general.framerate = 60;
smoothing.noise_reduction = 88;
color = {
background = "'#${config.var.theme.colors.bg}'";
foreground = "'#${config.var.theme.colors.accent}'";
};
};
};
}
+4 -1
View File
@@ -1,4 +1,4 @@
{ pkgs, ... }: { { pkgs, config, ... }: {
home.packages = with pkgs; [ neofetch ]; home.packages = with pkgs; [ neofetch ];
xdg.configFile."neofetch/ascii.txt".text = '' xdg.configFile."neofetch/ascii.txt".text = ''
@@ -109,6 +109,9 @@
song_format="%artist% - %album% - %title%" song_format="%artist% - %album% - %title%"
song_shorthand="off" song_shorthand="off"
mpc_args=() mpc_args=()
colors=(${toString config.var.theme.colors.accentNumber} 1 ${
toString config.var.theme.colors.accentNumber
} ${toString config.var.theme.colors.accentNumber} 7)
bold="on" bold="on"
underline_enabled="on" underline_enabled="on"
underline_char="-" underline_char="-"
+4 -4
View File
@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, config, ... }:
let let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" '' nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
ostype="$(uname)" ostype="$(uname)"
@@ -345,9 +345,9 @@ let
## USER VARIABLES -- YOU CAN CHANGE THESE ## USER VARIABLES -- YOU CAN CHANGE THESE
lc="$reset$bold$magenta" # labels lc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
nc="$reset$bold$magenta" # labels nc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
hn="$reset$bold$magenta" # labels hn="$reset$bold''$${config.var.theme.colors.accentName}" # labels
ic="$reset$white" # info ic="$reset$white" # info
c0="$reset$grey" # first color c0="$reset$grey" # first color
c1="$reset$white" # second color c1="$reset$white" # second color
+3 -7
View File
@@ -1,12 +1,8 @@
{ config, ... }: { config, ... }: {
let
username = config.var.git.username;
email = config.var.git.email;
in {
programs.git = { programs.git = {
enable = true; enable = true;
userName = username; userName = config.var.git.username;
userEmail = email; userEmail = config.var.git.email;
ignores = [ ignores = [
".cache/" ".cache/"
".DS_Store" ".DS_Store"
+32 -12
View File
@@ -1,15 +1,6 @@
{ { config, pkgs, ... }: {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
keybindings = {
# Reset existing mappings
"ctrl+alt+tab" = "next_tab";
"ctrl+alt+shift+tab" = "previous_tab";
# Send Ctrl Tab and Ctrl + Shift + Tab for Tmux navigation
"ctrl+tab" = "send_text all \\x1b[27;5;9~";
"ctrl+shift+tab" = "send_text all \\x1b[27;6;9~";
"alt+tab" = "send_text all \\x1b[27;3;9~";
};
settings = { settings = {
scrollback_lines = 10000; scrollback_lines = 10000;
initial_window_width = 1200; initial_window_width = 1200;
@@ -19,10 +10,39 @@
confirm_os_window_close = "0"; confirm_os_window_close = "0";
remember_window_size = "no"; remember_window_size = "no";
disable_ligatures = "never"; disable_ligatures = "never";
shell = "${pkgs.tmux}/bin/tmux";
url_style = "curly"; url_style = "curly";
cursor_shape = "Underline"; cursor_shape = "Underline";
cursor_underline_thickness = 3; cursor_underline_thickness = config.var.theme.border-size;
window_padding_width = 10; window_padding_width = config.var.theme.gaps-in;
# Font
font_family = config.var.theme.font-mono;
font_size = config.var.theme.font-size;
# Colors
background = "#" + config.var.theme.colors.bg;
url_color = "#" + config.var.theme.colors.accent;
color0 = "#" + config.var.theme.colors.c0;
color8 = "#" + config.var.theme.colors.c8;
color1 = "#" + config.var.theme.colors.c1;
color9 = "#" + config.var.theme.colors.c9;
color2 = "#" + config.var.theme.colors.c2;
color10 = "#" + config.var.theme.colors.c10;
color3 = "#" + config.var.theme.colors.c3;
color11 = "#" + config.var.theme.colors.c11;
color4 = "#" + config.var.theme.colors.c4;
color12 = "#" + config.var.theme.colors.c12;
color5 = "#" + config.var.theme.colors.c5;
color13 = "#" + config.var.theme.colors.c13;
color6 = "#" + config.var.theme.colors.c6;
color14 = "#" + config.var.theme.colors.c14;
color7 = "#" + config.var.theme.colors.c7;
color15 = "#" + config.var.theme.colors.c15;
cursor = "#" + config.var.theme.colors.fg;
cursor_text_color = "#" + config.var.theme.colors.bg;
selection_foreground = "#" + config.var.theme.colors.accentFg;
selection_background = "#" + config.var.theme.colors.accent;
}; };
}; };
} }
-22
View File
@@ -1,22 +0,0 @@
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in {
programs.lazygit = {
enable = true;
settings = lib.mkForce {
gui = {
theme = {
activeBorderColor = [ accent "bold" ];
inactiveBorderColor = [ muted ];
};
showListFooter = false;
showRandomTip = false;
showCommandLog = false;
showBottomLine = false;
nerdFontsVersion = "3";
};
};
};
}
+174
View File
@@ -0,0 +1,174 @@
# vim:ft=dircolors
# (This is not a dircolors file but it helps to highlight colors and comments)
# default values from dircolors
# (entries with a leading # are not implemented in lf)
# #no 00 # NORMAL
# fi 00 # FILE
# #rs 0 # RESET
# di 01;34 # DIR
# ln 01;36 # LINK
# #mh 00 # MULTIHARDLINK
# pi 40;33 # FIFO
# so 01;35 # SOCK
# #do 01;35 # DOOR
# bd 40;33;01 # BLK
# cd 40;33;01 # CHR
# or 40;31;01 # ORPHAN
# #mi 00 # MISSING
# su 37;41 # SETUID
# sg 30;43 # SETGID
# #ca 30;41 # CAPABILITY
# tw 30;42 # STICKY_OTHER_WRITABLE
# ow 34;42 # OTHER_WRITABLE
# st 37;44 # STICKY
# ex 01;32 # EXEC
# default values from lf (with matching order)
# ln 01;36 # LINK
# or 31;01 # ORPHAN
# tw 01;34 # STICKY_OTHER_WRITABLE
# ow 01;34 # OTHER_WRITABLE
# st 01;34 # STICKY
# di 01;34 # DIR
# pi 33 # FIFO
# so 01;35 # SOCK
# bd 33;01 # BLK
# cd 33;01 # CHR
# su 01;32 # SETUID
# sg 01;32 # SETGID
# ex 01;32 # EXEC
# fi 00 # FILE
# file types (with matching order)
ln 01;36 # LINK
or 31;01 # ORPHAN
tw 34 # STICKY_OTHER_WRITABLE
ow 34 # OTHER_WRITABLE
st 01;34 # STICKY
di 01;34 # DIR
pi 33 # FIFO
so 01;35 # SOCK
bd 33;01 # BLK
cd 33;01 # CHR
su 01;32 # SETUID
sg 01;32 # SETGID
ex 01;32 # EXEC
fi 00 # FILE
# archives or compressed (dircolors defaults)
*.tar 01;31
*.tgz 01;31
*.arc 01;31
*.arj 01;31
*.taz 01;31
*.lha 01;31
*.lz4 01;31
*.lzh 01;31
*.lzma 01;31
*.tlz 01;31
*.txz 01;31
*.tzo 01;31
*.t7z 01;31
*.zip 01;31
*.z 01;31
*.dz 01;31
*.gz 01;31
*.lrz 01;31
*.lz 01;31
*.lzo 01;31
*.xz 01;31
*.zst 01;31
*.tzst 01;31
*.bz2 01;31
*.bz 01;31
*.tbz 01;31
*.tbz2 01;31
*.tz 01;31
*.deb 01;31
*.rpm 01;31
*.jar 01;31
*.war 01;31
*.ear 01;31
*.sar 01;31
*.rar 01;31
*.alz 01;31
*.ace 01;31
*.zoo 01;31
*.cpio 01;31
*.7z 01;31
*.rz 01;31
*.cab 01;31
*.wim 01;31
*.swm 01;31
*.dwm 01;31
*.esd 01;31
# image formats (dircolors defaults)
*.jpg 01;35
*.jpeg 01;35
*.mjpg 01;35
*.mjpeg 01;35
*.gif 01;35
*.bmp 01;35
*.pbm 01;35
*.pgm 01;35
*.ppm 01;35
*.tga 01;35
*.xbm 01;35
*.xpm 01;35
*.tif 01;35
*.tiff 01;35
*.png 01;35
*.svg 01;35
*.svgz 01;35
*.mng 01;35
*.pcx 01;35
*.mov 01;35
*.mpg 01;35
*.mpeg 01;35
*.m2v 01;35
*.mkv 01;35
*.webm 01;35
*.ogm 01;35
*.mp4 01;35
*.m4v 01;35
*.mp4v 01;35
*.vob 01;35
*.qt 01;35
*.nuv 01;35
*.wmv 01;35
*.asf 01;35
*.rm 01;35
*.rmvb 01;35
*.flc 01;35
*.avi 01;35
*.fli 01;35
*.flv 01;35
*.gl 01;35
*.dl 01;35
*.xcf 01;35
*.xwd 01;35
*.yuv 01;35
*.cgm 01;35
*.emf 01;35
*.ogv 01;35
*.ogx 01;35
# audio formats (dircolors defaults)
*.aac 00;36
*.au 00;36
*.flac 00;36
*.m4a 00;36
*.mid 00;36
*.midi 00;36
*.mka 00;36
*.mp3 00;36
*.mpc 00;36
*.ogg 00;36
*.ra 00;36
*.wav 00;36
*.oga 00;36
*.opus 00;36
*.spx 00;36
*.xspf 00;36
+361
View File
@@ -0,0 +1,361 @@
# vim:ft=conf
# These examples require Nerd Fonts or a compatible font to be used.
# See https://www.nerdfonts.com for more information.
# default values from lf (with matching order)
# ln l # LINK
# or l # ORPHAN
# tw t # STICKY_OTHER_WRITABLE
# ow d # OTHER_WRITABLE
# st t # STICKY
# di d # DIR
# pi p # FIFO
# so s # SOCK
# bd b # BLK
# cd c # CHR
# su u # SETUID
# sg g # SETGID
# ex x # EXEC
# fi - # FILE
# file types (with matching order)
ln  # LINK
or  # ORPHAN
tw t # STICKY_OTHER_WRITABLE
ow  # OTHER_WRITABLE
st t # STICKY
di  # DIR
pi p # FIFO
so s # SOCK
bd b # BLK
cd c # CHR
su u # SETUID
sg g # SETGID
ex  # EXEC
fi  # FILE
# file extensions (vim-devicons)
*.styl 
*.sass 
*.scss 
*.htm 
*.html 
*.slim 
*.haml 
*.ejs 
*.css 
*.less 
*.md 
*.mdx 
*.markdown 
*.rmd 
*.json 
*.webmanifest 
*.js 
*.mjs 
*.jsx 
*.rb 
*.gemspec 
*.rake 
*.php 
*.py 
*.pyc 
*.pyo 
*.pyd 
*.coffee 
*.mustache 
*.hbs 
*.conf 
*.ini 
*.yml 
*.yaml 
*.toml 
*.bat 
*.mk 
*.jpg 
*.jpeg 
*.bmp 
*.png 
*.webp 
*.gif 
*.ico 
*.twig 
*.cpp 
*.c++ 
*.cxx 
*.cc 
*.cp 
*.c 
*.cs 󰌛
*.h 
*.hh 
*.hpp 
*.hxx 
*.hs 
*.lhs 
*.nix 
*.lua 
*.java 
*.sh 
*.fish 
*.bash 
*.zsh 
*.ksh 
*.csh 
*.awk 
*.ps1 
*.ml λ
*.mli λ
*.diff 
*.db 
*.sql 
*.dump 
*.clj 
*.cljc 
*.cljs 
*.edn 
*.scala 
*.go 
*.dart 
*.xul 
*.sln 
*.suo 
*.pl 
*.pm 
*.t 
*.rss 
'*.f#' 
*.fsscript 
*.fsx 
*.fs 
*.fsi 
*.rs 
*.rlib 
*.d 
*.erl 
*.hrl 
*.ex 
*.exs 
*.eex 
*.leex 
*.heex 
*.vim 
*.ai 
*.psd 
*.psb 
*.ts 
*.tsx 
*.jl 
*.pp 
*.vue 
*.elm 
*.swift 
*.xcplayground 
*.tex 󰙩
*.r 󰟔
*.rproj 󰗆
*.sol 󰡪
*.pem 
# file names (vim-devicons) (case-insensitive not supported in lf)
*gruntfile.coffee 
*gruntfile.js 
*gruntfile.ls 
*gulpfile.coffee 
*gulpfile.js 
*gulpfile.ls 
*mix.lock 
*dropbox 
*.ds_store 
*.gitconfig 
*.gitignore 
*.gitattributes 
*.gitlab-ci.yml 
*.bashrc 
*.zshrc 
*.zshenv 
*.zprofile 
*.vimrc 
*.gvimrc 
*_vimrc 
*_gvimrc 
*.bashprofile 
*favicon.ico 
*license 
*node_modules 
*react.jsx 
*procfile 
*dockerfile 
*docker-compose.yml 
*docker-compose.yaml 
*compose.yml 
*compose.yaml 
*rakefile 
*config.ru 
*gemfile 
*makefile 
*cmakelists.txt 
*robots.txt 󰚩
# file names (case-sensitive adaptations)
*Gruntfile.coffee 
*Gruntfile.js 
*Gruntfile.ls 
*Gulpfile.coffee 
*Gulpfile.js 
*Gulpfile.ls 
*Dropbox 
*.DS_Store 
*LICENSE 
*React.jsx 
*Procfile 
*Dockerfile 
*Docker-compose.yml 
*Docker-compose.yaml 
*Rakefile 
*Gemfile 
*Makefile 
*CMakeLists.txt 
# file patterns (vim-devicons) (patterns not supported in lf)
# .*jquery.*\.js$ 
# .*angular.*\.js$ 
# .*backbone.*\.js$ 
# .*require.*\.js$ 
# .*materialize.*\.js$ 
# .*materialize.*\.css$ 
# .*mootools.*\.js$ 
# .*vimrc.* 
# Vagrantfile$ 
# file patterns (file name adaptations)
*jquery.min.js 
*angular.min.js 
*backbone.min.js 
*require.min.js 
*materialize.min.js 
*materialize.min.css 
*mootools.min.js 
*vimrc 
Vagrantfile 
# archives or compressed (extensions from dircolors defaults)
*.tar 
*.tgz 
*.arc 
*.arj 
*.taz 
*.lha 
*.lz4 
*.lzh 
*.lzma 
*.tlz 
*.txz 
*.tzo 
*.t7z 
*.zip 
*.z 
*.dz 
*.gz 
*.lrz 
*.lz 
*.lzo 
*.xz 
*.zst 
*.tzst 
*.bz2 
*.bz 
*.tbz 
*.tbz2 
*.tz 
*.deb 
*.rpm 
*.jar 
*.war 
*.ear 
*.sar 
*.rar 
*.alz 
*.ace 
*.zoo 
*.cpio 
*.7z 
*.rz 
*.cab 
*.wim 
*.swm 
*.dwm 
*.esd 
# image formats (extensions from dircolors defaults)
*.jpg 
*.jpeg 
*.mjpg 
*.mjpeg 
*.gif 
*.bmp 
*.pbm 
*.pgm 
*.ppm 
*.tga 
*.xbm 
*.xpm 
*.tif 
*.tiff 
*.png 
*.svg 
*.svgz 
*.mng 
*.pcx 
*.mov 
*.mpg 
*.mpeg 
*.m2v 
*.mkv 
*.webm 
*.ogm 
*.mp4 
*.m4v 
*.mp4v 
*.vob 
*.qt 
*.nuv 
*.wmv 
*.asf 
*.rm 
*.rmvb 
*.flc 
*.avi 
*.fli 
*.flv 
*.gl 
*.dl 
*.xcf 
*.xwd 
*.yuv 
*.cgm 
*.emf 
*.ogv 
*.ogx 
# audio formats (extensions from dircolors defaults)
*.aac 
*.au 
*.flac 
*.m4a 
*.mid 
*.midi 
*.mka 
*.mp3 
*.mpc 
*.ogg 
*.ra 
*.wav 
*.oga 
*.opus 
*.spx 
*.xspf 
# other formats
*.pdf 
+80
View File
@@ -0,0 +1,80 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ pistol ];
programs.lf = {
enable = true;
commands = {
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
editor-open = "$$EDITOR $f";
mkdir = ''
''${{
printf "Directory Name: "
read DIR
mkdir $DIR
}}
'';
};
keybindings = {
d = "delete";
x = "cut";
"<enter>" = "open";
"<c-g>" = "quit";
"<esc>" = "quit";
"H" = "set hidden!";
"\\\"" = "";
o = "";
c = "mkdir";
"." = "set hidden!";
"`" = "mark-load";
"\\'" = "mark-load";
"g~" = "cd";
do = "dragon-out";
gh = "cd";
"g/" = "/";
ee = "editor-open";
V = ''$''${pkgs.bat}/bin/bat --paging=always "$f"'';
};
settings = {
ratios = [ 1 1 2 ];
preview = true;
hidden = true;
drawbox = true;
icons = true;
ignorecase = true;
incsearch = true;
};
previewer.source = "${pkgs.pistol}/bin/pistol";
extraConfig = let
previewer = pkgs.writeShellScriptBin "pv.sh" ''
file=$1
w=$2
h=$3
x=$4
y=$5
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
exit 1
fi
${pkgs.pistol}/bin/pistol "$file"
'';
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
'';
in ''
set cleaner ${cleaner}/bin/clean.sh
set previewer ${previewer}/bin/pv.sh
'';
};
xdg.configFile."lf" = {
recursive = true;
source = ./config;
};
}
-4
View File
@@ -1,4 +0,0 @@
# Work in progress on another repo
{ pkgs, ... }: {
home.packages = with pkgs; [ wkhtmltopdf ];
}
+5 -6
View File
@@ -1,7 +1,6 @@
# Nextcloud is a suite of client-server software for creating file hosting services and using them. It is functionally similar to Dropbox, although Nextcloud is free and open-source, allowing anyone to install and operate it on a private server. In contrast to proprietary services, Nextcloud can be hosted on a private server, without additional cost.
{ {
services.nextcloud-client = { services.nextcloud-client = {
enable = true; enable = true;
startInBackground = true; startInBackground = true;
}; };
} }
+12
View File
@@ -0,0 +1,12 @@
{
programs.nixvim = {
enable = true;
colorschemes.catppuccin = {
enable = true;
settings = {
transparent_background = true;
flavour = "mocha";
};
};
};
}
+2 -6
View File
@@ -1,4 +1,3 @@
# Nixvim is a NixOS module that installs and configures Neovim
{ inputs, ... }: { { inputs, ... }: {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
@@ -9,13 +8,10 @@
./plugins/tree.nix ./plugins/tree.nix
./plugins/ui.nix ./plugins/ui.nix
./plugins/utils.nix ./plugins/utils.nix
./plugins/dap.nix ./plugins/zen-mode.nix
./plugins/telescope.nix
./plugins/zenmode.nix
./options.nix ./options.nix
./colorscheme.nix
./keymaps.nix ./keymaps.nix
]; ];
programs.nixvim.enable = true;
} }
+22 -308
View File
@@ -1,310 +1,24 @@
{ {
programs.nixvim = { programs.nixvim.keymaps = [
plugins.which-key = { {
enable = true; key = "<leader>fm";
settings = { action = "<cmd>lua vim.lsp.buf.format()<cr>";
delay = 600; options.desc = "LSP Format";
icons = { }
breadcrumb = "»"; {
group = "+"; key = "<leader>w";
separator = ""; # ➜ action = "<cmd>set wrap!<cr>";
mappings = false; options.desc = "Toggle word wrapping";
}; }
spec = [ {
# General Mappings key = "<leader>W";
{ action = "<cmd>set linebreak!<cr>";
__unkeyed-1 = "<leader>c"; options.desc = "Toggle linebreak";
mode = [ "n" "v" ]; }
group = "+code"; {
} key = "<leader>z";
{ action = "<cmd>ZenMode<cr>";
__unkeyed-1 = "<leader>d"; options.desc = "ZenMode";
mode = [ "n" "v" ]; }
group = "+debug"; ];
}
{
__unkeyed-1 = "<leader>s";
mode = "n";
group = "+search";
}
{
__unkeyed-1 = "<leader>m";
mode = "n";
group = "+markdown";
}
{
__unkeyed-1 = "<leader>t";
mode = "n";
group = "+trouble";
}
{
__unkeyed-1 = "<leader>u";
mode = "n";
group = "+ui";
}
{
__unkeyed-1 = "<leader>w";
mode = "n";
group = "+windows";
}
{
__unkeyed-1 = "<leader>h";
mode = "n";
group = "+harpoon";
}
];
win = {
border = "rounded";
wo.winblend = 0;
};
};
};
keymaps = [
# General Mappings
{
key = "<leader>e";
action = "<cmd>Oil --float<cr>";
options.desc = "Oil";
}
{
key = "-";
action = "<cmd>Oil<cr>";
options.desc = "Oil";
}
{
key = "<leader>E";
action = "<cmd>Neotree toggle<cr>";
options.desc = "Neotree";
}
{
key = "s";
action = "<cmd>lua require('flash').jump()<cr>";
options.desc = "Flash";
}
{
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
options.desc = "LSP Hover";
}
{
key = "<C-h>";
action = "<cmd>TmuxNavigateLeft<cr>";
}
{
key = "<C-j>";
action = "<cmd>TmuxNavigateDown<cr>";
}
{
key = "<C-k>";
action = "<cmd>TmuxNavigateUp<cr>";
}
{
key = "<C-l>";
action = "<cmd>TmuxNavigateRight<cr>";
}
# UI
{
key = "<leader>uz";
action = "<cmd>ZenMode<cr>";
options.desc = "Toggle ZenMode";
}
{
key = "<leader>uw";
action = "<cmd>set wrap!<cr>";
options.desc = "Toggle word wrapping";
}
{
key = "<leader>ul";
action = "<cmd>set linebreak!<cr>";
options.desc = "Toggle linebreak";
}
{
key = "<leader>us";
action = "<cmd>set spell!<cr>";
options.desc = "Toggle spellcheck";
}
{
key = "<leader>uc";
action = "<cmd>set cursorline!<cr>";
options.desc = "Toggle cursorline";
}
{
key = "<leader>un";
action = "<cmd>set number!<cr>";
options.desc = "Toggle line numbers";
}
{
key = "<leader>ur";
action = "<cmd>set relativenumber!<cr>";
options.desc = "Toggle relative line numbers";
}
{
key = "<leader>ut";
action = "<cmd>set showtabline=2<cr>";
options.desc = "Show tabline";
}
{
key = "<leader>uT";
action = "<cmd>set showtabline=0<cr>";
options.desc = "Hide tabline";
}
# Search
{
key = "<leader> ";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Telescope";
}
{
key = "<leader>sg";
action = "<cmd>lua require('telescope.builtin').live_grep()<cr>";
options.desc = "Livegrep";
}
{
key = "<leader>sf";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Find Files";
}
{
key = "<leader>sb";
action = "<cmd>lua require('telescope.builtin').buffers()<cr>";
options.desc = "Buffers";
}
{
key = "<leader>sh";
action = "<cmd>lua require('telescope.builtin').help_tags()<cr>";
options.desc = "Help Tags";
}
{
key = "<leader>sc";
action = "<cmd>lua require('telescope.builtin').commands()<cr>";
options.desc = "Commands";
}
{
key = "<leader>sm";
action = "<cmd>lua require('telescope.builtin').marks()<cr>";
options.desc = "Marks";
}
{
key = "<leader>so";
action = "<cmd>lua require('telescope.builtin').oldfiles()<cr>";
options.desc = "Oldfiles";
}
{
key = "<leader>ss";
action = "<cmd>lua require('telescope.builtin').spell_suggest()<cr>";
options.desc = "Spell Suggest";
}
{
key = "<leader>sr";
action = "<cmd>:noh<return><esc>";
options.desc = "Reset search";
}
{
key = "<leader>st";
action = "<cmd>TodoTelescope<cr>";
options.desc = "Todos";
}
# Trouble
{
key = "<leader>tx";
action = "<cmd>Trouble diagnostics toggle<cr>";
options.desc = "Diagnostics (Trouble)";
}
{
key = "<leader>tX";
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
options.desc = "Buffer Diagnostics (Trouble)";
}
{
key = "<leader>ts";
action = "<cmd>Trouble symbols toggle focus=false<cr>";
options.desc = "Symbols (Trouble)";
}
{
key = "<leader>tl";
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
options.desc = "LSP Definitions / references / ... (Trouble)";
}
{
key = "<leader>tL";
action = "<cmd>Trouble loclist toggle<cr>";
options.desc = "Location List (Trouble)";
}
{
key = "<leader>tQ";
action = "<cmd>Trouble qflist toggle<cr>";
options.desc = "Quickfix List (Trouble)";
}
# Windows
{
key = "<leader>ws";
action = "<cmd>split<cr>";
options.desc = "Split";
}
{
key = "<leader>wv";
action = "<cmd>vsplit<cr>";
options.desc = "VSplit";
}
{
key = "<leader>wd";
action = "<cmd>close<cr>";
options.desc = "Close";
}
# Code
{
key = "<leader>cd";
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
options.desc = "LSP Definition";
}
{
key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.references()<cr>";
options.desc = "LSP References";
}
{
key = "<leader>ct";
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
options.desc = "LSP Type Definition";
}
{
key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
options.desc = "LSP Code Action";
}
{
key = "<leader>cf";
action = "<cmd>lua vim.lsp.buf.formatting()<cr>";
options.desc = "LSP Formatting";
}
{
key = "<leader>cn";
action = "<cmd>lua vim.lsp.diagnostic.goto_next()<cr>";
options.desc = "LSP Next Diagnostic";
}
{
key = "<leader>cp";
action = "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>";
options.desc = "LSP Previous Diagnostic";
}
{
key = "<leader>cu";
action = "<cmd>lua require('dapui').toggle()<CR>";
options.desc = "Toggle Dapui";
}
{
key = "<leader>cb";
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
options.desc = "Toggle breakpoint";
}
];
};
} }
+2 -3
View File
@@ -1,4 +1,5 @@
{ {
programs.nixvim.globals.mapleader = " "; programs.nixvim.globals.mapleader = " ";
programs.nixvim.opts = { programs.nixvim.opts = {
updatetime = 50; # Faster completion updatetime = 50; # Faster completion
@@ -21,13 +22,11 @@
hlsearch = true; hlsearch = true;
smartcase = true; smartcase = true;
wildmode = "list:longest"; wildmode = "list:longest";
completeopt = [ "menuone" "noselect" "noinsert" ]; completeopt = [ "menuone" "noselect" ];
signcolumn = "yes"; signcolumn = "yes";
cursorline = false; cursorline = false;
scrolloff = 8; scrolloff = 8;
mouse = "a"; mouse = "a";
termguicolors = true;
showmode = false;
wrap = false; wrap = false;
+2 -6
View File
@@ -15,12 +15,8 @@
sources = [ sources = [
{ name = "nvim_lsp"; } { name = "nvim_lsp"; }
{ name = "luasnip"; } { name = "luasnip"; }
{ { name = "buffer"; }
name = "buffer";
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
}
{ name = "nvim_lua"; } { name = "nvim_lua"; }
{ name = "mkdnflow"; }
{ name = "path"; } { name = "path"; }
]; ];
@@ -84,7 +80,7 @@
completion = { completion = {
winhighlight = winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel"; "FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel";
scrollbar = false; scrollbar = true;
sidePadding = 0; sidePadding = 0;
border = [ "" "" "" "" "" "" "" "" ]; border = [ "" "" "" "" "" "" "" "" ];
}; };
-28
View File
@@ -1,28 +0,0 @@
{ pkgs, ... }: {
programs.nixvim.plugins.dap = {
enable = true;
adapters = { };
signs = {
dapBreakpoint = {
text = "";
texthl = "DapBreakpoint";
};
dapBreakpointCondition = {
text = "";
texthl = "DapBreakpointCondition";
};
dapLogPoint = {
text = "";
texthl = "DapLogPoint";
};
};
extensions = {
dap-go = {
enable = true;
delve.path = "${pkgs.delve}/bin/dlv";
};
dap-ui = { enable = true; };
dap-virtual-text = { enable = true; };
};
};
}
+7 -12
View File
@@ -1,15 +1,9 @@
{ config, ... }: { config, ... }: {
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
foreground = "#${config.lib.stylix.colors.base05}";
configDir = config.var.configDirectory;
in {
programs.nixvim.highlight = { programs.nixvim.highlight = {
AlphaHeaderColor.fg = accent; AlphaHeaderColor.fg = "#${config.var.theme.colors.accent}";
AlphaTextColor.fg = foreground; AlphaTextColor.fg = "#${config.var.theme.colors.fg}";
AlphaShortcutColor.fg = muted; AlphaShortcutColor.fg = "#${config.var.theme.colors.fgalt}";
}; };
programs.nixvim.plugins.alpha = { programs.nixvim.plugins.alpha = {
@@ -76,7 +70,8 @@ in {
{ {
type = "button"; type = "button";
val = " NixOs Config"; val = " NixOs Config";
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end"; on_press.__raw =
"function() vim.cmd[[Neotree ${config.var.configDirectory}]] end";
opts = { opts = {
shortcut = "nc"; shortcut = "nc";
position = "center"; position = "center";
@@ -91,7 +86,7 @@ in {
type = "button"; type = "button";
val = " Keybindings"; val = " Keybindings";
on_press.__raw = on_press.__raw =
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end"; "function() vim.cmd[[e ${config.var.configDirectory}/docs/KEYBINDINGS.md]] end";
opts = { opts = {
shortcut = "nc"; shortcut = "nc";
position = "center"; position = "center";
+8 -3
View File
@@ -9,9 +9,16 @@
gopls.enable = true; gopls.enable = true;
nixd.enable = true; nixd.enable = true;
tailwindcss.enable = true; tailwindcss.enable = true;
html.enable = true; # html.enable = true; # FIXME: broken for some reason
svelte.enable = true; svelte.enable = true;
marksman.enable = true; marksman.enable = true;
ltex = {
enable = false;
settings = {
enabled = false;
language = "en";
};
};
}; };
keymaps.lspBuf = { keymaps.lspBuf = {
"gd" = "definition"; "gd" = "definition";
@@ -36,8 +43,6 @@
tidy.enable = true; tidy.enable = true;
shellharden.enable = true; shellharden.enable = true;
shfmt.enable = true; shfmt.enable = true;
golines.enable = true;
gofumpt.enable = true;
}; };
}; };
}; };
+110 -149
View File
@@ -1,105 +1,28 @@
# The render-markdown.nvim plugin is a plugin that renders markdown files in a neovim in a more readable way. {
{ config, ... }: programs.nixvim.plugins = {
let mkdnflow = {
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
background = "#${config.lib.stylix.colors.base00}";
in {
programs.nixvim = {
plugins.mkdnflow = {
enable = true; enable = true;
modules = { conceal = false; };
toDo.symbols = [ " " "-" "x" "!" "/" ];
mappings = { mappings = {
MkdnCreateLink = false;
MkdnCreateLinkFromClipboard = { # Main
key = "<leader>ml";
modes = [ "n" "v" ];
};
MkdnDecreaseHeading = {
key = "<leader>m-";
modes = "n";
};
MkdnDestroyLink = false;
MkdnEnter = { MkdnEnter = {
key = "<CR>"; key = "<CR>";
modes = [ "v" ]; modes = [ "n" "v" "i" ];
}; };
MkdnExtendList = false;
MkdnFoldSection = { # Links
key = "<leader>mf"; MkdnCreateLink = false;
modes = "n"; MkdnCreateLinkFromClipboard = {
}; key = "<leader>lc";
MkdnUnfoldSection = {
key = "<leader>mF";
modes = "n";
};
MkdnFollowLink = {
key = "gd";
modes = "n";
};
MkdnGoBack = false;
MkdnGoForward = false;
MkdnIncreaseHeading = {
key = "<leader>m+";
modes = "n";
};
MkdnMoveSource = false;
MkdnNewListItem = false;
MkdnNewListItemAboveInsert = {
key = "O";
modes = "n";
};
MkdnNewListItemBelowInsert = {
key = "o";
modes = "n";
};
MkdnNextHeading = {
key = "<leader>m#";
modes = "n";
};
MkdnNextLink = false;
MkdnPrevLink = false;
MkdnPrevHeading = {
key = "<leader>m*";
modes = "n";
};
MkdnSTab = false;
MkdnTab = false;
MkdnTableNewColAfter = {
key = "<leader>mc";
modes = "n";
};
MkdnTableNewColBefore = {
key = "<leader>mC";
modes = "n";
};
MkdnTableNewRowAbove = {
key = "<leader>mR";
modes = "n";
};
MkdnTableNewRowBelow = {
key = "<leader>mr";
modes = "n";
};
MkdnTableNextCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTableNextRow = false;
MkdnTablePrevCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTablePrevRow = false;
MkdnToggleToDo = {
key = "<C-Space>";
modes = [ "n" "v" ]; modes = [ "n" "v" ];
}; };
MkdnUpdateNumbering = { MkdnDestroyLink = {
key = "<leader>mn"; key = "<leader>dl";
modes = "n";
};
MkdnFollowLink = false;
MkdnNextLink = {
key = "<Tab>";
modes = "n"; modes = "n";
}; };
MkdnYankAnchorLink = { MkdnYankAnchorLink = {
@@ -110,61 +33,99 @@ in {
key = "yfa"; key = "yfa";
modes = "n"; modes = "n";
}; };
}; MkdnPrevLink = {
}; key = "<S-Tab>";
extraFiles = { modes = "n";
"after/ftplugin/markdown.lua".text = ''
vim.bo.tabstop = 2
vim.bo.shiftwidth = 2
vim.bo.expandtab = true
'';
};
highlight = {
RenderMarkdownBg.bg = background;
RenderMarkdownH1.fg = accent;
RenderMarkdownH2.fg = muted;
RenderMarkdownH3.fg = muted;
RenderMarkdownH4.fg = muted;
RenderMarkdownH5.fg = muted;
RenderMarkdownH6.fg = muted;
RenderMarkdownTodo.fg = muted;
RenderMarkdownWarning.fg = accent;
};
plugins.render-markdown = {
enable = true;
settings = {
heading = {
icons = [ "# " "󰲣 " "󰲥 " "󰲧 " "󰲩 " "󰲫 " ];
backgrounds = [ "RenderMarkdownBg" ];
foregrounds = [
"RenderMarkdownH1"
"RenderMarkdownH2"
"RenderMarkdownH3"
"RenderMarkdownH4"
"RenderMarkdownH5"
"RenderMarkdownH6"
];
}; };
checkbox = {
unchecked = { highlight = "RenderMarkdownTodo"; }; MkdnDecreaseHeading = {
checked = { highlight = "RenderMarkdownTodo"; }; key = "-";
custom = { modes = "n";
pending = { };
raw = "[-]"; MkdnExtendList = false;
rendered = "󰥔 "; MkdnFoldSection = {
highlight = "RenderMarkdownTodo"; key = "<leader>ff";
}; modes = "n";
important = { };
raw = "[!]"; MkdnUnfoldSection = {
rendered = " "; key = "<leader>fu";
highlight = "RenderMarkdownWarning"; modes = "n";
}; };
cancel = { MkdnGoBack = {
raw = "[/]"; key = "<BS>";
rendered = "󱋬 "; modes = "n";
highlight = "RenderMarkdownTodo"; };
}; 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";
}; };
}; };
}; };
-31
View File
@@ -1,31 +0,0 @@
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.nixvim = {
highlight = {
TelescopePromptPrefix.fg = accent;
TelescopeSelectionCaret = {
fg = accent;
bg = background-alt;
};
TelescopeSelection.bg = background-alt;
TelescopePromptTitle = {
bg = background;
fg = accent;
};
TelescopePromptNormal.bg = background;
TelescopePromptBorder = {
bg = background;
fg = accent;
};
};
plugins.telescope = {
enable = true;
extensions.fzf-native = { enable = true; };
settings.defaults = { selection_caret = " "; };
};
};
}
+17
View File
@@ -40,5 +40,22 @@
}; };
}; };
}; };
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";
}
];
}; };
} }
+16 -39
View File
@@ -1,54 +1,31 @@
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ ctags ]; home.packages = with pkgs; [ ctags ];
programs.nixvim = { programs.nixvim = {
plugins = { plugins = {
lualine = { lualine.enable = true;
enable = true;
settings = {
options.disabled_filetypes.statusline =
[ "dashboard" "alpha" "neo-tree" ];
alwaysDivideMiddle = true;
globalstatus = true;
ignoreFocus = [ "neo-tree" ];
extensions = [ "fzf" ];
theme = "auto";
componentSeparators = {
left = "|";
right = "|";
};
sectionSeparators = {
left = ""; # 
right = ""; # 
};
sections = {
lualine_a = [ "mode" ];
lualine_b = [ "branch" "diff" "diagnostics" ];
lualine_c = [ "filename" ];
lualine_x = [ "filetype" ];
lualine_y = [ "progress" ];
lualine_z = [ ''" " .. os.date("%R")'' ];
};
};
};
web-devicons.enable = true;
noice.enable = true; noice.enable = true;
notify = {
enable = true;
level = "warn";
};
gitsigns = { gitsigns = {
enable = true; enable = true;
settings.current_line_blame = false; settings.current_line_blame = false;
}; };
bufferline.enable = true;
trouble.enable = true; trouble.enable = true;
indent-blankline.enable = true; which-key.enable = true;
nvim-colorizer.enable = true; headlines = {
tagbar = {
enable = true; enable = true;
tagsPackage = pkgs.universal-ctags; settings = {
markdown = {
codeblock_highlight = false;
};
};
}; };
nvim-colorizer.enable = true;
# tagbar.enable = true;
}; };
keymaps = [{
key = "<leader>t";
action = "<cmd>TroubleToggle<cr>";
options.desc = "Trouble";
}];
}; };
} }
+28 -26
View File
@@ -1,23 +1,24 @@
{ config, ... }: { { config, ... }: {
programs.nixvim = { programs.nixvim = {
highlightOverride = { highlightOverride = {
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}"; FloatBorder.fg = "#${config.var.theme.colors.accent}";
}; };
plugins = { plugins = {
copilot-vim.enable = true; copilot-vim.enable = true;
flash.enable = true; flash.enable = true;
image = { # image.enable = true;
enable = true;
integrations.markdown = {
clearInInsertMode = true;
onlyRenderImageAtCursor = true;
};
};
tmux-navigator.enable = true; tmux-navigator.enable = true;
comment.enable = true; comment.enable = true;
nvim-autopairs.enable = true; nvim-autopairs.enable = true;
friendly-snippets.enable = true; friendly-snippets.enable = true;
todo-comments.enable = true; telescope = {
enable = true;
keymaps = {
"<leader>fg" = "live_grep";
"<leader> " = "find_files";
};
extensions.fzf-native = { enable = true; };
};
treesitter = { treesitter = {
enable = true; enable = true;
nixGrammars = true; nixGrammars = true;
@@ -26,24 +27,25 @@
highlight.enable = true; highlight.enable = true;
}; };
}; };
harpoon = {
enable = true;
enableTelescope = true;
keymapsSilent = true;
keymaps = {
addFile = "<leader>ha";
toggleQuickMenu = "<leader>hu";
navNext = "<leader>hl";
navPrev = "<leader>hh";
navFile = {
"1" = "<leader>h1";
"2" = "<leader>h2";
"3" = "<leader>h3";
"4" = "<leader>h4";
};
};
};
treesitter-context.enable = true; 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>";
}
];
}; };
} }
+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;
};
};
};
}
-46
View File
@@ -1,46 +0,0 @@
{
programs.nixvim.plugins = {
zen-mode = {
enable = true;
settings = {
on_close = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLEnable')
vim.opt.signcolumn = "yes:2"
vim.wo.wrap = false
vim.wo.linebreak = false
require("gitsigns.actions").refresh()
end
'';
on_open = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLDisable')
vim.opt.relativenumber = false
vim.opt.signcolumn = "no"
vim.wo.wrap = true
vim.wo.linebreak = true
require("gitsigns.actions").refresh()
end
'';
window = {
backdrop = 1;
height = 1;
options = {
signcolumn = "no";
number = false;
relativenumber = false;
cursorline = false;
cursorcolumn = false;
foldcolumn = "0";
list = false;
};
width = 0.8;
};
};
};
};
}
+94 -13
View File
@@ -1,13 +1,5 @@
# Qutebrowser is a keyboard-focused browser with a minimal GUI.
# My homepage is generated using https://github.com/anotherhadi/homepage
{ pkgs, config, ... }: { pkgs, config, ... }:
let let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = '' settings = ''
{ {
"config": { "config": {
@@ -15,10 +7,10 @@ let
"openLinksInNewTab": false, "openLinksInNewTab": false,
"locale": "fr-FR", "locale": "fr-FR",
"colors": { "colors": {
"primary": "${accent}", "primary": "#${config.var.theme.colors.accent}",
"background": "${background}", "background": "#${config.var.theme.colors.bg}",
"foreground": "${foreground}", "foreground": "#${config.var.theme.colors.fg}",
"muted": "#${muted}" "muted": "#${config.var.theme.colors.c8}"
}, },
"folders": [ "folders": [
{ {
@@ -125,12 +117,98 @@ in {
}; };
colors = { colors = {
tabs = {
odd.bg = "#${config.var.theme.colors.bg}";
odd.fg = "#${config.var.theme.colors.fg}";
even.bg = "#${config.var.theme.colors.bg}";
even.fg = "#${config.var.theme.colors.fg}";
selected = {
odd = {
bg = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
};
even = {
bg = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
};
};
indicator = {
error = "#${config.var.theme.colors.c1}";
start = "#${config.var.theme.colors.bgalt}";
stop = "#${config.var.theme.colors.bgalt}";
};
};
hints = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
match.fg = "#${config.var.theme.colors.bg}";
};
completion = {
category = {
bg = "#${config.var.theme.colors.bg}";
fg = "#${config.var.theme.colors.fg}";
border = {
top = "#${config.var.theme.colors.bg}";
bottom = "#${config.var.theme.colors.bg}";
};
};
odd.bg = "#${config.var.theme.colors.bg}";
even.bg = "#${config.var.theme.colors.bg}";
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
match.fg = "#${config.var.theme.colors.accent}";
item.selected = {
bg = "#${config.var.theme.colors.accent}";
border.top = "#${config.var.theme.colors.accent}";
border.bottom = "#${config.var.theme.colors.accent}";
fg = "#${config.var.theme.colors.accentFg}";
match.fg = "#${config.var.theme.colors.accentFg}";
};
};
statusbar = {
normal.bg = "#${config.var.theme.colors.bg}";
normal.fg = "#${config.var.theme.colors.fg}";
private.bg = "#${config.var.theme.colors.bg}";
private.fg = "#${config.var.theme.colors.fg}";
insert.bg = "#${config.var.theme.colors.accent}";
insert.fg = "#${config.var.theme.colors.accentFg}";
command = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
private.bg = "#${config.var.theme.colors.bgalt}";
private.fg = "#${config.var.theme.colors.fgalt}";
};
};
messages = {
info = {
bg = "#${config.var.theme.colors.bgalt}";
fg = "#${config.var.theme.colors.fgalt}";
border = "#${config.var.theme.colors.bgalt}";
};
error = {
bg = "#${config.var.theme.colors.c1}";
fg = "#${config.var.theme.colors.fgalt}";
border = "#${config.var.theme.colors.c1}";
};
};
#webpage.darkmode.enabled = true; # Enable dark mode for all websites (Weird on images)
webpage.preferred_color_scheme = webpage.preferred_color_scheme =
"dark"; # Enable dark mode for websites that support it "dark"; # Enable dark mode for websites that support it
}; };
statusbar.show = "in-mode"; statusbar.show = "in-mode";
fonts = { default_family = "${config.var.theme.font}"; };
completion = { completion = {
height = "30%"; height = "30%";
open_categories = [ "history" ]; open_categories = [ "history" ];
@@ -157,7 +235,10 @@ in {
remove_finished = 0; remove_finished = 0;
}; };
hints = { radius = 1; }; hints = {
border = "none";
radius = 1;
};
scrolling = { scrolling = {
bar = "never"; bar = "never";
@@ -1,44 +1,36 @@
# A duckduckgo colorscheme generated for the Stylix theme used. { config, ... }: {
{ config, ... }: home.file.".duckduckgo-colorscheme.js".text = ''
let // Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
accent = config.lib.stylix.colors.base0D; // based on https://ddg.codingcodax.dev/
background = config.lib.stylix.colors.base00; // Cookies string for your theme
foreground = config.lib.stylix.colors.base05; const cookie = '7=${config.var.theme.colors.bg}; j=${config.var.theme.colors.bg}; 9=${config.var.theme.colors.fg}; aa=${config.var.theme.colors.fgalt}; 8=${config.var.theme.colors.c7}; x=${config.var.theme.colors.accent}; 21=${config.var.theme.colors.bgalt};';
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
const cookie = '7=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON // Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => { const cookieToJSON = (cookieRaw) => {
const cookieJson = {}; const cookieJson = {};
const items = cookieRaw.split(/[ ,]+/); const items = cookieRaw.split(/[ ,]+/);
items.forEach((item) => { items.forEach((item) => {
const parts = item.split('='); const parts = item.split('=');
cookieJson[parts[0]] = parts[1]; cookieJson[parts[0]] = parts[1];
}); });
return cookieJson; return cookieJson;
}; };
// Iterates over JSON, and adds to browser cookie store // Iterates over JSON, and adds to browser cookie store
const setCookies = (cookieJson) => { const setCookies = (cookieJson) => {
Object.keys(cookieJson).forEach((key) => { Object.keys(cookieJson).forEach((key) => {
document.cookie = `''${key}=''${cookieJson [ key ]}`; document.cookie = `''${key}=''${cookieJson [ key ]}`;
}); });
}; };
// Call set cookies, passing in formated cookie data alert('The Nixy theme will be applied.');
setCookies(cookieToJSON(cookie));
// All done, reload page for changes to take effect :) // Call set cookies, passing in formated cookie data
location.reload(); setCookies(cookieToJSON(cookie));
'';
// All done, reload page for changes to take effect :)
location.reload();
'';
} }
+9 -2
View File
@@ -1,4 +1,11 @@
{ {
imports = imports = [
[ ./fzf.nix ./zsh.nix ./starship.nix ./zoxide.nix ./tmux.nix ./eza.nix ]; ./fzf.nix
./zsh.nix
./starship.nix
./zoxide.nix
./tmux.nix
./lazygit.nix
./eza.nix
];
} }
-1
View File
@@ -1,4 +1,3 @@
# Eza is a ls replacement
{ {
programs.eza = { programs.eza = {
enable = true; enable = true;
+6 -12
View File
@@ -1,20 +1,14 @@
# Fzf is a general-purpose command-line fuzzy finder. { config, ... }: {
{ config, lib, ... }:
let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
in {
programs.fzf = { programs.fzf = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
colors = lib.mkForce { colors = {
"fg+" = accent; "fg+" = config.var.theme.colors.accentName;
"bg+" = "-1"; "bg+" = "-1";
"fg" = foreground; "fg" = "white";
"bg" = "-1"; "bg" = "-1";
"prompt" = muted; "prompt" = "grey";
"pointer" = accent; "pointer" = config.var.theme.colors.accentName;
}; };
defaultOptions = [ defaultOptions = [
"--margin=1" "--margin=1"
+13
View File
@@ -0,0 +1,13 @@
{ config, ... }: {
programs.lazygit = {
enable = true;
settings = {
gui.theme = {
ligthTheme = false;
activeBorderColor = [ "${config.var.theme.colors.accentName}" "bold" ];
inactiveBorderColor = [ "black" ];
selectedLineBgColor = [ "default" ];
};
};
};
}
+6 -12
View File
@@ -1,9 +1,4 @@
# starship is a minimal, fast, and extremely customizable prompt for any shell! { config, lib, ... }: {
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {
@@ -15,23 +10,22 @@ in {
"$git_status" "$git_status"
"$character" "$character"
]; ];
directory = { style = accent; }; directory = { style = "#${config.var.theme.colors.accent}"; };
character = { character = {
success_symbol = "[](${accent})"; success_symbol = "[](#${config.var.theme.colors.accent})";
error_symbol = "[](red)"; error_symbol = "[](red)";
vimcmd_symbol = "[](cyan)"; vimcmd_symbol = "[](cyan)";
}; };
git_branch = { git_branch = {
symbol = "[](${background-alt}) "; format = "[$branch]($style)";
style = "fg:${accent} bg:${background-alt}"; style = "bright-black";
format = "on [$symbol$branch]($style)[](${background-alt}) ";
}; };
git_status = { git_status = {
format = format =
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)"; "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)";
style = "cyan"; style = "cyan";
conflicted = ""; conflicted = "";
renamed = ""; renamed = "";
+26 -11
View File
@@ -1,4 +1,3 @@
# Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
{ pkgs, ... }: { { pkgs, ... }: {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
@@ -13,21 +12,37 @@
bind-key j select-pane -D bind-key j select-pane -D
bind-key k select-pane -U bind-key k select-pane -U
bind-key l select-pane -R bind-key l select-pane -R
set -gq allow-passthrough on set -gq allow-passthrough on
bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt
set -g detach-on-destroy off # don't exit from tmux when closing a session
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
bind-key -n M-Tab new-window
''; '';
plugins = with pkgs; [ plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator tmuxPlugins.vim-tmux-navigator
tmuxPlugins.resurrect {
tmuxPlugins.sensible plugin = tmuxPlugins.catppuccin;
tmuxPlugins.tokyo-night-tmux extraConfig = ''
set-option -g status-position top
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right ""
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
set -g @catppuccin_status_background "default"
set-option -g default-terminal "screen-256color"
'';
}
]; ];
}; };
} }
+2 -3
View File
@@ -1,7 +1,6 @@
# Zoxide is a cd replacement
{ {
programs.zoxide = { programs.zoxide = {
enable = true; enable= true;
enableZshIntegration = true; enableZshIntegration = true;
}; };
} }
+11 -28
View File
@@ -1,9 +1,6 @@
# My shell configuration { pkgs, lib, config, ... }: {
{ pkgs, lib, config, ... }:
let fetch = config.var.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ bat ripgrep tldr sesh ]; home.packages = with pkgs; [ bat ripgrep tldr ];
home.sessionPath = [ "$HOME/go/bin" ]; home.sessionPath = [ "$HOME/go/bin" ];
@@ -16,31 +13,20 @@ in {
initExtraFirst = '' initExtraFirst = ''
bindkey -e bindkey -e
${if fetch == "neofetch" then ${if config.var.theme.fetch == "neofetch" then
pkgs.neofetch + "/bin/neofetch" pkgs.neofetch + "/bin/neofetch"
else if fetch == "nerdfetch" then else if config.var.theme.fetch == "nerdfetch" then
"nerdfetch" "nerdfetch"
else if fetch == "pfetch" then else if config.var.theme.fetch == "pfetch" then
"echo; ${pkgs.pfetch}/bin/pfetch" "echo; ${pkgs.pfetch}/bin/pfetch"
else else
""} ""}
function sesh-sessions() {
session=$(sesh list -t -c | fzf --height 70% --reverse)
[[ -z "$session" ]] && return
sesh connect $session
}
zle -N sesh-sessions
bindkey -M emacs '\es' sesh-sessions
bindkey -M vicmd '\es' sesh-sessions
bindkey -M viins '\es' sesh-sessions
''; '';
history = { history = {
ignoreDups = true; ignoreDups = true;
save = 10000; save = 1000000;
size = 10000; size = 1000000;
}; };
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) '' profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
@@ -63,17 +49,17 @@ in {
sl = "ls"; sl = "ls";
open = "${pkgs.xdg_utils}/bin/xdg-open"; open = "${pkgs.xdg_utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat"; icat = "${pkgs.kitty}/bin/kitty +kitten icat";
wireguard-import = "nmcli connection import type wireguard file"; wireguard-import = "nmcli connection import type wireguard file";
neorg =
"cd ~/nextcloud/neorg && vim -c ':ZenMode' -c ':Telescope find_files' index.norg";
notes = notes =
"nvim ~/nextcloud/Notes/index.md --cmd 'cd ~/nextcloud/Notes' -c ':Telescope find_files'"; "cd ~/nextcloud/Notes && vim -c ':ZenMode' -c ':Telescope find_files' index.md";
note = "notes"; note = "notes";
# git # git
g = "lazygit";
ga = "git add"; ga = "git add";
gc = "git commit"; gc = "git commit";
gcm = "git commit -m";
gcu = "git add . && git commit -m 'Update'"; gcu = "git add . && git commit -m 'Update'";
gp = "git push"; gp = "git push";
gpl = "git pull"; gpl = "git pull";
@@ -82,9 +68,6 @@ in {
gco = "git checkout"; gco = "git checkout";
gcb = "git checkout -b"; gcb = "git checkout -b";
gbr = "git branch"; gbr = "git branch";
gaa = "git add .";
gcm = "git commit -m";
}; };
}; };
} }
+18 -13
View File
@@ -1,26 +1,31 @@
# Spicetify is a spotify client customizer
{ pkgs, config, lib, inputs, ... }: { pkgs, config, lib, inputs, ... }:
let let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
accent = "${config.lib.stylix.colors.base0D}";
in { in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
nixpkgs.config.allowUnfreePredicate = pkg: nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ "spotify" ]; builtins.elem (lib.getName pkg) [ "spotify" ];
stylix.targets.spicetify.enable = false;
programs.spicetify = { programs.spicetify = {
enable = true; enable = true;
theme = lib.mkForce spicePkgs.themes.text; theme = spicePkgs.themes.text;
colorScheme = "custom"; colorScheme = "custom";
customColorScheme = { customColorScheme = {
button = accent; text = "${config.var.theme.colors.fg}";
button-active = accent; subtext = "${config.var.theme.colors.fgalt}";
tab-active = accent; sidebar-text = "${config.var.theme.colors.fgalt}";
main = "${config.var.theme.colors.bg}";
sidebar = "${config.var.theme.colors.bg}";
background = "${config.var.theme.colors.bg}";
player = "${config.var.theme.colors.bg}";
card = "${config.var.theme.colors.bg}";
shadow = "000000";
selected-row = "${config.var.theme.colors.bgalt}";
button = "${config.var.theme.colors.accent}";
button-active = "${config.var.theme.colors.accent}";
button-disabled = "${config.var.theme.colors.bgalt}";
tab-active = "${config.var.theme.colors.accent}";
misc = "${config.var.theme.colors.fgalt}";
}; };
enabledExtensions = with spicePkgs.extensions; [ enabledExtensions = with spicePkgs.extensions; [
-46
View File
@@ -1,46 +0,0 @@
# Thunar is a file explorer
{ pkgs, ... }: {
# ctrl + m to toggle the menubar
home.packages = with pkgs.xfce; [
thunar
xfconf
tumbler
thunar-archive-plugin
thunar-volman
];
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-separator-position" type="int" value="170"/>
<property name="last-statusbar-visible" type="bool" value="false"/>
<property name="last-menubar-visible" type="bool" value="false"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="misc-file-size-binary" type="bool" value="true"/>
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
<property name="misc-text-beside-icons" type="bool" value="true"/>
<property name="misc-change-window-icon" type="bool" value="true"/>
<property name="hidden-bookmarks" type="array">
<value type="string" value="computer:///"/>
<value type="string" value="recent:///"/>
<value type="string" value="file:///"/>
<value type="string" value="network:///"/>
</property>
<property name="hidden-devices" type="array">
<value type="string" value="52FEA905FEA8E309"/>
</property>
<property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
<property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
<property name="last-show-hidden" type="bool" value="false"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
</channel>
'';
}
+23 -1
View File
@@ -1,4 +1,3 @@
# Yazi is a TUI file explorer
{ {
programs.yazi = { programs.yazi = {
enable = true; enable = true;
@@ -13,5 +12,28 @@
sort_reverse = 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";
}
];
};
};
}; };
} }
+36
View File
@@ -0,0 +1,36 @@
{ pkgs, ... }:
let
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
while true;do
battery-plugged &
battery-level &
sleep 60
done
'';
battery-plugged = pkgs.writeShellScriptBin "battery-plugged" ''
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
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
notif "battery" "󰚦 Battery is unplugged"
else
notif "battery" "󰚥 Battery is plugged in"
fi
fi
echo $BATTERY_STATUS > /tmp/old_battery_status
'';
battery-level = pkgs.writeShellScriptBin "battery-level" ''
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
notif "battery" "󰁻 Low battery" "Battery level is $BATTERY_LEVEL%"
elif [[ $BATTERY_LEVEL -le 10 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
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 = [ battery-watch battery-plugged battery-level ]; }
+10 -23
View File
@@ -1,24 +1,19 @@
# - ## Brightness
#-
#- This module provides a set of scripts to control the brightness of the screen.
#-
#- - `brightness-up` increases the brightness by 5%.
#- - `brightness-down` decreases the brightness by 5%.
#- - `brightness-set [value]` sets the brightness to the given value.
#- - `brightness-change [up|down] [value]` increases or decreases the brightness by the given value.
{ pkgs, ... }: { pkgs, ... }:
let let
increments = "5"; increments = "5";
brightness-change = pkgs.writeShellScriptBin "brightness-change" '' brightness-change = pkgs.writeShellScriptBin "brightness-change" ''
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%+ sleep 0.05
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%-
'';
brightness-set = pkgs.writeShellScriptBin "brightness-set" '' [[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+
${pkgs.brightnessctl}/bin/brightnessctl set ''${1-100}% [[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%-
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
message="󰃠 Brightness: $brightness_level%"
notif "brightness" "$message" "extraargs=-h int:value:$brightness_level"
''; '';
brightness-up = pkgs.writeShellScriptBin "brightness-up" '' brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
@@ -29,12 +24,4 @@ let
brightness-change down ${increments} brightness-change down ${increments}
''; '';
in { in { home.packages = [ brightness-change brightness-up brightness-down ]; }
home.packages = [
pkgs.brightnessctl
brightness-change
brightness-up
brightness-down
brightness-set
];
}
+17 -21
View File
@@ -1,33 +1,29 @@
# - ## Caffeine
#-
#- Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
#-
#- - `caffeine-status` - Check if hypridle is running. (0/1)
#- - `caffeine-status-icon` - Check if hypridle is running. (icon)
#- - `caffeine` - Toggle hypridle.
{ pkgs, ... }: { pkgs, ... }:
let let
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" '' caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
[[ $(pidof "hypridle") ]] && echo "0" || echo "1" [[ -f /tmp/caffeine ]] && echo "1" || echo "0"
'';
caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
[[ $(pidof "hypridle") ]] && echo "󰾪" || echo "󰅶"
''; '';
caffeine = pkgs.writeShellScriptBin "caffeine" '' caffeine = pkgs.writeShellScriptBin "caffeine" ''
if [[ $(pidof "hypridle") ]]; then if [[ -f /tmp/caffeine ]]; then
systemctl --user stop hypridle.service rm /tmp/caffeine
title="󰅶 Caffeine Activated" ${pkgs.hyprland}/bin/hyprctl dispatch exec ${pkgs.hypridle}/bin/hypridle
description="Caffeine is now active! Your screen will not turn off automatically." message="󰾪 Caffeine Deactivated"
else else
systemctl --user start hypridle.service touch /tmp/caffeine
title="󰾪 Caffeine Deactivated" pkill hypridle
description="Caffeine is now deactivated! Your screen will turn off automatically." message="󰅶 Caffeine Activated"
fi fi
notif "caffeine" "$message"
'';
notif "caffeine" "$title" "$description" 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 ]; } in { home.packages = [ caffeine-status caffeine caffeine-status-icon ]; }
+22
View File
@@ -0,0 +1,22 @@
# From https://github.com/Frost-Phoenix/nixos-config
{ pkgs, ... }:
let
compress = pkgs.writeShellScriptBin "compress" ''
if (( $# == 1 )) then
# echo -ne "Archive name: "
# read name
# tar -cvzf "$name.tar.gz" $1
tar -cvzf "$1.tar.gz" $1
else
echo "Wrong number of arguments..."
fi
'';
extract = pkgs.writeShellScriptBin "extract" ''
for i in "$@" ; do
tar -xvzf $i
break
done
'';
in { home.packages = [ compress extract ]; }
+4 -3
View File
@@ -4,12 +4,13 @@
./sounds ./sounds
./brightness ./brightness
./caffeine ./caffeine
./hyprpanel
./hyprfocus
./night-shift ./night-shift
./screenshot ./screenshot
./startup
./nerdfont_fzf ./nerdfont_fzf
./notification ./notification
./system ./battery
./compress
./misc
]; ];
} }
-42
View File
@@ -1,42 +0,0 @@
# - ## Hyprfocus
#-
#- A simple script to toggle focus on few windows in Hyprland.
#- (disable gaps, border, shadow, opacity, etc.)
#-
#- - `hyprfocus-on` - Enable hyprfocus.
#- - `hyprfocus-off` - Disable hyprfocus.
#- - `hyprfocus-toggle` - Toggle hyprfocus.
{ pkgs, ... }:
let
hyprfocus-on = pkgs.writeShellScriptBin "hyprfocus-on"
# bash
''
hyprctl keyword "general:gaps_in" 0
hyprctl keyword "general:gaps_out" 0
hyprpanel-hide
hyprctl keyword "general:border_size" 1
hyprctl keyword "decoration:rounding" 0
hyprctl keyword "decoration:drop_shadow" false
hyprctl keyword "decoration:inactive_opacity" 0.98
hyprctl keyword "decoration:active_opacity" 1
echo "1" > /tmp/hyprfocus
'';
hyprfocus-off = pkgs.writeShellScriptBin "hyprfocus-off"
# bash
''
hyprctl reload
hyprpanel-show
rm /tmp/hyprfocus
'';
hyprfocus-toggle = pkgs.writeShellScriptBin "hyprfocus-toggle"
# bash
''
if [ -f /tmp/hyprfocus ]; then
hyprfocus-off
else
hyprfocus-on
fi
'';
in { home.packages = [ hyprfocus-on hyprfocus-off hyprfocus-toggle ]; }
-46
View File
@@ -1,46 +0,0 @@
# - ## Hyprpanel
#-
#- Quick scripts to toggle, reload and kill hyprpanel.
#-
#- - `hyprpanel-toggle` - Toggle hyprpanel.
#- - `hyprpanel-reload` - Reload hyprpanel.
#- - `hyprpanel-kill` - Kill hyprpanel.
{ pkgs, ... }:
let
hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" ''
hyprpanel -t bar-0
hyprpanel -t bar-1
hyprpanel -t bar-2
hyprpanel -t bar-3
'';
hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" ''
status=$(hyprpanel -r "isWindowVisible('bar-0')")
if [[ $status == "true" ]]; then
hyprpanel -t bar-0
fi
status=$(hyprpanel -r "isWindowVisible('bar-1')")
if [[ $status == "true" ]]; then
hyprpanel -t bar-1
fi
'';
hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" ''
status=$(hyprpanel -r "isWindowVisible('bar-0')")
if [[ $status == "false" ]]; then
hyprpanel -t bar-0
fi
status=$(hyprpanel -r "isWindowVisible('bar-1')")
if [[ $status == "false" ]]; then
hyprpanel -t bar-1
fi
'';
hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" ''
[ $(pgrep "ags") ] && pkill ags
hyprctl dispatch exec hyprpanel
'';
in {
home.packages =
[ hyprpanel-toggle hyprpanel-reload hyprpanel-hide hyprpanel-show ];
}
+24
View File
@@ -0,0 +1,24 @@
{ pkgs, ... }:
let
menu = pkgs.writeShellScriptBin "menu" ''
if pgrep wofi; then
pkill wofi
else
wofi --show drun
fi
'';
powermenu = pkgs.writeShellScriptBin "powermenu" ''
if pgrep wlogout; then
pkill wlogout
else
${pkgs.wlogout}/bin/wlogout
fi
'';
lock = pkgs.writeShellScriptBin "lock" ''
${pkgs.hyprlock}/bin/hyprlock
'';
in { home.packages = [ menu powermenu lock ]; }
+19 -14
View File
@@ -1,29 +1,34 @@
# - ## Nerdfont FZF
#-
#- This module provides a script to search for Nerd Fonts icons using fzf.
#-
#- - `nerdfont-fzf` - Search for Nerd Fonts icons using fzf.
{ pkgs, config, ... }: { pkgs, config, ... }:
let let
homedir = config.home.homeDirectory;
nerdfont-fzf = pkgs.writeShellScriptBin "nerdfont-fzf" '' nerdfont-fzf = pkgs.writeShellScriptBin "nerdfont-fzf" ''
icons=$(${pkgs.jq}/bin/jq -r 'to_entries[] | "\(.key):\(.value.char)"' "/home/${config.var.username}/.config/nerdfont_glyphnames.json" | awk -F: '{print "\033[95m "$2" \033[0m "$1}') # Dependencies: jq, fzf, wl-copy, wget
fzf_result=$(echo "$icons" | ${pkgs.fzf}/bin/fzf --ansi --border none | awk '{print $1}') icons=$(jq -r 'to_entries[] | "\(.key):\(.value.char)"' "${homedir}/.config/nerdfont_glyphnames.json" | awk -F: '{print "\033[95m "$2" \033[0m "$1}')
fzf_result=$(echo "$icons" | fzf --ansi --border none | awk '{print $1}')
if [ -z "$fzf_result" ]; then if [ -z "$fzf_result" ]; then
echo "No icon selected" echo "No icon selected"
exit 1 exit 1
fi fi
echo "Copied to clipboard: $fzf_result" echo "Copied to clipboard: $fzf_result"
${pkgs.wl-clipboard}/bin/wl-copy "$fzf_result" echo "Paste it to close the window"
${pkgs.wl-clipboard}/bin/wl-copy -o "$fzf_result" # wait for paste before exiting.. not cool
''; '';
nerdfont-fzf-fetch = pkgs.writeShellScriptBin "nerdfont-fzf-fetch" ''
wget "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/glyphnames.json" -O "glyphnames.json" || exit 1
jq 'del(.METADATA)' "glyphnames.json"
'';
nerdfont-popup = pkgs.writeShellScriptBin "nerdfont-popup" ''
${pkgs.kitty}/bin/kitty --class floating -o font_size=18 zsh -c nerdfont-fzf 2>/dev/null
'';
in { in {
home.packages = [ nerdfont-fzf ]; home.packages = [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
xdg.configFile."nerdfont_glyphnames.json" = { xdg.configFile."nerdfont_glyphnames.json" = {
source = pkgs.fetchurl { source = ./nerdfont_glyphnames.json;
url =
"https://raw.githubusercontent.com/ryanoasis/nerd-fonts/384b1825ea0037b0314f7f9c660a80c1ecdb219a/glyphnames.json";
hash = "sha256-Ps0dyFcMs51RMTthBOVSOf/lafPV/53JxuNSKlmZ7cc=";
};
}; };
} }
File diff suppressed because it is too large Load Diff
+15 -26
View File
@@ -1,33 +1,22 @@
# - ## Night-Shift
#-
#- Night-Shift is a feature that reduces the amount of blue light emitted by your screen, which can help reduce eye strain and improve sleep quality. This module provides a set of scripts to control Night-Shift on your system.
#-
#- - `night-shift-on` activates Night-Shift.
#- - `night-shift-off` deactivates Night-Shift.
#- - `night-shift` toggles Night-Shift.
#- - `night-shift-status` checks if Night-Shift is active. (0/1)
#- - `night-shift-status-icon` checks if Night-Shift is active. (icon)
{ pkgs, ... }: { pkgs, ... }:
let let
default = "4000";
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" '' night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
${pkgs.hyprshade}/bin/hyprshade on blue-light-filter ${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
title="󰖔 Night-Shift Activated" message="󰖔 Night-Shift Activated"
description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes." notif "night-shift" "$message"
notif "night-shift" "$title" "$description"
''; '';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" '' night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
${pkgs.hyprshade}/bin/hyprshade off pkill wlsunset
title="󰖕 Night-Shift Deactivated" message="󰖔 Night-Shift Deactivated"
description="Night-Shift is now deactivated! Your screen will return to normal." notif "night-shift" "$message"
notif "night-shift" "$title" "$description"
''; '';
night-shift = pkgs.writeShellScriptBin "night-shift" '' night-shift = pkgs.writeShellScriptBin "night-shift" ''
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then if pgrep wlsunset; then
night-shift-off night-shift-off
else else
night-shift-on night-shift-on
@@ -35,7 +24,7 @@ let
''; '';
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" '' night-shift-status = pkgs.writeShellScriptBin "night-shift-status" ''
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then if [[ $(pgrep wlsunset) ]]; then
echo "1" echo "1"
else else
echo "0" echo "0"
@@ -44,11 +33,11 @@ let
night-shift-status-icon = night-shift-status-icon =
pkgs.writeShellScriptBin "night-shift-status-icon" '' pkgs.writeShellScriptBin "night-shift-status-icon" ''
if [[ $(hyprshade current) ]]; then if [[ $(pgrep wlsunset) ]]; then
echo "󰖔" echo "󰖔"
else else
echo "󰖕" echo "󰖕"
fi fi
''; '';
in { in {
home.packages = [ home.packages = [
+46 -59
View File
@@ -1,70 +1,57 @@
# - ## Nixy { pkgs, config, ... }:
#-
#- Nixy is a simple script that I use to manage my NixOS system. It's a simple script that provides a menu to rebuild, upgrade, update, collect garbage, clean boot menu, etc.
#-
#- - `nixy` - UI wizard to manage the system.
#- - `nixy rebuild` - Rebuild the system.
#- - `nixy ...` - ... see the script for more commands.
{ pkgs, config, inputs, ... }:
let let
configDirectory = config.var.configDirectory; nixy = pkgs.writeShellScriptBin "nixy" ''
hostname = config.var.hostname; function exec() {
$@
}
nixy = pkgs.writeShellScriptBin "nixy" function ui(){
# bash DEFAULT_ICON="󰘳"
''
function exec() {
$@
}
function ui(){ # "icon;name;command"[]
DEFAULT_ICON="󰘳" apps=(
";Rebuild;nixy rebuild"
";Upgrade;nixy upgrade"
";Update;nixy update"
";Collect Garbage;nixy gc"
";Clean Boot Menu;nixy cb"
)
# "icon;name;command"[] # Apply default icons if empty:
apps=( for i in "''${!apps[@]}"; do
"󰑓;Rebuild;nixy rebuild" apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
"󰦗;Upgrade;nixy upgrade" done
"󰚰;Update;nixy update"
";Collect Garbage;nixy gc"
"󰍜;Clean Boot Menu;nixy cb"
"󰌌;Hyprland Keybindings;nvim ${configDirectory}/docs/KEYBINDINGS-HYPRLAND.md"
"󰋩;Wallpapers;nvim ${inputs.nixy-wallpapers}/docs/MOBILE-VIEW.md"
)
# Apply default icons if empty: fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
for i in "''${!apps[@]}"; do [[ -z $fzf_result ]] && exit 0
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/') fzf_result=''${fzf_result/ /;}
done line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf) exec "$command"
[[ -z $fzf_result ]] && exit 0 exit 0
fzf_result=''${fzf_result/ /;} }
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
exec "$command" [[ $1 == "" ]] && ui
exit 0
}
[[ $1 == "" ]] && ui if [[ $1 == "rebuild" ]];then
sudo nixos-rebuild switch --flake ${config.var.configDirectory}#${config.var.hostname}
if [[ $1 == "rebuild" ]];then elif [[ $1 == "upgrade" ]];then
sudo nixos-rebuild switch --flake ${configDirectory}#${hostname} sudo nixos-rebuild switch --upgrade --flake ${config.var.configDirectory}#${config.var.hostname}
elif [[ $1 == "upgrade" ]];then elif [[ $1 == "update" ]];then
sudo nixos-rebuild switch --upgrade --flake ${configDirectory}#${hostname} cd ${config.var.configDirectory} && sudo nix flake update
elif [[ $1 == "update" ]];then elif [[ $1 == "gc" ]];then
cd ${configDirectory} && nix flake update cd ${config.var.configDirectory} && sudo nix-collect-garbage -d
elif [[ $1 == "gc" ]];then elif [[ $1 == "cb" ]];then
cd ${configDirectory} && sudo nix-collect-garbage -d sudo /run/current-system/bin/switch-to-configuration boot
elif [[ $1 == "cb" ]];then elif [[ $1 == "remote" ]];then
sudo /run/current-system/bin/switch-to-configuration boot cd ~/.config/nixos && git add . && git commit -m "update" && git push
elif [[ $1 == "remote" ]];then ssh jack -S -C "cd /home/hadi/.config/nixos && git pull && sudo -S nixos-rebuild switch --flake ~/.config/nixos#jack"
cd ~/.config/nixos && git add . && git commit -m "update" && git push else
ssh jack -S -C "cd /home/hadi/.config/nixos && git pull && sudo -S nixos-rebuild switch --flake ~/.config/nixos#jack" echo "Unknown argument"
else fi
echo "Unknown argument" '';
fi
'';
in { home.packages = [ nixy ]; } in { home.packages = [ nixy ]; }
+21 -20
View File
@@ -1,26 +1,27 @@
{ pkgs, ... }: { pkgs, ... }:
let let
notif = pkgs.writeShellScriptBin "notif" # bash notif = pkgs.writeShellScriptBin "notif" ''
'' # Shell script to send custom notifications
# Shell script to send custom notifications NOTIF_FOLDER="/tmp/notif"
# Usage: notif "sender_id" "message" ["description"] sender_id=$1 # To overwrite existing notifications
NOTIF_FOLDER="/tmp/notif" message=$2
sender_id=$1 # To overwrite existing notifications extraargs=""
title=$2 description=""
description=$3 if [[ $3 == "extraargs="* ]]; then
extraargs=$(echo "$3" | sed 's/extraargs=//g')
else
description="$3"
extraargs="$4"
fi
[[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER [[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER
[[ -f "$NOTIF_FOLDER/$sender_id" ]] || (echo "0" > "$NOTIF_FOLDER/$sender_id") [[ -f "$NOTIF_FOLDER/$sender_id" ]] || echo "0" > "$NOTIF_FOLDER/$sender_id"
old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id") old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id")
[[ -z "$old_notification_id" ]] && old_notification_id=0
${pkgs.libnotify}/bin/notify-send \ ${pkgs.libnotify}/bin/notify-send "$message" \
--replace-id="$old_notification_id" --print-id \ $extraargs \
--app-name="$sender_id" \ --replace-id="$old_notification_id" --print-id > "$NOTIF_FOLDER/$sender_id"
"$title" \ '';
"$description" \
> "$NOTIF_FOLDER/$sender_id"
'';
in { home.packages = [ pkgs.libnotify notif ]; } in { home.packages = [ notif ]; }
+13 -15
View File
@@ -1,34 +1,32 @@
# - ## Screenshot
#-
#- This module provides a script to take screenshots using `grimblast` and `swappy`.
#-
#- - `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
{ pkgs, ... }: { pkgs, ... }:
let let
screenshot = pkgs.writeShellScriptBin "screenshot" '' screenshot = pkgs.writeShellScriptBin "screenshot" ''
if [[ $2 == "swappy" ]];then if [[ $2 == "swappy" ]];then
folder="/tmp" folder="/tmp"
else else
folder="$HOME/Pictures" folder="$HOME/Pictures/screenshots"
fi fi
filename="$(date +%Y-%m-%d_%H:%M:%S).png" filename="$(date +%Y-%m-%d_%H:%M:%S).png"
mode="region" # Default to region
if [[ $1 == "window" ]];then if [[ $1 == "window" ]];then
mode="active" mode="window"
elif [[ $1 == "region" ]];then
mode="area"
elif [[ $1 == "monitor" ]];then elif [[ $1 == "monitor" ]];then
mode="output" mode="output"
fi fi
${pkgs.grimblast}/bin/grimblast --notify --freeze save $mode "$folder/$filename" || exit 1 ${pkgs.hyprshot}/bin/hyprshot -m $mode -o $folder -f $filename -s || exit 1
if [[ $2 == "swappy" ]];then if [[ $2 == "swappy" ]];then
${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/$filename" ${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/screenshots/$filename"
exit 0 exit 0
fi fi
message=" Screenshot saved"
${pkgs.libnotify}/bin/notify-send "$message" \
--icon="$folder/$filename" \
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
''; '';
in { in { home.packages = [ pkgs.hyprshot screenshot ]; }
home.packages =
[ pkgs.hyprshot screenshot pkgs.slurp pkgs.grim pkgs.grimblast ];
}
+65 -17
View File
@@ -1,31 +1,38 @@
# - ## Sound { pkgs, config, ... }:
#-
#- This module provides a set of scripts to control the volume of the default audio sink using `wpctl`.
#-
#- - `sound-up` increases the volume by 5%.
#- - `sound-down` decreases the volume by 5%.
#- - `sound-set [value]` sets the volume to the given value.
#- - `sound-toggle` toggles the mute state of the default audio sink.
{ pkgs, ... }:
let let
homedir = config.home.homeDirectory;
increments = "5"; increments = "5";
sound-change = pkgs.writeShellScriptBin "sound-change" '' sound-change = pkgs.writeShellScriptBin "sound-change" ''
sleep 0.05
[[ $1 == "mute" ]] && wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle [[ $1 == "mute" ]] && wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
[[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-${increments}}%+ [[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%+"
[[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-${increments}}%- [[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%-"
[[ $1 == "set" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-100}%
sink_info=$(wpctl get-volume @DEFAULT_AUDIO_SINK@)
volume=$(echo "$(echo "$sink_info" | awk '{print $2}' | sed 's/%//')*100" | bc -l | xargs printf "%.0f")
muted=false
if [[ $sink_info == *"MUTED"* ]]; then
muted=true
fi
message=""
if [ $muted = true ]; then
message="󰖁 Muted"
else
message="󰕾 Volume: $volume%"
fi
notif "sound" "$message" "extraargs=-h int:value:$volume"
''; '';
sound-up = pkgs.writeShellScriptBin "sound-up" '' sound-up = pkgs.writeShellScriptBin "sound-up" ''
sound-change up ${increments} sound-change up ${increments}
''; '';
sound-set = pkgs.writeShellScriptBin "sound-set" ''
sound-change set ''${1-100}
'';
sound-down = pkgs.writeShellScriptBin "sound-down" '' sound-down = pkgs.writeShellScriptBin "sound-down" ''
sound-change down ${increments} sound-change down ${increments}
''; '';
@@ -33,6 +40,47 @@ let
sound-toggle = pkgs.writeShellScriptBin "sound-toggle" '' sound-toggle = pkgs.writeShellScriptBin "sound-toggle" ''
sound-change mute sound-change mute
''; '';
sound-output = pkgs.writeShellScriptBin "sound-output" ''
function parse_sinks(){
output=$(wpctl status)
sinks=($(echo "$output" | sed 's/ //' | awk '/Sinks:/ {flag=1; next} /^$/ {flag=0} flag' | sed 's/ /-/g'))
for sink in "''${sinks[@]}"; do
id=""
default=false
sink=$(echo "$sink" | sed 's/-/ /g')
sink_name=$(echo "$sink" | sed 's/\[vol:.*$//')
if [[ $sink_name == "*"* ]]; then
sink_name=$(echo "$sink_name" | sed 's/*//')
default=true
fi
id=$(echo "$sink_name" | cut -d'.' -f1)
sink_name=$(echo "$sink_name" | sed 's/^[ ]*//;s/[ ]*$//' )
sink_name=$(echo "$sink_name" | cut -d'.' -f2 )
if [[ $default == true ]];then
printf "*%s (%d)" "$sink_name" "$id"
else
printf " %s (%d)" "$sink_name" "$id"
fi
printf "\n"
done
}
choosed_sink=$(echo "$(parse_sinks)" | ${pkgs.fzf}/bin/fzf \
--border-label "Choose sound output" ) || exit 1
choosed_sink_id=$(echo "$choosed_sink" | sed 's/.*(\(.*\))/\1/')
wpctl set-default $choosed_sink_id
'';
in { in {
home.packages = [ sound-change sound-up sound-down sound-toggle sound-set ]; home.packages =
[ sound-output sound-change sound-up sound-down sound-toggle ];
} }
+17
View File
@@ -0,0 +1,17 @@
# File runned at startup by Hyprland
{ pkgs, config, ... }:
let
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
battery-watch &
${pkgs.waybar}/bin/waybar &
wlr-randr --output "Unknown-1" --off # FIX: REMOVE WEIRD GHOST MONITOR
'';
in { home.packages = [ startup ]; }
-64
View File
@@ -1,64 +0,0 @@
# - ## System
#-
#- Usefull quick scripts
#-
#- - `menu` - Open wofi with drun mode. (wofi)
#- - `powermenu` - Open power dropdown menu. (wofi)
#- - `lock` - Lock the screen. (hyprlock)
{ pkgs, ... }:
let
menu = pkgs.writeShellScriptBin "menu"
# bash
''
if pgrep wofi; then
pkill wofi
else
wofi --show drun
fi
'';
powermenu = pkgs.writeShellScriptBin "powermenu"
# bash
''
if pgrep wofi; then
pkill wofi
else
options=(
"󰌾 Lock"
"󰍃 Logout"
" Suspend"
"󰑐 Reboot"
"󰿅 Shutdown"
)
selected=$(printf '%s\n' "''${options[@]}" | wofi --dmenu)
selected=''${selected:2}
case $selected in
"Lock")
${pkgs.hyprlock}/bin/hyprlock
;;
"Logout")
hyprctl dispatch exit
;;
"Suspend")
systemctl suspend
;;
"Reboot")
systemctl reboot
;;
"Shutdown")
systemctl poweroff
;;
esac
fi
'';
lock = pkgs.writeShellScriptBin "lock"
# bash
''
${pkgs.hyprlock}/bin/hyprlock
'';
in { home.packages = [ menu powermenu lock ]; }
-7
View File
@@ -1,7 +0,0 @@
# Batsignal is a simple utility to send battery notifications.
{
services.batsignal = {
enable = true;
extraArgs = [ "-c 10" "-w 30" "-f disabled" ];
};
}
-17
View File
@@ -1,17 +0,0 @@
# Clipman allows you to save and retrieve clipboard history.
{ pkgs, ... }:
let
clipboard-clear = pkgs.writeShellScriptBin "clipboard-clear" ''
clipman clear --all
'';
clipboard = pkgs.writeShellScriptBin "clipboard" ''
clipman pick --tool=wofi
'';
in {
wayland.windowManager.hyprland.settings.exec-once =
[ "${clipboard-clear}" "wl-paste -t text --watch clipman store" ];
home.packages = with pkgs; [ clipman clipboard clipboard-clear ];
services.clipman.enable = true;
}
+83
View File
@@ -0,0 +1,83 @@
{ config, pkgs, ... }: {
home.packages = with pkgs; [ libnotify ];
services.dunst = {
enable = true;
iconTheme = {
name = "Moka";
package = pkgs.moka-icon-theme;
};
settings = {
global = {
rounded = "yes";
origin = "top-center";
monitor = "0";
alignment = "center";
vertical_alignment = "center";
width = "400";
height = "400";
scale = 0;
gap_size = 0;
progress_bar = true;
transparency = 0;
text_icon_padding = 0;
separator_color = "frame";
sort = "yes";
idle_threshold = 120;
line_height = 0;
markup = "full";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
sticky_history = "yes";
history_length = 20;
always_run_script = true;
corner_radius = config.var.theme.rounding;
follow = "mouse";
font = config.var.theme.font;
format = "<b>%s</b>\\n%b";
progress_bar_corner_radius = config.var.theme.rounding - 10;
#format = ''
# <span foreground='#${config.var.theme.colors.accent}'><b>%s %p</b></span>
# %b'';
frame_color = "#" + config.var.theme.colors.bg;
highlight = "#" + config.var.theme.colors.accent;
foreground = "#" + config.var.theme.colors.fg;
frame_width = 1;
offset = "0x10";
horizontal_padding = 10;
icon_position = "left";
indicate_hidden = "yes";
min_icon_size = 0;
max_icon_size = 64;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "close_current";
mouse_right_click = "close_all";
padding = 10;
plain_text = "no";
separator_height = 2;
show_indicators = "yes";
shrink = "no";
word_wrap = "yes";
browser = "${pkgs.qutebrowser}/bin/qutebrowser";
};
fullscreen_delay_everything = { fullscreen = "delay"; };
urgency_critical = {
background = "#" + config.var.theme.colors.c1;
foreground = "#" + config.var.theme.colors.c0;
};
urgency_low = {
background = "#" + config.var.theme.colors.bgalt;
foreground = "#" + config.var.theme.colors.fgalt;
};
urgency_normal = {
background = "#" + config.var.theme.colors.bgalt;
foreground = "#" + config.var.theme.colors.fgalt;
};
};
};
}
+64 -82
View File
@@ -1,29 +1,4 @@
# GTK & QT theme configuration { config, pkgs, ... }: {
{ config, pkgs, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
foreground = "#${config.lib.stylix.colors.base05}";
background = "#${config.lib.stylix.colors.base00}";
background-alt = "#${config.lib.stylix.colors.base01}";
c0 = "#${config.lib.stylix.colors.base00}";
c1 = "#${config.lib.stylix.colors.base08}";
c2 = "#${config.lib.stylix.colors.base0B}";
c3 = "#${config.lib.stylix.colors.base0A}";
c4 = "#${config.lib.stylix.colors.base0D}";
c5 = "#${config.lib.stylix.colors.base0E}";
c6 = "#${config.lib.stylix.colors.base0C}";
c7 = "#${config.lib.stylix.colors.base05}";
c8 = "#${config.lib.stylix.colors.base03}";
c9 = "#${config.lib.stylix.colors.base08}";
c10 = "#${config.lib.stylix.colors.base0B}";
c11 = "#${config.lib.stylix.colors.base0A}";
c12 = "#${config.lib.stylix.colors.base0D}";
c13 = "#${config.lib.stylix.colors.base0E}";
c14 = "#${config.lib.stylix.colors.base0C}";
c15 = "#${config.lib.stylix.colors.base07}";
in {
qt = { qt = {
enable = true; enable = true;
@@ -34,18 +9,24 @@ in {
gtk = { gtk = {
enable = true; enable = true;
theme = lib.mkForce { name = "FlatColor"; }; theme = { name = "FlatColor"; };
iconTheme = { iconTheme = {
package = pkgs.kora-icon-theme; package = pkgs.moka-icon-theme;
name = "Kora"; name = "Moka";
}; };
font = { name = config.stylix.fonts.serif.name; }; font = {
name = config.var.theme.font;
size = config.var.theme.font-size;
};
};
gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; }; home.pointerCursor = {
gtk.enable = true;
gtk4.extraConfig = { gtk-application-prefer-dark-theme = 1; }; package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 14;
}; };
home.file = { home.file = {
@@ -82,61 +63,62 @@ in {
}; };
".local/share/themes/FlatColor/colors2".text = '' ".local/share/themes/FlatColor/colors2".text = ''
bg_color:${background} bg_color:#${config.var.theme.colors.bg}
color0:${c0} color0:#${config.var.theme.colors.c0}
color1:${c1} color1:#${config.var.theme.colors.c1}
color2:${c2} color2:#${config.var.theme.colors.c2}
color3:${c3} color3:#${config.var.theme.colors.c3}
color4:${c4} color4:#${config.var.theme.colors.c4}
color5:${c5} color5:#${config.var.theme.colors.c5}
color6:${c6} color6:#${config.var.theme.colors.c6}
color7:${c7} color7:#${config.var.theme.colors.c7}
color8:${c8} color8:#${config.var.theme.colors.c8}
color9:${c9} color9:#${config.var.theme.colors.c9}
color10:${c10} color10:#${config.var.theme.colors.c10}
color11:${c11} color11:#${config.var.theme.colors.c11}
color12:${c12} color12:#${config.var.theme.colors.c12}
color13:${c13} color13:#${config.var.theme.colors.c13}
color14:${c14} color14:#${config.var.theme.colors.c14}
color15:${c15} color15:#${config.var.theme.colors.c15}
text_color:${foreground} text_color:#${config.var.theme.colors.fg}
selected_bg_color:${accent} selected_bg_color:#${config.var.theme.colors.accent}
selected_fg_color:${foreground} selected_fg_color:#${config.var.theme.colors.accentFg}
tooltip_bg_color:${background-alt} tooltip_bg_color:#${config.var.theme.colors.bgalt}
tooltip_fg_color:${foreground} tooltip_fg_color:#${config.var.theme.colors.fgalt}
titlebar_bg_color:${background} titlebar_bg_color:#${config.var.theme.colors.bgalt}
titlebar_fg_color:${foreground} titlebar_fg_color:#${config.var.theme.colors.fgalt}
menu_bg_color:${background-alt} menu_bg_color:#${config.var.theme.colors.bgalt}
menu_fg_color:${foreground} menu_fg_color:#${config.var.theme.colors.fgalt}
link_color:${accent} link_color:#${config.var.theme.colors.accent}
''; '';
".local/share/themes/FlatColor/colors3".text = '' ".local/share/themes/FlatColor/colors3".text = ''
@define-color color0 ${c0}; @define-color color0 #${config.var.theme.colors.c0};
@define-color color1 ${c1}; @define-color color1 #${config.var.theme.colors.c1};
@define-color color2 ${c2}; @define-color color2 #${config.var.theme.colors.c2};
@define-color color3 ${c3}; @define-color color3 #${config.var.theme.colors.c3};
@define-color color4 ${c4}; @define-color color4 #${config.var.theme.colors.c4};
@define-color color5 ${c5}; @define-color color5 #${config.var.theme.colors.c5};
@define-color color6 ${c6}; @define-color color6 #${config.var.theme.colors.c6};
@define-color color7 ${c7}; @define-color color7 #${config.var.theme.colors.c7};
@define-color color8 ${c8}; @define-color color8 #${config.var.theme.colors.c8};
@define-color color9 ${c9}; @define-color color9 #${config.var.theme.colors.c9};
@define-color color10 ${c10}; @define-color color10 #${config.var.theme.colors.c10};
@define-color color11 ${c11}; @define-color color11 #${config.var.theme.colors.c11};
@define-color color12 ${c12}; @define-color color12 #${config.var.theme.colors.c12};
@define-color color13 ${c13}; @define-color color13 #${config.var.theme.colors.c13};
@define-color color14 ${c14}; @define-color color14 #${config.var.theme.colors.c14};
@define-color color15 ${c15}; @define-color color15 #${config.var.theme.colors.c15};
@define-color selected_bg_color ${accent}; @define-color selected_bg_color #${config.var.theme.colors.accent};
@define-color selected_fg_color ${foreground}; @define-color selected_fg_color #${config.var.theme.colors.accentFg};
@define-color bg_color ${background};
@define-color fg_color ${foreground}; @define-color bg_color #${config.var.theme.colors.bg};
@define-color fg_color #${config.var.theme.colors.fg};
@define-color base_color @bg_color; @define-color base_color @bg_color;
@define-color text_color @fg_color; @define-color text_color @fg_color;
@define-color text_color_disabled mix(@text_color, @base_color, 0.4); @define-color text_color_disabled mix(@text_color, @base_color, 0.4);
@define-color tooltip_bg_color ${background-alt}; @define-color tooltip_bg_color #${config.var.theme.colors.bgalt};
@define-color tooltip_fg_color ${foreground}; @define-color tooltip_fg_color #${config.var.theme.colors.fgalt};
''; '';
}; };
} }
-53
View File
@@ -1,53 +0,0 @@
{ config, ... }:
let
animationSpeed = config.var.theme.animation-speed;
animationDuration = if animationSpeed == "slow" then
"4"
else if animationSpeed == "medium" then
"2.5"
else
"1.5";
borderDuration = if animationSpeed == "slow" then
"10"
else if animationSpeed == "medium" then
"6"
else
"3";
in {
wayland.windowManager.hyprland.settings = {
animations = {
enabled = true;
bezier = [
"linear, 0, 0, 1, 1"
"md3_standard, 0.2, 0, 0, 1"
"md3_decel, 0.05, 0.7, 0.1, 1"
"md3_accel, 0.3, 0, 0.8, 0.15"
"overshot, 0.05, 0.9, 0.1, 1.1"
"crazyshot, 0.1, 1.5, 0.76, 0.92"
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
"menu_decel, 0.1, 1, 0, 1"
"menu_accel, 0.38, 0.04, 1, 0.07"
"easeInOutCirc, 0.85, 0, 0.15, 1"
"easeOutCirc, 0, 0.55, 0.45, 1"
"easeOutExpo, 0.16, 1, 0.3, 1"
"softAcDecel, 0.26, 0.26, 0.15, 1"
"md2, 0.4, 0, 0.2, 1"
];
animation = [
"windows, 1, ${animationDuration}, md3_decel, popin 60%"
"windowsIn, 1, ${animationDuration}, md3_decel, popin 60%"
"windowsOut, 1, ${animationDuration}, md3_accel, popin 60%"
"border, 1, ${borderDuration}, default"
"fade, 1, ${animationDuration}, md3_decel"
"layersIn, 1, ${animationDuration}, menu_decel, slide"
"layersOut, 1, ${animationDuration}, menu_accel"
"fadeLayersIn, 1, ${animationDuration}, menu_decel"
"fadeLayersOut, 1, ${animationDuration}, menu_accel"
"workspaces, 1, ${animationDuration}, menu_decel, slide"
"specialWorkspace, 1, ${animationDuration}, md3_decel, slidevert"
];
};
};
}

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