Compare commits
584 commits
10701c7a25
...
a7ba0a907b
Author | SHA1 | Date | |
---|---|---|---|
Manuel Thalmann | a7ba0a907b | ||
Manuel Thalmann | f6094a9583 | ||
Manuel Thalmann | eabd55c811 | ||
Manuel Thalmann | ae39a13ad6 | ||
Manuel Thalmann | 65be8ce05d | ||
Manuel Thalmann | c97cf3299c | ||
Manuel Thalmann | 6c0b7ebbaf | ||
Manuel Thalmann | 745f6d465a | ||
Manuel Thalmann | 15861af5d2 | ||
Manuel Thalmann | 91e7b21f34 | ||
Manuel Thalmann | 8ba1f0f6f0 | ||
Manuel Thalmann | 991ed8f64d | ||
Manuel Thalmann | ad7e22b274 | ||
Manuel Thalmann | c918b16bfd | ||
Manuel Thalmann | 5a3c74a496 | ||
Manuel Thalmann | d0aa70b96b | ||
Manuel Thalmann | 0bb8cc8c99 | ||
Manuel Thalmann | 64850b194e | ||
Manuel Thalmann | 9854d1cb00 | ||
Manuel Thalmann | 9a6f4a0b12 | ||
Manuel Thalmann | d1db8dbdd3 | ||
Manuel Thalmann | c7a0e78a92 | ||
Manuel Thalmann | 2a4a4617ee | ||
Manuel Thalmann | 71de1cca37 | ||
Manuel Thalmann | 782203b736 | ||
Manuel Thalmann | 55b0877872 | ||
Manuel Thalmann | f761de2510 | ||
Manuel Thalmann | 2189b1e66e | ||
Manuel Thalmann | 4006981644 | ||
Manuel Thalmann | e643370682 | ||
Manuel Thalmann | b18741ca89 | ||
Manuel Thalmann | e81c4996e7 | ||
Manuel Thalmann | 4022bf5b42 | ||
Manuel Thalmann | 2136acd113 | ||
Manuel Thalmann | 0d9af18fd3 | ||
Manuel Thalmann | 2a4158434f | ||
Manuel Thalmann | 7f266c316f | ||
Manuel Thalmann | bef911cafc | ||
Manuel Thalmann | f08be12d39 | ||
Manuel Thalmann | bce30277c1 | ||
Manuel Thalmann | 56c639a89f | ||
Manuel Thalmann | f54ced4a08 | ||
Manuel Thalmann | 9b69ebe8ac | ||
Manuel Thalmann | 67a345b7de | ||
Manuel Thalmann | 7882bd21d6 | ||
Manuel Thalmann | 0adbc58e18 | ||
Manuel Thalmann | af3d96d393 | ||
Manuel Thalmann | 1535d994df | ||
Manuel Thalmann | 14a5daba22 | ||
Manuel Thalmann | 2b0faa9cdf | ||
Manuel Thalmann | e1bc541395 | ||
Manuel Thalmann | a1be07b182 | ||
Manuel Thalmann | baa7e16e60 | ||
Manuel Thalmann | c531d6cff9 | ||
Manuel Thalmann | ac80a5d01b | ||
Manuel Thalmann | abaabc0fa6 | ||
Manuel Thalmann | 7a4453cd60 | ||
Manuel Thalmann | a28cfe91a5 | ||
Manuel Thalmann | f60c0b9058 | ||
Manuel Thalmann | 043a564dfa | ||
Manuel Thalmann | 84534cc0cb | ||
Manuel Thalmann | b0c8e23b11 | ||
Manuel Thalmann | 51fb57763b | ||
Manuel Thalmann | 9059aa0c20 | ||
Manuel Thalmann | 6fcec84983 | ||
Manuel Thalmann | 519de0bca3 | ||
Manuel Thalmann | 8e4029fb4c | ||
Manuel Thalmann | 8bc192bc73 | ||
Manuel Thalmann | f6448337df | ||
Manuel Thalmann | 660c75f46b | ||
Manuel Thalmann | a606431e34 | ||
Manuel Thalmann | 0b62570f16 | ||
Manuel Thalmann | 7d6b429132 | ||
Manuel Thalmann | 0e63b37f23 | ||
Manuel Thalmann | bab461fe28 | ||
Manuel Thalmann | 573f2f8882 | ||
Manuel Thalmann | 79ee2a6f66 | ||
Manuel Thalmann | e2c4a76247 | ||
Manuel Thalmann | 26f083c87e | ||
Manuel Thalmann | 5db8871415 | ||
Manuel Thalmann | 8fdd5b6186 | ||
Manuel Thalmann | cebf742023 | ||
Manuel Thalmann | d1f5dd69f4 | ||
Manuel Thalmann | e1ea3d9648 | ||
Manuel Thalmann | ab5cdc34e7 | ||
Manuel Thalmann | db71f58015 | ||
Manuel Thalmann | d06dba04c0 | ||
Manuel Thalmann | 4169c93879 | ||
Manuel Thalmann | 9502db70de | ||
Manuel Thalmann | 011e5cede4 | ||
Manuel Thalmann | 465e0373d8 | ||
Manuel Thalmann | 12fb014044 | ||
Manuel Thalmann | 5c4dbed944 | ||
Manuel Thalmann | 0fa96cf087 | ||
Manuel Thalmann | 2f12213c52 | ||
Manuel Thalmann | 1a2cc4d724 | ||
Manuel Thalmann | 37a8bf1d44 | ||
Manuel Thalmann | ae86d5a27f | ||
Manuel Thalmann | 091915015e | ||
Manuel Thalmann | 1c93bed59d | ||
Manuel Thalmann | 8c174d0a54 | ||
Manuel Thalmann | db97014f2a | ||
Manuel Thalmann | e2cf72d5bf | ||
Manuel Thalmann | 10848d104b | ||
Manuel Thalmann | 1b6918da07 | ||
Manuel Thalmann | eab9e48524 | ||
Manuel Thalmann | 4bf585446f | ||
Manuel Thalmann | 03706ab806 | ||
Manuel Thalmann | 81d75dc406 | ||
Manuel Thalmann | 9a7d905356 | ||
Manuel Thalmann | f403520a73 | ||
Manuel Thalmann | 3779b9d089 | ||
Manuel Thalmann | 29bd4c42ae | ||
Manuel Thalmann | 543c617634 | ||
Manuel Thalmann | 8d73d0dac3 | ||
Manuel Thalmann | afe6a163f9 | ||
Manuel Thalmann | a40f94228c | ||
Manuel Thalmann | dea07dd55e | ||
Manuel Thalmann | e2c1605b2c | ||
Manuel Thalmann | 66c642a448 | ||
Manuel Thalmann | 75cea35de6 | ||
Manuel Thalmann | 31001d292c | ||
Manuel Thalmann | ce7bca137b | ||
Manuel Thalmann | 919b06a8e5 | ||
Manuel Thalmann | df0e13fec4 | ||
Manuel Thalmann | cb98417d88 | ||
Manuel Thalmann | 2239b00bb7 | ||
Manuel Thalmann | 8bdc30c245 | ||
Manuel Thalmann | 13cd786c91 | ||
Manuel Thalmann | ab456a8709 | ||
Manuel Thalmann | 566e2b6b4e | ||
Manuel Thalmann | 11d798c48a | ||
Manuel Thalmann | d3cf87500d | ||
Manuel Thalmann | 4b84371500 | ||
Manuel Thalmann | 9fb20e0844 | ||
Manuel Thalmann | 21ab53ccd4 | ||
Manuel Thalmann | 2e69fab0e9 | ||
Manuel Thalmann | 6de6a4c1ea | ||
Manuel Thalmann | b01c07c65a | ||
Manuel Thalmann | b0719bfc4e | ||
Manuel Thalmann | 70f34d2685 | ||
Manuel Thalmann | 8e97e7f54b | ||
Manuel Thalmann | 9cda27781c | ||
Manuel Thalmann | a36828beb5 | ||
Manuel Thalmann | fab466b2ea | ||
Manuel Thalmann | 9c422def5f | ||
Manuel Thalmann | a8ada2619c | ||
Manuel Thalmann | 2821dea6f3 | ||
Manuel Thalmann | ac0e18ee74 | ||
Manuel Thalmann | 3988c7133d | ||
Manuel Thalmann | e773db1ee8 | ||
Manuel Thalmann | 8f01727e64 | ||
Manuel Thalmann | 996e04d392 | ||
Manuel Thalmann | 5d38931113 | ||
Manuel Thalmann | 35aedb320e | ||
Manuel Thalmann | 7d895d1f12 | ||
Manuel Thalmann | 7b55f4c3ed | ||
Manuel Thalmann | 5877f44de5 | ||
Manuel Thalmann | 1c984ffba3 | ||
Manuel Thalmann | 1a2c52d3b1 | ||
Manuel Thalmann | 68c7b77310 | ||
Manuel Thalmann | 9729db6152 | ||
Manuel Thalmann | d8c0537dff | ||
Manuel Thalmann | 2192417157 | ||
Manuel Thalmann | 4d524070ca | ||
Manuel Thalmann | 5c212ff366 | ||
Manuel Thalmann | 7674d05073 | ||
Manuel Thalmann | 8d5e88437d | ||
Manuel Thalmann | 1da4a44ca7 | ||
Manuel Thalmann | f30687f268 | ||
Manuel Thalmann | b9c043e7c4 | ||
Manuel Thalmann | aaa2a2b4ba | ||
Manuel Thalmann | f3640583d3 | ||
Manuel Thalmann | b1169f5e34 | ||
Manuel Thalmann | f40ead657b | ||
Manuel Thalmann | 880447997b | ||
Manuel Thalmann | ec1adaf44b | ||
Manuel Thalmann | 6c8afcc49f | ||
Manuel Thalmann | 82f3f6baa6 | ||
Manuel Thalmann | e032d32600 | ||
Manuel Thalmann | f868dc3435 | ||
Manuel Thalmann | 0a869f7dbf | ||
Manuel Thalmann | 31047a57c9 | ||
Manuel Thalmann | fd1ea2fe03 | ||
Manuel Thalmann | 07c77d412c | ||
Manuel Thalmann | 87634d394a | ||
Manuel Thalmann | 506786a8ce | ||
Manuel Thalmann | 0b1784d32d | ||
Manuel Thalmann | 5e55ab2cad | ||
Manuel Thalmann | 0e5eac5ed3 | ||
Manuel Thalmann | cdaf4c5fda | ||
Manuel Thalmann | d36969a44d | ||
Manuel Thalmann | 7c07c2ae39 | ||
Manuel Thalmann | dfdf1358b8 | ||
Manuel Thalmann | 86149f1b86 | ||
Manuel Thalmann | dfd3751f95 | ||
Manuel Thalmann | 6ab503fe89 | ||
Manuel Thalmann | 3a072c3551 | ||
Manuel Thalmann | 96ebbade0e | ||
Manuel Thalmann | 057801a8c0 | ||
Manuel Thalmann | 50eece283b | ||
Manuel Thalmann | f45f6bd0e8 | ||
Manuel Thalmann | 242e68bd3d | ||
Manuel Thalmann | 0f31a80d2a | ||
Manuel Thalmann | 33e7afacda | ||
Manuel Thalmann | 27231a3997 | ||
Manuel Thalmann | dd9798be0e | ||
Manuel Thalmann | 5375f444bf | ||
Manuel Thalmann | e3a502f7ab | ||
Manuel Thalmann | ea9023a7e7 | ||
Manuel Thalmann | 615ab192eb | ||
Manuel Thalmann | 99663d0af0 | ||
Manuel Thalmann | 66bbcca220 | ||
Manuel Thalmann | 2d6cca4b02 | ||
Manuel Thalmann | a6fc3c170d | ||
Manuel Thalmann | 540f594656 | ||
Manuel Thalmann | c7b73c3d9f | ||
Manuel Thalmann | 6c7d58d22a | ||
Manuel Thalmann | 2955d14b24 | ||
Manuel Thalmann | b8ef95acfe | ||
Manuel Thalmann | ec19ba025f | ||
Manuel Thalmann | fcb01e2ec7 | ||
Manuel Thalmann | ce36865bd9 | ||
Manuel Thalmann | bfe46d929c | ||
Manuel Thalmann | e8ab6ee564 | ||
Manuel Thalmann | a27c75074b | ||
Manuel Thalmann | 9033613d75 | ||
Manuel Thalmann | 16ea84148e | ||
Manuel Thalmann | dd7b18f8d7 | ||
Manuel Thalmann | 0e2a0acadc | ||
Manuel Thalmann | c0e603287d | ||
Manuel Thalmann | 0f3fb86851 | ||
Manuel Thalmann | f72bba850e | ||
Manuel Thalmann | 3d166157c5 | ||
Manuel Thalmann | bba4339481 | ||
Manuel Thalmann | 79146bd936 | ||
Manuel Thalmann | a1dca1a965 | ||
Manuel Thalmann | 636d3a59a8 | ||
Manuel Thalmann | 8f3ab17f5b | ||
Manuel Thalmann | c20d67e40f | ||
Manuel Thalmann | 8667b0e111 | ||
Manuel Thalmann | 8ca6c58d4e | ||
Manuel Thalmann | 48438ea190 | ||
Manuel Thalmann | e817f6971c | ||
Manuel Thalmann | d0ab0ffadb | ||
Manuel Thalmann | d245a69a31 | ||
Manuel Thalmann | 34f46d1aae | ||
Manuel Thalmann | 8e71e64486 | ||
Manuel Thalmann | 8b6f5d5e60 | ||
Manuel Thalmann | 37021f2962 | ||
Manuel Thalmann | 946dc09516 | ||
Manuel Thalmann | 9b9417ff6f | ||
Manuel Thalmann | 432046729d | ||
Manuel Thalmann | 0e7f0bf723 | ||
Manuel Thalmann | c2a7a53d71 | ||
Manuel Thalmann | 3cbe46b51c | ||
Manuel Thalmann | 153d1ea925 | ||
Manuel Thalmann | 9db3528c08 | ||
Manuel Thalmann | f057115cb2 | ||
Manuel Thalmann | 453affeef5 | ||
Manuel Thalmann | d795d63156 | ||
Manuel Thalmann | 432610aaab | ||
Manuel Thalmann | a643240ccc | ||
Manuel Thalmann | c87831dcff | ||
Manuel Thalmann | 152b5b2dd8 | ||
Manuel Thalmann | 543cead314 | ||
Manuel Thalmann | 21b0dec955 | ||
Manuel Thalmann | b49322a0d8 | ||
Manuel Thalmann | 8e254ab68d | ||
Manuel Thalmann | f465f97ade | ||
Manuel Thalmann | 502e3fe535 | ||
Manuel Thalmann | 97193316a3 | ||
Manuel Thalmann | 802cff731d | ||
Manuel Thalmann | ab89e450f7 | ||
Manuel Thalmann | 5449b08305 | ||
Manuel Thalmann | b2a1e06dbf | ||
Manuel Thalmann | 5d99acc08f | ||
Manuel Thalmann | 2102f54dec | ||
Manuel Thalmann | ef8bfb2d61 | ||
Manuel Thalmann | d95ce175c0 | ||
Manuel Thalmann | 855c1c2066 | ||
Manuel Thalmann | bb334ea29e | ||
Manuel Thalmann | ebf092c141 | ||
Manuel Thalmann | 5dc42d6099 | ||
Manuel Thalmann | 46cd57ce68 | ||
Manuel Thalmann | 914691eb9a | ||
Manuel Thalmann | e5e4864718 | ||
Manuel Thalmann | c113d06304 | ||
Manuel Thalmann | 66111a7615 | ||
Manuel Thalmann | 300d932fa4 | ||
Manuel Thalmann | 049cce993c | ||
Manuel Thalmann | f36d2ef11e | ||
Manuel Thalmann | d6362632fb | ||
Manuel Thalmann | 1f0e5b80e0 | ||
Manuel Thalmann | 2c37cf1584 | ||
Manuel Thalmann | 8b3c0af4cc | ||
Manuel Thalmann | 7c16764536 | ||
Manuel Thalmann | dc7035c76b | ||
Manuel Thalmann | 1e41e74640 | ||
Manuel Thalmann | b6c76544dc | ||
Manuel Thalmann | 2c2e648e26 | ||
Manuel Thalmann | ea2d80b59e | ||
Manuel Thalmann | 2e88e1a9de | ||
Manuel Thalmann | 7802131f37 | ||
Manuel Thalmann | aa0dc1805a | ||
Manuel Thalmann | 0d8a3765ea | ||
Manuel Thalmann | 3fd3aa9a2a | ||
Manuel Thalmann | 2d26f4c77e | ||
Manuel Thalmann | d6d2731062 | ||
Manuel Thalmann | 73497a6592 | ||
Manuel Thalmann | 60a93c723c | ||
Manuel Thalmann | 728839c213 | ||
Manuel Thalmann | 32784742c6 | ||
Manuel Thalmann | e5e35772a0 | ||
Manuel Thalmann | 5cf212a1b9 | ||
Manuel Thalmann | fd6f2e75f9 | ||
Manuel Thalmann | 06a4c6ba3f | ||
Manuel Thalmann | 2c3e904e47 | ||
Manuel Thalmann | 846953303f | ||
Manuel Thalmann | e9519c1bb0 | ||
Manuel Thalmann | c4a1787d8a | ||
Manuel Thalmann | ac95ba1736 | ||
Manuel Thalmann | f63a658f03 | ||
Manuel Thalmann | 776f45aeff | ||
Manuel Thalmann | 0ab6fcffcb | ||
Manuel Thalmann | 7e474aa684 | ||
Manuel Thalmann | 63d6f8b1d3 | ||
Manuel Thalmann | da3376c462 | ||
Manuel Thalmann | 53e1cf80f1 | ||
Manuel Thalmann | 6913214686 | ||
Manuel Thalmann | 95a3492b5e | ||
Manuel Thalmann | 440d7bb904 | ||
Manuel Thalmann | 789a00dfae | ||
Manuel Thalmann | 844aaa11ae | ||
Manuel Thalmann | ec5275bbed | ||
Manuel Thalmann | 60013f1596 | ||
Manuel Thalmann | 4d59d28fe0 | ||
Manuel Thalmann | 6038288f9b | ||
Manuel Thalmann | 05a456f5f6 | ||
Manuel Thalmann | 60d78c96c7 | ||
Manuel Thalmann | 7f19a74b39 | ||
Manuel Thalmann | 304c8a037e | ||
Manuel Thalmann | e18644a6d4 | ||
Manuel Thalmann | f69df3721b | ||
Manuel Thalmann | c78e529cc6 | ||
Manuel Thalmann | 60aeeba127 | ||
Manuel Thalmann | 0855e11087 | ||
Manuel Thalmann | 87266af942 | ||
Manuel Thalmann | be1fd16d27 | ||
Manuel Thalmann | 69b66ac28a | ||
Manuel Thalmann | 45d4388b68 | ||
Manuel Thalmann | 5cfe25464c | ||
Manuel Thalmann | 4968e3dd7e | ||
Manuel Thalmann | 3e9ff66f3e | ||
Manuel Thalmann | 7c87fb0b3b | ||
Manuel Thalmann | e156cfdade | ||
Manuel Thalmann | 42704a1da4 | ||
Manuel Thalmann | a4a4ff9afb | ||
Manuel Thalmann | c05c91f21b | ||
Manuel Thalmann | 5838ca5cc7 | ||
Manuel Thalmann | 08b6155277 | ||
Manuel Thalmann | 8ef736a49d | ||
Manuel Thalmann | c102071838 | ||
Manuel Thalmann | f08e54151a | ||
Manuel Thalmann | 069f87551d | ||
Manuel Thalmann | 79edb4aa86 | ||
Manuel Thalmann | 0de8be2427 | ||
Manuel Thalmann | 5313698fe1 | ||
Manuel Thalmann | f7f3df82c6 | ||
Manuel Thalmann | 9786d53ae5 | ||
Manuel Thalmann | 962f216a52 | ||
Manuel Thalmann | 727f2e4683 | ||
Manuel Thalmann | 20cb417df7 | ||
Manuel Thalmann | 0b8e78653e | ||
Manuel Thalmann | ec061519b4 | ||
Manuel Thalmann | d4c9683a54 | ||
Manuel Thalmann | 3c2459b715 | ||
Manuel Thalmann | a32a3d0b4c | ||
Manuel Thalmann | c15579f919 | ||
Manuel Thalmann | e638133021 | ||
Manuel Thalmann | 1390eedd91 | ||
Manuel Thalmann | dcab87b5a7 | ||
Manuel Thalmann | 2ec332856a | ||
Manuel Thalmann | 32dd1ac1dc | ||
Manuel Thalmann | c33ad5c306 | ||
Manuel Thalmann | 671fec827d | ||
Manuel Thalmann | 0812a6ae02 | ||
Manuel Thalmann | e596202af3 | ||
Manuel Thalmann | 8420cd4299 | ||
Manuel Thalmann | 39b632bd12 | ||
Manuel Thalmann | e7db1a0de7 | ||
Manuel Thalmann | f3a018a549 | ||
Manuel Thalmann | 2a043a0f35 | ||
Manuel Thalmann | 862ab3c42b | ||
Manuel Thalmann | ee2bd12a29 | ||
Manuel Thalmann | d28a152eb2 | ||
Manuel Thalmann | ff3862aa09 | ||
Manuel Thalmann | 665f455631 | ||
Manuel Thalmann | 1231cfa663 | ||
Manuel Thalmann | 5d86f49cb2 | ||
Manuel Thalmann | fc3f7b4fbd | ||
Manuel Thalmann | cd406fc22f | ||
Manuel Thalmann | 2f1f327554 | ||
Manuel Thalmann | 78bc825663 | ||
Manuel Thalmann | 18c72d632e | ||
Manuel Thalmann | f10b06e42d | ||
Manuel Thalmann | 82c5fe6a82 | ||
Manuel Thalmann | a99d91793b | ||
Manuel Thalmann | ee0104e1e4 | ||
Manuel Thalmann | 3b426f1b35 | ||
Manuel Thalmann | ad513290b9 | ||
Manuel Thalmann | 69093de8f6 | ||
Manuel Thalmann | e54edf6952 | ||
Manuel Thalmann | 0c9b6ce1e0 | ||
Manuel Thalmann | 3a84a70192 | ||
Manuel Thalmann | 7180fbbfcd | ||
Manuel Thalmann | ba6eb63822 | ||
Manuel Thalmann | 6c626adc2d | ||
Manuel Thalmann | d591462661 | ||
Manuel Thalmann | 05921c313a | ||
Manuel Thalmann | bed94eb232 | ||
Manuel Thalmann | a6eb1557a9 | ||
Manuel Thalmann | ca9adf1c5d | ||
Manuel Thalmann | bac5af0c74 | ||
Manuel Thalmann | 48b56955da | ||
Manuel Thalmann | ea690b1ce9 | ||
Manuel Thalmann | 03c3bf77e0 | ||
Manuel Thalmann | 693f432fef | ||
Manuel Thalmann | 1db979d9ba | ||
Manuel Thalmann | 21b1ac28df | ||
Manuel Thalmann | 9109639ac6 | ||
Manuel Thalmann | d2599ee322 | ||
Manuel Thalmann | b1ff2d784f | ||
Manuel Thalmann | 86f56b2a7e | ||
Manuel Thalmann | 05ab7fe273 | ||
Manuel Thalmann | e81d0e2581 | ||
Manuel Thalmann | 6a420a7039 | ||
Manuel Thalmann | 60877942f8 | ||
Manuel Thalmann | 337715c629 | ||
Manuel Thalmann | ba273daa32 | ||
Manuel Thalmann | df18340177 | ||
Manuel Thalmann | f725b8076a | ||
Manuel Thalmann | 34536e9fdd | ||
Manuel Thalmann | 7df6dafb52 | ||
Manuel Thalmann | 887bcc128a | ||
Manuel Thalmann | 9ef9acae56 | ||
Manuel Thalmann | 05459a1cd1 | ||
Manuel Thalmann | 6fd782721a | ||
Manuel Thalmann | 73c9affcfe | ||
Manuel Thalmann | e386b7c8c8 | ||
Manuel Thalmann | 9025680782 | ||
Manuel Thalmann | 5af4b9ca40 | ||
Manuel Thalmann | fd32029507 | ||
Manuel Thalmann | 5249ffc281 | ||
Manuel Thalmann | 516a340ced | ||
Manuel Thalmann | cce14d35ba | ||
Manuel Thalmann | 34e2f9ce8e | ||
Manuel Thalmann | 26f05e601a | ||
Manuel Thalmann | 1a44df8073 | ||
Manuel Thalmann | 111e98d878 | ||
Manuel Thalmann | edc471ecc0 | ||
Manuel Thalmann | 59997ab70a | ||
Manuel Thalmann | 2445f2da23 | ||
Manuel Thalmann | 10cffce906 | ||
Manuel Thalmann | 0b21d55bee | ||
Manuel Thalmann | fd361f7d00 | ||
Manuel Thalmann | 72c7bf9924 | ||
Manuel Thalmann | a1fbe3392a | ||
Manuel Thalmann | 61339c762f | ||
Manuel Thalmann | 0aaa1e1c40 | ||
Manuel Thalmann | 286073fc82 | ||
Manuel Thalmann | 0e896277a1 | ||
Manuel Thalmann | fc59851f5b | ||
Manuel Thalmann | 3eaa890147 | ||
Manuel Thalmann | 6de6298421 | ||
Manuel Thalmann | bd245f1d57 | ||
Manuel Thalmann | 42e818493c | ||
Manuel Thalmann | 97ec1648fc | ||
Manuel Thalmann | de3136f131 | ||
Manuel Thalmann | b957a66b3d | ||
Manuel Thalmann | e09b4d2ba6 | ||
Manuel Thalmann | 002627471f | ||
Manuel Thalmann | 8d8bd2df84 | ||
Manuel Thalmann | bec10de9ad | ||
Manuel Thalmann | 6993f95af8 | ||
Manuel Thalmann | fce16d6f0c | ||
Manuel Thalmann | 1b5fd6eb3a | ||
Manuel Thalmann | 4b788a6637 | ||
Manuel Thalmann | 3972c1e63d | ||
Manuel Thalmann | c04b1ea6e5 | ||
Manuel Thalmann | e40c88cf16 | ||
Manuel Thalmann | 924a788864 | ||
Manuel Thalmann | 394264d848 | ||
Manuel Thalmann | 5de76b02db | ||
Manuel Thalmann | dee8234e5f | ||
Manuel Thalmann | cb103117ab | ||
Manuel Thalmann | 74d60881fb | ||
Manuel Thalmann | 25e9153f8b | ||
Manuel Thalmann | c83824a94d | ||
Manuel Thalmann | 3d3c327cb2 | ||
Manuel Thalmann | 274b424726 | ||
Manuel Thalmann | 1d4e68392b | ||
Manuel Thalmann | 3f3b25bc95 | ||
Manuel Thalmann | 63d5d60a13 | ||
Manuel Thalmann | bea3e68925 | ||
Manuel Thalmann | 49e9d646c0 | ||
Manuel Thalmann | d77001109b | ||
Manuel Thalmann | 99cd4ed309 | ||
Manuel Thalmann | d12a44ceb3 | ||
Manuel Thalmann | 99357ba627 | ||
Manuel Thalmann | b569c8f221 | ||
Manuel Thalmann | 2297485193 | ||
Manuel Thalmann | 7da1f876cb | ||
Manuel Thalmann | f16c7d9d5e | ||
Manuel Thalmann | 09f8914991 | ||
Manuel Thalmann | f22c90db9d | ||
Manuel Thalmann | c816b1459f | ||
Manuel Thalmann | 65b97f33db | ||
Manuel Thalmann | 98b2c1ca9b | ||
Manuel Thalmann | a017be320a | ||
Manuel Thalmann | 10d49a55fa | ||
Manuel Thalmann | e30b48204f | ||
Manuel Thalmann | 2165ea0296 | ||
Manuel Thalmann | f631377a86 | ||
Manuel Thalmann | 95bfa52280 | ||
Manuel Thalmann | 149cc4c1c8 | ||
Manuel Thalmann | d888c71fff | ||
Manuel Thalmann | c17f948b03 | ||
Manuel Thalmann | 0c0fb30c53 | ||
Manuel Thalmann | 09aa735398 | ||
Manuel Thalmann | b7c3c13b27 | ||
Manuel Thalmann | e23dec2a75 | ||
Manuel Thalmann | 3f6f037394 | ||
Manuel Thalmann | eb486369f2 | ||
Manuel Thalmann | 77d41f25f5 | ||
Manuel Thalmann | e4632e3c39 | ||
Manuel Thalmann | 80bba08739 | ||
Manuel Thalmann | 2560889987 | ||
Manuel Thalmann | 5258468d3b | ||
Manuel Thalmann | bc206c4d82 | ||
Manuel Thalmann | f77cd0d500 | ||
Manuel Thalmann | c5149ef9b0 | ||
Manuel Thalmann | ec0416039a | ||
Manuel Thalmann | 12d326e74c | ||
Manuel Thalmann | 3968658531 | ||
Manuel Thalmann | 7560191834 | ||
Manuel Thalmann | f0d4e900ba | ||
Manuel Thalmann | 31ec96a5d1 | ||
Manuel Thalmann | 99c7a90e30 | ||
Manuel Thalmann | fca49bb1bc | ||
Manuel Thalmann | d319409771 | ||
Manuel Thalmann | 75ce4e680f | ||
Manuel Thalmann | 1db90948b8 | ||
Manuel Thalmann | 266d22aae1 | ||
Manuel Thalmann | 0bb58e0ae7 | ||
Manuel Thalmann | c3a2c0f34c | ||
Manuel Thalmann | 734a0a3c46 | ||
Manuel Thalmann | cd35c5d4f4 | ||
Manuel Thalmann | 17df6adafa | ||
Manuel Thalmann | b629771687 | ||
Manuel Thalmann | 46a9afbb95 | ||
Manuel Thalmann | bfc505f83e | ||
Manuel Thalmann | 275da3640d | ||
Manuel Thalmann | 46ef068555 | ||
Manuel Thalmann | 20109efb84 | ||
Manuel Thalmann | 9644c593a5 | ||
Manuel Thalmann | 77aaa5fe71 | ||
Manuel Thalmann | 5700e2e69e | ||
Manuel Thalmann | 547bfdb46b | ||
Manuel Thalmann | 54ac3f8ad2 | ||
Manuel Thalmann | 1a9a3fedaf | ||
Manuel Thalmann | 84d0a9d434 | ||
Manuel Thalmann | 95727a8958 | ||
Manuel Thalmann | 48f2746ecf | ||
Manuel Thalmann | ba174e6d1a | ||
Manuel Thalmann | 1ef529c4fb | ||
Manuel Thalmann | 638601c2c1 | ||
Manuel Thalmann | 1f6081020b | ||
Manuel Thalmann | 725873bef6 | ||
Manuel Thalmann | 352149d85b | ||
Manuel Thalmann | 8baacb193b | ||
Manuel Thalmann | 4b154f4949 | ||
Manuel Thalmann | ecd34ed368 | ||
Manuel Thalmann | 2b3908371a |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*.fish text eol=lf
|
||||||
|
*.sh text eol=lf
|
|
@ -10,6 +10,10 @@
|
||||||
{
|
{
|
||||||
"name": "archiso-valhalla",
|
"name": "archiso-valhalla",
|
||||||
"path": "./archiso"
|
"path": "./archiso"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "winiso-valhalla",
|
||||||
|
"path": "./winiso"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ automated_script() {
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
printf '%s: downloading %s\n' "$0" "${script}"
|
printf '%s: downloading %s\n' "$0" "${script}"
|
||||||
curl "${script}" --location --retry-connrefused --retry 10 -s -o /tmp/startup_script
|
curl "${script}" --location --retry-connrefused --retry 10 --fail -s -o /tmp/startup_script
|
||||||
rt=$?
|
rt=$?
|
||||||
else
|
else
|
||||||
cp "${script}" /tmp/startup_script
|
cp "${script}" /tmp/startup_script
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
extra-experimental-features = nix-command flakes
|
|
|
@ -1,8 +1,8 @@
|
||||||
diff --git a/airootfs/root/.zlogin b/airootfs/root/.zlogin
|
diff --git a/airootfs/root/.zlogin b/airootfs/root/.zlogin
|
||||||
index bf6bc8f..76e5893 100755
|
index bf6bc8f..a0dae7b 100755
|
||||||
--- a/airootfs/root/.zlogin
|
--- a/airootfs/root/.zlogin
|
||||||
+++ b/airootfs/root/.zlogin
|
+++ b/airootfs/root/.zlogin
|
||||||
@@ -4,3 +4,18 @@ if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then
|
@@ -4,3 +4,19 @@ if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
~/.automated_script.sh
|
~/.automated_script.sh
|
||||||
|
@ -16,13 +16,14 @@ index bf6bc8f..76e5893 100755
|
||||||
+
|
+
|
||||||
+git diff -p -R --no-ext-diff --no-color --diff-filter=M \
|
+git diff -p -R --no-ext-diff --no-color --diff-filter=M \
|
||||||
+ | grep -E "^(diff|(old|new) mode)" --color=never \
|
+ | grep -E "^(diff|(old|new) mode)" --color=never \
|
||||||
|
+ | sed "/^diff/{ x; d; }; x; /./{ p; z; }; x;" \
|
||||||
+ | git apply
|
+ | git apply
|
||||||
+
|
+
|
||||||
+popd > /dev/null
|
+popd > /dev/null
|
||||||
+
|
+
|
||||||
+loadkeys de_CH-latin1
|
+loadkeys de_CH-latin1
|
||||||
diff --git a/packages.x86_64 b/packages.x86_64
|
diff --git a/packages.x86_64 b/packages.x86_64
|
||||||
index 9e876e7..b89ab30 100755
|
index 9e876e7..c5db92a 100755
|
||||||
--- a/packages.x86_64
|
--- a/packages.x86_64
|
||||||
+++ b/packages.x86_64
|
+++ b/packages.x86_64
|
||||||
@@ -30,8 +30,10 @@ ethtool
|
@@ -30,8 +30,10 @@ ethtool
|
||||||
|
@ -36,7 +37,15 @@ index 9e876e7..b89ab30 100755
|
||||||
gnu-netcat
|
gnu-netcat
|
||||||
gpart
|
gpart
|
||||||
gpm
|
gpm
|
||||||
@@ -75,6 +77,7 @@ nbd
|
@@ -45,6 +47,7 @@ irssi
|
||||||
|
iw
|
||||||
|
iwd
|
||||||
|
jfsutils
|
||||||
|
+jq
|
||||||
|
kitty-terminfo
|
||||||
|
ldns
|
||||||
|
less
|
||||||
|
@@ -75,6 +78,7 @@ nbd
|
||||||
ndisc6
|
ndisc6
|
||||||
nfs-utils
|
nfs-utils
|
||||||
nilfs-utils
|
nilfs-utils
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
flake-utils.url = "github:numtide/flake-utils?ref=b1d9ab70662946ef0850d488da1c9019f3a9752a";
|
flake-utils.url = "github:numtide/flake-utils?ref=b1d9ab70662946ef0850d488da1c9019f3a9752a";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (
|
outputs = { self, flake-utils, nixpkgs }: (flake-utils.lib.eachDefaultSystem (
|
||||||
system:
|
system:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
@ -32,5 +32,10 @@
|
||||||
packages = {
|
packages = {
|
||||||
archiso = pkgs.archiso;
|
archiso = pkgs.archiso;
|
||||||
};
|
};
|
||||||
});
|
})) // {
|
||||||
|
valhalla = {
|
||||||
|
DerGeret = import ./profiles/machines/manuel/DerGeret/Arch/config.nix;
|
||||||
|
ManuSurface = import ./profiles/machines/manuel/ManuSurface/Arch/config.nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
15
lib/eval-attribute.nix
Normal file
15
lib/eval-attribute.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
let
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
nixpkgs = import <nixpkgs> { config = {}; overlay = []; };
|
||||||
|
property = (builtins.getEnv "PROPERTY");
|
||||||
|
processor = if (builtins.stringLength property > 0)
|
||||||
|
then
|
||||||
|
(_: lib.attrsets.getAttrFromPath (lib.strings.splitString "." property) _)
|
||||||
|
else
|
||||||
|
(_: _);
|
||||||
|
in
|
||||||
|
_: processor (lib.evalModules {
|
||||||
|
modules = [
|
||||||
|
_
|
||||||
|
];
|
||||||
|
}).config
|
16
lib/eval-module.nix
Normal file
16
lib/eval-module.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
let
|
||||||
|
inherit (nixpkgs) lib;
|
||||||
|
nixpkgs = import <nixpkgs> { config = {}; overlay = []; };
|
||||||
|
file = (builtins.getEnv "FILE");
|
||||||
|
property = (builtins.getEnv "PROPERTY");
|
||||||
|
processor = if (builtins.stringLength property > 0)
|
||||||
|
then
|
||||||
|
(_: lib.attrsets.getAttrFromPath (lib.strings.splitString "." property) _)
|
||||||
|
else
|
||||||
|
(_: _);
|
||||||
|
in
|
||||||
|
processor (lib.evalModules {
|
||||||
|
modules = [
|
||||||
|
(import file)
|
||||||
|
];
|
||||||
|
}).config
|
|
@ -1,41 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
let
|
|
||||||
inherit (lib)
|
|
||||||
mkOption
|
|
||||||
types
|
|
||||||
;
|
|
||||||
|
|
||||||
gitOptions = {
|
|
||||||
defaultBranch = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
description = "The name of the default branch in git.";
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
flow = {
|
|
||||||
mainBranch = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
description = "The name of the stable branch in git flow.";
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
devBranch = mkOption {
|
|
||||||
type = types.nullOr types.str;
|
|
||||||
description = "The name of the development branch in git flow.";
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
aliases = mkOption {
|
|
||||||
type = types.attrsOf types.str;
|
|
||||||
description = "Git command aliases to install.";
|
|
||||||
default = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
options = {
|
|
||||||
valhalla = {
|
|
||||||
git = gitOptions;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
55
lib/modules/hardware.nix
Normal file
55
lib/modules/hardware.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla = {
|
||||||
|
hardware = {
|
||||||
|
components = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "The names of the hardware components of the computer.";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
eyeX = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether a Tobii EyeX device is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
amdCPU = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether an AMD CPU is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
nvidiaGPU = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether an NVIDIA GPU is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
corsairDevice = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether a Corsair device is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
elgatoWave = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether an Elgato Wave device is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
logitechG = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether a Logitech G device is present.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
52
lib/modules/os.nix
Normal file
52
lib/modules/os.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla = mkOption {
|
||||||
|
type = types.submodule (
|
||||||
|
{ extendModules, ... }:
|
||||||
|
let
|
||||||
|
osVariant = extendModules {
|
||||||
|
modules = [
|
||||||
|
({ config, ... }: {
|
||||||
|
options = {
|
||||||
|
config = mkOption {
|
||||||
|
type = types.attrs;
|
||||||
|
description = "The configuration of the Operating System.";
|
||||||
|
default = builtins.removeAttrs config ["_module" "config" "linux" "windows"];
|
||||||
|
visible = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
linuxVariant = osVariant.extendModules { };
|
||||||
|
windowsVariant = osVariant.extendModules { };
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
linux = mkOption {
|
||||||
|
inherit (linuxVariant) type;
|
||||||
|
description = "The options for setting up Linux.";
|
||||||
|
default = {};
|
||||||
|
visible = "shallow";
|
||||||
|
};
|
||||||
|
|
||||||
|
windows = mkOption {
|
||||||
|
inherit (windowsVariant) type;
|
||||||
|
description = "The options for setting up Windows.";
|
||||||
|
default = {};
|
||||||
|
visible = "shallow";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
description = "Configuration for PortValhalla.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
59
lib/modules/packages/git.nix
Normal file
59
lib/modules/packages/git.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
gitType = types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
defaultBranch = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The name of the default branch in newly created repositories.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
flow = {
|
||||||
|
mainBranch = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The name of the stable branch in git flow.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
devBranch = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The name of the development branch in git flow.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases = mkOption {
|
||||||
|
type = types.attrsOf types.str;
|
||||||
|
description = "The git command aliases to install.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
gitOption = mkOption {
|
||||||
|
type = gitType;
|
||||||
|
description = "The git related options.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla = {
|
||||||
|
git = gitOption;
|
||||||
|
|
||||||
|
users = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
git = gitOption;
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
44
lib/modules/packages/nextcloud.nix
Normal file
44
lib/modules/packages/nextcloud.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkEnableOption
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
syncType = types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
remotePath = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The path to the folder on the cloud to sync.";
|
||||||
|
};
|
||||||
|
|
||||||
|
localPath = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The path to sync the cloud content to.";
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualFiles = (mkEnableOption "virtual file support") // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla.windows.users = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
nextcloud = {
|
||||||
|
folderSyncs = mkOption {
|
||||||
|
type = types.listOf syncType;
|
||||||
|
description = "The folders to synchronize.";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
55
lib/modules/packages/oh-my-posh.nix
Normal file
55
lib/modules/packages/oh-my-posh.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
themeType = types.submodule (
|
||||||
|
{ config, ... }: {
|
||||||
|
options = {
|
||||||
|
source = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "The path to the oh-my-posh theme to use.";
|
||||||
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The name of the theme.";
|
||||||
|
default = lib.strings.removeSuffix ".omp" (lib.strings.removeSuffix ".json" (builtins.baseNameOf config.source));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
ompType = types.submodule (
|
||||||
|
{ config, ... }: {
|
||||||
|
options = {
|
||||||
|
theme = mkOption {
|
||||||
|
type = types.nullOr (types.either types.str themeType);
|
||||||
|
description = "The default theme.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
additionalThemes = mkOption {
|
||||||
|
type = types.listOf themeType;
|
||||||
|
description = "A set of additional themes to install.";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla.users = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
oh-my-posh = mkOption {
|
||||||
|
type = ompType;
|
||||||
|
description = "The Oh My Posh configuration to apply.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
40
lib/modules/packages/rclone.nix
Normal file
40
lib/modules/packages/rclone.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
syncType = types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
dirName = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The name of the directory to sync the remote files to.";
|
||||||
|
};
|
||||||
|
|
||||||
|
cacheDuration = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The amount of time to keep cached files.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla.linux.users = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
rclone = {
|
||||||
|
configurations = mkOption {
|
||||||
|
type = types.attrsOf syncType;
|
||||||
|
description = "The configurations of the rclone mounts.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,6 +8,7 @@
|
||||||
fs = import ./fs.nix;
|
fs = import ./fs.nix;
|
||||||
|
|
||||||
diskListVarName = "myDisks";
|
diskListVarName = "myDisks";
|
||||||
|
probeScript = "partprobe 2> /dev/null || true";
|
||||||
isSwap = partition: builtins.elem partition.type [fs.swap 19];
|
isSwap = partition: builtins.elem partition.type [fs.swap 19];
|
||||||
|
|
||||||
mkDiskType = osDisk: types.submodule (
|
mkDiskType = osDisk: types.submodule (
|
||||||
|
@ -136,19 +137,12 @@
|
||||||
|
|
||||||
create = lib.strings.concatLines [
|
create = lib.strings.concatLines [
|
||||||
(appendScript "${toString index}: \"$(${sizeOption})\" type=${mkType type}")
|
(appendScript "${toString index}: \"$(${sizeOption})\" type=${mkType type}")
|
||||||
# Wait for partition to be detected
|
probeScript
|
||||||
''echo "Waiting for ${partVar} to appear..."''
|
|
||||||
''
|
|
||||||
while true;
|
|
||||||
do
|
|
||||||
[ -b ${partVar} ] && break;
|
|
||||||
done;
|
|
||||||
''
|
|
||||||
"sudo ${formatScripts.${format}}"
|
"sudo ${formatScripts.${format}}"
|
||||||
];
|
];
|
||||||
|
|
||||||
fallback = ''
|
fallback = ''
|
||||||
if ! { ls "${diskVar}"?(p)${toString index} 2>&1; } > /dev/null
|
if ! { ls "${partVar}" 2>&1; } > /dev/null
|
||||||
then
|
then
|
||||||
${create}
|
${create}
|
||||||
fi
|
fi
|
||||||
|
@ -329,21 +323,18 @@
|
||||||
mountScript = lib.strings.concatLines (
|
mountScript = lib.strings.concatLines (
|
||||||
builtins.concatMap
|
builtins.concatMap
|
||||||
(_: [
|
(_: [
|
||||||
''echo "Waiting for "${lib.strings.escapeShellArg (partPath _)}" to appear..."''
|
probeScript
|
||||||
''
|
(builtins.concatStringsSep " " ([
|
||||||
while true;
|
|
||||||
do
|
|
||||||
[ -b ${lib.strings.escapeShellArg (partPath _)} ] && break
|
|
||||||
done
|
|
||||||
''
|
|
||||||
(builtins.concatStringsSep " " [
|
|
||||||
"sudo"
|
"sudo"
|
||||||
"mount"
|
"mount"
|
||||||
"--mkdir"
|
"--mkdir"
|
||||||
|
] ++ (lib.optionals (_.format == "ntfs") [
|
||||||
|
"-t" "ntfs3"
|
||||||
|
]) ++ [
|
||||||
(builtins.concatStringsSep " " (builtins.map (_: "-o ${_}") _.mountOptions))
|
(builtins.concatStringsSep " " (builtins.map (_: "-o ${_}") _.mountOptions))
|
||||||
(partPath _)
|
(partPath _)
|
||||||
(normalizePath "/${rootDir}/${_.mountPoint}")
|
(normalizePath "/${rootDir}/${_.mountPoint}")
|
||||||
])
|
]))
|
||||||
])
|
])
|
||||||
(lib.lists.sortOn
|
(lib.lists.sortOn
|
||||||
(_: normalizePath "/${_.mountPoint}")
|
(_: normalizePath "/${_.mountPoint}")
|
||||||
|
@ -351,13 +342,20 @@
|
||||||
|
|
||||||
swapScript = lib.strings.concatLines (
|
swapScript = lib.strings.concatLines (
|
||||||
builtins.map
|
builtins.map
|
||||||
(_: "sudo swapon ${partPath _}")
|
(_: ''
|
||||||
|
${probeScript}
|
||||||
|
sudo swapon ${partPath _}
|
||||||
|
'')
|
||||||
(builtins.filter (_: _.useSwap) partitions));
|
(builtins.filter (_: _.useSwap) partitions));
|
||||||
in lib.strings.concatLines (
|
in lib.strings.concatLines ([
|
||||||
(builtins.map (_: _.deviceScript) disks) ++ lib.optionals ((builtins.length disks) > 0) [
|
"#!/bin/bash"
|
||||||
|
"set -o errexit"
|
||||||
|
] ++
|
||||||
|
(builtins.map (_: _.deviceScript) disks) ++
|
||||||
|
lib.optionals ((builtins.length disks) > 0) [
|
||||||
". ${./../../../scripts/Common/Scripts/is-truthy.sh}"
|
". ${./../../../scripts/Common/Scripts/is-truthy.sh}"
|
||||||
''echo "$(tput setaf 3)==== WARNING ====$(tput sgr0)"''
|
''echo "$(tput setaf 3)==== WARNING ====$(tput sgr0)"''
|
||||||
(''echo "Continuing this script will wipe the contents of '' + (
|
(''echo "Continuing this script will alter the partitions of '' + (
|
||||||
lib.strings.concatStringsSep ", " (builtins.map (_: "${_.deviceVariable}") (lib.lists.init disks))
|
lib.strings.concatStringsSep ", " (builtins.map (_: "${_.deviceVariable}") (lib.lists.init disks))
|
||||||
) + (if (builtins.length disks) > 1 then " and " else "") + (lib.lists.last disks).deviceVariable + ''"'')
|
) + (if (builtins.length disks) > 1 then " and " else "") + (lib.lists.last disks).deviceVariable + ''"'')
|
||||||
''read -p "Are you sure you want to continue? [y/n] " answer''
|
''read -p "Are you sure you want to continue? [y/n] " answer''
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
software =
|
software =
|
||||||
let
|
let
|
||||||
inherit (cfg.software)
|
inherit (cfg.software)
|
||||||
|
coding
|
||||||
common
|
common
|
||||||
desktopExperience
|
desktopExperience
|
||||||
school
|
school
|
||||||
|
@ -42,6 +43,12 @@
|
||||||
default = common && !server;
|
default = common && !server;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSync = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether file syncs should be installed.";
|
||||||
|
default = common && !server;
|
||||||
|
};
|
||||||
|
|
||||||
school = mkOption {
|
school = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = "A value indicating whether software for studies should be installed.";
|
description = "A value indicating whether software for studies should be installed.";
|
||||||
|
@ -77,6 +84,12 @@
|
||||||
description = "A value indicating whether development apps should be installed.";
|
description = "A value indicating whether development apps should be installed.";
|
||||||
default = common;
|
default = common;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
python = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether apps for coding python should be installed.";
|
||||||
|
default = coding;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
91
lib/modules/users.nix
Normal file
91
lib/modules/users.nix
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
capitalize = (import ../text.nix { inherit lib; }).capitalize;
|
||||||
|
|
||||||
|
userType = types.submodule (
|
||||||
|
{ ... } : {
|
||||||
|
options = {
|
||||||
|
displayName = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The human-readable name of the user.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
mailAddress = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The mail address of the user.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
groups = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "The additional groups of the user.";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
linuxUserType = types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
defaultShell = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = "The default shell of the user.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
winUserType = types.submodule (
|
||||||
|
{ ... }: {
|
||||||
|
options = {
|
||||||
|
microsoftAccount = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether this user is a Microsoft Account.";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla = {
|
||||||
|
users = mkOption {
|
||||||
|
type = types.attrsOf userType;
|
||||||
|
description = "The users to create on the machine.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
linux.users = mkOption {
|
||||||
|
type = types.attrsOf linuxUserType;
|
||||||
|
};
|
||||||
|
|
||||||
|
windows = mkOption {
|
||||||
|
type = types.submoduleWith {
|
||||||
|
modules = [
|
||||||
|
({ config, options, ... }: {
|
||||||
|
options = {
|
||||||
|
users = mkOption {
|
||||||
|
type = types.attrsOf winUserType;
|
||||||
|
};
|
||||||
|
|
||||||
|
winUsers = mkOption {
|
||||||
|
type = options.users.type;
|
||||||
|
description = "Blablabla";
|
||||||
|
default = (lib.attrsets.concatMapAttrs (
|
||||||
|
name: options: {
|
||||||
|
${capitalize name} = options;
|
||||||
|
}) config.users);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,10 +6,17 @@
|
||||||
;
|
;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./git.nix
|
./packages/git.nix
|
||||||
|
./packages/nextcloud.nix
|
||||||
|
./packages/oh-my-posh.nix
|
||||||
|
./packages/rclone.nix
|
||||||
|
./hardware.nix
|
||||||
./i18n.nix
|
./i18n.nix
|
||||||
|
./os.nix
|
||||||
./partition.nix
|
./partition.nix
|
||||||
./software.nix
|
./software.nix
|
||||||
|
./users.nix
|
||||||
|
./windows.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
@ -28,6 +35,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hostname = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The hostname of the system.";
|
||||||
|
default = "valhalla";
|
||||||
|
};
|
||||||
|
|
||||||
setupUser = {
|
setupUser = {
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
|
47
lib/modules/windows.nix
Normal file
47
lib/modules/windows.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkDefault
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
capitalize = (import ../text.nix { inherit lib; }).capitalize;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
valhalla = {
|
||||||
|
windows = {
|
||||||
|
dualboot = {
|
||||||
|
enable = mkEnableOption "dual boot";
|
||||||
|
|
||||||
|
linuxPercentage = mkOption {
|
||||||
|
type = types.number;
|
||||||
|
description = "The percentage of the disk size reserved for Linux.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
showFileExt = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
description = "A value indicating whether file extensions should be displayed in Windows Explorer.";
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
legacyIconSpacing = mkEnableOption "legacy icon spacing" // {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dynamicLighting = mkEnableOption "dynamic lighting";
|
||||||
|
adware = mkEnableOption "adware"; # Fuck you for displaying ads on an OS I fricking paid for!
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
valhalla.windows = {
|
||||||
|
setupUser.name = mkDefault (capitalize config.valhalla.setupUser.name);
|
||||||
|
dualboot.linuxPercentage = mkIf (!config.valhalla.windows.dualboot.enable) (mkDefault 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
9
lib/text.nix
Normal file
9
lib/text.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ lib, ... }: {
|
||||||
|
capitalize = text:
|
||||||
|
let
|
||||||
|
chars = lib.strings.stringToCharacters text;
|
||||||
|
in lib.strings.concatStrings (
|
||||||
|
[(lib.strings.toUpper (builtins.elemAt chars 0))] ++
|
||||||
|
(lib.lists.drop 1 chars)
|
||||||
|
);
|
||||||
|
}
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/bash -e
|
|
||||||
function install() {
|
|
||||||
function installDrivers() {
|
|
||||||
. "../../../scripts/Arch/Config/SecureBoot/install.sh";
|
|
||||||
. "../../../scripts/Arch/Software/nvidia-dkms/install.sh";
|
|
||||||
. "../../../scripts/Arch/Software/xone/install.sh";
|
|
||||||
. "../../../scripts/Arch/Software/bt-dualboot/install.sh";
|
|
||||||
}
|
|
||||||
|
|
||||||
function initializeConfig() {
|
|
||||||
. "../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
|
||||||
}
|
|
||||||
|
|
||||||
pushd "$dir" > /dev/null;
|
|
||||||
. "../../../scripts/Arch/OS/install.sh";
|
|
||||||
popd > /dev/null;
|
|
||||||
}
|
|
||||||
|
|
||||||
install;
|
|
|
@ -1,139 +0,0 @@
|
||||||
#!/bin/pwsh
|
|
||||||
$env:WIN_COMPUTER_NAME = "DerGeret";
|
|
||||||
$env:SETUP_SCRIPT_NAME = "$PSScriptRoot/Restore.ps1";
|
|
||||||
|
|
||||||
function Initialize-SetupConfig() {
|
|
||||||
param(
|
|
||||||
[xml] $config,
|
|
||||||
[System.Xml.XmlNamespaceManager] $namespace
|
|
||||||
);
|
|
||||||
|
|
||||||
$setupComponent = $config.SelectSingleNode(
|
|
||||||
"/ua:unattend/ua:settings[@pass='windowsPE']/ua:component[@name='Microsoft-Windows-Setup']",
|
|
||||||
$namespace);
|
|
||||||
|
|
||||||
$diskConfig = $setupComponent.SelectSingleNode("./ua:DiskConfiguration/ua:Disk", $namespace);
|
|
||||||
|
|
||||||
$partitionCreationContainer = $diskConfig.SelectSingleNode("./ua:CreatePartitions", $namespace);
|
|
||||||
$partitionCreations = $partitionCreationContainer.SelectNodes("./ua:CreatePartition", $namespace);
|
|
||||||
|
|
||||||
$partitionModificationContainer = $diskConfig.SelectSingleNode("./ua:ModifyPartitions", $namespace);
|
|
||||||
$partitionModifications = $partitionModificationContainer.SelectNodes("./ua:ModifyPartition", $namespace);
|
|
||||||
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Gets the XML element describing the installation partition ID.
|
|
||||||
#>
|
|
||||||
function Get-InstallationPartition {
|
|
||||||
$setupComponent.SelectSingleNode("./ua:ImageInstall/ua:OSImage/ua:InstallTo/ua:PartitionID", $namespace)
|
|
||||||
}
|
|
||||||
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Increases the ID of all partitions in the specified range by 1.
|
|
||||||
#>
|
|
||||||
function Move-PartitionRange {
|
|
||||||
param (
|
|
||||||
[int]$From = 0,
|
|
||||||
[System.Nullable[int]]$To = $null,
|
|
||||||
[int]$By = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
# Update installation partition ID if necessary
|
|
||||||
$installationPartition = Get-InstallationPartition;
|
|
||||||
$installPartitionID = [int]$installationPartition.InnerText;
|
|
||||||
|
|
||||||
if (($installPartitionID -ge $From) -and (($null -eq $To) -or ($installPartitionID -le $To))) {
|
|
||||||
$installationPartition.InnerText = "$($installPartitionID + $By)";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update IDs of all partition creations
|
|
||||||
foreach ($partition in $partitionCreations) {
|
|
||||||
$orderNode = $partition.SelectSingleNode("./ua:Order", $namespace);
|
|
||||||
$order = [int]$orderNode.InnerText;
|
|
||||||
$newOrder = $order;
|
|
||||||
|
|
||||||
if (($newOrder -ge $From) -and (($null -eq $To) -or ($newOrder -le $To))) {
|
|
||||||
$newOrder += $By;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($order -ne $newOrder) {
|
|
||||||
$orderNode.InnerText = "$newOrder";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Update IDs of all partition modifications
|
|
||||||
foreach ($partition in $partitionModifications) {
|
|
||||||
$partitionNode = $partition.SelectSingleNode("./ua:PartitionID", $namespace);
|
|
||||||
$partitionID = [int]$partitionNode.InnerText;
|
|
||||||
$newID = $partitionID;
|
|
||||||
|
|
||||||
if (($newID -ge $From) -and (($null -eq $To) -or ($newID -le $To))) {
|
|
||||||
$newID += $By;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($partitionID -ne $newID) {
|
|
||||||
$partitionNode.InnerText = "$newID";
|
|
||||||
$partition.SelectSingleNode("./ua:Order", $namespace).InnerText = "$newID";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Add-Partition {
|
|
||||||
param (
|
|
||||||
[int]$Index,
|
|
||||||
[int]$Size,
|
|
||||||
[string]$Type = "Primary"
|
|
||||||
)
|
|
||||||
|
|
||||||
Move-PartitionRange -From $Index -By 1;
|
|
||||||
|
|
||||||
$newPartition = $partitionCreations[0].CloneNode($true);
|
|
||||||
$newPartition.SelectSingleNode("./ua:Order", $namespace).InnerText = "$Index";
|
|
||||||
$newPartition.SelectSingleNode("./ua:Type", $namespace).InnerText = "$Type";
|
|
||||||
$newPartition.SelectSingleNode("./ua:Size", $namespace).InnerText = "$Size";
|
|
||||||
$null = $partitionCreationContainer.AppendChild($newPartition);
|
|
||||||
|
|
||||||
$newModification = $partitionModifications[2].CloneNode($true);
|
|
||||||
$newModification.SelectSingleNode("./ua:Order", $namespace).InnerText = "$Index";
|
|
||||||
$newModification.SelectSingleNode("./ua:PartitionID", $namespace).InnerText = "$Index";
|
|
||||||
$null = $partitionModificationContainer.AppendChild($newModification);
|
|
||||||
}
|
|
||||||
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Relocates the partition with the specified `$From` ID to the specified `$To` ID.
|
|
||||||
#>
|
|
||||||
function Invoke-PartitionRelocation {
|
|
||||||
param (
|
|
||||||
[int]$From,
|
|
||||||
[int]$To
|
|
||||||
)
|
|
||||||
|
|
||||||
Move-PartitionRange $From $From (-1 * ($From + 1))
|
|
||||||
|
|
||||||
if ($From -gt $To) {
|
|
||||||
Move-PartitionRange $To ($From - 1);
|
|
||||||
}
|
|
||||||
elseif ($From -lt $To) {
|
|
||||||
Move-PartitionRange ($From + 1) $To -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Move-PartitionRange -1 -1 ($To + 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Resize EFI partition to 1GB
|
|
||||||
$partitionCreations[1].SelectSingleNode("./ua:Size", $namespace).InnerText = "$(1024)";
|
|
||||||
|
|
||||||
# Swap Windows RE partition (partition #1) and boot partition (partition #2)
|
|
||||||
Invoke-PartitionRelocation 2 1;
|
|
||||||
|
|
||||||
# Add space before Windows installation... wha-!? For Linux, ofc! I use Arch Linux, btw.
|
|
||||||
$swapSpacer = 100;
|
|
||||||
Add-Partition 2 $swapSpacer;
|
|
||||||
|
|
||||||
# Add a 1.2 TB partition for Linux
|
|
||||||
Add-Partition 3 ((1.2 * 1024 * 1024) - 1024 - $swapSpacer);
|
|
||||||
}
|
|
||||||
|
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/OS/Setup.ps1";
|
|
|
@ -1,21 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
../Generic/config.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
valhalla.partition.os.partitions = {
|
|
||||||
Boot.keepExisting = true;
|
|
||||||
|
|
||||||
Windows = {
|
|
||||||
index = 6;
|
|
||||||
label = "OS";
|
|
||||||
format = "ntfs";
|
|
||||||
size = "+600G";
|
|
||||||
mountPoint = "/win";
|
|
||||||
mountOptions = ["force"];
|
|
||||||
keepExisting = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/pwsh
|
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Scripts/Context.ps1";
|
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/OS/Install.ps1";
|
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Collections/Generic.ps1"
|
|
||||||
|
|
||||||
function Restore-Apps {
|
|
||||||
param([Context] $context)
|
|
||||||
Restore-GenericApps $context;
|
|
||||||
}
|
|
||||||
|
|
||||||
[Context]$context = [Context]::new();
|
|
||||||
Invoke-WindowsInstallation $context;
|
|
||||||
Restart-Computer -Force;
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/pwsh
|
|
||||||
$env:WIN_COMPUTER_NAME ??= "win11";
|
|
||||||
$env:SETUP_SCRIPT_NAME ??= "$PSScriptRoot/Install.ps1";
|
|
||||||
|
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/OS/Setup.ps1";
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/pwsh
|
|
||||||
$env:SETUP_SCRIPT_NAME ??= "$PSScriptRoot/Install.ps1";
|
|
||||||
|
|
||||||
. "$PSScriptRoot/../../Generic/Windows/Setup.ps1";
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/env fish
|
|
||||||
begin
|
|
||||||
set -l dir (status dirname)
|
|
||||||
source "$dir/../../../scripts/Arch/OS/install.fish"
|
|
||||||
end
|
|
|
@ -1,26 +0,0 @@
|
||||||
#!/bin/bash -e
|
|
||||||
function install() {
|
|
||||||
function installDrivers() {
|
|
||||||
. "../../../scripts/Arch/Config/SecureBoot/install.sh";
|
|
||||||
. "../../../scripts/Arch/Drivers/SurfaceBook2/install.sh";
|
|
||||||
}
|
|
||||||
|
|
||||||
function installSoftware() {
|
|
||||||
. "../../../scripts/Arch/Collections/school.sh";
|
|
||||||
}
|
|
||||||
|
|
||||||
function initializeConfig() {
|
|
||||||
. "../../../scripts/Common/Config/Steam/hidpi.sh";
|
|
||||||
. "../../../scripts/Unix/Devices/Surface Book 2/install.sh";
|
|
||||||
. "../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
|
||||||
|
|
||||||
# Because, as it looks, Surface Books are fucking stupid.
|
|
||||||
. "../../../scripts/Common/Config/GRUB/verbose.sh";
|
|
||||||
}
|
|
||||||
|
|
||||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
|
||||||
. "../../../scripts/Arch/OS/install.sh";
|
|
||||||
popd > /dev/null;
|
|
||||||
}
|
|
||||||
|
|
||||||
install;
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
|
||||||
# Set Hostname
|
|
||||||
sudo hostnamectl set-hostname ManuSurface;
|
|
||||||
|
|
||||||
source "../../../scripts/PopOS/Scripts/preinstall.sh";
|
|
||||||
source "../../../scripts/PopOS/OS/install.sh";
|
|
||||||
source "../../../scripts/Debian/Drivers/SurfaceBook2/Setup/install.sh";
|
|
||||||
source "../../../scripts/PopOS/Software/Collections/school.sh";
|
|
||||||
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../../scripts/Common/Config/UserProfile/install.sh";
|
|
||||||
|
|
||||||
# Install equalizer
|
|
||||||
source "../../../scripts/Common/Config/EasyEffects/SurfaceBook2/install.sh";
|
|
||||||
|
|
||||||
source "../../../scripts/PopOS/Scripts/postinstall.sh";
|
|
||||||
popd > /dev/null;
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
../Generic/Arch/config.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
valhalla.partition.os.deviceName = "nvme0n1";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
|
||||||
|
|
||||||
# Set Hostname
|
|
||||||
sudo hostnamectl set-hostname ManuPopOSLive;
|
|
||||||
source "../../scripts/PopOS/Scripts/prepare.sh";
|
|
||||||
source "../../scripts/PopOS/OS/install.sh";
|
|
||||||
source "../../scripts/PopOS/Software/Collections/personal.sh";
|
|
||||||
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../scripts/Common/Config/UserProfile/personal.sh";
|
|
||||||
|
|
||||||
source "../../scripts/PopOS/Scripts/postinstall.sh";
|
|
||||||
popd > /dev/null;
|
|
4
profiles/machines/manuel/DerGeret/Arch/install.fish
Executable file
4
profiles/machines/manuel/DerGeret/Arch/install.fish
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
bash "$(status dirname)/install.sh"
|
||||||
|
end
|
19
profiles/machines/manuel/DerGeret/Arch/install.sh
Executable file
19
profiles/machines/manuel/DerGeret/Arch/install.sh
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
function install() {
|
||||||
|
function installDrivers() {
|
||||||
|
. "../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||||
|
. "../../../../../scripts/Arch/Software/nvidia-dkms/install.sh";
|
||||||
|
. "../../../../../scripts/Arch/Software/xone/install.sh";
|
||||||
|
. "../../../../../scripts/Arch/Software/bt-dualboot/install.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
function initializeConfig() {
|
||||||
|
. "../../../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
pushd "$dir" > /dev/null;
|
||||||
|
. "../../../../../scripts/Arch/OS/install.sh";
|
||||||
|
popd > /dev/null;
|
||||||
|
}
|
||||||
|
|
||||||
|
install;
|
9
profiles/machines/manuel/DerGeret/Arch/setup.fish
Executable file
9
profiles/machines/manuel/DerGeret/Arch/setup.fish
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
|
||||||
|
CONFIG_NAME="DerGeret" \
|
||||||
|
ARCH_HOSTNAME="der-geret" \
|
||||||
|
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||||
|
source "$(status dirname)/../../../../../scripts/Arch/OS/setup.fish"
|
||||||
|
end
|
|
@ -4,6 +4,6 @@ pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
CONFIG_MODULE="./config.nix" \
|
CONFIG_MODULE="./config.nix" \
|
||||||
ARCH_HOSTNAME="der-geret" \
|
ARCH_HOSTNAME="der-geret" \
|
||||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||||
. "../../../scripts/Arch/OS/setup.sh";
|
. "../../../../../scripts/Arch/OS/setup.sh";
|
||||||
|
|
||||||
popd > /dev/null;
|
popd > /dev/null;
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
$null = New-Module {
|
$null = New-Module {
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Scripts/Context.ps1";
|
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/OS/Manage.ps1";
|
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Legacy.ps1";
|
||||||
|
|
||||||
Write-Host "Starting Backup of Windows";
|
Write-Host "Starting Backup of Windows";
|
||||||
$context = [Context]::new();
|
$context = [Context]::new();
|
|
@ -1,12 +1,12 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Scripts/Context.ps1";
|
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||||
|
|
||||||
function Install-PortValhallaDrivers {
|
function Install-PortValhallaDrivers {
|
||||||
param(
|
param(
|
||||||
[Context] $context
|
[Context] $context
|
||||||
)
|
)
|
||||||
|
|
||||||
$winPath = "$PSScriptRoot/../../../scripts/Windows";
|
$winPath = "$PSScriptRoot/../../../../../scripts/Windows";
|
||||||
$driverPath = "$winPath/Drivers";
|
$driverPath = "$winPath/Drivers";
|
||||||
$mbDriverPath = "$driverPath/ROG Zenith Extreme Alpha";
|
$mbDriverPath = "$driverPath/ROG Zenith Extreme Alpha";
|
||||||
$context.RegisterReboot();
|
$context.RegisterReboot();
|
||||||
|
@ -38,7 +38,7 @@ function Install-PersonalDrivers {
|
||||||
[Context] $context
|
[Context] $context
|
||||||
)
|
)
|
||||||
|
|
||||||
$softwarePath = "$PSScriptRoot/../../../scripts/Windows/Software";
|
$softwarePath = "$PSScriptRoot/../../../../../scripts/Windows/Software";
|
||||||
. "$softwarePath/TobiiGhost/Install.ps1" $context;
|
. "$softwarePath/TobiiGhost/Install.ps1" $context;
|
||||||
. "$softwarePath/TobiiGameHub/Install.ps1" $context;
|
. "$softwarePath/TobiiGameHub/Install.ps1" $context;
|
||||||
}
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
. "$PSScriptRoot/Drivers.ps1";
|
. "$PSScriptRoot/Drivers.ps1";
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Collections/Personal.ps1"
|
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/OS/Install.ps1";
|
. "$PSScriptRoot/../../../../../scripts/Windows/Collections/Personal.ps1"
|
||||||
. "$PSScriptRoot/../../../scripts/Windows/Scripts/Context.ps1";
|
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Manage.ps1";
|
||||||
|
|
||||||
function Initialize-Configuration {
|
function Initialize-Configuration {
|
||||||
# Fix synchronization between Linux and Windows clock
|
# Fix synchronization between Linux and Windows clock
|
||||||
|
@ -26,5 +26,4 @@ function Restore-Apps {
|
||||||
|
|
||||||
Write-Host "Starting Restoration of Windows";
|
Write-Host "Starting Restoration of Windows";
|
||||||
[Context]$context = [Context]::new();
|
[Context]$context = [Context]::new();
|
||||||
Invoke-WindowsInstallation $context;
|
Start-WindowsInstallation;
|
||||||
Restart-Computer -Force;
|
|
5
profiles/machines/manuel/DerGeret/Windows/Setup.ps1
Normal file
5
profiles/machines/manuel/DerGeret/Windows/Setup.ps1
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/pwsh
|
||||||
|
$env:WIN_COMPUTER_NAME = "DerGeret";
|
||||||
|
$env:CONFIG_NAME = $env:WIN_COMPUTER_NAME;
|
||||||
|
|
||||||
|
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Setup.ps1";
|
52
profiles/machines/manuel/DerGeret/config.nix
Normal file
52
profiles/machines/manuel/DerGeret/config.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib, ... }: {
|
||||||
|
imports = [
|
||||||
|
../defaults.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
valhalla = {
|
||||||
|
hostname = lib.mkDefault "der-geret";
|
||||||
|
|
||||||
|
windows = {
|
||||||
|
dualboot = {
|
||||||
|
enable = true;
|
||||||
|
linuxPercentage = 70; # better safe than sorry
|
||||||
|
};
|
||||||
|
|
||||||
|
hostname = "DerGeret";
|
||||||
|
|
||||||
|
users.manuel = {
|
||||||
|
microsoftAccount = true;
|
||||||
|
groups = ["Administrators"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
partition.os.partitions = {
|
||||||
|
Boot.keepExisting = true;
|
||||||
|
|
||||||
|
Windows = {
|
||||||
|
index = 6;
|
||||||
|
label = "OS";
|
||||||
|
format = "ntfs";
|
||||||
|
mountPoint = "/win";
|
||||||
|
mountOptions = ["force"];
|
||||||
|
keepExisting = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
components = [
|
||||||
|
"ROG Zenith Extreme Alpha"
|
||||||
|
"Predator Z301C"
|
||||||
|
];
|
||||||
|
|
||||||
|
eyeX = true;
|
||||||
|
amdCPU = true;
|
||||||
|
nvidiaGPU = true;
|
||||||
|
logitechG = true;
|
||||||
|
corsairDevice = true;
|
||||||
|
elgatoWave = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,11 +3,11 @@ function install() {
|
||||||
local dir="$(realpath "${BASH_SOURCE%/*}")";
|
local dir="$(realpath "${BASH_SOURCE%/*}")";
|
||||||
|
|
||||||
function installDrivers() {
|
function installDrivers() {
|
||||||
. "$dir/../../../scripts/Arch/Config/SecureBoot/install.sh";
|
. "$dir/../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
. "../../../scripts/Arch/OS/install.sh";
|
. "../../../../../scripts/Arch/OS/install.sh";
|
||||||
}
|
}
|
||||||
|
|
||||||
install;
|
install;
|
|
@ -4,6 +4,6 @@ pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
ARCH_MOUNT_ROOT="/mnt" \
|
ARCH_MOUNT_ROOT="/mnt" \
|
||||||
ARCH_HOSTNAME="archlinux" \
|
ARCH_HOSTNAME="archlinux" \
|
||||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||||
. "../../../scripts/Arch/OS/setup.sh";
|
. "../../../../../scripts/Arch/OS/setup.sh";
|
||||||
|
|
||||||
popd > /dev/null;
|
popd > /dev/null;
|
13
profiles/machines/manuel/Generic/Windows/Install.ps1
Normal file
13
profiles/machines/manuel/Generic/Windows/Install.ps1
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/pwsh
|
||||||
|
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||||
|
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Manage.ps1";
|
||||||
|
. "$PSScriptRoot/../../../../../scripts/Windows/Collections/Generic.ps1"
|
||||||
|
|
||||||
|
function Restore-Apps {
|
||||||
|
param([Context] $context)
|
||||||
|
Restore-GenericApps $context;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Context]$context = [Context]::new();
|
||||||
|
Invoke-WindowsInstallation $context;
|
||||||
|
Restart-Computer -Force;
|
5
profiles/machines/manuel/Generic/Windows/Setup.ps1
Normal file
5
profiles/machines/manuel/Generic/Windows/Setup.ps1
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/pwsh
|
||||||
|
$env:WIN_COMPUTER_NAME ??= "win11";
|
||||||
|
$env:CONFIG_MODULE ??= "$PSScriptRoot/../config.nix";
|
||||||
|
|
||||||
|
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Setup.ps1";
|
|
@ -1,9 +1,9 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
fs = import ../../lib/modules/partition/fs.nix;
|
fs = import ../../../../lib/modules/partition/fs.nix;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
../../lib/modules/valhalla.nix
|
../defaults.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
|
@ -14,4 +14,4 @@ function Install-PortValhallaDrivers {
|
||||||
choco install -y spice-agent;
|
choco install -y spice-agent;
|
||||||
}
|
}
|
||||||
|
|
||||||
. "$PSScriptRoot/../../Generic/Windows/Install.ps1";
|
. "$PSScriptRoot/../../../../Generic/Windows/Install.ps1";
|
2
profiles/machines/manuel/KVM/Windows/Setup.ps1
Normal file
2
profiles/machines/manuel/KVM/Windows/Setup.ps1
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/pwsh
|
||||||
|
. "$PSScriptRoot/../../../../Generic/Windows/Setup.ps1";
|
5
profiles/machines/manuel/ManuSurface/Arch/install.fish
Executable file
5
profiles/machines/manuel/ManuSurface/Arch/install.fish
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../../../../scripts/Arch/OS/install.fish"
|
||||||
|
end
|
26
profiles/machines/manuel/ManuSurface/Arch/install.sh
Executable file
26
profiles/machines/manuel/ManuSurface/Arch/install.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
function install() {
|
||||||
|
function installDrivers() {
|
||||||
|
. "../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||||
|
. "../../../../../scripts/Arch/Drivers/SurfaceBook2/install.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
function installSoftware() {
|
||||||
|
. "../../../../../scripts/Arch/Collections/school.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
function initializeConfig() {
|
||||||
|
. "../../../../../scripts/Common/Config/Steam/hidpi.sh";
|
||||||
|
. "../../../../../scripts/Unix/Devices/Surface Book 2/install.sh";
|
||||||
|
. "../../../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
||||||
|
|
||||||
|
# Because, as it looks, Surface Books are fucking stupid.
|
||||||
|
. "../../../../../scripts/Common/Config/GRUB/verbose.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
|
. "../../../../../scripts/Arch/OS/install.sh";
|
||||||
|
popd > /dev/null;
|
||||||
|
}
|
||||||
|
|
||||||
|
install;
|
|
@ -3,7 +3,7 @@ begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
|
|
||||||
function installDrivers -V dir -S
|
function installDrivers -V dir -S
|
||||||
source "$dir/../../../scripts/Common/Scripts/config.fish"
|
source "$dir/../../../../../scripts/Common/Scripts/config.fish"
|
||||||
pacstrap -K (getConfig valhalla.partition.rootDir) linux-firmware-marvell;
|
pacstrap -K (getConfig valhalla.partition.rootDir) linux-firmware-marvell;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -11,8 +11,8 @@ begin
|
||||||
echo "$dir/install.fish"
|
echo "$dir/install.fish"
|
||||||
end
|
end
|
||||||
|
|
||||||
CONFIG_MODULE="$(status dirname)/config.nix" \
|
CONFIG_NAME="ManuSurface" \
|
||||||
ARCH_HOSTNAME="manu-surface" \
|
ARCH_HOSTNAME="manu-surface" \
|
||||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||||
source "$(status dirname)/../../../scripts/Arch/OS/setup.fish";
|
source "$(status dirname)/../../../../../scripts/Arch/OS/setup.fish";
|
||||||
end
|
end
|
16
profiles/machines/manuel/ManuSurface/PopOS/setup.sh
Executable file
16
profiles/machines/manuel/ManuSurface/PopOS/setup.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
|
# Set Hostname
|
||||||
|
sudo hostnamectl set-hostname ManuSurface;
|
||||||
|
|
||||||
|
source "../../../../../scripts/PopOS/Scripts/preinstall.sh";
|
||||||
|
source "../../../../../scripts/PopOS/OS/install.sh";
|
||||||
|
source "../../../../../scripts/Debian/Drivers/SurfaceBook2/Setup/install.sh";
|
||||||
|
source "../../../../../scripts/PopOS/Software/Collections/school.sh";
|
||||||
|
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../../../../scripts/Common/Config/UserProfile/install.sh";
|
||||||
|
|
||||||
|
# Install equalizer
|
||||||
|
source "../../../../../scripts/Common/Config/EasyEffects/SurfaceBook2/install.sh";
|
||||||
|
|
||||||
|
source "../../../../../scripts/PopOS/Scripts/postinstall.sh";
|
||||||
|
popd > /dev/null;
|
12
profiles/machines/manuel/ManuSurface/config.nix
Normal file
12
profiles/machines/manuel/ManuSurface/config.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
../Generic/Arch/config.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
valhalla = {
|
||||||
|
hostname = "manu-surface";
|
||||||
|
partition.os.deviceName = "nvme0n1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
12
profiles/machines/manuel/PopOSLive/setup.sh
Executable file
12
profiles/machines/manuel/PopOSLive/setup.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
|
|
||||||
|
# Set Hostname
|
||||||
|
sudo hostnamectl set-hostname ManuPopOSLive;
|
||||||
|
source "../../../../scripts/PopOS/Scripts/prepare.sh";
|
||||||
|
source "../../../../scripts/PopOS/OS/install.sh";
|
||||||
|
source "../../../../scripts/PopOS/Software/Collections/personal.sh";
|
||||||
|
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../../../scripts/Common/Config/UserProfile/personal.sh";
|
||||||
|
|
||||||
|
source "../../../../scripts/PopOS/Scripts/postinstall.sh";
|
||||||
|
popd > /dev/null;
|
6
profiles/machines/manuel/defaults.nix
Normal file
6
profiles/machines/manuel/defaults.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
../../users/manuel/config.nix
|
||||||
|
../../../lib/modules/valhalla.nix
|
||||||
|
];
|
||||||
|
}
|
66
profiles/users/manuel/config.nix
Normal file
66
profiles/users/manuel/config.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
../../../lib/modules/valhalla.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
valhalla = {
|
||||||
|
users.manuel = {
|
||||||
|
displayName = "Manuel Thalmann";
|
||||||
|
mailAddress = "m@nuth.ch";
|
||||||
|
|
||||||
|
oh-my-posh = {
|
||||||
|
theme = {
|
||||||
|
source = ./manuel.omp.json;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
linux.users.manuel = {
|
||||||
|
defaultShell = "fish";
|
||||||
|
|
||||||
|
groups = [
|
||||||
|
"wheel"
|
||||||
|
"nix-users"
|
||||||
|
];
|
||||||
|
|
||||||
|
rclone = {
|
||||||
|
configurations = {
|
||||||
|
nextcloud = {
|
||||||
|
dirName = "Nextcloud";
|
||||||
|
};
|
||||||
|
proton = {
|
||||||
|
dirName = "Proton";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
windows.users.manuel = {
|
||||||
|
nextcloud = {
|
||||||
|
folderSyncs =
|
||||||
|
let
|
||||||
|
localPath = "C:/tools/RetroArch-Win64";
|
||||||
|
remotePath = "/Saved Games/RetroArch";
|
||||||
|
in [
|
||||||
|
{
|
||||||
|
remotePath = "${remotePath}/Saves";
|
||||||
|
localPath = "${localPath}/saves";
|
||||||
|
virtualFiles = false;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
remotePath = "${remotePath}/System";
|
||||||
|
localPath = "${localPath}/system";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
partition = {
|
||||||
|
os = {
|
||||||
|
partitions = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
173
profiles/users/manuel/manuel.omp.json
Normal file
173
profiles/users/manuel/manuel.omp.json
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||||
|
"version": 2,
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"type": "prompt",
|
||||||
|
"alignment": "left",
|
||||||
|
"segments": [
|
||||||
|
{
|
||||||
|
"type": "os",
|
||||||
|
"style": "diamond",
|
||||||
|
"leading_diamond": "\ue0b6",
|
||||||
|
"trailing_diamond": "\ue0b4",
|
||||||
|
"background_templates": [
|
||||||
|
"{{ if eq .OS \"ubuntu\" }}#EA531A{{ end }}",
|
||||||
|
"{{ if eq .OS \"debian\" }}#D80150{{ end }}",
|
||||||
|
"{{ if eq .OS \"arch\" }}#1793D1{{ end }}"
|
||||||
|
],
|
||||||
|
"foreground": "p:white",
|
||||||
|
"template": "{{ if ne .OS \"windows\" }}{{ .Icon }} {{ end }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "session",
|
||||||
|
"style": "diamond",
|
||||||
|
"leading_diamond": "\ue0b6",
|
||||||
|
"trailing_diamond": "\ue0b0",
|
||||||
|
"background": "p:yellow",
|
||||||
|
"foreground": "p:black",
|
||||||
|
"properties": {
|
||||||
|
"display_host": false
|
||||||
|
},
|
||||||
|
"template": "{{ if .SSHSession }}\ueb39{{ end }} {{ .UserName }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"background": "p:orange",
|
||||||
|
"foreground": "p:black",
|
||||||
|
"properties": {
|
||||||
|
"home_icon": "~",
|
||||||
|
"style": "folder"
|
||||||
|
},
|
||||||
|
"template": " \udb80\ude4b {{ path .Path .Location }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "dotnet",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"foreground": "p:black",
|
||||||
|
"background": "#00ffff",
|
||||||
|
"template": " \udb81\ude10 {{ .Full }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"background": "#4063d8",
|
||||||
|
"template": " \udb82\udf37 {{ .Full }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "python",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"background": "#906cff",
|
||||||
|
"template": " \udb80\udf20 {{ .Full }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"trailing_diamond": "\ue0b4",
|
||||||
|
"background": "p:green",
|
||||||
|
"background_templates": [
|
||||||
|
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}",
|
||||||
|
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}",
|
||||||
|
"{{ if gt .Ahead 0 }}#49416D{{ end }}",
|
||||||
|
"{{ if gt .Behind 0 }}#7A306C{{ end }}"
|
||||||
|
],
|
||||||
|
"foreground": "p:black",
|
||||||
|
"foreground_templates": [
|
||||||
|
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}",
|
||||||
|
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}",
|
||||||
|
"{{ if gt .Ahead 0 }}p:white{{ end }}"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"branch_max_length": 25,
|
||||||
|
"fetch_stash_count": true,
|
||||||
|
"fetch_status": true,
|
||||||
|
"fetch_upstream_icon": true,
|
||||||
|
"upstream_icons": {
|
||||||
|
"codeberg.org": "\uf330 ",
|
||||||
|
"git.nuth.ch": "\uf335",
|
||||||
|
"git.jonascosta.ch": "\uf339 ",
|
||||||
|
"git.romhackersworld.eu": "\uf339 ",
|
||||||
|
"aur.archlinux.org": "\uf303 "
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"templates": [
|
||||||
|
"{{ if .UpstreamURL }} {{ url .UpstreamIcon .UpstreamURL }}{{ end }}",
|
||||||
|
" {{ .HEAD }} ",
|
||||||
|
"{{ if .BranchStatus }}{{ .BranchStatus }} {{ end }}",
|
||||||
|
"{{ if .Working.Changed }} \uf044 {{ .Working.String }} {{ end }}",
|
||||||
|
"{{ if and (.Working.Changed) (or (.Staging.Changed) (gt .StashCount 0)) }} | {{ end }}",
|
||||||
|
"{{ if .Staging.Changed }} \uf046 {{ .Staging.String }} {{ end }}",
|
||||||
|
"{{ if and (.Staging.Changed) (gt .StashCount 0) }} | {{ end }}",
|
||||||
|
"{{ if gt .StashCount 0 }} \udb80\udd93 {{ .StashCount }}{{ end }} "
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"background": "#6ca35e",
|
||||||
|
"foreground": "p:white",
|
||||||
|
"properties": {
|
||||||
|
"fetch_version": true
|
||||||
|
},
|
||||||
|
"template": " \udb80\udf99 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }} "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "root",
|
||||||
|
"style": "powerline",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"background": "p:yellow",
|
||||||
|
"foreground": "p:white",
|
||||||
|
"properties": {
|
||||||
|
"root_icon": "\uf0e7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "executiontime",
|
||||||
|
"style": "plain",
|
||||||
|
"background": "#83769c",
|
||||||
|
"foreground": "p:white",
|
||||||
|
"properties": {
|
||||||
|
"always_enabled": true
|
||||||
|
},
|
||||||
|
"template": "<transparent>\ue0b0</> \udb81\udead {{ .FormattedMs }}\u2800"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"style": "diamond",
|
||||||
|
"background": "p:blue",
|
||||||
|
"trailing_diamond": "\ue0b4",
|
||||||
|
"background_templates": [
|
||||||
|
"{{ if gt .Code 0 }}p:red{{ end }}"
|
||||||
|
],
|
||||||
|
"foreground": "p:white",
|
||||||
|
"properties": {
|
||||||
|
"always_enabled": true
|
||||||
|
},
|
||||||
|
"template": "<parentBackground>\ue0b0</> {{ if gt .Code 0 }}\uf00d{{ else }}\uf00c{{ end }} "
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transient_prompt": {
|
||||||
|
"background": "transparent",
|
||||||
|
"foreground": "p:black",
|
||||||
|
"template": "<p:yellow,transparent>\ue0b6</><,p:yellow> {{ .Folder }} </><p:yellow,transparent>\ue0b0</> "
|
||||||
|
},
|
||||||
|
"final_space": true,
|
||||||
|
"palette": {
|
||||||
|
"black": "#262B44",
|
||||||
|
"blue": "#4B95E9",
|
||||||
|
"green": "#59C9A5",
|
||||||
|
"orange": "#F07623",
|
||||||
|
"red": "#D81E5B",
|
||||||
|
"white": "#E0DEF4",
|
||||||
|
"yellow": "#F3AE35"
|
||||||
|
}
|
||||||
|
}
|
|
@ -109,7 +109,7 @@ yay --noconfirm -Syu jq;
|
||||||
BROWSER_BIN="brave" \
|
BROWSER_BIN="brave" \
|
||||||
EXTENSION_DIR="/usr/share/chromium-extensions" \
|
EXTENSION_DIR="/usr/share/chromium-extensions" \
|
||||||
EXTENSION_POLICY_DIR="$braveExtensions" \
|
EXTENSION_POLICY_DIR="$braveExtensions" \
|
||||||
source "../../Common/Config/Chromium/install-ytmusic-dl.sh";
|
source "../../Common/Software/Chromium/ytmdl.sh";
|
||||||
|
|
||||||
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-beta/extensions;
|
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-beta/extensions;
|
||||||
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-nightly/extensions;
|
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-nightly/extensions;
|
||||||
|
|
95
scripts/Arch/OS/install.fish
Normal file → Executable file
95
scripts/Arch/OS/install.fish
Normal file → Executable file
|
@ -2,96 +2,27 @@
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
|
|
||||||
|
function getDeploymentScript -V dir
|
||||||
|
echo "$dir/../Scripts/deploy.fish";
|
||||||
|
end
|
||||||
|
|
||||||
function initialize -V dir
|
function initialize -V dir
|
||||||
source "$dir/../../Common/Scripts/wait-network.fish"
|
source "$dir/../../Common/Scripts/wait-network.fish"
|
||||||
waitNetwork
|
waitNetwork
|
||||||
or exit
|
or exit
|
||||||
|
|
||||||
sudo systemctl enable --now nix-daemon
|
sudo systemctl enable --now nix-daemon
|
||||||
source "$dir/../Scripts/software.fish"
|
and source "$dir/../Scripts/software.fish"
|
||||||
source "$dir/../Software/base-devel/main.fish"
|
and source "$dir/../Software/base-devel/main.fish"
|
||||||
source "$dir/../Software/pacman/main.fish"
|
and source "$dir/../Software/pacman/main.fish"
|
||||||
source "$dir/../Software/yay/main.fish"
|
and source "$dir/../Software/yay/main.fish"
|
||||||
|
|
||||||
yayinst \
|
and source "$dir/../Software/PowerShell/main.fish"
|
||||||
|
|
||||||
|
and yayinst \
|
||||||
|
linux-headers \
|
||||||
pacman-contrib \
|
pacman-contrib \
|
||||||
powershell-bin
|
yq
|
||||||
end
|
|
||||||
|
|
||||||
if not type -q installSoftware
|
|
||||||
function installSoftware -V dir
|
|
||||||
source "$dir/../../Common/Scripts/config.fish"
|
|
||||||
source "$dir/../Scripts/software.fish"
|
|
||||||
|
|
||||||
if collectionActive essential
|
|
||||||
yayinst \
|
|
||||||
mkinitcpio-firmware \
|
|
||||||
neofetch \
|
|
||||||
bash-completion \
|
|
||||||
wget \
|
|
||||||
oh-my-posh-bin \
|
|
||||||
screen \
|
|
||||||
tmux \
|
|
||||||
htop \
|
|
||||||
lsof \
|
|
||||||
zsh \
|
|
||||||
fish \
|
|
||||||
pkgfile \
|
|
||||||
sl \
|
|
||||||
rar
|
|
||||||
|
|
||||||
sudo pkgfile --update
|
|
||||||
source "$dir/../Software/openssh/main.fish"
|
|
||||||
source "$dir/../Software/vim/main.fish"
|
|
||||||
source "$dir/../Software/git/main.fish"
|
|
||||||
source "$dir/../Software/zoxide/main.fish"
|
|
||||||
|
|
||||||
# GRUB Shenanigans - if that's not an essential I don't know what is!
|
|
||||||
source "$dir/../Software/minegrub-theme/main.fish";
|
|
||||||
end
|
|
||||||
|
|
||||||
if collectionActive common
|
|
||||||
yayinst \
|
|
||||||
tldr \
|
|
||||||
btop \
|
|
||||||
nvtop \
|
|
||||||
numbat-bin \
|
|
||||||
terminal-parrot
|
|
||||||
|
|
||||||
source "$dir/../Software/aliae/main.fish"
|
|
||||||
end
|
|
||||||
|
|
||||||
if collectionActive desktopExperience
|
|
||||||
yayinst \
|
|
||||||
maliit-keyboard \
|
|
||||||
dconf-editor \
|
|
||||||
flatpak (
|
|
||||||
# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/
|
|
||||||
) xdg-desktop-portal-gtk
|
|
||||||
|
|
||||||
source "$dir/../Software/KDE/main.fish"
|
|
||||||
source "$dir/../Software/sddm/main.fish"
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
yayinst \
|
|
||||||
ttf-cascadia-code-nerd \
|
|
||||||
ttf-ms-win11-auto \
|
|
||||||
otf-cascadia-code \
|
|
||||||
ttf-droid
|
|
||||||
end
|
|
||||||
|
|
||||||
if collectionActive server
|
|
||||||
else
|
|
||||||
# Energy Saving
|
|
||||||
yayinst power-profiles-daemon
|
|
||||||
sudo systemctl enable --now power-profiles-daemon
|
|
||||||
|
|
||||||
# Networking
|
|
||||||
yayinst \
|
|
||||||
networkmanager-openvpn \
|
|
||||||
networkmanager-openconnect
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
source "$dir/../../Common/OS/install.fish"
|
source "$dir/../../Common/OS/install.fish"
|
||||||
|
|
21
scripts/Arch/OS/setup.fish
Normal file → Executable file
21
scripts/Arch/OS/setup.fish
Normal file → Executable file
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/env fish
|
#!/bin/env fish
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
set -q CONFIG_MODULE || set -l CONFIG_MODULE "$dir/config.nix"
|
|
||||||
source "$dir/../../Common/OS/setup.fish"
|
source "$dir/../../Common/OS/setup.fish"
|
||||||
source "$dir/../../Common/Scripts/config.fish"
|
source "$dir/../../Common/Scripts/config.fish"
|
||||||
|
|
||||||
|
@ -12,10 +11,14 @@ begin
|
||||||
end
|
end
|
||||||
|
|
||||||
function installValhallaDeps -V mountDir
|
function installValhallaDeps -V mountDir
|
||||||
pacstrap -K "$mountDir" fish jq nix tmux
|
pacstrap -K "$mountDir" fish git jq nix sudo tmux
|
||||||
end
|
end
|
||||||
|
|
||||||
function setupOS -S -V dir -V CONFIG_MODULE -V mountDir
|
function getInstallerScript -V dir -S
|
||||||
|
echo "$dir/install.fish"
|
||||||
|
end
|
||||||
|
|
||||||
|
function setupOS -S -V dir -V mountDir
|
||||||
source "$dir/../../Common/Scripts/wait-network.fish"
|
source "$dir/../../Common/Scripts/wait-network.fish"
|
||||||
source "$dir/../../Common/Scripts/hooks.fish"
|
source "$dir/../../Common/Scripts/hooks.fish"
|
||||||
|
|
||||||
|
@ -69,6 +72,7 @@ begin
|
||||||
end | begin
|
end | begin
|
||||||
read LOCALES
|
read LOCALES
|
||||||
and arch-chroot "$mountDir" sed -i "s/^#\?\(\($LOCALES\).*\)\$/\1/" /etc/locale.gen
|
and arch-chroot "$mountDir" sed -i "s/^#\?\(\($LOCALES\).*\)\$/\1/" /etc/locale.gen
|
||||||
|
and arch-chroot "$mountDir" locale-gen
|
||||||
end
|
end
|
||||||
|
|
||||||
and begin
|
and begin
|
||||||
|
@ -82,19 +86,12 @@ begin
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
and echo "$ARCH_HOSTNAME" | arch-chroot "$mountDir" tee /etc/hostname > /dev/null
|
and echo (getConfig valhalla.hostname) | arch-chroot "$mountDir" tee /etc/hostname > /dev/null
|
||||||
|
|
||||||
and arch-chroot "$mountDir" mkinitcpio -P
|
and arch-chroot "$mountDir" mkinitcpio -P
|
||||||
and runHook installDrivers "Installing drivers..." || true
|
and runHook installDrivers "Installing drivers..." || true
|
||||||
and runInOS fish "$tempDir/../../Common/Software/nix/main.fish" configure user
|
|
||||||
and arch-chroot "$mountDir" bash "$tempDir/../Software/sudo/install.sh"
|
|
||||||
and runInOS fish "$tempDir/../Software/GRUB/main.fish"
|
and runInOS fish "$tempDir/../Software/GRUB/main.fish"
|
||||||
|
|
||||||
and USER_NAME="$USER_NAME" \
|
|
||||||
USER_DISPLAYNAME="$USER_DISPLAYNAME" \
|
|
||||||
USER_GROUPS="$USER_GROUPS" \
|
|
||||||
arch-chroot "$mountDir" bash "$tempDir/user.sh"
|
|
||||||
|
|
||||||
and if set -l keyLayout (getConfig valhalla.keyboardLayout)
|
and if set -l keyLayout (getConfig valhalla.keyboardLayout)
|
||||||
set -l serviceName set-keymap.service
|
set -l serviceName set-keymap.service
|
||||||
and set -l serviceFile "$mountDir/etc/systemd/system/$serviceName"
|
and set -l serviceFile "$mountDir/etc/systemd/system/$serviceName"
|
||||||
|
@ -113,7 +110,7 @@ begin
|
||||||
set -l file "/etc/systemd/system/getty@tty1.service.d/autologin.conf"
|
set -l file "/etc/systemd/system/getty@tty1.service.d/autologin.conf"
|
||||||
arch-chroot "$mountDir" mkdir -p (dirname "$file")
|
arch-chroot "$mountDir" mkdir -p (dirname "$file")
|
||||||
|
|
||||||
begin
|
and begin
|
||||||
printf %s\n \
|
printf %s\n \
|
||||||
"[Service]" \
|
"[Service]" \
|
||||||
"ExecStart=" \
|
"ExecStart=" \
|
||||||
|
|
277
scripts/Arch/Scripts/deploy.fish
Normal file
277
scripts/Arch/Scripts/deploy.fish
Normal file
|
@ -0,0 +1,277 @@
|
||||||
|
function deploySoftware -d "Deploys a the specified software action" -a action
|
||||||
|
set -l dir (status dirname)
|
||||||
|
. "$dir/software.fish"
|
||||||
|
|
||||||
|
if [ -z "$action" ]
|
||||||
|
set action "install"
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l isInstall (
|
||||||
|
if [ "$action" = "install" ]
|
||||||
|
echo true
|
||||||
|
else
|
||||||
|
echo false
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
if collectionActive essential
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
mkinitcpio-firmware \
|
||||||
|
neofetch \
|
||||||
|
bash-completion \
|
||||||
|
wget \
|
||||||
|
screen \
|
||||||
|
tmux \
|
||||||
|
htop \
|
||||||
|
lsof \
|
||||||
|
zsh \
|
||||||
|
fish \
|
||||||
|
pkgfile \
|
||||||
|
sl \
|
||||||
|
rar
|
||||||
|
|
||||||
|
and sudo pkgfile --update
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../../Common/Software/bash/main.fish" $argv
|
||||||
|
and source "$dir/../Software/sudo/main.fish" $argv
|
||||||
|
and source "$dir/../Software/Oh My Posh/main.fish" $argv
|
||||||
|
and source "$dir/../Software/openssh/main.fish" $argv
|
||||||
|
and source "$dir/../Software/vim/main.fish" $argv
|
||||||
|
and source "$dir/../Software/git/main.fish" $argv
|
||||||
|
and source "$dir/../Software/zoxide/main.fish" $argv
|
||||||
|
and source "$dir/../Software/logo-ls/main.fish" $argv
|
||||||
|
|
||||||
|
# GRUB Shenanigans - if that's not essential I don't know what is!
|
||||||
|
and source "$dir/../Software/minegrub-theme/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive common
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
tldr \
|
||||||
|
btop \
|
||||||
|
terminal-parrot
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/aliae/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive desktopExperience
|
||||||
|
source "$dir/../Software/KDE/main.fish" $argv
|
||||||
|
and source "$dir/../Software/sddm/main.fish" $argv
|
||||||
|
|
||||||
|
and if $isInstall
|
||||||
|
yayinst \
|
||||||
|
maliit-keyboard \
|
||||||
|
dconf-editor \
|
||||||
|
flatpak (
|
||||||
|
# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/
|
||||||
|
) xdg-desktop-portal-gtk
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
and yayinst \
|
||||||
|
ttf-cascadia-code-nerd \
|
||||||
|
ttf-ms-win11-auto \
|
||||||
|
otf-cascadia-code \
|
||||||
|
ttf-droid
|
||||||
|
|
||||||
|
# Password Management
|
||||||
|
and yayinst \
|
||||||
|
bitwarden \
|
||||||
|
keepass \
|
||||||
|
keepassxc
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
and yayinst \
|
||||||
|
android-tools \
|
||||||
|
blackbox-terminal \
|
||||||
|
cpu-x \
|
||||||
|
gnome-calculator \
|
||||||
|
yubikey-manager-qt \
|
||||||
|
wireshark-qt \
|
||||||
|
linux-wifi-hotspot
|
||||||
|
|
||||||
|
# Remote Access
|
||||||
|
and yayinst \
|
||||||
|
remmina (
|
||||||
|
# RDP support for Remmina
|
||||||
|
) freerdp
|
||||||
|
|
||||||
|
# Creativity
|
||||||
|
and yayinst \
|
||||||
|
gimp \
|
||||||
|
inkscape
|
||||||
|
|
||||||
|
# Office stuff
|
||||||
|
and yayinst \
|
||||||
|
libreoffice-fresh \
|
||||||
|
naps2-bin \
|
||||||
|
pdfarranger \
|
||||||
|
protonmail-bridge \
|
||||||
|
thunderbird
|
||||||
|
|
||||||
|
and yayinst \
|
||||||
|
texlive \
|
||||||
|
texlive-langgerman
|
||||||
|
|
||||||
|
# Virtualization
|
||||||
|
and yayinst propertree-git # mac .plist config file editor
|
||||||
|
|
||||||
|
and if collectionActive school
|
||||||
|
yayinst \
|
||||||
|
teams-for-linux \
|
||||||
|
xournalpp-git \
|
||||||
|
rnote
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Internet Access
|
||||||
|
and source "$dir/../Software/Firefox/main.fish" $argv
|
||||||
|
and source "$dir/../Software/brave/main.fish" $argv
|
||||||
|
and source "$dir/../Software/Pennywise/main.fish" $argv
|
||||||
|
|
||||||
|
# Virtualization
|
||||||
|
and source "$dir/../Software/waydroid/main.fish" $argv
|
||||||
|
and source "$dir/../Software/Virtual Machine Manager/main.fish" $argv
|
||||||
|
|
||||||
|
and if collectionActive coding
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
devdocs-desktop \
|
||||||
|
godot-mono
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/vscode/main.fish" $argv
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive server
|
||||||
|
else
|
||||||
|
if $isInstall
|
||||||
|
# Energy Saving
|
||||||
|
yayinst power-profiles-daemon
|
||||||
|
and sudo systemctl enable --now power-profiles-daemon
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
and yayinst \
|
||||||
|
networkmanager-openvpn \
|
||||||
|
networkmanager-openconnect \
|
||||||
|
proton-vpn-gtk-app \
|
||||||
|
protonvpn-cli-community
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive common
|
||||||
|
if $isInstall
|
||||||
|
and yayinst \
|
||||||
|
img2pdf \
|
||||||
|
numbat-bin \
|
||||||
|
nvtop \
|
||||||
|
pdf2svg \
|
||||||
|
tnef
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/IcedTea/main.fish" $argv
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive media && $isInstall
|
||||||
|
yayinst \
|
||||||
|
ytmdesktop-bin \
|
||||||
|
netflix \
|
||||||
|
spotube-bin \
|
||||||
|
stremio \
|
||||||
|
tidal-dl-ng \
|
||||||
|
tidal-hifi-bin \
|
||||||
|
nuclear-player-bin \
|
||||||
|
audius-client-bin
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive fileSync
|
||||||
|
if $isInstall
|
||||||
|
yayinst nextcloud-client
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/rclone/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive socialMedia && $isInstall
|
||||||
|
yayinst \
|
||||||
|
signal-desktop \
|
||||||
|
vesktop-bin
|
||||||
|
|
||||||
|
and begin
|
||||||
|
yes y | runYay threema-desktop
|
||||||
|
end
|
||||||
|
|
||||||
|
and begin
|
||||||
|
yes y | runYay nodejs
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive productivity && $isInstall
|
||||||
|
yayinst \
|
||||||
|
anki-bin
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive school && $isInstall
|
||||||
|
yayinst \
|
||||||
|
jdk17-temurin \
|
||||||
|
gradle \
|
||||||
|
jetbrains-toolbox
|
||||||
|
|
||||||
|
and source "$dir/../../Common/Software/udev/ct-board.fish"
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive coding
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
archiso \
|
||||||
|
wimlib (
|
||||||
|
# ISO support for wimlib
|
||||||
|
) cdrkit \
|
||||||
|
tea \
|
||||||
|
woodpecker-cli (
|
||||||
|
# AsciiDocs
|
||||||
|
) python-docutils (
|
||||||
|
# reStructuredText
|
||||||
|
) esbonio
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/n/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive python
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
python \
|
||||||
|
python-pip \
|
||||||
|
python-pipenv
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/pyenv/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive gaming
|
||||||
|
if $isInstall
|
||||||
|
yayinst \
|
||||||
|
steam \
|
||||||
|
chiaki-ng \
|
||||||
|
osu-lazer-bin \
|
||||||
|
libretro \
|
||||||
|
supertux \
|
||||||
|
gamepad-tool-bin
|
||||||
|
|
||||||
|
and sudo flatpak install -y flathub com.usebottles.bottles
|
||||||
|
end
|
||||||
|
|
||||||
|
and source "$dir/../Software/Lutris/main.fish" $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
and if collectionActive essential && $isInstall
|
||||||
|
yayinst bb
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
deploySoftware $argv
|
18
scripts/Arch/Scripts/software.fish
Normal file → Executable file
18
scripts/Arch/Scripts/software.fish
Normal file → Executable file
|
@ -3,11 +3,25 @@ begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
source "$dir/../../Common/Scripts/software.fish"
|
source "$dir/../../Common/Scripts/software.fish"
|
||||||
|
|
||||||
|
function runYay -d "Run yay with pre-configured defaults"
|
||||||
|
if not isatty 0
|
||||||
|
echo "stdin detected" 1>&2
|
||||||
|
cat
|
||||||
|
end | yay --needed --answerclean=None --answerdiff=None -Syu $argv
|
||||||
|
end
|
||||||
|
|
||||||
function yayinst -d "Install yay-package non-interactively"
|
function yayinst -d "Install yay-package non-interactively"
|
||||||
yay --noconfirm --needed --answerclean=None --answerdiff=None -Syu $argv
|
runYay --noconfirm $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
function runPacman -d "Run pacman with pre-configured defaults"
|
||||||
|
if not isatty 0
|
||||||
|
echo "stdin detected" 1>&2
|
||||||
|
cat
|
||||||
|
end | sudo pacman --needed -Syu $argv
|
||||||
end
|
end
|
||||||
|
|
||||||
function pacinst -d "Install pacman-package non-interactively"
|
function pacinst -d "Install pacman-package non-interactively"
|
||||||
sudo pacman --noconfirm --needed -Syu $argv
|
runPacman --noconfirm $argv
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
15
scripts/Arch/Software/Firefox/main.fish
Executable file
15
scripts/Arch/Software/Firefox/main.fish
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW -V dir
|
||||||
|
yayinst firefox
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/Firefox/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
3
scripts/Arch/Software/GRUB/main.fish
Normal file → Executable file
3
scripts/Arch/Software/GRUB/main.fish
Normal file → Executable file
|
@ -2,7 +2,6 @@
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
source "$dir/../../Scripts/software.fish"
|
source "$dir/../../Scripts/software.fish"
|
||||||
source "$dir/../../../Common/Software/GRUB/main.fish"
|
|
||||||
|
|
||||||
function installSW -V dir
|
function installSW -V dir
|
||||||
pacinst \
|
pacinst \
|
||||||
|
@ -10,7 +9,7 @@ begin
|
||||||
efibootmgr \
|
efibootmgr \
|
||||||
os-prober
|
os-prober
|
||||||
|
|
||||||
configureSW
|
fish "$dir/../../../Common/Software/GRUB/main.fish" configure
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
22
scripts/Arch/Software/IcedTea/main.fish
Executable file
22
scripts/Arch/Software/IcedTea/main.fish
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
jdk-temurin
|
||||||
|
|
||||||
|
yayinst \
|
||||||
|
icedtea-web
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW
|
||||||
|
# Allow execution of huwaei KVM application (uses out of date security mechanisms)
|
||||||
|
sudo sed -i \
|
||||||
|
"/^jdk.jar.disabledAlgorithms=/{ :comment; s/\(.*\)/#\1/; /\\\\\$/{ n; bcomment; }; }" \
|
||||||
|
/usr/lib/jvm/default-runtime/conf/security/java.security
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
2
scripts/Arch/Software/KDE/main.fish
Normal file → Executable file
2
scripts/Arch/Software/KDE/main.fish
Normal file → Executable file
|
@ -19,8 +19,6 @@ begin
|
||||||
# File Exchange Support for KDE Connect: https://wiki.archlinux.org/title/KDE#KDE_Connect
|
# File Exchange Support for KDE Connect: https://wiki.archlinux.org/title/KDE#KDE_Connect
|
||||||
) sshfs \
|
) sshfs \
|
||||||
fwupd
|
fwupd
|
||||||
|
|
||||||
configureSW
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function configureSW
|
function configureSW
|
||||||
|
|
72
scripts/Arch/Software/Lutris/main.fish
Executable file
72
scripts/Arch/Software/Lutris/main.fish
Executable file
|
@ -0,0 +1,72 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
wine-staging \
|
||||||
|
giflib \
|
||||||
|
lib32-giflib \
|
||||||
|
libpng \
|
||||||
|
lib32-libpng \
|
||||||
|
libldap \
|
||||||
|
lib32-libldap \
|
||||||
|
gnutls \
|
||||||
|
lib32-gnutls \
|
||||||
|
mpg123 \
|
||||||
|
lib32-mpg123 \
|
||||||
|
openal \
|
||||||
|
lib32-openal \
|
||||||
|
v4l-utils \
|
||||||
|
lib32-v4l-utils \
|
||||||
|
libpulse \
|
||||||
|
lib32-libpulse \
|
||||||
|
libgpg-error \
|
||||||
|
lib32-libgpg-error \
|
||||||
|
alsa-plugins \
|
||||||
|
lib32-alsa-plugins \
|
||||||
|
alsa-lib \
|
||||||
|
lib32-alsa-lib \
|
||||||
|
libjpeg-turbo \
|
||||||
|
lib32-libjpeg-turbo \
|
||||||
|
sqlite \
|
||||||
|
lib32-sqlite \
|
||||||
|
libxcomposite \
|
||||||
|
lib32-libxcomposite \
|
||||||
|
libxinerama \
|
||||||
|
lib32-libgcrypt \
|
||||||
|
libgcrypt \
|
||||||
|
lib32-libxinerama \
|
||||||
|
ncurses \
|
||||||
|
lib32-ncurses \
|
||||||
|
ocl-icd \
|
||||||
|
lib32-ocl-icd \
|
||||||
|
libxslt \
|
||||||
|
lib32-libxslt \
|
||||||
|
libva \
|
||||||
|
lib32-libva \
|
||||||
|
gtk3 \
|
||||||
|
lib32-gtk3 \
|
||||||
|
gst-plugins-base-libs \
|
||||||
|
lib32-gst-plugins-base-libs \
|
||||||
|
vulkan-icd-loader \
|
||||||
|
lib32-vulkan-icd-loader
|
||||||
|
|
||||||
|
yayinst (
|
||||||
|
# Extracting GOG games
|
||||||
|
) innoextract \
|
||||||
|
gamemode \
|
||||||
|
lib32-gamemode \
|
||||||
|
vkd3d \
|
||||||
|
lib32-vkd3d \
|
||||||
|
gamescope \
|
||||||
|
yad \
|
||||||
|
protontricks \
|
||||||
|
protonup-qt-bin
|
||||||
|
|
||||||
|
yayinst lutris
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
20
scripts/Arch/Software/Oh My Posh/main.fish
Executable file
20
scripts/Arch/Software/Oh My Posh/main.fish
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
set -l base "$dir/../../../Common/Software/Oh My Posh/main.fish"
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst oh-my-posh-bin
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V base
|
||||||
|
fish "$base" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
function userConfig -S -V base -a name
|
||||||
|
fish "$base" userConfig $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
23
scripts/Arch/Software/Pennywise/main.fish
Executable file
23
scripts/Arch/Software/Pennywise/main.fish
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
pennywise-bin
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW
|
||||||
|
set -l patch " --no-sandbox"
|
||||||
|
set -l pattern "^Exec=.*"
|
||||||
|
set -l indicator "$pattern$patch"
|
||||||
|
set -l file /usr/share/applications/pennywise.desktop
|
||||||
|
|
||||||
|
if ! grep "$indicator" "$file" > /dev/null
|
||||||
|
sudo sed -i "/$pattern/s/$pattern/\0 --no-sandbox/" "$file"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
15
scripts/Arch/Software/PowerShell/main.fish
Executable file
15
scripts/Arch/Software/PowerShell/main.fish
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst powershell-bin
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/PowerShell/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
26
scripts/Arch/Software/Virtual Machine Manager/main.fish
Executable file
26
scripts/Arch/Software/Virtual Machine Manager/main.fish
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst qemu-full
|
||||||
|
yes | runPacman --asdeps iptables-nft
|
||||||
|
|
||||||
|
yes | yayinst \
|
||||||
|
virtiofsd \
|
||||||
|
virt-manager \
|
||||||
|
dnsmasq \
|
||||||
|
swtpm \
|
||||||
|
lxc \
|
||||||
|
virt-bootstrap-git
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
sudo systemctl enable --now libvirtd
|
||||||
|
sudo systemctl enable --now virtlogd
|
||||||
|
fish "$dir/../../../Common/Software/Virtual Machine Manager/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
10
scripts/Arch/Software/aliae/main.fish
Normal file → Executable file
10
scripts/Arch/Software/aliae/main.fish
Normal file → Executable file
|
@ -1,14 +1,20 @@
|
||||||
#!/bin/env fish
|
#!/bin/env fish
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
|
set -l base "$dir/../../../Common/Software/aliae/main.fish"
|
||||||
source "$dir/../../Scripts/software.fish"
|
source "$dir/../../Scripts/software.fish"
|
||||||
source "$dir/../../../Common/Software/aliae/main.fish"
|
|
||||||
|
|
||||||
function installSW
|
function installSW
|
||||||
yayinst \
|
yayinst \
|
||||||
aliae-bin
|
aliae-bin
|
||||||
|
end
|
||||||
|
|
||||||
configureSW
|
function configureSW -V base
|
||||||
|
fish "$base" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
function userConfig -V base
|
||||||
|
fish "$base" userConfig $argv
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
0
scripts/Arch/Software/base-devel/main.fish
Normal file → Executable file
0
scripts/Arch/Software/base-devel/main.fish
Normal file → Executable file
18
scripts/Arch/Software/brave/main.fish
Executable file
18
scripts/Arch/Software/brave/main.fish
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst brave-bin (
|
||||||
|
# brave-beta-bin
|
||||||
|
# brave-nightly-bin
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/brave/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
11
scripts/Arch/Software/git/main.fish
Normal file → Executable file
11
scripts/Arch/Software/git/main.fish
Normal file → Executable file
|
@ -1,9 +1,10 @@
|
||||||
#!/bin/env fish
|
#!/bin/env fish
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
|
set -l base "$dir/../../../Common/Software/git/main.fish"
|
||||||
source "$dir/../../Scripts/software.fish"
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
function installSW -V dir
|
function installSW
|
||||||
yayinst \
|
yayinst \
|
||||||
git \
|
git \
|
||||||
git-lfs \
|
git-lfs \
|
||||||
|
@ -11,8 +12,14 @@ begin
|
||||||
gitflow-bashcompletion-avh \
|
gitflow-bashcompletion-avh \
|
||||||
gitflow-fishcompletion-avh \
|
gitflow-fishcompletion-avh \
|
||||||
gitflow-zshcompletion-avh
|
gitflow-zshcompletion-avh
|
||||||
|
end
|
||||||
|
|
||||||
and fish "$dir/../../../Common/Software/git/main.fish" configure
|
function configureSW -V base
|
||||||
|
fish "$base" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
function userConfig -V base
|
||||||
|
fish "$base" userConfig $argv
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
42
scripts/Arch/Software/logo-ls/main.fish
Executable file
42
scripts/Arch/Software/logo-ls/main.fish
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW -V dir
|
||||||
|
set -l dirName (realpath "$dir")
|
||||||
|
set -l contextRoot (mktemp -d)
|
||||||
|
set -l pkgName logo-ls
|
||||||
|
set -l patchName workaround.patch
|
||||||
|
|
||||||
|
if not type -q logo-ls
|
||||||
|
begin
|
||||||
|
pushd "$contextRoot" > /dev/null
|
||||||
|
yay -G -f "$pkgName"
|
||||||
|
cd "$pkgName"
|
||||||
|
cp "$dirName/$patchName" .
|
||||||
|
|
||||||
|
sed -i \
|
||||||
|
-e "/^source=(/s/source=(/\0$patchName /" \
|
||||||
|
-e "/^md5sums=(/s/^md5sums=(/\0SKIP /" \
|
||||||
|
-e "/^build() {/,/}/{" \
|
||||||
|
-e "/^[[:space:]]*cd/{" \
|
||||||
|
-e "a cat ../$patchName | patch --strip 1 --forward --merge" \
|
||||||
|
-e "}" \
|
||||||
|
-e "}" \
|
||||||
|
PKGBUILD
|
||||||
|
|
||||||
|
makepkg --noconfirm -si --force
|
||||||
|
popd > /dev/null
|
||||||
|
end
|
||||||
|
|
||||||
|
rm -rf "$contextRoot"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/logo-ls/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
6
scripts/Arch/Software/minegrub-theme/main.fish
Normal file → Executable file
6
scripts/Arch/Software/minegrub-theme/main.fish
Normal file → Executable file
|
@ -2,11 +2,13 @@
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
source "$dir/../../Scripts/software.fish"
|
source "$dir/../../Scripts/software.fish"
|
||||||
source "$dir/../../../Common/Software/minegrub-theme/main.fish"
|
|
||||||
|
|
||||||
function installSW
|
function installSW
|
||||||
yayinst grub-theme-minegrub-git
|
yayinst grub-theme-minegrub-git
|
||||||
configureSW
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/minegrub-theme/main.fish" configure
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
15
scripts/Arch/Software/n/main.fish
Executable file
15
scripts/Arch/Software/n/main.fish
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst nodejs-n
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
sudo --preserve-env --set-home fish "$dir/../../../Common/Software/n/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
20
scripts/Arch/Software/nix/main.fish
Executable file
20
scripts/Arch/Software/nix/main.fish
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
nix \
|
||||||
|
nil-git
|
||||||
|
|
||||||
|
configureSW
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
sudo systemctl enable --now nix-daemon
|
||||||
|
fish "$dir/../../../Common/Software/nix/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
2
scripts/Arch/Software/openssh/main.fish
Normal file → Executable file
2
scripts/Arch/Software/openssh/main.fish
Normal file → Executable file
|
@ -10,7 +10,7 @@ begin
|
||||||
end
|
end
|
||||||
|
|
||||||
function configureSW
|
function configureSW
|
||||||
systemctl --global enable --now ssh-agent
|
sudo systemctl --global enable ssh-agent
|
||||||
|
|
||||||
and begin
|
and begin
|
||||||
printf %s\n \
|
printf %s\n \
|
||||||
|
|
0
scripts/Arch/Software/pacman/main.fish
Normal file → Executable file
0
scripts/Arch/Software/pacman/main.fish
Normal file → Executable file
15
scripts/Arch/Software/pyenv/main.fish
Executable file
15
scripts/Arch/Software/pyenv/main.fish
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst pyenv
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/pyenv/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
21
scripts/Arch/Software/rclone/main.fish
Executable file
21
scripts/Arch/Software/rclone/main.fish
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
set -l base "$dir/../../../Common/Software/rclone/main.fish"
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
rclone
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V base
|
||||||
|
fish "$base" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
function userConfig -V base -a name
|
||||||
|
fish "$base" userConfig $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
3
scripts/Arch/Software/sddm/main.fish
Normal file → Executable file
3
scripts/Arch/Software/sddm/main.fish
Normal file → Executable file
|
@ -8,13 +8,12 @@ begin
|
||||||
# yes | yayinst sddm-git
|
# yes | yayinst sddm-git
|
||||||
# stable version
|
# stable version
|
||||||
yayinst sddm
|
yayinst sddm
|
||||||
configureSW
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function configureSW -V dir
|
function configureSW -V dir
|
||||||
set -l configDir /etc/sddm.conf.d
|
set -l configDir /etc/sddm.conf.d
|
||||||
sudo systemctl enable sddm
|
sudo systemctl enable sddm
|
||||||
mkdir -p "$configDir"
|
sudo mkdir -p "$configDir"
|
||||||
sudo cp "$dir/wayland.conf" "$configDir/10-wayland.conf"
|
sudo cp "$dir/wayland.conf" "$configDir/10-wayland.conf"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
15
scripts/Arch/Software/sudo/main.fish
Executable file
15
scripts/Arch/Software/sudo/main.fish
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
pacinst sudo
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW
|
||||||
|
echo "%wheel ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/wheel > /dev/null
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
5
scripts/Arch/Software/vim/main.fish
Normal file → Executable file
5
scripts/Arch/Software/vim/main.fish
Normal file → Executable file
|
@ -12,8 +12,11 @@ begin
|
||||||
# Add clipboard support for wayland: https://www.reddit.com/r/Fedora/comments/ax9p9t/comment/jjb4p7b/
|
# Add clipboard support for wayland: https://www.reddit.com/r/Fedora/comments/ax9p9t/comment/jjb4p7b/
|
||||||
) vim-wayland-clipboard-git \
|
) vim-wayland-clipboard-git \
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
end
|
||||||
|
|
||||||
and configureSW
|
|
||||||
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/vim/main.fish" configure
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
31
scripts/Arch/Software/vscode/main.fish
Executable file
31
scripts/Arch/Software/vscode/main.fish
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst \
|
||||||
|
vscodium-bin \
|
||||||
|
visual-studio-code-bin (
|
||||||
|
# Trash functionality
|
||||||
|
) gvfs
|
||||||
|
end
|
||||||
|
|
||||||
|
function configureSW -V dir
|
||||||
|
set -l bins codium code
|
||||||
|
|
||||||
|
for bin in $bins
|
||||||
|
if type -q "$bin"
|
||||||
|
begin
|
||||||
|
set -l file "/etc/skel/.config/$bin-flags.conf"
|
||||||
|
sudo mkdir -p (dirname "$file")
|
||||||
|
echo "--touch-events" | sudo tee "$file" > /dev/null
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
fish "$dir/../../../Common/Software/vscode/main.fish" configure
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
20
scripts/Arch/Software/waydroid/main.fish
Executable file
20
scripts/Arch/Software/waydroid/main.fish
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/env fish
|
||||||
|
begin
|
||||||
|
set -l dir (status dirname)
|
||||||
|
source "$dir/../../Scripts/software.fish"
|
||||||
|
|
||||||
|
function installSW
|
||||||
|
yayinst (
|
||||||
|
# Waydroid prerequisite: https://wiki.archlinux.org/title/Waydroid#DKMS_modules
|
||||||
|
) binder_linux-dkms \
|
||||||
|
waydroid (
|
||||||
|
# For installing ARM suppot on waydroid
|
||||||
|
) waydroid-script-git (
|
||||||
|
# Clipboard support: https://wiki.archlinux.org/title/Waydroid#Failed_to_start_Clipboard_manager_service
|
||||||
|
) python-pyclip (
|
||||||
|
# Wayland clipboard support: https://github.com/spyoungtech/pyclip?tab=readme-ov-file#linux
|
||||||
|
) wl-clipboard
|
||||||
|
end
|
||||||
|
|
||||||
|
runInstaller $argv
|
||||||
|
end
|
0
scripts/Arch/Software/yay/main.fish
Normal file → Executable file
0
scripts/Arch/Software/yay/main.fish
Normal file → Executable file
5
scripts/Arch/Software/zoxide/main.fish
Normal file → Executable file
5
scripts/Arch/Software/zoxide/main.fish
Normal file → Executable file
|
@ -2,13 +2,14 @@
|
||||||
begin
|
begin
|
||||||
set -l dir (status dirname)
|
set -l dir (status dirname)
|
||||||
source "$dir/../../Scripts/software.fish"
|
source "$dir/../../Scripts/software.fish"
|
||||||
source "$dir/../../../Common/Software/zoxide/main.fish"
|
|
||||||
|
|
||||||
function installSW
|
function installSW
|
||||||
yayinst \
|
yayinst \
|
||||||
zoxide
|
zoxide
|
||||||
|
end
|
||||||
|
|
||||||
configureSW
|
function configureSW -V dir
|
||||||
|
fish "$dir/../../../Common/Software/zoxide/main.fish" configure
|
||||||
end
|
end
|
||||||
|
|
||||||
runInstaller $argv
|
runInstaller $argv
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||||
sudo cp ./firefox.sh /etc/profile.d/;
|
sudo cp ../../Software/Firefox/firefox.sh /etc/profile.d/;
|
||||||
popd > /dev/null;
|
popd > /dev/null;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
. "$PSScriptRoot/../../Software/powershell/profile.ps1";
|
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||||
|
|
||||||
Add-PowerShellProfileStatement `
|
Add-PowerShellProfileStatement `
|
||||||
-System `
|
-System `
|
||||||
-Category "oh-my-posh" `
|
-Category "oh-my-posh" `
|
||||||
-Statement $(
|
-Script $(
|
||||||
@(
|
@(
|
||||||
"# Oh My Posh!",
|
"# Oh My Posh!",
|
||||||
$(Get-ScriptInitializer "oh-my-posh init pwsh"),
|
$(Get-ScriptInitializer "oh-my-posh init pwsh"),
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
. "$PSScriptRoot/../../Software/powershell/profile.ps1";
|
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||||
|
|
||||||
foreach ($defaultUser in @($true, $false)) {
|
foreach ($defaultUser in @($true, $false)) {
|
||||||
Add-PowerShellProfileStatement -DefaultUser:$defaultUser -Statement "# aliae`naliae init pwsh | Invoke-Expression";
|
Add-PowerShellProfileStatement -DefaultUser:$defaultUser -Script "# aliae`naliae init pwsh | Invoke-Expression";
|
||||||
}
|
}
|
||||||
|
|
||||||
Add-PowerShellProfileStatement -System -Category "aliae" -Statement "# aliae`n$(Get-ScriptInitializer "aliae completion powershell")";
|
Add-PowerShellProfileStatement -System -Category "aliae" -Script "# aliae`n$(Get-ScriptInitializer "aliae completion powershell")";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
pushd "${BASH_SOURCE%/*}/../../Software/rclone" > /dev/null;
|
||||||
|
|
||||||
sudo cp "rclone.service" "rclone.target" "rclone@.service" /etc/systemd/user;
|
sudo cp "rclone.service" "rclone.target" "rclone@.service" /etc/systemd/user;
|
||||||
systemctl enable --user rclone;
|
systemctl enable --user rclone;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/pwsh
|
#!/bin/pwsh
|
||||||
. "$PSScriptRoot/../../Software/powershell/profile.ps1";
|
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||||
|
|
||||||
Add-PowerShellProfileStatement `
|
Add-PowerShellProfileStatement `
|
||||||
-System `
|
-System `
|
||||||
-Category "zoxide" `
|
-Category "zoxide" `
|
||||||
-Statement $(
|
-Script $(
|
||||||
@(
|
@(
|
||||||
"# zoxide",
|
"# zoxide",
|
||||||
$(Get-ScriptInitializer "zoxide init powershell | Out-String")
|
$(Get-ScriptInitializer "zoxide init powershell | Out-String")
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue