diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d43b8e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Python bytecode +__pycache__ +*.pyc diff --git a/Pipfile b/Pipfile index 43c9b86..2270582 100644 --- a/Pipfile +++ b/Pipfile @@ -1,20 +1,12 @@ [[source]] - url = "https://pypi.python.org/simple" verify_ssl = true name = "pypi" - [packages] - mako = "*" toml = "*" - +pyyaml = "*" +requests = "*" [dev-packages] - - - -[requires] - -python_version = "3.6" diff --git a/Pipfile.lock b/Pipfile.lock index 98bfd21..174b596 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,25 +1,10 @@ { "_meta": { "hash": { - "sha256": "aa3152fd503bd5d4cad9dccb32c96b17ad9ba583118340e3a8c4d7ef86a5acf0" - }, - "host-environment-markers": { - "implementation_name": "cpython", - "implementation_version": "3.6.5", - "os_name": "posix", - "platform_machine": "x86_64", - "platform_python_implementation": "CPython", - "platform_release": "4.19.9-gentoo", - "platform_system": "Linux", - "platform_version": "#20 SMP PREEMPT Sun Jan 27 17:32:41 CST 2019", - "python_full_version": "3.6.5", - "python_version": "3.6", - "sys_platform": "linux" + "sha256": "6dd7401b01b42acded1cd79ddaf80273fb3be8f90eee6ccd13010c388fdc3f8a" }, "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, + "requires": {}, "sources": [ { "name": "pypi", @@ -29,52 +14,112 @@ ] }, "default": { + "certifi": { + "hashes": [ + "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", + "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" + ], + "version": "==2019.11.28" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "version": "==3.0.4" + }, + "idna": { + "hashes": [ + "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", + "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa" + ], + "version": "==2.9" + }, "mako": { "hashes": [ - "sha256:4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" + "sha256:3139c5d64aa5d175dbafb95027057128b5fbd05a40c53999f3905ceb53366d9d", + "sha256:8e8b53c71c7e59f3de716b6832c4e401d903af574f6962edbbbf6ecc2a5fe6c9" ], - "version": "==1.0.7" + "index": "pypi", + "version": "==1.1.2" }, "markupsafe": { "hashes": [ - "sha256:efdc45ef1afc238db84cb4963aa689c0408912a0239b0721cb172b4016eb31d6", - "sha256:52ccb45e77a1085ec5461cde794e1aa037df79f473cbc69b974e73940655c8d7", - "sha256:525396ee324ee2da82919f2ee9c9e73b012f23e7640131dd1b53a90206a0f09c", - "sha256:5c3fbebd7de20ce93103cb3183b47671f2885307df4a17a0ad56a1dd51273d36", - "sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd", - "sha256:31cbb1359e8c25f9f48e156e59e2eaad51cd5242c05ed18a8de6dbe85184e4b7", - "sha256:edce2ea7f3dfc981c4ddc97add8a61381d9642dc3273737e756517cc03e84dd6", - "sha256:19f637c2ac5ae9da8bfd98cef74d64b7e1bb8a63038a3505cd182c3fac5eb4d9", - "sha256:98e439297f78fca3a6169fd330fbe88d78b3bb72f967ad9961bcac0d7fdd1550", - "sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1", - "sha256:1fa6058938190ebe8290e5cae6c351e14e7bb44505c4a7624555ce57fbbeba0d", - "sha256:e982fe07ede9fada6ff6705af70514a52beb1b2c3d25d4e873e82114cf3c5401", - "sha256:5e5851969aea17660e55f6a3be00037a25b96a9b44d2083651812c99d53b14d1", - "sha256:f137c02498f8b935892d5c0172560d7ab54bc45039de8805075e19079c639a9c", - "sha256:3e835d8841ae7863f64e40e19477f7eb398674da6a47f09871673742531e6f4b", - "sha256:5edfa27b2d3eefa2210fb2f5d539fbed81722b49f083b2c6566455eb7422fd7e", - "sha256:857eebb2c1dc60e4219ec8e98dfa19553dae33608237e107db9c6078b1167856", - "sha256:bf54103892a83c64db58125b3f2a43df6d2cb2d28889f14c78519394feb41492", - "sha256:048ef924c1623740e70204aa7143ec592504045ae4429b59c30054cb31e3c432", - "sha256:83381342bfc22b3c8c06f2dd93a505413888694302de25add756254beee8449c", - "sha256:130f844e7f5bdd8e9f3f42e7102ef1d49b2e6fdf0d7526df3f87281a532d8c8b", - "sha256:52b07fbc32032c21ad4ab060fec137b76eb804c4b9a1c7c7dc562549306afad2", - "sha256:1f19ef5d3908110e1e891deefb5586aae1b49a7440db952454b4e281b41620cd", - "sha256:1b8a7a87ad1b92bd887568ce54b23565f3fd7018c4180136e1cf412b405a47af", - "sha256:d9ac82be533394d341b41d78aca7ed0e0f4ba5a2231602e2f05aa87f25c51672", - "sha256:1c25694ca680b6919de53a4bb3bdd0602beafc63ff001fea2f2fc16ec3a11834", - "sha256:7d263e5770efddf465a9e31b78362d84d015cc894ca2c131901a4445eaa61ee1", - "sha256:4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3" + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", + "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" ], - "version": "==1.1.0" + "version": "==1.1.1" + }, + "pyyaml": { + "hashes": [ + "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", + "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", + "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", + "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", + "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", + "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", + "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", + "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", + "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", + "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", + "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" + ], + "index": "pypi", + "version": "==5.3.1" + }, + "requests": { + "hashes": [ + "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", + "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6" + ], + "index": "pypi", + "version": "==2.23.0" }, "toml": { "hashes": [ - "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e", - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c" + "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", + "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" ], + "index": "pypi", "version": "==0.10.0" + }, + "urllib3": { + "hashes": [ + "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", + "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc" + ], + "version": "==1.25.8" } }, "develop": {} diff --git a/hosts/ayypad.toml b/hosts/ayypad.toml index a6ce5e3..0e6a862 100644 --- a/hosts/ayypad.toml +++ b/hosts/ayypad.toml @@ -1,3 +1,4 @@ +base16-scheme = "seti" wireless = ["wlp4s0"] ethernet = ["enp2s0"] disks = ["/", "/home", "/media/hdd"] diff --git a/install.py b/install.py index cb008ac..a1516a8 100755 --- a/install.py +++ b/install.py @@ -5,11 +5,25 @@ import os import shutil import socket import sys +from functools import partial from pathlib import Path import mako.lookup import mako.template +import requests import toml +import yaml + +BASE16_TEMPLATES_URL = 'https://raw.githubusercontent.com/chriskempson/base16-templates-source/master/list.yaml' +BASE16_TEMPLATES = yaml.safe_load(requests.get(BASE16_TEMPLATES_URL).text) + + +def get_base16(scheme, app, template='default'): + base_url = BASE16_TEMPLATES[app].replace('github.com', 'raw.githubusercontent.com') + '/master/'; + config = yaml.safe_load(requests.get(base_url + 'templates/config.yaml').text) + output = config[template]['output'] + extension = config[template]['extension'] + return requests.get(base_url + output + '/base16-' + scheme + extension).text def main(): @@ -75,7 +89,8 @@ def main(): lookup=lookup, ) output = template.render( - host=host_config + host=host_config, + get_base16=partial(get_base16, host_config.get('base16-scheme', 'default-dark')), ) output_path = args.home / template_path.relative_to(templates_dir) output_path.parent.mkdir(parents=True, exist_ok=True) @@ -83,4 +98,5 @@ def main(): output_file.write(output) -main() +if __name__ == '__main__': + main() diff --git a/templates/.config/alacritty/alacritty.yml b/templates/.config/alacritty/alacritty.yml index 4b46f9e..5ae008c 100644 --- a/templates/.config/alacritty/alacritty.yml +++ b/templates/.config/alacritty/alacritty.yml @@ -15,42 +15,9 @@ font: italic: family: monospace style: Italic - size: 8 + size: 7.5 -draw_bold_text_with_bright_colors: true - -colors: - primary: - background: '0x000000' - foreground: '0xeaeaea' - - cursor: - text: '0x000000' - cursor: '0xffffff' - - selection: - text: '0xeaeaea' - background: '0x404040' - - normal: - black: '0x000000' - red: '0xcd0000' - green: '0x00cd00' - yellow: '0xcdcd00' - blue: '0x0000ee' - magenta: '0xcd00cd' - cyan: '0x00cdcd' - white: '0xe5e5e5' - - bright: - black: '0x7f7f7f' - red: '0xff0000' - green: '0x00ff00' - yellow: '0xffff00' - blue: '0x5c5cff' - magenta: '0xff00ff' - cyan: '0x00ffff' - white: '0xffffff' +${get_base16('alacritty')} visual_bell: animation: EaseOutExpo diff --git a/templates/.vim/colors/base16.vim b/templates/.vim/colors/base16.vim new file mode 100644 index 0000000..7d33c19 --- /dev/null +++ b/templates/.vim/colors/base16.vim @@ -0,0 +1 @@ +${get_base16('vim')} diff --git a/templates/.vimrc b/templates/.vimrc index 28de79b..53b452f 100644 --- a/templates/.vimrc +++ b/templates/.vimrc @@ -4,6 +4,7 @@ set number set showcmd set showmatch set wildmenu +colorscheme base16 " behavior noremap j gj