Compare commits

...

635 Commits

Author SHA1 Message Date
henrov 0e25ad519b Regenerated 2026-04-29 12:32:50 +02:00
henrov 11f1da1b75 Regenerated 2026-04-29 12:32:25 +02:00
henrov 663117b352 Regenerated 2026-04-29 12:31:04 +02:00
henrov 9b12730dba Regenerated 2026-04-29 12:14:02 +02:00
henrov 652dbf831f Regenerated 2026-04-29 12:06:37 +02:00
henrov 3fd2ec4132 Regenerated 2026-04-29 12:01:53 +02:00
henrov f8ba6b9ca1 Regenerated 2026-04-29 11:59:53 +02:00
henrov 6c7cf81efe Regenerated 2026-04-29 11:54:26 +02:00
henrov 5165e9b7df Regenerated 2026-04-29 11:42:59 +02:00
henrov 18cf266828 Regenerated 2026-04-29 11:27:15 +02:00
henrov 0950197416 Regenerated 2026-04-29 11:26:24 +02:00
henrov b08966eaeb Regenerated 2026-04-29 11:23:31 +02:00
henrov 75f4969882 Regenerated 2026-04-29 11:21:03 +02:00
henrov 6b466a626f Regenerated 2026-04-29 11:18:34 +02:00
henrov fdad1d166b Regenerated 2026-04-29 11:13:59 +02:00
henrov 56ab6eac72 Regenerated 2026-04-29 11:13:20 +02:00
henrov 78898f78dd Regenerated 2026-04-29 11:12:15 +02:00
henrov 6a0f7502aa Regenerated 2026-04-29 10:59:49 +02:00
henrov 10210c9df0 Regenerated 2026-04-29 10:49:37 +02:00
henrov 2736934ce4 Regenerated 2026-04-29 10:47:42 +02:00
henrov f3b39f8e9c Regenerated 2026-04-29 10:30:48 +02:00
henrov f8aa4870a4 Regenerated 2026-04-29 10:28:45 +02:00
henrov 9fb9a3fbd2 Regenerated 2026-04-29 10:25:59 +02:00
henrov bcee95d0a1 Regenerated 2026-04-29 10:12:30 +02:00
henrov c7d1edc35e Regenerated 2026-04-29 10:10:05 +02:00
henrov 0ccbc3a5c5 Regenerated 2026-04-29 10:07:40 +02:00
henrov a245aa223d Regenerated 2026-04-29 10:05:01 +02:00
henrov bca90e6f34 Regenerated 2026-04-29 10:02:21 +02:00
henrov f8bf8f54f1 Moving wofi-launcher.sh 2026-04-29 09:56:39 +02:00
henrov 8e82977bc9 Deletged generated, testing new location scripts 2026-04-29 09:52:40 +02:00
henrov 8447a9b596 Regenerated 2026-04-29 08:47:36 +02:00
henrov 7416c8adb6 Regenerated 2026-04-29 08:45:29 +02:00
henrov c017a00f81 Regenerated 2026-04-29 08:44:57 +02:00
henrov 373feab3cf Regenerated 2026-04-29 08:44:00 +02:00
henrov 3aeb7d5192 Regenerated 2026-04-29 08:42:51 +02:00
henrov 2d5a2c2976 Regenerated 2026-04-29 08:40:16 +02:00
henrov 391166c034 Regenerated 2026-04-29 08:36:51 +02:00
henrov c7f0f46908 Regenerated 2026-04-29 08:36:24 +02:00
henrov dcf7d59ad2 Regenerated 2026-04-29 08:36:05 +02:00
henrov 9ade89f82c Regenerated 2026-04-29 08:33:24 +02:00
henrov 3e9b1805ea Regenerated 2026-04-29 08:31:51 +02:00
henrov 1225ed4f9b Regenerated 2026-04-29 08:30:07 +02:00
henrov 339d53823c Regenerated 2026-04-29 08:29:17 +02:00
henrov 28c242282e Regenerated 2026-04-29 08:26:58 +02:00
henrov 190f03410d Regenerated 2026-04-29 08:25:45 +02:00
henrov 2337b36319 Regenerated 2026-04-29 08:24:51 +02:00
henrov defeb49847 Regenerated 2026-04-29 08:24:12 +02:00
henrov 0917467acf Regenerated 2026-04-29 08:20:43 +02:00
henrov e75067946f Regenerated 2026-04-29 08:15:37 +02:00
henrov 94cd41b3e7 Regenerated 2026-04-29 08:04:50 +02:00
henrov 8fae55ea64 Regenerated 2026-04-29 08:00:11 +02:00
henrov 64fc569836 Regenerated 2026-04-29 07:58:35 +02:00
henrov 415b1df455 Regenerated 2026-04-29 07:54:32 +02:00
henrov b03354ec37 Regenerated 2026-04-29 07:52:18 +02:00
henrov b74e017bbf Regenerated 2026-04-29 07:51:27 +02:00
henrov f43715f201 Regenerated 2026-04-29 07:51:03 +02:00
henrov 98a7800c37 Regenerated 2026-04-29 07:50:04 +02:00
henrov 9468f2653b Regenerated 2026-04-29 07:48:29 +02:00
henrov 8d46e2ded6 Regenerated 2026-04-29 07:41:57 +02:00
henrov 704784ef74 Regenerated 2026-04-29 07:33:25 +02:00
henrov 03b3734aa8 Regenerated 2026-04-29 07:32:41 +02:00
henrov c1c5322563 Regenerated 2026-04-29 07:29:11 +02:00
henrov ea25c798bd Regenerated 2026-04-29 07:28:12 +02:00
henrov 8f23b8ba4f Regenerated 2026-04-29 07:26:44 +02:00
henrov 9d6becf5a0 Regenerated 2026-04-29 07:22:10 +02:00
henrov f565412974 Regenerated 2026-04-28 19:41:00 +02:00
henrov d6a077b2ea Regenerated 2026-04-28 13:10:57 +02:00
henrov e89e3b322f Regenerated 2026-04-28 12:35:54 +02:00
henrov ba7de29921 Regenerated 2026-04-28 12:33:50 +02:00
henrov a7dc5bd6f8 Regenerated 2026-04-27 23:29:19 +02:00
henrov c83dcd8de5 Regenerated 2026-04-27 23:25:24 +02:00
henrov eeb5ff9de0 Regenerated 2026-04-27 23:22:39 +02:00
henrov 7679734df4 Regenerated 2026-04-27 23:16:43 +02:00
henrov 963b975b92 Regenerated 2026-04-27 23:14:19 +02:00
henrov bcc4d9081e Regenerated 2026-04-27 23:08:46 +02:00
henrov 7c78fee0a1 Regenerated 2026-04-27 23:01:39 +02:00
henrov a5bf0d816e Regenerated 2026-04-27 20:46:34 +02:00
henrov c9ad2d3d89 Regenerated 2026-04-27 20:44:55 +02:00
henrov c321cedd37 Regenerated 2026-04-27 20:43:37 +02:00
henrov b28a82f90f Regenerated 2026-04-27 20:41:54 +02:00
henrov 480f214cdf Regenerated 2026-04-27 20:34:09 +02:00
henrov 5d1ce337b1 Regenerated 2026-04-27 20:33:25 +02:00
henrov feed32000f Regenerated 2026-04-27 18:54:08 +02:00
henrov 390ac245db Regenerated 2026-04-27 18:51:54 +02:00
henrov eacbf6044b Regenerated 2026-04-27 18:50:00 +02:00
henrov 46b324d8d7 Regenerated 2026-04-27 18:47:54 +02:00
henrov 0c89582f00 Regenerated 2026-04-27 18:46:59 +02:00
henrov 0c20194115 Regenerated 2026-04-27 18:43:58 +02:00
henrov 04f955242f Regenerated 2026-04-27 18:42:02 +02:00
henrov ebb5d5ef6b Regenerated 2026-04-27 16:53:58 +02:00
henrov 78990eed5c Regenerated 2026-04-27 16:52:30 +02:00
henrov 59be47bf32 Regenerated 2026-04-27 16:52:00 +02:00
henrov abe2405b27 Regenerated 2026-04-27 16:49:49 +02:00
henrov 59f2141768 Regenerated 2026-04-27 16:48:55 +02:00
henrov 583bdd49c1 Regenerated 2026-04-27 16:47:37 +02:00
henrov 4ee2036fba Regenerated 2026-04-27 16:38:06 +02:00
henrov d2e1416013 Regenerated 2026-04-27 16:36:39 +02:00
henrov 16378146d0 Regenerated 2026-04-27 16:35:58 +02:00
henrov f988762015 Regenerated 2026-04-27 16:34:23 +02:00
henrov 23689dd1e1 Regenerated 2026-04-27 16:08:52 +02:00
henrov 21695419ee Regenerated 2026-04-27 16:05:58 +02:00
henrov 4b2d49efa9 Regenerated 2026-04-27 16:02:52 +02:00
henrov 38b12c196a Regenerated 2026-04-27 16:01:31 +02:00
henrov d92bce24f5 Regenerated 2026-04-26 13:13:45 +02:00
henrov 710b0348a1 Regenerated 2026-04-26 13:11:41 +02:00
henrov 32a20bfa91 Regenerated 2026-04-26 11:00:28 +02:00
henrov 4c1e19c8c2 Regenerated 2026-04-26 10:55:54 +02:00
henrov ecceaa5307 Regenerated 2026-04-26 10:54:03 +02:00
henrov 0a68e25533 Regenerated 2026-04-26 10:52:35 +02:00
henrov e0809cec70 Regenerated 2026-04-26 10:39:25 +02:00
henrov 278845d900 Regenerated 2026-04-26 10:26:02 +02:00
henrov d795e633a5 Regenerated 2026-04-26 10:18:58 +02:00
henrov 0ed2dc4fde Regenerated 2026-04-26 10:17:21 +02:00
henrov 6496af887e Regenerated 2026-04-26 10:13:47 +02:00
henrov 3f3bb5a71b Regenerated 2026-04-26 10:10:53 +02:00
henrov 45de11a4a5 Regenerated 2026-04-26 10:06:28 +02:00
henrov a0e90643dd Regenerated 2026-04-26 10:03:33 +02:00
henrov a49823141b Regenerated 2026-04-26 09:59:34 +02:00
henrov ca5f232d47 Regenerated 2026-04-26 09:59:21 +02:00
henrov 11dbd5db04 Regenerated 2026-04-26 09:53:19 +02:00
henrov 94629554bf Regenerated 2026-04-26 09:51:56 +02:00
henrov 61329d967a Regenerated 2026-04-26 09:50:37 +02:00
henrov 53fbd4ea92 Regenerated 2026-04-26 09:49:13 +02:00
henrov 76f0ccb466 Regenerated 2026-04-26 09:47:05 +02:00
henrov 153abf0c49 Regenerated 2026-04-26 09:41:08 +02:00
henrov 075a058b06 Regenerated 2026-04-24 14:58:37 +02:00
henrov 16dc9685a7 Regenerated 2026-04-24 14:48:52 +02:00
henrov 36d39f7a44 Regenerated 2026-04-24 14:46:44 +02:00
henrov 08d978103f Regenerated 2026-04-24 14:44:06 +02:00
henrov bb0d3f51b8 Regenerated 2026-04-24 14:41:49 +02:00
henrov 1468b90ae9 Regenerated 2026-04-23 23:41:46 +02:00
henrov 58392825fc Regenerated 2026-04-23 23:39:47 +02:00
henrov cdb73706a7 Regenerated 2026-04-23 23:39:01 +02:00
henrov 259bd54914 Regenerated 2026-04-23 23:35:10 +02:00
henrov 000ee1cca4 Regenerated 2026-04-23 23:32:31 +02:00
henrov 522f2a25c9 Regenerated 2026-04-23 23:26:44 +02:00
henrov c364f62ea1 Regenerated 2026-04-23 23:25:36 +02:00
henrov 04e522548a Regenerated 2026-04-23 23:24:25 +02:00
henrov 91f37618e2 Regenerated 2026-04-23 23:22:55 +02:00
henrov 3d646d5895 Regenerated 2026-04-23 23:18:03 +02:00
henrov 6581faa392 Regenerated 2026-04-23 23:16:27 +02:00
henrov 711832dff2 Regenerated 2026-04-23 23:11:00 +02:00
henrov 82b041c872 Regenerated 2026-04-23 23:10:20 +02:00
henrov fc4ea6047d Regenerated 2026-04-23 23:06:06 +02:00
henrov 5a058db718 Regenerated 2026-04-23 23:03:48 +02:00
henrov 306487df72 Regenerated 2026-04-23 23:02:07 +02:00
henrov 8862e8fa15 Regenerated 2026-04-23 22:59:10 +02:00
henrov 07ebec86c9 Regenerated 2026-04-23 22:58:18 +02:00
henrov b96ec1fc5f Regenerated 2026-04-23 22:55:38 +02:00
henrov 9ebd0ebdae Regenerated 2026-04-23 22:48:31 +02:00
henrov 0f32aa31c3 Regenerated 2026-04-23 22:46:52 +02:00
henrov 9d662211c9 Regenerated 2026-04-23 22:45:12 +02:00
henrov bbf327ca48 Regenerated 2026-04-23 22:43:52 +02:00
henrov 7c32580e95 Regenerated 2026-04-23 22:42:08 +02:00
henrov ccea6cf946 Regenerated 2026-04-23 22:40:47 +02:00
henrov 3992caf295 Regenerated 2026-04-23 22:39:01 +02:00
henrov 8c2a134545 Regenerated 2026-04-23 22:38:00 +02:00
henrov 7528c9791e Regenerated 2026-04-23 22:36:27 +02:00
henrov 745ff2426c Regenerated 2026-04-23 22:34:37 +02:00
henrov d598fbf686 Regenerated 2026-04-23 22:32:07 +02:00
henrov 5f247b31d8 Regenerated 2026-04-23 22:16:37 +02:00
henrov b152edca7d Regenerated 2026-04-23 22:11:56 +02:00
henrov 8be4651af6 Regenerated 2026-04-23 22:07:14 +02:00
henrov 7307a72341 Regenerated 2026-04-23 22:04:44 +02:00
henrov f48ab77b0c Regenerated 2026-04-23 22:02:50 +02:00
henrov d584be475b Regenerated 2026-04-23 22:01:51 +02:00
henrov 662689b70d Regenerated 2026-04-23 21:58:46 +02:00
henrov f4c9a90ff2 Regenerated 2026-04-23 21:57:35 +02:00
henrov be78eaf5e3 Regenerated 2026-04-23 21:52:45 +02:00
henrov 632eebfe42 Regenerated 2026-04-23 21:50:30 +02:00
henrov 3fe6f702b9 Regenerated 2026-04-23 21:49:38 +02:00
henrov 01eee1289a Regenerated 2026-04-23 21:45:49 +02:00
henrov b89e7ebec9 Regenerated 2026-04-23 21:42:53 +02:00
henrov 1af95ba75e Regenerated 2026-04-23 21:35:37 +02:00
henrov eef0f25aaf Regenerated 2026-04-23 21:23:27 +02:00
henrov dc5b230471 Regenerated 2026-04-23 21:22:30 +02:00
henrov 10a1652795 Regenerated 2026-04-23 21:19:49 +02:00
henrov ae3100a6c8 Regenerated 2026-04-23 21:18:42 +02:00
henrov 68410cd7e7 Regenerated 2026-04-23 21:13:05 +02:00
henrov 1bfad729aa Regenerated 2026-04-23 21:08:44 +02:00
henrov b295132dae Regenerated 2026-04-23 21:07:55 +02:00
henrov 9e4add9075 Regenerated 2026-04-23 21:05:33 +02:00
henrov e0356b0edb Regenerated 2026-04-23 21:04:46 +02:00
henrov 3ec8adfc1b Regenerated 2026-04-23 21:02:46 +02:00
henrov 1c9d142646 Regenerated 2026-04-23 21:02:38 +02:00
henrov e0dbb28b2e Regenerated 2026-04-23 21:01:35 +02:00
henrov 12b816b2e4 Regenerated 2026-04-23 20:48:00 +02:00
henrov 71331929ba Regenerated 2026-04-23 20:43:35 +02:00
henrov 913a8e9ab2 Regenerated 2026-04-23 20:36:31 +02:00
henrov d16ecc28da Regenerated 2026-04-23 20:31:21 +02:00
henrov 33825fc137 Regenerated 2026-04-23 20:28:59 +02:00
henrov 1f150d71d2 Regenerated 2026-04-23 20:22:41 +02:00
henrov 0da45a5b0d Regenerated 2026-04-23 20:08:57 +02:00
henrov 1dbf772873 Regenerated 2026-04-23 19:58:17 +02:00
henrov f0db85e714 Regenerated 2026-04-23 19:56:30 +02:00
henrov 507cde3788 Regenerated 2026-04-23 19:54:26 +02:00
henrov a19f71c8b9 Regenerated 2026-04-23 19:52:18 +02:00
henrov bdefe77b67 Regenerated 2026-04-23 19:50:44 +02:00
henrov 0c705f7837 Regenerated 2026-04-23 19:26:11 +02:00
henrov 7a1c4ea6f4 Regenerated 2026-04-23 19:23:29 +02:00
henrov 4483e46102 Regenerated 2026-04-23 19:21:45 +02:00
henrov bb5a385292 Regenerated 2026-04-23 19:19:52 +02:00
henrov 636b8a5645 Regenerated 2026-04-23 19:13:35 +02:00
henrov 776c7db8d2 Regenerated 2026-04-23 19:12:29 +02:00
henrov 124d59b5af Regenerated 2026-04-23 19:10:23 +02:00
henrov b62f685322 Regenerated 2026-04-23 19:08:45 +02:00
henrov a0ca179798 Regenerated 2026-04-23 19:07:29 +02:00
henrov d0847ac23d Regenerated 2026-04-23 18:57:58 +02:00
henrov e55d5bb5da Regenerated 2026-04-23 12:14:26 +02:00
henrov f85a02dc03 Regenerated 2026-04-23 12:12:25 +02:00
henrov 6a9d0b6cd4 Regenerated 2026-04-23 12:11:35 +02:00
henrov 87ba0f5c06 Regenerated 2026-04-23 12:06:41 +02:00
henrov 3de57e0786 Regenerated 2026-04-23 11:56:57 +02:00
henrov 15712267d6 Regenerated 2026-04-22 23:01:49 +02:00
henrov 73b27b5f19 Regenerated 2026-04-22 22:57:30 +02:00
henrov 6c4e5f3eb3 Regenerated 2026-04-22 22:49:06 +02:00
henrov f7b10fde04 Regenerated 2026-04-22 22:45:30 +02:00
henrov 7e56a4bca6 Regenerated 2026-04-22 22:41:49 +02:00
henrov 4976f3fd36 Regenerated 2026-04-22 22:33:06 +02:00
henrov 8213197399 Regenerated 2026-04-22 22:20:28 +02:00
henrov 4aef99222f Regenerated 2026-04-22 21:05:54 +02:00
henrov c4101683ba Regenerated 2026-04-22 20:54:58 +02:00
henrov 48d21c8b59 Regenerated 2026-04-22 20:47:41 +02:00
henrov aa6a9b9a65 Regenerated 2026-04-22 20:42:45 +02:00
henrov 7b5effc44f Regenerated 2026-04-22 20:42:31 +02:00
henrov 80c3343b70 Regenerated 2026-04-22 20:41:24 +02:00
henrov 28e24bea15 Regenerated 2026-04-22 20:35:21 +02:00
henrov d4991a5a57 Regenerated 2026-04-22 20:34:46 +02:00
henrov 4283d661c4 Regenerated 2026-04-22 20:27:17 +02:00
henrov e4197625b0 Regenerated 2026-04-22 20:23:27 +02:00
henrov cd73e023bc Regenerated 2026-04-22 20:19:42 +02:00
henrov 8e83b62f99 Regenerated 2026-04-22 19:51:09 +02:00
henrov 7cac78df85 Regenerated 2026-04-22 19:40:12 +02:00
henrov d30e28dbe1 Regenerated 2026-04-22 19:13:30 +02:00
henrov ff4b8df4b4 Regenerated 2026-04-22 19:12:49 +02:00
henrov 905003f5c7 Regenerated 2026-04-22 14:53:34 +02:00
henrov a736dbfed0 Regenerated 2026-04-22 14:49:16 +02:00
henrov 8102ac4d89 Regenerated 2026-04-22 14:44:18 +02:00
henrov dd64045f47 Regenerated 2026-04-22 14:35:31 +02:00
henrov 848daabdff Regenerated 2026-04-22 14:31:04 +02:00
henrov 65f93f7231 Regenerated 2026-04-22 14:28:35 +02:00
henrov 3f5f9b9cb7 Regenerated 2026-04-22 14:25:01 +02:00
henrov 473ed9149c Regenerated 2026-04-22 14:01:28 +02:00
henrov e397b05654 Regenerated 2026-04-22 14:00:05 +02:00
henrov e9f4bcb08c Regenerated 2026-04-22 13:58:46 +02:00
henrov da7d319de8 Regenerated 2026-04-22 13:57:07 +02:00
henrov df03210327 Regenerated 2026-04-22 13:54:07 +02:00
henrov 8d1e17832e Regenerated 2026-04-22 13:49:22 +02:00
henrov f18fed8a1b Regenerated 2026-04-22 13:48:10 +02:00
henrov 494e74843b Regenerated 2026-04-22 13:46:31 +02:00
henrov a1f630506e Regenerated 2026-04-22 13:38:24 +02:00
henrov 6a2fa7f534 Regenerated 2026-04-22 13:37:47 +02:00
henrov 0843ad7ce0 Regenerated 2026-04-22 13:32:02 +02:00
henrov 30a3d6e7ee Regenerated 2026-04-22 13:28:47 +02:00
henrov e7db323cb5 Regenerated 2026-04-22 13:26:19 +02:00
henrov 4110fd8a35 Regenerated 2026-04-22 13:21:28 +02:00
henrov 93f944cbea Regenerated 2026-04-22 13:05:26 +02:00
henrov 0b335dec3a Regenerated 2026-04-22 12:55:59 +02:00
henrov 919d056489 Regenerated 2026-04-22 12:55:23 +02:00
henrov 89f9b7bee6 Regenerated 2026-04-22 12:54:49 +02:00
henrov fa04d757c5 Regenerated 2026-04-22 12:52:41 +02:00
henrov ba4d1fd1fd Regenerated 2026-04-22 12:50:21 +02:00
henrov eafce390d6 Regenerated 2026-04-22 12:44:16 +02:00
henrov 758c03a9bf Regenerated 2026-04-22 12:38:00 +02:00
henrov 8f5996d903 Regenerated 2026-04-22 12:34:06 +02:00
henrov 3d15e4e2d7 Regenerated 2026-04-22 12:31:56 +02:00
henrov abe8818958 Regenerated 2026-04-22 12:31:03 +02:00
henrov c1716b0319 Regenerated 2026-04-22 12:30:52 +02:00
henrov 0ba6f18b63 Regenerated 2026-04-22 12:23:49 +02:00
henrov bc0c949cd7 Regenerated 2026-04-22 12:20:31 +02:00
henrov 0c9e71f2a7 Regenerated 2026-04-22 11:34:55 +02:00
henrov b04a193268 Regenerated 2026-04-22 11:31:11 +02:00
henrov 7a27295f86 Regenerated 2026-04-21 22:51:19 +02:00
henrov df70128156 Regenerated 2026-04-21 22:50:13 +02:00
henrov 8ef5d38340 Regenerated 2026-04-21 22:48:26 +02:00
henrov 447024e143 Regenerated 2026-04-21 22:46:22 +02:00
henrov b158f2247d Regenerated 2026-04-21 22:41:24 +02:00
henrov c67212c94f Regenerated 2026-04-21 22:38:42 +02:00
henrov 1850e8dc26 Regenerated 2026-04-21 22:34:02 +02:00
henrov 9381322401 Regenerated 2026-04-21 22:31:53 +02:00
henrov 730d10edee Regenerated 2026-04-21 22:31:02 +02:00
henrov a965fa973b Regenerated 2026-04-21 22:29:05 +02:00
henrov 8aea9c3ee6 Regenerated 2026-04-21 22:23:54 +02:00
henrov 37fdb75bd9 Regenerated 2026-04-21 22:20:17 +02:00
henrov 449e4826c0 Regenerated 2026-04-21 21:53:29 +02:00
henrov 867264e3b7 Regenerated 2026-04-21 21:53:05 +02:00
henrov 16fe744990 Regenerated 2026-04-21 21:45:05 +02:00
henrov fec2ac4026 Regenerated 2026-04-21 21:39:53 +02:00
henrov 2a5ce1df3f Regenerated 2026-04-21 21:37:20 +02:00
henrov 3dfba5b464 Regenerated 2026-04-21 21:36:27 +02:00
henrov 5b2c1dad2e Regenerated 2026-04-21 21:35:11 +02:00
henrov 386e6048fc Regenerated 2026-04-21 21:34:10 +02:00
henrov 107f8b4756 Regenerated 2026-04-21 21:31:00 +02:00
henrov 0d5fd3fe33 Regenerated 2026-04-21 21:21:44 +02:00
henrov 61728f95d3 Regenerated 2026-04-21 21:19:50 +02:00
henrov 3fad61abde Regenerated 2026-04-21 21:19:18 +02:00
henrov 3bae780610 Regenerated 2026-04-21 21:15:28 +02:00
henrov fdf9621639 Regenerated 2026-04-21 21:13:34 +02:00
henrov aa845e843a Regenerated 2026-04-21 11:37:09 +02:00
henrov e6f4fd70f9 Regenerated 2026-04-21 10:47:16 +02:00
henrov f34b51453f Regenerated 2026-04-21 10:04:22 +02:00
henrov 0dabfee6da Regenerated 2026-04-21 10:01:15 +02:00
henrov 9ce7af9429 Regenerated 2026-04-20 22:36:01 +02:00
henrov ecc6a42519 Regenerated 2026-04-20 20:37:35 +02:00
henrov a10900f62b Regenerated 2026-04-20 20:33:52 +02:00
henrov 7b2872ee95 Regenerated 2026-04-20 20:28:10 +02:00
henrov b5e428bf5e Regenerated 2026-04-20 20:27:14 +02:00
henrov 460d3d2b51 Regenerated 2026-04-20 20:21:05 +02:00
henrov a3a6057358 Regenerated 2026-04-20 20:13:03 +02:00
henrov cc0a043757 Regenerated 2026-04-20 20:07:25 +02:00
henrov 038393e5fb Regenerated 2026-04-20 20:05:41 +02:00
henrov 38a5cb8a29 Regenerated 2026-04-20 19:59:20 +02:00
henrov 4b1c9f29e2 Regenerated 2026-04-20 19:56:33 +02:00
henrov df74a65831 Regenerated 2026-04-20 19:54:57 +02:00
henrov 16fbfc00e1 Regenerated 2026-04-20 19:53:28 +02:00
henrov 1e85b6a8d8 Regenerated 2026-04-20 19:52:57 +02:00
henrov d6518d9f14 Regenerated 2026-04-20 19:51:58 +02:00
henrov 21188d4674 Regenerated 2026-04-20 19:49:24 +02:00
henrov a0c8e24997 Regenerated 2026-04-20 19:49:01 +02:00
henrov 5644973db0 Regenerated 2026-04-20 19:44:53 +02:00
henrov 059fc7f5f4 Regenerated 2026-04-20 19:39:41 +02:00
henrov d00fa76fa3 Regenerated 2026-04-20 19:38:36 +02:00
henrov 80abd13d44 Regenerated 2026-04-20 19:33:31 +02:00
henrov f00b6c3c15 Regenerated 2026-04-20 19:32:38 +02:00
henrov 827dd21eb5 Regenerated 2026-04-20 19:32:15 +02:00
henrov 3e2440d395 Regenerated 2026-04-20 19:31:17 +02:00
henrov c886c9be8f Regenerated 2026-04-20 19:30:52 +02:00
henrov f730526c18 Regenerated 2026-04-20 19:29:53 +02:00
henrov 21d9880738 Regenerated 2026-04-20 19:26:55 +02:00
henrov 6b427ec38c Regenerated 2026-04-20 19:23:00 +02:00
henrov ceaf5667f2 Regenerated 2026-04-20 19:21:53 +02:00
henrov a04926b1fa Regenerated 2026-04-20 19:20:17 +02:00
henrov 0e272f5411 Regenerated 2026-04-20 19:17:35 +02:00
henrov ccbe1cc1a4 Regenerated 2026-04-20 19:17:06 +02:00
henrov eaca264460 Regenerated 2026-04-20 19:16:12 +02:00
henrov 8314ba348d Regenerated 2026-04-20 19:13:55 +02:00
henrov b73c206ee5 Regenerated 2026-04-20 19:11:59 +02:00
henrov a5c30c7310 Regenerated 2026-04-20 19:09:00 +02:00
henrov 79c559eb47 Regenerated 2026-04-20 19:05:01 +02:00
henrov ce0c92ecc5 Regenerated 2026-04-20 18:37:22 +02:00
henrov 3449cd9865 Regenerated 2026-04-20 18:35:38 +02:00
henrov d80aed8478 Regenerated 2026-04-20 18:32:02 +02:00
henrov d687b79111 Regenerated 2026-04-20 18:31:22 +02:00
henrov 64c5938d98 Regenerated 2026-04-20 18:30:03 +02:00
henrov bde704ce0a Regenerated 2026-04-20 18:19:37 +02:00
henrov 08312de42d Regenerated 2026-04-20 18:18:59 +02:00
henrov efccf6e94b Regenerated 2026-04-20 18:18:43 +02:00
henrov 8e9a464f7b Regenerated 2026-04-20 18:18:02 +02:00
henrov aacd46c42a Regenerated 2026-04-20 18:14:29 +02:00
henrov 368f443036 Regenerated 2026-04-20 18:14:05 +02:00
henrov 08159e8d69 Regenerated 2026-04-20 18:10:54 +02:00
henrov 8520dcd340 Regenerated 2026-04-20 18:10:15 +02:00
henrov 0f0a909689 Regenerated 2026-04-20 18:08:31 +02:00
henrov 441c97efa7 Regenerated 2026-04-20 18:05:08 +02:00
henrov 6a608d58b0 Regenerated 2026-04-20 18:00:58 +02:00
henrov 5a08bdb211 Regenerated 2026-04-20 17:57:30 +02:00
henrov 6083d6668a Regenerated 2026-04-19 22:24:13 +02:00
henrov aa63c133cf Regenerated 2026-04-19 22:22:12 +02:00
henrov 0776cdbda1 Regenerated 2026-04-19 22:19:43 +02:00
henrov b54b932f25 Regenerated 2026-04-19 22:17:48 +02:00
henrov 4b04d56096 Regenerated 2026-04-19 22:14:26 +02:00
henrov 1d08356641 Regenerated 2026-04-19 22:07:25 +02:00
henrov efc4be85ed Regenerated 2026-04-19 22:05:58 +02:00
henrov 6cd1ae50d1 Regenerated 2026-04-19 22:04:11 +02:00
henrov 6d70acb326 Regenerated 2026-04-19 21:53:34 +02:00
henrov 0ff5606b70 Regenerated 2026-04-19 21:50:03 +02:00
henrov 7de2f9b575 Regenerated 2026-04-19 21:47:58 +02:00
henrov d9b9337ea3 Regenerated 2026-04-19 21:45:54 +02:00
henrov e0eeff549d Regenerated 2026-04-19 21:43:26 +02:00
henrov 15c7e305ad Regenerated 2026-04-19 21:38:40 +02:00
henrov 39289ab1e5 Regenerated 2026-04-19 21:35:21 +02:00
henrov 41043b131d Regenerated 2026-04-19 21:34:04 +02:00
henrov ef486a6b5b Regenerated 2026-04-19 21:32:24 +02:00
henrov 74cdede6e3 Regenerated 2026-04-19 21:28:17 +02:00
henrov f15a8738dd Regenerated 2026-04-19 21:08:41 +02:00
henrov 978ac258c7 Regenerated 2026-04-19 20:59:33 +02:00
henrov 3b7d1c33de Regenerated 2026-04-19 20:58:58 +02:00
henrov 9e7a1d451b Regenerated 2026-04-19 19:01:58 +02:00
henrov 73c124bbb1 Regenerated 2026-04-19 18:58:09 +02:00
henrov 68ddf4ab69 Regenerated 2026-04-19 18:54:50 +02:00
henrov 25d5c47033 Regenerated 2026-04-19 18:41:53 +02:00
henrov 42322a8cf3 Regenerated 2026-04-19 18:30:28 +02:00
henrov 04593f9867 Regenerated 2026-04-17 20:09:40 +02:00
henrov fab8efbfee Regenerated 2026-04-17 20:03:44 +02:00
henrov f7d2e4f877 Regenerated 2026-04-17 19:58:25 +02:00
henrov 6d9d4b6bcc Regenerated 2026-04-17 19:51:01 +02:00
henrov ba82085b37 Regenerated 2026-04-17 19:43:03 +02:00
henrov ea424efbd0 Regenerated 2026-04-17 19:41:40 +02:00
henrov 0315548e7e Regenerated 2026-04-17 19:39:15 +02:00
henrov c03aa50261 Regenerated 2026-04-17 12:30:03 +02:00
henrov 310b141118 Regenerated 2026-04-17 10:20:53 +02:00
henrov f51aec7988 Regenerated 2026-04-17 09:35:41 +02:00
henrov 7c34a89fc5 Regenerated 2026-04-17 09:34:27 +02:00
henrov 2ff0c9eabe Regenerated 2026-04-17 09:34:01 +02:00
henrov 3a1189fded Regenerated 2026-04-17 09:32:43 +02:00
henrov a8710b0309 Regenerated 2026-04-17 09:17:35 +02:00
henrov 21ec5e92a5 Regenerated 2026-04-17 09:17:00 +02:00
henrov ffc6e4815d Regenerated 2026-04-17 09:15:53 +02:00
henrov d4428a5692 Regenerated 2026-04-17 09:14:32 +02:00
henrov 927383e081 Regenerated 2026-04-17 09:12:32 +02:00
henrov 190fad57db Regenerated 2026-04-17 09:12:14 +02:00
henrov d221191eb9 Regenerated 2026-04-17 09:07:51 +02:00
henrov 65147a3c7e Regenerated 2026-04-17 08:43:27 +02:00
henrov f87c178de2 Regenerated 2026-04-16 23:10:33 +02:00
henrov ccc69933c6 Regenerated 2026-04-16 23:01:15 +02:00
henrov b3a00e6652 Regenerated 2026-04-16 22:56:45 +02:00
henrov a77642e9c3 Regenerated 2026-04-16 22:39:42 +02:00
henrov 8241bbd47f Regenerated 2026-04-16 22:36:44 +02:00
henrov 6c40ff4a84 Regenerated 2026-04-16 21:54:48 +02:00
henrov 9cb2e348dd Regenerated 2026-04-15 15:15:41 +02:00
henrov defaa211b4 Regenerated 2026-04-15 13:05:47 +02:00
henrov 4852013fea Regenerated 2026-04-15 13:04:11 +02:00
henrov 134fb7b7cd Regenerated 2026-04-15 08:09:19 +02:00
henrov 7a195edb76 Regenerated 2026-04-15 07:55:54 +02:00
henrov 9c7a095115 Regenerated 2026-04-15 07:51:44 +02:00
henrov 5245b79974 Regenerated 2026-04-15 07:49:34 +02:00
henrov df6f3e9ac2 Regenerated 2026-04-15 07:44:11 +02:00
henrov 093eae9f30 Regenerated 2026-04-15 07:43:36 +02:00
henrov a92817279b Regenerated 2026-04-15 07:39:51 +02:00
henrov ac6d20b2d6 Regenerated 2026-04-15 07:36:26 +02:00
henrov d42b0535f3 Regenerated 2026-04-15 07:27:33 +02:00
henrov 2cff6221a2 Regenerated 2026-04-15 07:25:46 +02:00
henrov a9d9b46a0d Regenerated 2026-04-15 07:24:12 +02:00
henrov 8b9c9b35df Regenerated 2026-04-15 07:22:59 +02:00
henrov 771ce581ec Regenerated 2026-04-15 07:20:48 +02:00
henrov 69ebe72091 Regenerated 2026-04-15 07:18:58 +02:00
henrov a00d45d979 Regenerated 2026-04-15 07:17:10 +02:00
henrov a663d12e15 Regenerated 2026-04-15 07:07:49 +02:00
henrov 80cbdf551f Regenerated 2026-04-15 07:04:08 +02:00
henrov e3f2231e04 Regenerated 2026-04-15 07:03:13 +02:00
henrov cbea2c3b7e Regenerated 2026-04-15 07:02:29 +02:00
henrov 84aeb9a110 Regenerated 2026-04-14 21:00:34 +02:00
henrov 21a2f0ac40 Regenerated 2026-04-14 20:44:47 +02:00
henrov d1dcf67fea Regenerated 2026-04-14 20:36:37 +02:00
henrov 91f131e0c2 Regenerated 2026-04-14 19:57:20 +02:00
henrov 180b960526 Regenerated 2026-04-14 19:56:28 +02:00
henrov c4b6902a14 Regenerated 2026-04-14 19:46:50 +02:00
henrov 8404c1ed9f Regenerated 2026-04-14 19:44:05 +02:00
henrov ac2afb7782 Regenerated 2026-04-14 19:35:22 +02:00
henrov 1c8e56421c Regenerated 2026-04-14 19:25:54 +02:00
henrov ba20d4d534 Regenerated 2026-04-14 19:25:31 +02:00
henrov b15f5479a9 Regenerated 2026-04-14 19:19:13 +02:00
henrov 6272c68cec Regenerated 2026-04-14 19:17:23 +02:00
henrov c9f7fade09 Regenerated 2026-04-14 19:16:41 +02:00
henrov 4a591a8490 Regenerated 2026-04-14 19:15:06 +02:00
henrov ba575061d4 Regenerated 2026-04-14 19:14:14 +02:00
henrov b07856931a Regenerated 2026-04-14 19:11:25 +02:00
henrov 021c6ab5a4 Regenerated 2026-04-14 19:10:00 +02:00
henrov c7c22f0507 Regenerated 2026-04-14 19:08:30 +02:00
henrov 970713983c Regenerated 2026-04-14 19:06:03 +02:00
henrov bf27910f28 Regenerated 2026-04-14 18:32:10 +02:00
henrov 3c86d1c7eb Regenerated 2026-04-14 18:30:23 +02:00
henrov e32e25e58f Regenerated 2026-04-14 15:39:59 +02:00
henrov d8446c6ebd Regenerated 2026-04-14 15:33:25 +02:00
henrov 2135810b5c Regenerated 2026-04-14 15:28:17 +02:00
henrov 599aa084ab Regenerated 2026-04-14 15:24:45 +02:00
henrov a799e9ab67 Regenerated 2026-04-14 15:22:43 +02:00
henrov ba0721f4a0 Regenerated 2026-04-14 15:15:38 +02:00
henrov 68d4439960 Regenerated 2026-04-14 15:12:41 +02:00
henrov f888c9122c Regenerated 2026-04-14 15:03:56 +02:00
henrov d7d1406373 Regenerated 2026-04-14 15:02:17 +02:00
henrov 0fabf15f97 Regenerated 2026-04-14 14:57:35 +02:00
henrov 135b3c962a Regenerated 2026-04-14 14:54:45 +02:00
henrov 4b9880252d Regenerated 2026-04-14 14:50:47 +02:00
henrov 9a78271308 Regenerated 2026-04-14 14:20:00 +02:00
henrov 62026d6ca9 Regenerated 2026-04-14 14:18:52 +02:00
henrov 970296e443 Regenerated 2026-04-14 14:18:13 +02:00
henrov e830822297 Regenerated 2026-04-14 14:11:54 +02:00
henrov 4effd4c8f2 Regenerated 2026-04-14 14:10:20 +02:00
henrov 589c1e96b4 Regenerated 2026-04-14 14:07:48 +02:00
henrov 3970b600f0 Regenerated 2026-04-14 13:50:43 +02:00
henrov cf523788ff Regenerated 2026-04-14 13:48:54 +02:00
henrov 3072866c49 Regenerated 2026-04-14 13:42:36 +02:00
henrov 40682aacde Regenerated 2026-04-14 13:36:11 +02:00
henrov b875ac5842 Regenerated 2026-04-14 13:34:33 +02:00
henrov 32f96f600a Regenerated 2026-04-14 13:34:00 +02:00
henrov e31fb3aed7 Regenerated 2026-04-13 20:29:56 +02:00
henrov f35d9d9789 Regenerated 2026-04-13 19:23:25 +02:00
henrov 776a633aff Regenerated 2026-04-13 17:17:54 +02:00
henrov f1b8924f33 Regenerated 2026-04-13 17:10:47 +02:00
henrov 05166c5d65 Regenerated 2026-04-13 17:09:31 +02:00
henrov 648e944aea Regenerated 2026-04-13 17:08:27 +02:00
henrov 21ce1588da Regenerated 2026-04-13 17:07:07 +02:00
henrov 795cfd928f Regenerated 2026-04-13 17:05:17 +02:00
henrov a3a11d9cd9 Regenerated 2026-04-13 17:03:42 +02:00
henrov 43cb41ce2b Regenerated 2026-04-13 17:00:18 +02:00
henrov 59c9300575 Regenerated 2026-04-13 16:58:44 +02:00
henrov f1689c5eb0 Regenerated 2026-04-13 16:55:29 +02:00
henrov dd82d1c560 Regenerated 2026-04-13 16:54:07 +02:00
henrov 0416665b9d Regenerated 2026-04-13 16:50:10 +02:00
henrov 4971899f00 Regenerated 2026-04-13 16:47:03 +02:00
henrov 83e8c90353 Regenerated 2026-04-13 16:42:26 +02:00
henrov 64c1393721 Regenerated 2026-04-13 16:39:52 +02:00
henrov c08214ebe4 Regenerated 2026-04-13 16:36:14 +02:00
henrov 6a55ae0914 Regenerated 2026-04-13 16:35:10 +02:00
henrov 36b8b0e580 Regenerated 2026-04-13 16:33:33 +02:00
henrov 91935aef00 Regenerated 2026-04-13 16:25:41 +02:00
henrov 30f06717fc Regenerated 2026-04-13 16:24:09 +02:00
henrov 17000b3230 Regenerated 2026-04-13 16:22:18 +02:00
henrov c135e2aa5e Regenerated 2026-04-13 16:19:26 +02:00
henrov c48f278b8b Regenerated 2026-04-13 16:17:00 +02:00
henrov 08ac569642 Regenerated 2026-04-13 16:13:55 +02:00
henrov 18ff2b22b2 Regenerated 2026-04-13 16:11:42 +02:00
henrov 6549c6b6fa Regenerated 2026-04-13 16:08:50 +02:00
henrov 391683fa91 Regenerated 2026-04-13 16:07:03 +02:00
henrov 2862f573eb Regenerated 2026-04-13 15:57:54 +02:00
henrov 8087acaa7b Regenerated 2026-04-13 15:56:38 +02:00
henrov 09ec37f871 Regenerated 2026-04-13 15:54:04 +02:00
henrov b8ec3529eb Regenerated 2026-04-13 15:51:12 +02:00
henrov f997012dec Regenerated 2026-04-13 15:45:34 +02:00
henrov 2344e588d5 Regenerated 2026-04-13 15:42:55 +02:00
henrov ee00cdce06 Regenerated 2026-04-13 15:36:26 +02:00
henrov 9d85d6ee21 Regenerated 2026-04-13 15:31:21 +02:00
henrov 1f9e960787 Regenerated 2026-04-13 15:27:09 +02:00
henrov ff328201b5 Regenerated 2026-04-13 15:10:46 +02:00
henrov d5a86e576a Regenerated 2026-04-13 14:47:51 +02:00
henrov 8de98fec4a Regenerated 2026-04-13 14:47:36 +02:00
henrov 96c7a9f8ad Regenerated 2026-04-13 14:47:06 +02:00
henrov 3034230047 Regenerated 2026-04-13 14:45:02 +02:00
henrov e858e6c103 Regenerated 2026-04-13 14:42:18 +02:00
henrov 15bcc885c3 Regenerated 2026-04-13 14:40:24 +02:00
henrov 87165ca616 Regenerated 2026-04-13 14:39:35 +02:00
henrov d6eeff7c1b Regenerated 2026-04-13 14:37:51 +02:00
henrov ee38939277 Regenerated 2026-04-13 14:37:21 +02:00
henrov b50b6ccc2b Regenerated 2026-04-13 14:35:57 +02:00
henrov cfde0ce467 Regenerated 2026-04-13 14:32:11 +02:00
henrov 1750342775 Regenerated 2026-04-13 14:24:07 +02:00
henrov 4bb25b3945 Regenerated 2026-04-13 14:12:16 +02:00
henrov cdc2934d2e Regenerated 2026-04-13 13:48:10 +02:00
henrov 47c1ae2510 Regenerated 2026-04-13 12:20:10 +02:00
henrov 053e9dafde Regenerated 2026-04-13 12:18:25 +02:00
henrov df800b1d90 Regenerated 2026-04-13 12:16:13 +02:00
henrov 2a5f61b8cb Regenerated 2026-04-13 12:15:15 +02:00
henrov 82d55ebadb Regenerated 2026-04-13 12:13:31 +02:00
henrov 66294c2393 Regenerated 2026-04-13 12:09:09 +02:00
henrov 1c9c21c05f Regenerated 2026-04-13 12:03:41 +02:00
henrov 149948e7c5 Regenerated 2026-04-13 11:59:26 +02:00
henrov 8e7e0c1129 Regenerated 2026-04-13 11:48:56 +02:00
henrov da6102a3ad Regenerated 2026-04-13 11:46:17 +02:00
henrov cfa33e527d Regenerated 2026-04-13 11:43:59 +02:00
henrov c09de70d78 Regenerated 2026-04-13 11:38:08 +02:00
henrov 4d0f3677a3 Regenerated 2026-04-13 11:31:13 +02:00
henrov 1bfc500c99 Regenerated 2026-04-13 11:29:28 +02:00
henrov 35948151ab Regenerated 2026-04-13 11:20:49 +02:00
henrov 28ba7e8342 Regenerated 2026-04-13 11:02:25 +02:00
henrov 55dd1433d6 Regenerated 2026-04-13 10:55:32 +02:00
henrov bc2e321a19 Regenerated 2026-04-13 10:51:31 +02:00
henrov b97db97a1e Regenerated 2026-04-13 10:44:44 +02:00
henrov 5f89247640 Regenerated 2026-04-13 10:38:14 +02:00
henrov 6da452c9d7 Regenerated 2026-04-13 10:32:04 +02:00
henrov 7b362d33f2 Regenerated 2026-04-12 12:25:18 +02:00
henrov 88103cafbf Regenerated 2026-04-12 12:24:14 +02:00
henrov d058197d2e Regenerated 2026-04-12 12:14:56 +02:00
henrov fb0d4fea46 Regenerated 2026-04-12 11:54:25 +02:00
henrov e0ee2eef70 Regenerated 2026-04-12 11:53:18 +02:00
henrov 0e6c2ae0a2 Regenerated 2026-04-12 11:52:02 +02:00
henrov c7da714001 Regenerated 2026-04-12 11:48:54 +02:00
henrov 9fbc951b29 Regenerated 2026-04-12 11:42:37 +02:00
henrov d338e870aa Regenerated 2026-04-12 11:20:05 +02:00
henrov c57e02f420 Regenerated 2026-04-12 11:11:51 +02:00
henrov 92b0685734 Regenerated 2026-04-12 11:06:16 +02:00
henrov 68676816e8 Regenerated 2026-04-12 10:53:21 +02:00
henrov 689a9806dd Regenerated 2026-04-12 10:49:26 +02:00
henrov ef9ef54963 Regenerated 2026-04-12 10:46:43 +02:00
henrov 4faa58da15 Regenerated 2026-04-11 23:24:55 +02:00
henrov a0210ef96e Regenerated 2026-04-11 23:21:27 +02:00
henrov be66ce1fd6 Regenerated 2026-04-11 23:19:15 +02:00
henrov 1521569192 Regenerated 2026-04-11 23:16:49 +02:00
henrov 07df76955d Regenerated 2026-04-11 23:01:11 +02:00
henrov 93eb265c95 Regenerated 2026-04-11 22:59:32 +02:00
henrov af55d858cc Regenerated 2026-04-11 22:53:38 +02:00
henrov c527a5452e Regenerated 2026-04-11 22:51:15 +02:00
henrov a3019a3fe6 Regenerated 2026-04-11 22:44:39 +02:00
henrov 2aec1395cd Regenerated 2026-04-11 22:39:24 +02:00
henrov 7dc14bdb23 Regenerated 2026-04-11 22:33:59 +02:00
henrov 13770e384a Regenerated 2026-04-11 22:24:29 +02:00
henrov 8c5834f835 Regenerated 2026-04-11 22:20:32 +02:00
henrov 138c318b0c Regenerated 2026-04-11 20:33:40 +02:00
henrov 91afbd0274 Regenerated 2026-04-11 20:32:24 +02:00
henrov 9c5fac65ea Regenerated 2026-04-11 20:31:18 +02:00
henrov b79c493182 Regenerated 2026-04-11 20:29:33 +02:00
henrov 9c2a5d5956 Regenerated 2026-04-11 20:24:42 +02:00
henrov 0686427abe Regenerated 2026-04-11 20:23:36 +02:00
henrov 9de9043fa9 Regenerated 2026-04-11 20:16:08 +02:00
henrov 4fc8734a51 Regenerated 2026-04-11 20:12:58 +02:00
henrov 3b169ff56a Regenerated 2026-04-11 20:11:37 +02:00
henrov e51fa2c770 Regenerated 2026-04-11 20:06:28 +02:00
henrov 9cf8249f16 Regenerated 2026-04-11 20:00:08 +02:00
henrov e207bc367b Regenerated 2026-04-11 19:54:13 +02:00
henrov 9e1439ce32 Regenerated 2026-04-11 19:48:59 +02:00
henrov 932294e32c Regenerated 2026-04-11 19:33:37 +02:00
henrov 3ab556d88a Regenerated 2026-04-11 18:13:05 +02:00
henrov 177498acb9 Regenerated 2026-04-11 17:19:33 +02:00
henrov f242e1ec13 Regenerated 2026-04-11 17:19:23 +02:00
henrov 5ffd11099b Regenerated 2026-04-11 17:15:48 +02:00
henrov 1673632841 Regenerated 2026-04-11 17:14:23 +02:00
henrov 4909577436 Regenerated 2026-04-11 17:09:14 +02:00
henrov 320cbeba8e Regenerated 2026-04-11 17:05:19 +02:00
henrov 365ca72aec Regenerated 2026-04-11 17:03:17 +02:00
henrov 01f0e324d8 Regenerated 2026-04-11 16:57:38 +02:00
henrov 79e283f0ef Regenerated 2026-04-11 16:41:19 +02:00
henrov f9cca5cd21 Regenerated 2026-04-11 16:28:30 +02:00
henrov 823ad863ee Regenerated 2026-04-11 16:28:00 +02:00
henrov 438e52ccc7 Regenerated 2026-04-11 16:23:46 +02:00
henrov 52a7eec61e Regenerated 2026-04-11 16:23:05 +02:00
henrov 08625c69c8 Regenerated 2026-04-11 16:21:32 +02:00
henrov 4654f3e744 Regenerated 2026-04-11 16:20:12 +02:00
henrov 39ac6ab327 Regenerated 2026-04-11 16:17:55 +02:00
henrov ea0915582c Regenerated 2026-04-11 16:15:16 +02:00
henrov 2680bc19aa Regenerated 2026-04-11 16:14:08 +02:00
henrov f0326b3f40 Regenerated 2026-04-11 16:13:02 +02:00
henrov a64217bfee Regenerated 2026-04-11 16:10:40 +02:00
henrov 99ac636a53 Regenerated 2026-04-11 15:57:37 +02:00
henrov ebb2a08eaa Regenerated 2026-04-11 15:54:30 +02:00
henrov 88a33b0f3e Regenerated 2026-04-11 15:27:38 +02:00
henrov 78a635b865 Regenerated 2026-04-11 15:21:23 +02:00
henrov 29902e9b06 Regenerated 2026-04-11 15:15:31 +02:00
henrov 4b6ab1a885 Regenerated 2026-04-11 15:13:45 +02:00
henrov d393b81347 Regenerated 2026-04-11 15:08:22 +02:00
henrov e67eec3799 Regenerated 2026-04-11 14:56:43 +02:00
henrov c684126bed Regenerated 2026-04-11 14:43:56 +02:00
henrov a0bccafc30 Regenerated 2026-04-11 14:38:04 +02:00
henrov 71dee6d322 Regenerated 2026-04-11 14:32:34 +02:00
henrov f645e07a74 Regenerated 2026-04-11 14:31:24 +02:00
henrov d0a68dbff5 Regenerated 2026-04-11 14:29:05 +02:00
henrov d5f83f6978 Regenerated 2026-04-11 14:11:06 +02:00
henrov 03f09275d0 Regenerated 2026-04-11 10:18:49 +02:00
henrov b86f8dfd20 Regenerated 2026-04-11 10:17:47 +02:00
henrov 3792ecbfb7 Regenerated 2026-04-11 10:16:02 +02:00
henrov 84d00c0c3a Regenerated 2026-04-11 10:04:35 +02:00
henrov 3d6710b478 Regenerated 2026-04-11 10:01:59 +02:00
henrov f75c24a394 Regenerated 2026-04-11 09:59:50 +02:00
henrov 6544539736 Regenerated 2026-04-11 09:58:30 +02:00
henrov d28abf34e5 Regenerated 2026-04-11 09:56:56 +02:00
henrov 489830ce90 Regenerated 2026-04-11 09:55:08 +02:00
17006 changed files with 8429 additions and 131129 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"project_name": "Droidnix"
}
+3045 -954
View File
File diff suppressed because it is too large Load Diff
+2593 -640
View File
File diff suppressed because it is too large Load Diff
+78 -57
View File
@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775558810, "lastModified": 1776876344,
"narHash": "sha256-fy95EdPnqQlpbP8+rk0yWKclWShCUS5VKs6P7/1MF2c=", "narHash": "sha256-Ubqb/agkuMJK+k19gjQgHux/eOYRc1sRGoOZOho8+VY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "7371b669b22aa2af980f913fc312a786d2f1abb2", "rev": "648a13d0ee1e03a843b3e145b8ece15393058701",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -109,11 +109,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1775841973, "lastModified": 1777430986,
"narHash": "sha256-Fr3lUUcptivEeRyaKLPPgDrQdIMzyZwVVfXPN/IXMgI=", "narHash": "sha256-6wq7cfwTXKl234xQGnrUWeW9m4J/113YQ5IIZhbs6zQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "8d4d36e62a3715ed453dc7b53f58454861e6b7fb", "rev": "12f3383f6296fbe1ea2eb2b4ad666185fee36f42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -177,11 +177,11 @@
}, },
"flatpak": { "flatpak": {
"locked": { "locked": {
"lastModified": 1768656715, "lastModified": 1777402031,
"narHash": "sha256-Sbh037scxKFm7xL0ahgSCw+X2/5ZKeOwI2clqrYr9j4=", "narHash": "sha256-6gkfl9y3+ti0Z6dgby8/R4/DRT8sWU0I0TLCIxwWtjk=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "123fe29340a5b8671367055b75a6e7c320d6f89a", "rev": "22a3adbe7c5c8c8a10a635d32c9ef7fc01a6e4b8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -252,11 +252,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775781825, "lastModified": 1777434174,
"narHash": "sha256-L5yKTpR+alrZU2XYYvIxCeCP4LBHU5jhwSj7H1VAavg=", "narHash": "sha256-KwTyQ5g2qDhWIs/O6vH8HeF8n4JCzZIT/VYE7nYnukQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e35c39fca04fee829cecdf839a50eb9b54d8a701", "rev": "d3b4e4b1bd59aedd3d4eb0a8df7162edb6da4607",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -281,11 +281,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772461003, "lastModified": 1776511930,
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=", "narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7", "rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -310,11 +310,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775496928, "lastModified": 1776426399,
"narHash": "sha256-Ds759WU03mGWtu3I43J+5GF5Ni8TvF+GYQUFD+fVeMo=", "narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "cf95d93d17baa18f1d9b016b3afe27f820521a6e", "rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -340,11 +340,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1775828308, "lastModified": 1777413378,
"narHash": "sha256-XsijqtwDQd8pf/PweiGGuX7O1250f3YOchQ+oGm0eCc=", "narHash": "sha256-3ZAOkmOly7h3i22XNKHD9LEhFRTop3JT88PrlDaqnzo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "f7755322fc515108cc9eed8113c09492d4a352c1", "rev": "e61976233e01446c4e7dd4fa3b4209fea1fca9ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -386,11 +386,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774710575, "lastModified": 1776426575,
"narHash": "sha256-p7Rcw13+gA4Z9EI3oGYe3neQ3FqyOOfZCleBTfhJ95Q=", "narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "0703df899520001209646246bef63358c9881e36", "rev": "a968d211048e3ed538e47b84cb3649299578f19d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -440,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772459629, "lastModified": 1776426736,
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=", "narHash": "sha256-rl7i4aY+9p8LysJp7o8uRWahCkpFznCgGHXszlTw7b0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186", "rev": "7833ff33b2e82d3406337b5dcf0d1cec595d83e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -517,11 +517,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774911391, "lastModified": 1777148223,
"narHash": "sha256-c4YVwO33Mmw+FIV8E0u3atJZagHvGTJ9Jai6RtiB8rE=", "narHash": "sha256-PTf7kRFFzCW6rIYxLH2fWfVJmj86FSYe3k6L8B+IM9o=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "e6caa3d4d1427eedbdf556cf4ceb70f2d9c0b56d", "rev": "fa3992be2dfebe4ab06d753c6ca59bea298e798f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -542,11 +542,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772459835, "lastModified": 1777148232,
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=", "narHash": "sha256-Uv0WZLhu89SafuSOmYDA7akrPt4wBRmsa1ucasO5aXg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7", "rev": "fec9cf1abcc1011e46f0a0986f46bf93c6bf8b92",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -571,11 +571,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775414057, "lastModified": 1776728575,
"narHash": "sha256-mDpHnf+MkdOxEqIM1TnckYYh9p1SXR8B3KQfNZ12M8s=", "narHash": "sha256-z9eGphrArEBpl1O/GCH0wlY6z4K9vA6yWh2gAS6qytU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwire", "repo": "hyprwire",
"rev": "86012ee01b0fdd8bf3101ef38816f2efbee42490", "rev": "f3a80888783702a39691b684d099e16b83ed4702",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -601,11 +601,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1775423009, "lastModified": 1776877367,
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -617,11 +617,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1775595990, "lastModified": 1777077449,
"narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=", "narHash": "sha256-AIiMJiqvGrN4HyLEbKAoCSRRYn0rnlW5VbKNIMIYqm4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4e92bbcdb030f3b4782be4751dc08e6b6cb6ccf2", "rev": "a4bf06618f0b5ee50f14ed8f0da77d34ecc19160",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -633,11 +633,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1775710090, "lastModified": 1777268161,
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4c1018dae018162ec878d42fec712642d214fdfa", "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -682,11 +682,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775036584, "lastModified": 1776796298,
"narHash": "sha256-zW0lyy7ZNNT/x8JhzFHBsP2IPx7ATZIPai4FJj12BgU=", "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "4e0eb042b67d863b1b34b3f64d52ceb9cd926735", "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -695,6 +695,26 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1777341401,
"narHash": "sha256-QEAVYeXxvTamsYJVBq8+qSJV9ml2MxqRaZvkobfuPWA=",
"ref": "refs/heads/master",
"rev": "0baa81aa03559ca315668e5a306364cddf1a6f49",
"revCount": 812,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}
},
"root": { "root": {
"inputs": { "inputs": {
"emacs-overlay": "emacs-overlay", "emacs-overlay": "emacs-overlay",
@@ -703,6 +723,7 @@
"hyprland": "hyprland", "hyprland": "hyprland",
"import-tree": "import-tree", "import-tree": "import-tree",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"quickshell": "quickshell",
"stylix": "stylix", "stylix": "stylix",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
@@ -727,11 +748,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1775429060, "lastModified": 1776893932,
"narHash": "sha256-wbFF5cRxQOCzL/wHOKYm21t5AHPH2Lfp0mVPCOAvEoc=", "narHash": "sha256-AFD5cf9eNqXq1brHS63xeZy2xKZMgG9J86XJ9I2eLn8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "d27951a6539951d87f75cf0a7cda8a3a24016019", "rev": "84971726c7ef0bb3669a5443e151cc226e65c518",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -862,11 +883,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773601989, "lastModified": 1777035886,
"narHash": "sha256-2tJf/CQoHApoIudxHeJye+0Ii7scR0Yyi7pNiWk0Hn8=", "narHash": "sha256-m1TNuBoSXUBSKhD9UVMkU90M0wFTPTfvIOOltO8IM8A=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "a9b862d1aa000a676d310cc62d249f7ad726233d", "rev": "ecfcdcc781f48821d83e1e2a0e30d7beca0eeb5e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -882,11 +903,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775710180, "lastModified": 1777352968,
"narHash": "sha256-sCokvdNvl8zIzsnjgG0TN5h3RUI7GJyWW9ErfmEj0rM=", "narHash": "sha256-BZ+BHCINHSyyCOWo4pCJQU4T994iZLiw7lgFMNw+W9k=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "2c138beb648d1cbbfae76695a8230ee04e4db25a", "rev": "bebce586893c7d441edd6cf9cf2cf62a1799361e",
"type": "github" "type": "github"
}, },
"original": { "original": {
+37 -14
View File
@@ -1,58 +1,81 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ {
description = "Droidnix: A dendritic NixOS + Home Manager configuration"; description = "Droidnix: A dendritic NixOS + Home Manager configuration";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
import-tree.url = "github:vic/import-tree"; import-tree.url = "github:vic/import-tree";
stylix = { stylix = {
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
flatpak = { flatpak = {
url = "github:gmodena/nix-flatpak"; url = "github:gmodena/nix-flatpak";
}; };
emacs-overlay = { emacs-overlay = {
url = "github:nix-community/emacs-overlay"; url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
}; };
outputs = { self, nixpkgs, home-manager, import-tree, stylix, hyprland,
outputs = { self, nixpkgs, home-manager, import-tree, stylix, hyprland, emacs-overlay, zen-browser, flatpak, ... }: emacs-overlay, zen-browser, flatpak, ... }:
let let
system = "x86_64-linux"; system = "x86_64-linux";
flakeRoot = self; flakeRoot = self;
buildUser = "henrov";
mutableConfigPath = "${flakeRoot}/generated/.config";
in { in {
nixosConfigurations = { nixosConfigurations = {
traveldroid = nixpkgs.lib.nixosSystem { traveldroid = nixpkgs.lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [
({ ... }: { ({ ... }: {
nixpkgs.overlays = [ emacs-overlay.overlays.default ]; nixpkgs.overlays = [ emacs-overlay.overlays.default ];
}) })
flatpak.nixosModules."nix-flatpak" flatpak.nixosModules."nix-flatpak"
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit
flakeRoot
import-tree
stylix
hyprland
zen-browser
quickshell
buildUser
mutableConfigPath
;
};
}
./generated/hosts/traveldroid/host.nix ./generated/hosts/traveldroid/host.nix
./generated/users/henrov.nix
]; ];
specialArgs = { specialArgs = {
inherit flakeRoot; inherit
inherit home-manager import-tree stylix hyprland zen-browser; flakeRoot
home-manager
import-tree
stylix
hyprland
zen-browser
quickshell
buildUser
mutableConfigPath
;
}; };
}; };
}; };
@@ -1,3 +1,4 @@
;; --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
;;; package --- early init -*- lexical-binding: t -*- ;;; package --- early init -*- lexical-binding: t -*-
;;; Commentary: ;;; Commentary:
;;; Prevents white flash and better Emacs defaults ;;; Prevents white flash and better Emacs defaults
+1
View File
@@ -1,3 +1,4 @@
;; --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
;;; package --- Summary - My minimal Emacs init file -*- lexical-binding: t -*- ;;; package --- Summary - My minimal Emacs init file -*- lexical-binding: t -*-
;;; Commentary: ;;; Commentary:
@@ -1,5 +1,4 @@
# ./assets/conf/desktop/hypr/animations.conf # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
animations { animations {
enabled = yes enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = myBezier, 0.05, 0.9, 0.1, 1.05
@@ -1,4 +1,13 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Keyboard and mouse settings # Keyboard and mouse settings
input {
numlock_by_default = true
touchpad {
natural_scroll = true
tap-to-click = true
drag_lock = true
}
}
# Scrolling modifier settings # Scrolling modifier settings
# Touchpad settings (applies to all touchpads) # Touchpad settings (applies to all touchpads)
# Focus settings # Focus settings
+44 -28
View File
@@ -1,30 +1,54 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
$mainMod = SUPER $mainMod = SUPER
# Terminal / launcher / kill / reload # launcher / kill / reload
bind = $mainMod, E, exec, thunar
bind = $mainMod, RETURN, exec, kitty bind = $mainMod, Space, exec, ~/.config/wofi/scripts/wofi-launcher.sh
bind = $mainMod, Space, exec, wofi --show drun --style ~/.config/wofi/style.css bind = ALT, Space, exec, ~/.config/wofi/scripts/wofi-launcher.sh
bind = ALT, Space, exec, wofi --show drun
bind = $mainMod, Q, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit, bind = $mainMod SHIFT, Q, exit,
bind = $mainMod SHIFT, R, exec, hyprctl reload bind = $mainMod SHIFT, R, exec, hyprctl reload
bind = $mainMod, X , exec, qs -c powermenu
bind = $mainMod, L, exec, hyprlock
# grimblast
bind = $mainMod SHIFT, P, exec, grimblast -n -f copysave active
bind = $mainMod SHIFT, S, exec, grimblast -n -f copysave area
bind = , XF86Screenshot, exec, grimblast -n -f copysave area
bind = $mainMod ALT, P, exec, grimblast -n -f copysave output
bind = $mainMod CTRL, P, exec, grimblast -n -f copysave screen
# Flameshot keybindings
# bind = $mainMod SHIFT, P, exec, flameshot full -p ~/Pictures/Screenshots -c
# bind = $mainMod SHIFT, S, exec, flameshot gui 2>/dev/null
# bind = , XF86Screenshot, exec, flameshot gui 2>/dev/null
# bind = $mainMod ALT, P, exec, flameshot full -d 5000 -p ~/Pictures/Screenshots -c
# bind = $mainMod CTRL, P, exec, flameshot screen -n 0 -p ~/Pictures/Screenshots -c
# Switch windows # Switch windows
bind = ALT, TAB, cyclenext, bind = ALT, TAB, cyclenext, prev
# bind = ALT SHIFT, TAB, cyclenext prev bind = ALT SHIFT, TAB, cyclenext, prev
bind = ALT, mouse_down, cyclenext, prev
bind = ALT , mouse_up, cyclenext, prev
bindel = CTRL ALT, mouse_up, layoutmsg, addmaster
bindel = CTRL ALT, mouse_down, layoutmsg, removemaster
bind = CTRL ALT, right, layoutmsg, colwidth +conf
bind = CTRL ALT, left, layoutmsg, colwidth -conf
# switch layouts # switch layouts
bind = $mainMod, T , exec, qs -c layoutswitcher
# Hyprscrolling # Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col bind = $mainMod, period, layoutmsg, move +col
bind = $mainMod, comma, layoutmsg, swapcol l bind = $mainMod, comma, layoutmsg, swapcol l
# Column resize
bind = $mainMod SHIFT, period, layoutmsg, colresize +conf
bind = $mainMod SHIFT, comma, layoutmsg, colresize -conf
# Make / break a tab-group (stack) # Make / break a tab-group (stack)
bind = $mainMod, S, togglegroup bind = $mainMod, S, togglegroup
# Cycle tabs in the group # Cycle tabs in the group
bind = $mainMod, L, changegroupactive, f bind = $mainMod, bracketright, changegroupactive, f
bind = $mainMod, H, changegroupactive, b bind = $mainMod, bracketleft, changegroupactive, b
bind = $mainMod, T, exec, ~/.config/hypr/scripts/layout-selector.sh
# Focus movement # Focus movement
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l
@@ -88,12 +112,6 @@ bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
#########################
# Screenshots
#########################
bind = $mainMod SHIFT, s, exec, flameshot gui
bind = , XF86Screenshot, exec, flameshot full -c -p ~/Pictures/Screenshots
######################### #########################
# Audio (pamixer) # Audio (pamixer)
######################### #########################
@@ -105,7 +123,7 @@ bind = , XF86AudioMicMute, exec, pamixer --default-source -t
######################### #########################
# Media (playerctl) # Media (playerctl)
######################### #########################
bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioPlay, exec, bash -c "playerctl -l | grep -q spotify && playerctl -p spotify play-pause || playerctl play-pause"
bind = , XF86AudioPause, exec, playerctl pause bind = , XF86AudioPause, exec, playerctl pause
bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous bind = , XF86AudioPrev, exec, playerctl previous
@@ -125,29 +143,27 @@ bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%
bind = , XF86Sleep, exec, systemctl suspend bind = , XF86Sleep, exec, systemctl suspend
bind = , XF86PowerOff, exec, systemctl poweroff bind = , XF86PowerOff, exec, systemctl poweroff
bind = , XF86WakeUp, exec, systemctl suspend bind = , XF86WakeUp, exec, systemctl suspend
bind = $mainMod, L, exec, loginctl lock-session bind = , XF86ScreenSaver, exec, loginctl lock-session
# bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
#########################
# Laptop lid settings
#########################
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
######################### #########################
# Start apps # Start apps
######################### #########################
bind = $mainMod, E, exec, thunar
bind = $mainMod, RETURN, exec, kitty
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
bind = CTRL ALT, S, exec, spotify bind = CTRL ALT, S, exec, spotify
bind = $mainMod, Z, exec, zeditor bind = $mainMod, Z, exec, zeditor
bind = $mainMod, W, exec, zen bind = $mainMod, W, exec, zen
bind = CTRL ALT, T, exec, solidtime-desktop
bind = , XF86Calculator, exec, gnome-calculator
######################### #########################
# Auto apps # Auto apps
######################### #########################
bind = , workspace, exec, ~/.config/hypr/scripts/set-workspace-wallpaper.sh bind = , workspace, exec, ~/.config/scripts/set-workspace-wallpaper.sh
######################### #########################
# System stuff # System stuff
######################### #########################
bind = $mainMod, U, exec, kitty -e bash -lc "$HOME/.config/scripts/update.sh" # bind = $mainMod, U, exec, kitty --class update-term -e bash -lc "~/.config/scripts/update.sh; exec bash"
bind = $mainMod, U, exec, qs -c updater
@@ -1,10 +1,13 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
exec-once = dbus-update-activation-environment --systemd --all exec-once = dbus-update-activation-environment --systemd --all
exec-once = hypridleconfig/hypr/exec-once exec-once = systemctl --user start --no-block xdg-desktop-portal-hyprland
exec-once = systemd-run --user --scope --unit=elephant elephant exec-once = systemctl --user start --no-block xdg-desktop-portal
exec-once = waybar exec-once = hypridle
exec-once = awww-daemon exec-once = awww-daemon
exec-once = awww img ~/Wallpapers/pictures/01.jpg exec-once = awww img ~/Wallpapers/pictures/01.jpg
exec-once = ~/.config/hypr/scripts/set-workspace-wallpaper.sh exec-once = ~/.config/scripts/set-workspace-wallpaper.sh
exec-once = ~/.config/hypr/scripts/workspace-listener.sh exec-once = ~/.config/scripts/workspace-listener.sh
exec-once = /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1 exec-once = /run/current-system/sw/libexec/polkit-gnome-authentication-agent-1
exec-once = nextcloud --background exec-once = nextcloud --background
# exec-once = QT_QPA_PLATFORM=wayland flameshot 2> >(grep -v "wlroots" >&2)
exec-once = waybar
@@ -1,5 +1,7 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
general { general {
lock_cmd = hyprlock lock_cmd = hyprlock
before_sleep_cmd = hyprlock
after_sleep_cmd = hyprctl dispatch dpms on after_sleep_cmd = hyprctl dispatch dpms on
ignore_dbus_inhibit = false ignore_dbus_inhibit = false
} }
@@ -14,3 +16,8 @@ listener {
on-timeout = hyprctl dispatch dpms off on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on on-resume = hyprctl dispatch dpms on
} }
listener {
timeout = 1200
on-timeout = systemctl suspend
}
+2 -28
View File
@@ -1,4 +1,5 @@
source = ./theming.css # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
source = ./theming.conf
source = ./animations.conf source = ./animations.conf
source = ./bindings.conf source = ./bindings.conf
source = ./behaviour.conf source = ./behaviour.conf
@@ -8,30 +9,3 @@ source = ./layout.conf
source = ./monitor-rules.conf source = ./monitor-rules.conf
source = ./window-rules.conf source = ./window-rules.conf
source = ./workspace-rules.conf source = ./workspace-rules.conf
decoration {
shadow {
color=rgba(1e1e2e99)
}
}
general {
col.active_border= 0xff89b4fa 0xff97cbcd
col.inactive_border=rgb(45475a)
}
group {
groupbar {
col.active=rgb(89b4fa)
col.inactive=rgb(45475a)
text_color=rgb(cdd6f4)
}
col.border_active=rgb(89b4fa)
col.border_inactive=rgb(45475a)
col.border_locked_active=rgb(94e2d5)
}
misc {
background_color=rgb(1e1e2e)
}
+13 -23
View File
@@ -1,32 +1,22 @@
# ~/.config/hypr/hyprlock.conf # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
general { general {
grace = 2 grace = 2
ignore_empty_input = true hide_cursor = true
} }
background { background {
path = ~/.config/hypr/lock.png monitor =
blur_passes = 2 path = screenshot
blur_size = 6 blur_passes = 3
blur_size = 8
} }
input-field { input-field {
size = 320, 60 monitor =
outline_thickness = 2 size = 250, 50
dots_size = 0.25 position = 0, -80
dots_spacing = 0.20 outline_thickness = 2
fade_on_empty = true
placeholder_text = "Password"
position = 0, -120
halign = center
valign = center
}
label { dots_center = true
text = $TIME fade_on_empty = false
font_size = 72
position = 0, 120
halign = center
valign = center
} }
@@ -1,6 +1,5 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
layerrule = blur on, ignore_alpha 1, match:namespace waybar layerrule = blur on, ignore_alpha 1, match:namespace waybar
layerrule = xray 1, match:namespace waybar layerrule = xray 1, match:namespace waybar
layerrule = blur on, ignore_alpha 1, match:namespace walker
layerrule = xray 1, match:namespace walker
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window layerrule = xray 1, match:namespace swaync-control-center
+7 -1
View File
@@ -1 +1,7 @@
workspace_layouts = dwindle, master, scrolling, monocle # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
scrolling {
fullscreen_on_one_column = true
column_width = 0.32 # default: 3 windows side by side
explicit_column_widths = 0.329, 0.5, 0.667, 1.0
}
@@ -1,2 +1,3 @@
# Default portable monitor rule # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
monitor=DP-1,3840x1080@144,1920x0,1 monitor = DP-1, preferred, 0x0, 1
monitor = eDP-1, preferred, auto-left, 1.5
@@ -1,34 +0,0 @@
#!/usr/bin/env bash
# layout-selector.sh
# Select a workspace layout using Wofi, shows description, applies with layoutmsg
# Define layouts and descriptions
declare -A LAYOUTS=(
[dwindle]="舘 Dwindle: Auto-tiling, windows shrink progressively"
[master]=" Master: One main window, others stacked"
[scrolling]=" Scrolling: Vertical list, scroll through windows"
[monocle]=" Monocle: One window fills the screen"
[floating]=" Floating: Free move & resize"
)
ORDER=(dwindle master scrolling monocle floating)
# Prepare Wofi menu: show "layoutname: description"
MENU_ITEMS=()
for key in "${ORDER[@]}"; do
MENU_ITEMS+=("$key: ${LAYOUTS[$key]}")
done
# Show selection menu via Wofi
CHOICE=$(printf '%s\n' "${MENU_ITEMS[@]}" | wofi --dmenu --prompt "Select Layout")
# Exit if cancelled
[ -z "$CHOICE" ] && exit 0
# Extract layout name from selection (before colon)
LAYOUT_NAME="${CHOICE%%:*}"
# Apply layout via layoutmsg
hyprctl dispatch layoutmsg setlayout "$LAYOUT_NAME"
# Show OSD feedback
hyprctl dispatch oSD "Layout: $LAYOUT_NAME" 2000
@@ -0,0 +1,58 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Hyprland Catppuccin Mocha Theme (solid colors)
# Colors
$base = #1e1e2e
$baseshadow = #1e1e2e99
$mantle = #181825
$surface0 = #313244
$surface1 = #45475a
$surface2 = #585b70
$text = #cdd6f4
$rosewater = #f5e0dc
$lavender = #b4befe
$red = #f38ba8
$peach = #fab387
$yellow = #f9e2af
$green = #a6e3a1
$teal = #94e2d5
$blue = #89b4fa
$mauve = #cba6f7
$flamingo = #f2cdcd
$inactive = #595959aa
# General
general {
gaps_in = 2
gaps_out = 4
border_size = 4
resize_on_border = true
extend_border_grab_area = 20
col.active_border = rgb(89b4fa) rgb(a6e3a1) 45deg
col.inactive_border = rgba(595959aa)
}
# Decorations
decoration {
rounding = 8
shadow {
color = rgba(1e1e2e99)
}
}
# Groups
group {
col.border_active = rgb(89b4fa)
col.border_inactive = rgb(45475a)
col.border_locked_active = rgb(94e2d5)
groupbar {
col.active = rgb(89b4fa)
col.inactive = rgb(45475a)
text_color = rgb(cdd6f4)
}
}
# Misc
misc {
background_color = rgb(1e1e2e)
}
@@ -1,40 +0,0 @@
# Hyprland Catppuccin Mocha Theme (solid colors)
# Colors
$base = #1e1e2e
$mantle = #181825
$surface0 = #313244
$surface1 = #45475a
$surface2 = #585b70
$text = #cdd6f4
$rosewater = #f5e0dc
$lavender = #b4befe
$red = #f38ba8
$peach = #fab387
$yellow = #f9e2af
$green = #a6e3a1
$teal = #94e2d5
$blue = #89b4fa
$mauve = #cba6f7
$flamingo = #f2cdcd
$inactive = #595959aa
# General theming
general {
gaps_in = 2
gaps_out = 4
border_size = 4
layout = scrolling
resize_on_border = true
extend_border_grab_area = 20
# Solid-color borders
#col.active_border = "0xff89b4fa 0xffa6e3a1"
#col.active_border = #a6e3a1
#col.inactive_border = #595959aa
}
# Window decorations
decoration {
rounding = 8
}
@@ -1,3 +1,5 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Network Manager editor # Network Manager editor
windowrule { windowrule {
name = Network-Manager-editor name = Network-Manager-editor
@@ -16,12 +18,66 @@ windowrule {
size = 900 700 size = 900 700
} }
# Blueman Manager # Blueman Manager
windowrule { windowrule {
name = blueman name = blueman
match:class = .blueman-manager-leaderped match:class = .blueman-manager-wrapped
float = on float = on
move = move onscreen 100%-w 0 move = move onscreen 100%-w 0
size = 900 700 size = 900 700
} }
# Networks
windowrule {
name = iwgtk
match:class = org.twosheds.iwgtk
float = on
move = move onscreen 100%-w 0
size = 900 700
}
#Quickshell powermenu
windowrule {
name = quickshell-powermenu
match:title = quickshell-powermenu
opacity = 1.0 0.8
float = on
move = cursor -50% 0
pin = on
}
#Quickshell layoutswitcher
windowrule {
name = quickshell-layoutswitcher
match:title = quickshell-layoutswitcher
opacity = 1.0 0.8
float = on
move = cursor -50% 0
pin = on
}
#Quickshell media menu
windowrule {
name = quickshell-media
match:title = quickshell-media
float = on
move = cursor -50% 0
pin = on
}
# Wofi window rules
windowrule {
name = wofi
match:class = ^(wofi)$
border_color = rgb(89b4fa) rgb(a6e3a1) 45deg
rounding = 14
}
# Update terminal window rules
windowrule {
name = update-term
match:class = ^(update-term)$
float = true
size = 900 600
center = true
}
@@ -1,15 +1,7 @@
#Load random wallpaper # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
workspacecreated = exec $HOME/.local/bin/wallpaper-sync-and-set.sh $workspace workspace = 1, monitor:eDP-1 #, layout:master
workspace = 2, monitor:eDP-1 #, layout:monocle
workspace = 3, monitor:eDP-1 #, layout:master
# Workspace definitions (modern syntax) workspace = 4, monitor:DP-1 #, layout:scrolling
workspace = 1 workspace = 5, monitor:DP-1 #, layout:dwindle
workspace = 2 workspace = 6, monitor:DP-1 #, layout:dwindle
workspace = 3
workspace = 4
workspace = 5
workspace = 6
workspace = 7
workspace = 8
workspace = 9
workspace = 10
@@ -0,0 +1,139 @@
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
ShellRoot {
QtObject {
id: colors
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
readonly property color base: "#1e1e2e"
readonly property color surface0: "#313244"
readonly property color surface1: "#45475a"
readonly property color surface2: "#585b70"
readonly property color text: "#cdd6f4"
readonly property color subtext0: "#a6adc8"
readonly property color subtext1: "#bac2de"
readonly property color blue: "#89b4fa"
readonly property color green: "#a6e3a1"
readonly property color teal: "#94e2d5"
readonly property color red: "#f38ba8"
readonly property color mauve: "#cba6f7"
readonly property color peach: "#fab387"
readonly property color lavender: "#b4befe"
}
FloatingWindow {
id: root
title: "quickshell-layoutswitcher"
visible: true
width: 220
height: contentLayout.implicitHeight + 32
color: colors.base
Shortcut {
sequence: "Escape"
onActivated: Qt.quit()
}
Rectangle {
anchors.fill: parent
anchors.margins: -2
radius: 18
z: -1
opacity: Qt.application.active ? 0 : 1
Behavior on opacity {
NumberAnimation { duration: 150 }
}
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
Rectangle {
anchors.fill: parent
radius: 16
color: colors.base
ColumnLayout {
id: contentLayout
anchors {
top: parent.top
left: parent.left
right: parent.right
margins: 16
}
spacing: 4
Text {
text: "󰕰 Layout"
color: colors.text
font.pixelSize: 13
font.bold: true
Layout.bottomMargin: 8
}
Repeater {
model: [
{ label: "󰜩 Dwindle", layout: "dwindle", description: "Vensters splitsen recursief — elk nieuw venster halveert de ruimte" },
{ label: "󰡎 Master", layout: "master", description: "Één groot hoofdvenster links, overige vensters gestapeld rechts" },
{ label: "󰾲 Scrolling", layout: "scrolling", description: "Vensters naast elkaar in een horizontaal scrollbare rij" },
{ label: "󱒉 Monocle", layout: "monocle", description: "Één venster tegelijk op volledig scherm, anderen verborgen" },
]
delegate: Rectangle {
id: item
Layout.fillWidth: true
height: 38
radius: 8
color: hovered ? colors.surface1 : colors.base
property bool hovered: false
Rectangle {
anchors.fill: parent
anchors.margins: -2
radius: parent.radius + 2
visible: item.hovered
z: -1
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 12
text: modelData.label
color: item.hovered ? colors.text : colors.subtext1
font.pixelSize: 13
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: item.hovered = true
onExited: item.hovered = false
onClicked: proc.running = true
}
Process {
id: proc
command: ["bash", "-c", "hyprctl keyword general:layout " + modelData.layout + " && hyprctl dispatch layoutmsg reload"]
onExited: Qt.quit()
}
}
}
Item { height: 4 }
}
}
}
}
@@ -0,0 +1,386 @@
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
ShellRoot {
QtObject {
id: colors
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.95)
readonly property color base: "#1e1e2e"
readonly property color surface0: "#313244"
readonly property color surface1: "#45475a"
readonly property color surface2: "#585b70"
readonly property color text: "#cdd6f4"
readonly property color subtext0: "#a6adc8"
readonly property color subtext1: "#bac2de"
readonly property color blue: "#89b4fa"
readonly property color green: "#a6e3a1"
readonly property color teal: "#94e2d5"
readonly property color red: "#f38ba8"
readonly property color mauve: "#cba6f7"
readonly property color peach: "#fab387"
readonly property color lavender: "#b4befe"
}
QtObject {
id: media
property string artist: ""
property string title: ""
property string album: ""
property string artUrl: ""
property string status: ""
property string device: ""
property string player: ""
property real progress: 0.0
property real duration: 0.0
property real position: 0.0
property int shuffleMode: 0
readonly property bool isSpotify: player.indexOf("spotify") !== -1
}
Timer {
interval: 1000
running: true
repeat: true
onTriggered: {
playerProc.running = true
artistProc.running = true
titleProc.running = true
albumProc.running = true
artProc.running = true
statusProc.running = true
positionProc.running = true
lengthProc.running = true
if (media.isSpotify)
shuffleProc.running = true
}
}
Process {
id: playerProc
command: ["playerctl", "-l"]
stdout: StdioCollector {
onStreamFinished: {
var lines = text.trim().split("\n")
for (var i = 0; i < lines.length; i++) {
if (lines[i].indexOf("spotify") !== -1) {
media.player = lines[i].trim()
return
}
}
media.player = lines[0] ? lines[0].trim() : ""
}
}
}
Process {
id: artistProc
command: ["playerctl", "metadata", "artist"]
stdout: StdioCollector { onStreamFinished: media.artist = text.trim() }
}
Process {
id: titleProc
command: ["playerctl", "metadata", "title"]
stdout: StdioCollector { onStreamFinished: media.title = text.trim() }
}
Process {
id: albumProc
command: ["playerctl", "metadata", "album"]
stdout: StdioCollector { onStreamFinished: media.album = text.trim() }
}
Process {
id: artProc
command: ["playerctl", "metadata", "mpris:artUrl"]
stdout: StdioCollector { onStreamFinished: media.artUrl = text.trim() }
}
Process {
id: statusProc
command: ["playerctl", "status"]
stdout: StdioCollector { onStreamFinished: media.status = text.trim() }
}
Process {
id: positionProc
command: ["playerctl", "position"]
stdout: StdioCollector {
onStreamFinished: {
media.position = parseFloat(text.trim()) || 0
if (media.duration > 0)
media.progress = media.position / media.duration
}
}
}
Process {
id: lengthProc
command: ["playerctl", "metadata", "mpris:length"]
stdout: StdioCollector {
onStreamFinished: {
media.duration = (parseFloat(text.trim()) || 0) / 1000000
}
}
}
Process {
id: shuffleProc
command: ["playerctl", "--player=" + media.player, "shuffle"]
stdout: StdioCollector {
onStreamFinished: {
media.shuffleMode = (text.trim() === "On") ? 1 : 0
}
}
}
Process { id: shuffleOnProc; command: ["playerctl", "--player=" + media.player, "shuffle", "on"] }
Process { id: shuffleOffProc; command: ["playerctl", "--player=" + media.player, "shuffle", "off"] }
function cycleShuffleMode() {
var next = (media.shuffleMode + 1) % 2
media.shuffleMode = next
if (next === 0)
shuffleOffProc.running = true
else
shuffleOnProc.running = true
}
// Focus spotify — uses exact lowercase class as reported by hyprctl
Process {
id: focusSpotifyProc
command: ["hyprctl", "dispatch", "focuswindow", "class:^(spotify)$"]
}
function focusPlayer() {
if (media.isSpotify) {
focusSpotifyProc.running = true
}
}
Process { id: prevProc; command: ["playerctl", "previous"] }
Process { id: playProc; command: ["playerctl", "play-pause"] }
Process { id: nextProc; command: ["playerctl", "next"] }
FloatingWindow {
id: root
title: "quickshell-media"
visible: true
implicitWidth: 300
implicitHeight: 420
color: "transparent"
Shortcut {
sequence: "Escape"
onActivated: Qt.quit()
}
// Gradient border — hidden when app has focus
Rectangle {
anchors.fill: parent
anchors.margins: -2
radius: 18
z: -1
opacity: Qt.application.active ? 0 : 1
Behavior on opacity {
NumberAnimation { duration: 150 }
}
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
Rectangle {
anchors.fill: parent
radius: 16
color: colors.base
ColumnLayout {
anchors {
fill: parent
margins: 16
}
spacing: 12
// Album art — click to focus player
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 200
radius: 12
color: colors.surface0
clip: true
Image {
anchors.fill: parent
source: media.artUrl
fillMode: Image.PreserveAspectCrop
visible: media.artUrl !== ""
}
Text {
anchors.centerIn: parent
text: "󰝚"
font.pixelSize: 48
color: colors.surface2
visible: media.artUrl === ""
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: focusPlayer()
}
}
// Artist
Text {
Layout.fillWidth: true
text: media.artist || "Unknown artist"
color: colors.subtext1
font.pixelSize: 12
elide: Text.ElideRight
}
// Title
Text {
Layout.fillWidth: true
text: media.title || "Nothing playing"
color: colors.text
font.pixelSize: 14
font.bold: true
elide: Text.ElideRight
}
// Album
Text {
Layout.fillWidth: true
text: media.album
color: colors.subtext0
font.pixelSize: 11
elide: Text.ElideRight
visible: media.album !== ""
}
// Device (Spotify)
Text {
Layout.fillWidth: true
text: "󰓻 " + media.device
color: colors.green
font.pixelSize: 11
visible: media.device !== ""
}
// Progress bar
Rectangle {
Layout.fillWidth: true
height: 4
radius: 2
color: colors.surface1
Rectangle {
width: parent.width * media.progress
height: parent.height
radius: parent.radius
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
}
// Time
RowLayout {
Layout.fillWidth: true
Text {
text: {
var m = Math.floor(media.position / 60)
var s = Math.floor(media.position % 60)
return m + ":" + (s < 10 ? "0" + s : s)
}
color: colors.subtext0
font.pixelSize: 11
}
Item { Layout.fillWidth: true }
Text {
text: {
var m = Math.floor(media.duration / 60)
var s = Math.floor(media.duration % 60)
return m + ":" + (s < 10 ? "0" + s : s)
}
color: colors.subtext0
font.pixelSize: 11
}
}
// Playback controls + shuffle
RowLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter
spacing: 20
// Shuffle button (Spotify only)
Item {
visible: media.isSpotify
width: 28
height: 28
Text {
anchors.centerIn: parent
text: "󰒟"
font.pixelSize: 18
color: media.shuffleMode === 0 ? colors.surface2 : colors.blue
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: cycleShuffleMode()
}
}
Text {
text: "󰒮"
font.pixelSize: 22
color: prevHover.containsMouse ? colors.blue : colors.text
MouseArea {
id: prevHover
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: prevProc.running = true
}
}
Text {
text: media.status === "Playing" ? "󰏤" : "󰐊"
font.pixelSize: 28
color: playHover.containsMouse ? colors.green : colors.text
MouseArea {
id: playHover
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: playProc.running = true
}
}
Text {
text: "󰒭"
font.pixelSize: 22
color: nextHover.containsMouse ? colors.blue : colors.text
MouseArea {
id: nextHover
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: nextProc.running = true
}
}
}
}
}
}
}
@@ -0,0 +1,140 @@
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
ShellRoot {
QtObject {
id: colors
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
readonly property color base: "#1e1e2e"
readonly property color surface0: "#313244"
readonly property color surface1: "#45475a"
readonly property color surface2: "#585b70"
readonly property color text: "#cdd6f4"
readonly property color subtext0: "#a6adc8"
readonly property color subtext1: "#bac2de"
readonly property color blue: "#89b4fa"
readonly property color green: "#a6e3a1"
readonly property color teal: "#94e2d5"
readonly property color red: "#f38ba8"
readonly property color mauve: "#cba6f7"
readonly property color peach: "#fab387"
readonly property color lavender: "#b4befe"
}
FloatingWindow {
id: root
title: "quickshell-powermenu"
visible: true
width: 220
height: contentLayout.implicitHeight + 32
color: colors.base
Shortcut {
sequence: "Escape"
onActivated: Qt.quit()
}
// Gradient border — hidden when app has focus
Rectangle {
anchors.fill: parent
anchors.margins: -2
radius: 18
z: -1
opacity: Qt.application.active ? 0 : 1
Behavior on opacity {
NumberAnimation { duration: 150 }
}
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
Rectangle {
anchors.fill: parent
radius: 16
color: colors.base
ColumnLayout {
id: contentLayout
anchors {
top: parent.top
left: parent.left
right: parent.right
margins: 16
}
spacing: 4
Text {
text: " Power Menu"
color: colors.text
font.pixelSize: 13
font.bold: true
Layout.bottomMargin: 8
}
Repeater {
model: [
{ label: "󰌾 Lock", cmd: ["hyprlock"] },
{ label: "󰐥 Shutdown", cmd: ["systemctl", "poweroff"] },
{ label: "󰑙 Reboot", cmd: ["systemctl", "reboot"] },
{ label: "󰍃 Logout", cmd: ["bash", "-c", "loginctl terminate-session $XDG_SESSION_ID"] },
{ label: "󰒲 Hibernate", cmd: ["systemctl", "hibernate"] },
{ label: "󰤄 Suspend", cmd: ["systemctl", "suspend"] },
]
delegate: Rectangle {
id: item
Layout.fillWidth: true
height: 38
radius: 8
color: hovered ? colors.surface1 : colors.base
property bool hovered: false
Rectangle {
anchors.fill: parent
anchors.margins: -2
radius: parent.radius + 2
visible: item.hovered
z: -1
gradient: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: colors.blue }
GradientStop { position: 1.0; color: colors.green }
}
}
Text {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 12
text: modelData.label
color: item.hovered ? colors.text : colors.subtext1
font.pixelSize: 13
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: item.hovered = true
onExited: item.hovered = false
onClicked: proc.running = true
}
Process {
id: proc
command: modelData.cmd
onExited: Qt.quit()
}
}
}
Item { height: 4 }
}
}
}
}
@@ -0,0 +1,51 @@
// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
import QtQuick
import QtQuick.Controls
Window {
width: 500
height: 200
visible: true
title: "System Updater"
property int progress: 0
property string status: "Waiting..."
Timer {
interval: 300
running: true
repeat: true
onTriggered: {
let file = "/tmp/nixos-updater-status"
let xhr = new XMLHttpRequest()
xhr.open("GET", "file://" + file)
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
let parts = xhr.responseText.trim().split("|")
if (parts.length === 2) {
progress = parseInt(parts[0])
status = parts[1]
}
}
}
xhr.send()
}
}
Column {
anchors.centerIn: parent
spacing: 10
Text { text: status }
ProgressBar {
from: 0
to: 100
value: progress
width: 300
}
}
}
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Tel toetsenborden met volledige toetsset (geen media-only apparaten)
COUNT=$(libinput list-devices 2>/dev/null \
| grep -A5 "Keyboard" \
| grep -c "kbd")
# Of via xinput / /proc alternatief:
# COUNT=$(cat /proc/bus/input/devices | grep -B5 'KEY=.*[a-f0-9]\{10\}' | grep -c 'Name=')
if [ "$COUNT" -ge 2 ]; then
numlockx on
else
numlockx off
fi
+48
View File
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
#
# Launch a power menu
#
# Requires fzf and systemd (loginctl, systemctl)
#
# Author: Jesse Mirabel <sejjymvm@gmail.com>
# Date: August 19, 2025
# License: MIT
main() {
local list=(
"󰌾 Lock"
"󰐥 Shutdown"
"󰑙 Reboot"
"󰍃 Logout"
"󰒲 Hibernate"
"󰤄 Suspend"
)
local options=(
"--border=sharp"
"--border-label= Power Menu "
"--cycle"
"--ghost=Search"
"--height=~100%"
"--highlight-line"
"--info=inline-right"
"--pointer="
"--reverse"
)
local selected
selected=$(printf "%s\n" "${list[@]}" | fzf "${options[@]}")
case $selected in
Lock) loginctl lock-session ;;
Shutdown) systemctl poweroff ;;
Reboot) systemctl reboot ;;
Logout) loginctl terminate-session "$XDG_SESSION_ID" ;;
Hibernate) systemctl hibernate ;;
Suspend) systemctl suspend ;;
*) return 1 ;;
esac
}
main
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
STATUS_FILE="/tmp/nixos-updater-status"
echo "0|Starting" > "$STATUS_FILE"
update_step() {
echo "$1|$2" > "$STATUS_FILE"
}
update_step 10 "Fixing ownership"
sudo chown -R "$USER":"wheel" "$REPO"
update_step 30 "Updating flake"
nix flake update
update_step 60 "Rebuilding system"
sudo nixos-rebuild switch --flake ".#$HOSTNAME"
update_step 90 "Updating Flatpaks"
flatpak update -y
update_step 100 "Done"
@@ -1,11 +0,0 @@
#!/usr/bin/env bash
set -e
REPO="/home/henrov/Repos/nixos/Droidnix"
HOSTNAME="$(hostname)"
cd "$REPO"
echo "🔄 Updating flake..."
nix flake update
echo "🏗 Rebuilding NixOS..."
sudo nixos-rebuild switch --flake ".#$HOSTNAME"
echo "📦 Updating Flatpaks..."
flatpak update -y
+3 -1
View File
@@ -1,8 +1,10 @@
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
/* Catppuccin Mocha Palette */ /* Catppuccin Mocha Palette */
@define-color border #97C9E6;
@define-color crust #11111b; @define-color crust #11111b;
@define-color mantle #181825; @define-color mantle #181825;
@define-color base #1e1e2e; @define-color base #1e1e2e;
@define-color base-alpha rgba(30, 30, 46, 0.9); @define-color base-alpha rgba(30, 30, 46, 0.2);
@define-color surface0 #313244; @define-color surface0 #313244;
@define-color surface1 #45475a; @define-color surface1 #45475a;
+2 -1
View File
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
"$schema" = 'https://starship.rs/config-schema.json' "$schema" = 'https://starship.rs/config-schema.json'
format = """ format = """
@@ -164,7 +165,7 @@ format = " in $duration "
style = "bg:lavender" style = "bg:lavender"
disabled = false disabled = false
show_notifications = true show_notifications = true
min_time_to_notify = 45000 min_time_to_notify = 60000
[palettes.catppuccin_mocha] [palettes.catppuccin_mocha]
rosewater = "#f5e0dc" rosewater = "#f5e0dc"
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
enable = true; enable = true;
base16Scheme = ../../../assets/system/theming/stylix/catppuccin-mocha.yaml; base16Scheme = ../../../assets/system/theming/stylix/catppuccin-mocha.yaml;
image = ../../../assets/hyprland/wallpaperstuff/pictures/wall1.jpg; image = ../../../assets/hyprland/wallpaperstuff/pictures/wall1.jpg;
@@ -0,0 +1,52 @@
{
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"cssPriority": "application",
"control-center-margin-top": 8,
"control-center-margin-bottom": 8,
"control-center-margin-right": 8,
"control-center-margin-left": 0,
"notification-2fa-action": true,
"notification-inline-replies": false,
"notification-icon-size": 48,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 10,
"timeout-low": 5,
"timeout-critical": 0,
"fit-to-screen": true,
"control-center-height": -1,
"control-center-width": 300,
"notification-window-width": 400,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true,
"widgets": [
"inhibitors",
"title",
"dnd",
"notifications"
],
"widget-config": {
"inhibitors": {
"text": "Inhibitors",
"button-text": "Clear All",
"clear-all-button": true
},
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear All"
},
"dnd": {
"text": "Do Not Disturb"
},
"notifications": {}
}
}
+184
View File
@@ -0,0 +1,184 @@
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
@import url("/home/henrov/.config/shared/colors.css");
* {
all: unset;
font-size: 13px;
font-family: sans-serif;
transition: 200ms;
}
/* ── Notification rows ─────────────────────────────────────────────────── */
.notification-row {
outline: none;
margin: 4px 0;
}
.notification-row:focus,
.notification-row:hover {
opacity: 0.85;
}
/* ── Individual notification ───────────────────────────────────────────── */
.notification {
border-radius: 12px;
padding: 8px;
margin: 4px 8px;
color: @text;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
/* gradient border */
border: 2px solid transparent;
background-image:
linear-gradient(@base-alpha, @base-alpha),
linear-gradient(45deg, @blue, @green);
background-clip: padding-box, border-box;
background-origin: padding-box, border-box;
}
.notification-content {
padding: 4px;
}
.notification-default-action {
border-radius: 12px;
}
.notification-default-action:hover {
background: alpha(@blue, 0.1);
}
/* ── Text elements ─────────────────────────────────────────────────────── */
.summary {
font-size: 13px;
font-weight: bold;
color: @text;
}
.time {
font-size: 11px;
color: @overlay0;
}
.body {
font-size: 12px;
color: @subtext1;
}
/* ── Control center ────────────────────────────────────────────────────── */
.control-center {
min-height: unset;
border-radius: 30px;
padding: 8px;
margin: 8px;
color: @text;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
border: 2px solid transparent;
background-image:
linear-gradient(@base-alpha, @base-alpha),
linear-gradient(45deg, @blue, @green);
background-clip: padding-box, border-box;
background-origin: padding-box, border-box;
}
.control-center-list {
background: transparent;
min-height: unset;
}
.control-center-list-placeholder {
opacity: 0.4;
font-size: 14px;
}
/* ── Misc windows ──────────────────────────────────────────────────────── */
.floating-notifications {
background: transparent;
}
.blank-window {
background: transparent;
}
/* ── Widget: title ─────────────────────────────────────────────────────── */
.widget-title {
font-size: 14px;
font-weight: bold;
color: @blue;
padding: 8px 4px 4px 4px;
}
.widget-title > button {
font-size: 12px;
color: @overlay0;
background: alpha(@blue, 0.1);
border-radius: 8px;
padding: 2px 8px;
}
.widget-title > button:hover {
background: alpha(@blue, 0.2);
color: @text;
}
/* ── Widget: Do Not Disturb ────────────────────────────────────────────── */
.widget-dnd {
padding: 4px;
}
.widget-dnd > switch {
border-radius: 20px;
background: alpha(@surface1, 0.3);
/* gradient border */
border: 1px solid transparent;
background-image:
linear-gradient(alpha(@surface1, 0.3), alpha(@surface1, 0.3)),
linear-gradient(45deg, @blue, @green);
background-clip: padding-box, border-box;
background-origin: padding-box, border-box;
}
.widget-dnd > switch:checked {
background-image:
linear-gradient(alpha(@blue, 0.5), alpha(@blue, 0.5)),
linear-gradient(45deg, @blue, @green);
background-clip: padding-box, border-box;
background-origin: padding-box, border-box;
}
.widget-dnd > switch slider {
border-radius: 20px;
background: @text;
min-width: 20px;
min-height: 20px;
}
/* ── Widget: inhibitors ────────────────────────────────────────────────── */
.widget-inhibitors {
padding: 4px;
color: @red;
font-size: 12px;
}
/* ── Close button ──────────────────────────────────────────────────────── */
.close-button {
background: alpha(@red, 0.15);
border-radius: 6px;
color: @red;
padding: 2px 6px;
font-size: 11px;
}
.close-button:hover {
background: alpha(@red, 0.3);
}
@@ -9,20 +9,22 @@
/*******************************************************************/ /*******************************************************************/
"modules-left": [], "modules-left": [
"group/hardware"
],
"modules-center": [ "modules-center": [
"group/connections", "group/workspaces"
"group/workspaces", ,"group/sporadic"
"group/hardware",
"custom/power"
], ],
"modules-right": [ "modules-right": [
"group/audio", "group/audio"
"tray", ,"group/tray"
"clock", ,"group/datestuff"
"idle_inhibitor" ,"group/system"
,"group/notifications"
], ],
/*******************************************************************/ /*******************************************************************/
@@ -56,6 +58,45 @@
"tooltip": false "tooltip": false
}, },
/*******************************************************************/
"group/tray": {
"orientation": "horizontal",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"custom/tray-anchor"
,"tray"
]
},
"custom/tray-anchor": {
"format": "󰄝 ",
"tooltip": false
},
/*******************************************************************/
"group/system": {
"orientation": "horizontal",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"custom/system-anchor"
,"custom/power"
,"idle_inhibitor"
]
},
"custom/system-anchor": {
"format": "󱄅",
"tooltip": false
},
/*************************/ /*************************/
@@ -66,9 +107,9 @@
"transition-left-to-right": true "transition-left-to-right": true
}, },
"modules": [ "modules": [
"custom/connections-anchor", "custom/connections-anchor"
"custom/bluetooth", ,"custom/bluetooth"
"network" ,"network"
] ]
}, },
@@ -83,14 +124,43 @@
"group/audio": { "group/audio": {
"orientation": "horizontal", "orientation": "horizontal",
"modules": [ "modules": [
"pulseaudio", /* "custom/media", */
"pulseaudio/slider", "pulseaudio"
,"pulseaudio/slider"
]
},
/*************************/
"group/sporadic": {
"orientation": "horizontal",
"modules": [
"custom/media"
,"custom/batterywarn"
/* ,"custom/kdeconnect" */
]
},
/*************************/
"group/datestuff": {
"orientation": "horizontal",
"modules": [
"clock"
]
},
/*************************/
"group/notifications": {
"orientation": "horizontal",
"modules": [
"custom/notifications"
] ]
}, },
/*******************************************************************/ /*******************************************************************/
"hyprland/workspaces": { "hyprland/workspaces": {
"align": 1, "align": 1,
"format": "{name}", "format": "{name}",
@@ -107,6 +177,17 @@
"tooltip": true "tooltip": true
}, },
"custom/media": {
"exec": "~/.config/waybar/scripts/media.sh",
"interval": 1,
"return-type": "json",
"format": "{}",
"on-click": "qs -c media",
"max-length": 20,
"scroll-step": 1,
"tooltip": true
},
"custom/bluetooth": { "custom/bluetooth": {
"exec": "~/.config/waybar/scripts/bluetooth-status.sh", "exec": "~/.config/waybar/scripts/bluetooth-status.sh",
"interval": 5, "interval": 5,
@@ -115,47 +196,40 @@
"format": "{}" "format": "{}"
}, },
"idle_inhibitor": { "custom/batterywarn": {
"tooltip": true, "exec": "~/.config/waybar/scripts/batterywarn.sh",
"format": "{icon}", "interval": 60,
"format-icons": { "format": "{}"
"activated": "  ",
"deactivated": " 󰒲 "
},
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep...."
}, },
"custom/kdeconnect": {
"format": "{name} {battery}% ",
"interval": 10,
"exec": "~/.config/waybar/scripts/kdeconnect-status.sh",
"tooltip": true
},
"custom/notifications": {
"tooltip": false,
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"format": "{icon}",
"format-icons": {
"notification": "󰂞",
"none": "",
"dnd-notification": "󰂠",
"dnd-none": "󰪓",
},
"on-click": "swaync-client -t",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -dn",
},
"custom/power": { "custom/power": {
// "exec":
// "exec-if":
// "exec-on-event":
// "hide-empty-text":
// "return-type":
// "interval":
// "restart-interval":
// "signal":
"format": "󰤄", "format": "󰤄",
// "format-icons": "on-click": "qs -c powermenu",
// "rotate":
// "min-length":
// "max-length":
// "align":
// "justify":
"on-click": "kitty -e ~/.config/waybar/scripts/power",
// "on-click-middle":
// "on-click-right":
// "on-update":
// "on-scroll-up":
// "on-scroll-down":
// "smooth-scrolling-threshold":
// "tooltip":
"tooltip-format": "Power Menu" "tooltip-format": "Power Menu"
// "escape":
// "menu":
// "menu-file":
// "menu-actions":
// "expand":
}, },
"pulseaudio": { "pulseaudio": {
@@ -178,13 +252,25 @@
"orientation": "horizontal" "orientation": "horizontal"
}, },
"idle_inhibitor": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"activated": "  ",
"deactivated": " 󰒲 "
},
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep...."
},
"network": { "network": {
"format-wifi": " ({bandwidthDownBits})", "format-wifi": " ({bandwidthDownBits})",
"format-ethernet": " ({bandwidthDownBits})", "format-ethernet": " ({bandwidthDownBits})",
"format-disconnected": "Disconnected ⚠", "format-disconnected": "Disconnected ⚠",
"tooltip-format-wifi": "{essid} ({signalStrength}%)", "tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}", "tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"on-click": "nm-connection-editor" "on-click": "networkmanager_dmenu --dmenu --style ~/.config/wofi/style.css --allow-images=false",
"on-click-right": "nm-connection-editor"
}, },
"cpu": { "cpu": {
@@ -203,28 +289,28 @@
"tray": { "tray": {
"spacing": 10, "spacing": 10,
"icon-size": 14 "icon-size": 13
}, },
"clock": { "clock": {
"format": "{:%H:%M}", "format": "{:%H:%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>", "tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": { "calendar": {
"mode" : "year", "mode" : "year",
"mode-mon-col" : 3, "mode-mon-col" : 3,
"weeks-pos" : "right", "weeks-pos" : "left",
"on-scroll" : 1, "on-scroll" : 1,
"on-click-right": "mode", "on-click-right": "mode",
"format": { "format": {
"months": "<span color='#ffead3'><b>{}</b></span>", "months": "<span color='#fab387'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>", "days": "<span color='#cba6f7'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>", "weeks": "<span color='#a6e3a1'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>", "weekdays": "<span color='#f9e2af'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>" "today": "<span color='#1e1e2e' bgcolor='#a6e3a1'>{}</span>"
} }
}, },
"on-click": "flatpak run eu.betterbird.Betterbird -calendar" "on-click": "flatpak run eu.betterbird.Betterbird -calendar"
}, },
"battery": { "battery": {
"bat": "BAT0", "bat": "BAT0",
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
capacity=$(cat /sys/class/power_supply/BAT*/capacity)
status=$(cat /sys/class/power_supply/BAT*/status)
if [ "$status" != "Charging" ] && [ "$capacity" -lt 15 ]; then
echo " $capacity%"
else
echo ""
fi
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
bt_connected="" bt_connected=""
while read -r _ mac name_rest; do while read -r _ mac name_rest; do
if [ "$(bluetoothctl info "$mac" | awk '/Connected:/ {print $2}')" = "yes" ]; then if [ "$(bluetoothctl info "$mac" | awk '/Connected:/ {print $2}')" = "yes" ]; then
+25 -11
View File
@@ -1,19 +1,33 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Get active workspace ID # --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
active_ws=$(hyprctl activeworkspace -j | jq -r '.id') # Get focused monitor name
# Get clients in active workspace focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
clients=$(hyprctl clients -j | jq -r \ monitor="${WAYBAR_OUTPUT_NAME:-$focused_monitor}"
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
# Count clients # Hide if not focused monitor
count=$(echo "$clients" | grep -c .) if [ "$monitor" != "$focused_monitor" ]; then
# If no clients → hide module
if [ "$count" -eq 0 ]; then
jq -c -n '{text:"", class:"hidden"}' jq -c -n '{text:"", class:"hidden"}'
exit 0 exit 0
fi fi
# Build tooltip (newline separated)
# Get active workspace on this monitor
active_ws=$(hyprctl monitors -j | jq -r \
".[] | select(.name==\"$monitor\") | .activeWorkspace.id")
# Get clients
clients=$(hyprctl clients -j | jq -r \
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
count=$(echo "$clients" | grep -c '\S')
# Hide if 0 or 1 clients — no point showing window switcher
if [ "$count" -le 1 ]; then
jq -c -n '{text:"", class:"hidden"}'
exit 0
fi
tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -) tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -)
# Output JSON
jq -c -n \ jq -c -n \
--arg text "$count" \ --arg text "$count" \
--arg tooltip "$tooltip" \ --arg tooltip "$tooltip" \
+9 -2
View File
@@ -1,8 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
active_ws=$(hyprctl activeworkspace -j | jq -r '.id') active_ws=$(hyprctl activeworkspace -j | jq -r '.id')
clients=$(hyprctl clients -j | jq -r \ clients=$(hyprctl clients -j | jq -r \
".[] | select(.workspace.id==$active_ws) | \"\(.address)|\(.title)\"") ".[] | select(.workspace.id==$active_ws) | \"\(.address)|\(.title)\"")
choice=$(echo "$clients" | cut -d'|' -f2 | wofi -dmenu -j -p "Active apps" --style ~/.config/wofi/style.css)
choice=$(echo "$clients" | cut -d'|' -f2 \
| wofi --dmenu \
--style ~/.config/wofi/style.css \
--allow-images=false \
--prompt "Active windows ...")
[ -z "$choice" ] && exit 0 [ -z "$choice" ] && exit 0
addr=$(echo "$clients" | grep "|$choice" | head -n1 | cut -d'|' -f1) addr=$(echo "$clients" | grep "|$choice" | head -n1 | cut -d'|' -f1)
hyprctl dispatch focuswindow address:$addr hyprctl dispatch focuswindow address:"$addr"
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
DEVICE=$(kdeconnect-cli --list-devices | grep -oP '(?<=\().*?(?=\))' | head -n 1)
if [ -z "$DEVICE" ]; then
echo "No phone"
exit 0
fi
NAME=$(kdeconnect-cli -d "$DEVICE" --name 2>/dev/null)
BATTERY=$(kdeconnect-cli -d "$DEVICE" --battery 2>/dev/null | grep -o '[0-9]\+' | head -n 1)
if [ -z "$BATTERY" ]; then
echo "$NAME"
else
echo "$NAME $BATTERY%"
fi
+92
View File
@@ -0,0 +1,92 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Player selection — prefer actively playing player
player=$(playerctl -l 2>/dev/null | while read -r p; do
st=$(playerctl --player="$p" status 2>/dev/null)
[ "$st" = "Playing" ] && echo "$p" && break
done)
[ -z "$player" ] && player=$(playerctl -l 2>/dev/null | head -n1)
if [ -z "$player" ]; then
jq -c -n '{text: "", tooltip: "", class: "inactive"}'
exit 0
fi
status=$(playerctl --player="$player" status 2>/dev/null)
if [ "$status" != "Playing" ] && [ "$status" != "Paused" ]; then
jq -c -n '{text: "", tooltip: "", class: "inactive"}'
exit 0
fi
artist=$(playerctl --player="$player" metadata artist 2>/dev/null)
title=$(playerctl --player="$player" metadata title 2>/dev/null)
album=$(playerctl --player="$player" metadata album 2>/dev/null)
art=$(playerctl --player="$player" metadata mpris:artUrl 2>/dev/null)
length=$(playerctl --player="$player" metadata mpris:length 2>/dev/null)
position=$(playerctl --player="$player" position 2>/dev/null)
# Progress percentage — pure bash, no bc needed
if [ -n "$length" ] && [ -n "$position" ] && [ "$length" -gt 0 ] 2>/dev/null; then
pos_us=$(echo "$position" | awk '{printf "%d", $1 * 1000000}')
progress=$(( pos_us * 100 / length ))
else
progress=0
fi
# Spotify device
device=""
if [[ "$player" == *"spotify"* ]]; then
device=$(playerctl --player="$player" metadata xesam:url 2>/dev/null | grep -o 'device=[^&]*' | cut -d= -f2)
fi
# Icon
if [ "$status" = "Paused" ]; then
icon="⏸ "
else
icon="▶ "
fi
# Scrolling ticker
CACHE_FILE="/tmp/waybar_media_scroll_${player//\//_}"
full_text="${artist}${title}"
text_len=${#full_text}
display_len=30
# Reset scroll offset when track changes
TRACK_FILE="/tmp/waybar_media_track_${player//\//_}"
last_track=""
[ -f "$TRACK_FILE" ] && last_track=$(cat "$TRACK_FILE")
if [ "$full_text" != "$last_track" ]; then
echo "0" > "$CACHE_FILE"
echo "$full_text" > "$TRACK_FILE"
fi
if [ "$text_len" -le "$display_len" ]; then
text="$full_text"
else
offset=0
[ -f "$CACHE_FILE" ] && offset=$(cat "$CACHE_FILE")
padded="${full_text} ${full_text}"
text="${padded:$offset:$display_len}"
next_offset=$(( (offset + 1) % (text_len + 4) ))
echo "$next_offset" > "$CACHE_FILE"
fi
# Build tooltip
tooltip="Artist: ${artist}
Title: ${title}
Album: ${album}"
if [ -n "$device" ]; then
tooltip="${tooltip}
󰓻 ${device}"
fi
tooltip="${tooltip}"
jq -c -n \
--arg text "${icon}${text}" \
--arg tooltip "$tooltip" \
--arg class "$player" \
--arg art "$art" \
'{text: $text, tooltip: $tooltip, class: $class, alt: $art}'
@@ -0,0 +1,252 @@
/* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
@import url("file:///home/henrov/.config/shared/colors.css");
/* --- Global --- */
* {
font-family:
Aporetic Sans Mono,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px;
}
window#waybar {
background-color: transparent;
color: @text;
padding-top: 0;
padding-bottom: 0;
margin-top: 0;
margin-bottom: 0;
}
/* ---------GROUPS------------------------------------------------ */
/* --- Group-level theming --- */
#hardware,
#workspaces,
#sporadic,
#audio,
#tray,
#datestuff,
#system,
#notifications,
#connections {
color: @text;
font-weight: bold;
border-radius: 30px;
/* --- Option 1 Green blue filled
background:
linear-gradient(transparent, transparent) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
border: 2px solid transparent;
--- */
/* --- Option 2 default background green blue border
background:
linear-gradient(@base, @base) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
border: 2px solid transparent;
*/
/* --- Option 3 NO background, no border */
background: transparent;
border: 2px solid transparent;
/* --- Option 5 Solid border
background: transparent;
border: 2px solid @border;
--- */
margin: 0px 3px;
padding: 1px 4px;
}
/* --- Group-level label padding --- */
#hardware label,
#workspaces label,
#sporadic label,
#audio label,
#tray label,
#datestuff label,
#system label,
#notifications label,
#connections label {
padding: 0px 5px;
transition: padding 0.2s ease;
}
/* --- Group anchors default visible --- */
#custom-hardware-anchor,
#custom-tray-anchor,
#custom-system-anchor,
#custom-connections-anchor {
/* min-width: 80px; */
padding: 0 5px;
margin: 0 2px;
opacity: 1;
transition: opacity 0.2s ease, min-width 0.2s ease, padding 0.2s ease;
}
/* --- Hide anchors on hover of the group --- */
#hardware:hover #custom-hardware-anchor,
#tray:hover #custom-tray-anchor,
#system:hover #custom-system-anchor,
#connections:hover #custom-connections-anchor {
opacity: 0;
min-width: 0;
padding: 0;
margin: 0;
}
/* -----------------------------
WORKSPACES / WINDOWS MODULE
----------------------------- */
#workspaces {
border: none;
background: none;
}
/* Disable hover effects completely */
#workspaces button,
#workspaces button:hover {
border: 2px solid transparent;
padding: 0 6px;
margin: 0;
border-radius: 30px;
transition: none;
}
/* Active vs inactive workspace colors */
#workspaces button.active {
background: linear-gradient(45deg, @blue, @green);
color: @base;
}
activeworkspaces:not(.active) {
background: linear-gradient(@base-alpha, @base-alpha);
border: 2px solid transparent;
color: @text-muted;
}
label#custom-windows.module {
font-size: 14px;
color: @base;
padding: 0 8px;
border-radius: 30px;
transition: all 0.3s ease;
}
label#custom-windows.active {
background: linear-gradient(45deg, alpha(@blue, 0.5), alpha(@green, 0.5));
}
label#custom-windows:not(.active) {
background: transparent;
color: transparent;
}
/* ---- Media ---*/
#custom-media {
padding: 0 8px;
color: @text;
}
#custom-media.inactive {
background: transparent;
color: transparent;
opacity: 0;
padding: 0;
margin: 0;
min-width: 0;
}
/* ---- Pulseaudio ---*/
#pulseaudio-slider {
padding: 0 4px;
margin: 0;
min-width: 140px;
}
#pulseaudio-slider slider {
min-height: 0px;
min-width: 0px;
opacity: 0;
border-radius: 30px;
background: linear-gradient(45deg, @blue, @green);
border: none;
box-shadow: none;
margin: 0;
padding: 0;
}
#pulseaudio-slider trough {
min-height: 10px;
min-width: 120px;
border-radius: 30px;
background: transparent;
}
#pulseaudio-slider highlight {
min-width: 10px;
border-radius: 30px;
background: linear-gradient(45deg, @blue, @green);
border: 2px solid transparent;
}
/* --------------------------------------------------------- */
/* STATES / SPECIALS */
#custom-notifications.notification,
#custom-notifications.dnd-notification,
#idle_inhibitor.activated {
background: linear-gradient(45deg, @blue, @green);
border: 2px solid transparent;
color: @base;
border-radius: 30px;
}
#battery.charging {
color: @green;
}
#batterywarn {
color: @red;
animation: blink 0.5s linear infinite alternate;
border-radius: 30px;
border: 2px solid transparent;
}
#battery.warning:not(.charging) {
color: @text;
animation: blink 0.5s linear infinite alternate;
border-radius: 30px;
border: 2px solid transparent;
}
#custom-batterywarn {
margin: 0 5px;
padding: 0 10px;
color: @red;
animation: blink 0.5s linear infinite alternate;
}
@keyframes blink {
to {
background-color: #ffffff;
color: @base;
border-radius: 30px;
border: 2px solid transparent;
}
}
#network.disconnected {
background-color: @red;
border-radius: 30px;
border: 2px solid transparent;
}
#temperature.critical {
background-color: @red;
border-radius: 30px;
border: 2px solid transparent;
}
-184
View File
@@ -1,184 +0,0 @@
@import url("file:///home/henrov/.config/shared/colors.css");
/* --- Global --- */
* {
font-family:
Aporetic Sans Mono,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px;
}
window#waybar {
background-color: transparent;
color: @text;
}
/* --------------------------------------------------------- */
/* --- Group anchors default visible --- */
#custom-hardware-anchor,
#custom-connections-anchor {
min-width: 80px;
padding: 0 5px;
margin: 0 2px;
opacity: 1;
transition: opacity 0.2s ease, min-width 0.2s ease, padding 0.2s ease;
}
/* --- Hide anchors on hover of the group --- */
#hardware:hover #custom-hardware-anchor,
#connections:hover #custom-connections-anchor {
opacity: 0;
min-width: 0;
padding: 0;
margin: 0;
}
#hardware:hover,
#connections:hover {
min-width: 80px;
}
/* MODULES */
.modules-left > widget,
.modules-center > widget,
.modules-right > widget {
min-width: 80px;
color: @text;
font-weight: bold;
border-radius: 30px;
background:
linear-gradient(@base-alpha, @base-alpha) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
border: 2px solid transparent;
}
.modules-left > box + box,
.modules-center > box + box,
.modules-right > box + box {
margin-left: 5px;
}
.modules-left > widget label,
.modules-left > label ,
.modules-center > widget label,
.modules-center > label,
.modules-right > widget label,
.modules-right > label {
padding: 0px 5px;
transition: padding 0.2s ease;
}
/* --------------------------------------------------------- */
/* SLIDERS / SPECIAL MODULES */
/* -----------------------------
WORKSPACES / WINDOWS MODULE
----------------------------- */
/* Disable hover effects completely */
#workspaces button,
#workspaces button:hover {
border: 2px solid transparent;
padding: 0 6px;
margin: 0;
border-radius: 30px;
transition: none; /* disable hover animation */
}
/* Set custom/windows font to match workspace font */
#custom-windows label {
font-size: 14px;
font-weight: bold;
color: @teal;
}
/* Active vs inactive workspace colors */
#workspaces button.active {
background: linear-gradient(45deg, @blue, @green);
font-size: 14px;
color: @base;
}
activeworkspaces:not(.active) {
background: linear-gradient(@base-alpha, @base-alpha);
border: 2px solid transparent;
color: @text-muted; /* inactive text color */
}
#pulseaudio-slider {
padding: 0;
margin: 0;
}
#pulseaudio-slider slider {
min-height: 0px;
min-width: 0px;
opacity: 0;
border-radius: 30px;
background: linear-gradient(45deg, @blue, @green);
border: none;
box-shadow: none;
}
#pulseaudio-slider trough {
min-height: 10px;
min-width: 80px;
border-radius: 30px;
background: transparent;
}
#pulseaudio-slider highlight {
min-width: 10px;
border-radius: 30px;
background: linear-gradient(45deg, @blue, @green);
border: 2px solid transparent;
}
/* --------------------------------------------------------- */
/* STATES / SPECIALS */
#idle_inhibitor.activated {
background: linear-gradient(45deg, @blue, @green);
border: 2px solid transparent;
color: @base;
}
#battery.charging {
color: @green;
}
#battery.warning:not(.charging) {
color: white;
animation: blink 0.5s linear infinite alternate;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#network.disconnected {
background-color: @red;
}
#temperature.critical {
background-color: @red;
}
/* --------------------------------------------------------- */
/* GLOBAL MODULE SPACING */
#clock,
#idle_inhibitor,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 10px;
}
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
[Settings] [Settings]
language = en language = en
backend = awww backend = awww
+1 -22
View File
@@ -1,17 +1,7 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
[global] [global]
allow_images = true
allow_markup = true allow_markup = true
# Which modes are active
show_drun = true:apps,false:others
show_run = true
show_files = false
show_windowed = false
show_dmenu = false
show_ssh = false
show_power = true
# Layout / scrolling
location = center location = center
anchor = center anchor = center
@@ -26,15 +16,4 @@ cycle = true
hide_scroll = false hide_scroll = false
hide_search = false hide_search = false
# Labels
show_labels = true
label_search = true
label_run = Run
label_files = Files
label_windowed = Windows
label_drun = Applications
label_dmenu = Commands
label_ssh = SSH
label_power = Power
prompt = > ... prompt = > ...
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
wofi --show drun \
--style ~/.config/wofi/style.css \
--no-actions \
--allow-images=false \
--columns 1 \
--prompt "Apps ..."
+59 -57
View File
@@ -1,6 +1,6 @@
@import url("file:///home/henrov/.config/shared/colors.css"); /* --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- */
@import "~/.config/shared/colors.css";
/* Global styles */
* { * {
background-color: transparent; background-color: transparent;
color: @text; color: @text;
@@ -8,79 +8,81 @@
font-size: 12pt; font-size: 12pt;
} }
/* --- DRUN menu (full size) --- */ #window {
#main { background: linear-gradient(45deg, #89b4fa, #a6e3a1);
background: border-radius: 28px;
linear-gradient(@base-alpha, @base-alpha) padding-box, /* Inner fill */ padding: 2px;
linear-gradient(45deg, @blue, @green) border-box; /* Gradient border */
border: 2px solid transparent; /* required for border-box layering */
border-radius: 30px;
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
width: 800px;
height: 600px;
} }
/* --- DMENU menu --- */ #outer-box {
#dmenu { background-color: rgba(30, 30, 46, 0.98); /* almost solid */
background: border-radius: 26px;
linear-gradient(@base-alpha, @base-alpha) padding-box, padding: 12px;
linear-gradient(45deg, @blue, @green) border-box; }
border: 2px solid transparent;
border-radius: 30px; #inner-box {
padding: 10px; /* smaller padding for half-height */ background: transparent;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); padding: 0;
width: 800px;
height: 150px;
} }
/* Input field */
#input { #input {
background-color: @surface0; background-color: @surface1; /* stronger than surface0 */
color: @text; color: @text;
border: 1px solid @surface1; border: 1px solid @surface2;
border-radius: 30px; border-radius: 18px;
padding: 5px 10px; padding: 10px 14px;
margin-bottom: 10px; margin-bottom: 10px;
} }
/* Entries */ #input:focus {
border: 1px solid @blue;
background-color: @surface2;
}
#entry { #entry {
background-color: rgba(200,200,200,0.2); background-color: rgba(0, 0, 0, 0.35);
color: @text; color: @subtext1;
border-radius: 30px; border-radius: 18px;
padding: 5px 10px; padding: 10px 14px;
margin: 2px 0; margin: 2px 0;
border: 2px solid transparent; /* needed for gradient on selection */ transition: all 0.15s ease;
transition: all 0.2s ease;
} }
/* Entry focus (hover or typing) */
#entry:focus {
background:
linear-gradient(@base-alpha, @base-alpha) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
color: @lavender;
border-radius: 30px;
}
/* Entry selection */ #entry:hover {
#entry:selected { background-color: rgba(0, 0, 0, 0.5);
background:
linear-gradient(@base-alpha, @base-alpha) padding-box,
linear-gradient(45deg, @blue, @green) border-box;
color: @text; color: @text;
border-radius: 30px;
} }
/* Scrollbar */ #entry:focus {
background: linear-gradient(45deg, #89b4fa, #89b4fa);
color: @lavender;
border-radius: 18px;
}
#entry:selected {
background: linear-gradient(45deg, #89b4fa, #a6e3a1);
border-radius: 18px;
font-weight: bold;
}
#entry image {
margin-right: 10px;
opacity: 0.9;
}
#scrollbar { #scrollbar {
background-color: @surface0; background-color: @surface1;
border-radius: 30px; border-radius: 20px;
width: 8px; width: 6px;
} }
#scrollbar.handle { #scrollbar handle {
background-color: @blue; background: linear-gradient(45deg, #89b4fa, #a6e3a1);
border-radius: 30px; border-radius: 20px;
}
#prompt {
color: @subtext0;
margin-right: 6px;
} }
+16 -14
View File
@@ -7,21 +7,23 @@
// custom settings, run `zed: open default settings` from the // custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p) // command palette (cmd-shift-p / ctrl-shift-p)
{ {
"icon_theme": "Catppuccin Mocha",
"agent": {
"default_model": {
"provider": "ollama",
"model": "codellama:34b",
"enable_thinking": false
},
"favorite_models": [],
"model_parameters": []
},
"ui_font_size": 16,
"buffer_font_size": 15,
"theme": { "theme": {
"mode": "dark", "mode": "system",
"light": "One Light", "light": "Catppuccin Frappé",
"dark": "Catppuccin Mocha", "dark": "Catppuccin Mocha",
}, },
"icon_theme": {
"mode": "system",
"light": "Catppuccin Frappé",
"dark": "Catppuccin Mocha"
},
"auto_install_extensions": {
"catppuccin": true,
"catppuccin-icons": true,
"org-mode": true,
"lua": true,
"sql": true
},
"ui_font_size": 16,
"buffer_font_size": 15,
} }
+13
View File
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# Path to syntax highlighting installed by Nix # Path to syntax highlighting installed by Nix
ZSH_SYNTAX_HIGHLIGHTING="${HOME}/.nix-profile/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ZSH_SYNTAX_HIGHLIGHTING="${HOME}/.nix-profile/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
@@ -10,3 +11,15 @@ fi
if command -v starship >/dev/null 2>&1; then if command -v starship >/dev/null 2>&1; then
eval "$(starship init zsh)" eval "$(starship init zsh)"
fi fi
source /etc/profile.d/99-alias-functions.sh
eval "$(/run/current-system/sw/bin/z.lua --init zsh)"
cd() {
if [ "$#" -eq 0 ]; then
builtin cd ~
else
builtin cd "$@" || return
fi
command z "$PWD"
}
+13 -4
View File
@@ -1,10 +1,10 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
#packages #packages
_1password-gui _1password-gui
audacity audacity
baobab baobab
bat bat
blueman blender
bluez
brave brave
btop btop
chromium chromium
@@ -17,32 +17,39 @@ eza
fd fd
file file
fzf fzf
gimp
git git
gparted gparted
grim grim
grimblast
gnome-calculator
qalculate-gtk
handbrake handbrake
hyperfine hyperfine
just just
jq jq
kdePackages.kdeconnect-kde
libreoffice libreoffice
lua
nextcloud-client nextcloud-client
nextcloud-talk-desktop nextcloud-talk-desktop
nix-index nix-index
nix-output-monitor nix-output-monitor
nh nh
numlockx
obsidian obsidian
onlyoffice-desktopeditors
openssl openssl
pandoc
postman postman
python3 python3
qdirstat qdirstat
ripgrep ripgrep
signal-desktop signal-desktop
slurp slurp
solidtime-desktop
spotify spotify
solaar solaar
swappy swappy
sweethome3d.application
tea tea
todoist todoist
tree tree
@@ -53,9 +60,11 @@ wget
wl-clipboard wl-clipboard
wf-recorder wf-recorder
yazi yazi
z-lua
zed-editor zed-editor
zoxide zoxide
#flatpaks #flatpaks
eu.betterbird.Betterbird eu.betterbird.Betterbird
com.todoist.Todoist com.todoist.Todoist
com.logseq.Logseq
+26
View File
@@ -0,0 +1,26 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
#File & navigation
repo=cd ~/Repos && ls -lah
#Nix commands
nps=xdg-open https://search.nixos.org
#system commands
please=sudo
pls=sudo
rb=sudo reboot
po=sudo poweroff
#flatpak commands
fpl=flatpak list
fps=flatpak search
fpi=flatpak install
fpr=flatpak run
fpu=flatpak update
#ssh commands
nxc=ssh henrov@nextcloud.data-pro.nu
#app shortcuts
vs=code
keys=hyprctl binds
@@ -0,0 +1,52 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ pkgs, config, lib, ... }:
let
username = config.defaultUser or "henrov";
in
{
############################
# System-level packages
############################
environment.systemPackages = with pkgs; [
flameshot
];
############################
# Home Manager user-level configuration
############################
home-manager.users."${username}" = {
home.sessionVariables = {
SCREENSHOT_TOOL = "flameshot";
USERNAME = username;
};
# Create ~/Pictures/Screenshots by touching a dummy file
home.file."Pictures/Screenshots/.keep" = {
text = ""; # empty file
};
services.flameshot = {
enable = true;
settings = {
General = {
uiColor = "#97cbbe";
contrastUiColor = "#1e1e2e";
showDesktopNotification = true;
savePath = "/home/${username}/Pictures/Screenshots";
filenamePattern = "$Y-$m-$d_$H-$M-$S";
useGrimAdapter = true;
};
};
};
systemd.user.services.flameshot = {
Service = {
Environment = [
"WAYLAND_DISPLAY=wayland-1"
"XDG_CURRENT_DESKTOP=hyprland"
"XDG_SESSION_TYPE=wayland"
];
};
};
};
}
+35 -11
View File
@@ -1,5 +1,6 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, lib, flakeRoot, ... }: { config, pkgs, lib, flakeRoot, ... }:
{ {
boot.loader = { boot.loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
@@ -7,16 +8,22 @@
efi.efiSysMountPoint = "/boot"; efi.efiSysMountPoint = "/boot";
timeout = 5; timeout = 5;
}; };
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [ boot.kernelParams = [
"quiet" "quiet"
"splash" "splash"
"udev.log_level=3" "udev.log_level=3"
"rd.systemd.show_status=false" "rd.systemd.show_status=false"
# Sleep / power management
"mem_sleep_default=deep" # Use S3 deep sleep, fixes sleep not working
"acpi_osi=Linux" # Tell ACPI this is a Linux system
"acpi_backlight=native" # Proper backlight control
# Intel GPU — fixes screen blinking on sleep/wake
"i915.enable_psr=0"
"i915.enable_psr2_sel_fetch=0"
# Prevent nvme from waking the system
"nvme.noacpi=1"
]; ];
boot.consoleLogLevel = 0; boot.consoleLogLevel = 0;
#boot.initrd.systemd.enable = true; #boot.initrd.systemd.enable = true;
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
@@ -26,15 +33,32 @@
"sd_mod" "sd_mod"
"rtsx_usb_sdmmc" "rtsx_usb_sdmmc"
]; ];
hardware.enableAllFirmware = true; hardware.enableAllFirmware = true;
boot.kernelModules = [
boot.kernelModules = [ "kvm-intel" ]; "kvm-intel"
"asus_wmi" # Asus-specific power/fan/keyboard control
];
boot.plymouth = { boot.plymouth = {
enable = true; enable = true;
}; };
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
# Power management
powerManagement.enable = true;
services.logind.settings.Login = {
HandleSleepKey = "ignore";
HandleSleepKeyLongPress = "ignore";
};
services.thermald.enable = true; # Intel thermal management daemon
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
PLATFORM_PROFILE_ON_AC = "performance";
PLATFORM_PROFILE_ON_BAT = "low-power";
};
};
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ {
hostname, hostname,
pkgs, pkgs,
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, import-tree, home-manager, ... }: { lib, config, pkgs, flakeRoot, import-tree, home-manager, ... }:
let let
@@ -35,7 +36,8 @@ in
./hardware-configuration.nix ./hardware-configuration.nix
] ]
++ allModules ++ allModules
++ [ home-manager.nixosModules.home-manager ]; ++ [ home-manager.nixosModules.home-manager ]
;
################################# #################################
# Home Manager integration # Home Manager integration
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, lib, flakeRoot, ... }: { config, pkgs, lib, flakeRoot, ... }:
let let
@@ -1,30 +0,0 @@
{ pkgs, config, lib, ... }:
let
username = config.defaultUser or "henrov";
in
{
############################
# System-level packages
############################
environment.systemPackages = with pkgs; [
flameshot
];
############################
# Home Manager user-level configuration
############################
home-manager.users."${username}" = {
home.stateVersion = "26.05";
home.sessionVariables = {
SCREENSHOT_TOOL = "flameshot";
USERNAME = username;
};
# Create ~/Pictures/Screenshots by touching a dummy file
home.file."Pictures/Screenshots/.keep" = {
text = ""; # empty file
};
};
}
@@ -0,0 +1,21 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, ... }:
let
username = config.defaultUser or "henrov";
in
{
environment.systemPackages = with pkgs; [
kdePackages.kdeconnect-kde
];
systemd.user.services.kdeconnect = {
enable = true;
description = "KDE Connect daemon";
wantedBy = ["default.target"];
serviceConfig = {
ExecStart = "${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnectd";
Restart = "on-failure";
};
};
}
@@ -1,10 +1,9 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, pkgs, config, flakeRoot, ... }: { lib, pkgs, config, flakeRoot, ... }:
let let
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf"; extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf";
extraConfig = extraConfig =
if builtins.pathExists extraConfigFile if builtins.pathExists extraConfigFile
then builtins.readFile extraConfigFile then builtins.readFile extraConfigFile
@@ -17,16 +16,13 @@ in
environment.systemPackages = [ environment.systemPackages = [
pkgs.kitty pkgs.kitty
]; ];
################################# #################################
# Home Manager # Home Manager
################################# #################################
home-manager.users = { home-manager.users = {
"${username}" = { "${username}" = {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
settings = { settings = {
confirm_os_window_close = lib.mkForce 0; confirm_os_window_close = lib.mkForce 0;
dynamic_background_opacity = lib.mkForce true; dynamic_background_opacity = lib.mkForce true;
@@ -35,11 +31,10 @@ in
window_padding_width = lib.mkForce 10; window_padding_width = lib.mkForce 10;
background_opacity = lib.mkForce "0.5"; background_opacity = lib.mkForce "0.5";
background_blur = lib.mkForce 5; background_blur = lib.mkForce 5;
notify_on_command_complete = lib.mkForce "never";
}; };
extraConfig = '' extraConfig = ''
${extraConfig} ${extraConfig}
# Theme # Theme
include themes/Catppuccin-Mocha.conf include themes/Catppuccin-Mocha.conf
''; '';
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ pkgs, config, lib, ... }: { pkgs, config, lib, ... }:
let let
@@ -15,6 +16,9 @@ in
gvfs # support for external drives and network shares gvfs # support for external drives and network shares
xarchiver # optional GUI archive manager xarchiver # optional GUI archive manager
tumbler # Showing thumbnails tumbler # Showing thumbnails
libmtp
mtpfs
jmtpfs
]; ];
############################ ############################
@@ -29,4 +33,6 @@ in
USERNAME = username; USERNAME = username;
}; };
}; };
# Enable gvfs as a service
services.gvfs.enable = true;
} }
@@ -1,23 +1,26 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/generated/.config/wofi"; sysName = "wofi";
assetPath = "${flakeRoot}/generated/.config/${sysName}";
in in
{ {
environment.systemPackages = [ pkgs.wofi ]; environment.systemPackages = [ pkgs.wofi ];
home-manager.users = { home-manager.users = {
${username} = { ${username} = {
home.file = { home.activation.MakeWofiMutable = {
".config/wofi/config" = { after = [ "writeBoundary" ];
text = builtins.readFile "${assetPath}/config"; before = [];
force = true; data = ''
}; rm -rf $HOME/.config/${sysName}
".config/wofi/style.css" = { mkdir -p $HOME/.config/${sysName}
text = builtins.replaceStrings ["PLACEHOLDER_USERNAME"] [username] (builtins.readFile "${assetPath}/style.css"); cp -r ${assetPath}/* $HOME/.config/${sysName}/
force = true; chmod -R u+w $HOME/.config/${sysName}/
}; find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
'';
}; };
}; };
}; };
@@ -0,0 +1,48 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
sysName = "zed";
assetPath = "${flakeRoot}/generated/.config/${sysName}";
in
{
environment.systemPackages = [ pkgs.zed-editor ];
environment.sessionVariables = {
EDITOR = "zeditor";
VISUAL = "zeditor";
};
xdg.mime.defaultApplications = {
"text/plain" = "dev.zed.Zed.desktop";
"text/x-lua" = "dev.zed.Zed.desktop";
"text/x-sql" = "dev.zed.Zed.desktop";
"text/x-org" = "dev.zed.Zed.desktop";
"text/x-script.python" = "dev.zed.Zed.desktop";
"text/x-shellscript" = "dev.zed.Zed.desktop";
"text/x-csrc" = "dev.zed.Zed.desktop";
"text/x-chdr" = "dev.zed.Zed.desktop";
"text/x-rust" = "dev.zed.Zed.desktop";
"text/x-toml" = "dev.zed.Zed.desktop";
"text/x-yaml" = "dev.zed.Zed.desktop";
"text/x-json" = "dev.zed.Zed.desktop";
"application/json" = "dev.zed.Zed.desktop";
"text/markdown" = "dev.zed.Zed.desktop";
"text/x-nix" = "dev.zed.Zed.desktop";
};
home-manager.users.${username} = {
home.activation.MakeZedMutable = {
after = [ "writeBoundary" ];
before = [];
data = ''
rm -rf $HOME/.config/${sysName}
mkdir -p $HOME/.config/${sysName}
cp -r ${assetPath}/* $HOME/.config/${sysName}/
chmod -R u+w $HOME/.config/${sysName}/
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
'';
};
};
}
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, lib, zen-browser, ... }: { config, pkgs, lib, zen-browser, ... }:
let let
@@ -1,53 +1,105 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
# Default username fallback #################################
# User config
#################################
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
# Path to optional per-user generated zshrc
generatedZsh = "${flakeRoot}/generated/.config/zsh/.zshrc"; generatedZsh = "${flakeRoot}/generated/.config/zsh/.zshrc";
#################################
# Alias parsing
#################################
aliasFile = "${flakeRoot}/generated/assets/aliases.conf";
content = builtins.readFile aliasFile;
lines =
lib.filter (l: l != "")
(map (l:
let
noComment = builtins.head (lib.splitString "#" l);
in lib.trim noComment
) (lib.splitString "\n" content));
parseLine = line:
let
parts = lib.splitString "=" line;
in
if lib.length parts < 2 then null else {
name = lib.trim (lib.head parts);
value = lib.trim (lib.concatStringsSep "=" (lib.tail parts));
};
parsed =
lib.filter (x: x != null)
(map parseLine lines);
functions =
lib.concatStringsSep "\n"
(map (x: ''
${x.name}() {
${x.value} "$@"
}
'') parsed);
in in
{ {
################################# #################################
# Install Zsh, Oh My Zsh, and Starship system-wide # Packages
################################# #################################
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
zsh zsh
oh-my-zsh oh-my-zsh
starship starship
zsh-syntax-highlighting
]; ];
################################# #################################
# Set Zsh to use ~/.config/zsh as its config directory # Zsh config location
################################# #################################
environment.etc."zshenv".text = '' environment.etc."zshenv".text = ''
export ZDOTDIR=$HOME/.config/zsh export ZDOTDIR=$HOME/.config/zsh
''; '';
################################# #################################
# Deploy global zshrc for all users # Generated alias functions (system-wide)
#################################
environment.etc."profile.d/99-alias-functions.sh".text = ''
# system-wide functions generated from aliases.conf
${functions}
'';
#################################
# Global zshrc
################################# #################################
environment.etc."zshrc".text = '' environment.etc."zshrc".text = ''
export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh
ZSH_THEME="" ZSH_THEME=""
plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl) plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
# Load optional per-user generated zshrc if it exists # Init starship FIRST (prompt)
eval "$(starship init zsh)"
# Load alias functions
if [ -f /etc/profile.d/99-alias-functions.sh ]; then
source /etc/profile.d/99-alias-functions.sh
fi
# Load optional generated user config
[ -f "${generatedZsh}" ] && source "${generatedZsh}" [ -f "${generatedZsh}" ] && source "${generatedZsh}"
# Initialize Starship prompt # Syntax highlighting MUST be last
eval "$(starship init zsh)" source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
''; '';
################################# #################################
# Set Zsh as default login shell for the user via Home Manager # Home Manager integration
################################# #################################
home-manager.users = { home-manager.users.${username} = {
${username} = { programs.zsh.enable = true;
programs.zsh.enable = true; home.file.".config/zsh/.zshrc".source = generatedZsh;
# Include the generated zshrc if you want
home.file.".config/zsh/.zshrc".source = generatedZsh;
};
}; };
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }:
{ {
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ pkgs, config, lib, ... }: { pkgs, config, lib, ... }:
let let
@@ -1,37 +1,36 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }: { lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
let let
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/generated/.config/hypr"; sysName = "hypr";
assetPath = "${flakeRoot}/generated/.config/${sysName}";
hyprlandPkg = hyprlandPkg =
pkgs.hyprland or pkgs.hyprland or
pkgs.hyprland-git or pkgs.hyprland-git or
inputs.hyprland.packages.${pkgs.system}.default; inputs.hyprland.packages.${pkgs.system}.default;
in in
{ {
# Install Hyprland systemwide # Install Hyprland systemwide
programs.hyprland.enable = true;
programs.hyprland.withUWSM = true;
programs.hyprland.package = hyprlandPkg;
environment.systemPackages = [ hyprlandPkg ]; environment.systemPackages = [ hyprlandPkg ];
# Home Manager user configuration # Home Manager user configuration
home-manager.users = { home-manager.users = {
${username} = { ${username} = {
home.file = {
".config/hypr/animations.conf" = { source = "${assetPath}/animations.conf"; force = true; }; home.activation.MakeHyprMutable = {
".config/hypr/behaviour.conf" = { source = "${assetPath}/behaviour.conf"; force = true; }; after = [ "writeBoundary" ];
".config/hypr/bindings.conf" = { source = "${assetPath}/bindings.conf"; force = true; }; before = [];
".config/hypr/exec-once.conf" = { source = "${assetPath}/exec-once.conf"; force = true; }; data = ''
".config/hypr/hypridle.conf" = { source = "${assetPath}/hypridle.conf"; force = true; }; rm -rf $HOME/.config/${sysName}
".config/hypr/hyprland.conf" = { source = "${assetPath}/hyprland.conf"; force = true; }; mkdir -p $HOME/.config/${sysName}
".config/hypr/hyprlock.conf" = { source = "${assetPath}/hyprlock.conf"; force = true; }; cp -r ${assetPath}/* $HOME/.config/${sysName}/
".config/hypr/layer-rules.conf" = { source = "${assetPath}/layer-rules.conf"; force = true; }; chmod -R u+w $HOME/.config/${sysName}/
".config/hypr/layout.conf" = { source = "${assetPath}/layout.conf"; force = true; }; find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
".config/hypr/monitor-rules.conf" = { source = "${assetPath}/monitor-rules.conf"; force = true; }; '';
".config/hypr/scripts/layout-selector.sh" = { source = "${assetPath}/scripts/layout-selector.sh"; executable = true; force = true; };
".config/hypr/theming.css" = { source = "${assetPath}/theming.css"; force = true; };
".config/hypr/window-rules.conf" = { source = "${assetPath}/window-rules.conf"; force = true; };
".config/hypr/workspace-rules.conf" = { source = "${assetPath}/workspace-rules.conf"; force = true; };
}; };
}; };
}; };
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, stylix, ... }: { lib, config, pkgs, flakeRoot, stylix, ... }:
let let
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
@@ -1,48 +1,31 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
# Use the config option defaultUser directly, fallback to "henrov"
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/generated/.config/waybar"; sysName = "waybar";
assetPath = "${flakeRoot}/generated/.config/${sysName}";
in in
{ {
# Install Waybar system-wide
environment.systemPackages = [ pkgs.waybar ]; environment.systemPackages = [ pkgs.waybar ];
home-manager.users = { home-manager.users.${username} = {
${username} = { home.activation.MakeWaybarMutable = {
home.file = { after = [ "writeBoundary" ];
".config/waybar/config" = { before = [];
text = builtins.readFile "${assetPath}/config"; data = ''
force = true; rm -rf $HOME/.config/${sysName}
}; mkdir -p $HOME/.config/${sysName}
".config/waybar/style.css" = { cp -r ${assetPath}/* $HOME/.config/${sysName}/
text = builtins.replaceStrings ["henrov"] [username] (builtins.readFile "${assetPath}/style.css"); chmod -R u+w $HOME/.config/${sysName}/
force = true; find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
}; '';
".config/waybar/scripts/bluetooth-status.sh" = {
text = builtins.readFile "${assetPath}/scripts/bluetooth-status.sh";
force = true;
executable = true;
};
".config/waybar/scripts/hypr-workspaces.sh" = {
text = builtins.readFile "${assetPath}/scripts/hypr-workspaces.sh";
force = true;
executable = true;
};
".config/waybar/scripts/hypr-workspacesmenu.sh" = {
text = builtins.readFile "${assetPath}/scripts/hypr-workspacesmenu.sh";
force = true;
executable = true;
};
};
};
}; };
};
# Systemd user service for Waybar
systemd.user.services.waybar = { systemd.user.services.waybar = {
description = "Waybar for Hyprland"; description = "Waybar for Hyprland";
after = [ "graphical-session.target" ]; after = [ "graphical-session.target" ];
wantedBy = [ "default.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.waybar}/bin/waybar"; ExecStart = "${pkgs.waybar}/bin/waybar";
Restart = "always"; Restart = "always";
@@ -51,7 +34,5 @@ in
XDG_CURRENT_DESKTOP=Hyprland XDG_CURRENT_DESKTOP=Hyprland
''; '';
}; };
wantedBy = [ "default.target" ];
}; };
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
@@ -1,44 +1,62 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
# Use the config option defaultUser directly, fallback to "henrov"
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
homeDir = "/home/${username}";
# Portal backends basePortal = pkgs.xdg-desktop-portal-gtk;
basePortal = pkgs.xdg-desktop-portal-gtk; # full portal implementation hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland; # Hyprland screencast
in in
{ {
################################# #################################
# Enable XDG desktop portals system-wide # XDG Desktop Portals (system)
################################# #################################
xdg.portal.enable = true; xdg.portal.enable = true;
xdg.portal.xdgOpenUsePortal = true;
# Base + Hyprland portals xdg.portal.extraPortals = [
xdg.portal.extraPortals = [ basePortal hyprlandPortal ]; basePortal
hyprlandPortal
# Map screencast interface explicitly to Hyprland ];
xdg.portal.config = { xdg.portal.config = {
"org.freedesktop.impl.portal.Screencast".backend = "hyprland"; common = {
default = [ "hyprland" "gtk" ];
};
hyprland = {
default = [ "hyprland" "gtk" ];
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
"org.freedesktop.impl.portal.Settings" = [ "gtk" ];
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
};
}; };
################################# #################################
# Install portal packages system-wide # System packages
################################# #################################
environment.systemPackages = [ environment.systemPackages = [
basePortal basePortal
hyprlandPortal hyprlandPortal
]; ];
################################# #################################
# Home Manager user configuration # Home Manager user config
################################# #################################
home-manager.users = { home-manager.users.${username} = {
${username} = { #################################
home.packages = [ # XDG user directories
basePortal #################################
hyprlandPortal xdg.userDirs = {
]; enable = true;
createDirectories = true;
desktop = null;
download = "${homeDir}/Downloads";
documents = "${homeDir}/Documents";
pictures = "${homeDir}/Pictures";
music = null;
publicShare = null;
templates = "${homeDir}/Experiments";
videos = "${homeDir}/Videos";
extraConfig = {
XDG_PROJECTS_DIR = "${homeDir}/Projects";
XDG_WORK_DIR = "${homeDir}/Work";
};
}; };
}; };
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
@@ -8,5 +9,6 @@
pulseaudio # PulseAudio daemon pulseaudio # PulseAudio daemon
pavucontrol # GUI mixer pavucontrol # GUI mixer
pamixer # CLI mixer pamixer # CLI mixer
playerctl # Player controls
]; ];
} }
@@ -0,0 +1,12 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ ... }:
{
services.avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
};
};
}
@@ -1,16 +0,0 @@
{ config, pkgs, flakeRoot, ... }:
let
username = "henrov"; # Replace with your username if needed
in
{
home-manager.users = {
${username} = {
home.file = {
".config/shared/colors.css" = {
text = builtins.readFile "${flakeRoot}/generated/.config/shared/colors.css";
force = true;
};
};
};
};
}
@@ -1,9 +1,12 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, home-manager, ... }: { lib, config, pkgs, home-manager, ... }:
let let
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
in in
{ {
############################ ############################
# Bluetooth daemon # Bluetooth daemon
############################ ############################
@@ -11,5 +14,6 @@ in
enable = true; enable = true;
powerOnBoot = true; powerOnBoot = true;
package = pkgs.bluez; package = pkgs.bluez;
}; };
environment.systemPackages = with pkgs; [ blueman ];
} }
@@ -0,0 +1,69 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
colors = {
border = "#97C9E6";
crust = "#11111b";
mantle = "#181825";
base = "#1e1e2e";
surface0 = "#313244";
surface1 = "#45475a";
surface2 = "#585b70";
overlay0 = "#6c7086";
overlay1 = "#7f849c";
overlay2 = "#9399b2";
subtext0 = "#a6adc8";
subtext1 = "#bac2de";
text = "#cdd6f4";
rosewater = "#f5e0dc";
flamingo = "#f2cdcd";
pink = "#f5c2e7";
mauve = "#cba6f7";
red = "#f38ba8";
maroon = "#eba0ac";
peach = "#fab387";
yellow = "#f9e2af";
green = "#a6e3a1";
teal = "#94e2d5";
sapphire = "#74c7ec";
blue = "#89b4fa";
lavender = "#b4befe";
};
username = config.defaultUser or "henrov";
qmlContent = ''
pragma Singleton
// Catppuccin Mocha Palette - auto-generated, do not edit manually
import QtQuick
QtObject {
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
'' + lib.concatStringsSep "\n" (
lib.mapAttrsToList (name: value:
" readonly property color ${name}: \"${value}\""
) colors
) + "\n}";
in
{
home-manager.users.${username} = {
home.file = {
".config/shared/colors.css" = {
source = "${flakeRoot}/generated/.config/shared/colors.css";
force = true;
};
".config/quickshell/Colors.qml" = {
text = qmlContent;
force = true;
};
".config/quickshell/powermenu/Colors.qml" = {
text = qmlContent;
force = true;
};
".config/quickshell/powermenu/qmldir" = {
text = "singleton Colors 1.0 Colors.qml";
force = true;
};
};
};
}
@@ -1,19 +1,33 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }: { lib, config, pkgs, flakeRoot, ... }:
let let
username = config.defaultUser or "henrov"; username = config.defaultUser or "henrov";
scriptsPath = flakeRoot + "/generated/.config/scripts"; configPath = flakeRoot + "/generated/.config/scripts";
allFiles = lib.filesystem.listFilesRecursive configPath;
toRelative = file:
let
base = toString flakeRoot + "/generated/";
relative = lib.removePrefix base (toString file);
in
builtins.unsafeDiscardStringContext relative;
isShellScript = file:
lib.hasSuffix ".sh" (toString file);
toFileEntry = file: {
name = toRelative file;
value = {
source = file;
executable = isShellScript file;
force = true;
};
};
in in
{ {
home-manager.users = { home-manager.users = {
${username} = { ${username} = {
home.file = { home.file = builtins.listToAttrs (map toFileEntry allFiles);
".config/scripts/update.sh" = {
text = builtins.readFile (flakeRoot + "/generated/.config/scripts/update.sh");
executable = true;
force = true;
};
};
}; };
}; };
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
@@ -0,0 +1,73 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ pkgs, ... }:
{
# Use nftables as the firewall backend
networking.nftables.enable = true;
networking.firewall = {
enable = true;
filterForward = false; # don't filter forwarded traffic
# outbound is allowed by default UNLESS you've set:
# LAN-only ports — Wi-Fi interface
interfaces."wlan0" = {
allowedTCPPorts = [
22 # SSH
80 # allow HTTP globally for outbound
443 # allow HTTPS globally for outbound
631 # CUPS / IPP network printing
9100 # AppSocket/JetDirect printing
6566 # SANE network scanner
57621 # Spotify Connect
57622 # Spotify local file sync
];
allowedTCPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
allowedUDPPorts = [
5353 # mDNS / Avahi (printer + device discovery)
631 # CUPS / IPP
67 # DHCP
123 # NTP time sync
1900 # UPnP device discovery
57621 # Spotify Connect
];
allowedUDPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
};
# LAN-only ports — ethernet (ready for when you plug in)
interfaces."enp0s31f6" = {
allowedTCPPorts = [
631 # CUPS / IPP network printing
9100 # AppSocket/JetDirect printing
6566 # SANE network scanner
57621 # Spotify Connect
57622 # Spotify local file sync
];
allowedTCPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
allowedUDPPorts = [
5353 # mDNS / Avahi (printer + device discovery)
631 # CUPS / IPP
67 # DHCP
123 # NTP time sync
1900 # UPnP device discovery
57621 # Spotify Connect
];
allowedUDPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
};
};
# CLI tool for temporary rule changes without rebuilding
# Usage: sudo nixos-firewall-tool open tcp 8080
environment.systemPackages = with pkgs; [
nixos-firewall-tool
];
}
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
@@ -0,0 +1,48 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
basePath = "${flakeRoot}/generated/.config";
assetPath = "${flakeRoot}/generated/.config/hypr";
in
{
#################################
# Install hypridle system-wide
#################################
environment.systemPackages = [ pkgs.hypridle ];
#################################
# Deploy config
#################################
home-manager.users = {
${username} = {
home.file = {
".config/hypr/hypridle.conf" = {
text = builtins.readFile "${assetPath}/hypridle.conf";
force = true;
};
};
};
};
#################################
# Systemd user service
#################################
systemd.user.services.hypridle = {
description = "Hypridle (Hyprland idle daemon)";
after = [ "hyprland-session.target" ];
bindsTo = [ "hyprland-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.hypridle}/bin/hypridle";
Restart = "on-failure";
RestartSec = "5s";
Environment = [
"HOME=/home/${username}"
"WAYLAND_DISPLAY=wayland-1"
"XDG_RUNTIME_DIR=/run/user/1000"
];
};
wantedBy = [ "hyprland-session.target" ];
};
}
@@ -0,0 +1,49 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
basePath = "${flakeRoot}/generated/.config";
assetPath = "${flakeRoot}/generated/.config/hypr";
in
{
#################################
# Install hyprlock system-wide
#################################
environment.systemPackages = [
pkgs.hyprlock
];
#################################
# Deploy configuration file
#################################
home-manager.users = {
${username} = {
home.file = {
".config/hypr/hyprlock.conf" = {
text = builtins.readFile "${assetPath}/hyprlock.conf";
force = true;
};
};
};
};
#################################
# Optional: helper systemd user service (manual start use)
#################################
systemd.user.services.hyprlock = {
description = "Hyprlock (manual lock session)";
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.hyprlock}/bin/hyprlock";
Restart = "no";
Environment = ''
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
XDG_CURRENT_DESKTOP=Hyprland
'';
};
wantedBy = [ ];
};
}
@@ -1,17 +1,15 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet"; tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
sessionsDir = "${pkgs.hyprland}/share/wayland-sessions"; sessionsDir = "${pkgs.uwsm}/share/wayland-sessions";
in in
{ {
################################# #################################
# Greetd (tuigreet) # Greetd (tuigreet)
################################# #################################
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = { settings = {
default_session = { default_session = {
command = '' command = ''
@@ -20,24 +18,20 @@ in
--remember \ --remember \
--remember-session \ --remember-session \
--sessions ${sessionsDir} \ --sessions ${sessionsDir} \
--cmd "start-hyprland" --cmd "uwsm start hyprland-uwsm.desktop"
''; '';
user = "greeter"; user = "greeter";
}; };
}; };
}; };
################################# #################################
# Fix TTY / boot noise issues # Fix TTY / boot noise issues
################################# #################################
systemd.services.greetd.serviceConfig = { systemd.services.greetd.serviceConfig = {
Type = "idle"; Type = "idle";
StandardInput = "tty"; StandardInput = "tty";
StandardOutput = "tty"; StandardOutput = "tty";
StandardError = "journal"; StandardError = "journal";
# Prevent boot log spam on tty
TTYReset = true; TTYReset = true;
TTYVHangup = true; TTYVHangup = true;
TTYVTDisallocate = true; TTYVTDisallocate = true;
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
@@ -8,8 +9,6 @@
# Let DHCP be default unless overridden elsewhere # Let DHCP be default unless overridden elsewhere
useDHCP = lib.mkDefault true; useDHCP = lib.mkDefault true;
# Hostname comes from host.nix, do NOT redefine here
################################# #################################
# NetworkManager (primary stack) # NetworkManager (primary stack)
################################# #################################
@@ -27,20 +26,6 @@
# Allow user control via NM / CLI # Allow user control via NM / CLI
settings.General.EnableNetworkConfiguration = true; settings.General.EnableNetworkConfiguration = true;
}; };
#################################
# Firewall
#################################
firewall = {
enable = true;
# KDE Connect support
allowedTCPPortRanges = [
{ from = 1714; to = 1764; }
];
allowedUDPPortRanges = [
{ from = 1714; to = 1764; }
];
};
}; };
################################# #################################
@@ -50,5 +35,7 @@
pkgs.networkmanager pkgs.networkmanager
pkgs.linux-firmware pkgs.linux-firmware
pkgs.networkmanagerapplet pkgs.networkmanagerapplet
pkgs.networkmanager_dmenu
# pkgs.iwgtk
]; ];
} }
@@ -1,10 +1,18 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, ... }: { lib, config, ... }:
{ {
nix.settings = { nix.settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [ "nix-command" "flakes" ];
download-buffer-size = 536870912; # 512 MB download-buffer-size = 536870912; # 512 MB
cores = 2; cores = 8;
max-jobs = 1; max-jobs = "auto";
}; };
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
boot.loader.systemd-boot.configurationLimit = 3;
} }
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
@@ -0,0 +1,38 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ pkgs, lib, config, flakeRoot, quickshell, ... }:
let
username = config.defaultUser or "henrov";
sysName = "quickshell";
assetPath = "${flakeRoot}/generated/.config/${sysName}";
quickshellPkg = quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default;
in
{
environment.systemPackages = with pkgs; [
quickshellPkg
qt6.qtdeclarative
qt6.qttools
qt6.qtsvg
qt6.qtimageformats
qt6.qtmultimedia
qt6.qt5compat
];
qt = {
enable = true;
platformTheme = "qt5ct";
};
home-manager.users.${username} = {
home.activation.quickshellMutableFiles = {
after = [ "writeBoundary" ];
before = [];
data = ''
rm -rf $HOME/.config/${sysName}
mkdir -p $HOME/.config/${sysName}
cp -r ${assetPath}/* $HOME/.config/${sysName}/
chmod -R u+w $HOME/.config/${sysName}/
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
'';
};
};
}
@@ -0,0 +1,40 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/generated/.config/swaync";
in
{
environment.systemPackages = [ pkgs.swaynotificationcenter pkgs.libnotify ];
home-manager.users.${username} = {
# Do NOT enable services.swaync — it would claim the config files
# and conflict with our home.file entries below.
home.file = {
".config/swaync/config.json" = {
text = builtins.readFile "${assetPath}/config.json";
force = true;
};
".config/swaync/style.css" = {
text = builtins.replaceStrings ["henrov"] [username] (builtins.readFile "${assetPath}/style.css");
force = true;
};
};
};
# Autostart swaync as a systemd user service instead
systemd.user.services.swaync = {
description = "SwayNotificationCenter";
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
Restart = "always";
Environment = [
"WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-1"}"
"XDG_CURRENT_DESKTOP=Hyprland"
];
};
wantedBy = [ "default.target" ];
};
}
+2 -1
View File
@@ -1,3 +1,4 @@
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
let let
@@ -11,7 +12,7 @@ in
isNormalUser = true; isNormalUser = true;
home = "/home/${username}"; home = "/home/${username}";
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/"; hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
extraGroups = [ "wheel" "networkmanager" "bluetooth" ]; extraGroups = [ "wheel" "networkmanager" "bluetooth" "input" ];
ignoreShellProgramCheck = true; # <-- avoids the assertion ignoreShellProgramCheck = true; # <-- avoids the assertion
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,131 +0,0 @@
; thunar GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump
;
; (gtk_accel_path "<Actions>/ThunarDetailsView/expandable-folders" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/f4f9b7c05a683015a19351e94cf07e3d" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
; (gtk_accel_path "<Actions>/Thunarwindow/menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab-alt" "<Primary><Shift>ISO_Left_Tab")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/b642744ba505349eb43f3232902f4a96" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/51e116aa815495db13c58c73eec99304" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-hidden-count" "")
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
; (gtk_accel_path "<Actions>/ThunarBookmarks/f08c8da7eedf52bf1705513340708bed" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt2" "Back")
; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt1" "BackSpace")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-focused-split-view-pane" "")
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search-alt" "Search")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab-alt" "<Primary>Tab")
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<icon>utilities-terminal</icon>
<name>Open Terminal Here</name>
<submenu></submenu>
<unique-id>1771155705496049-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
<action>
<icon></icon>
<name>Copy Full Path</name>
<submenu></submenu>
<unique-id>1771928240025354-1</unique-id>
<command>sh -c &apos;printf &quot;%s&quot; &quot;%f&quot; | wl-copy&apos;</command>
<description>Copy Full Path</description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
</actions>
@@ -1,5 +0,0 @@
[filter "lfs"]
clean = "git-lfs clean -- %f"
process = "git-lfs filter-process"
required = true
smudge = "git-lfs smudge -- %f"
@@ -1,12 +0,0 @@
# ./assets/conf/desktop/hypr/animations.conf
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}

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