diff --git a/.circleci/config.yml b/.circleci/config.yml index aa7fe97..5b7c4a8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,13 +3,17 @@ version: 2.0 jobs: build: docker: - - image: circleci/ruby:latest + - image: circleci/python:latest working_directory: ~/dotfiles steps: - checkout - - run: gem install puppet-lint - - run: puppet-lint modules/ -c .puppet-lint.rc - - run: puppet-lint manifests/ -c .puppet-lint.rc - - run: - name: Checkout submodules - command: git submodule sync && git submodule update --init + - restore_cache: + key: cache-{{ .Branch }}-{{ checksum "Pipfile.lock" }} + - run: pipenv install + - run: git clone https://github.com/kewlfft/ansible-aur.git ~/.ansible/plugins/modules/aur --depth=1 + - save_cache: + key: cache-{{ .Branch }}-{{ checksum "Pipfile.lock" }} + paths: + - "/home/circleci/.local/share/virtualenvs" + - run: pipenv run test + - run: pipenv run check diff --git a/.gitignore b/.gitignore index c1b0a7e..64f4f3e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .csync_* .owncloudsync.log config/jetbrains-settings.jar +*.retry diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..0d6fdbc --- /dev/null +++ b/Pipfile @@ -0,0 +1,18 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +ansible = "*" +yamllint = "*" + +[dev-packages] + +[requires] +python_version = "3.7" + +[scripts] +deploy = "sudo ansible-playbook -i hosts dotfiles.yml" +check = "ansible-playbook -i hosts dotfiles.yml --syntax-check" +test = "yamllint -sc yamllint.yml yamllint.yml dotfiles.yml tasks/ vars.yml" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..1b5daa5 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,248 @@ +{ + "_meta": { + "hash": { + "sha256": "cde713a059daf0ab9ef994a0e348ab8c7d15ecd78d0f5f7d2a18b507da9878a6" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "ansible": { + "hashes": [ + "sha256:e06b795372fd7a6d0b46b8f105497fb637fbd323f5aec1d8e51fd60cd98047e1" + ], + "index": "pypi", + "version": "==2.6.4" + }, + "asn1crypto": { + "hashes": [ + "sha256:2f1adbb7546ed199e3c90ef23ec95c5cf3585bac7d11fb7eb562a3fe89c64e87", + "sha256:9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49" + ], + "version": "==0.24.0" + }, + "bcrypt": { + "hashes": [ + "sha256:01477981abf74e306e8ee31629a940a5e9138de000c6b0898f7f850461c4a0a5", + "sha256:054d6e0acaea429e6da3613fcd12d05ee29a531794d96f6ab959f29a39f33391", + "sha256:0872eeecdf9a429c1420158500eedb323a132bc5bf3339475151c52414729e70", + "sha256:09a3b8c258b815eadb611bad04ca15ec77d86aa9ce56070e1af0d5932f17642a", + "sha256:0f317e4ffbdd15c3c0f8ab5fbd86aa9aabc7bea18b5cc5951b456fe39e9f738c", + "sha256:2788c32673a2ad0062bea850ab73cffc0dba874db10d7a3682b6f2f280553f20", + "sha256:321d4d48be25b8d77594d8324c0585c80ae91ac214f62db9098734e5e7fb280f", + "sha256:346d6f84ff0b493dbc90c6b77136df83e81f903f0b95525ee80e5e6d5e4eef84", + "sha256:34dd60b90b0f6de94a89e71fcd19913a30e83091c8468d0923a93a0cccbfbbff", + "sha256:3b4c23300c4eded8895442c003ae9b14328ae69309ac5867e7530de8bdd7875d", + "sha256:43d1960e7db14042319c46925892d5fa99b08ff21d57482e6f5328a1aca03588", + "sha256:49e96267cd9be55a349fd74f9852eb9ae2c427cd7f6455d0f1765d7332292832", + "sha256:63e06ffdaf4054a89757a3a1ab07f1b922daf911743114a54f7c561b9e1baa58", + "sha256:67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d", + "sha256:6b662a5669186439f4f583636c8d6ea77cf92f7cfe6aae8d22edf16c36840574", + "sha256:6efd9ca20aefbaf2e7e6817a2c6ed4a50ff6900fafdea1bcb1d0e9471743b144", + "sha256:8569844a5d8e1fdde4d7712a05ab2e6061343ac34af6e7e3d7935b2bd1907bfd", + "sha256:8629ea6a8a59f865add1d6a87464c3c676e60101b8d16ef404d0a031424a8491", + "sha256:988cac675e25133d01a78f2286189c1f01974470817a33eaf4cfee573cfb72a5", + "sha256:9a6fedda73aba1568962f7543a1f586051c54febbc74e87769bad6a4b8587c39", + "sha256:9eced8962ce3b7124fe20fd358cf8c7470706437fa064b9874f849ad4c5866fc", + "sha256:a005ed6163490988711ff732386b08effcbf8df62ae93dd1e5bda0714fad8afb", + "sha256:ae35dbcb6b011af6c840893b32399252d81ff57d52c13e12422e16b5fea1d0fb", + "sha256:b1e8491c6740f21b37cca77bc64677696a3fb9f32360794d57fa8477b7329eda", + "sha256:c906bdb482162e9ef48eea9f8c0d967acceb5c84f2d25574c7d2a58d04861df1", + "sha256:cb18ffdc861dbb244f14be32c47ab69604d0aca415bee53485fcea4f8e93d5ef", + "sha256:cc2f24dc1c6c88c56248e93f28d439ee4018338567b0bbb490ea26a381a29b1e", + "sha256:d860c7fff18d49e20339fc6dffc2d485635e36d4b2cccf58f45db815b64100b4", + "sha256:d86da365dda59010ba0d1ac45aa78390f56bf7f992e65f70b3b081d5e5257b09", + "sha256:e22f0997622e1ceec834fd25947dc2ee2962c2133ea693d61805bc867abaf7ea", + "sha256:f2fe545d27a619a552396533cddf70d83cecd880a611cdfdbb87ca6aec52f66b", + "sha256:f425e925485b3be48051f913dbe17e08e8c48588fdf44a26b8b14067041c0da6", + "sha256:f7fd3ed3745fe6e81e28dc3b3d76cce31525a91f32a387e1febd6b982caf8cdb", + "sha256:f9210820ee4818d84658ed7df16a7f30c9fba7d8b139959950acef91745cc0f7" + ], + "version": "==3.1.4" + }, + "cffi": { + "hashes": [ + "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743", + "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef", + "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50", + "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f", + "sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30", + "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93", + "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257", + "sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b", + "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3", + "sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e", + "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc", + "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04", + "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6", + "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359", + "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596", + "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b", + "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd", + "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95", + "sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5", + "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e", + "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6", + "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca", + "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31", + "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1", + "sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2", + "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085", + "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801", + "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4", + "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184", + "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917", + "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f", + "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb" + ], + "version": "==1.11.5" + }, + "cryptography": { + "hashes": [ + "sha256:02602e1672b62e803e08617ec286041cc453e8d43f093a5f4162095506bc0beb", + "sha256:10b48e848e1edb93c1d3b797c83c72b4c387ab0eb4330aaa26da8049a6cbede0", + "sha256:17db09db9d7c5de130023657be42689d1a5f60502a14f6f745f6f65a6b8195c0", + "sha256:227da3a896df1106b1a69b1e319dce218fa04395e8cc78be7e31ca94c21254bc", + "sha256:2cbaa03ac677db6c821dac3f4cdfd1461a32d0615847eedbb0df54bb7802e1f7", + "sha256:31db8febfc768e4b4bd826750a70c79c99ea423f4697d1dab764eb9f9f849519", + "sha256:4a510d268e55e2e067715d728e4ca6cd26a8e9f1f3d174faf88e6f2cb6b6c395", + "sha256:6a88d9004310a198c474d8a822ee96a6dd6c01efe66facdf17cb692512ae5bc0", + "sha256:76936ec70a9b72eb8c58314c38c55a0336a2b36de0c7ee8fb874a4547cadbd39", + "sha256:7e3b4aecc4040928efa8a7cdaf074e868af32c58ffc9bb77e7bf2c1a16783286", + "sha256:8168bcb08403ef144ff1fb880d416f49e2728101d02aaadfe9645883222c0aa5", + "sha256:8229ceb79a1792823d87779959184a1bf95768e9248c93ae9f97c7a2f60376a1", + "sha256:8a19e9f2fe69f6a44a5c156968d9fc8df56d09798d0c6a34ccc373bb186cee86", + "sha256:8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6", + "sha256:be495b8ec5a939a7605274b6e59fbc35e76f5ad814ae010eb679529671c9e119", + "sha256:dc2d3f3b1548f4d11786616cf0f4415e25b0fbecb8a1d2cd8c07568f13fdde38", + "sha256:e4aecdd9d5a3d06c337894c9a6e2961898d3f64fe54ca920a72234a3de0f9cb3", + "sha256:e79ab4485b99eacb2166f3212218dd858258f374855e1568f728462b0e6ee0d9", + "sha256:f995d3667301e1754c57b04e0bae6f0fa9d710697a9f8d6712e8cca02550910f" + ], + "version": "==2.3.1" + }, + "idna": { + "hashes": [ + "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e", + "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16" + ], + "version": "==2.7" + }, + "jinja2": { + "hashes": [ + "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd", + "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4" + ], + "version": "==2.10" + }, + "markupsafe": { + "hashes": [ + "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665" + ], + "version": "==1.0" + }, + "paramiko": { + "hashes": [ + "sha256:24fb31c947de85fbdeca09e222d41206781581fb0bdf118d2ef18f6e414cd388", + "sha256:33e36775a6c71790ba7692a73f948b329cf9295a72b0102144b031114bd2a4f3" + ], + "version": "==2.4.1" + }, + "pathspec": { + "hashes": [ + "sha256:69ac7869c9ce308cfe631e29c09f9da60fae02baf31418885bbbb0c75adcd8c5" + ], + "version": "==0.5.7" + }, + "pyasn1": { + "hashes": [ + "sha256:b9d3abc5031e61927c82d4d96c1cec1e55676c1a991623cfed28faea73cdd7ca", + "sha256:f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137" + ], + "version": "==0.4.4" + }, + "pycparser": { + "hashes": [ + "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226" + ], + "version": "==2.18" + }, + "pynacl": { + "hashes": [ + "sha256:04e30e5bdeeb2d5b34107f28cd2f5bbfdc6c616f3be88fc6f53582ff1669eeca", + "sha256:0bfa0d94d2be6874e40f896e0a67e290749151e7de767c5aefbad1121cad7512", + "sha256:11aa4e141b2456ce5cecc19c130e970793fa3a2c2e6fbb8ad65b28f35aa9e6b6", + "sha256:13bdc1fe084ff9ac7653ae5a924cae03bf4bb07c6667c9eb5b6eb3c570220776", + "sha256:14339dc233e7a9dda80a3800e64e7ff89d0878ba23360eea24f1af1b13772cac", + "sha256:1d33e775fab3f383167afb20b9927aaf4961b953d76eeb271a5703a6d756b65b", + "sha256:2a42b2399d0428619e58dac7734838102d35f6dcdee149e0088823629bf99fbb", + "sha256:2dce05ac8b3c37b9e2f65eab56c544885607394753e9613fd159d5e2045c2d98", + "sha256:63cfccdc6217edcaa48369191ae4dca0c390af3c74f23c619e954973035948cd", + "sha256:6453b0dae593163ffc6db6f9c9c1597d35c650598e2c39c0590d1757207a1ac2", + "sha256:73a5a96fb5fbf2215beee2353a128d382dbca83f5341f0d3c750877a236569ef", + "sha256:8abb4ef79161a5f58848b30ab6fb98d8c466da21fdd65558ce1d7afc02c70b5f", + "sha256:8ac1167195b32a8755de06efd5b2d2fe76fc864517dab66aaf65662cc59e1988", + "sha256:8f505f42f659012794414fa57c498404e64db78f1d98dfd40e318c569f3c783b", + "sha256:9c8a06556918ee8e3ab48c65574f318f5a0a4d31437fc135da7ee9d4f9080415", + "sha256:a1e25fc5650cf64f01c9e435033e53a4aca9de30eb9929d099f3bb078e18f8f2", + "sha256:be71cd5fce04061e1f3d39597f93619c80cdd3558a6c9ba99a546f144a8d8101", + "sha256:c5b1a7a680218dee9da0f1b5e24072c46b3c275d35712bc1d505b85bb03441c0", + "sha256:cb785db1a9468841a1265c9215c60fe5d7af2fb1b209e3316a152704607fc582", + "sha256:cf6877124ae6a0698404e169b3ba534542cfbc43f939d46b927d956daf0a373a", + "sha256:d0eb5b2795b7ee2cbcfcadacbe95a13afbda048a262bd369da9904fecb568975", + "sha256:d3a934e2b9f20abac009d5b6951067cfb5486889cb913192b4d8288b216842f1", + "sha256:d795f506bcc9463efb5ebb0f65ed77921dcc9e0a50499dedd89f208445de9ecb", + "sha256:d8aaf7e5d6b0e0ef7d6dbf7abeb75085713d0100b4eb1a4e4e857de76d77ac45", + "sha256:de2aaca8386cf4d70f1796352f2346f48ddb0bed61dc43a3ce773ba12e064031", + "sha256:e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9", + "sha256:eb2acabbd487a46b38540a819ef67e477a674481f84a82a7ba2234b9ba46f752", + "sha256:eeee629828d0eb4f6d98ac41e9a3a6461d114d1d0aa111a8931c049359298da0", + "sha256:f5836463a3c0cca300295b229b6c7003c415a9d11f8f9288ddbd728e2746524c", + "sha256:f5ce9e26d25eb0b2d96f3ef0ad70e1d3ae89b5d60255c462252a3e456a48c053", + "sha256:fabf73d5d0286f9e078774f3435601d2735c94ce9e514ac4fb945701edead7e4" + ], + "version": "==1.2.1" + }, + "pyyaml": { + "hashes": [ + "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b", + "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf", + "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a", + "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3", + "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1", + "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1", + "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613", + "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04", + "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f", + "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537", + "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531" + ], + "version": "==3.13" + }, + "six": { + "hashes": [ + "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9", + "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + ], + "version": "==1.11.0" + }, + "yamllint": { + "hashes": [ + "sha256:93e255e4bd96c7c0850bf182b09f6b35625130f15b37a0e03d8bf378d747081c", + "sha256:e9b7dec24921ef13180902e5dbcaae9157c773e3e3e2780ef77d3a4dd67d799f" + ], + "index": "pypi", + "version": "==1.11.1" + } + }, + "develop": {} +} diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index 7685fdf..0000000 --- a/deploy.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e - -puppet apply manifests/pre-packages.pp --modulepath=modules/ --verbose - -patch /usr/bin/makepkg -N < makepkg.patch -puppet apply manifests/packages.pp --verbose -patch /usr/bin/makepkg -NR < makepkg.patch - -puppet apply manifests/main.pp --modulepath=modules/ --verbose -puppet apply manifests/devices.pp --modulepath=modules/ --verbose diff --git a/dotfiles.yml b/dotfiles.yml new file mode 100644 index 0000000..0fd868c --- /dev/null +++ b/dotfiles.yml @@ -0,0 +1,24 @@ +- hosts: local + connection: local + tasks: + - ping: + - include_vars: + file: vars.yml + - import_tasks: tasks/packages.yml + - import_tasks: tasks/common.yml + - import_tasks: tasks/config.yml + - import_tasks: tasks/vim.yml + - import_tasks: tasks/private.yml + - import_tasks: tasks/vscode.yml + - import_tasks: tasks/gnome.yml + - import_tasks: tasks/i3.yml + - import_tasks: tasks/services.yml + - import_tasks: tasks/shell.yml + - import_tasks: tasks/yaourt.yml + - import_tasks: tasks/fonts.yml + - import_tasks: tasks/autostart.yml + + - import_tasks: tasks/dabapps.yml + when: ansible_fqdn == "TOO-Work" + - import_tasks: tasks/laptop.yml + when: ansible_fqdn == "TOO-Laptop" diff --git a/modules/yaourt/files/.yaourtrc b/files/.yaourtrc similarity index 100% rename from modules/yaourt/files/.yaourtrc rename to files/.yaourtrc diff --git a/modules/gnome/files/Templates/Empty HTML File b/files/Templates/Empty HTML File similarity index 100% rename from modules/gnome/files/Templates/Empty HTML File rename to files/Templates/Empty HTML File diff --git a/modules/gnome/files/Templates/Empty Node Script b/files/Templates/Empty Node Script similarity index 100% rename from modules/gnome/files/Templates/Empty Node Script rename to files/Templates/Empty Node Script diff --git a/modules/gnome/files/Templates/Empty Python File b/files/Templates/Empty Python File similarity index 100% rename from modules/gnome/files/Templates/Empty Python File rename to files/Templates/Empty Python File diff --git a/modules/gnome/files/Templates/Empty Shell Script b/files/Templates/Empty Shell Script similarity index 100% rename from modules/gnome/files/Templates/Empty Shell Script rename to files/Templates/Empty Shell Script diff --git a/modules/gnome/files/Templates/Empty Text File b/files/Templates/Empty Text File similarity index 100% rename from modules/gnome/files/Templates/Empty Text File rename to files/Templates/Empty Text File diff --git a/modules/config/files/alacritty.yml b/files/alacritty.yml similarity index 99% rename from modules/config/files/alacritty.yml rename to files/alacritty.yml index 93ba561..7ffea5b 100644 --- a/modules/config/files/alacritty.yml +++ b/files/alacritty.yml @@ -246,9 +246,7 @@ live_config_reload: true # Entries in shell.args are passed unmodified as arguments to the shell. # # shell: -# program: /bin/bash -# args: -# - --login +# program: /usr/bin/tmux # Key bindings # diff --git a/modules/config/files/assh.yml b/files/assh.yml similarity index 100% rename from modules/config/files/assh.yml rename to files/assh.yml diff --git a/modules/shell/files/bin/json_format b/files/bin/json_format similarity index 100% rename from modules/shell/files/bin/json_format rename to files/bin/json_format diff --git a/modules/config/files/caret-preferences.md b/files/caret-preferences.md similarity index 100% rename from modules/config/files/caret-preferences.md rename to files/caret-preferences.md diff --git a/modules/i3/files/compton.conf b/files/compton.conf similarity index 100% rename from modules/i3/files/compton.conf rename to files/compton.conf diff --git a/modules/i3/files/dunst.conf b/files/dunst.conf similarity index 100% rename from modules/i3/files/dunst.conf rename to files/dunst.conf diff --git a/modules/config/templates/gitconfig.conf.erb b/files/gitconfig.conf similarity index 86% rename from modules/config/templates/gitconfig.conf.erb rename to files/gitconfig.conf index 2d2a1a1..a8080bd 100644 --- a/modules/config/templates/gitconfig.conf.erb +++ b/files/gitconfig.conf @@ -13,11 +13,11 @@ [include] path = ~/.dotfiles/git/private.conf -<% if @trusted['hostname'] == 'too-work' -%> +{% if ansible_fqdn == "TOO-Work" %} path = ~/.dotfiles/git/work.conf -<% else -%> +{% else %} path = ~/.dotfiles/git/personal.conf -<% end -%> +{% endif %} [includeIf "gitdir:~/sourcebots/"] path = ~/.dotfiles/git/sourcebots.conf diff --git a/modules/config/files/gitignore_global b/files/gitignore_global similarity index 100% rename from modules/config/files/gitignore_global rename to files/gitignore_global diff --git a/modules/shell/files/global-environment b/files/global-environment similarity index 82% rename from modules/shell/files/global-environment rename to files/global-environment index 0eca061..976defc 100644 --- a/modules/shell/files/global-environment +++ b/files/global-environment @@ -6,3 +6,6 @@ ARCHFLAGS="-arch x86_64" SSH_AUTH_SOCK=/tmp/ssh-agent-jake.sock TERMINATOR=/usr/bin/tilix NNN_DE_FILE_MANAGER=nautilus +GTK_IM_MODULE=ibus +XMODIFIERS=@im=ibus +QT_IM_MODULE=ibus diff --git a/modules/i3/files/i3.conf b/files/i3.conf similarity index 98% rename from modules/i3/files/i3.conf rename to files/i3.conf index d7236ee..53ba61d 100644 --- a/modules/i3/files/i3.conf +++ b/files/i3.conf @@ -30,7 +30,7 @@ bindsym $mod+K exec --no-startup-id keepassxc bindsym $mod+l exec --no-startup-id betterlockscreen -l dimblur bindsym $mod+d exec --no-startup-id rofi -show drun -sidebar-mode bindsym $mod+Tab exec --no-startup-id rofi -show window -bindsym $mod+Return exec tilix +bindsym $mod+Return exec alacritty bindsym $mod+n exec --no-startup-id nautilus bindsym $mod+Shift+g exec --no-startup-id gvim bindsym Control+Shift+Escape exec --no-startup-id gnome-system-monitor @@ -128,6 +128,7 @@ bindsym $mod+g mode "gaps" exec /usr/lib/polkit-1/polkitd --no-debug exec dex -as ~/.config/autostart exec compton --dbus --xrender-sync-fence +exec /usr/bin/ibus-daemon exec --no-startup-id tbg ~/Upload/bg/ -m 1 -c "betterlockscreen -u /_" exec ssh-agent -Da /tmp/ssh-agent-$USER.sock exec keepassxc diff --git a/modules/i3/templates/i3status-rust.toml.erb b/files/i3status-rust.toml similarity index 89% rename from modules/i3/templates/i3status-rust.toml.erb rename to files/i3status-rust.toml index 3d17923..7ef694c 100644 --- a/modules/i3/templates/i3status-rust.toml.erb +++ b/files/i3status-rust.toml @@ -31,11 +31,11 @@ block = "sound" interval = 1 step_width = 2 -<% if @trusted['hostname'] == 'too-laptop' -%> +{% if ansible_fqdn == "TOO-Laptop" %} [[block]] block = "battery" interval = 5 -<% end -%> +{% endif %} [[block]] block = "time" diff --git a/modules/i3/files/i3status.conf b/files/i3status.conf similarity index 100% rename from modules/i3/files/i3status.conf rename to files/i3status.conf diff --git a/modules/config/files/libinput-gestures.conf b/files/libinput-gestures.conf similarity index 100% rename from modules/config/files/libinput-gestures.conf rename to files/libinput-gestures.conf diff --git a/modules/yaourt/files/pacman.conf b/files/pacman.conf similarity index 100% rename from modules/yaourt/files/pacman.conf rename to files/pacman.conf diff --git a/modules/i3/files/powertop.service b/files/powertop.service similarity index 100% rename from modules/i3/files/powertop.service rename to files/powertop.service diff --git a/modules/config/files/rofi.conf b/files/rofi.conf similarity index 100% rename from modules/config/files/rofi.conf rename to files/rofi.conf diff --git a/modules/config/files/terminator.conf b/files/terminator.conf similarity index 100% rename from modules/config/files/terminator.conf rename to files/terminator.conf diff --git a/modules/devices/files/tlp.conf b/files/tlp.conf similarity index 100% rename from modules/devices/files/tlp.conf rename to files/tlp.conf diff --git a/modules/shell/files/tmux.conf b/files/tmux.conf similarity index 100% rename from modules/shell/files/tmux.conf rename to files/tmux.conf diff --git a/modules/config/files/touchpad.conf b/files/touchpad.conf similarity index 100% rename from modules/config/files/touchpad.conf rename to files/touchpad.conf diff --git a/modules/config/files/uniemoji.json b/files/uniemoji.json similarity index 100% rename from modules/config/files/uniemoji.json rename to files/uniemoji.json diff --git a/modules/config/files/vimrc b/files/vimrc similarity index 100% rename from modules/config/files/vimrc rename to files/vimrc diff --git a/modules/config/files/vscode-keybindings.json b/files/vscode-keybindings.json similarity index 100% rename from modules/config/files/vscode-keybindings.json rename to files/vscode-keybindings.json diff --git a/modules/config/files/vscode-settings.json b/files/vscode-settings.json similarity index 100% rename from modules/config/files/vscode-settings.json rename to files/vscode-settings.json diff --git a/modules/shell/files/.zshrc b/files/zshrc/.zshrc similarity index 82% rename from modules/shell/files/.zshrc rename to files/zshrc/.zshrc index fb94bda..4fcc127 100644 --- a/modules/shell/files/.zshrc +++ b/files/zshrc/.zshrc @@ -29,3 +29,10 @@ export PROMPT="${ret_status} %{$fg_bold[green]%}%n@%m%{$reset_color%}:%{$fg_bold COMPLETION_WAITING_DOTS="true" alias src="source $HOME/.zshrc" + + +{% include "base.sh" %} +{% include "environment.sh" %} +{% include "applications.sh" %} +{% include "catfish.sh" %} +{% include "javascript.sh" %} diff --git a/modules/shell/files/applications.sh b/files/zshrc/applications.sh similarity index 97% rename from modules/shell/files/applications.sh rename to files/zshrc/applications.sh index af021c8..2f6b16d 100644 --- a/modules/shell/files/applications.sh +++ b/files/zshrc/applications.sh @@ -59,7 +59,3 @@ alias yolo="yaourt -Syyau --noconfirm" alias sc="screenshot --to img" alias clip="xclip -selection clipboard" alias cl="climate" - -recreatedb() { - dropdb $1 && createdb $1 -} diff --git a/modules/shell/files/base.sh b/files/zshrc/base.sh similarity index 100% rename from modules/shell/files/base.sh rename to files/zshrc/base.sh diff --git a/modules/shell/files/catfish.sh b/files/zshrc/catfish.sh similarity index 100% rename from modules/shell/files/catfish.sh rename to files/zshrc/catfish.sh diff --git a/modules/shell/files/environment.sh b/files/zshrc/environment.sh similarity index 100% rename from modules/shell/files/environment.sh rename to files/zshrc/environment.sh diff --git a/modules/shell/files/javascript.sh b/files/zshrc/javascript.sh similarity index 85% rename from modules/shell/files/javascript.sh rename to files/zshrc/javascript.sh index bfc3691..2fc77d2 100644 --- a/modules/shell/files/javascript.sh +++ b/files/zshrc/javascript.sh @@ -35,7 +35,3 @@ nr() { alias nrc="npm run coverage" alias nrm="npm run mocha" alias nvmu="nvm use" - -# React-native extras -alias rnl="adb logcat | grep ReactNative" -alias rn="react-native" diff --git a/hosts b/hosts new file mode 100644 index 0000000..75474c8 --- /dev/null +++ b/hosts @@ -0,0 +1,2 @@ +[local] +127.0.0.1 diff --git a/manifests/devices.pp b/manifests/devices.pp deleted file mode 100644 index 40ecac0..0000000 --- a/manifests/devices.pp +++ /dev/null @@ -1,9 +0,0 @@ -node default {} - -node 'too-laptop' { - include devices::laptop -} - -node 'too-work' { - include devices::work -} diff --git a/manifests/main.pp b/manifests/main.pp deleted file mode 100644 index 28cef80..0000000 --- a/manifests/main.pp +++ /dev/null @@ -1,13 +0,0 @@ -node default { - Exec { - path => ['/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin'] - } - - include stdlib - - include common - include gnome - include config - include shell - include i3 -} diff --git a/manifests/packages.pp b/manifests/packages.pp deleted file mode 100644 index 6d5522f..0000000 --- a/manifests/packages.pp +++ /dev/null @@ -1,157 +0,0 @@ -node default { - package {[ - 'ttf-google-fonts-typewolf' - ]: - ensure => absent - } - - -> package {[ # Packages that need to be installed first - 'i3-gaps', - 'ttf-google-fonts-git', - 'i3lock-color-git' - ]: - ensure => installed - } - - -> package {[ - 'acpi', - 'advanced-ssh-config', - 'alacritty-git', - 'android-tools', - 'archstrike-keyring', - 'arduino', - 'bcm20702a1-firmware', - 'betterlockscreen', - 'bleachbit', - 'blender', - 'bluez-firmware', - 'brave-bin', - 'brightnessctl', - 'calibre', - 'caprine', - 'caret-bin', - 'catimg', - 'climate', - 'clamtk', - 'corebird', - 'compton', - 'deluge', - 'dex', - 'dmenu', - 'dunst', - 'etcher', - 'etcher-cli', - 'exa', - 'fasd', - 'feedreader', - 'feh', - 'filezilla', - 'firefox', - 'firefox-developer-edition', - 'fonts-meta-extended-lt', - 'gimp', - 'glogg', - 'google-earth-pro', - 'gparted', - 'grub-customizer', - 'grub2-theme-archlinux', - 'gvim', - 'handbrake', - 'hexchat', - 'htop', - 'i3status', - 'i3status-rust', - 'ibus', - 'ibus-uniemoji', - 'inkscape', - 'intellij-idea-ultimate-edition', - 'intellij-idea-ultimate-edition-jre', - 'intellij-jdk', - 'jdk', - 'jshon', - 'kdenlive', - 'keepassxc', - 'keybase-bin', - 'kodi', - 'libinput', - 'libinput-gestures', - 'lightdm', - 'lightdm-webkit2-greeter', - 'lxpolkit-git', - 'lxrandr', - 'minecraft', - 'mkchromecast', - 'nextcloud-client', - 'nnn', - 'nodejs', - 'numix-gtk-theme', - 'nvm', - 'obs-studio', - 'oh-my-zsh-git', - 'onlyoffice-bin', - 'otf-fira-code', - 'otf-font-awesome', - 'pacaur', - 'perl-file-mimeinfo', - 'pigz', - 'playerctl', - 'postgresql', - 'postman-bin', - 'powertop', - 'psensor', - 'pulseaudio-bluetooth-a2dp-gdm-fix', - 'pyenv', - 'pyenv-virtualenv', - 'python-pip', - 'python-virtualenv', - 'python2-pip', - 'python2-virtualenv', - 'qt5-styleplugins', - 'redis', - 'redshift', - 'reptyr', - 'rofi', - 'scrcpy', - 'screenfetch', - 'sl', - 'slack-desktop', - 'slack-term', - 'solaar', - 'spotify', - 'steam', - 'sublime-text', - 'sysstat', - 'tbg', - 'terminator', - 'thefuck', - 'thunderbird', - 'tig', - 'tmux', - 'tor-browser-en', - 'ttf-emojione', - 'ttf-fira-code', - 'ttf-font-awesome', - 'ttf-ms-fonts', - 'ttf-wps-fonts', - 'turtl', - 'tupload', - 'universal-ctags-git', - 'visual-studio-code-bin', - 'virtualbox', - 'vivaldi', - 'vlc', - 'whatsie', - 'wps-office', - 'wps-office-extension-english-uk-dictionary', - 'yaourt', - 'yubikey-manager', - 'yubikey-personalization-gui', - 'zeal', - 'zsh', - 'zsh-completions', - 'zsh-doc', - 'zsh-syntax-highlighting' - ]: - ensure => installed - } -} diff --git a/manifests/pre-packages.pp b/manifests/pre-packages.pp deleted file mode 100644 index 62ff7a5..0000000 --- a/manifests/pre-packages.pp +++ /dev/null @@ -1,9 +0,0 @@ -node default { - Exec { - path => ['/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin'] - } - - include stdlib - - include yaourt -} diff --git a/modules/common/manifests/init.pp b/modules/common/manifests/init.pp deleted file mode 100644 index 2186d18..0000000 --- a/modules/common/manifests/init.pp +++ /dev/null @@ -1,36 +0,0 @@ -class common { - user { 'Make me': - name => 'jake', - allowdupe => false, - auth_membership => 'inclusive', - comment => 'Jake Howard', - home => '/home/jake', - uid => '1000', - shell => '/usr/bin/zsh', - groups => [ - 'input', - 'users', - 'video', - 'wheel' - ] - } - -> file { 'Create home directory': - ensure => directory, - path => '/home/jake', - owner => 'jake' - } - -> file { 'Projects directory': - ensure => directory, - path => '/home/jake/Projects', - owner => 'jake' - } - - exec {'Set Java version': - command => 'archlinux-java set intellij-jdk', - unless => 'archlinux-java get | grep intellij-jdk' - } - exec {'pyenv directory permissions': - command => 'chown -R jake:users /opt/pyenv', - unless => 'getfacl /opt/pyenv | grep "owner: jake"' - } -} diff --git a/modules/concat b/modules/concat deleted file mode 160000 index c600f57..0000000 --- a/modules/concat +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c600f578386505a743d18a15bc2485b5ef2d5abc diff --git a/modules/config/files/tilix.conf b/modules/config/files/tilix.conf deleted file mode 100644 index 1f2a3bc..0000000 --- a/modules/config/files/tilix.conf +++ /dev/null @@ -1,28 +0,0 @@ -[/] -accelerators-enabled=true -terminal-title-style='small' -theme-variant='dark' -session-name='${activeTerminalTitle}' -control-scroll-zoom=true -app-title='${activeTerminalTitle}' - -[profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d] -background-transparency-percent=20 -terminal-title='${id}: ${title}' -cursor-blink-mode='off' -visible-name='Default' - -[keybindings] -session-close='disabled' -terminal-find='f' -session-add-right='s' -session-add-down='s' -app-new-session='t' -session-save='disabled' -terminal-maximize='f' -terminal-file-browser='n' -terminal-reset-and-clear='k' -terminal-find-next='disabled' -terminal-close='w' -terminal-read-only='bracketleft' -terminal-find-previous='disabled' diff --git a/modules/config/manifests/fonts.pp b/modules/config/manifests/fonts.pp deleted file mode 100644 index 29dde22..0000000 --- a/modules/config/manifests/fonts.pp +++ /dev/null @@ -1,17 +0,0 @@ -class config::fonts { - $fonts = [ - '11-lcdfilter-default.conf', - '10-sub-pixel-rgb.conf', - '30-infinality-aliases.conf' - ]; - - $fonts.each |String $font| { - file { "Enable $font font": - ensure => link, - path => "/etc/fonts/conf.d/$font", - mode => '0644', - source => "/etc/fonts/conf.avail/$font" - - } - } -} diff --git a/modules/config/manifests/init.pp b/modules/config/manifests/init.pp deleted file mode 100644 index a1d5d03..0000000 --- a/modules/config/manifests/init.pp +++ /dev/null @@ -1,109 +0,0 @@ -class config { - include 'config::vim' - include 'config::fonts' - include 'config::private' - include 'config::vscode' - - file { 'Touchpad gestures config': - ensure => file, - mode => '0644', - path => '/etc/libinput-gestures.conf', - source => 'puppet:///modules/config/libinput-gestures.conf' - } - - file { 'Terminator config directory': - ensure => directory, - mode => '0644', - path => '/home/jake/.config/terminator' - } - -> file { 'Terminator config': - ensure => file, - mode => '0644', - path => '/home/jake/.config/terminator/config', - source => 'puppet:///modules/config/terminator.conf' - } - - file { 'Uniemoji config directory': - ensure => directory, - mode => '0644', - path => '/home/jake/.config/uniemoji' - } - -> file { 'Uniemoji config': - ensure => file, - mode => '0644', - path => '/home/jake/.config/uniemoji/custom.json', - source => 'puppet:///modules/config/uniemoji.json' - } - - file { 'Install SSH config': - ensure => file, - mode => '0644', - owner => 'jake', - path => '/home/jake/.ssh/assh.yml', - source => 'puppet:///modules/config/assh.yml' - } - - file { 'Install global gitignore': - ensure => file, - path => '/home/jake/.config/.gitignore', - mode => '0644', - source => 'puppet:///modules/config/gitignore_global' - } - - file { 'Git config': - ensure => file, - path => '/home/jake/.gitconfig', - mode => '0644', - owner => 'jake', - group => 'users', - content => template('config/gitconfig.conf.erb') - } - - file { 'Rofi config directory': - ensure => directory, - mode => '0644', - path => '/home/jake/.config/rofi' - } - -> file { 'Rofi config': - ensure => file, - mode => '0644', - path => '/home/jake/.config/rofi/config', - source => 'puppet:///modules/config/rofi.conf' - } - - file { 'Touchpad configuration': - ensure => file, - mode => '0644', - path => '/usr/share/X11/xorg.conf.d/30-touchpad.conf', - source => 'puppet:///modules/config/touchpad.conf' - } - - file { 'Caret config directory': - ensure => directory, - mode => '0644', - path => '/home/jake/.config/Caret' - } - -> file { 'Caret configuration file': - ensure => file, - mode => '0644', - path => '/home/jake/.config/Caret/Preferences.md', - source => 'puppet:///modules/config/caret-preferences.md' - } - - file { 'Tilix file temporary location': - ensure => file, - path => '/tmp/tilix.conf', - source => 'puppet:///modules/config/tilix.conf' - } - -> exec { 'Load Tilix config': - command => 'dconf load /etc/gexperts/Tilix/ < /tmp/tilix.conf', - user => 'jake' - } - - file { 'Alacritty config': - ensure => file, - owner => 'jake', - path => '/home/jake/.config/alacritty/alacritty.yml', - source => 'puppet:///modules/config/alacritty.yml' - } -} diff --git a/modules/config/manifests/private.pp b/modules/config/manifests/private.pp deleted file mode 100644 index 2d2884e..0000000 --- a/modules/config/manifests/private.pp +++ /dev/null @@ -1,13 +0,0 @@ -class config::private () { - file { 'Check dotfiles': - ensure => directory, - path => '/home/jake/.dotfiles' - } - - file { 'TUpload config': - ensure => link, - target => '/home/jake/.dotfiles/.upload', - path => '/home/jake/.upload', - mode => '0644' - } -} diff --git a/modules/config/manifests/vim.pp b/modules/config/manifests/vim.pp deleted file mode 100644 index 8e28f9c..0000000 --- a/modules/config/manifests/vim.pp +++ /dev/null @@ -1,27 +0,0 @@ -class config::vim { - file { 'vimrc': - ensure => file, - mode => '0644', - owner => 'jake', - group => 'users', - path => '/home/jake/.vimrc', - source => 'puppet:///modules/config/vimrc' - } - - -> file { 'vimrc for root': - ensure => file, - mode => '0644', - owner => 'root', - group => 'users', - path => '/root/.vimrc', - source => 'puppet:///modules/config/vimrc' - } - - -> vcsrepo { 'Vim runtime': - ensure => latest, - provider => git, - user => 'root', - path => '/usr/share/amix_vimrc', - source => 'https://github.com/amix/vimrc.git', - } -} diff --git a/modules/config/manifests/vscode.pp b/modules/config/manifests/vscode.pp deleted file mode 100644 index 93cfc7d..0000000 --- a/modules/config/manifests/vscode.pp +++ /dev/null @@ -1,59 +0,0 @@ -class config::vscode { - $extensions = [ - 'PKief.material-icon-theme', - 'PeterJausovec.vscode-docker', - 'Zignd.html-css-class-completion', - 'bitzl.vscode-puppet', - 'bogdan-sinitsa.theme-dark-monokai', - 'christian-kohler.npm-intellisense', - 'dbaeumer.vscode-eslint', - 'eamodio.gitlens', - 'eg2.tslint', - 'eg2.vscode-npm-script', - 'formulahendry.code-runner', - 'ionutvmi.path-autocomplete', - 'magicstack.MagicPython', - 'mrmlnc.vscode-less', - 'mrmlnc.vscode-scss', - 'ms-python.python', - 'ms-vscode.sublime-keybindings', - 'rokoroku.vscode-theme-darcula', - 'steoates.autoimport', - 'truman.autocomplate-shell', - 'wholroyd.jinja', - 'zolocode.editorzoom', - 'formulahendry.auto-close-tag', - 'James-Yu.latex-workshop', - 'ban.spellright', - 'editorconfig.editorconfig', - 'batisteo.vscode-django', - 'davidanson.vscode-markdownlint', - 'vsciot-vscode.vscode-arduino', - 'vscoss.vscode-ansible', - 'rust-lang.rust' - ]; - - $extensions.each |String $extension| { - exec { "Install $extension extension for VSCode": - command => "code --install-extension $extension", - unless => "code --list-extensions | grep $extension", - user => 'jake' - } - } - - file { 'VSCode config': - ensure => file, - mode => '0644', - owner => 'jake', - path => '/home/jake/.config/Code/User/settings.json', - source => 'puppet:///modules/config/vscode-settings.json' - } - - file { 'VSCode keybindings': - ensure => file, - mode => '0644', - owner => 'jake', - path => '/home/jake/.config/Code/User/keybindings.json', - source => 'puppet:///modules/config/vscode-keybindings.json' - } -} diff --git a/modules/devices/manifests/laptop.pp b/modules/devices/manifests/laptop.pp deleted file mode 100644 index a048676..0000000 --- a/modules/devices/manifests/laptop.pp +++ /dev/null @@ -1,22 +0,0 @@ -class devices::laptop { - package {[ - 'ethtool', - 'smartmontools', - 'tlp' - ]: - ensure => installed - } - -> service {'tlp': - enable => true - } - -> service {'tlp-sleep': - enable => true - } - - file { 'TLP config': - ensure => file, - mode => '0644', - path => '/etc/default/tlp', - source => 'puppet:///modules/devices/tlp.conf' - } -} diff --git a/modules/devices/manifests/work.pp b/modules/devices/manifests/work.pp deleted file mode 100644 index 1e5b6b5..0000000 --- a/modules/devices/manifests/work.pp +++ /dev/null @@ -1,16 +0,0 @@ -class devices::work { - vcsrepo { 'Vim runtime': - ensure => latest, - provider => git, - user => 'jake', - path => '/home/jake/Projects/dotfiles', - source => 'git@github.com:dabapps/dotfiles', - } - -> file { 'DabApps dotfiles': - ensure => link, - owner => 'jake', - target => '/home/jake/Projects/dotfiles/.editorconfig', - path => '/home/jake/Projects/.editorconfig', - mode => '0644' - } -} diff --git a/modules/gnome/manifests/init.pp b/modules/gnome/manifests/init.pp deleted file mode 100644 index e97b72b..0000000 --- a/modules/gnome/manifests/init.pp +++ /dev/null @@ -1,11 +0,0 @@ -class gnome { - file { 'Nautilus Templates': - ensure => directory, - source => 'puppet:///modules/gnome/Templates', - path => '/home/jake/Templates', - owner => 'jake', - group => 'users', - mode => '0755', - recurse => remote - } -} diff --git a/modules/i3/manifests/autostart.pp b/modules/i3/manifests/autostart.pp deleted file mode 100644 index 64975f7..0000000 --- a/modules/i3/manifests/autostart.pp +++ /dev/null @@ -1,38 +0,0 @@ -class i3::autostart { - $programs = [ - 'pulseaudio', - 'org.gnome.SettingsDaemon.XSettings', - 'org.gnome.SettingsDaemon.DiskUtilityNotify', - 'org.gnome.SettingsDaemon.Keyboard', - 'gsettings-data-convert', - 'nm-applet', - 'lxpolkit', - 'solaar' - ]; - - $programs.each |String $program| { - file { "Autostart $program": - ensure => link, - path => "/home/jake/.config/autostart/$program.desktop", - mode => '0644', - owner => 'jake', - source => "/etc/xdg/autostart/$program.desktop" - } - } - - file {'Autostart libinput-gestures': - ensure => link, - path => '/home/jake/.config/autostart/libinput-gestures.desktop', - mode => '0644', - owner => 'jake', - source => '/usr/share/applications/libinput-gestures.desktop' - } - - file {'Install powertop service': - ensure => link, - path => '/etc/systemd/system/powertop.service', - mode => '0644', - owner => 'root', - source => 'puppet:///modules/i3/powertop.service' - } -} diff --git a/modules/i3/manifests/init.pp b/modules/i3/manifests/init.pp deleted file mode 100644 index c9b3ce0..0000000 --- a/modules/i3/manifests/init.pp +++ /dev/null @@ -1,53 +0,0 @@ -class i3 { - include 'i3::autostart' - - file { 'i3 config': - ensure => file, - path => '/home/jake/.config/i3/config', - mode => '0644', - owner => 'jake', - group => 'users', - source => 'puppet:///modules/i3/i3.conf' - } - - file { 'i3status-rust config': - ensure => file, - path => '/home/jake/.config/i3/status.toml', - mode => '0644', - owner => 'jake', - group => 'users', - content => template('i3/i3status-rust.toml.erb') - } - - file { 'i3status config': - ensure => file, - path => '/home/jake/.config/i3status/config', - mode => '0644', - owner => 'jake', - group => 'users', - source => 'puppet:///modules/i3/i3status.conf' - } - - file { 'compton config': - ensure => file, - path => '/home/jake/.config/compton.conf', - mode => '0644', - owner => 'jake', - group => 'users', - source => 'puppet:///modules/i3/compton.conf' - } - - file { 'dunst config directory': - ensure => directory, - path => '/home/jake/.config/dunst' - } - - -> file { 'dunst config': - ensure => file, - path => '/home/jake/.config/dunst/dunstrc', - mode => '0644', - owner => 'jake', - group => 'users', - source => 'puppet:///modules/i3/dunst.conf' - } -} diff --git a/modules/shell/manifests/init.pp b/modules/shell/manifests/init.pp deleted file mode 100644 index 23ae4a2..0000000 --- a/modules/shell/manifests/init.pp +++ /dev/null @@ -1,70 +0,0 @@ -class shell { - $zshrc = '/home/jake/.zshrc' - - $files = [ - 'puppet:///modules/shell/.zshrc', - 'puppet:///modules/shell/base.sh', - 'puppet:///modules/shell/applications.sh', - 'puppet:///modules/shell/catfish.sh', - 'puppet:///modules/shell/javascript.sh', - 'puppet:///modules/shell/environment.sh' - ]; - - concat {'zshrc': - path => $zshrc, - owner => 'jake', - group => 'users', - mode => '0644', - ensure_newline => true - } - - $files.each |String $file| { - concat::fragment {"zshrc concat $file": - target => $zshrc, - source => $file - } - } - - file { 'nvm config directory': - ensure => directory, - owner => 'jake', - group => 'users', - mode => '0644', - path => '/home/jake/.nvm' - } - -> file {'nvm': - path => '/home/jake/.nvm/nvm.sh', - owner => 'jake', - group => 'users', - mode => '0755', - source => '/usr/share/nvm/init-nvm.sh' - } - - file { 'Custom binaries': - ensure => directory, - source => 'puppet:///modules/shell/bin', - path => '/home/jake/.bin', - owner => 'jake', - group => 'users', - mode => '0755', - recurse => remote - } - - file { 'Global Environment': - ensure => file, - mode => '0644', - owner => 'root', - group => 'root', - source => 'puppet:///modules/shell/global-environment', - path => '/etc/environment' - } - - file { 'tmux config': - ensure => file, - owner => 'jake', - group => 'users', - mode => '0755', - source => 'puppet:///modules/shell/tmux.conf', - path => '/home/jake/.tmux.conf' - } -} diff --git a/modules/stdlib b/modules/stdlib deleted file mode 160000 index cef3e89..0000000 --- a/modules/stdlib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cef3e894d642207d2f87e307159b90ce49fcd455 diff --git a/modules/vcsrepo b/modules/vcsrepo deleted file mode 160000 index 1c6b38e..0000000 --- a/modules/vcsrepo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1c6b38e9c0840ff047ba62d4429bb3939dc524eb diff --git a/modules/yaourt/manifests/files.pp b/modules/yaourt/manifests/files.pp deleted file mode 100644 index ccc62c4..0000000 --- a/modules/yaourt/manifests/files.pp +++ /dev/null @@ -1,16 +0,0 @@ -class yaourt::files () { - file { 'Pacman config': - ensure => file, - source => 'puppet:///modules/yaourt/pacman.conf', - path => '/etc/pacman.conf' - } - - file { 'Yaourt config': - ensure => file, - mode => '0644', - owner => 'jake', - group => 'users', - source => 'puppet:///modules/yaourt/.yaourtrc', - path => '/home/jake/.yaourtrc' - } -} diff --git a/modules/yaourt/manifests/init.pp b/modules/yaourt/manifests/init.pp deleted file mode 100644 index 6ae7ffd..0000000 --- a/modules/yaourt/manifests/init.pp +++ /dev/null @@ -1,5 +0,0 @@ -class yaourt { - include 'yaourt::files' - - include 'yaourt::keys' -} diff --git a/modules/yaourt/manifests/keys.pp b/modules/yaourt/manifests/keys.pp deleted file mode 100644 index a0af9cc..0000000 --- a/modules/yaourt/manifests/keys.pp +++ /dev/null @@ -1,28 +0,0 @@ -class yaourt::keys () { - $keys = [ - '8A8F901A', # Sublime Text - 'D1483FA6C3C07136', # Tor Browser - '9D5F1C051D146843CDA4858BDE64825E7CBC0D51', # ArchStrike - '7448C890582975CD' - ] - - $keys.each |$key| { - exec {"Add $key key": - command => "gpg --recv-keys $key", - user => 'jake', - unless => "gpg --list-keys $key" - } - exec { "Add $key for root": # So root can install things - command => "gpg --recv-keys $key", - unless => "gpg --list-keys $key" - } - exec { "Add $key to pacman": - command => "pacman-key -r $key", - unless => "pacman-key --list-keys $key" - } - exec { "Locally sign $key with pacman": - command => "pacman-key --lsign-key $key", - unless => "pacman-key --list-keys $key | grep full" - } - } -} diff --git a/tasks/autostart.yml b/tasks/autostart.yml new file mode 100644 index 0000000..af04072 --- /dev/null +++ b/tasks/autostart.yml @@ -0,0 +1,16 @@ +- file: + src: "/etc/xdg/autostart/{{ item }}.desktop" + dest: "/home/jake/.config/autostart/{{ item }}.desktop" + mode: 0644 + owner: jake + state: link + force: true + with_items: + - 'pulseaudio' + - 'org.gnome.SettingsDaemon.XSettings' + - 'org.gnome.SettingsDaemon.DiskUtilityNotify' + - 'org.gnome.SettingsDaemon.Keyboard' + - 'gsettings-data-convert' + - 'nm-applet' + - 'lxpolkit' + - 'solaar' diff --git a/tasks/common.yml b/tasks/common.yml new file mode 100644 index 0000000..3ea4c94 --- /dev/null +++ b/tasks/common.yml @@ -0,0 +1,21 @@ +- user: + name: jake + home: '/home/jake' + comment: Jake Howard + shell: '/usr/bin/zsh' + uid: 1000 + system: true + groups: + - input + - users + - video + - wheel +- file: + state: directory + path: '/home/jake/Projects' + owner: jake +- file: + state: directory + path: '/opt/pyenv' + owner: jake + group: users diff --git a/tasks/config.yml b/tasks/config.yml new file mode 100644 index 0000000..dbde981 --- /dev/null +++ b/tasks/config.yml @@ -0,0 +1,67 @@ +- copy: + src: ./files/libinput-gestures.conf + dest: /etc/libinput-gestures.conf + mode: 0644 + owner: jake + +- copy: + src: ./files/terminator.conf + dest: /home/jake/.config/terminator/config + mode: 0644 + owner: jake + +- copy: + src: ./files/uniemoji.json + dest: /home/jake/.config/uniemoji/custom.json + mode: 0644 + owner: jake + +- copy: + src: ./files/assh.yml + dest: /home/jake/.ssh/assh.yml + mode: 0644 + owner: jake + +- copy: + src: ./files/gitignore_global + dest: /home/jake/.config/.gitignore + mode: 0644 + owner: jake + +- template: + src: ./files/gitconfig.conf + dest: /home/jake/.gitconfig + mode: 0644 + owner: jake + group: users + +- copy: + src: ./files/rofi.conf + dest: /home/jake/.config/rofi/config + mode: 0644 + owner: jake + +- copy: + src: ./files/touchpad.conf + dest: /usr/share/X11/xorg.conf.d/30-touchpad.conf + mode: 0644 + owner: jake + +- copy: + src: ./files/caret-preferences.md + dest: /home/jake/.config/Caret/Preferences.md + mode: 0644 + owner: jake + +- copy: + src: ./files/alacritty.yml + dest: /home/jake/.config/alacritty/alacritty.yml + mode: 0644 + owner: jake + +# - name: Tilix config +# shell: "dconf load /etc/gexperts/Tilix/" +# args: +# stdin: "{{ lookup('file', './files/tilix.conf') }}" +# become: true +# become_user: jake diff --git a/tasks/dabapps.yml b/tasks/dabapps.yml new file mode 100644 index 0000000..da10023 --- /dev/null +++ b/tasks/dabapps.yml @@ -0,0 +1,15 @@ +- name: "DabApps Dotfiles" + git: + repo: git@github.com:dabapps/dotfiles + dest: /home/jake/Projects/dotfiles + force: true + become: true + become_user: jake + +- file: + src: /home/jake/Projects/dotfiles/.editorconfig + dest: /home/jake/Projects/.editorconfig + mode: 0644 + owner: jake + state: link + force: true diff --git a/tasks/fonts.yml b/tasks/fonts.yml new file mode 100644 index 0000000..1d8858a --- /dev/null +++ b/tasks/fonts.yml @@ -0,0 +1,9 @@ +- file: + src: "/etc/fonts/conf.avail/{{ item }}" + dest: "/etc/fonts/conf.d/{{ item }}" + mode: 0644 + state: link + with_items: + - '11-lcdfilter-default.conf' + - '10-sub-pixel-rgb.conf' + - '30-infinality-aliases.conf' diff --git a/tasks/gnome.yml b/tasks/gnome.yml new file mode 100644 index 0000000..ca84b3e --- /dev/null +++ b/tasks/gnome.yml @@ -0,0 +1,7 @@ +- copy: + src: ./files/Templates + dest: /home/jake/Templates + mode: 0755 + owner: jake + group: users + directory_mode: true diff --git a/tasks/i3.yml b/tasks/i3.yml new file mode 100644 index 0000000..8e18043 --- /dev/null +++ b/tasks/i3.yml @@ -0,0 +1,34 @@ +- copy: + src: ./files/i3.conf + dest: /home/jake/.config/i3/config + mode: 0644 + owner: jake + group: users + +- copy: + src: ./files/i3status.conf + dest: /home/jake/.config/i3status/config + mode: 0644 + owner: jake + group: users + +- copy: + src: ./files/compton.conf + dest: /home/jake/.config/compton.conf + mode: 0644 + owner: jake + group: users + +- copy: + src: ./files/dunst.conf + dest: /home/jake/.config/dunst/dunstrc + mode: 0644 + owner: jake + group: users + +- template: + src: ./files/i3status-rust.toml + dest: /home/jake/.config/i3/status.toml + mode: 0644 + owner: jake + group: users diff --git a/tasks/laptop.yml b/tasks/laptop.yml new file mode 100644 index 0000000..fd29e14 --- /dev/null +++ b/tasks/laptop.yml @@ -0,0 +1,24 @@ +- name: "Install power-saving stuff" + aur: + use: yay + skip_installed: true + name: "{{ item }}" + become: true + become_user: aur_builder + with_items: + - ethtool + - smartmontools + - tlp + +- name: Enable TLP services + service: + name: "{{ item }}" + enabled: true + with_items: + - tlp + - tlp-sleep + +- copy: + src: ./files/tlp.conf + dest: /etc/default/tlp + mode: 0644 diff --git a/tasks/packages.yml b/tasks/packages.yml new file mode 100644 index 0000000..62afbe5 --- /dev/null +++ b/tasks/packages.yml @@ -0,0 +1,175 @@ +- user: + name: aur_builder + group: wheel + +- name: sudoers file + lineinfile: + path: /etc/sudoers.d/11-install-aur_builder + line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman' + create: true + validate: 'visudo -cf %s' + +- name: "Install yay" + aur: + skip_installed: true + name: yay + become: true + become_user: aur_builder + +- name: "Install initial packages" + aur: + use: yay + skip_installed: true + name: "{{ item }}" + become: true + become_user: aur_builder + with_items: + - 'i3-gaps' + - 'ttf-google-fonts-git' + - 'i3lock-color-git' + +- name: "Install packages" + aur: + use: yay + skip_installed: true + name: "{{ item }}" + become: true + become_user: aur_builder + with_items: + - 'acpi' + - 'advanced-ssh-config' + - 'alacritty-git' + - 'android-tools' + - 'archstrike-keyring' + - 'arduino' + - 'bcm20702a1-firmware' + - 'betterlockscreen' + - 'bleachbit' + - 'blender' + - 'bluez-firmware' + - 'brave-bin' + - 'brightnessctl' + - 'calibre' + - 'caprine' + - 'caret-bin' + - 'catimg' + - 'climate' + - 'clamtk' + - 'corebird' + - 'compton' + - 'deluge' + - 'dex' + - 'dmenu' + - 'dunst' + - 'etcher' + - 'etcher-cli' + - 'exa' + - 'fasd' + - 'feedreader' + - 'feh' + - 'filezilla' + - 'firefox' + - 'firefox-developer-edition' + - 'fonts-meta-extended-lt' + - 'gimp' + - 'glogg' + - 'google-earth-pro' + - 'gparted' + - 'grub-customizer' + - 'grub2-theme-archlinux' + - 'gvim' + - 'handbrake' + - 'hexchat' + - 'htop' + - 'i3status' + - 'i3status-rust' + - 'ibus' + - 'ibus-uniemoji' + - 'inkscape' + - 'intellij-idea-ultimate-edition' + - 'intellij-idea-ultimate-edition-jre' + - 'intellij-jdk' + - 'jdk' + - 'jshon' + - 'kdenlive' + - 'keepassxc' + - 'keybase-bin' + - 'kodi' + - 'libinput' + - 'libinput-gestures' + - 'lightdm' + - 'lightdm-webkit2-greeter' + - 'lxpolkit-git' + - 'lxrandr' + - 'minecraft' + - 'mkchromecast' + - 'nextcloud-client' + - 'nnn' + - 'nodejs' + - 'numix-gtk-theme' + - 'nvm' + - 'obs-studio' + - 'oh-my-zsh-git' + - 'onlyoffice-bin' + - 'otf-fira-code' + - 'otf-font-awesome' + - 'pacaur' + - 'perl-file-mimeinfo' + - 'pigz' + - 'playerctl' + - 'postgresql' + - 'postman-bin' + - 'powertop' + - 'psensor' + - 'pulseaudio-bluetooth-a2dp-gdm-fix' + - 'pyenv' + - 'pyenv-virtualenv' + - 'python-pip' + - 'python-virtualenv' + - 'python2-pip' + - 'python2-virtualenv' + - 'qt5-styleplugins' + - 'redis' + - 'redshift' + - 'reptyr' + - 'rofi' + - 'scrcpy' + - 'screenfetch' + - 'sl' + - 'slack-desktop' + - 'slack-term' + - 'solaar' + - 'spotify' + - 'steam' + - 'sublime-text' + - 'sysstat' + - 'tbg' + - 'terminator' + - 'thefuck' + - 'thunderbird' + - 'tig' + - 'tmux' + - 'tor-browser-en' + - 'ttf-emojione' + - 'ttf-fira-code' + - 'ttf-font-awesome' + - 'ttf-ms-fonts' + - 'ttf-wps-fonts' + - 'turtl' + - 'tupload' + - 'universal-ctags-git' + - 'visual-studio-code-bin' + - 'virtualbox' + - 'vivaldi' + - 'vlc' + - 'whatsie' + - 'wps-office' + - 'wps-office-extension-english-uk-dictionary' + - 'yaourt' + - 'yubikey-manager' + - 'yubikey-personalization-gui' + - 'zeal' + - 'zsh' + - 'zsh-completions' + - 'zsh-doc' + - 'zsh-syntax-highlighting' diff --git a/tasks/private.yml b/tasks/private.yml new file mode 100644 index 0000000..211dc41 --- /dev/null +++ b/tasks/private.yml @@ -0,0 +1,13 @@ +- file: + state: directory + path: /home/jake/.dotfiles + owner: jake + group: users + +- file: + state: link + src: /home/jake/.dotfiles/.upload + dest: /home/jake/.upload + mode: 0644 + owner: jake + group: users diff --git a/tasks/services.yml b/tasks/services.yml new file mode 100644 index 0000000..ad81ff8 --- /dev/null +++ b/tasks/services.yml @@ -0,0 +1,6 @@ +- copy: + src: ./files/powertop.service + dest: /etc/systemd/system/powertop.service + mode: 0644 + owner: root + directory_mode: true diff --git a/tasks/shell.yml b/tasks/shell.yml new file mode 100644 index 0000000..e0aaecc --- /dev/null +++ b/tasks/shell.yml @@ -0,0 +1,35 @@ +- template: + src: ./files/zshrc/.zshrc + dest: /home/jake/.zshrc + mode: 0644 + owner: jake + validate: "zsh -n %s" + +- copy: + src: /usr/share/nvm/init-nvm.sh + dest: /home/jake/.nvm/nvm.sh + mode: 0755 + owner: jake + group: users + +- copy: + src: ./files/bin + dest: /home/jake/.bin + mode: 0755 + owner: jake + group: users + directory_mode: true + +- copy: + src: ./files/global-environment + dest: /etc/environment + mode: 0644 + owner: root + group: root + +- copy: + src: ./files/tmux.conf + dest: /home/jake/.tmux.conf + mode: 0755 + owner: jake + group: users diff --git a/tasks/vim.yml b/tasks/vim.yml new file mode 100644 index 0000000..ddc4cd4 --- /dev/null +++ b/tasks/vim.yml @@ -0,0 +1,18 @@ +- copy: + src: ./files/vimrc + dest: /home/jake/.vimrc + mode: 0644 + owner: jake + group: users + +- copy: + src: ./files/vimrc + dest: /root/.vimrc + mode: 0644 + owner: root + group: users + +- git: + repo: https://github.com/amix/vimrc.git + dest: /usr/share/amix_vimrc + force: true diff --git a/tasks/vscode.yml b/tasks/vscode.yml new file mode 100644 index 0000000..45169cf --- /dev/null +++ b/tasks/vscode.yml @@ -0,0 +1,55 @@ +- copy: + src: ./files/vscode-settings.json + dest: /home/jake/.config/Code/User/settings.json + mode: 0644 + owner: jake + +- copy: + src: ./files/vscode-keybindings.json + dest: /home/jake/.config/Code/User/keybindings.json + mode: 0644 + owner: jake + +- name: "Get VSCode extensions" + shell: "code --list-extensions" + become: true + become_user: jake + register: vscode_extensions + +- name: "Install VSCode extensions" + shell: "code --install-extension {{ item }}" + become: true + become_user: jake + when: "item not in vscode_extensions.stdout_lines" + with_items: + - 'PKief.material-icon-theme' + - 'PeterJausovec.vscode-docker' + - 'Zignd.html-css-class-completion' + - 'bitzl.vscode-puppet' + - 'bogdan-sinitsa.theme-dark-monokai' + - 'christian-kohler.npm-intellisense' + - 'dbaeumer.vscode-eslint' + - 'eamodio.gitlens' + - 'eg2.tslint' + - 'eg2.vscode-npm-script' + - 'formulahendry.code-runner' + - 'ionutvmi.path-autocomplete' + - 'magicstack.MagicPython' + - 'mrmlnc.vscode-less' + - 'mrmlnc.vscode-scss' + - 'ms-python.python' + - 'ms-vscode.sublime-keybindings' + - 'rokoroku.vscode-theme-darcula' + - 'steoates.autoimport' + - 'truman.autocomplate-shell' + - 'wholroyd.jinja' + - 'zolocode.editorzoom' + - 'formulahendry.auto-close-tag' + - 'James-Yu.latex-workshop' + - 'ban.spellright' + - 'editorconfig.editorconfig' + - 'batisteo.vscode-django' + - 'davidanson.vscode-markdownlint' + - 'vsciot-vscode.vscode-arduino' + - 'vscoss.vscode-ansible' + - 'rust-lang.rust' diff --git a/tasks/yaourt.yml b/tasks/yaourt.yml new file mode 100644 index 0000000..ab2789e --- /dev/null +++ b/tasks/yaourt.yml @@ -0,0 +1,29 @@ +- copy: + src: ./files/pacman.conf + dest: /etc/pacman.conf + mode: 0644 + +- copy: + src: ./files/.yaourtrc + dest: /home/jake/.yaourtrc + mode: 0644 + +- set_fact: + keys: + - '8A8F901A' # Sublime Text + - 'D1483FA6C3C07136' # Tor Browser + - '9D5F1C051D146843CDA4858BDE64825E7CBC0D51' # ArchStrike + - '7448C890582975CD' + +- name: "Add keys" + shell: "gpg --recv-keys {{ item }}" + with_items: "{{ keys }}" + become: jake + +- name: "Add keys to pacman" + shell: "pacman-key -r {{ item }}" + with_items: "{{ keys }}" + +- name: "Sign keys in pacman" + shell: "pacman-key --lsign-key {{ item }}" + with_items: "{{ keys }}" diff --git a/vars.yml b/vars.yml new file mode 100644 index 0000000..e69de29 diff --git a/yamllint.yml b/yamllint.yml new file mode 100644 index 0000000..5639056 --- /dev/null +++ b/yamllint.yml @@ -0,0 +1,4 @@ +extends: default + +rules: + document-start: "disable"