mirror of
https://github.com/The-Repo-Club/DotFiles.git
synced 2024-11-28 10:18:46 -05:00
Update
This commit is contained in:
parent
94d646ce22
commit
93ed33f1b4
21
LICENSE_KISS
21
LICENSE_KISS
@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2019-2021 Dylan Araps
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
@ -197,7 +197,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\Keys\y=#ffffff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\Keys\y=#ffffff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\Keys\z=#ffffff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\Keys\z=#ffffff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Modified=fd44203a
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Modified=d20ed5f
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Name=Rainbow
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Name=Rainbow
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\0\Performance\DPI\0=@Point(400 400)
|
||||||
@ -425,7 +425,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\Keys\y=#ff0000
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\Keys\y=#ff0000
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\Keys\z=#ff0000
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\Keys\z=#ff0000
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Modified=ff29d844
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Modified=80f14940
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Name=Breathing
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Name=Breathing
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\1\Performance\DPI\0=@Point(400 400)
|
||||||
@ -675,7 +675,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\Keys\y=#aa00ff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\Keys\y=#aa00ff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\Keys\z=#aa00ff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\Keys\z=#aa00ff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Modified=871229c3
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Modified=d32b1742
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Name=Trippy
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Name=Trippy
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\2\Performance\DPI\0=@Point(400 400)
|
||||||
@ -733,7 +733,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\CurrentMode={51EB6E3A-27A0-4AD6-A35C-6B67E0329A3D}
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\CurrentMode={51EB6E3A-27A0-4AD6-A35C-6B67E0329A3D}
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\HwModified=7ffd
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\HwModified=7ffd
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\ModeCount=3
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\ModeCount=3
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\Modified=9b78c45f
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\Modified=d432a6b9
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\Name=Multi
|
0E029022AF4C18835CBDCC7EF5001BC3\%7B5B1E2E81-ED4F-4F79-9EB5-F8ACA67D1BF0%7D\Name=Multi
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Binding\KeyMap=K68 GB
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Binding\KeyMap=K68 GB
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Binding\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Binding\UseRealNames=true
|
||||||
@ -929,7 +929,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\Keys\y=#ffffff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\Keys\y=#ffffff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\Keys\z=#ffffff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\Keys\z=#ffffff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Modified=71c5d0ae
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Modified=63c03057
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Name=Rainbow
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Name=Rainbow
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\0\Performance\DPI\0=@Point(400 400)
|
||||||
@ -1157,7 +1157,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\Keys\y=#ff0000
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\Keys\y=#ff0000
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\Keys\z=#ff0000
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\Keys\z=#ff0000
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Modified=7bc31922
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Modified=ab8dbc14
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Name=Breathing
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Name=Breathing
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\1\Performance\DPI\0=@Point(400 400)
|
||||||
@ -1407,7 +1407,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\Keys\y=#aa00ff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\Keys\y=#aa00ff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\Keys\z=#aa00ff
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\Keys\z=#aa00ff
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\UseRealNames=true
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Lighting\UseRealNames=true
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Modified=5cf781a5
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Modified=5122903c
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Name=Trippy
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Name=Trippy
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Performance\AngleSnap=false
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Performance\AngleSnap=false
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Performance\DPI\0=@Point(400 400)
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\2\Performance\DPI\0=@Point(400 400)
|
||||||
@ -1465,7 +1465,7 @@
|
|||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\CurrentMode={11C11AE3-3195-4DFC-B8AC-2FEA703414E5}
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\CurrentMode={11C11AE3-3195-4DFC-B8AC-2FEA703414E5}
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\HwModified=40b6f054
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\HwModified=40b6f054
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\ModeCount=3
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\ModeCount=3
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\Modified=c1f1d839
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\Modified=8b25e8b6
|
||||||
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\Name=Demo
|
0E029022AF4C18835CBDCC7EF5001BC3\%7BBA7FC152-2D51-4C26-A7A6-A036CC93D924%7D\Name=Demo
|
||||||
|
|
||||||
[Popups]
|
[Popups]
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1,96 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Enter a kiss chroot
|
|
||||||
|
|
||||||
log() {
|
|
||||||
printf '\033[32m->\033[m %s.\n' "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
die() {
|
|
||||||
log "$*" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
run() {
|
|
||||||
printf '%s\n' "$*"
|
|
||||||
"$@" || return "${_ret:=0}"
|
|
||||||
}
|
|
||||||
|
|
||||||
clean() {
|
|
||||||
log Unmounting host filesystems; {
|
|
||||||
run umount "$1/dev/shm"
|
|
||||||
run umount "$1/dev/pts"
|
|
||||||
run umount "$1/dev"
|
|
||||||
run umount "$1/proc"
|
|
||||||
run umount "$1/run"
|
|
||||||
run umount "$1/sys/firmware/efi/efivars" 2>/dev/null
|
|
||||||
run umount "$1/sys"
|
|
||||||
run umount "$1/tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
log Cleaning leftover host files; {
|
|
||||||
run rm -f "$1/etc/resolv.conf"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mounted() {
|
|
||||||
# This is a pure shell mountpoint implementation. We're dealing
|
|
||||||
# with basic (and fixed/known) input so this doesn't need to
|
|
||||||
# handle more complex cases.
|
|
||||||
[ -e "$1" ] || return 1
|
|
||||||
[ -e /proc/mounts ] || return 1
|
|
||||||
|
|
||||||
while read -r _ target _; do
|
|
||||||
[ "$target" = "$1" ] && return 0
|
|
||||||
done < /proc/mounts
|
|
||||||
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
mmount() {
|
|
||||||
dest=$1
|
|
||||||
shift
|
|
||||||
mounted "$dest" || run mount "$@" "$dest"
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
# Ensure input does not end in '/'.
|
|
||||||
set -- "${1%"${1##*[!/]}"}"
|
|
||||||
|
|
||||||
[ "$1" ] || die Need a path to the chroot
|
|
||||||
[ -d "$1" ] || die Given path does not exist
|
|
||||||
[ "$(id -u)" = 0 ] || die Script needs to be run as root
|
|
||||||
|
|
||||||
trap 'clean "${1%"${1##*[!/]}"}"' EXIT INT
|
|
||||||
|
|
||||||
log Mounting host filesystems; {
|
|
||||||
mmount "$1/dev" -o bind /dev
|
|
||||||
mmount "$1/dev/pts" -o bind /dev/pts
|
|
||||||
mmount "$1/dev/shm" -t tmpfs shmfs
|
|
||||||
mmount "$1/proc" -t proc proc
|
|
||||||
mmount "$1/run" -t tmpfs tmpfs
|
|
||||||
mmount "$1/sys" -t sysfs sys
|
|
||||||
mmount "$1/sys/firmware/efi/efivars" -t efivarfs efivarfs 2>/dev/null
|
|
||||||
mmount "$1/tmp" -o mode=1777,nosuid,nodev -t tmpfs tmpfs
|
|
||||||
}
|
|
||||||
|
|
||||||
log Copying /etc/resolv.conf from host; {
|
|
||||||
run cp -f /etc/resolv.conf "$1/etc"
|
|
||||||
}
|
|
||||||
|
|
||||||
log Entering chroot; {
|
|
||||||
_ret=1
|
|
||||||
|
|
||||||
run chroot "$1" /usr/bin/env -i \
|
|
||||||
HOME=/root \
|
|
||||||
TERM="$TERM" \
|
|
||||||
SHELL=/bin/sh \
|
|
||||||
USER=root \
|
|
||||||
LOGNAME=root \
|
|
||||||
CFLAGS="${CFLAGS:--march=x86-64 -mtune=generic -pipe -O2}" \
|
|
||||||
CXXFLAGS="${CXXFLAGS:--march=x86-64 -mtune=generic -pipe -O2}" \
|
|
||||||
MAKEFLAGS="${MAKEFLAGS:--j$(nproc 2>/dev/null || echo 1)}" \
|
|
||||||
/bin/sh -l
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$1"
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Display a package's dependencies
|
|
||||||
|
|
||||||
pkg=${1:-"${PWD##*/}"}
|
|
||||||
|
|
||||||
kiss list "$pkg" >/dev/null || {
|
|
||||||
printf 'usage: kiss-depends [pkg]\n' >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
while read -r dep mak || [ "$dep" ]; do
|
|
||||||
printf '%s%s\n' "$dep" "${mak:+ "$mak"}"
|
|
||||||
done 2>/dev/null < "$KISS_ROOT/var/db/kiss/installed/$pkg/depends"
|
|
@ -1,33 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Turn an installed package into a KISS tarball
|
|
||||||
|
|
||||||
db=$KISS_ROOT/var/db/kiss/installed
|
|
||||||
pkg=${1:-"${PWD##*/}"}
|
|
||||||
|
|
||||||
kiss list "$pkg" >/dev/null || {
|
|
||||||
printf 'usage: kiss-export [pkg]\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
read -r ver rel 2>/dev/null < "$db/$1/version"
|
|
||||||
|
|
||||||
set --
|
|
||||||
|
|
||||||
while read -r file; do
|
|
||||||
[ -d "$KISS_ROOT/$file" ] || set -- "$@" ".$file"
|
|
||||||
done < "$db/$pkg/manifest"
|
|
||||||
|
|
||||||
cd "$KISS_ROOT/"
|
|
||||||
|
|
||||||
dest="$OLDPWD/$pkg@$ver-$rel.tar.${KISS_COMPRESS:-gz}"
|
|
||||||
|
|
||||||
tar cf - "$@" | case ${KISS_COMPRESS:-gz} in
|
|
||||||
bz2) bzip2 -z ;;
|
|
||||||
gz) gzip -6 ;;
|
|
||||||
lzma) lzma -z ;;
|
|
||||||
lz) lzip -z ;;
|
|
||||||
xz) xz -zT 0 ;;
|
|
||||||
zst) zstd -z ;;
|
|
||||||
esac > "$dest"
|
|
||||||
|
|
||||||
printf 'created %s\n' "$dest"
|
|
@ -1,30 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Copy a package's repository files into the current directory
|
|
||||||
|
|
||||||
pkg=${1:-"${PWD##*/}"}
|
|
||||||
num=$(printf %d "${2:-0}")
|
|
||||||
|
|
||||||
dir=$(kiss search "$pkg" 2>/dev/null) || {
|
|
||||||
printf 'usage: [kiss-fork [pkg]] [index]\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Globbing is disabled and word splitting is intentional.
|
|
||||||
# shellcheck disable=2086
|
|
||||||
set -- $dir
|
|
||||||
|
|
||||||
[ "$num" -ge "$#" ] && {
|
|
||||||
printf 'index exceeds maximum\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
shift "$num"
|
|
||||||
|
|
||||||
[ "$1" ] || [ -d "$1" ] || {
|
|
||||||
printf 'failed to locate package\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
printf 'found package in %s\n' "$1"
|
|
||||||
cp -Lrf "$1" .
|
|
||||||
printf 'forked package to %s\n' "$PWD/$pkg"
|
|
@ -1,28 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Read KISS documentation
|
|
||||||
|
|
||||||
cd "$KISS_ROOT/usr/share/doc/kiss" 2>/dev/null || {
|
|
||||||
printf 'Documentation is missing from /usr/share/doc/kiss\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
! [ -f "${1:-.}/index.txt" ] || file=./${1:-.}/index.txt
|
|
||||||
! [ -f "${1:-.}.txt" ] || file=./${1:-.}.txt
|
|
||||||
! [ -f "${1:-:}" ] || file=./${1:-.}
|
|
||||||
|
|
||||||
# Fallback to search (allows 'kiss help firefox' to work).
|
|
||||||
# False positive, intended behavior.
|
|
||||||
# shellcheck disable=2046
|
|
||||||
[ "$file" ] || {
|
|
||||||
set -f
|
|
||||||
set +f -- $(find . -name "${1##*/}.txt")
|
|
||||||
file=$1
|
|
||||||
}
|
|
||||||
|
|
||||||
: "${file:=404.txt}"
|
|
||||||
|
|
||||||
cat <<EOF - "$file" | "${PAGER:-less}"
|
|
||||||
Reading $PWD/${file#./}
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
EOF
|
|
@ -1,46 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Link a repository file to another repository
|
|
||||||
|
|
||||||
[ "$1" ] || {
|
|
||||||
printf 'usage: kiss-link file\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
[ -f "${file:=$1}" ] || {
|
|
||||||
printf 'file %s does not exist in the current directory\n' "$1"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
oPWD=$PWD
|
|
||||||
|
|
||||||
# Check if the package exists in a repository and error out here
|
|
||||||
# if it does not. The error message from the package manager will
|
|
||||||
# be displayed.
|
|
||||||
kiss search "${PWD##*/}" >/dev/null
|
|
||||||
|
|
||||||
# Disable this warning as globbing is disabled and word splitting
|
|
||||||
# is intentional. This grabs the location of the package's files.
|
|
||||||
# shellcheck disable=2046
|
|
||||||
{
|
|
||||||
# Generate a list of repositories in which the package
|
|
||||||
# exists. Then 'cd' to the first found directory to do a
|
|
||||||
# comparison.
|
|
||||||
set -- $(kiss search "${PWD##*/}"); cd "$1"
|
|
||||||
|
|
||||||
# Error if the package exists nowhere but the current
|
|
||||||
# directory and this script would create a broken symlink.
|
|
||||||
[ -z "$2" ] && [ "$PWD" = "$oPWD" ] && {
|
|
||||||
printf 'error: cannot symlink file to itself\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# If the first repository in '$KISS_PATH' is the current
|
|
||||||
# directory, use the second repository in the list.
|
|
||||||
[ "$PWD" = "$oPWD" ] && shift
|
|
||||||
|
|
||||||
# Finally, make the link to the file in whatever repository
|
|
||||||
# it was found in.
|
|
||||||
ln -sf "$1/$file" "$oPWD/$file"
|
|
||||||
}
|
|
||||||
|
|
||||||
printf 'linked %s to %s\n' "$file" "$1"
|
|
@ -1,18 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Find the maintainer of a package
|
|
||||||
|
|
||||||
# Use the current directory as the package name if no package is given.
|
|
||||||
[ "$1" ] || {
|
|
||||||
export KISS_PATH=${PWD%/*}:$KISS_PATH
|
|
||||||
set -- "${PWD##*/}"
|
|
||||||
}
|
|
||||||
|
|
||||||
kiss search "$@" | uniq -u | while read -r repo; do cd "$repo"
|
|
||||||
m=$(git log -1 version 2>/dev/null) ||:
|
|
||||||
m=${m##*Author: }
|
|
||||||
m=${m%%>*}
|
|
||||||
|
|
||||||
[ "$m" ] || continue
|
|
||||||
|
|
||||||
printf '=> %s\n%s>\n' "$PWD" "$m"
|
|
||||||
done
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Display all files owned by a package
|
|
||||||
|
|
||||||
pkg=${1:-"${PWD##*/}"}
|
|
||||||
|
|
||||||
kiss list "$pkg" >/dev/null || {
|
|
||||||
printf 'usage: kiss-manifest [pkg]\n' >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
cat "$KISS_ROOT/var/db/kiss/installed/$pkg/manifest" 2>/dev/null
|
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Create a boilerplate package
|
|
||||||
|
|
||||||
die() {
|
|
||||||
printf '%s\n' "$*"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
log() {
|
|
||||||
printf '=> %s.\n' "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
[ "$1" ] || die "usage: kiss-new [name] [version] [source]"
|
|
||||||
[ -d "$1" ] && die "error: Package $1 already exists"
|
|
||||||
mkdir -p "$1" || die "error: Couldn't create directory in $PWD"
|
|
||||||
cd "$1" || die "error: Couldn't enter directory $1/"
|
|
||||||
|
|
||||||
log "Creating build file"; {
|
|
||||||
printf '#!/bin/sh -e\n' > build
|
|
||||||
chmod +x build
|
|
||||||
}
|
|
||||||
|
|
||||||
log "Creating version file with '${2%% *} 1'"; {
|
|
||||||
printf '%s\n' "${2%% *} 1" > version
|
|
||||||
}
|
|
||||||
|
|
||||||
log "Creating sources file with '$3'"; {
|
|
||||||
printf '%s\n' "$3" > sources
|
|
||||||
}
|
|
||||||
|
|
||||||
log "Package $1 created in $PWD"
|
|
@ -1,16 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# List orphaned packages
|
|
||||||
|
|
||||||
cd "$KISS_ROOT/var/db/kiss/installed/"
|
|
||||||
|
|
||||||
for pkg in *; do
|
|
||||||
case $pkg in
|
|
||||||
# Exemptions for orphans which aren't really
|
|
||||||
# orphans. Exclude them from the list.
|
|
||||||
baseinit|baselayout|gcc|e2fsprogs|musl|\
|
|
||||||
make|busybox|bzip2|grub|kiss|git)
|
|
||||||
continue
|
|
||||||
esac
|
|
||||||
|
|
||||||
grep -q "^$pkg$" ./*/depends || printf '%s\n' "$pkg"
|
|
||||||
done
|
|
@ -1,289 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Check repository for outdated packages
|
|
||||||
|
|
||||||
repology_version() {
|
|
||||||
# Grab the package's version as known by repology.org by downloading the
|
|
||||||
# svg latest-version badge and extracting the version from the xml.
|
|
||||||
repology_name "$1"
|
|
||||||
|
|
||||||
r=$(curl -Ss "https://repology.org/badge/latest-versions/$remote.svg") && {
|
|
||||||
remote_ver=${r%</text>*}
|
|
||||||
remote_ver=${remote_ver##*>}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
repology_name() {
|
|
||||||
# Fix any known naming inconsistences between packages and Repology.
|
|
||||||
remote=$(
|
|
||||||
# Strip unrelated suffixes.
|
|
||||||
remote=${1%%-bin}
|
|
||||||
remote=${remote%%-git}
|
|
||||||
|
|
||||||
printf %s "$remote" |
|
|
||||||
|
|
||||||
# Remote names are all lowercase.
|
|
||||||
tr '[:upper:]' '[:lower:]' |
|
|
||||||
|
|
||||||
# Remote always uses -.
|
|
||||||
tr _ -
|
|
||||||
)
|
|
||||||
|
|
||||||
case $remote in
|
|
||||||
baseinit|baselayout|kiss)
|
|
||||||
remote=-
|
|
||||||
;;
|
|
||||||
|
|
||||||
clang)
|
|
||||||
remote=llvm
|
|
||||||
;;
|
|
||||||
|
|
||||||
dash)
|
|
||||||
remote=dash-shell
|
|
||||||
;;
|
|
||||||
|
|
||||||
dejavu-ttf)
|
|
||||||
remote=fonts:dejavu
|
|
||||||
;;
|
|
||||||
|
|
||||||
dsp)
|
|
||||||
remote=dsp-audio-processing
|
|
||||||
;;
|
|
||||||
|
|
||||||
emacs-nox)
|
|
||||||
# TODO [community]: Make default emacs no x11?
|
|
||||||
remote=emacs
|
|
||||||
;;
|
|
||||||
|
|
||||||
fd)
|
|
||||||
remote=fd-find
|
|
||||||
;;
|
|
||||||
|
|
||||||
fetsh)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=fet.sh
|
|
||||||
;;
|
|
||||||
|
|
||||||
firefox-esr)
|
|
||||||
remote=firefox
|
|
||||||
;;
|
|
||||||
|
|
||||||
font-awesome-ttf)
|
|
||||||
remote=fonts:fontawesome
|
|
||||||
;;
|
|
||||||
|
|
||||||
gc)
|
|
||||||
remote=boehm-gc
|
|
||||||
;;
|
|
||||||
|
|
||||||
gnugrep)
|
|
||||||
# shell-check is dumb here so this must be quoted.
|
|
||||||
remote='grep'
|
|
||||||
;;
|
|
||||||
|
|
||||||
gnupg[12])
|
|
||||||
# Reported to repology.org.
|
|
||||||
# https://github.com/repology/repology-rules/issues/285
|
|
||||||
remote=gnupg
|
|
||||||
;;
|
|
||||||
|
|
||||||
gtk+3)
|
|
||||||
remote=gtk3+classic
|
|
||||||
;;
|
|
||||||
|
|
||||||
gst-*)
|
|
||||||
remote=gstreamer:${remote##*-}
|
|
||||||
;;
|
|
||||||
|
|
||||||
gtar)
|
|
||||||
remote=tar
|
|
||||||
;;
|
|
||||||
|
|
||||||
eiwd)
|
|
||||||
remote=iwd
|
|
||||||
;;
|
|
||||||
|
|
||||||
hack)
|
|
||||||
# It might be nice to adopt Repology's naming scheme for
|
|
||||||
# fonts as it also makes them self-documenting and easy
|
|
||||||
# to search for ('kiss s font:\*).
|
|
||||||
remote=fonts:hack
|
|
||||||
;;
|
|
||||||
|
|
||||||
harfbuzz-icu)
|
|
||||||
# TODO: Report to repology.org?
|
|
||||||
# Package split.
|
|
||||||
remote=harfbuzz
|
|
||||||
;;
|
|
||||||
|
|
||||||
libelf)
|
|
||||||
remote=elfutils
|
|
||||||
;;
|
|
||||||
|
|
||||||
liberation-fonts)
|
|
||||||
remote=fonts:liberation
|
|
||||||
;;
|
|
||||||
|
|
||||||
libmupdf | libxaw3d)
|
|
||||||
# TODO [community]: Rename packages?
|
|
||||||
remote=${remote##lib}
|
|
||||||
;;
|
|
||||||
|
|
||||||
links2)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=links
|
|
||||||
;;
|
|
||||||
|
|
||||||
linux-headers)
|
|
||||||
remote=linux
|
|
||||||
;;
|
|
||||||
|
|
||||||
lux)
|
|
||||||
remote=lux-brightness-ventto
|
|
||||||
;;
|
|
||||||
|
|
||||||
man-pages)
|
|
||||||
# TODO: Report to repology.org.
|
|
||||||
# man-pages -> manpages
|
|
||||||
# man-pages-posix -> man-pages-posix
|
|
||||||
remote=manpages
|
|
||||||
;;
|
|
||||||
|
|
||||||
netsurf-fb)
|
|
||||||
remote=netsurf
|
|
||||||
;;
|
|
||||||
|
|
||||||
openjpeg2)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=openjpeg
|
|
||||||
;;
|
|
||||||
|
|
||||||
osh)
|
|
||||||
remote=oil-shell
|
|
||||||
;;
|
|
||||||
|
|
||||||
pinentry-dmenu)
|
|
||||||
remote=pinentry-dmenu-cemkeylan
|
|
||||||
;;
|
|
||||||
|
|
||||||
pyqt5)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=python-qt
|
|
||||||
;;
|
|
||||||
|
|
||||||
python2)
|
|
||||||
remote=python
|
|
||||||
;;
|
|
||||||
|
|
||||||
qt5*)
|
|
||||||
remote=qt
|
|
||||||
;;
|
|
||||||
|
|
||||||
rage)
|
|
||||||
remote=rage-encryption-tool
|
|
||||||
;;
|
|
||||||
|
|
||||||
sane)
|
|
||||||
remote=sane-backends
|
|
||||||
;;
|
|
||||||
|
|
||||||
spleen-font)
|
|
||||||
remote=fonts:spleen
|
|
||||||
;;
|
|
||||||
|
|
||||||
sshfs)
|
|
||||||
remote=fusefs:sshfs
|
|
||||||
;;
|
|
||||||
|
|
||||||
surf)
|
|
||||||
remote=surf-browser
|
|
||||||
;;
|
|
||||||
|
|
||||||
st)
|
|
||||||
remote=st-term
|
|
||||||
;;
|
|
||||||
|
|
||||||
terminus-font)
|
|
||||||
remote=fonts:terminus
|
|
||||||
;;
|
|
||||||
|
|
||||||
tiv)
|
|
||||||
remote=tiv-unclassified
|
|
||||||
;;
|
|
||||||
|
|
||||||
unifont)
|
|
||||||
remote=fonts:unifont
|
|
||||||
;;
|
|
||||||
|
|
||||||
webkit2gtk)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=webkitgtk
|
|
||||||
;;
|
|
||||||
|
|
||||||
xf86-*)
|
|
||||||
remote=xdrv:${remote##*-}
|
|
||||||
;;
|
|
||||||
|
|
||||||
xmlsec1)
|
|
||||||
# TODO [community]: Rename package?
|
|
||||||
remote=xmlsec
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
printf '\n[Checking Repology for outdated packages in %s]\n\n' "${1%%/}" >&2
|
|
||||||
|
|
||||||
for pkg in */; do
|
|
||||||
pkg=${pkg%%/}
|
|
||||||
|
|
||||||
read -r ver _ 2>/dev/null < "$pkg/version" || {
|
|
||||||
printf '%-30s local version not found\n' "$pkg" >&2
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
[ "$ver" = git ] &&
|
|
||||||
continue
|
|
||||||
|
|
||||||
repology_version "$pkg" || {
|
|
||||||
printf '%-30s network error\n' "$pkg" >&2
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
case $remote_ver in
|
|
||||||
*", $ver"* | *"$ver,"* | "$ver")
|
|
||||||
# Package up-to-date, do nothing.
|
|
||||||
;;
|
|
||||||
|
|
||||||
'' | ' ')
|
|
||||||
printf '\n%s: empty response\n' "$pkg" >&2
|
|
||||||
printf 'possible causes:\n' >&2
|
|
||||||
printf ' package name differs from repology name,\n' >&2
|
|
||||||
printf ' package not tracked by repology,\n' >&2
|
|
||||||
printf ' network error\n\n' >&2
|
|
||||||
;;
|
|
||||||
|
|
||||||
'-')
|
|
||||||
# No version scheme, do nothing.
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
printf '%-30s %s -> %s\n' "$pkg" "$ver" "$remote_ver"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
for repo do
|
|
||||||
[ "$repo" ] || {
|
|
||||||
printf 'usage: kiss outdated /path/to/repo\n' >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
cd "$repo" 2>/dev/null || {
|
|
||||||
printf 'repository %s is inaccessible\n' "$repo" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$repo"
|
|
||||||
cd "$OLDPWD" || exit 1
|
|
||||||
done
|
|
@ -1,35 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Check which package owns a file
|
|
||||||
|
|
||||||
# Follow symlinks to any paths.
|
|
||||||
case $1 in
|
|
||||||
/*)
|
|
||||||
cd -P "$KISS_ROOT${1%/*}"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*/*)
|
|
||||||
cd -P "${1%/*}"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
cd -P .
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
[ -f "$PWD/${1##*/}" ] || {
|
|
||||||
printf 'usage: kiss-owns [/path/to/file]\n' >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print the full path to the manifest file which contains
|
|
||||||
# the match to our search.
|
|
||||||
pkg_owns=$(grep -lFx \
|
|
||||||
"$PWD/${1##*/}" \
|
|
||||||
"$KISS_ROOT/var/db/kiss/installed/"*/manifest)
|
|
||||||
|
|
||||||
|
|
||||||
# Extract the package name from the path above.
|
|
||||||
pkg_owns=${pkg_owns%/*}
|
|
||||||
pkg_owns=${pkg_owns##*/}
|
|
||||||
|
|
||||||
printf '%s\n' "$pkg_owns"
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Lists the owners of all files with conflicts
|
|
||||||
|
|
||||||
kiss a | while read -r _ path; do
|
|
||||||
if owner=$(kiss owns "$path" 2>/dev/null) && [ "$owner" ]; then
|
|
||||||
printf '%s %s\n' "$owner" "$path"
|
|
||||||
|
|
||||||
else
|
|
||||||
printf 'warning: %s has no owner\n' "$path" >&2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# List packages which aren't present in any repository.
|
|
||||||
|
|
||||||
cd "$KISS_ROOT/var/db/kiss/installed"
|
|
||||||
|
|
||||||
kiss s ./* | while IFS=/ read -r _ path; do
|
|
||||||
pkg=${path##*/}
|
|
||||||
|
|
||||||
case $seen in *" $pkg "*)
|
|
||||||
continue
|
|
||||||
esac
|
|
||||||
|
|
||||||
case $path in "$PWD/$pkg")
|
|
||||||
printf '%s\n' "$pkg"
|
|
||||||
esac
|
|
||||||
|
|
||||||
seen="$seen $pkg "
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Display packages which depend on package
|
|
||||||
|
|
||||||
[ "$1" ] || set -- "${PWD##*/}"
|
|
||||||
|
|
||||||
cd "$KISS_ROOT/var/db/kiss/installed"
|
|
||||||
|
|
||||||
grep "^$1" -- */depends
|
|
@ -1,47 +0,0 @@
|
|||||||
#!/bin/sh -ef
|
|
||||||
# Show the size on disk for a package
|
|
||||||
|
|
||||||
get_size() {
|
|
||||||
# Naive function to convert bytes to human readable
|
|
||||||
# sizes (MB, KB, etc). This is probably wrong in places
|
|
||||||
# though we can fix this over time. It's a start.
|
|
||||||
case ${#1} in
|
|
||||||
[0-3]) hum=$(($1))KB ;;
|
|
||||||
[4-6]) hum=$(($1 / 1024))MB ;;
|
|
||||||
[7-9]) hum=$(($1 / 1024 / 1024))GB ;;
|
|
||||||
*) hum=$(($1)) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
printf '%s\t%s\n' "$hum" "$2"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Use the current directory as the package name if no package is given.
|
|
||||||
[ "$1" ] || set -- "${PWD##*/}"
|
|
||||||
|
|
||||||
# Ignore shellcheck as we want the warning's behavior.
|
|
||||||
# shellcheck disable=2015
|
|
||||||
kiss list "${1:-null}" >/dev/null || {
|
|
||||||
printf 'usage: kiss-size [pkg]\n'
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Filter directories from manifest and leave only files.
|
|
||||||
# Directories in the manifest end in a trailing '/'.
|
|
||||||
files=$(sed -e "s|^|$KISS_ROOT|" -e 's|.*/$||' \
|
|
||||||
"$KISS_ROOT/var/db/kiss/installed/$1/manifest")
|
|
||||||
|
|
||||||
# Send the file list to 'du'.
|
|
||||||
# This unquoted variable is safe as word splitting is intended
|
|
||||||
# and globbing is globally disabled in this script.
|
|
||||||
# shellcheck disable=2086
|
|
||||||
du -sk -- $files 2>/dev/null |
|
|
||||||
|
|
||||||
# Iterate over each line and convert the byte output to human
|
|
||||||
# readable (MB, KB, GB, etc).
|
|
||||||
while read -r size file || {
|
|
||||||
get_size "$tot" total >&2
|
|
||||||
break
|
|
||||||
} do
|
|
||||||
get_size "$size" "$file"
|
|
||||||
tot=$((tot + size))
|
|
||||||
done
|
|
@ -28,6 +28,7 @@ gnome-icon-theme-symbolic
|
|||||||
gotop
|
gotop
|
||||||
humanity-icon-theme
|
humanity-icon-theme
|
||||||
husky-hooks
|
husky-hooks
|
||||||
|
husky-packagemanager
|
||||||
i3-cheat
|
i3-cheat
|
||||||
i3-gaps
|
i3-gaps
|
||||||
i3-session
|
i3-session
|
||||||
@ -116,4 +117,3 @@ yaru-session
|
|||||||
yaru-sound-theme
|
yaru-sound-theme
|
||||||
yaru-unity-theme
|
yaru-unity-theme
|
||||||
yaru-xfwm4-theme
|
yaru-xfwm4-theme
|
||||||
yay
|
|
||||||
|
220
qtile/.config/qtile/config.py
Normal file
220
qtile/.config/qtile/config.py
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
# Copyright 2022 The-Repo-Club <wayne6324@gmail.com>
|
||||||
|
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
from libqtile import bar, layout, widget
|
||||||
|
from libqtile.config import Click, Drag, Group, Key, Match, Screen
|
||||||
|
from libqtile.lazy import lazy
|
||||||
|
from libqtile.utils import guess_terminal
|
||||||
|
|
||||||
|
mod = "mod4"
|
||||||
|
terminal = guess_terminal()
|
||||||
|
|
||||||
|
keys = [
|
||||||
|
# A list of available commands that can be bound to keys can be found
|
||||||
|
# at https://docs.qtile.org/en/latest/manual/config/lazy.html
|
||||||
|
# Switch between windows
|
||||||
|
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||||
|
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||||
|
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||||
|
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
|
||||||
|
Key([mod],
|
||||||
|
"space",
|
||||||
|
lazy.layout.next(),
|
||||||
|
desc="Move window focus to other window"),
|
||||||
|
# Move windows between left/right columns or move up/down in current stack.
|
||||||
|
# Moving out of range in Columns layout will create new column.
|
||||||
|
Key([mod, "shift"],
|
||||||
|
"h",
|
||||||
|
lazy.layout.shuffle_left(),
|
||||||
|
desc="Move window to the left"),
|
||||||
|
Key([mod, "shift"],
|
||||||
|
"l",
|
||||||
|
lazy.layout.shuffle_right(),
|
||||||
|
desc="Move window to the right"),
|
||||||
|
Key([mod, "shift"],
|
||||||
|
"j",
|
||||||
|
lazy.layout.shuffle_down(),
|
||||||
|
desc="Move window down"),
|
||||||
|
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
|
||||||
|
# Grow windows. If current window is on the edge of screen and direction
|
||||||
|
# will be to screen edge - window would shrink.
|
||||||
|
Key([mod, "control"],
|
||||||
|
"h",
|
||||||
|
lazy.layout.grow_left(),
|
||||||
|
desc="Grow window to the left"),
|
||||||
|
Key([mod, "control"],
|
||||||
|
"l",
|
||||||
|
lazy.layout.grow_right(),
|
||||||
|
desc="Grow window to the right"),
|
||||||
|
Key([mod, "control"],
|
||||||
|
"j",
|
||||||
|
lazy.layout.grow_down(),
|
||||||
|
desc="Grow window down"),
|
||||||
|
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
|
||||||
|
Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
||||||
|
# Toggle between split and unsplit sides of stack.
|
||||||
|
# Split = all windows displayed
|
||||||
|
# Unsplit = 1 window displayed, like Max layout, but still with
|
||||||
|
# multiple stack panes
|
||||||
|
Key(
|
||||||
|
[mod, "shift"],
|
||||||
|
"Return",
|
||||||
|
lazy.layout.toggle_split(),
|
||||||
|
desc="Toggle between split and unsplit sides of stack",
|
||||||
|
),
|
||||||
|
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
||||||
|
# Toggle between different layouts as defined below
|
||||||
|
Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"),
|
||||||
|
Key([mod], "w", lazy.window.kill(), desc="Kill focused window"),
|
||||||
|
Key([mod, "control"], "r", lazy.reload_config(), desc="Reload the config"),
|
||||||
|
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
||||||
|
Key([mod],
|
||||||
|
"r",
|
||||||
|
lazy.spawncmd(),
|
||||||
|
desc="Spawn a command using a prompt widget"),
|
||||||
|
]
|
||||||
|
|
||||||
|
groups = [Group(i) for i in "123456789"]
|
||||||
|
|
||||||
|
for i in groups:
|
||||||
|
keys.extend([
|
||||||
|
# mod1 + letter of group = switch to group
|
||||||
|
Key(
|
||||||
|
[mod],
|
||||||
|
i.name,
|
||||||
|
lazy.group[i.name].toscreen(),
|
||||||
|
desc="Switch to group {}".format(i.name),
|
||||||
|
),
|
||||||
|
# mod1 + shift + letter of group = switch to & move focused window to group
|
||||||
|
Key(
|
||||||
|
[mod, "shift"],
|
||||||
|
i.name,
|
||||||
|
lazy.window.togroup(i.name, switch_group=True),
|
||||||
|
desc="Switch to & move focused window to group {}".format(i.name),
|
||||||
|
),
|
||||||
|
# Or, use below if you prefer not to switch to that group.
|
||||||
|
# # mod1 + shift + letter of group = move focused window to group
|
||||||
|
# Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
|
||||||
|
# desc="move focused window to group {}".format(i.name)),
|
||||||
|
])
|
||||||
|
|
||||||
|
layouts = [
|
||||||
|
layout.Columns(border_focus_stack=["#d75f5f", "#8f3d3d"], border_width=4),
|
||||||
|
layout.Max(),
|
||||||
|
# Try more layouts by unleashing below layouts.
|
||||||
|
# layout.Stack(num_stacks=2),
|
||||||
|
# layout.Bsp(),
|
||||||
|
# layout.Matrix(),
|
||||||
|
# layout.MonadTall(),
|
||||||
|
# layout.MonadWide(),
|
||||||
|
# layout.RatioTile(),
|
||||||
|
# layout.Tile(),
|
||||||
|
# layout.TreeTab(),
|
||||||
|
# layout.VerticalTile(),
|
||||||
|
# layout.Zoomy(),
|
||||||
|
]
|
||||||
|
|
||||||
|
widget_defaults = dict(
|
||||||
|
font="sans",
|
||||||
|
fontsize=12,
|
||||||
|
padding=3,
|
||||||
|
)
|
||||||
|
extension_defaults = widget_defaults.copy()
|
||||||
|
|
||||||
|
screens = [
|
||||||
|
Screen(
|
||||||
|
bottom=bar.Bar(
|
||||||
|
[
|
||||||
|
widget.CurrentLayout(),
|
||||||
|
widget.GroupBox(),
|
||||||
|
widget.Prompt(),
|
||||||
|
widget.WindowName(),
|
||||||
|
widget.Chord(
|
||||||
|
chords_colors={
|
||||||
|
"launch": ("#ff0000", "#ffffff"),
|
||||||
|
},
|
||||||
|
name_transform=lambda name: name.upper(),
|
||||||
|
),
|
||||||
|
widget.TextBox("default config", name="default"),
|
||||||
|
widget.TextBox("Press <M-r> to spawn",
|
||||||
|
foreground="#d75f5f"),
|
||||||
|
# NB Systray is incompatible with Wayland, consider using StatusNotifier instead
|
||||||
|
# widget.StatusNotifier(),
|
||||||
|
widget.Systray(),
|
||||||
|
widget.Clock(format="%Y-%m-%d %a %I:%M %p"),
|
||||||
|
widget.QuickExit(),
|
||||||
|
],
|
||||||
|
24,
|
||||||
|
# border_width=[2, 0, 2, 0], # Draw top and bottom borders
|
||||||
|
# border_color=["ff00ff", "000000", "ff00ff", "000000"] # Borders are magenta
|
||||||
|
), ),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Drag floating layouts.
|
||||||
|
mouse = [
|
||||||
|
Drag([mod],
|
||||||
|
"Button1",
|
||||||
|
lazy.window.set_position_floating(),
|
||||||
|
start=lazy.window.get_position()),
|
||||||
|
Drag([mod],
|
||||||
|
"Button3",
|
||||||
|
lazy.window.set_size_floating(),
|
||||||
|
start=lazy.window.get_size()),
|
||||||
|
Click([mod], "Button2", lazy.window.bring_to_front()),
|
||||||
|
]
|
||||||
|
|
||||||
|
dgroups_key_binder = None
|
||||||
|
dgroups_app_rules = [] # type: list
|
||||||
|
follow_mouse_focus = True
|
||||||
|
bring_front_click = False
|
||||||
|
cursor_warp = False
|
||||||
|
floating_layout = layout.Floating(float_rules=[
|
||||||
|
# Run the utility of `xprop` to see the wm class and name of an X client.
|
||||||
|
*layout.Floating.default_float_rules,
|
||||||
|
Match(wm_class="confirmreset"), # gitk
|
||||||
|
Match(wm_class="makebranch"), # gitk
|
||||||
|
Match(wm_class="maketag"), # gitk
|
||||||
|
Match(wm_class="ssh-askpass"), # ssh-askpass
|
||||||
|
Match(title="branchdialog"), # gitk
|
||||||
|
Match(title="pinentry"), # GPG key password entry
|
||||||
|
])
|
||||||
|
auto_fullscreen = True
|
||||||
|
focus_on_window_activation = "smart"
|
||||||
|
reconfigure_screens = True
|
||||||
|
|
||||||
|
# If things like steam games want to auto-minimize themselves when losing
|
||||||
|
# focus, should we respect this or not?
|
||||||
|
auto_minimize = True
|
||||||
|
|
||||||
|
# When using the Wayland backend, this can be used to configure input devices.
|
||||||
|
wl_input_rules = None
|
||||||
|
|
||||||
|
# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this
|
||||||
|
# string besides java UI toolkits; you can see several discussions on the
|
||||||
|
# mailing lists, GitHub issues, and other WM documentation that suggest setting
|
||||||
|
# this string if your java app doesn't work correctly. We may as well just lie
|
||||||
|
# and say that we're a working one by default.
|
||||||
|
#
|
||||||
|
# We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in
|
||||||
|
# java that happens to be on java's whitelist.
|
||||||
|
wmname = "LG3D"
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
{"first-time": false, "version": "2.2.2-0extras19.04.1", "is_working": false, "autostart": true, "on_mouse_plugged": true, "on_start": -1, "on_end": 1, "disable_on_typing": true, "interval": 800.0, "start_hidden": false, "show_notifications": true, "theme": "light", "touchpad_enabled": false, "natural_scrolling": true, "speed": 0.0, "tapping": true, "two_finger_scrolling": true, "edge_scrolling": false, "cicular_scrolling": true, "right-top-corner": 0, "right-bottom-corner": 0, "left-top-corner": 0, "left-bottom-corner": 0, "one-finger-tap": 0, "two-finger-tap": 0, "three-finger-tap": 0, "faulty-devices": ["3/46d/c08b/111", "18/4f3/3140/100", "11/2/5/7326", "11/2/1/0", "3/1b1c/1b4f/324", "11/2/6/0", "11/2/a/0"]}
|
{"first-time": false, "version": "2.2.2-0extras19.04.1", "is_working": false, "autostart": true, "on_mouse_plugged": true, "on_start": -1, "on_end": 1, "disable_on_typing": true, "interval": 800.0, "start_hidden": false, "show_notifications": true, "theme": "light", "touchpad_enabled": false, "natural_scrolling": true, "speed": 0.0, "tapping": true, "two_finger_scrolling": true, "edge_scrolling": false, "cicular_scrolling": true, "right-top-corner": 0, "right-bottom-corner": 0, "left-top-corner": 0, "left-bottom-corner": 0, "one-finger-tap": 0, "two-finger-tap": 0, "three-finger-tap": 0, "faulty-devices": ["11/2/6/0", "11/2/5/7326", "18/4f3/3140/100", "11/2/1/0", "11/2/a/0", "3/1b1c/1b4f/324", "3/30fa/301/111", "3/46d/c08b/111"]}
|
@ -9,6 +9,19 @@ if [ -f "$xprofile" ]; then
|
|||||||
source "$xprofile"
|
source "$xprofile"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -d "/usr/bin/husky" ]; then
|
||||||
|
export HUSKY_PATH=""
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/core"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/extra:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/xorg:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/wayland:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/community:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/games:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/bin:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/git:$HUSKY_PATH"
|
||||||
|
HUSKY_PATH="$HOME/.local/share/husky-repo/testing:$HUSKY_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
# enable XDG_CONFIG_HOME
|
# enable XDG_CONFIG_HOME
|
||||||
if [[ -z "$XDG_CONFIG_HOME" ]]; then
|
if [[ -z "$XDG_CONFIG_HOME" ]]; then
|
||||||
export XDG_CONFIG_HOME="$HOME/.config/"
|
export XDG_CONFIG_HOME="$HOME/.config/"
|
||||||
|
Loading…
Reference in New Issue
Block a user