Merge pull request #2 from RealOrangeOne/ansible

Ansible
This commit is contained in:
Jake Howard 2018-09-17 16:04:39 +01:00 committed by GitHub
commit 690a5d44c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
83 changed files with 850 additions and 775 deletions

View File

@ -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

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
.csync_*
.owncloudsync.log
config/jetbrains-settings.jar
*.retry

18
Pipfile Normal file
View File

@ -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"

248
Pipfile.lock generated Normal file
View File

@ -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": {}
}

View File

@ -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

24
dotfiles.yml Normal file
View File

@ -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"

View File

@ -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
#

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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" %}

View File

@ -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
}

View File

@ -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"

2
hosts Normal file
View File

@ -0,0 +1,2 @@
[local]
127.0.0.1

View File

@ -1,9 +0,0 @@
node default {}
node 'too-laptop' {
include devices::laptop
}
node 'too-work' {
include devices::work
}

View File

@ -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
}

View File

@ -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
}
}

View File

@ -1,9 +0,0 @@
node default {
Exec {
path => ['/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin']
}
include stdlib
include yaourt
}

View File

@ -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"'
}
}

@ -1 +0,0 @@
Subproject commit c600f578386505a743d18a15bc2485b5ef2d5abc

View File

@ -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='<Primary>f'
session-add-right='<Shift><Alt>s'
session-add-down='<Alt>s'
app-new-session='<Primary>t'
session-save='disabled'
terminal-maximize='<Alt>f'
terminal-file-browser='<Alt>n'
terminal-reset-and-clear='<Alt>k'
terminal-find-next='disabled'
terminal-close='<Primary>w'
terminal-read-only='<Alt>bracketleft'
terminal-find-previous='disabled'

View File

@ -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"
}
}
}

View File

@ -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'
}
}

View File

@ -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'
}
}

View File

@ -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',
}
}

View File

@ -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'
}
}

View File

@ -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'
}
}

View File

@ -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'
}
}

View File

@ -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
}
}

View File

@ -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'
}
}

View File

@ -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'
}
}

View File

@ -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'
}
}

@ -1 +0,0 @@
Subproject commit cef3e894d642207d2f87e307159b90ce49fcd455

@ -1 +0,0 @@
Subproject commit 1c6b38e9c0840ff047ba62d4429bb3939dc524eb

View File

@ -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'
}
}

View File

@ -1,5 +0,0 @@
class yaourt {
include 'yaourt::files'
include 'yaourt::keys'
}

View File

@ -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"
}
}
}

16
tasks/autostart.yml Normal file
View File

@ -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'

21
tasks/common.yml Normal file
View File

@ -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

67
tasks/config.yml Normal file
View File

@ -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

15
tasks/dabapps.yml Normal file
View File

@ -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

9
tasks/fonts.yml Normal file
View File

@ -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'

7
tasks/gnome.yml Normal file
View File

@ -0,0 +1,7 @@
- copy:
src: ./files/Templates
dest: /home/jake/Templates
mode: 0755
owner: jake
group: users
directory_mode: true

34
tasks/i3.yml Normal file
View File

@ -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

24
tasks/laptop.yml Normal file
View File

@ -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

175
tasks/packages.yml Normal file
View File

@ -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'

13
tasks/private.yml Normal file
View File

@ -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

6
tasks/services.yml Normal file
View File

@ -0,0 +1,6 @@
- copy:
src: ./files/powertop.service
dest: /etc/systemd/system/powertop.service
mode: 0644
owner: root
directory_mode: true

35
tasks/shell.yml Normal file
View File

@ -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

18
tasks/vim.yml Normal file
View File

@ -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

55
tasks/vscode.yml Normal file
View File

@ -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'

29
tasks/yaourt.yml Normal file
View File

@ -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 }}"

0
vars.yml Normal file
View File

4
yamllint.yml Normal file
View File

@ -0,0 +1,4 @@
extends: default
rules:
document-start: "disable"