diff --git a/.gitignore b/.gitignore
index 44c1071..b5dcb30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,6 @@
# OS X
.DS_Store
-*~
-*.orig
-
# Emacs
\#*\#
.\#emacs
@@ -22,15 +19,11 @@ ssh/*
!ssh/config
vim/.viminfo*
-vim/vim_shared_data
vim/.nviminfo
vim/view/
vim/spelling*
vim/init.vim
-vim/backup/
zsh/cache/
Ansible/*.retry
-
-Fortune/*.dat
diff --git a/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist
deleted file mode 100644
index b188822..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- fallbacks
-
- features.websearch.duckduckgo.fallback
- features.websearch.wiki.fallback
- features.websearch.amazon.fallback
- features.websearch.google.fallback
-
-
-
diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist
deleted file mode 100644
index d49dd03..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- lightthemeuid
- theme.bundled.moderndark
-
-
diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist
deleted file mode 100644
index a392f95..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- default
-
- key
- 49
- mod
- 262144
- string
-
-
-
-
diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist
deleted file mode 100644
index a392f95..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- default
-
- key
- 49
- mod
- 262144
- string
-
-
-
-
diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist
deleted file mode 100644
index d49dd03..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- lightthemeuid
- theme.bundled.moderndark
-
-
diff --git a/Alfred/Alfred.alfredpreferences/preferences/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/prefs.plist
deleted file mode 100644
index 61af94e..0000000
--- a/Alfred/Alfred.alfredpreferences/preferences/prefs.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- location
- United States
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png b/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png
deleted file mode 100644
index 66dd759..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png
deleted file mode 100644
index 770af35..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png
deleted file mode 100644
index c3c37f5..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png b/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png
deleted file mode 100644
index f8e6e8f..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png b/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png
deleted file mode 100644
index 66e8986..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png b/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png
deleted file mode 100644
index 220707e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png b/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png
deleted file mode 100644
index 5ed3519..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png b/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png
deleted file mode 100644
index 698c968..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png
deleted file mode 100644
index f141fd8..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png b/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png
deleted file mode 100644
index 72f9c19..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png
deleted file mode 100644
index 8b3aa14..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png b/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png b/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png
deleted file mode 100644
index 4481249..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png
deleted file mode 100644
index 770af35..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png
deleted file mode 100644
index 3e076c0..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png b/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png
deleted file mode 100644
index ea13fff..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png
deleted file mode 100644
index 2c1fdb0..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png b/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png
deleted file mode 100644
index 255d61c..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png
deleted file mode 100644
index 7f4fbf2..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png
deleted file mode 100644
index 3091bbb..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png b/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png
deleted file mode 100644
index 72255b2..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png
deleted file mode 100644
index 53baf3e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png b/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png
deleted file mode 100644
index 0921edf..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png
deleted file mode 100644
index c436f0e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png
deleted file mode 100644
index 0a747b5..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png
deleted file mode 100644
index 9b729fd..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png b/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png
deleted file mode 100644
index 06d3eb7..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png b/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png
deleted file mode 100644
index 1623f18..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png b/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png
deleted file mode 100644
index 7f4fbf2..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png
deleted file mode 100644
index 678f427..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png b/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png
deleted file mode 100644
index a9408fc..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png
deleted file mode 100644
index 6fd5ea0..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png
deleted file mode 100644
index 50ec105..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png
deleted file mode 100644
index 410ed53..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png b/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png b/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png
deleted file mode 100644
index ea5f54a..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png b/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png
deleted file mode 100644
index 864da18..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png b/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png
deleted file mode 100644
index 06d3eb7..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png
deleted file mode 100644
index fa5eefe..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png
deleted file mode 100644
index 6561157..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png
deleted file mode 100644
index 4ec813c..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png
deleted file mode 100644
index 223a8ed..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png
deleted file mode 100644
index 9dcba18..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png
deleted file mode 100644
index 39e4b3e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png
deleted file mode 100644
index ab9d579..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png
deleted file mode 100644
index 90b9393..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png
deleted file mode 100644
index 5c1bc70..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png
deleted file mode 100644
index 98ec0d9..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png
deleted file mode 100644
index 69c7d38..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png
deleted file mode 100644
index e4e1ac1..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png
deleted file mode 100644
index f8e6e8f..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png
deleted file mode 100644
index ea13fff..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png
deleted file mode 100644
index a071185..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png
deleted file mode 100644
index cc7efed..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png
deleted file mode 100644
index 656db00..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png
deleted file mode 100644
index 32ebc13..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png
deleted file mode 100644
index 2bc9c36..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png
deleted file mode 100644
index a2706a2..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png
deleted file mode 100644
index 28f07d8..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png
deleted file mode 100644
index d6cf511..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png
deleted file mode 100644
index 7fe22d2..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png
deleted file mode 100644
index 70aa336..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png
deleted file mode 100644
index 932d34d..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png
deleted file mode 100644
index d1b2a6f..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png
deleted file mode 100644
index e700fad..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png
deleted file mode 100644
index 1504402..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png
deleted file mode 100644
index fdc070f..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png
deleted file mode 100644
index 6ff7e6d..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png b/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png
deleted file mode 100644
index f7dc303..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png b/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png
deleted file mode 100644
index 80062f1..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png
deleted file mode 100644
index 3df129e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png
deleted file mode 100644
index 32ebc13..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png
deleted file mode 100644
index f2e522e..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png
deleted file mode 100644
index 66e8986..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png
deleted file mode 100644
index 28f07d8..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png
deleted file mode 100644
index ea13fff..0000000
Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png and /dev/null differ
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data b/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data
deleted file mode 100644
index e4c0680..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data
+++ /dev/null
@@ -1,384 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- 723DE8FA-1821-4E46-98E4-47DE6F67BAB5
- iconisuserspecified
-
- items
-
-
- actionconfig
-
- path
- ~/
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C9744030-883D-4891-AF4B-E26219173DD7
- buttonlabel
- Home
- itemuid
- 187FF406-48CD-400A-8209-05927331D243
-
-
- actionconfig
-
- path
- ~/Desktop
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C
- buttonlabel
- Desktop
- itemuid
- 0CDF2561-21C1-4AD7-8E70-61E84DE6D284
-
-
- actionconfig
-
- path
- ~/Documents
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 66A83612-64FB-4AFA-B1A5-8B8C1FB543E7
- buttonlabel
- Documents
- itemuid
- 553991CE-CFC1-4852-8FA2-21274111E98F
-
-
- actionconfig
-
- path
- ~/Downloads
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 64BA8062-7323-4DBD-8047-71D804827F7F
- buttonlabel
- Downloads
- itemuid
- 7AD33419-A453-4872-94E1-B8E24D74110A
-
-
- actionconfig
-
- path
- ~/Pictures
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 677215B9-8F97-496F-B0CE-679DF4009765
- buttonlabel
- Pictures
- itemuid
- 38DA5472-E8B6-44DA-BED1-E350D3D36E72
-
-
- actionconfig
-
- path
- ~/Music
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C6639DCF-BAAA-4E9C-96F7-C3B8B681D689
- buttonlabel
- Music
- itemuid
- CABC79E4-A15E-4D53-9C09-9F81610E730A
-
-
- actionconfig
-
- path
- ~/Movies
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF
- buttonlabel
- Movies
- itemuid
- CD493A05-A73E-4EA8-BFE2-9152CE3E621B
-
-
- actionconfig
-
- path
- ~/Library
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- B87B9333-5E0A-433F-BEB8-072A463525A0
- buttonlabel
- Library
- itemuid
- D52029C2-52B7-4425-B17C-1FD59DD95A0A
-
-
-
-
-
-
- actionconfig
-
- path
- /
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- ACAFC73B-1316-4E9B-B29A-36358F16AA9D
- buttonlabel
- Macintosh HD
- itemuid
- 5BFFB9A8-0A57-403E-A7D5-00BAF324FAF8
-
-
- actionconfig
-
- path
- /Applications
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 224CDFBA-87EF-4A33-B11F-C894EFAEBE25
- buttonlabel
- Applications
- itemuid
- B8E586AF-F4E3-45BA-9452-D2C09FAA8BEB
-
-
- actionconfig
-
- path
- /Users
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- BE46F87A-193D-4EED-A438-AEFE042B4A79
- buttonlabel
- Users
- itemuid
- 186468BA-5832-4B0D-BDCD-1A0898AA4030
-
-
-
- itemsall
-
-
- actionconfig
-
- path
- ~/
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C9744030-883D-4891-AF4B-E26219173DD7
- buttonlabel
- Home
- itemuid
- 187FF406-48CD-400A-8209-05927331D243
-
-
- actionconfig
-
- path
- ~/Desktop
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C
- buttonlabel
- Desktop
- itemuid
- 0CDF2561-21C1-4AD7-8E70-61E84DE6D284
-
-
- actionconfig
-
- path
- ~/Documents
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 66A83612-64FB-4AFA-B1A5-8B8C1FB543E7
- buttonlabel
- Documents
- itemuid
- 553991CE-CFC1-4852-8FA2-21274111E98F
-
-
- actionconfig
-
- path
- ~/Downloads
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 64BA8062-7323-4DBD-8047-71D804827F7F
- buttonlabel
- Downloads
- itemuid
- 7AD33419-A453-4872-94E1-B8E24D74110A
-
-
- actionconfig
-
- path
- ~/Pictures
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 677215B9-8F97-496F-B0CE-679DF4009765
- buttonlabel
- Pictures
- itemuid
- 38DA5472-E8B6-44DA-BED1-E350D3D36E72
-
-
- actionconfig
-
- path
- ~/Music
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C6639DCF-BAAA-4E9C-96F7-C3B8B681D689
- buttonlabel
- Music
- itemuid
- CABC79E4-A15E-4D53-9C09-9F81610E730A
-
-
- actionconfig
-
- path
- ~/Movies
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF
- buttonlabel
- Movies
- itemuid
- CD493A05-A73E-4EA8-BFE2-9152CE3E621B
-
-
- actionconfig
-
- path
- ~/Library
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- B87B9333-5E0A-433F-BEB8-072A463525A0
- buttonlabel
- Library
- itemuid
- D52029C2-52B7-4425-B17C-1FD59DD95A0A
-
-
-
-
-
-
- actionconfig
-
- path
- /
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- ACAFC73B-1316-4E9B-B29A-36358F16AA9D
- buttonlabel
- Macintosh HD
- itemuid
- 5BFFB9A8-0A57-403E-A7D5-00BAF324FAF8
-
-
- actionconfig
-
- path
- /Applications
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 224CDFBA-87EF-4A33-B11F-C894EFAEBE25
- buttonlabel
- Applications
- itemuid
- B8E586AF-F4E3-45BA-9452-D2C09FAA8BEB
-
-
- actionconfig
-
- path
- /Users
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- BE46F87A-193D-4EED-A438-AEFE042B4A79
- buttonlabel
- Users
- itemuid
- 186468BA-5832-4B0D-BDCD-1A0898AA4030
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- Open your Folders and Files
- title
- Folders and Files
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data b/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data
deleted file mode 100644
index dbcbc50..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data
+++ /dev/null
@@ -1,524 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- 91CE3AB2-AA2C-4585-8277-D447616878BE
- iconisuserspecified
-
- items
-
-
- actionconfig
-
- path
- /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- FDF78D33-BF71-40D4-B89B-2089BCDB8B40
- buttonlabel
- Safari
- itemuid
- 38483338-6418-41B4-A717-5B506102A8EC
-
-
- actionconfig
-
- path
- /System/Applications/Messages.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- A44A3712-1D81-47AC-8EEA-0CDF99CE9623
- buttonlabel
- Messages
- itemuid
- 5F49245D-C10E-455B-BD29-904027BE6F2E
-
-
- actionconfig
-
- path
- /System/Applications/FaceTime.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- FAF2863C-BD1F-4917-801D-6DC82B9F5A7A
- buttonlabel
- FaceTime
- itemuid
- AE50B6A5-571A-49F5-AA0B-375E38D4933B
-
-
- actionconfig
-
- path
- /System/Applications/Maps.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 77A7C505-83BD-463E-A32B-03D74C57F782
- buttonlabel
- Maps
- itemuid
- 46E9458F-F0C4-421A-B0A2-CAECD0B12B59
-
-
- actionconfig
-
- path
- /System/Applications/Contacts.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 811AF472-0278-448F-B4AC-239CEAC35A67
- buttonlabel
- Contacts
- itemuid
- 41069E72-EF7D-4F1B-BCD3-F7334B7A0402
-
-
- actionconfig
-
- path
- /System/Applications/Mail.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 5215317C-C155-4697-9381-6BAA9AC3267D
- buttonlabel
- Mail
- itemuid
- 9FDFEC9D-359B-48FE-9B6C-090CF856B1DC
-
-
- actionconfig
-
- path
- /System/Applications/Calendar.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- A9790D68-3C03-482E-B558-23522567F465
- buttonlabel
- Calendar
- itemuid
- 726BEA2E-C5A2-4FFB-B692-73D36A296664
-
-
- actionconfig
-
- path
- /System/Applications/Reminders.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 9B8D1351-EA76-44AD-90F4-5F8ECAFE3374
- buttonlabel
- Reminders
- itemuid
- 07B43797-DA33-4C85-AB7A-32BF53E26AEC
-
-
- actionconfig
-
- path
- /System/Applications/App Store.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- E18A736A-9D14-4F48-ADD3-ACA04CFA03C2
- buttonlabel
- App Store
- itemuid
- 9FA5CE7D-F40E-47CC-A6A8-26D1CF80D35C
-
-
- actionconfig
-
- path
- /System/Applications/Music.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- D84A5816-E82A-482A-A934-40CC07C92D85
- buttonlabel
- Music
- itemuid
- 585735DB-047B-4C12-AE77-32A04E757B09
-
-
- actionconfig
-
- path
- /System/Applications/Photos.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F
- buttonlabel
- Photos
- itemuid
- 9B83BE7F-57CA-4DFA-A29B-7FD93D27AC7C
-
-
- actionconfig
-
- path
- /System/Applications/Photo Booth.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 6773EBED-F907-4EE6-81DF-9AC0DBB4D55A
- buttonlabel
- Photo Booth
- itemuid
- 2A6920C4-B71A-45F5-8C92-475553D75531
-
-
- actionconfig
-
- path
- /System/Applications/TextEdit.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 5113C599-9A73-4B22-A213-F3FDDCEBA170
- buttonlabel
- TextEdit
- itemuid
- 704847BB-8E95-4404-84CC-2A1867059755
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Activity Monitor.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- EC782695-9E0F-47C3-A90C-8604E254332E
- buttonlabel
- Activity Monitor
- itemuid
- C9F3C6C4-FD9F-4272-9DF5-B7A30A09CC75
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Terminal.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- E72748C2-F59D-4B63-B96A-2D085643E038
- buttonlabel
- Terminal
- itemuid
- 87D1271A-A0EA-48BC-AC19-3C9BEEB6A626
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Console.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 8A5C75D6-311D-45EA-93D9-27A130F59983
- buttonlabel
- Console
- itemuid
- D4AE06AD-DE9B-4E9B-B29B-08DB29EB14D6
-
-
- itemsall
-
-
- actionconfig
-
- path
- /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- FDF78D33-BF71-40D4-B89B-2089BCDB8B40
- buttonlabel
- Safari
- itemuid
- 38483338-6418-41B4-A717-5B506102A8EC
-
-
- actionconfig
-
- path
- /System/Applications/Messages.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- A44A3712-1D81-47AC-8EEA-0CDF99CE9623
- buttonlabel
- Messages
- itemuid
- 5F49245D-C10E-455B-BD29-904027BE6F2E
-
-
- actionconfig
-
- path
- /System/Applications/FaceTime.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- FAF2863C-BD1F-4917-801D-6DC82B9F5A7A
- buttonlabel
- FaceTime
- itemuid
- AE50B6A5-571A-49F5-AA0B-375E38D4933B
-
-
- actionconfig
-
- path
- /System/Applications/Maps.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 77A7C505-83BD-463E-A32B-03D74C57F782
- buttonlabel
- Maps
- itemuid
- 46E9458F-F0C4-421A-B0A2-CAECD0B12B59
-
-
- actionconfig
-
- path
- /System/Applications/Contacts.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 811AF472-0278-448F-B4AC-239CEAC35A67
- buttonlabel
- Contacts
- itemuid
- 41069E72-EF7D-4F1B-BCD3-F7334B7A0402
-
-
- actionconfig
-
- path
- /System/Applications/Mail.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 5215317C-C155-4697-9381-6BAA9AC3267D
- buttonlabel
- Mail
- itemuid
- 9FDFEC9D-359B-48FE-9B6C-090CF856B1DC
-
-
- actionconfig
-
- path
- /System/Applications/Calendar.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- A9790D68-3C03-482E-B558-23522567F465
- buttonlabel
- Calendar
- itemuid
- 726BEA2E-C5A2-4FFB-B692-73D36A296664
-
-
- actionconfig
-
- path
- /System/Applications/Reminders.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 9B8D1351-EA76-44AD-90F4-5F8ECAFE3374
- buttonlabel
- Reminders
- itemuid
- 07B43797-DA33-4C85-AB7A-32BF53E26AEC
-
-
- actionconfig
-
- path
- /System/Applications/App Store.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- E18A736A-9D14-4F48-ADD3-ACA04CFA03C2
- buttonlabel
- App Store
- itemuid
- 9FA5CE7D-F40E-47CC-A6A8-26D1CF80D35C
-
-
- actionconfig
-
- path
- /System/Applications/Music.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- D84A5816-E82A-482A-A934-40CC07C92D85
- buttonlabel
- Music
- itemuid
- 585735DB-047B-4C12-AE77-32A04E757B09
-
-
- actionconfig
-
- path
- /System/Applications/Photos.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F
- buttonlabel
- Photos
- itemuid
- 9B83BE7F-57CA-4DFA-A29B-7FD93D27AC7C
-
-
- actionconfig
-
- path
- /System/Applications/Photo Booth.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 6773EBED-F907-4EE6-81DF-9AC0DBB4D55A
- buttonlabel
- Photo Booth
- itemuid
- 2A6920C4-B71A-45F5-8C92-475553D75531
-
-
- actionconfig
-
- path
- /System/Applications/TextEdit.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 5113C599-9A73-4B22-A213-F3FDDCEBA170
- buttonlabel
- TextEdit
- itemuid
- 704847BB-8E95-4404-84CC-2A1867059755
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Activity Monitor.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- EC782695-9E0F-47C3-A90C-8604E254332E
- buttonlabel
- Activity Monitor
- itemuid
- C9F3C6C4-FD9F-4272-9DF5-B7A30A09CC75
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Terminal.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- E72748C2-F59D-4B63-B96A-2D085643E038
- buttonlabel
- Terminal
- itemuid
- 87D1271A-A0EA-48BC-AC19-3C9BEEB6A626
-
-
- actionconfig
-
- path
- /System/Applications/Utilities/Console.app
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 8A5C75D6-311D-45EA-93D9-27A130F59983
- buttonlabel
- Console
- itemuid
- D4AE06AD-DE9B-4E9B-B29B-08DB29EB14D6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- Launch your Applications
- title
- Applications
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data b/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data
deleted file mode 100644
index f552ba9..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data
+++ /dev/null
@@ -1,542 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- 6FD5FE69-2B6E-4DD3-9657-DE998B22B89E
- iconisuserspecified
-
- items
-
-
- actionuid
- remote.alfred.showalfred
- buttoniconid
- 95B178D1-F498-4CAC-94F8-EEED72C9EAAF
- buttonlabel
- Show Alfred
- itemuid
- C51B3C0A-5B77-436E-B022-ECD373354486
-
-
- actionconfig
-
- command
- 5
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE
- buttonlabel
- Sleep
- itemuid
- D7C9479E-0E9B-4A6A-A77A-D8A27A642F38
-
-
- actionconfig
-
- command
- 11
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- A087E59F-F8F1-4222-B916-F1504AD2B5DB
- buttonlabel
- Sleep Displays
- itemuid
- DF250FF8-B509-4E72-9E45-C941C71041FC
-
-
- actionconfig
-
- command
- 1
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B
- buttonlabel
- Screen Saver
- itemuid
- C7AF3DB9-500D-46DF-A56D-5AD0D00B8224
-
-
-
- actionconfig
-
- command
- 12
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 1559CE13-D39B-4C37-BCAC-6EC719E084A3
- buttonlabel
- Mac Vol Up
- itemuid
- A666BDAA-4C87-4F3C-BE26-D2450FF1D78C
-
-
- actionconfig
-
- command
- 13
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 5DA5335C-4AA9-49B9-A792-290B475C8BEC
- buttonlabel
- Mac Vol Down
- itemuid
- E0C7F2AB-A71C-47A6-8D52-3C877A6A678B
-
-
- actionconfig
-
- command
- 14
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB
- buttonlabel
- Mute Mac
- itemuid
- 97FE6B0A-E0AA-4FCA-81E9-4FAF46522708
-
-
- actionconfig
-
- command
- 2
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- E679EE74-AFDF-4D43-AB92-57583A1FB352
- buttonlabel
- Show Trash
- itemuid
- A8B1AA80-4C01-4C38-98D3-B149FA692AEB
-
-
- actionconfig
-
- command
- 3
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 92CA2C9F-5460-4135-9882-3C107EFDF85E
- buttonlabel
- Empty Trash
- itemuid
- D4477103-6176-4F08-8E2A-3698AE8944B8
-
-
- actionconfig
-
- command
- 9
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- C4D4BA8E-C80C-4789-9EB5-43A06414DFEB
- buttonlabel
- Quit All Apps
- itemuid
- 0EB2B06F-7B49-408A-9E4D-AD449C7C9375
-
-
- actionconfig
-
- command
- 10
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 426D4E4D-88C7-4B5C-9119-E5B6BF306C67
- buttonlabel
- Eject All
- itemuid
- C5085E98-C8E6-4DAC-801C-F42216B65174
-
-
- actionconfig
-
- command
- 6
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 10D86B12-DBE0-43CA-A2AB-5E6E36447BD7
- buttonlabel
- Lock
- itemuid
- 98F5DBC0-0031-460A-A529-F9A991B13506
-
-
- actionconfig
-
- command
- 4
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 02BB8F9B-811B-4065-BF1C-4AF35C1A0C42
- buttonlabel
- Log Out
- itemuid
- 00A53023-4775-4903-9B70-3595A5912489
-
-
- actionconfig
-
- command
- 7
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC
- buttonlabel
- Restart
- itemuid
- F85369E7-A150-41A7-ABA6-A0852CB70C5C
-
-
- actionconfig
-
- command
- 8
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- B99239C8-54FF-4B25-997B-1A59018CCEF0
- buttonlabel
- Shut Down
- itemuid
- 4A82B466-0267-4FF2-9402-BFEA5A80A9F6
-
-
- itemsall
-
-
- actionuid
- remote.alfred.showalfred
- buttoniconid
- 95B178D1-F498-4CAC-94F8-EEED72C9EAAF
- buttonlabel
- Show Alfred
- itemuid
- C51B3C0A-5B77-436E-B022-ECD373354486
-
-
- actionconfig
-
- command
- 5
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE
- buttonlabel
- Sleep
- itemuid
- D7C9479E-0E9B-4A6A-A77A-D8A27A642F38
-
-
- actionconfig
-
- command
- 11
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- A087E59F-F8F1-4222-B916-F1504AD2B5DB
- buttonlabel
- Sleep Displays
- itemuid
- DF250FF8-B509-4E72-9E45-C941C71041FC
-
-
- actionconfig
-
- command
- 1
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B
- buttonlabel
- Screen Saver
- itemuid
- C7AF3DB9-500D-46DF-A56D-5AD0D00B8224
-
-
-
- actionconfig
-
- command
- 12
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 1559CE13-D39B-4C37-BCAC-6EC719E084A3
- buttonlabel
- Mac Vol Up
- itemuid
- A666BDAA-4C87-4F3C-BE26-D2450FF1D78C
-
-
- actionconfig
-
- command
- 13
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 5DA5335C-4AA9-49B9-A792-290B475C8BEC
- buttonlabel
- Mac Vol Down
- itemuid
- E0C7F2AB-A71C-47A6-8D52-3C877A6A678B
-
-
- actionconfig
-
- command
- 14
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB
- buttonlabel
- Mute Mac
- itemuid
- 97FE6B0A-E0AA-4FCA-81E9-4FAF46522708
-
-
- actionconfig
-
- command
- 2
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- E679EE74-AFDF-4D43-AB92-57583A1FB352
- buttonlabel
- Show Trash
- itemuid
- A8B1AA80-4C01-4C38-98D3-B149FA692AEB
-
-
- actionconfig
-
- command
- 3
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 92CA2C9F-5460-4135-9882-3C107EFDF85E
- buttonlabel
- Empty Trash
- itemuid
- D4477103-6176-4F08-8E2A-3698AE8944B8
-
-
- actionconfig
-
- command
- 9
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- C4D4BA8E-C80C-4789-9EB5-43A06414DFEB
- buttonlabel
- Quit All Apps
- itemuid
- 0EB2B06F-7B49-408A-9E4D-AD449C7C9375
-
-
- actionconfig
-
- command
- 10
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 426D4E4D-88C7-4B5C-9119-E5B6BF306C67
- buttonlabel
- Eject All
- itemuid
- C5085E98-C8E6-4DAC-801C-F42216B65174
-
-
- actionconfig
-
- command
- 6
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 10D86B12-DBE0-43CA-A2AB-5E6E36447BD7
- buttonlabel
- Lock
- itemuid
- 98F5DBC0-0031-460A-A529-F9A991B13506
-
-
- actionconfig
-
- command
- 4
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- 02BB8F9B-811B-4065-BF1C-4AF35C1A0C42
- buttonlabel
- Log Out
- itemuid
- 00A53023-4775-4903-9B70-3595A5912489
-
-
- actionconfig
-
- command
- 7
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC
- buttonlabel
- Restart
- itemuid
- F85369E7-A150-41A7-ABA6-A0852CB70C5C
-
-
- actionconfig
-
- command
- 8
- confirm
-
-
- actionuid
- remote.alfred.systemcommand
- buttoniconid
- B99239C8-54FF-4B25-997B-1A59018CCEF0
- buttonlabel
- Shut Down
- itemuid
- 4A82B466-0267-4FF2-9402-BFEA5A80A9F6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- Control your Mac
- title
- System Commands
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data b/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data
deleted file mode 100644
index bec3baa..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data
+++ /dev/null
@@ -1,412 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- 9879DAE4-272F-427F-B904-E3912DD40038
- iconisuserspecified
-
- items
-
-
- actionconfig
-
- command
- 15
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 3614B607-B46E-4BC4-8096-9BA5CF5D9F55
- buttonlabel
- Back track
- itemuid
- 6A60496C-9D3C-4ED9-95F3-F8BE88A6E2FE
-
-
- actionconfig
-
- command
- 1
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8
- buttonlabel
- Play or Pause
- itemuid
- 3A13D2C9-F1E3-4990-B7D2-89ED756E026E
-
-
- actionconfig
-
- command
- 2
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 9D73BB97-2BF4-4472-A8AA-4E7890849D0B
- buttonlabel
- Next track
- itemuid
- 8C721357-0281-4824-9E8C-73B0F85722B1
-
-
- actionconfig
-
- command
- 4
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- B0174B46-EBE2-4540-9186-4CCF5990134D
- buttonlabel
- Random album
- itemuid
- 46B42D33-9250-4324-8D2A-31EB0E699642
-
-
- actionconfig
-
- command
- 8
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 08A475A0-4D98-4055-A077-A4240621005D
- buttonlabel
- Mute
- itemuid
- 9BE58DF6-8A0E-4A13-BA2A-E7FCF4287F04
-
-
- actionconfig
-
- command
- 7
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 7D666652-A158-4B3A-B5C9-94386B467D3B
- buttonlabel
- Volume down
- itemuid
- 89818861-F986-4E45-8C95-75601EBE12DF
-
-
- actionconfig
-
- command
- 6
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- BAAF3940-9DDB-4CAE-966E-B48A930CA657
- buttonlabel
- Volume up
- itemuid
- F3D3A356-1C02-46A0-A1A5-AAEE02E3187D
-
-
- actionconfig
-
- command
- 5
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- D4D0AC6D-796C-4096-B2FB-6BDF70DECD70
- buttonlabel
- Maximum volume
- itemuid
- FED66A6B-1B26-4D72-8208-C8921F94B335
-
-
-
-
-
-
- actionconfig
-
- command
- 14
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 3BCF6DC8-7ED1-4400-93DE-C91BC6528157
- buttonlabel
- Clear rating for current track
- itemuid
- D04B7487-9B7A-4A04-9277-A51B99DAD88B
-
-
- actionconfig
-
- command
- 9
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 450629F8-3ECE-4B44-852E-A2A87FAF684E
- buttonlabel
- ★ for current track
- itemuid
- 6D451E2E-D116-4582-84A0-405F7FE4F7AF
-
-
- actionconfig
-
- command
- 11
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 364213BC-647A-41F8-916C-0DC6AA557B86
- buttonlabel
- ★★★ for current track
- itemuid
- DF4586DF-5540-4641-AA8B-33E90757C407
-
-
- actionconfig
-
- command
- 13
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- A175FCEB-7B03-435E-9D1C-6097F665261B
- buttonlabel
- ★★★★★ for current track
- itemuid
- FA7AF1A5-F76C-4B92-BB34-BDB5449F4F19
-
-
- itemsall
-
-
- actionconfig
-
- command
- 15
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 3614B607-B46E-4BC4-8096-9BA5CF5D9F55
- buttonlabel
- Back track
- itemuid
- 6A60496C-9D3C-4ED9-95F3-F8BE88A6E2FE
-
-
- actionconfig
-
- command
- 1
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8
- buttonlabel
- Play or Pause
- itemuid
- 3A13D2C9-F1E3-4990-B7D2-89ED756E026E
-
-
- actionconfig
-
- command
- 2
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 9D73BB97-2BF4-4472-A8AA-4E7890849D0B
- buttonlabel
- Next track
- itemuid
- 8C721357-0281-4824-9E8C-73B0F85722B1
-
-
- actionconfig
-
- command
- 4
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- B0174B46-EBE2-4540-9186-4CCF5990134D
- buttonlabel
- Random album
- itemuid
- 46B42D33-9250-4324-8D2A-31EB0E699642
-
-
- actionconfig
-
- command
- 8
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 08A475A0-4D98-4055-A077-A4240621005D
- buttonlabel
- Mute
- itemuid
- 9BE58DF6-8A0E-4A13-BA2A-E7FCF4287F04
-
-
- actionconfig
-
- command
- 7
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 7D666652-A158-4B3A-B5C9-94386B467D3B
- buttonlabel
- Volume down
- itemuid
- 89818861-F986-4E45-8C95-75601EBE12DF
-
-
- actionconfig
-
- command
- 6
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- BAAF3940-9DDB-4CAE-966E-B48A930CA657
- buttonlabel
- Volume up
- itemuid
- F3D3A356-1C02-46A0-A1A5-AAEE02E3187D
-
-
- actionconfig
-
- command
- 5
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- D4D0AC6D-796C-4096-B2FB-6BDF70DECD70
- buttonlabel
- Maximum volume
- itemuid
- FED66A6B-1B26-4D72-8208-C8921F94B335
-
-
-
-
-
-
- actionconfig
-
- command
- 14
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 3BCF6DC8-7ED1-4400-93DE-C91BC6528157
- buttonlabel
- Clear rating for current track
- itemuid
- D04B7487-9B7A-4A04-9277-A51B99DAD88B
-
-
- actionconfig
-
- command
- 9
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 450629F8-3ECE-4B44-852E-A2A87FAF684E
- buttonlabel
- ★ for current track
- itemuid
- 6D451E2E-D116-4582-84A0-405F7FE4F7AF
-
-
- actionconfig
-
- command
- 11
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- 364213BC-647A-41F8-916C-0DC6AA557B86
- buttonlabel
- ★★★ for current track
- itemuid
- DF4586DF-5540-4641-AA8B-33E90757C407
-
-
- actionconfig
-
- command
- 13
-
- actionuid
- remote.alfred.itunescommand
- buttoniconid
- A175FCEB-7B03-435E-9D1C-6097F665261B
- buttonlabel
- ★★★★★ for current track
- itemuid
- FA7AF1A5-F76C-4B92-BB34-BDB5449F4F19
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- Control Music.app
- title
- Music Control
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data b/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data
deleted file mode 100644
index 6541d63..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data
+++ /dev/null
@@ -1,372 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- EAC41EFE-E03F-42F9-B01B-09834ED7AF0E
- iconisuserspecified
-
- items
-
-
- actionconfig
-
- url
- https://www.wikipedia.org
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- EC2CECFA-285C-4E5F-BA67-90D1B10C8D16
- buttonlabel
-
- itemuid
- 120F79D1-053B-436A-ABE3-0650F71E9342
-
-
- actionconfig
-
- url
- https://twitter.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- D027C2E7-7ACC-4933-B074-BA4D4CA52AE8
- buttonlabel
-
- itemuid
- 7F6D58AC-8D3D-46D2-8841-D3308FDEFA3E
-
-
- actionconfig
-
- url
- https://www.facebook.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 6FB134CE-4E10-43E8-A2F4-330F95643EA2
- buttonlabel
-
- itemuid
- 592A4E9A-0821-473C-8253-CA3122E257FE
-
-
- actionconfig
-
- url
- https://www.youtube.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 49CBA6E9-EDFD-4643-8EAC-05CC16B91B78
- buttonlabel
-
- itemuid
- 9C4D2DBE-B269-48AA-90B8-8459FAC32829
-
-
- actionconfig
-
- url
- https://www.apple.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 8929F5A7-2447-4A98-BAE2-82F81013F8E3
- buttonlabel
-
- itemuid
- F30DDE2A-0C23-4FA2-8A4F-286952C8A1B8
-
-
- actionconfig
-
- url
- https://www.bbc.co.uk/news
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 41519E90-2A8A-4357-A3CD-3524EAC0562B
- buttonlabel
-
- itemuid
- BFE9B267-A9F9-4EEE-995A-3CA2D7407879
-
-
- actionconfig
-
- url
- https://www.alfredapp.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 776D62FC-1F90-4E49-BB57-9AE68C494625
- buttonlabel
-
- itemuid
- 94EBF0A0-7EE8-476B-9E16-C0F82A93D404
-
-
-
-
-
-
-
- actionconfig
-
- url
- https://www.alfredapp.com/help/
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- BCE33ABB-7F9C-4588-B184-F4485E561FFE
- buttonlabel
- Alfred Support
- itemuid
- EC80AEB9-8A11-4C17-9C2B-453AE0E0BD39
-
-
- actionconfig
-
- url
- https://www.alfredapp.com/shop/
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 51D3F695-464F-4264-8B1D-19AAE4DF8E99
- buttonlabel
- Buy Alfred
- itemuid
- 63D00AF6-BAE6-4812-8EFA-CEBCC4C959F6
-
-
- actionconfig
-
- resultsubtitle
- Look for help on '{query}'
- resulttitle
- Search Alfred Help
- spaces
- +
- url
- https://www.alfredapp.com/search/?q={query}
- utf8
-
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- DCED03D3-76C7-4F55-818F-E3CAA6E293F2
- buttonlabel
- Search Help
- itemuid
- 5AEC9009-4FBC-4596-BCA0-75050FFFFD96
-
-
-
- itemsall
-
-
- actionconfig
-
- url
- https://www.wikipedia.org
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- EC2CECFA-285C-4E5F-BA67-90D1B10C8D16
- buttonlabel
-
- itemuid
- 120F79D1-053B-436A-ABE3-0650F71E9342
-
-
- actionconfig
-
- url
- https://twitter.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- D027C2E7-7ACC-4933-B074-BA4D4CA52AE8
- buttonlabel
-
- itemuid
- 7F6D58AC-8D3D-46D2-8841-D3308FDEFA3E
-
-
- actionconfig
-
- url
- https://www.facebook.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 6FB134CE-4E10-43E8-A2F4-330F95643EA2
- buttonlabel
-
- itemuid
- 592A4E9A-0821-473C-8253-CA3122E257FE
-
-
- actionconfig
-
- url
- https://www.youtube.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 49CBA6E9-EDFD-4643-8EAC-05CC16B91B78
- buttonlabel
-
- itemuid
- 9C4D2DBE-B269-48AA-90B8-8459FAC32829
-
-
- actionconfig
-
- url
- https://www.apple.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 8929F5A7-2447-4A98-BAE2-82F81013F8E3
- buttonlabel
-
- itemuid
- F30DDE2A-0C23-4FA2-8A4F-286952C8A1B8
-
-
- actionconfig
-
- url
- https://www.bbc.co.uk/news
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 41519E90-2A8A-4357-A3CD-3524EAC0562B
- buttonlabel
-
- itemuid
- BFE9B267-A9F9-4EEE-995A-3CA2D7407879
-
-
- actionconfig
-
- url
- https://www.alfredapp.com
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 776D62FC-1F90-4E49-BB57-9AE68C494625
- buttonlabel
-
- itemuid
- 94EBF0A0-7EE8-476B-9E16-C0F82A93D404
-
-
-
-
-
-
-
- actionconfig
-
- url
- https://www.alfredapp.com/help/
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- BCE33ABB-7F9C-4588-B184-F4485E561FFE
- buttonlabel
- Alfred Support
- itemuid
- EC80AEB9-8A11-4C17-9C2B-453AE0E0BD39
-
-
- actionconfig
-
- url
- https://www.alfredapp.com/shop/
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- 51D3F695-464F-4264-8B1D-19AAE4DF8E99
- buttonlabel
- Buy Alfred
- itemuid
- 63D00AF6-BAE6-4812-8EFA-CEBCC4C959F6
-
-
- actionconfig
-
- resultsubtitle
- Look for help on '{query}'
- resulttitle
- Search Alfred Help
- spaces
- +
- url
- https://www.alfredapp.com/search/?q={query}
- utf8
-
-
- actionuid
- remote.alfred.openurl
- buttoniconid
- DCED03D3-76C7-4F55-818F-E3CAA6E293F2
- buttonlabel
- Search Help
- itemuid
- 5AEC9009-4FBC-4596-BCA0-75050FFFFD96
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- URLs and Custom Searches
- title
- Bookmarks
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data b/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data
deleted file mode 100644
index e1969dd..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data
+++ /dev/null
@@ -1,468 +0,0 @@
-
-
-
-
- gridsize
- 4
- hidelabels
-
- iconid
- 7C63B75F-E8AE-44D0-95DA-BB9A318F03F1
- iconisuserspecified
-
- items
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Appearance.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 953B40B5-C903-4EE9-8038-6A5122142204
- buttonlabel
- Appearance.prefPane
- itemuid
- B26A0B28-70DC-4E15-AB8E-BE943D489AE3
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 77E0C240-F652-4AD9-AF67-930A0019D699
- buttonlabel
- DesktopScreenEffectsPref.prefPane
- itemuid
- 9EF93D53-47DA-4A63-B2ED-92991425F45C
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Dock.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 9DF272BF-7997-402D-A042-969DDD5E12F9
- buttonlabel
- Dock.prefPane
- itemuid
- 8B5A40B1-6476-4EDC-ADA1-0F9301CBE207
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Security.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 57B6FBF7-FBD0-4025-A18A-08AE4BE061E1
- buttonlabel
- Security.prefPane
- itemuid
- 73E2A14A-4072-4B55-9F84-97AF52791DA0
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Displays.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 93904FA6-C2AC-4991-A539-93FF27174789
- buttonlabel
- Displays.prefPane
- itemuid
- EEED5BA0-D028-49C9-8177-A5F9F24DA7D1
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/EnergySaver.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- EADFF19E-0813-44AF-BA4E-1276426D58F2
- buttonlabel
- EnergySaver.prefPane
- itemuid
- 4AEC70A4-3853-405B-8740-DF0F645C2DC5
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/PrintAndScan.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 50A3174C-19C7-49C6-B325-2CD6B48BAC9D
- buttonlabel
- PrintAndScan.prefPane
- itemuid
- 95AAA4CB-92E7-45D6-8563-C8D958435683
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Sound.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E
- buttonlabel
- Sound.prefPane
- itemuid
- 19B7851E-601A-444A-87DF-9C68E37527D2
-
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Network.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D
- buttonlabel
- Network.prefPane
- itemuid
- 863316F8-06F3-4E6B-BDF6-91DD0A290B7B
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Bluetooth.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 7CD41A6B-4F26-4709-9B3F-90D5B982933E
- buttonlabel
- Bluetooth.prefPane
- itemuid
- 247EC67B-39D6-4CAF-BDFF-901B6BB676E1
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/SharingPref.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 10218247-AF55-40E5-8973-30E90A28EFB8
- buttonlabel
- SharingPref.prefPane
- itemuid
- B32AAA92-DD35-458F-AF23-1BA9F6DED904
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Accounts.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C42A8CF3-6B21-4D83-A765-80921865AA0C
- buttonlabel
- Accounts.prefPane
- itemuid
- 132FFACD-D567-4057-9964-B03D7BFD129A
-
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/DateAndTime.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- D994AD4F-8240-4A87-B7EA-55D9D5D6EB94
- buttonlabel
- DateAndTime.prefPane
- itemuid
- C1875E88-52C2-4198-811A-F0CB4E376C4F
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/TimeMachine.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 4742A6FD-76B1-4556-8697-44C376E31043
- buttonlabel
- TimeMachine.prefPane
- itemuid
- A271BAC0-492A-4BFA-A28E-A9F9F4AE76CF
-
-
- itemsall
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Appearance.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 953B40B5-C903-4EE9-8038-6A5122142204
- buttonlabel
- Appearance.prefPane
- itemuid
- B26A0B28-70DC-4E15-AB8E-BE943D489AE3
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 77E0C240-F652-4AD9-AF67-930A0019D699
- buttonlabel
- DesktopScreenEffectsPref.prefPane
- itemuid
- 9EF93D53-47DA-4A63-B2ED-92991425F45C
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Dock.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 9DF272BF-7997-402D-A042-969DDD5E12F9
- buttonlabel
- Dock.prefPane
- itemuid
- 8B5A40B1-6476-4EDC-ADA1-0F9301CBE207
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Security.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 57B6FBF7-FBD0-4025-A18A-08AE4BE061E1
- buttonlabel
- Security.prefPane
- itemuid
- 73E2A14A-4072-4B55-9F84-97AF52791DA0
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Displays.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 93904FA6-C2AC-4991-A539-93FF27174789
- buttonlabel
- Displays.prefPane
- itemuid
- EEED5BA0-D028-49C9-8177-A5F9F24DA7D1
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/EnergySaver.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- EADFF19E-0813-44AF-BA4E-1276426D58F2
- buttonlabel
- EnergySaver.prefPane
- itemuid
- 4AEC70A4-3853-405B-8740-DF0F645C2DC5
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/PrintAndScan.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 50A3174C-19C7-49C6-B325-2CD6B48BAC9D
- buttonlabel
- PrintAndScan.prefPane
- itemuid
- 95AAA4CB-92E7-45D6-8563-C8D958435683
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Sound.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E
- buttonlabel
- Sound.prefPane
- itemuid
- 19B7851E-601A-444A-87DF-9C68E37527D2
-
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Network.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D
- buttonlabel
- Network.prefPane
- itemuid
- 863316F8-06F3-4E6B-BDF6-91DD0A290B7B
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Bluetooth.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 7CD41A6B-4F26-4709-9B3F-90D5B982933E
- buttonlabel
- Bluetooth.prefPane
- itemuid
- 247EC67B-39D6-4CAF-BDFF-901B6BB676E1
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/SharingPref.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 10218247-AF55-40E5-8973-30E90A28EFB8
- buttonlabel
- SharingPref.prefPane
- itemuid
- B32AAA92-DD35-458F-AF23-1BA9F6DED904
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/Accounts.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- C42A8CF3-6B21-4D83-A765-80921865AA0C
- buttonlabel
- Accounts.prefPane
- itemuid
- 132FFACD-D567-4057-9964-B03D7BFD129A
-
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/DateAndTime.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- D994AD4F-8240-4A87-B7EA-55D9D5D6EB94
- buttonlabel
- DateAndTime.prefPane
- itemuid
- C1875E88-52C2-4198-811A-F0CB4E376C4F
-
-
- actionconfig
-
- path
- /System/Library/PreferencePanes/TimeMachine.prefPane
-
- actionuid
- remote.alfred.launchfile
- buttoniconid
- 4742A6FD-76B1-4556-8697-44C376E31043
- buttonlabel
- TimeMachine.prefPane
- itemuid
- A271BAC0-492A-4BFA-A28E-A9F9F4AE76CF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subtitle
- Launch macOS Preferences
- title
- Preferences
-
-
diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/pages.data b/Alfred/Alfred.alfredpreferences/remote/pages/pages.data
deleted file mode 100644
index 5bd6a7e..0000000
--- a/Alfred/Alfred.alfredpreferences/remote/pages/pages.data
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- pages
-
- 481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC
- 3D35BF6F-B96E-455D-A139-7D182B94D8F3
- D4DBBADC-C1D0-4BE5-A864-FD34E266D786
- 2BBA183A-CB81-4605-8168-1D5E2A787AC8
- CEC7274C-3101-4253-82CE-0A56B461CA6D
- C85F3579-5652-45DC-870A-89322E642E53
-
- uid
- D2421A13-039E-4C26-BB85-C82E0641CB91
-
-
diff --git a/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist b/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist
deleted file mode 100644
index 58ffb1c..0000000
--- a/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist
+++ /dev/null
@@ -1,226 +0,0 @@
-
-
-
-
- bundleid
- me.erynwells.alfred.rot13
- category
- Tools
- connections
-
- 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31
-
-
- destinationuid
- 2BE12284-F92E-4AA6-8DD3-056ACFA0808B
- modifiers
- 0
- modifiersubtext
-
- vitoclose
-
-
-
- 2BE12284-F92E-4AA6-8DD3-056ACFA0808B
-
-
- destinationuid
- FD58018C-DC39-4396-A00F-A04372220916
- modifiers
- 0
- modifiersubtext
-
- vitoclose
-
-
-
- destinationuid
- 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED
- modifiers
- 0
- modifiersubtext
-
- vitoclose
-
-
-
- 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86
-
-
- destinationuid
- 2BE12284-F92E-4AA6-8DD3-056ACFA0808B
- modifiers
- 0
- modifiersubtext
-
- vitoclose
-
-
-
-
- createdby
- Eryn Wells
- description
- rot13 encode the input
- disabled
-
- name
- rot13
- objects
-
-
- config
-
- argumenttype
- 0
- keyword
- rot13
- subtext
- Rot13 encode "{query}"
- text
- Rot13
- withspace
-
-
- type
- alfred.workflow.input.keyword
- uid
- 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31
- version
- 1
-
-
- config
-
- concurrently
-
- escaping
- 102
- script
- echo "$@" | tr a-zA-Z n-za-mN-ZA-M
- scriptargtype
- 1
- scriptfile
-
- type
- 0
-
- type
- alfred.workflow.action.script
- uid
- 2BE12284-F92E-4AA6-8DD3-056ACFA0808B
- version
- 2
-
-
- config
-
- autopaste
-
- clipboardtext
-
- transient
-
-
- type
- alfred.workflow.output.clipboard
- uid
- FD58018C-DC39-4396-A00F-A04372220916
- version
- 3
-
-
- config
-
- lastpathcomponent
-
- onlyshowifquerypopulated
-
- removeextension
-
- text
- {query}
- title
- rot13
-
- type
- alfred.workflow.output.notification
- uid
- 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED
- version
- 1
-
-
- config
-
- action
- 0
- argument
- 1
- focusedappvariable
-
- focusedappvariablename
-
- leftcursor
-
- modsmode
- 0
- relatedAppsMode
- 0
-
- type
- alfred.workflow.trigger.hotkey
- uid
- 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86
- version
- 2
-
-
- readme
-
- uidata
-
- 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31
-
- xpos
- 40
- ypos
- 50
-
- 2BE12284-F92E-4AA6-8DD3-056ACFA0808B
-
- xpos
- 230
- ypos
- 50
-
- 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED
-
- xpos
- 410
- ypos
- 170
-
- 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86
-
- xpos
- 40
- ypos
- 175
-
- FD58018C-DC39-4396-A00F-A04372220916
-
- xpos
- 410
- ypos
- 50
-
-
- variablesdontexport
-
- version
- 1.0
- webaddress
- https://www.erynwells.me
-
-
diff --git a/Ansible/bootstrap.yml b/Ansible/bootstrap.yml
new file mode 100644
index 0000000..6ee82db
--- /dev/null
+++ b/Ansible/bootstrap.yml
@@ -0,0 +1,53 @@
+---
+- hosts: localhost
+ vars:
+ repo: https://github.com/erynofwales/dotfiles.git
+ local_repo: ~/.dotfiles
+ dotfiles:
+ - Xdefaults
+ - emacs
+ - emacs.d
+ - env
+ - gdbinit
+ - gitconfig
+ - gitignore
+ - gvimrc
+ - hgrc
+ - indent.pro
+ - muttrc
+ - nethackrc
+ - profile
+ - rc
+ - screenrc
+ nvim_conifg: ~/.config/nvim
+ vim_bundles:
+ Vundle.vim: https://github.com/gmarik/Vundle.vim.git
+ tasks:
+ - name: Pull dotfiles
+ git: repo={{ repo }} dest={{ local_repo }}
+
+ - name: Link dotfiles
+ file: src={{ local_repo }}/{{ item }} dest=~/.{{ item }} state=link
+ with_items: "{{ dotfiles }}"
+
+ - name: Link ~/bin
+ file: src={{ local_repo }}/bin dest=~/bin state=link
+
+ # Don't show last login when I open a terminal
+ - name: Touch .hushlogin
+ file: path=~/.hushlogin state=touch
+
+ # Setup neovim
+ - name: Create ~/.config
+ file: path=~/.config state=directory
+ - name: Symlink vim dir for neovim
+ file: src={{ local_repo }}/vim dest={{ nvim_config }}
+ - name: Symlink vimrc for neovim
+ file: src={{ local_repo }}/vimrc dest={{ nvim_config }}/init.vim
+
+ # Setup vim bundles
+ - name: Get Vim bundles
+ git: repo={{ item[1] }} dest={{ local_repo }}/vim/bundle/{{ item[0] }}
+ with_items: "{{ vim_bundles }}"
+ - name: Install bundles registered in vim
+ command: vim +PluginInstall +qall
diff --git a/Ansible/facts/dotfiles.fact b/Ansible/facts/dotfiles.fact
deleted file mode 100755
index 78714dc..0000000
--- a/Ansible/facts/dotfiles.fact
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env zsh
-
-dotfiles_root=$(git rev-parse --show-toplevel)
-echo "{ \"path\": \"${dotfiles_root}\" }"
diff --git a/Ansible/facts/xdg.fact b/Ansible/facts/xdg.fact
deleted file mode 100644
index d3ec8dd..0000000
--- a/Ansible/facts/xdg.fact
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "config_home": "~/.config",
- "data_home": "~/.local/share",
- "state_home": "~/.local/state"
-}
diff --git a/Ansible/facts/xorg.fact b/Ansible/facts/xorg.fact
deleted file mode 100755
index c450d24..0000000
--- a/Ansible/facts/xorg.fact
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env zsh
-
-if which xorg 1>/dev/null 2>&1; then
- xorg_exists="true"
-else
- xorg_exists="false"
-fi
-
-echo "{ \"exists\": ${xorg_exists} }"
diff --git a/Ansible/inventory.yml b/Ansible/inventory.yml
deleted file mode 100644
index d9c3146..0000000
--- a/Ansible/inventory.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-all:
- localhost:
diff --git a/Ansible/mail.yml b/Ansible/mail.yml
new file mode 100644
index 0000000..47d2c65
--- /dev/null
+++ b/Ansible/mail.yml
@@ -0,0 +1,12 @@
+---
+- hosts: localhost
+ vars:
+ dotfiles: ~/.dotfiles
+ packages: [mutt, offlineimap, urlview, w3m]
+ tasks:
+ - name: "Install packages: {{ packages|join(', ') }}"
+ homebrew: name={{ packages }} state=present
+
+ - name: Link mutt config files
+ file: src={{ dotfiles }}/{{ item }} dest=~/.{{ item }} state=link
+ with_items: [muttrc, mutt]
diff --git a/Ansible/play-setup.yml b/Ansible/play-setup.yml
deleted file mode 100644
index dabc7e0..0000000
--- a/Ansible/play-setup.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- name: Set up dotfiles
- hosts: localhost
- connection: local
- module_defaults:
- ansible.builtin.setup:
- fact_path: "./facts"
- vars:
- eryn_dotfiles_ignore_symlink_errors: "{{ ansible_check_mode }}"
- tasks:
- - name: Include eryn role
- ansible.builtin.include_role:
- name: eryn
diff --git a/Ansible/roles/eryn/defaults/main.yml b/Ansible/roles/eryn/defaults/main.yml
deleted file mode 100644
index 2c73f2a..0000000
--- a/Ansible/roles/eryn/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-eryn_vim_plug_tag: 0.14.0
diff --git a/Ansible/roles/eryn/handlers/main.yml b/Ansible/roles/eryn/handlers/main.yml
deleted file mode 100644
index d251ba1..0000000
--- a/Ansible/roles/eryn/handlers/main.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-- name: "Rebuild local facts"
- ansible.builtin.setup:
- gather_subset: [ local ]
-
-- name: "Reload Dock"
- ansible.builtin.command: killall Dock
diff --git a/Ansible/roles/eryn/tasks/git.yml b/Ansible/roles/eryn/tasks/git.yml
deleted file mode 100644
index 6b0bf55..0000000
--- a/Ansible/roles/eryn/tasks/git.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- name: "git : Symlink configs"
- ansible.builtin.include_tasks: symlink_dotfile.yml
- vars:
- dotfile_src: "{{ item }}"
- loop:
- - gitconfig
- - gitignore
diff --git a/Ansible/roles/eryn/tasks/macos/defaults.yml b/Ansible/roles/eryn/tasks/macos/defaults.yml
deleted file mode 100644
index f3d721e..0000000
--- a/Ansible/roles/eryn/tasks/macos/defaults.yml
+++ /dev/null
@@ -1,48 +0,0 @@
----
-- name: "macOS : General : Set localization defaults"
- community.general.osx_defaults:
- domain: NSGlobalDomain
- key: "{{ item.key }}"
- type: "{{ item.type | default(omit) }}"
- value: "{{ item.value }}"
- state: present
- loop:
- - { name: AppleICUForce24HourTime, value: true, type: bool }
- - { name: AppleLanguages, value: [ en-US, es-US, ja-US ], type: array }
- - { name: AppleShowScrollBars, value: WhenScrolling }
- - { name: InitialKeyRepeat, value: 15, type: int }
- - { name: KeyRepeat, value: 2, type: int }
- - { name: NSAutomaticCapitalizationEnabled, value: false, type: bool }
- - { name: NSAutomaticDashSubstitutionEnabled, value: false, type: bool }
- - { name: NSAutomaticPeriodSubstitutionEnabled, value: false, type: bool }
- - { name: NSAutomaticQuoteSubstitutionEnabled, value: false, type: bool }
- - { name: NSAutomaticSpellingCorrectionEnabled, value: false, type: bool }
- - { name: NSAutomaticTextCompletionCollapsed, value: true, type: bool }
- - { name: NSAutomaticTextCompletionEnabled, value: true, type: bool }
-
-- name: "macOS : Dock : Set defaults"
- community.general.osx_defaults:
- domain: com.apple.Dock
- key: "{{ item.key }}"
- type: "{{ item.type | default(omit) }}"
- value: "{{ item.value }}"
- state: present
- loop:
- - { name: autohide, value: true, type: bool }
- - { name: showhidden, value: true, type: bool }
- - { name: tilesize, value: 72, type: int }
- notify: Reload Dock
-
-- name: "macOS : TextEdit : Set defaults"
- community.general.osx_defaults:
- domain: com.apple.TextEdit
- key: "{{ item.key }}"
- type: "{{ item.type | default(omit) }}"
- value: "{{ item.value }}"
- state: present
- loop:
- - { key: IgnoreHTML, value: true, type: bool }
- - { key: RichText, value: false, type: bool }
- - { key: author, value: "Eryn Wells" }
- - { key: NSFixedPitchFontSize, value: 14, type: int }
- - { key: NSFixedPitchFontSize, value: 14, type: int }
diff --git a/Ansible/roles/eryn/tasks/macos/homebrew.yml b/Ansible/roles/eryn/tasks/macos/homebrew.yml
deleted file mode 100644
index 4602e09..0000000
--- a/Ansible/roles/eryn/tasks/macos/homebrew.yml
+++ /dev/null
@@ -1,37 +0,0 @@
----
-- name: "macOS : homebrew : Does the brew command exist?"
- ansible.builtin.stat:
- path: /opt/homebrew/bin/brew
- register: _eryn_homebrew_brew
-
-- name: "macOS : homebrew : Install Homebrew"
- when: not _eryn_homebrew_brew.stat.exists
- block:
- - name: "macOS : homebrew : Create temporary file for install script"
- ansible.builtin.tempfile:
- state: file
- prefix: homebrew-install
- register: _eryn_homebrew_install_script
-
- - name: "macOS : homebrew : Set up homebrew"
- block:
- - name: "macOS : homebrew : Fetch install script"
- ansible.builtin.get_url:
- url: https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
- dest: "{{ _eryn_homebrew_install_script.path }}"
- mode: "0644"
-
- - name: "macOS : homebrew : Run install script"
- ansible.builtin.command:
- cmd: bash {{ _eryn_homebrew_install_script.path }}
- environment:
- NONINTERACTIVE: 1
-
- - name: "macOS : homebrew : Gather package manager facts"
- ansible.builtin.setup:
- gather_subset: pkg_mgr
- always:
- - name: "macOS : homebrew : Remove temporary install script"
- ansible.builtin.file:
- path: "{{ _eryn_homebrew_install_script.path }}"
- state: absent
diff --git a/Ansible/roles/eryn/tasks/macos/main.yml b/Ansible/roles/eryn/tasks/macos/main.yml
deleted file mode 100644
index cc189c1..0000000
--- a/Ansible/roles/eryn/tasks/macos/main.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-- name: "macOS : Configure defaults"
- ansible.builtin.import_tasks: macos/defaults.yml
-
-- name: "macOS : Configure log utility"
- ansible.builtin.import_tasks: macos/system-log.yml
-
-- name: "macOS : Configure homebrew"
- ansible.builtin.import_tasks: macos/homebrew.yml
diff --git a/Ansible/roles/eryn/tasks/macos/system-log.yml b/Ansible/roles/eryn/tasks/macos/system-log.yml
deleted file mode 100644
index 3d646a2..0000000
--- a/Ansible/roles/eryn/tasks/macos/system-log.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- name: "macOS : log : Symlink config"
- ansible.builtin.include_tasks: symlink_dotfile.yml
- vars:
- dotfile_src: logrc
diff --git a/Ansible/roles/eryn/tasks/main.yml b/Ansible/roles/eryn/tasks/main.yml
deleted file mode 100644
index fa5b40d..0000000
--- a/Ansible/roles/eryn/tasks/main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-- name: Configure macOS
- ansible.builtin.import_tasks: macos/main.yml
- when: ansible_os_family == "macOS"
-
-- name: Configure XDG environment
- ansible.builtin.import_tasks: xdg_home.yml
-
-- name: Configure zsh
- ansible.builtin.import_tasks: zsh.yml
-
-- name: Configure vim
- ansible.builtin.import_tasks: vim.yml
-- name: Configure neovim
- ansible.builtin.import_tasks: neovim.yml
-
-- name: Configure git
- ansible.builtin.import_tasks: git.yml
-
-- name: Configure tmux
- ansible.builtin.import_tasks: tmux.yml
-
-- name: Configure X.org
- ansible.builtin.import_tasks: xorg.yml
- when: ansible_os_family == "Linux"
diff --git a/Ansible/roles/eryn/tasks/neovim.yml b/Ansible/roles/eryn/tasks/neovim.yml
deleted file mode 100644
index 777c0bf..0000000
--- a/Ansible/roles/eryn/tasks/neovim.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-- name: "neovim : Install neovim"
- ansible.builtin.package:
- name: neovim
- state: present
-
-- name: "neovim : Download vim-plug from GitHub"
- ansible.builtin.get_url:
- url: "https://raw.githubusercontent.com/junegunn/vim-plug/{{ eryn_vim_plug_tag }}/plug.vim"
- dest: "{{ ansible_local.xdg.data_home }}/nvim/site/autoload/plug.vim"
- mode: "0644"
-
-- name: "neovim : Symlink config"
- ansible.builtin.include_tasks: symlink_dotfile_directory.yml
- vars:
- dotfile_src: config/nvim
diff --git a/Ansible/roles/eryn/tasks/nethack.yml b/Ansible/roles/eryn/tasks/nethack.yml
deleted file mode 100644
index 9aa10cb..0000000
--- a/Ansible/roles/eryn/tasks/nethack.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- name: "nethack : Symlink config"
- ansible.builtin.include_tasks: symlink_dotfile.yml
- vars:
- dotfile_src: nethackrc
diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile.yml b/Ansible/roles/eryn/tasks/symlink_dotfile.yml
deleted file mode 100644
index f03fbab..0000000
--- a/Ansible/roles/eryn/tasks/symlink_dotfile.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-- name: "Symlink {{ dotfile_src }}"
- ansible.builtin.file:
- src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}"
- dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}"
- owner: "{{ ansible_user_id }}"
- mode: 0640
- state: link
- ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}"
diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml b/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml
deleted file mode 100644
index 88da218..0000000
--- a/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-- name: "Symlink {{ dotfile_src }}"
- ansible.builtin.file:
- src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}"
- dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}"
- owner: "{{ ansible_user_id }}"
- mode: 0750
- state: link
- ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}"
diff --git a/Ansible/roles/eryn/tasks/tmux.yml b/Ansible/roles/eryn/tasks/tmux.yml
deleted file mode 100644
index 3c5effc..0000000
--- a/Ansible/roles/eryn/tasks/tmux.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- name: "tmux : Symlink config"
- ansible.builtin.include_tasks: symlink_dotfile_directory.yml
- vars:
- dotfile_src: config/tmux
diff --git a/Ansible/roles/eryn/tasks/vim.yml b/Ansible/roles/eryn/tasks/vim.yml
deleted file mode 100644
index 42346a3..0000000
--- a/Ansible/roles/eryn/tasks/vim.yml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-- name: "vim : Install vim"
- ansible.builtin.package:
- name:
- - vim
- - neovide
- state: present
-
-- name: "vim : Symlink config files"
- ansible.builtin.include_tasks: symlink_dotfile.yml
- vars:
- dotfile_src: "{{ item }}"
- loop:
- - vimrc
- - vimrc.common
-
-# The viminfo file goes here, but vim won't write it if the directory doesn't exist.
-- name: "vim : Create vim state directory"
- ansible.builtin.file:
- path: "{{ ansible_local.xdg.state_home }}/vim"
- owner: "{{ ansible_user_id }}"
- mode: "0750"
- state: directory
-
-- name: "vim : Symlink runtime directory"
- ansible.builtin.include_tasks: symlink_dotfile_directory.yml
- vars:
- dotfile_src: "{{ item }}"
- loop:
- - vim
diff --git a/Ansible/roles/eryn/tasks/xdg_home.yml b/Ansible/roles/eryn/tasks/xdg_home.yml
deleted file mode 100644
index df472cd..0000000
--- a/Ansible/roles/eryn/tasks/xdg_home.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: Create XDG directories
- ansible.builtin.file:
- path: "{{ item }}"
- state: directory
- owner: "{{ ansible_user_id }}"
- mode: 0750
- loop:
- - "{{ ansible_local.xdg.config_home }}"
- - "{{ ansible_local.xdg.data_home }}"
- - "{{ ansible_local.xdg.state_home }}"
-
diff --git a/Ansible/roles/eryn/tasks/xorg.yml b/Ansible/roles/eryn/tasks/xorg.yml
deleted file mode 100644
index 6956952..0000000
--- a/Ansible/roles/eryn/tasks/xorg.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-# TODO: This likely will require a lot more packages to install. IIRC, X.org
-# also requires input and video packages to run in a basic state. Not to
-# mention, graphics acceleration, window management, etc.
-
-- name: "Xorg : Install X.org"
- ansible.builtin.package:
- name: xorg
- state: present
- notify: Rebuild local facts
-
-# Make sure local facts are rebuilt so the steps below can correctly detect
-# if X.org is present.
-- name: "Xorg : Flush handlers"
- meta: flush_handlers
-
-- name: "Xorg : Configure"
- when: ansible_local.xorg.exists
- block:
- - name: "Xorg : Symlink Xdefaults"
- ansible.builtin.include_tasks: symlink_dotfile_directory.yml
- vars:
- dotfile_src: Xdefaults
diff --git a/Ansible/roles/eryn/tasks/zsh.yml b/Ansible/roles/eryn/tasks/zsh.yml
deleted file mode 100644
index 943e435..0000000
--- a/Ansible/roles/eryn/tasks/zsh.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- name: "zsh : Set user shell"
- ansible.builtin.user:
- name: "{{ ansible_user_id }}"
- shell: /bin/zsh
- state: present
-
-- name: "zsh : Symlink startup files"
- ansible.builtin.include_tasks: symlink_dotfile.yml
- vars:
- dotfile_src: "{{ item.src | default(item) }}"
- dotfile_dest: "{{ item.dest | default(item) }}"
- loop:
- - zshenv
- - zshrc
- - zprofile
-
-- name: "zsh : Install user functions"
- block:
- - name: "zsh : Create zsh directory"
- ansible.builtin.file:
- path: ~/.zsh
- owner: "{{ ansible_user_id }}"
- mode: 0755
- state: directory
-
- - name: "zsh : Symlink functions directories"
- ansible.builtin.include_tasks: symlink_dotfile_directory.yml
- vars:
- dotfile_src: "{{ item }}"
- loop:
- - zsh/func
diff --git a/Colors/Dracula-ish.terminal b/Colors/Dracula-ish.terminal
deleted file mode 100644
index 3b2091d..0000000
--- a/Colors/Dracula-ish.terminal
+++ /dev/null
@@ -1,236 +0,0 @@
-
-
-
-
- ANSIBlackColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4xMjk0MTE3NjQ3IDAuMTMzMzMzMzMz
- MyAwLjE3MjU0OTAxOTYAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- ANSIBlueColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC43NDExNzY0NzA2IDAuNTc2NDcwNTg4
- MiAwLjk3NjQ3MDU4ODIAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- ANSIBrightBlackColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4zODQzMTM3MjU1IDAuNDQ3MDU4ODIz
- NSAwLjY0MzEzNzI1NDkAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- ANSIBrightBlueColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMC44MzkyMTU2ODYzIDAuNjc0NTA5ODAz
- OSAxABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl
- Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA
- AAAAAAAAAM4=
-
- ANSIBrightCyanColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxARMC42NDMxMzcyNTQ5IDEgMQAQAYAC0hQV
- FhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lM
- UVNXXWRqd36SlJabpq+3ugAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADD
-
- ANSIBrightGreenColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMC40MTE3NjQ3MDU5IDEgMC41ODAzOTIx
- NTY5ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl
- Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA
- AAAAAAAAAM4=
-
- ANSIBrightMagentaColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjU3MjU0OTAxOTYgMC44NzQ1MDk4
- MDM5ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl
- Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA
- AAAAAAAAAM4=
-
- ANSIBrightRedColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAaMSAwLjQzMTM3MjU0OSAwLjQzMTM3MjU0
- OQAQAYAC0hQVFhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0
- CBEaJCkyN0lMUVNXXWRqd36bnZ+kr7jAwwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAA
- AAAAAADM
-
- ANSIBrightWhiteColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzRjEgMSAxABABgALSFBUWF1okY2xhc3NuYW1l
- WCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmplY3QIERokKTI3SUxRU1ddZGp3foWHiY6Z
- oqqtAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
-
- ANSIBrightYellowColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxARMSAxIDAuNjQ3MDU4ODIzNQAQAYAC0hQV
- FhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lM
- UVNXXWRqd36SlJabpq+3ugAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADD
-
- ANSICyanColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR
- EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s
- b3JTcGFjZVYkY2xhc3NPECgwLjU0NTA5ODAzOTIgMC45MTM3MjU0OTAyIDAuOTkyMTU2
- ODYyNyAxTxAcMC4zNDg5MzIyMzY0IDAuOTExNTk0MDkyOCAxABABgAKABdMYERkaGxxV
- TlNJQ0NZTlNTcGFjZUlEgAOABBAMTxECGAAAAhhhcHBsBAAAAG1udHJSR0IgWFlaIAfm
- AAEAAQAAAAAAAGFjc3BBUFBMAAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAA
- ANMtYXBwbOz9o444hUfDbbS9T3raGC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAACmRlc2MAAAD8AAAAMGNwcnQAAAEsAAAAUHd0cHQAAAF8AAAAFHJYWVoAAAGQAAAA
- FGdYWVoAAAGkAAAAFGJYWVoAAAG4AAAAFHJUUkMAAAHMAAAAIGNoYWQAAAHsAAAALGJU
- UkMAAAHMAAAAIGdUUkMAAAHMAAAAIG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAFAAAABwA
- RABpAHMAcABsAGEAeQAgAFAAM21sdWMAAAAAAAAAAQAAAAxlblVTAAAANAAAABwAQwBv
- AHAAeQByAGkAZwBoAHQAIABBAHAAcABsAGUAIABJAG4AYwAuACwAIAAyADAAMgAyWFla
- IAAAAAAAAPbVAAEAAAAA0yxYWVogAAAAAAAAg98AAD2/////u1hZWiAAAAAAAABKvwAA
- sTcAAAq5WFlaIAAAAAAAACg4AAARCwAAyLlwYXJhAAAAAAADAAAAAmZmAADypwAADVkA
- ABPQAAAKW3NmMzIAAAAAAAEMQgAABd7///MmAAAHkwAA/ZD///ui///9owAAA9wAAMBu
- 0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2WiIyRcTlNDb2xvclNw
- YWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkAMgA3AEkATABRAFMA
- WgBgAGsAeAB+AIsAoACnANIA8QDzAPUA9wD+AQQBDgEQARIBFAMwAzUDQANJA1YDWQNm
- A28DdAN8AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA38=
-
- ANSIGreenColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4zMTM3MjU0OTAyIDAuOTgwMzkyMTU2
- OSAwLjU0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- ANSIMagentaColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjQ3NDUwOTgwNTQgMC43NzY0NzA2
- MDE2ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl
- Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA
- AAAAAAAAAM4=
-
- ANSIRedColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjMzMzMzMzMzMzMgMC4zMzMzMzMz
- MzMzABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl
- Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA
- AAAAAAAAAM4=
-
- ANSIWhiteColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5
- NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- ANSIYellowColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAmMC45NDUwOTgwNDI1IDAuOTgwMzkyMTU4
- IDAuNTQ5MDE5NjM0NwAQAYAC0hQVFhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9y
- ohYYWE5TT2JqZWN0CBEaJCkyN0lMUVNXXWRqd36nqauwu8TMzwAAAAAAAAEBAAAAAAAA
- ABkAAAAAAAAAAAAAAAAAAADY
-
- BackgroundBlur
- 0.29667969048023218
- BackgroundColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxA1MC4wOTg2ODAwMDYyNSAwLjEwMzYxNDAw
- NjYgMC4xMzMyMTgwMDg0IDAuOTYwMDY5NDQ0NAAQAYAC0hQVFhdaJGNsYXNzbmFtZVgk
- Y2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lMUVNXXWRqd362uLq/ytPb
- 3gAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADn
-
- BlinkText
-
- CursorColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5
- NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- CursorType
- 0
- DisableANSIColor
-
- Font
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERIT
- FFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNALAAAAAAAABAQgAKAA1xTRk1v
- bm8tTGlnaHTSFxgZGlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIZG1hOU09iamVj
- dAgRGiQpMjdJTFFTWF5nbnd+hY6QkpShprG6wcQAAAAAAAABAQAAAAAAAAAcAAAAAAAA
- AAAAAAAAAAAAzQ==
-
- FontAntialias
-
- ProfileCurrentVersion
- 2.0699999999999998
- SelectionColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4yNjY2NjY2ODA2IDAuMjc4NDMxMzg1
- OCAwLjM1Mjk0MTE4NTIAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- TextBoldColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzRjEgMSAxABABgALSFBUWF1okY2xhc3NuYW1l
- WCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmplY3QIERokKTI3SUxRU1ddZGp3foWHiY6Z
- oqqtAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
-
- TextColor
-
- YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS
- AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO
- U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5
- NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv
- cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA
- AAAZAAAAAAAAAAAAAAAAAAAA2Q==
-
- UseBoldFonts
-
- UseBrightBold
-
- name
- Dracula-ish
- type
- Window Settings
- useOptionAsMetaKey
-
-
-
diff --git a/Dotfiles/Dotfiles.xcodeproj/project.pbxproj b/Dotfiles/Dotfiles.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..095777f
--- /dev/null
+++ b/Dotfiles/Dotfiles.xcodeproj/project.pbxproj
@@ -0,0 +1,320 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 55;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ C084FC452797B3C100915D6A /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = C084FC442797B3C100915D6A /* main.swift */; };
+ C084FC4B2797B3EC00915D6A /* ArgumentParser in Frameworks */ = {isa = PBXBuildFile; productRef = C084FC4A2797B3EC00915D6A /* ArgumentParser */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ C084FC3F2797B3C100915D6A /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ C084FC412797B3C100915D6A /* ShellLog */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ShellLog; sourceTree = BUILT_PRODUCTS_DIR; };
+ C084FC442797B3C100915D6A /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ C084FC3E2797B3C100915D6A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C084FC4B2797B3EC00915D6A /* ArgumentParser in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ C084FC362797B39E00915D6A = {
+ isa = PBXGroup;
+ children = (
+ C084FC432797B3C100915D6A /* ShellLog */,
+ C084FC422797B3C100915D6A /* Products */,
+ );
+ sourceTree = "";
+ };
+ C084FC422797B3C100915D6A /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ C084FC412797B3C100915D6A /* ShellLog */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ C084FC432797B3C100915D6A /* ShellLog */ = {
+ isa = PBXGroup;
+ children = (
+ C084FC442797B3C100915D6A /* main.swift */,
+ );
+ path = ShellLog;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ C084FC402797B3C100915D6A /* ShellLog */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C084FC462797B3C100915D6A /* Build configuration list for PBXNativeTarget "ShellLog" */;
+ buildPhases = (
+ C084FC3D2797B3C100915D6A /* Sources */,
+ C084FC3E2797B3C100915D6A /* Frameworks */,
+ C084FC3F2797B3C100915D6A /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = ShellLog;
+ packageProductDependencies = (
+ C084FC4A2797B3EC00915D6A /* ArgumentParser */,
+ );
+ productName = ShellLog;
+ productReference = C084FC412797B3C100915D6A /* ShellLog */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ C084FC372797B39E00915D6A /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = 1;
+ LastSwiftUpdateCheck = 1320;
+ LastUpgradeCheck = 1320;
+ TargetAttributes = {
+ C084FC402797B3C100915D6A = {
+ CreatedOnToolsVersion = 13.2.1;
+ };
+ };
+ };
+ buildConfigurationList = C084FC3A2797B39E00915D6A /* Build configuration list for PBXProject "Dotfiles" */;
+ compatibilityVersion = "Xcode 13.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = C084FC362797B39E00915D6A;
+ packageReferences = (
+ C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */,
+ );
+ productRefGroup = C084FC422797B3C100915D6A /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ C084FC402797B3C100915D6A /* ShellLog */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+ C084FC3D2797B3C100915D6A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C084FC452797B3C100915D6A /* main.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ C084FC3B2797B39E00915D6A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Debug;
+ };
+ C084FC3C2797B39E00915D6A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ };
+ name = Release;
+ };
+ C084FC472797B3C100915D6A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_STYLE = Automatic;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = 78372RE6B4;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ INSTALL_PATH = "$(HOME)/bin";
+ MACOSX_DEPLOYMENT_TARGET = 11.6;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ C084FC482797B3C100915D6A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_STYLE = Automatic;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = 78372RE6B4;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ INSTALL_PATH = "$(HOME)/bin";
+ MACOSX_DEPLOYMENT_TARGET = 11.6;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C084FC3A2797B39E00915D6A /* Build configuration list for PBXProject "Dotfiles" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C084FC3B2797B39E00915D6A /* Debug */,
+ C084FC3C2797B39E00915D6A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C084FC462797B3C100915D6A /* Build configuration list for PBXNativeTarget "ShellLog" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C084FC472797B3C100915D6A /* Debug */,
+ C084FC482797B3C100915D6A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+
+/* Begin XCRemoteSwiftPackageReference section */
+ C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = {
+ isa = XCRemoteSwiftPackageReference;
+ repositoryURL = "https://github.com/apple/swift-argument-parser.git";
+ requirement = {
+ kind = upToNextMajorVersion;
+ minimumVersion = 1.0.0;
+ };
+ };
+/* End XCRemoteSwiftPackageReference section */
+
+/* Begin XCSwiftPackageProductDependency section */
+ C084FC4A2797B3EC00915D6A /* ArgumentParser */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */;
+ productName = ArgumentParser;
+ };
+/* End XCSwiftPackageProductDependency section */
+ };
+ rootObject = C084FC372797B39E00915D6A /* Project object */;
+}
diff --git a/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 79%
rename from Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist
rename to Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
index 8bfe604..18d9810 100644
--- a/Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist
+++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -2,9 +2,7 @@
- hidehat
-
- hidemenu
+ IDEDidComputeMac32BitWarning
diff --git a/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 0000000..91fdecb
--- /dev/null
+++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,16 @@
+{
+ "object": {
+ "pins": [
+ {
+ "package": "swift-argument-parser",
+ "repositoryURL": "https://github.com/apple/swift-argument-parser.git",
+ "state": {
+ "branch": null,
+ "revision": "e1465042f195f374b94f915ba8ca49de24300a0d",
+ "version": "1.0.2"
+ }
+ }
+ ]
+ },
+ "version": 1
+}
diff --git a/Dotfiles/ShellLog/main.swift b/Dotfiles/ShellLog/main.swift
new file mode 100644
index 0000000..57334a1
--- /dev/null
+++ b/Dotfiles/ShellLog/main.swift
@@ -0,0 +1,57 @@
+//
+// main.swift
+// ShellLog
+//
+// Created by Eryn Wells on 1/18/22.
+//
+
+import ArgumentParser
+import OSLog
+
+enum Level {
+ case Debug
+ case Info
+ case Warn
+ case Error
+}
+
+extension Level: ExpressibleByArgument {
+ init?(argument: String) {
+ switch (argument) {
+ case "debug":
+ self = .Debug
+ case "info":
+ self = .Info
+ case "warn":
+ self = .Warn
+ case "error":
+ self = .Error
+ default:
+ return nil
+ }
+ }
+}
+
+struct ShellLog: ParsableCommand {
+
+ @Option(name: .shortAndLong, help: "The log level")
+ var level: Level?
+
+ @Argument() var message: String
+
+ func run() throws {
+ let log = Logger(subsystem: "me.erynwells.shell", category: "Shell")
+ switch level {
+ case .some(.Debug):
+ log.debug("\(message, privacy: .public)")
+ case .none, .some(.Info):
+ log.info("\(message, privacy: .public)")
+ case .some(.Warn):
+ log.warning("\(message, privacy: .public)")
+ case .some(.Error):
+ log.error("\(message, privacy: .public)")
+ }
+ }
+}
+
+ShellLog.main()
diff --git a/Fortune/Makefile b/Fortune/Makefile
deleted file mode 100644
index 9a1c213..0000000
--- a/Fortune/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-
-STRFILE=strfile
-
-DATFILES=eryn.dat
-
-.PHONY: all clean
-
-%.dat: %
- $(STRFILE) $^ $@
-
-.PHONY: all
-all: $(DATFILES)
-
-.PHONY: clean
-clean:
- rm -f $(DATFILES)
diff --git a/Fortune/eryn b/Fortune/eryn
deleted file mode 100644
index 87f0bc2..0000000
--- a/Fortune/eryn
+++ /dev/null
@@ -1,16 +0,0 @@
-Please practice this until you can easily do it.
- -- Andrej Diamantstein
-%
-Easy, isn't it?
- -- Andrej Diamantstein
-%
-TWENTY THREE NINETEEN!!!!
-%
-You only have to let the soft animal of your body
-love what it loves.
- -- Mary Oliver, Wild Geese
-%
-Be a lamp, or a lifeboat, or a ladder
-help someone’s soul to heal
-Walk out of your house like a shepherd.
- -- Rumi, Ode 3090
diff --git a/LaunchAgents/eryn.dotfiles.generate-motd.plist b/LaunchAgents/eryn.dotfiles.generate-motd.plist
deleted file mode 100644
index 1b2e6af..0000000
--- a/LaunchAgents/eryn.dotfiles.generate-motd.plist
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- Label
- eryn.dotfiles.generate-motd
- ProgramArguments
-
- zsh
- -c
- ~/bin/generate-motd
-
- EnvironmentVariables
-
- PATH
- /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/homebrew/bin
-
- RunOnDemand
-
-
-
diff --git a/LaunchAgents/eryn.system-parameters.plist b/LaunchAgents/eryn.system-parameters.plist
deleted file mode 100644
index 6326350..0000000
--- a/LaunchAgents/eryn.system-parameters.plist
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- Label
- eryn.system-parameters
- ProgramArguments
-
- /Users/eryn/bin/system-parameters
- --output
- /Users/eryn/.config/eryn/system_parameters.json
-
- WorkingDirectory
- /Users/eryn
- StandardOutPath
- /Users/eryn/.config/eryn/system_parameters.output.log
- StandardErrorPath
- /Users/eryn/.config/eryn/system_parameters.error.log
- EnvironmentVariables
-
- PATH
- /opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin
-
- RunAtLoad
-
-
-
diff --git a/Python/eryntools/pyproject.toml b/Python/eryntools/pyproject.toml
deleted file mode 100644
index 7c87698..0000000
--- a/Python/eryntools/pyproject.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-[project]
-name = "eryntools"
-version = "0.0.1"
-authors = [
- { name="Eryn Wells", email="eryn@erynwells.me" }
-]
-description = "A collection of utilities and tools by and for Eryn Wells."
-readme = "README.md"
-requires-python = ">=3.9"
diff --git a/Python/eryntools/src/eryntools/__init__.py b/Python/eryntools/src/eryntools/__init__.py
deleted file mode 100644
index 1fc1f98..0000000
--- a/Python/eryntools/src/eryntools/__init__.py
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/local/env python3
-# Eryn Wells
diff --git a/Python/eryntools/src/eryntools/dotfiles/__init__.py b/Python/eryntools/src/eryntools/dotfiles/__init__.py
deleted file mode 100644
index 272a8c1..0000000
--- a/Python/eryntools/src/eryntools/dotfiles/__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Eryn Wells
-
-from os.path import expanduser, expandvars, isdir, join
-from typing import Optional
-
-
-def find_repository(path: Optional[str] = None) -> Optional[str]:
- '''Find the dotfiles repo.'''
-
- _DEFAULT_CANDIDATE_PATHS = [
- '~/.dotfiles',
- ]
-
- candidate_paths: list[str] = []
- if path:
- candidate_paths.append(path)
- candidate_paths.extend(_DEFAULT_CANDIDATE_PATHS)
-
- for path in candidate_paths:
- path = expanduser(path)
- path = expandvars(path)
-
- if not path_is_git_repository(path):
- continue
-
- return path
-
- return None
-
-
-def path_is_git_repository(path: str) -> bool:
- return bool(path) and isdir(path) and isdir(join(path, '.git'))
diff --git a/Python/eryntools/src/eryntools/dotfiles/system_parameters.py b/Python/eryntools/src/eryntools/dotfiles/system_parameters.py
deleted file mode 100644
index 9fa543d..0000000
--- a/Python/eryntools/src/eryntools/dotfiles/system_parameters.py
+++ /dev/null
@@ -1,169 +0,0 @@
-# Eryn Wells
-
-import json
-import os.path
-import subprocess
-import sys
-from typing import Any, Optional, TextIO, Union
-
-
-ParameterValue = Union[str, int, float]
-ParametersObject = dict[str, Any]
-
-
-_PARAMETERS_FILE = "~/.config/eryn/system_parameters.json"
-
-
-class SystemParameters:
- class _Keys:
- DATA = 'data'
- PARAMETERS = 'parameters'
- VALUE = 'value'
-
- def __init__(self):
- self._object: ParametersObject = {}
-
- @property
- def parameters(self) -> dict:
- if not self._object:
- return {}
-
- return self._object[SystemParameters._Keys.PARAMETERS]
-
- def load_from_file(self, input_file: TextIO):
- self._object = json.load(input_file)
-
- def write_to_file(self, file):
- json.dump(self._object, file, indent=4, cls=_JSONEncoder)
-
- def __dir__(self):
- return dir(self._object)
-
- def __getattr__(self, name: str) -> Optional[ParameterValue]:
- if not self._object:
- return None
-
- return self._object[SystemParameters._Keys.PARAMETERS][name][SystemParameters._Keys.VALUE]
-
- def __setattr__(self, name: str, value: 'Parameter'):
- if not isinstance(value, Parameter):
- super().__setattr__(name, value)
- return
-
- parameter_value: ParametersObject = {
- SystemParameters._Keys.VALUE: value.value,
- }
-
- additional_data = value.additional_data
- if additional_data:
- parameter_value[SystemParameters._Keys.DATA] = additional_data
-
- self._object[name] = parameter_value
-
-
-class Parameter:
- @property
- def value(self) -> str:
- '''The value of this parameter.'''
- raise NotImplementedError()
-
- @property
- def additional_data(self) -> Optional[dict[str, ParametersObject]]:
- '''Optional additional data to include in the parameter structure.'''
- return None
-
-
-class CommandParameter(Parameter):
- class _Keys:
- CODE = 'code'
- COMMAND = 'command'
- RESULT = 'result'
- STDOUT = 'stdout'
- STDERR = 'stderr'
-
- def __init__(self, command_arguments: list):
- self.command = command_arguments
- self.result: Optional[subprocess.CompletedProcess] = None
-
- @property
- def value(self) -> str:
- self()
- return self.standard_output.strip()
-
- @property
- def standard_output(self) -> str:
- if not self.result or not self.result.stdout:
- return ''
-
- return self.result.stdout.decode('utf-8')
-
- @property
- def standard_error(self) -> str:
- if not self.result or not self.result.stderr:
- return ''
-
- return self.result.stderr.decode('utf-8')
-
- @property
- def additional_data(self) -> Optional[dict]:
- self()
- assert self.result is not None
-
- obj = {
- CommandParameter._Keys.COMMAND: self.result.args,
- CommandParameter._Keys.RESULT: {
- CommandParameter._Keys.CODE: self.result.returncode,
- }
- }
-
- stdout = self.standard_output
- if stdout:
- obj[CommandParameter._Keys.RESULT][CommandParameter._Keys.STDOUT] = stdout.strip()
-
- stderr = self.standard_error
- if stderr:
- obj[CommandParameter._Keys.RESULT][CommandParameter._Keys.STDERR] = stderr.strip()
-
- return obj
-
- def __call__(self) -> 'CommandParameter':
- if not self.result:
- self.result = subprocess.run(
- self.command,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT
- )
-
- return self
-
-
-class _JSONEncoder(json.JSONEncoder):
- def default(self, o: Any) -> Any:
- if isinstance(o, SystemParameters):
- return super().default(o._object)
-
- return super().default(o)
-
-
-def main(argv) -> Optional[int]:
- import argparse
-
- parser = argparse.ArgumentParser(prog=argv[0])
- parser.add_argument(
- 'parameters_file',
- default=os.path.abspath(os.path.expanduser(_PARAMETERS_FILE)),
- nargs='?',
- )
- parser.add_argument('name')
- arguments = parser.parse_args(argv[1:])
-
- parameters = SystemParameters()
- with open(arguments.parameters_file) as f:
- parameters.load_from_file(f)
-
- print(getattr(parameters, arguments.name))
-
-
-if __name__ == '__main__':
- import sys
- sys.exit(main(sys.argv) or 0)
diff --git a/Python/eryntools/src/eryntools/scripting.py b/Python/eryntools/src/eryntools/scripting.py
deleted file mode 100644
index c65adf1..0000000
--- a/Python/eryntools/src/eryntools/scripting.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Eryn Wells
-
-import os.path
-import sys
-from typing import Optional
-
-
-def absolute_script_path(argv0: Optional[str] = None) -> Optional[str]:
- '''Get the absolute path to the currently executing script.'''
- executable = argv0 or sys.argv[0]
- return os.path.abspath(executable) if executable else None
diff --git a/README.md b/README.md
index 58c6084..34f6c88 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
Dotfiles
========
-This is my collection of dotfiles, preserved here for all to see and enjoy. Feel
-free to copy anything you see here. It would be nice if you added a comment
-mentioning where you got it.
+This is my collection of dotfiles, preserved here for all to see and enjoy.
+Feel free to copy anything you see here. It would be nice if you added a
+comment mentioning where you got it.
My environment relies on `zsh`, `vim`, and `git`.
@@ -12,33 +12,42 @@ My environment relies on `zsh`, `vim`, and `git`.
Clone the repository to a directory on your machine. I like to use
`~/.dotfiles`.
-```sh
-git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles
-```
+ git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles
Run the setup script.
-```sh
-cd ~/.dotfiles
-./setup.sh
-```
+ cd ~/.dotfiles
+ ./setup.sh
This script will symlink all the config files in the directory to your home
directory, clone a bunch of git repos, and do some other miscellaneous setup.
Enjoy.
-## Profiling
+## Shell Environment
-ZSH has a built in profiler. If you're concerned about init times, place the
-following at the top of `.zshenv`.
+As much as possible, I tried to keep these files as system agnostic as
+possible. I work on lots of different systems so having the ability to bring
+down my core environment and customize it is very useful. Most of the
+environment files have three levels:
-```zsh
-zmodload zsh/zprof
-```
+1. The main file (e.g. `.zshrc`).
+2. A system specific file whose name is generated by the `uname -s` command.
+ So, these files have names like `.zshrc.darwin` and `.env.linux`. The system
+ name is exported as `$SYS` in the `.env` script.
+3. A machine specific file whose name is derived by appending `.local` to the
+ main file's name (e.g. `.zshrc.local`).
-Then, at the end of either `.zshrc` or `.zprofile`, call `zprof` to get the
-results of the profiling session.
+Files 2 and 3 are sourced at the end of the main file, so any settings you add
+there will override those set in the main file.
+
+## Loud Noises!
+
+In a recent change I added some extra functions to print out status
+messages as ZSH starts up. These are all defined in `shell-functions`
+(symlinked to `~/.shell-functions` by the setup script). At any point in the
+setup process, you can set the variable `$NOISY` to a number greater than 0 to
+see extra status messages.
## License
diff --git a/Xcode/IDETemplateMacros.plist b/Xcode/IDETemplateMacros.plist
deleted file mode 100644
index af05257..0000000
--- a/Xcode/IDETemplateMacros.plist
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- FILEHEADER
- Eryn Wells <eryn@erynwells.me>
-
-
diff --git a/bin/colortest b/bin/colortest
deleted file mode 100755
index 66003c8..0000000
--- a/bin/colortest
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env zsh
-
-function print_color
-{
- #local formatted=`printf "%4d " $1`
- local formatted=" "
- print -Pn "%K{$1}${formatted}%k"
-}
-
-print -n ' '
-for (( i = 0; i < 8; i += 1 )); do
- printf "%4d " $i
-done
-print
-print -n 'Normal: '
-for (( i = 0; i < 8; i += 1 )); do
- print_color $i
-done
-print
-
-print -n ' '
-for (( i = 8; i < 16; i += 1 )); do
- printf "%4d " $i
-done
-print
-print -n 'Bright: '
-for (( i = 8; i < 16; i += 1 )); do
- print_color $i
-done
-print
-
-SUPPORTED_COLORS=`echotc Co`
-COLORS_PER_LINE=16
-
-print
-print "Color Table ($SUPPORTED_COLORS supported colors)"
-
-for (( base = 0; base < $SUPPORTED_COLORS ; base += $COLORS_PER_LINE )); do
- for (( i = base; i < base + $COLORS_PER_LINE && i < $SUPPORTED_COLORS; i += 1 )); do
- printf "%4d " $i
- done
-
- print
-
- for (( i = base; i < base + $COLORS_PER_LINE && i < $SUPPORTED_COLORS; i += 1 )); do
- print_color $i
- done
- print
-done
diff --git a/bin/favicon_for b/bin/favicon_for
deleted file mode 100755
index 14bb68b..0000000
--- a/bin/favicon_for
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env zsh
-
-curl -IL $1/favicon.ico
diff --git a/bin/fetch_moon_data.py b/bin/fetch_moon_data.py
deleted file mode 100755
index 6bf5f44..0000000
--- a/bin/fetch_moon_data.py
+++ /dev/null
@@ -1,208 +0,0 @@
-#!/usr/bin/env python3
-# Eryn Wells
-
-'''
-Fetch moon data from api.met.no.
-'''
-
-import argparse
-import datetime
-import json
-import os.path
-import requests
-import sys
-import pytz
-
-API_URL = 'https://api.met.no/weatherapi/sunrise/2.0/.json'
-
-# From https://en.wikipedia.org/wiki/San_Francisco
-SAN_FRANCISCO_LAT_LON = (37.7775, -122.416389)
-SAN_FRANCISCO_TIMEZONE = 'America/Los_Angeles'
-
-def parse_args(argv, *a, **kw):
- parser = argparse.ArgumentParser(*a, **kw)
- parser.add_argument('--date',
- help='''
- Starting date for number of days to fetch in YYYY-MM-DD format.
- Defaults to today's date.
- ''')
- parser.add_argument('--days', type=int, default=1,
- help='''
- Number of days of data to fetch. The max is 15 per API rules. See
- https://api.met.no/weatherapi/sunrise/2.0/documentation#Output_format
- for details.
- ''')
- parser.add_argument('-l', '--location',
- default='{0[0]},{0[1]}'.format(SAN_FRANCISCO_LAT_LON),
- help='''
- Geolocation in latitude and longitude coordinates separated by a
- comma. If this argument is omitted, the geolocation of San
- Francisco, CA, USA will be used instead.
- ''')
- parser.add_argument('-n', '--dry-run', action='store_true',
- help="Do everything but write downloaded data to the file.")
- parser.add_argument('-t', '--timezone', default=SAN_FRANCISCO_TIMEZONE,
- help='''
- Timezone to query for. If this argument is omitted,
- 'America/Los_Angeles' will be used.
- ''')
- parser.add_argument('file')
- args = parser.parse_args(argv)
- return args
-
-def offset_to_timedelta(offset):
- hours, minutes = offset.split(':')
- return datetime.timedelta(hours=hours, minutes=minutes)
-
-def lat_long_from_location(location):
- try:
- lat_lon = tuple(round(float(x), 1) for x in location.split(','))
- except ValueError:
- print("Unable to parse '{location}' into a lat/lon pair.")
- return None, None
-
- if len(lat_lon) != 2:
- print("Unable to parse '{location}' into a lat/lon pair.")
- return None, None
-
- return lat_lon[0], lat_lon[1]
-
-def download_moon_data(latitude, longitude, date, utc_offset, number_of_days, dry_run):
- print(f"Downloading {number_of_days} {'days' if number_of_days != 1 else 'day'} of moon data starting {date} {utc_offset}.", file=sys.stderr)
-
- moon_data = {
- 'location': {}
- }
-
- for _ in range(number_of_days):
- if not dry_run:
- print(f"Fetching data for {date}.", file=sys.stderr)
- response = requests.get(API_URL, params={
- 'lat': latitude,
- 'lon': longitude,
- 'date': date.strftime('%Y-%m-%d'),
- 'offset': utc_offset,
- 'days': 1,
- })
-
- try:
- response_json = response.json()
- except json.JSONDecodeError as e:
- print(f'Error decoding JSON response: {e}', file=sys.stderr)
- print(response.text, file=sys.stderr)
- raise
-
- moon_data.setdefault('meta', response_json['meta'])
- moon_data['location'].setdefault('height', response_json['location']['height'])
- moon_data['location'].setdefault('latitude', response_json['location']['latitude'])
- moon_data['location'].setdefault('longitude', response_json['location']['longitude'])
- moon_data['location'].setdefault('time', [])
- moon_data['location']['time'].append(response_json['location']['time'][0])
- else:
- print(f"Dry run. Fetching data for {date} will be skipped.", file=sys.stderr)
-
- date = date + datetime.timedelta(days=1)
-
- return moon_data
-
-def main(argv):
- args = parse_args(argv[1:], prog=argv[0])
-
- timezone = pytz.timezone(args.timezone)
-
- date = None
- try:
- date = datetime.datetime.strptime(args.date, '%Y-%m-%d')
- except ValueError:
- date = datetime.datetime.now(tz=timezone).date()
- print("Date must be in YYYY-MM-DD format.", file=sys.stderr)
- except TypeError:
- date = datetime.datetime.now(tz=timezone).date()
- print("No date was given.", file=sys.stderr)
-
- print(f"Using date: {date}.", file=sys.stderr)
-
- # Check args.file for some moon data that has already been downloaded.
- moon_data = None
- filename = args.file
- if os.path.isfile(filename):
- try:
- with open(filename, 'r') as f:
- moon_data = json.load(f)
- except json.JSONDecodeError:
- print(f"{filename} contains invalid JSON data.", file=sys.stderr)
- moon_data = None
-
- if args.location:
- lat, lon = lat_long_from_location(args.location)
- else:
- print("No location given.", file=sys.stderr)
- lat, lon = None, None
-
- utc_offset = datetime.datetime.now(tz=pytz.timezone(args.timezone)).strftime('%z')
- utc_offset = utc_offset[:3] + ':' + utc_offset[3:]
-
- if moon_data:
- should_fetch_new_data = False
-
- moon_data_location = moon_data['location']
- try:
- moon_data_lat, moon_data_lon = (
- float(moon_data_location['latitude']),
- float(moon_data_location['longitude'])
- )
- except KeyError:
- print(f'{filename} is missing lat,lon information.')
- should_fetch_new_data = True
-
- if not should_fetch_new_data and (moon_data_lat != lat or moon_data_lon != lon):
- print(f"Data for {lat},{lon} requested, but {filename} has data for {moon_data_lat},{moon_data_lon}.", file=sys.stderr)
- should_fetch_new_data = True
-
- if not should_fetch_new_data:
- for record in moon_data_location['time']:
- try:
- record_date = datetime.datetime.strptime(record['date'], '%Y-%m-%d').date()
- except (ValueError, TypeError):
- continue
-
- if record_date == date and record.get('moonphase'):
- print(f"{filename} has existing moon phase data for {date}.", file=sys.stderr)
- #break
- else:
- should_fetch_new_data = True
-
- if should_fetch_new_data:
- print(f"{filename} doesn't contain moon data for the given date.",
- file=sys.stderr)
-
- if not lat or not lon:
- print(f"No location given. Using {moon_data_lat},{moon_data_lon} from {filename}.", file=sys.stderr)
- lat = moon_data_lat
- lon = moon_data_lon
-
- try:
- moon_data = download_moon_data(lat, lon, date, utc_offset, args.days, args.dry_run)
- if not args.dry_run:
- with open(filename, 'w') as f:
- json.dump(moon_data, f, indent=2)
- else:
- print(f"Dry run. Dumping moon data to {filename} will be skipped.")
- except json.JSONDecodeError:
- return -1
-
- if not moon_data:
- print(f"{filename} doesn't contain any moon data.", file=sys.stderr)
- try:
- moon_data = download_moon_data(lat, lon, date, utc_offset, args.days, args.dry_run)
- with open(filename, 'w') as f:
- json.dump(moon_data, f, indent=2)
- except json.JSONDecodeError:
- return -1
-
- return 0
-
-if __name__ == '__main__':
- import sys
- result = main(sys.argv)
- sys.exit(0 if not result else result)
diff --git a/bin/generate-motd b/bin/generate-motd
deleted file mode 100755
index 6aa5129..0000000
--- a/bin/generate-motd
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/zsh
-# Eryn Wells
-
-MOTD_FILE=/etc/motd
-
-binary_exists() {
- hash $1 1>/dev/null 2>&1
- return $?
-}
-
-if [[ ! -w "$MOTD_FILE" ]]; then
- echo "$MOTD_FILE is not wrtiable by $USER" >&2
- exit 1
-fi
-
-# If lolcat is installed, dump a colorful message to the MOTD file. :)
-local cat_program=cat
-local cat_args=''
-if binary_exists lolcat; then
- echo "Enabling rainbows"
- cat_program=lolcat
- cat_args=-f
-fi
-
-local hello_message="\nThis machine is called `hostname`.\n"
-
-local hardware_model=`sysctl -n hw.model`
-
-if [[ -n "$hardware_model" ]]; then
- hello_message+="It’s a $hardware_model "
-fi
-
-local os_version=`sysctl -n kern.osproductversion`
-local product_name=`sw_vers --productName`
-local os_build=`sw_vers --buildVersion`
-
-if [[ -n "$os_version" && -n "$os_build" ]]; then
- hello_message+="running $product_name $os_version ($os_build)."
-elif [[ -n "$os_version" ]]; then
- hello_message+="running $product_name $os_version."
-fi
-
-hello_message+="\n"
-
-echo "Writing MOTD"
-print -P $hello_message | $cat_program $cat_args > $MOTD_FILE
diff --git a/bin/iterm_set_font.py b/bin/iterm_set_font.py
deleted file mode 100755
index a6bd032..0000000
--- a/bin/iterm_set_font.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python3
-# Eryn Wells
-
-import argparse
-import iterm2
-
-def parse_args(argv, *a, **kw):
- parser = argparse.ArgumentParser(*a, **kw)
- parser.add_argument('font')
- args = parser.parse_args(argv)
- return args
-
-def main(argv):
- args = parse_args(argv[1:], prog=argv[0])
-
- new_font = args.font
- print(f'Will attempt to set font to "{new_font}"')
-
- async def set_font(connection):
- profile = await iterm2.Profile.async_get_default(connection)
- if not profile:
- return
-
- print(f'Current normal font of "{profile.name}" profile is "{profile.normal_font}"')
- print(f'Setting normal font of "{profile.name}" profile to "{new_font}"')
-
- await profile.async_set_normal_font(new_font)
-
- iterm2.run_until_complete(set_font)
-
-if __name__ == '__main__':
- import sys
- result = main(sys.argv)
- sys.exit(0 if not result else result)
diff --git a/bin/lorem b/bin/lorem
deleted file mode 100755
index 57c3d81..0000000
--- a/bin/lorem
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import itertools
-import random
-import textwrap
-
-WORD_COMMANDS = ('w', 'word', 'words')
-SENTENCE_COMMANDS = ('s', 'sent', 'sentence', 'sentences')
-PARAGRAPH_COMMANDS = ('p', 'para', 'paragraph', 'paragraphs')
-
-# A range (min and max) of number of words per sentence
-SENTENCE_WORDS_RANGE = (8, 21)
-
-# A range (min and max) of number of sentences per paragraph
-PARAGRAPH_SENTENCE_RANGE = (4, 9)
-
-WORDS = [
- "lorem", "ipsum", "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "ut", "aliquam,", "purus",
- "sit", "amet", "luctus", "venenatis,", "lectus", "magna", "fringilla", "urna,", "porttitor", "rhoncus",
- "dolor", "purus", "non", "enim", "praesent", "elementum", "facilisis", "leo,", "vel", "fringilla", "est",
- "ullamcorper", "eget", "nulla", "facilisi", "etiam", "dignissim", "diam", "quis", "enim", "lobortis",
- "scelerisque", "fermentum", "dui", "faucibus", "in", "ornare", "quam", "viverra", "orci", "sagittis", "eu",
- "volutpat", "odio", "facilisis", "mauris", "sit", "amet", "massa", "vitae", "tortor", "condimentum", "lacinia",
- "quis", "vel", "eros", "donec", "ac", "odio", "tempor", "orci", "dapibus", "ultrices", "in", "iaculis", "nunc",
- "sed", "augue", "lacus,", "viverra", "vitae", "congue", "eu,", "consequat", "ac", "felis", "donec", "et",
- "odio", "pellentesque", "diam", "volutpat", "commodo", "sed", "egestas", "egestas", "fringilla", "phasellus",
- "faucibus", "scelerisque", "eleifend", "donec", "pretium", "vulputate", "sapien", "nec", "sagittis", "aliquam",
- "malesuada", "bibendum", "arcu", "vitae", "elementum", "curabitur", "vitae", "nunc", "sed", "velit",
- "dignissim", "sodales", "ut", "eu", "sem", "integer", "vitae", "justo", "eget", "magna", "fermentum",
- "iaculis", "eu", "non", "diam", "phasellus", "vestibulum", "lorem", "sed", "risus", "ultricies", "tristique",
- "nulla", "aliquet", "enim", "tortor,", "at", "auctor", "urna", "nunc", "id", "cursus", "metus", "aliquam",
- "eleifend", "mi", "in", "nulla", "posuere", "sollicitudin", "aliquam", "ultrices", "sagittis", "orci,", "a",
- "scelerisque", "purus", "semper", "eget", "duis", "at", "tellus", "at", "urna", "condimentum", "mattis",
- "pellentesque", "id", "nibh", "tortor,", "id", "aliquet", "lectus", "proin", "nibh", "nisl,", "condimentum",
- "id", "venenatis", "a,", "condimentum", "vitae", "sapien", "pellentesque", "habitant", "morbi", "tristique",
- "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis", "egestas", "sed", "tempus,", "urna",
- "et", "pharetra", "pharetra,", "massa", "massa", "ultricies", "mi,", "quis", "hendrerit", "dolor", "magna",
- "eget", "est", "lorem", "ipsum", "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "pellentesque",
- "habitant", "morbi", "tristique", "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis",
- "egestas", "integer", "eget", "aliquet", "nibh", "praesent", "tristique", "magna", "sit", "amet", "purus",
- "gravida", "quis", "blandit", "turpis", "cursus", "in", "hac", "habitasse", "platea", "dictumst", "quisque",
- "sagittis,", "purus", "sit", "amet", "volutpat", "consequat,", "mauris", "nunc", "congue", "nisi,", "vitae",
- "suscipit", "tellus", "mauris", "a", "diam", "maecenas", "sed", "enim", "ut", "sem", "viverra", "aliquet",
- "eget", "sit", "amet", "tellus", "cras", "adipiscing", "enim", "eu", "turpis", "egestas", "pretium", "aenean",
- "pharetra,", "magna", "ac", "placerat", "vestibulum,", "lectus", "mauris", "ultrices", "eros,", "in", "cursus",
- "turpis", "massa", "tincidunt", "dui", "ut", "ornare", "lectus", "sit", "amet", "est", "placerat", "in",
- "egestas", "erat", "imperdiet", "sed", "euismod", "nisi", "porta", "lorem", "mollis", "aliquam", "ut",
- "porttitor", "leo", "a", "diam", "sollicitudin", "tempor", "id", "eu", "nisl", "nunc", "mi", "ipsum,",
- "faucibus", "vitae", "aliquet", "nec,", "ullamcorper", "sit", "amet", "risus", "nullam", "eget", "felis",
- "eget", "nunc", "lobortis", "mattis", "aliquam", "faucibus", "purus", "in", "massa", "tempor", "nec",
- "feugiat", "nisl", "pretium", "fusce", "id", "velit", "ut", "tortor", "pretium", "viverra", "suspendisse",
- "potenti", "nullam", "ac", "tortor", "vitae", "purus", "faucibus", "ornare", "suspendisse", "sed", "nisi",
- "lacus,", "sed", "viverra", "tellus", "in", "hac", "habitasse", "platea", "dictumst", "vestibulum", "rhoncus",
- "est", "pellentesque", "elit", "ullamcorper", "dignissim", "cras", "tincidunt", "lobortis", "feugiat",
- "vivamus", "at", "augue", "eget", "arcu", "dictum", "varius", "duis", "at", "consectetur", "lorem", "donec",
- "massa", "sapien,", "faucibus", "et", "molestie", "ac,", "feugiat", "sed", "lectus", "vestibulum", "mattis",
- "ullamcorper", "velit", "sed", "ullamcorper", "morbi", "tincidunt", "ornare", "massa,", "eget", "egestas",
- "purus", "viverra", "accumsan", "in", "nisl", "nisi,", "scelerisque", "eu", "ultrices", "vitae,", "auctor",
- "eu", "augue", "ut", "lectus", "arcu,", "bibendum", "at", "varius", "vel,", "pharetra", "vel", "turpis",
- "nunc", "eget", "lorem", "dolor,", "sed", "viverra", "ipsum", "nunc", "aliquet", "bibendum", "enim,",
- "facilisis", "gravida", "neque", "convallis", "a", "cras", "semper", "auctor", "neque,", "vitae", "tempus",
- "quam", "pellentesque", "nec", "nam", "aliquam", "sem", "et", "tortor", "consequat", "id", "porta", "nibh",
- "venenatis", "cras", "sed", "felis", "eget", "velit", "aliquet", "sagittis", "id", "consectetur", "purus",
- "ut", "faucibus", "pulvinar", "elementum", "integer", "enim", "neque,", "volutpat", "ac", "tincidunt",
- "vitae,", "semper", "quis", "lectus", "nulla", "at", "volutpat", "diam", "ut", "venenatis", "tellus", "in",
- "metus", "vulputate", "eu", "scelerisque", "felis", "imperdiet", "proin", "fermentum", "leo", "vel", "orci",
- "porta", "non", "pulvinar", "neque", "laoreet", "suspendisse", "interdum", "consectetur", "libero,", "id",
- "faucibus", "nisl", "tincidunt", "eget", "nullam", "non", "nisi", "est,", "sit", "amet", "facilisis", "magna",
- "etiam", "tempor,", "orci", "eu", "lobortis", "elementum,", "nibh", "tellus", "molestie", "nunc,", "non", "blandit",
- "massa", "enim", "nec", "dui", "nunc", "mattis", "enim", "ut", "tellus", "elementum", "sagittis", "vitae", "et",
- "leo", "duis", "ut", "diam", "quam", "nulla", "porttitor", "massa", "id", "neque", "aliquam", "vestibulum", "morbi",
- "blandit", "cursus", "risus,", "at", "ultrices", "mi", "tempus", "imperdiet", "nulla", "malesuada", "pellentesque",
- "elit", "eget", "gravida", "cum", "sociis", "natoque", "penatibus", "et", "magnis", "dis", "parturient", "montes,",
- "nascetur", "ridiculus", "mus", "mauris", "vitae", "ultricies", "leo", "integer", "malesuada", "nunc", "vel",
- "risus", "commodo", "viverra", "maecenas", "accumsan,", "lacus", "vel", "facilisis", "volutpat,", "est", "velit",
- "egestas", "dui,", "id", "ornare", "arcu", "odio", "ut", "sem", "nulla", "pharetra", "diam", "sit", "amet", "nisl",
- "suscipit", "adipiscing", "bibendum", "est", "ultricies", "integer", "quis", "auctor", "elit", "sed", "vulputate",
- "mi", "sit", "amet", "mauris", "commodo", "quis", "imperdiet", "massa", "tincidunt", "nunc", "pulvinar", "sapien",
- "et", "ligula", "ullamcorper", "malesuada", "proin", "libero", "nunc,", "consequat", "interdum", "varius", "sit",
- "amet,", "mattis", "vulputate", "enim", "nulla", "aliquet", "porttitor", "lacus,", "luctus", "accumsan", "tortor",
- "posuere", "ac", "ut", "consequat", "semper", "viverra", "nam", "libero", "justo,", "laoreet", "sit", "amet",
- "cursus", "sit", "amet,", "dictum", "sit", "amet", "justo", "donec", "enim", "diam,", "vulputate", "ut", "pharetra",
- "sit", "amet,", "aliquam", "id", "diam", "maecenas", "ultricies", "mi", "eget", "mauris", "pharetra", "et",
- "ultrices", "neque", "ornare", "aenean", "euismod", "elementum", "nisi,", "quis", "eleifend", "quam", "adipiscing",
- "vitae", "proin", "sagittis,", "nisl", "rhoncus", "mattis", "rhoncus,", "urna", "neque", "viverra", "justo,", "nec",
- "ultrices", "dui", "sapien", "eget", "mi", "proin", "sed", "libero", "enim,", "sed", "faucibus", "turpis", "in",
- "eu", "mi", "bibendum", "neque", "egestas", "congue", "quisque", "egestas", "diam", "in", "arcu", "cursus",
- "euismod", "quis", "viverra", "nibh", "cras", "pulvinar", "mattis", "nunc,", "sed", "blandit", "libero", "volutpat",
- "sed", "cras", "ornare", "arcu", "dui", "vivamus", "arcu", "felis,", "bibendum", "ut", "tristique", "et,",
- "egestas", "quis", "ipsum", "suspendisse", "ultrices", "gravida", "dictum", "fusce", "ut", "placerat", "orci",
- "nulla", "pellentesque", "dignissim", "enim,", "sit", "amet", "venenatis", "urna", "cursus", "eget", "nunc",
- "scelerisque", "viverra", "mauris,", "in", "aliquam", "sem", "fringilla", "ut", "morbi", "tincidunt", "augue",
- "interdum", "velit", "euismod", "in", "pellentesque", "massa", "placerat", "duis", "ultricies", "lacus", "sed",
- "turpis", "tincidunt", "id", "aliquet", "risus", "feugiat", "in", "ante", "metus,", "dictum", "at", "tempor",
- "commodo,", "ullamcorper", "a", "lacus", "vestibulum", "sed", "arcu", "non", "odio", "euismod", "lacinia", "at",
- "quis", "risus", "sed", "vulputate", "odio", "ut", "enim", "blandit", "volutpat", "maecenas", "volutpat", "blandit",
- "aliquam", "etiam", "erat", "velit,", "scelerisque", "in", "dictum", "non,", "consectetur", "a", "erat", "nam",
- "at", "lectus", "urna", "duis", "convallis", "convallis", "tellus,", "id", "interdum", "velit", "laoreet", "id",
- "donec", "ultrices", "tincidunt", "arcu,", "non", "sodales", "neque", "sodales", "ut", "etiam", "sit", "amet",
- "nisl", "purus,", "in", "mollis", "nunc", "sed", "id", "semper", "risus", "in", "hendrerit", "gravida", "rutrum",
- "quisque", "non", "tellus", "orci,", "ac", "auctor", "augue", "mauris", "augue", "neque,", "gravida", "in",
- "fermentum", "et,", "sollicitudin", "ac", "orci", "phasellus", "egestas", "tellus", "rutrum", "tellus",
- "pellentesque", "eu", "tincidunt", "tortor", "aliquam", "nulla", "facilisi", "cras", "fermentum,", "odio", "eu",
- "feugiat", "pretium,", "nibh", "ipsum", "consequat", "nisl,", "vel", "pretium", "lectus", "quam", "id", "leo", "in",
- "vitae", "turpis", "massa", "sed", "elementum", "tempus", "egestas", "sed", "sed", "risus", "pretium", "quam",
- "vulputate", "dignissim", "suspendisse", "in", "est", "ante", "in", "nibh", "mauris,", "cursus", "mattis",
- "molestie", "a,", "iaculis", "at", "erat", "pellentesque", "adipiscing", "commodo", "elit,", "at", "imperdiet",
- "dui", "accumsan", "sit", "amet", "nulla", "facilisi", "morbi", "tempus", "iaculis", "urna,", "id", "volutpat",
- "lacus", "laoreet", "non", "curabitur", "gravida", "arcu", "ac", "tortor", "dignissim", "convallis", "aenean", "et",
- "tortor", "at", "risus", "viverra", "adipiscing", "at", "in", "tellus", "integer", "feugiat", "scelerisque",
- "varius", "morbi", "enim", "nunc,", "faucibus", "a", "pellentesque", "sit", "amet,", "porttitor", "eget", "dolor",
- "morbi", "non", "arcu", "risus,", "quis", "varius", "quam", "quisque", "id", "diam", "vel", "quam", "elementum",
- "pulvinar", "etiam", "non", "quam", "lacus", "suspendisse", "faucibus", "interdum", "posuere", "lorem", "ipsum",
- "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "duis", "tristique", "sollicitudin", "nibh", "sit",
- "amet", "commodo", "nulla", "facilisi", "nullam", "vehicula", "ipsum", "a", "arcu", "cursus", "vitae", "congue",
- "mauris", "rhoncus", "aenean", "vel", "elit", "scelerisque", "mauris", "pellentesque", "pulvinar", "pellentesque",
- "habitant", "morbi", "tristique", "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis", "egestas",
- "maecenas", "pharetra", "convallis", "posuere", "morbi", "leo", "urna,", "molestie", "at", "elementum", "eu,",
- "facilisis", "sed", "odio", "morbi", "quis", "commodo", "odio", "aenean", "sed", "adipiscing", "diam", "donec",
- "adipiscing", "tristique", "risus", "nec", "feugiat", "in", "fermentum", "posuere", "urna", "nec", "tincidunt",
- "praesent", "semper", "feugiat", "nibh", "sed", "pulvinar", "proin", "gravida", "hendrerit", "lectus", "a",
- "molestie"
-]
-
-
-def number_argument(string_value):
- int_x = int(string_value)
-
- if int_x < 1:
- raise ValueError(f"N must be greater than 1")
-
- return int_x
-
-
-def parse_arguments(arguments: list[str], *a, **kw) -> tuple[argparse.ArgumentParser, argparse.Namespace]:
- parser = argparse.ArgumentParser(*a, **kw)
-
- parser.add_argument(
- '--canonical',
- help='''
- When set, text will be generated using the traditional Lorem Ipsum pattern.
- When unset, text will be randomized.
- ''',
- action='store_true'
- )
-
- parser.add_argument('-w', '--wrap', type=number_argument, default=None)
-
- parser.add_argument(
- 'unit',
- choices=WORD_COMMANDS + SENTENCE_COMMANDS + PARAGRAPH_COMMANDS,
- nargs='?',
- default='paragraphs',
- help='Language unit to generate.'
- )
-
- parser.add_argument(
- 'number',
- nargs='?',
- default=1,
- type=number_argument,
- metavar='N',
- help='Number of [unit]s to generate.'
- )
-
- parsed_arguments = parser.parse_args(arguments)
- return parser, parsed_arguments
-
-
-def generate_words(n: int, canonical: bool, offset: int = 0) -> list[str]:
- if canonical:
- return list(itertools.islice(WORDS[offset:], n))
- else:
- return [random.choice(WORDS) for _ in range(n)]
-
-
-def generate_sentences(n: int, canonical: bool) -> list[str]:
- sentences = []
- offset = 0
- for _ in range(n):
- words_per_sentence = random.choice(range(*SENTENCE_WORDS_RANGE))
-
- generated_sentence = ' '.join(generate_words(words_per_sentence, canonical, offset)).capitalize()
- if generated_sentence.endswith(','):
- generated_sentence = generated_sentence[:-1] + '.'
- else:
- generated_sentence += '.'
-
- sentences.append(generated_sentence)
-
- offset += words_per_sentence
-
- return sentences
-
-
-def generate_paragraphs(n: int, canonical: bool) -> list[str]:
- paragraphs = []
- for _ in range(n):
- sentences_per_paragraph = random.choice(range(*PARAGRAPH_SENTENCE_RANGE))
- paragraphs.append(' '.join(generate_sentences(sentences_per_paragraph, canonical)))
-
- return paragraphs
-
-
-def main(argv):
- _, arguments = parse_arguments(argv[1:], prog=argv[0])
-
- generator_arguments = (arguments.number, arguments.canonical)
-
- unit = arguments.unit
- if unit in WORD_COMMANDS:
- lorem_ipsum = [' '.join(generate_words(*generator_arguments))]
- elif unit in SENTENCE_COMMANDS:
- lorem_ipsum = [' '.join(generate_sentences(*generator_arguments))]
- elif unit in PARAGRAPH_COMMANDS:
- lorem_ipsum = generate_paragraphs(*generator_arguments)
- else:
- lorem_ipsum = generate_paragraphs(*generator_arguments)
-
- wrap_width = arguments.wrap
- if wrap_width:
- lorem_ipsum = '\n\n'.join(textwrap.fill(paragraph, width=wrap_width) for paragraph in lorem_ipsum)
- else:
- lorem_ipsum = '\n\n'.join(lorem_ipsum)
-
- print(lorem_ipsum)
-
- return 0
-
-if __name__ == '__main__':
- import sys
- result = main(sys.argv)
- sys.exit(0 if not result else result)
diff --git a/bin/num b/bin/num
index c5704c2..7f1fbb4 100755
--- a/bin/num
+++ b/bin/num
@@ -1,65 +1,59 @@
#!/usr/bin/env python3
-# Eryn Wells
-import argparse
-import json
import os.path
import sys
-FORMATS = {
- 'bin': 2,
- 'oct': 8,
- 'dec': 10,
- 'hex': 16,
-}
+BIN_FMT = 2
+OCT_FMT = 8
+DEC_FMT = 10
+HEX_FMT = 16
-def convert_number_to_all_bases(n):
- try:
- n = n.lower()
- if n.startswith('0x'):
- base = 16
- elif n.startswith('0o'):
- base = 8
- elif n.startswith('0b'):
- base = 2
- else:
- base = 10
- num = int(n, base=base)
- except ValueError:
- print(f'Error: cannot parse string as int: {n}', file=sys.stderr)
+
+def main():
+ if len(sys.argv) < 2:
+ print('Usage: {} [num...]'.format(sys.argv[0]))
+ return -1
+
+ root = os.path.splitext(os.path.basename(sys.argv[0]))[0]
+
+ if root == 'bin':
+ fmts = {BIN_FMT}
+ elif root == 'oct':
+ fmts = {OCT_FMT}
+ elif root == 'dec':
+ fmts = {DEC_FMT}
+ elif root == 'hex':
+ fmts = {HEX_FMT}
else:
- return {
- 'bin': str(bin(num)[2:]),
- 'oct': str(oct(num)[2:]),
- 'dec': str(num),
- 'hex': str(hex(num)[2:]).upper(),
- }
+ # All formats
+ fmts = {BIN_FMT, OCT_FMT, DEC_FMT, HEX_FMT}
-def parse_args(argv, *a, **kw):
- parser = argparse.ArgumentParser(*a, **kw)
- parser.add_argument('--ascii', '-a', action='store_true')
- parser.add_argument('numbers', nargs='+')
- args = parser.parse_args(argv)
- return args
-
-def main(argv):
- args = parse_args(argv[1:], prog=argv[0])
-
- output = {}
-
- for n in args.numbers:
- if args.ascii:
- for c in n:
- output.setdefault(c, convert_number_to_all_bases(str(ord(c))))
+ for n in sys.argv[1:]:
+ print('---')
+ try:
+ base = 10
+ n = n.lower()
+ if n.startswith('0x'):
+ base = 16
+ if n.startswith('0o'):
+ base = 8
+ if n.startswith('0b'):
+ base = 2
+ num = int(n, base=base)
+ except ValueError:
+ print('Error: cannot parse string as int: {}'.format(n))
else:
- output.setdefault(n, convert_number_to_all_bases(n))
-
- json.dump(output, sys.stdout, indent=2)
- print('\n')
+ if BIN_FMT in fmts:
+ print('bin: {}'.format(bin(num)[2:]))
+ if OCT_FMT in fmts:
+ print('oct: {}'.format(oct(num)[2:]))
+ if DEC_FMT in fmts:
+ print('int: {}'.format(num))
+ if HEX_FMT in fmts:
+ print('hex: {}'.format(hex(num)[2:]))
return 0
+
if __name__ == '__main__':
- import sys
- result = main(sys.argv)
- sys.exit(0 if not result else result)
+ sys.exit(main())
diff --git a/bin/system-parameters b/bin/system-parameters
deleted file mode 100755
index be4214d..0000000
--- a/bin/system-parameters
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-from eryntools.dotfiles.system_parameters import CommandParameter, SystemParameters
-
-
-class HomebrewPrefix(CommandParameter):
- def __init__(self):
- super().__init__(['brew', '--prefix'])
-
-
-class XcodeSelectPrintPath(CommandParameter):
- def __init__(self):
- super().__init__(['xcode-select', '-p'])
-
-
-def main(argv):
- parser = argparse.ArgumentParser(prog=argv[0])
- parser.add_argument('-f', '--file', type=argparse.FileType('r'))
- parser.add_argument('-o', '--output', type=argparse.FileType('w'), default=sys.stdout)
- arguments = parser.parse_args(argv[1:])
-
- output_parameters = SystemParameters()
-
- if arguments.file:
- output_parameters.load_from_file(arguments.file)
-
- parameters = {
- 'homebrew_prefix': HomebrewPrefix(),
- 'xcode_path': XcodeSelectPrintPath(),
- }
-
- for name, parameter in parameters.items():
- setattr(output_parameters, name, parameter)
-
- output_parameters.write_to_file(arguments.output)
-
-
-if __name__ == "__main__":
- import sys
- sys.exit(main(sys.argv) or 0)
diff --git a/clangd b/clangd
deleted file mode 100644
index c7aabe7..0000000
--- a/clangd
+++ /dev/null
@@ -1,2 +0,0 @@
-CompileFlags:
- Add: [-std=c++11]
diff --git a/codetemplates/django/basic/.env b/codetemplates/django/basic/.env
new file mode 100644
index 0000000..d712735
--- /dev/null
+++ b/codetemplates/django/basic/.env
@@ -0,0 +1,3 @@
+DATABASE_URL=sqlite://localhost/local.db
+SECRET_KEY={{ secret_key }}
+DEBUG=True
diff --git a/codetemplates/django/basic/.gitignore b/codetemplates/django/basic/.gitignore
new file mode 100644
index 0000000..cbe218d
--- /dev/null
+++ b/codetemplates/django/basic/.gitignore
@@ -0,0 +1,7 @@
+*.log
+*.pot
+*.pyc
+local_settings.py
+
+env/
+local.db
diff --git a/codetemplates/django/basic/Makefile b/codetemplates/django/basic/Makefile
new file mode 100644
index 0000000..ccb845b
--- /dev/null
+++ b/codetemplates/django/basic/Makefile
@@ -0,0 +1,18 @@
+MANAGEPY=honcho run -- env/bin/python manage.py
+
+update:
+ virtualenv env
+ env/bin/pip install -r requirements.txt
+ $(MANAGEPY) syncdb
+
+migrate:
+ $(MANAGEPY) migrate
+
+run: update
+ $(MANAGEPY) runserver 0.0.0.0:8000
+
+shell: update
+ $(MANAGEPY) shell
+
+deploy:
+ git push heroku master
diff --git a/codetemplates/django/basic/Procfile b/codetemplates/django/basic/Procfile
new file mode 100644
index 0000000..62c5af6
--- /dev/null
+++ b/codetemplates/django/basic/Procfile
@@ -0,0 +1 @@
+web: python manage.py run_gunicorn -w4 -b 0.0.0.0:$PORT
diff --git a/codetemplates/django/basic/manage.py b/codetemplates/django/basic/manage.py
new file mode 100644
index 0000000..87ab2e2
--- /dev/null
+++ b/codetemplates/django/basic/manage.py
@@ -0,0 +1,8 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if __name__ == "__main__":
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
+ from django.core.management import execute_from_command_line
+ execute_from_command_line(sys.argv)
diff --git a/Python/eryntools/README.md b/codetemplates/django/basic/project_name/__init__.py
similarity index 100%
rename from Python/eryntools/README.md
rename to codetemplates/django/basic/project_name/__init__.py
diff --git a/codetemplates/django/basic/project_name/models.py b/codetemplates/django/basic/project_name/models.py
new file mode 100644
index 0000000..71a8362
--- /dev/null
+++ b/codetemplates/django/basic/project_name/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/codetemplates/django/basic/project_name/tests.py b/codetemplates/django/basic/project_name/tests.py
new file mode 100644
index 0000000..501deb7
--- /dev/null
+++ b/codetemplates/django/basic/project_name/tests.py
@@ -0,0 +1,16 @@
+"""
+This file demonstrates writing tests using the unittest module. These will pass
+when you run "manage.py test".
+
+Replace this with more appropriate tests for your application.
+"""
+
+from django.test import TestCase
+
+
+class SimpleTest(TestCase):
+ def test_basic_addition(self):
+ """
+ Tests that 1 + 1 always equals 2.
+ """
+ self.assertEqual(1 + 1, 2)
diff --git a/codetemplates/django/basic/project_name/views.py b/codetemplates/django/basic/project_name/views.py
new file mode 100644
index 0000000..60f00ef
--- /dev/null
+++ b/codetemplates/django/basic/project_name/views.py
@@ -0,0 +1 @@
+# Create your views here.
diff --git a/codetemplates/django/basic/requirements.txt b/codetemplates/django/basic/requirements.txt
new file mode 100644
index 0000000..021ee2f
--- /dev/null
+++ b/codetemplates/django/basic/requirements.txt
@@ -0,0 +1,4 @@
+Django==1.4.1
+virtualenv==1.7.2
+pytz==2012h
+dj-database-url==0.2.1
diff --git a/codetemplates/django/basic/settings.py b/codetemplates/django/basic/settings.py
new file mode 100644
index 0000000..e27ea14
--- /dev/null
+++ b/codetemplates/django/basic/settings.py
@@ -0,0 +1,111 @@
+# Settings for {{ project_name }}.
+
+import os
+
+PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
+
+DEBUG = os.environ.get('DEBUG', False)
+TEMPLATE_DEBUG = DEBUG
+
+ADMINS = ()
+MANAGERS = ADMINS
+
+import dj_database_url
+DATABASES = {'default': dj_database_url.config()}
+
+SITE_ID = 1
+
+LANGUAGE_CODE = 'en-us'
+USE_I18N = True
+USE_L10N = True
+
+USE_TZ = True
+TIME_ZONE = 'America/Los_Angeles'
+
+MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
+MEDIA_URL = '/media/'
+
+STATIC_ROOT = os.path.join(PROJECT_DIR, 'collected-static')
+STATIC_URL = '/static/'
+
+STATICFILES_DIRS = (
+ os.path.join(PROJECT_DIR, 'static'),
+)
+
+STATICFILES_FINDERS = (
+ 'django.contrib.staticfiles.finders.FileSystemFinder',
+ 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
+)
+
+TEMPLATE_LOADERS = (
+ 'django.template.loaders.filesystem.Loader',
+ 'django.template.loaders.app_directories.Loader',
+)
+
+MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ 'django.contrib.auth.context_processors.auth',
+ 'django.core.context_processors.i18n',
+ 'django.core.context_processors.request',
+ 'django.core.context_processors.media',
+ 'django.core.context_processors.static',
+ 'django.contrib.messages.context_processors.messages',
+)
+
+ROOT_URLCONF = 'urls'
+
+TEMPLATE_DIRS = (
+ os.path.join(PROJECT_DIR, 'templates'),
+)
+
+INSTALLED_APPS = (
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.sites',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ # Custom apps below here.
+ '{{ project_name }}',
+)
+
+if DEBUG:
+ INSTALLED_APPS += ('django.contrib.admin',)
+
+LOGGING = {
+ 'version': 1,
+ 'disable_existing_loggers': False,
+ 'handlers': {
+ 'console': {
+ 'level': 'DEBUG' if DEBUG else 'INFO',
+ 'class': 'logging.StreamHandler',
+ },
+ },
+ 'loggers': {
+ '': {
+ 'handlers': ['console'],
+ 'level': 'INFO',
+ 'propagate': True,
+ },
+ '{{ project_name }}': {
+ 'handlers': ['console'],
+ 'level': 'DEBUG' if DEBUG else 'INFO',
+ 'propagate': True,
+ },
+ }
+}
+
+
+#
+# Environment
+#
+
+assert 'SECRET_KEY' in os.environ, 'Set SECRET_KEY in your .env file!'
+SECRET_KEY = os.environ['SECRET_KEY']
diff --git a/codetemplates/django/basic/urls.py b/codetemplates/django/basic/urls.py
new file mode 100644
index 0000000..c3e6912
--- /dev/null
+++ b/codetemplates/django/basic/urls.py
@@ -0,0 +1,16 @@
+from django.conf import settings
+from django.conf.urls import patterns, include, url
+
+
+urlpatterns = patterns('',
+ url(r'', include('{{ project_name }}.urls')),
+)
+
+
+if settings.DEBUG:
+ from django.contrib import admin
+ admin.autodiscover()
+ urlpatterns += patterns('',
+ url(r'^admin/', include(admin.site.urls)),
+ )
+
diff --git a/config/nvim/UltiSnips/lua.snippets b/config/nvim/UltiSnips/lua.snippets
deleted file mode 100644
index 7ac7099..0000000
--- a/config/nvim/UltiSnips/lua.snippets
+++ /dev/null
@@ -1,22 +0,0 @@
-# lua.snippets
-# vim: set ts=8 sw=8 sts=8 noet list:
-# Eryn Wells
-
-
-snippet pd
-local pd = playdate
-endsnippet
-
-snippet gfx
-local gfx = playdate.graphics
-endsnippet
-
-snippet sprite
-class("${1:Sprite}").extends(gfx.sprite)
-
-function $1:init()
-end
-
-function $1:update()
-end
-endsnippet
diff --git a/config/nvim/UltiSnips/python.snippets b/config/nvim/UltiSnips/python.snippets
deleted file mode 100644
index f9b0c22..0000000
--- a/config/nvim/UltiSnips/python.snippets
+++ /dev/null
@@ -1,49 +0,0 @@
-# python.snippets
-# vim: set ts=8 sw=8 sts=8 noet list:
-# Eryn Wells
-
-snippet parse_args
-def parse_args():
- parser = argparse.ArgumentParser()
- # TODO: Configure arguments here.
- args = parser.parse_args()
- return args
-endsnippet
-
-snippet ifmain
-def main(argv):
- ${1:pass}
-
-
-if __name__ == '__main__':
- import sys
- sys.exit(main(sys.argv))
-endsnippet
-
-snippet script
-#!/usr/bin/env python3
-# Eryn Wells
-
-'''
-New script.
-'''
-
-import argparse
-
-
-def parse_args(argv, *a, **kw):
- parser = argparse.ArgumentParser(*a, **kw)
- # TODO: Configure arguments here.
- args = parser.parse_args(argv)
- return args
-
-
-def main(argv):
- args = parse_args(argv[1:], prog=argv[0])
- ${1:# TODO}
-
-
-if __name__ == '__main__':
- import sys
- sys.exit(main(sys.argv))
-endsnippet
diff --git a/config/nvim/UltiSnips/rust.snippets b/config/nvim/UltiSnips/rust.snippets
deleted file mode 100644
index da88543..0000000
--- a/config/nvim/UltiSnips/rust.snippets
+++ /dev/null
@@ -1,38 +0,0 @@
-# rust.snippets
-# vim: set ts=8 sw=8 sts=8 noet list:
-# Eryn Wells
-
-snippet nnapp
-// Eryn Wells
-
-use nannou::prelude::*;
-
-struct Model {
- _window: window::Id,
-}
-
-impl Model {
- fn new(app: &App) -> Self {
- let window = app.new_window().view(view).build().unwrap();
- Self {
- _window: window,
- }
- }
-
- fn update(app: &App, model: &mut Model, update: Update) {
- model.update(app, update)
- }
-
- fn update(&mut self, app: &App, update: Update) {
- // TODO: Update the model here.
- }
-}
-
-fn view(app: &App, model: &Model, frame: Frame) {
- // TODO: Draw the view here.
-}
-
-fn main() {
- nannou::app(Model::new).update(update).run();
-}
-endsnippet
diff --git a/config/nvim/after/ftplugin/css.lua b/config/nvim/after/ftplugin/css.lua
deleted file mode 100644
index 25913ef..0000000
--- a/config/nvim/after/ftplugin/css.lua
+++ /dev/null
@@ -1,4 +0,0 @@
--- Eryn Wells
-
-vim.opt_local.shiftwidth = 2
-vim.opt_local.softtabstop = 2
diff --git a/config/nvim/after/ftplugin/gitcommit.vim b/config/nvim/after/ftplugin/gitcommit.vim
deleted file mode 100644
index 35c0053..0000000
--- a/config/nvim/after/ftplugin/gitcommit.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" Eryn Wells
-
-" The default text width for git commit messages is 72 characters, which is just too dang small.
-setlocal textwidth=80
diff --git a/config/nvim/after/ftplugin/gohtmltmpl.lua b/config/nvim/after/ftplugin/gohtmltmpl.lua
deleted file mode 100644
index 886a868..0000000
--- a/config/nvim/after/ftplugin/gohtmltmpl.lua
+++ /dev/null
@@ -1,4 +0,0 @@
--- Eryn Wells
-
-vim.bo.shiftwidth = 2
-vim.bo.softtabstop = 2
diff --git a/config/nvim/after/ftplugin/html.lua b/config/nvim/after/ftplugin/html.lua
deleted file mode 100644
index 25913ef..0000000
--- a/config/nvim/after/ftplugin/html.lua
+++ /dev/null
@@ -1,4 +0,0 @@
--- Eryn Wells
-
-vim.opt_local.shiftwidth = 2
-vim.opt_local.softtabstop = 2
diff --git a/config/nvim/after/ftplugin/lua.lua b/config/nvim/after/ftplugin/lua.lua
deleted file mode 100644
index 2deb764..0000000
--- a/config/nvim/after/ftplugin/lua.lua
+++ /dev/null
@@ -1,18 +0,0 @@
--- Eryn Wells
-
-local expand = vim.fn.expand
-local resolve = vim.fn.resolve
-local stdpath = vim.fn.stdpath
-
--- My dotfiles are usually symlinks. Resolve them so the path comparison makes sense.
-local configPath = resolve(stdpath("config"))
-local fullPath = resolve(expand("%:p"))
-if string.find(fullPath, configPath) == 1 then
- vim.opt_local.path = {
- ".",
- "",
- configPath .. "/**",
- }
-
- vim.opt_local.suffixesadd:append(".lua")
-end
diff --git a/config/nvim/after/ftplugin/python.lua b/config/nvim/after/ftplugin/python.lua
deleted file mode 100644
index 4a997fd..0000000
--- a/config/nvim/after/ftplugin/python.lua
+++ /dev/null
@@ -1,2 +0,0 @@
--- Eryn Wells
-
diff --git a/config/nvim/after/ftplugin/rust.lua b/config/nvim/after/ftplugin/rust.lua
deleted file mode 100644
index f9e52aa..0000000
--- a/config/nvim/after/ftplugin/rust.lua
+++ /dev/null
@@ -1,3 +0,0 @@
--- Eryn Wells
-
-vim.opt.foldmethod = 'syntax'
diff --git a/config/nvim/after/ftplugin/text.vim b/config/nvim/after/ftplugin/text.vim
deleted file mode 100644
index ee5520d..0000000
--- a/config/nvim/after/ftplugin/text.vim
+++ /dev/null
@@ -1 +0,0 @@
-abbr hawaii Hawai‘i
diff --git a/config/nvim/after/ftplugin/zsh.lua b/config/nvim/after/ftplugin/zsh.lua
deleted file mode 100644
index 3c265c3..0000000
--- a/config/nvim/after/ftplugin/zsh.lua
+++ /dev/null
@@ -1,15 +0,0 @@
--- Eryn Wells
-
-local zshFPath = vim.env.FPATH
-if zshFPath then
- local paths = vim.split(zshFPath, ":")
- vim.bo.path = ".," .. table.concat(paths, ",") .. ",,"
-else
- local defaultFPath = {
- "~/.dotfiles/zsh/func/**",
- "~/.zsh/func/**",
- "/usr/local/share/zsh/site-functions",
- "/usr/share/zsh/site-functions"
- }
- vim.bo.path = ".," .. table.concat(defaultFPath) .. ",,"
-end
diff --git a/config/nvim/after/plugin/gitgutter.lua b/config/nvim/after/plugin/gitgutter.lua
deleted file mode 100644
index fe20947..0000000
--- a/config/nvim/after/plugin/gitgutter.lua
+++ /dev/null
@@ -1,27 +0,0 @@
--- Eryn Wells
-
--- Ensure there's always a gutter column so there's no stutter when changes cause it to appear.
-vim.wo.signcolumn = "yes"
-
-local gitgutter_colorscheme_group = vim.api.nvim_create_augroup("GitGutterColorSchemeOverrides", { clear = true })
-
-local function update_gitgutter_colors()
- vim.cmd [[
- hi! SignColumn ctermbg=233
- hi! GitGutterAdd ctermbg=233
- hi! GitGutterRemove ctermbg=233
- hi! GitGutterChange ctermbg=233
- hi! GitGutterChangeDelete ctermbg=233
- ]]
-end
-
-vim.api.nvim_create_autocmd("User", {
- pattern = "GitGutter",
- callback = update_gitgutter_colors,
- group = gitgutter_colorscheme_group,
-})
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- callback = update_gitgutter_colors,
- group = gitgutter_colorscheme_group,
-})
diff --git a/config/nvim/after/plugin/treesitter.lua b/config/nvim/after/plugin/treesitter.lua
deleted file mode 100644
index 4f9ee81..0000000
--- a/config/nvim/after/plugin/treesitter.lua
+++ /dev/null
@@ -1,11 +0,0 @@
-local treesitter_configs = require 'nvim-treesitter.configs'
-
-treesitter_configs.setup {
- ensure_installed = { "lua", "vim" },
- sync_install = true,
- auto_install = true,
- hightlight = {
- enable = true,
- additional_vim_regex_highlighting = false,
- },
-}
diff --git a/config/nvim/after/syntax/css.vim b/config/nvim/after/syntax/css.vim
deleted file mode 100644
index e13c8f7..0000000
--- a/config/nvim/after/syntax/css.vim
+++ /dev/null
@@ -1,7 +0,0 @@
-" css.vim
-" Eryn Wells
-
-syn match cssLogicalBoxProp contained "\"
-syn match cssLogicalBoxProp contained "\"
-
-hi def link cssLogicalBoxProp cssProp
diff --git a/config/nvim/ftdetect/gohtmltmpl.lua b/config/nvim/ftdetect/gohtmltmpl.lua
deleted file mode 100644
index c250b8b..0000000
--- a/config/nvim/ftdetect/gohtmltmpl.lua
+++ /dev/null
@@ -1,7 +0,0 @@
--- Eryn Wells
-
--- Detect layout templates in Hugo projects
-vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, {
- pattern = {"*/layouts/*.html"},
- command = "setfiletype gohtmltmpl"
-})
diff --git a/config/nvim/ftdetect/make.lua b/config/nvim/ftdetect/make.lua
deleted file mode 100644
index d398cf8..0000000
--- a/config/nvim/ftdetect/make.lua
+++ /dev/null
@@ -1,7 +0,0 @@
--- Filetype detection for Makefiles
--- Eryn Wells
-
-vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, {
- pattern = "*.make",
- command = "setfiletype make",
-})
diff --git a/config/nvim/ftdetect/zsh.lua b/config/nvim/ftdetect/zsh.lua
deleted file mode 100644
index 1e748af..0000000
--- a/config/nvim/ftdetect/zsh.lua
+++ /dev/null
@@ -1,6 +0,0 @@
--- Eryn Wells
-
-vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, {
- pattern = {"*/zsh/*"},
- command = "setfiletype zsh",
-})
diff --git a/config/nvim/init.lua b/config/nvim/init.lua
deleted file mode 100644
index 8143253..0000000
--- a/config/nvim/init.lua
+++ /dev/null
@@ -1,91 +0,0 @@
--- Eryn Wells
-
-require 'os'
-
-function gitTopLevelDirectory()
- local handle = io.popen('git rev-parse --show-toplevel')
- if handle == nil then
- return nil
- end
-
- local gitRepoTopLevelDirectoryPath = vim.fn.trim(handle:read('*a'))
- handle:close()
-
- return gitRepoTopLevelDirectoryPath
-end
-
--- Enable per-project (per-git repository) customization of (neo)vim by looking
--- for .vim and .nvim directories in the root of the git repository.
-function addGitTopLevelDirectoryToRuntimePath()
- local gitTopLevelPath = gitTopLevelDirectory()
- if gitTopLevelPath == nil or string.len(gitTopLevelPath) == 0 then
- return
- end
-
- local repoVimPath = gitTopLevelPath .. "/.vim"
- if vim.fn.isdirectory(repoVimPath) == 1 then
- vim.opt.runtimepath:prepend(repoVimPath)
- end
- local repoNvimPath = gitTopLevelPath .. "/.nvim"
- if vim.fn.isdirectory(repoNvimPath) == 1 then
- vim.opt.runtimepath:prepend(repoNvimPath)
- end
-
- local repoVimAfterPath = gitTopLevelPath .. "/.nvim/after"
- if vim.fn.isdirectory(repoVimAfterPath) == 1 then
- vim.opt.runtimepath:append(repoVimAfterPath)
- end
- local repoNvimAfterPath = gitTopLevelPath .. "/.vim/after"
- if vim.fn.isdirectory(repoNvimAfterPath) == 1 then
- vim.opt.runtimepath:append(repoNvimAfterPath)
- end
-end
-
-vim.cmd [[
- source ~/.vimrc.common
- source ~/.vim/plugins.vim
-]]
-
-addGitTopLevelDirectoryToRuntimePath()
-
-require 'autocommands'
-require 'colors'
-require 'configuration'
-require 'diagnostics'
-require 'treesitter'
-require 'lsp'
-
-local keys = require 'keys'
-keys.init()
-
-local gui = require 'gui'
-gui.init()
-
-function ErynEnsureMetadataDirectoriesExist()
- local paths = {
- vim.opt.backupdir:get(),
- vim.opt.directory:get(),
- vim.opt.undodir:get(),
- }
-
- local function makeDirectory(path)
- os.execute("mkdir -p " .. path)
- end
-
- for _, opt in ipairs(paths) do
- for _, value in ipairs(opt) do
- if string.find(value, "//$") then
- makeDirectory(value)
- end
- end
- end
-
- -- The shadafile option is a single option but get() returns a table, so
- -- iterate it just to be safe.
- for _, opt in ipairs(vim.opt.shadafile:get()) do
- local shadaDirectory = vim.fs.dirname(opt)
- makeDirectory(shadaDirectory)
- end
-end
-
-ErynEnsureMetadataDirectoriesExist()
diff --git a/config/nvim/lua/autocommands.lua b/config/nvim/lua/autocommands.lua
deleted file mode 100644
index d92e1c1..0000000
--- a/config/nvim/lua/autocommands.lua
+++ /dev/null
@@ -1,15 +0,0 @@
--- Eryn Wells
-
-vim.opt.updatetime = 300
-
--- Show diagnostic popup on cursor hover
-local diagnostic_float_group = vim.api.nvim_create_augroup("DiagnosticFloat", { clear = true })
-vim.api.nvim_create_autocmd("CursorHold", {
- callback = function()
- vim.diagnostic.open_float {
- border = "double",
- focusable = false,
- }
- end,
- group = diagnostic_float_group,
-})
diff --git a/config/nvim/lua/colors.lua b/config/nvim/lua/colors.lua
deleted file mode 100644
index 6dc00f9..0000000
--- a/config/nvim/lua/colors.lua
+++ /dev/null
@@ -1,62 +0,0 @@
--- Eryn Wells
-
--- Allow using GUI style colors (#RRGGBB hex codes) in color terminals if we
--- know it can do it. This is required for most modern color themes. Apple's
--- Terminal.app doesn't have True Color support though, so make sure it's
--- off for that.
-vim.g.termguicolors = not vim.env.TERM_PROGRAM == "Apple_Terminal"
-
-local colorscheme_group = vim.api.nvim_create_augroup("ColorSchemeOverrides", { clear = true })
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- callback = function()
- vim.cmd [[
- hi! ColorColumn cterm=NONE ctermbg=233
- hi! CursorColumn cterm=NONE ctermbg=233
- hi! CursorLine cterm=NONE ctermbg=233
- hi! CursorLineNr cterm=bold ctermfg=White ctermbg=233
- hi! LineNr ctermfg=DarkGray ctermbg=233
- ]]
- end,
- group = colorscheme_group,
-})
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- pattern = "default",
- callback = function()
- vim.cmd [[ hi! NormalFloat ctermfg=8 ]]
- end,
- group = colorscheme_group,
-})
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- pattern = "dracula",
- callback = function()
- vim.cmd [[ highlight CursorLineNr guibg=#44475a ]]
- end,
- group = colorscheme_group,
-})
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- pattern = "witchhazel",
- callback = function()
- vim.cmd [[
- hi! default link LineNr CursorLineNr
- hi! default link CursorLineNr CursorLine
- ]]
- end,
- group = colorscheme_group,
-})
-
-vim.api.nvim_create_autocmd("ColorScheme", {
- pattern = "zaibatsu",
- callback = function()
- vim.cmd [[
- hi! Pmenu ctermbg=8
- hi! VertSplit ctermbg=8
- ]]
- end,
- group = colorscheme_group,
-})
-
-vim.cmd [[ color zaibatsu ]]
diff --git a/config/nvim/lua/configuration.lua b/config/nvim/lua/configuration.lua
deleted file mode 100644
index 6fbf469..0000000
--- a/config/nvim/lua/configuration.lua
+++ /dev/null
@@ -1,123 +0,0 @@
--- Eryn Wells
-
--- [[ Editor Configuration ]]
-local opt = vim.opt
-
--- Reread files when they change outside of neovim
-opt.autoread = true
--- Don't write files before switching buffers
-opt.autowrite = false
-
-opt.fileformats = {"unix", "dos", "mac"}
-
--- When creating splits, split on the right and below by default
-opt.splitright = true
-opt.splitbelow = true
-
--- Show line numbers
-opt.number = true
-opt.relativenumber = false
-
--- Start with ~all folds open.
-opt.foldlevel = 99
-
--- Customize the status bar a bit. Show the ruler, mode, and the command as the
--- last line of the screen.
-opt.ruler = true
-opt.showmode = true
-opt.showcmd = true
-
--- Never beep!
-opt.visualbell = true
-opt.errorbells = false
-
--- Wrap text rather than letting it run offscreen
-opt.wrap = true
-opt.linebreak = true
--- Wrap to 80 characters by default
-opt.textwidth = 80
--- Mark columns 80, 90, and 120
-opt.colorcolumn = {80, 90, 120}
-
--- Briefly show the matching parenthesis or bracket when typing one of those
--- characters.
-opt.showmatch = true
-
-opt.formatoptions:append("n")
-
--- When in list mode (showing whitespace) use some nicer Unicode characters.
-opt.list = false
-opt.listchars = {
- tab = "▸ ",
- eol = "¬",
- trail = "・",
- extends = "→",
- nbsp = "・",
-}
-
--- Search options. Ignore case by default, but be case sensitive if the pattern
--- contains a capital. Incrementally search, rather than waiting until you hit
--- . Search globally by default, rather than just on the current line.
-opt.ignorecase = true
-opt.smartcase = true
-opt.incsearch = true
-opt.gdefault = true
-
--- Prefer spaces to tabs. Indent tab characters 8 spaces, and soft indent 4
--- spaces. Never write tabs if you can help it.
-opt.tabstop = 8
-opt.shiftwidth = 4
-opt.softtabstop = 4
-opt.shiftround = true
-opt.expandtab = true
-
--- Do some nice things when wrapping, joining, and copying.
-opt.joinspaces = false
-opt.autoindent = true
-opt.copyindent = true
-
--- Always show the last command you typed.
-opt.laststatus = 2
-
-opt.background = "dark"
-
--- Save all this metadata while editing.
-opt.backup = true
-opt.undofile = true
-
-local statedir = vim.fn.stdpath("state")
-opt.backupdir = {statedir .. "/backup//"}
-opt.directory = {statedir .. "/swap//", "."}
-opt.undodir = {statedir .. "/undo//"}
-
--- Fields to save in the Shada file. Parameters as follows: (see :help shada)
--- % number of buffers to save and restore when no file argument is given
--- ' maximum number of previously edited files for which marks are remembered
--- h disable highlighted search patterns on start
--- / omitted, so all search history is saved
--- < maximum number of lines saved for each register
--- : maximum number of lines of command history to save
--- s shada entries over 100 KiB are skipped
-opt.shada = {"%100", "'1000", "h", "<1000", ":1000", "s100"}
-opt.shadafile = statedir .. "/shada/default.shada"
-
--- Scroll ahead of the point a bit in each direction
-opt.scrolloff = 3
-opt.sidescrolloff = 5
-
-opt.wildmenu = true
-opt.wildmode = {"longest", "list"}
-opt.wildignore = {
- -- Build artifacts
- "*.o", "*.pyc", "*.lo", "*.class",
- -- Swap files
- "*~",
- -- Non-text things
- "*.db", "*.pdf", "*.jpg", "*.jpeg", "*.png", "*.gif",
- -- Auto-generated things
- ".git", "env", "migrations"
-}
-
-if vim.fn.has("mouse") then
- opt.mouse = "a"
-end
diff --git a/config/nvim/lua/diagnostics.lua b/config/nvim/lua/diagnostics.lua
deleted file mode 100644
index fe351ee..0000000
--- a/config/nvim/lua/diagnostics.lua
+++ /dev/null
@@ -1,15 +0,0 @@
--- Eryn Wells
-
-vim.diagnostic.config {
- virtual_text = false,
- signs = true,
- update_in_insert = true,
- underline = true,
- severity_sort = false,
- float = {
- border = 'rounded',
- source = 'always',
- header = '',
- prefix = '',
- },
-}
diff --git a/config/nvim/lua/gui.lua b/config/nvim/lua/gui.lua
deleted file mode 100644
index 873fc99..0000000
--- a/config/nvim/lua/gui.lua
+++ /dev/null
@@ -1,25 +0,0 @@
--- Eryn Wells
-
-local function _init_neovide()
- if not vim.g.neovide then
- return
- end
-
- -- No use for these animations.
- vim.g.neovide_cursor_animation_length = 0
- vim.g.neovide_position_animation_length = 0
- vim.g.neovide_scroll_animation_length = 0
-
- vim.g.neovide_input_macos_option_key_is_meta = "both"
-
- vim.cmd [[ colorscheme lunaperche ]]
-end
-
-function init_gui()
- vim.o.guifont = "Berkeley Mono,Input Mono Condensed,SF Mono,Courier New:h18"
- _init_neovide()
-end
-
-return {
- init = init_gui,
-}
diff --git a/config/nvim/lua/keys.lua b/config/nvim/lua/keys.lua
deleted file mode 100644
index d83fb21..0000000
--- a/config/nvim/lua/keys.lua
+++ /dev/null
@@ -1,113 +0,0 @@
--- Eryn Wells
-
-local map = vim.keymap.set
-
-local function init_key_options()
- vim.g.mapleader = ","
-end
-
-local function text_navigation_mappings()
- local options = { noremap = true }
-
- -- Navigate by soft-wrapped lines using Alt/Option/Meta + jk
- map({'n', 'v'}, '', 'gk', options)
- map({'n', 'v'}, '', 'gj', options)
-end
-
-local function clipboard_mappings()
- if not vim.fn.has('gui_running') then
- return
- end
-
- local options = { noremap = true }
-
- -- Copy to the system clipboard
- map('v', '', '"+y', options)
- -- Cut to the system clipboard
- map('v', '', '"+x', options)
- -- Paste from the system clipboard
- map({'i', 'v'}, '', '"+p', options)
-end
-
-local function window_key_mappings()
- local options = { silent = true }
-
- -- Allow starting commands with ; instead of typing Shift-;. Save lots of keypresses!
- map('n', ';', ':')
-
- map('n', '', 'h', options)
- map('n', '', 'j', options)
- map('n', '', 'k', options)
- map('n', '', 'l', options)
-
- map('n', '', ':bn', options)
- map('n', '', ':bp', options)
-
- map('n', '', function()
- vim.cmd [[ setlocal invhlsearch ]]
- end, options)
-end
-
---
--- Language Server mappings
---
-
-local function diagnostic_mappings()
- local options = { noremap=true, silent=true }
-
- -- Basic diagnostic mappings, these will navigate to or display diagnostics
- map('n', 'd', vim.diagnostic.open_float, options)
- map('n', '[d', vim.diagnostic.goto_prev, options)
- map('n', ']d', vim.diagnostic.goto_next, options)
- map('n', 'q', vim.diagnostic.setloclist, options)
-end
-
-local function local_lsp_mappings(buffer_number)
- local options = { noremap=true, silent=true, buffer=buffer_number }
-
- map('n', 'ga', vim.lsp.buf.code_action, options)
- map('n', 'gD', vim.lsp.buf.declaration, options)
- map('n', 'gd', vim.lsp.buf.definition, options)
- map('n', 'gk', vim.lsp.buf.hover, options)
- map('n', 'gi', vim.lsp.buf.implementation, options)
- map('n', 'gK', vim.lsp.buf.signature_help, options)
- map('n', '', function()
- vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({}))
- end, options)
- map('n', 'D', vim.lsp.buf.type_definition, options)
- map('n', 'rn', vim.lsp.buf.rename, options)
- map('n', 'ca', vim.lsp.buf.code_action, options)
- map('n', 'gr', vim.lsp.buf.references, options)
-
- -- Replace W in .vimrc.common
- map('n', 'W', function()
- vim.lsp.buf.format { async = true }
- end, options)
-end
-
-local function telescope_mappings()
- local builtin = require('telescope.builtin')
-
- map('n', 'ff', builtin.find_files, { desc = 'Telescope find files' })
- map('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' })
- map('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' })
- map('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' })
-
- if vim.fn.has('gui_running') then
- map('n', 'D-O', builtin.buffers, { desc = 'Open existing' })
- end
-end
-
-local function init_all_global_keybindings()
- init_key_options()
- clipboard_mappings()
- window_key_mappings()
- text_navigation_mappings()
- diagnostic_mappings()
- telescope_mappings()
-end
-
-return {
- init = init_all_global_keybindings,
- init_lsp_key_mappings = local_lsp_mappings,
-}
diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua
deleted file mode 100644
index 8c6f913..0000000
--- a/config/nvim/lua/lsp.lua
+++ /dev/null
@@ -1,142 +0,0 @@
--- Eryn Wells
-
-
-local clangd_extensions = require 'clangd_extensions'
-local cmp = require 'cmp'
-local lspconfig = require 'lspconfig'
-
-local keys = require 'keys'
-
-cmp.setup {
- snippet = {
- expand = function(args)
- vim.fn["UltiSnips#Anon"](args.body)
- end
- },
- window = {
- -- completion = cmp.config.window.bordered(),
- documentation = cmp.config.window.bordered(),
- },
- mapping = cmp.mapping.preset.insert({
- [''] = cmp.mapping.scroll_docs(-4),
- [''] = cmp.mapping.scroll_docs(4),
- [''] = cmp.mapping.complete(),
- [''] = cmp.mapping.abort(),
- -- Accept currently selected item. Set `select` to `false` to only
- -- confirm explicitly selected items.
- [''] = cmp.mapping.confirm({ select = true }),
- }),
- sorting = {
- comparators = {
- cmp.config.compare.offset,
- cmp.config.compare.exact,
- -- cmp.config.compare.recently_used,
- clangd_extensions.cmp_scores,
- cmp.config.compare.kind,
- cmp.config.compare.sort_text,
- cmp.config.compare.length,
- cmp.config.compare.order,
- },
- },
- sources = cmp.config.sources({
- { name = "nvim_lsp" },
- { name = "nvim_signature_help" },
- { name = "ultisnips" },
- { name = "buffer" },
- { name = "path" },
- }, {
- { name = "buffer" },
- })
-}
-
-local cmp_capabilities = require("cmp_nvim_lsp").default_capabilities()
-
--- local protocol = require('vim.lsp.protocol')
-
-local function on_attach(client, buffer_number)
- vim.api.nvim_buf_set_option(buffer_number, "omnifunc", "v:lua.vim.lsp.omnifunc")
- vim.wo.signcolumn = "yes"
-
- keys.init_lsp_key_mappings(buffer_number)
-end
-
-lspconfig.clangd.setup {
- on_attach = function(client, buffer_number)
- on_attach(client, buffer_number)
-
- local clangd_inlay_hints = require('clangd_extensions.inlay_hints')
- clangd_inlay_hints.setup_autocmd()
- clangd_inlay_hints.set_inlay_hints()
- end,
- capabilities = cmp_capabilities,
-}
-
-lspconfig.eslint.setup {
- on_attach = on_attach,
- capabilities = cmp_capabilities,
-}
-
-lspconfig.ts_ls.setup {
- on_attach = on_attach,
- capabilities = cmp_capabilities,
-}
-
-lspconfig.html.setup {
- on_attach = on_attach,
- capabilities = cmp_capabilities,
-}
-
-lspconfig.lua_ls.setup {
- on_attach = on_attach,
- capabilities = cmp_capabilities,
- settings = {
- Lua = {
- diagnostics = {
- globals = { "vim" },
- disable = { "lowercase-global" },
- },
- workspace = {
- library = vim.api.nvim_get_runtime_file("", true),
- checkThirdParty = false,
- },
- },
- },
-}
-
-lspconfig.pyright.setup {
- on_attach = on_attach,
- capabilities = cmp_capabilities,
-}
-
-lspconfig.rust_analyzer.setup {
- on_attach = function(client, buffer_number)
- on_attach(client, buffer_number)
- end,
- capabilities = cmp_capabilities,
- settings = {
- ['rust-analyzer'] = {
- cargo = {
- buildScripts = {
- enable = true,
- },
- },
- checkOnSave = true,
- check = {
- command = 'clippy',
- extraArgs = {
- "--",
- "--no-deps",
- "-Dclippy::correctness",
- "-Dclippy::complexity",
- "-Wclippy::perf",
- "-Wclippy::pedantic",
- },
- },
- imports = {
- granularity = {
- group = "crate",
- },
- },
- },
- },
-}
diff --git a/config/nvim/lua/treesitter.lua b/config/nvim/lua/treesitter.lua
deleted file mode 100644
index 3c198f1..0000000
--- a/config/nvim/lua/treesitter.lua
+++ /dev/null
@@ -1,16 +0,0 @@
--- Treesitter configuration
--- Eryn Wells
-
-local treesitter = require 'nvim-treesitter.configs'
-
--- For some reason the Lua linter complains about missing fields here even
--- though they're not requried. So, ignore the error.
----@diagnostic disable:missing-fields
-treesitter.setup {
- highlight = { enable = true },
- indent = { enable = true },
- ensure_installed = { "c", "cpp", "javascript", "lua", "objc", "python", "rust", "vim" },
- auto_install = true,
-}
-
-vim.treesitter.language.register("objcpp", { "objc", "cpp" })
diff --git a/config/nvim/syntax/gocsstmpl.vim b/config/nvim/syntax/gocsstmpl.vim
deleted file mode 100644
index c79f236..0000000
--- a/config/nvim/syntax/gocsstmpl.vim
+++ /dev/null
@@ -1,17 +0,0 @@
-if exists("b:current_syntax")
- finish
-endif
-
-if !exists("g:main_syntax")
- let g:main_syntax = 'css'
-endif
-
-runtime! syntax/gotexttmpl.vim
-runtime! syntax/css.vim
-unlet b:current_syntax
-
-syn cluster htmlPreproc add=gotplAction,goTplComment
-
-let b:current_syntax = "gocsstmpl"
-
-" vim: sw=2 ts=2 et
diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf
deleted file mode 100644
index 178c750..0000000
--- a/config/tmux/tmux.conf
+++ /dev/null
@@ -1,70 +0,0 @@
-# tmux config
-# Eryn Wells
-
-set -g prefix C-f
-
-# Don't destroy sessions that have no clients attached.
-set -g exit-unattached off
-
-set -g default-terminal "screen-256color"
-set -g history-limit 10000
-# Bells from everywhere
-set -g bell-action any
-set -g visual-bell off
-
-# Pass xterm titles through
-set -g set-titles on
-set -g set-titles-string "#T"
-set -g allow-rename on
-
-# Use vi keys for copy mode
-set -g mode-keys vi
-set -g repeat-time 0
-
-# Bring over the SSH agent environment
-set -g update-environment "SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION"
-
-#
-# STATUS BAR
-#
-
-set -g status-style bg=black
-set -g status-left " #S "
-set -g status-left-style bg=green,fg=black
-set -g status-right "#[bg=red,fg=white] #h #[bg=blue,fg=white] %Y-%m-%d %R #[default]"
-
-# Start window and pane indexing from 1 instead of 0
-set -g base-index 1
-set -g pane-base-index 1
-
-# Tabs like this: "(:)"
-setw -g window-status-style "fg=white,bg=black"
-setw -g window-status-format " #{?#{==:#W,tmux},...,#I} #W "
-setw -g window-status-current-style "fg=white,bg=blue"
-#setw -g window-status-current-format " #I #W "
-setw -g window-status-current-format " #{?#{==:#W,tmux},...,#I} #W "
-setw -g window-status-separator ""
-
-set -g window-status-bell-style "bg=red"
-set -g window-status-activity-style "bg=red"
-
-set -g alternate-screen on
-
-set -g clock-mode-style 24
-
-# Lock the screen after 120 seconds
-set -g lock-after-time 0
-set -g lock-command "tmux clock-mode"
-
-#
-# KEY BINDINGS
-#
-
-bind-key C-a last-window
-# TODO: Decide if this should have a -n (allow invoking the command without the leader).
-bind-key C-k clear-history
-
-bind-key C-h select-pane -L
-bind-key C-j select-pane -D
-bind-key C-k select-pane -U
-bind-key C-l select-pane -R
diff --git a/emacs b/emacs
index 93ca104..134b885 100644
--- a/emacs
+++ b/emacs
@@ -1,6 +1,5 @@
; .emacs
; Eryn Wells
-; vim: ft=lisp:
; Show point position in the status bar
diff --git a/gitconfig b/gitconfig
index 2294436..a3c088a 100644
--- a/gitconfig
+++ b/gitconfig
@@ -2,22 +2,18 @@
name = Eryn Wells
email = eryn@erynwells.me
[core]
- editor = nvim
+ editor = vim
quotepath = false
excludesfile = ~/.gitignore
[color]
ui = auto
[alias]
- amend = commit --amend --no-edit
- edit = commit --amend --only
-
# Commits
c = commit
cm = commit -m
ca = commit -a
cam = commit -am
# Amended commits
- ce = commit --amend --only
cn = commit --amend
cna = commit --amend -a
cnam = commit --amend -am
@@ -60,14 +56,10 @@
pf = push -uf
f = fetch
sup = submodule update --recursive
- really-clean = clean -fd
- rs = restore --stage
- sc = switch --create
[ui]
color = true
[diff]
tool = KS
- algorithm = histogram
[difftool]
prompt = false
[difftool "KS"]
@@ -84,14 +76,3 @@
default = simple
[rebase]
autoStash = true
-[sendemail]
- transferEncoding = base64
-[filter "lfs"]
- clean = git-lfs clean -- %f
- smudge = git-lfs smudge -- %f
- process = git-lfs filter-process
- required = true
-[pull]
- rebase = true
-[init]
- defaultBranch = main
diff --git a/gitignore b/gitignore
index 3782146..ff7f3c7 100644
--- a/gitignore
+++ b/gitignore
@@ -1,6 +1,3 @@
-# Vim
-*~
-
# OS X
.DS_Store
diff --git a/muttrc b/muttrc
index 6ec822c..b6245f8 100644
--- a/muttrc
+++ b/muttrc
@@ -59,7 +59,7 @@ set include=yes
# HTML email :(
set mailcap_path="~/.mutt/mailcap"
auto_view text/html
-alternative_order text/html text/plain text/enriched
+alternative_order text/plain text/enriched text/html
unmailboxes "$record" "$postponed" "$trash"
diff --git a/nethackrc b/nethackrc
index ba7ee23..f992c87 100644
--- a/nethackrc
+++ b/nethackrc
@@ -1,277 +1,40 @@
-# It me!
-OPTIONS=name:Eryn
-OPTIONS=gender:female
-OPTIONS=catname:Mr. President
-OPTIONS=dogname:Guinness
-OPTIONS=horsename:Josie
-OPTIONS=fruit:Raspberry
+# Graphics options
+OPTIONS=fullscreen
+OPTIONS=color
+OPTIONS=DECgraphics
-# Turn off news and game splash screen
OPTIONS=!news,!splash_screen
-OPTIONS=!bones
-
-##
-## Interface Stuff
-##
-
-# Use the curses interface with DEC graphics.
-OPTIONS=windowtype:curses,symset:DECgraphics
-# Always show inventory
-OPTIONS=perm_invent
-# Enable colors
-OPTIONS=color,guicolor
-# Use a small popup window instead of the messages window for small messages
-OPTIONS=popup_dialog
-# Use dark gray color instead of blue for dark rooms
-# (I don't think this works with curses though)
-OPTIONS=use_darkgray
-# Make alt work on macOS
-OPTIONS=altmeta
# Show full window of 20 messages
OPTIONS=msg_window:f
OPTIONS=msghistory:20
-# Highlight pets
-OPTIONS=hilite_pet
-# Bolder shape
+# Object representation
+OPTIONS=hilite_pet,lit_corridor
OPTIONS=boulder:0
-# Highlight piles of things
-OPTIONS=hilite_pile
-# Visually distinguish lit vs unlit corridors
-OPTIONS=lit_corridor
-# Show a hit point bar over your name
-OPTIONS=hitpointbar
-# Show experience, score, and time (number of steps)
OPTIONS=showexp,showscore,time
-# Just show lists of items
-OPTIONS=menustyle:partial
-# Show object symbols in menus
-OPTIONS=menu_objsyms
+# auto-pickup scrolls, wands, and potions
+OPTIONS=autopickup
+OPTIONS=pickup_types:?!/
+
+# Special fruit is a raspberry <3
+OPTIONS=fruit:raspberry
# Don't bother with number pad
OPTIONS=number_pad:0
-# Automatically dig if I can
-OPTIONS=autodig
+# Show HP in color, if properly patched
+#OPTIONS=hpmon
-# Disclosures at the end of the game:
-# - always show inventory
-# - always show attributes
-# - ask to show monsters killed (default no)
-# - never show genocided
-# - always show conduct
-OPTIONS=disclose:+i +a nv +c -g
-
-##
-## Status Bar
-##
-
-# Colorize the status bar
-OPTIONS=statushilites:10
-# Show gold as yellow
-OPTIONS=hilite_status:gold/always/yellow
-# Highlight hit points with these colors
-OPTIONS=hilite_status:hitpoints/100%/brightgreen
-OPTIONS=hilite_status:hitpoints/<100%/green
-OPTIONS=hilite_status:hitpoints/<60%/yellow
-OPTIONS=hilite_status:hitpoints/<40%/red
-OPTIONS=hilite_status:hitpoints-max/always/green&bold
-# Ability scores have similar highlights
-# Specify multiple cutoffs for all ability scores.
-OPTIONS=hilite_status:characteristics/<5/red
-OPTIONS=hilite_status:characteristics/>6/orange
-OPTIONS=hilite_status:characteristics/>8/brown
-OPTIONS=hilite_status:characteristics/>11/yellow
-OPTIONS=hilite_status:characteristics/>13/green
-OPTIONS=hilite_status:characteristics/>16/cyan
-OPTIONS=hilite_status:characteristics/>18/lightblue
-# Highlight experience changes
-OPTIONS=hilite_status:experience-level/changed/cyan&bold
-# Color all status conditions orange
-OPTIONS=hilite_status:condition/all/orange
-
-##
-## Autopickups
-##
-
-# Auto-pickup safe things
-OPTIONS=autopickup
-OPTIONS=pickup_types:$?!/="+%
-OPTIONS=pickup_burden:unencumbered
-OPTIONS=pickup_thrown
-# Always pick up these
-AUTOPICKUP_EXCEPTION="Amulet of Yendor"
-AUTOPICKUP_EXCEPTION="> corpse"
-AUTOPICKUP_EXCEPTION=">flint stone"
-AUTOPICKUP_EXCEPTION=">load stone"
-AUTOPICKUP_EXCEPTION="> named empty"
-AUTOPICKUP_EXCEPTION="> nothing"
-AUTOPICKUP_EXCEPTION=">scroll .* scare monster"
-AUTOPICKUP_EXCEPTION=">:0)"
-AUTOPICKUP_EXCEPTION=">worthless piece of"
-
-##
-## Menu Colors
-## (heavily sourced from https://alt.org/nethack/userdata/E/Eidolos/Eidolos.nh343rc)
-##
-
-OPTIONS=menucolors
-
-# Beatitude
-# nethack doesn't display "uncursed" if charges are known
-#MENUCOLOR=" \([-0-9]+:[-0-9]+\)"=none
-#MENUCOLOR=" [+-][0-9]"=none
-MENUCOLOR=" blessed| B($| )"=cyan
-MENUCOLOR=" cursed| C($| )"=red&bold
-
-# Water
-MENUCOLOR=" holy water"=cyan&bold
-MENUCOLOR=" blessed clear potion"=cyan&bold
-MENUCOLOR=" blessed potions? called water"=cyan&bold
-MENUCOLOR=" clear potions? named (holy|blessed|B)($| )"=cyan&bold
-MENUCOLOR=" potions? of water named (holy|blessed|B)($| )"=cyan&bold
-MENUCOLOR=" potions? called water named (holy|blessed|B)($| )"=cyan&bold
-MENUCOLOR=" unholy water"=orange
-MENUCOLOR=" cursed clear potion"=orange
-MENUCOLOR=" cursed potions? called water"=orange
-MENUCOLOR=" potions? called water named (unholy|cursed|C)($| )"=orange
-
-# Food
-# vegan
-MENUCOLOR="ration|gunyoki"=green&bold
-MENUCOLOR="lembas wafer|melon|carrot|tins? .* spinach"=green&bold
-MENUCOLOR=" oranges?( named.*)?$"=green&bold
-MENUCOLOR=" pears?( named.*)?$"=green&bold
-MENUCOLOR=" (apple|banana|kelp|eucalyptus|garlic|wolfsbane)"=green&bold
-MENUCOLOR=" ([Rr]aspberry)"=green&bold
-MENUCOLOR="(tins? of )?(gelatinous cube|acid blob|quivering blob)( corpse)?"=green&bold
-MENUCOLOR="(tins? of )?(blue|spotted|ochre) jelly( corpse)?"=green&bold
-MENUCOLOR="(tins? of )?lichen|shrieker|violet fungus|(brown|yellow|green|red) mold( corpse)?"=green&bold
-# vegetarian
-MENUCOLOR="egg|pancake|fortune cookie|candy bar|royal jelly|cream pie|candle"=green
-MENUCOLOR="(tin of )?brown pudding|gray ooze( corpse)?"=green
-# pet food
-MENUCOLOR="tripe ration"=yellow
-
-# Goodies
-MENUCOLOR=" bag .* holding"=magenta
-MENUCOLOR=" luck(stone)?($| )"=magenta
-MENUCOLOR=" wand .* wish(ing)?($| )"=magenta
-MENUCOLOR=" wand .* tele(port(ation)?)?($| )"=magenta
-MENUCOLOR=" wand .* polymorph"=magenta
-MENUCOLOR=" wand .* death"=magenta
-MENUCOLOR=" gain level"=magenta
-MENUCOLOR=" full healing"=magenta
-MENUCOLOR=" magic marker"=magenta
-MENUCOLOR=" magic lamp|lamp .* magic"=magenta
-MENUCOLOR=" unicorn horn[^[]*$"=magenta
-MENUCOLOR=" tinning kit"=magenta
-MENUCOLOR=" ring .* regen(eration)?($| )"=magenta
-MENUCOLOR=" ring .* conflict"=magenta
-MENUCOLOR=" ring .* (FA|free action)($| )"=magenta
-MENUCOLOR=" ring .* (TC|teleport control)($| )"=magenta
-MENUCOLOR=" ring .* lev(itation)?($| )"=magenta
-MENUCOLOR=" scrolls? .* genocide($| )"=magenta
-MENUCOLOR=" scrolls? .* charging($| )"=magenta
-MENUCOLOR=" scrolls? .* identify($| )"=magenta
-MENUCOLOR=" amulet .* (life ?saving|LS)($| )"=magenta
-MENUCOLOR=" amulet .* ref(lection)?($| )"=magenta
-MENUCOLOR=" c(o|hi)ckatrice (corpse|egg)"=magenta
-MENUCOLOR=" egg .* cockatrice"=magenta
-MENUCOLOR=" stethoscope"=magenta
-# instruments
-MENUCOLOR="tooled horn|fire horn|frost horn|horn .* (tooled|fire|frost)"=magenta
-MENUCOLOR=" harp"=magenta
-MENUCOLOR=" bugle"=magenta
-MENUCOLOR=" flute"=magenta
-# unidentified magic armor
-MENUCOLOR="piece of cloth|opera cloak|ornamental cope|tattered cape"=magenta
-MENUCOLOR="plumed helmet|etched helmet|crested helmet|visored helmet"=magenta
-MENUCOLOR="(old|padded|riding|fencing) gloves"=magenta
-MENUCOLOR="(mud|buckled|riding|snow|hiking|combat|jungle) boots"=magenta
-
-# Artifacts
-# unaligned
-MENUCOLOR=" (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)"=lightgreen
-# lawful normal, quest
-MENUCOLOR=" (Demonbane|Excalibur|Grayswandir|Snickersnee|Sunsword)"=lightgreen
-MENUCOLOR=" (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)"=lightgreen
-# neutral normal, quest
-MENUCOLOR=" (Cleaver|Giantslayer|Magicbane|Mjollnir|Vorpal Blade)"=lightgreen
-MENUCOLOR=" (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)"=lightgreen
-# chaotic normal, quest
-MENUCOLOR=" (Grimtooth|Orcrist|Sting|Stormbringer)"=lightgreen
-MENUCOLOR=" (Longbow of Diana|Master Key of Thievery)"=lightgreen
-# invocation items
-MENUCOLOR=" (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)"=magenta&bold
-
-# Raison D'Etre
-MENUCOLOR=" Amulet of Yendor named"=lightmagenta&underline
-
-# Cursed Goodies
-MENUCOLOR=" cursed.* bag .* holding"=red&bold
-MENUCOLOR=" cursed.* luck(stone)?($| )"=red&bold
-MENUCOLOR=" cursed.* unicorn horn"=red&bold
-MENUCOLOR=" cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)"=red&bold
-MENUCOLOR="cursed tins? .* spinach|tins? .* spinach .* (cursed|C($| ))"=red
-# loadstones :(
-MENUCOLOR=" load(stone)?($| )"=red&underline
-# watch out, Bag Of Holding!
-MENUCOLOR=" bag .* tricks"=blue&underline
-MENUCOLOR=" wand .*[^!]canc"=blue&underline
-MENUCOLOR=" wand .* vanish"=blue&underline
-
-# Shiny Things
-MENUCOLOR=" gold piece"=yellow
-MENUCOLOR=" valuable"=brown
-MENUCOLOR=" gems? .* hard"=yellow
-# soft gems
-MENUCOLOR=" ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$"=brown
-# hard gems
-MENUCOLOR=" ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$"=yellow
-
-# Spell Failure Rates
-MENUCOLOR=" 0%"=white
-MENUCOLOR=" [1-9]%"=cyan
-MENUCOLOR=" [12][0-9]%"=cyan
-MENUCOLOR=" [3-6][0-9]%"=yellow
-MENUCOLOR=" 7[0-5]%"=yellow
-MENUCOLOR=" 7[6-9]%"=orange
-MENUCOLOR=" 8[0-9]%"=orange
-MENUCOLOR=" 9[0-9]%"=red
-MENUCOLOR=" 100%"=red
-# Forgotten Spell
-MENUCOLOR="[a-zA-Z ]+ [0-9]\* [a-z]+ +[0-9]+%"=magenta
-
-# Enhance
-MENUCOLOR="^ +[a-z -]+ +\[(Unskilled|Basic|Skilled|Expert|Master|Grand Master)\]$"=white
-MENUCOLOR="^ *[a-z] - +[a-z -]+ +\[(Unskilled|Basic|Skilled|Expert|Master|Grand Master)\]$"=white
-MENUCOLOR="^ +\* +[a-z -]+ +\[(Unskilled|Basic|Skilled|Expert|Master|Grand Master)\]$"=white
-MENUCOLOR="^ +# +[a-z -]+ +\[(Unskilled|Basic|Skilled|Expert|Master|Grand Master)\]$"=white
-
-# Ordinary Menu Stuff
-#MENUCOLOR=" is empty. Do what?"=none
-#MENUCOLOR="Put something into .*"=none
-#MENUCOLOR="Take something out of .*"=none
-#MENUCOLOR="unicorn horn.*(Unskilled|Basic|Skilled|Expert)"=none
-#MENUCOLOR="Info on what a given key does."=none
-#MENUCOLOR="Full list of keyboard commands."=none
-#MENUCOLOR="altkeyhandler"=none
-#MENUCOLOR="fruit.*\["=none
-
-##
-## Symbols
-##
+# Always a female samurai named Eryn
+NAME=Eryn
+CHARACTER=samurai
+#RACE=human
+OPTIONS=gender:female
+# Disclosures at the end of the game: always disclose inventory, prompt for
+# attributes and monsters killed (default yes), don't care about genocided
+# monsters and conduct.
+OPTIONS=disclose:+i ya yv -c -g
diff --git a/setup.sh b/setup.sh
index 758c4bf..8b1c1a2 100755
--- a/setup.sh
+++ b/setup.sh
@@ -1,33 +1,19 @@
#!/usr/bin/env zsh
-dotfiles_dir=$(cd "$(dirname "$0")" && pwd)
+dfdir=$(cd "$(dirname "$0")" && pwd)
sys=`uname -s | tr A-Z a-z`
-skipitems=( \
- '.*\.orig' \
- '.*~' \
- Alfred \
- Ansible \
- bin \
- Colors \
- Dotfiles \
- Fortune \
- LaunchAgents \
- py \
- Python \
- README.md \
- setup.sh \
- Web \
- Xcode \
-)
+skipitems=(setup.sh README.md py bin Colors LaunchAgents)
-function link {
- local action
+typeset -A vimbundles
+vimbundles=(Vundle.vim "https://github.com/gmarik/Vundle.vim.git")
+
+
+function link
+{
local dest
-
- if [[ -z $2 ]]; then
- local dotfile_basename=`basename "$1"`
- dest="$HOME/.$dotfile_basename"
+ if [[ "$2" == '' ]]; then
+ dest="$HOME/.$dotfile"
else
dest="$2"
fi
@@ -38,136 +24,58 @@ function link {
else
action='Skipping'
fi
-
- printf " %8s: %s\n" $action "$dest"
+ printf " %8s: %s\n" $action $dest
}
-function matches_skip_item {
- local string_to_match=$1
-
- for item in $skipitems; do
- if [[ $string_to_match =~ $item ]]; then
- return 0
- fi
- done
-
- return 1
-}
-
-function build_fortunes {
- echo "Building fortunes file"
- (cd Fortune && make)
-}
-
-print -P " %BHome:%b $HOME"
-print -P " %BDotfiles:%b $dotfiles_dir"
-print -P "%BSkip Items:%b $skipitems\n"
-
-print -P "%BRemoving stray dotfile symlinks from $HOME%b"
-local link_dest
-local link_dirname
-local did_remove_at_least_one_symlink=0
-for file in ~/.?*; do
- link_dest=`readlink "$file"`
- if [[ $? -ne 0 ]]; then
- # Not a symlink.
- continue
- fi
-
- link_dirname=`dirname "$link_dest"`
- if [[ "$link_dirname" != "$dotfiles_dir" ]]; then
- continue
- fi
-
- if ! matches_skip_item `basename "$link_dest"`; then
- if [[ -e "$link_dest" ]]; then
- continue
- fi
- fi
-
- printf " Removing: %s\n" "$file"
- rm "$file"
- did_remove_at_least_one_symlink=1
-done
-
-if [[ $did_remove_at_least_one_symlink -ne 1 ]]; then
- print " Nothing to remove"
-fi
print -P "%BSymlinking config files%b"
-local did_link_at_least_one_dotfile=0
-for dotfile in $dotfiles_dir/*; do
- local dotfile_basename=`basename "$dotfile"`
+for dotfile in `ls $dfdir`; do
+ [[ ${skipitems[(r)$dotfile]} == $dotfile ]] && continue
+ link "$dfdir/$dotfile"
+done
- if matches_skip_item "$dotfile_basename"; then
- continue
- fi
+link "$dfdir/bin" "$HOME/bin"
- if [[ "$dotfile_basename" == "config" ]]; then
- # Recurse into config and link each item individually
- mkdir -p "$HOME/.config"
- for config_dotfile in $dotfiles_dir/config/*; do
- config_dotfile_basename=`basename "$config_dotfile"`
- link "$config_dotfile" "$HOME/.config/$config_dotfile_basename"
- done
+echo "touch $HOME/.hushlogin"
+touch "$HOME/.hushlogin"
+
+# Initialize submodules
+print -P "%BFetching Vim modules%b"
+cd "$dfdir/vim/bundle"
+for module in ${(k)vimbundles}; do
+ echo -n " $module"
+
+ if [[ -d $module ]]; then
+ # result='skipped'
else
- link "$dotfile"
- fi
-
- did_link_at_least_one_dotfile=1
-done
-
-if [[ ! -f "$HOME/.hushlogin" ]]; then
- print " touch $HOME/.hushlogin"
- touch "$HOME/.hushlogin"
- did_link_at_least_one_dotfile=1
-fi
-
-if [[ $did_link_at_least_one_dotfile -ne 1 ]]; then
- print " Nothing to link"
-fi
-
-local configure_vim=1
-while getopts "v" arg $@; do
- case $arg in
- "v") configure_vim=1 ;;
- "+v") configure_vim=0 ;;
- *)
- echo "Usage: setup.sh [+v|-v]"
- echo " +v|-v Configure (Neo)vim. Default yes; +v skips."
- ;;
- esac
-done
-
-print "Creating Python virtual environment"
-local venv_path=~/.local/share/python-virtual-environments/eryn
-python3 -m venv --system-site-packages "$venv_path"
-"$venv_path/bin/pip" install "$dotfiles_dir/Python/eryntools"
-
-if (( $configure_vim )); then
- print -P "%BConfiguring Vim%b"
-
- VIM=nvim
- if ! whence -cp nvim >& -; then
- VIM=vim
- fi
-
- if [[ $VIM = "nvim" ]]; then
- print -P " Downloading vim-plug from Github"
- curl --create-dirs -fL \
- -o "${XDG_DATA_HOME:-$HOME/.local/share}/nvim/site/autoload/plug.vim" \
- "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" \
- 1>/dev/null
-
- if whence -cp python3 >& -; then
- print -P " Installing pynvim"
- python3 -m pip install --user --upgrade pynvim 1>/dev/null
+ git clone ${vimbundles[$module]} $module 1>/dev/null 2>&1
+ if [[ $? -eq 0 ]]; then
+ result='done'
+ else
+ result='failed'
fi
fi
- $VIM +PlugInstall +qall
-fi
+ spaces=''
+ filler=$(($COLUMNS - ${#module} - ${#result} - 4))
+ for (( i=0; $i < $filler; i++ )); do spaces="$spaces "; done
+ if [[ $result == 'skipped' ]]; then
+ color='yellow'
+ elif [[ $result == 'failed' ]]; then
+ color='red'
+ elif [[ $result == 'done' ]]; then
+ color='green'
+ fi
+ print -P "$spaces%F{$color}$result%f"
+done
-build_fortunes
+vim +PluginInstall +qall
+
+#if [[ -d "$dfdir/vim/bundle/command-t/ruby/command-t" ]]; then
+# print -P "%BSetting up command-t%b"
+# cd "$dfdir/vim/bundle/command-t/ruby/command-t"
+# ruby extconf.rb
+# make
+#fi
exit 0
diff --git a/ssh/config b/ssh/config
deleted file mode 100644
index 83a3613..0000000
--- a/ssh/config
+++ /dev/null
@@ -1,5 +0,0 @@
-# Eryn Wells
-# vim: set ft=sshconfig sw=2 sts=2:
-
-Host *
- Include config.d/*
diff --git a/ssh/config.d/personal b/ssh/config.d/personal
deleted file mode 100644
index 15f268c..0000000
--- a/ssh/config.d/personal
+++ /dev/null
@@ -1,5 +0,0 @@
-# Eryn Wells
-# vim: set ft=sshconfig sw=2 sts=2:
-
-Host nutmeg.erynwells.me nutmeg
- HostName nutmeg.erynwells.me
diff --git a/tmux.conf b/tmux.conf
new file mode 100644
index 0000000..000705d
--- /dev/null
+++ b/tmux.conf
@@ -0,0 +1,63 @@
+# tmux config
+# Eryn Wells
+
+set -g prefix C-f
+
+# Don't destroy sessions that have no clients attached.
+set -g exit-unattached off
+
+set -g default-terminal "screen-256color"
+set -g history-limit 10000
+# Bells from everywhere
+set -g bell-action any
+set -g visual-bell off
+
+# Pass xterm titles through
+set -g set-titles on
+set -g set-titles-string "#T"
+
+# Use vi keys for copy mode
+set -g mode-keys vi
+set -g repeat-time 0
+
+# No left status; right status bar is session name
+set -g status-bg black
+set -g status-left ""
+set -g status-left-bg black
+set -g status-left-fg brightblue
+set -g status-left-attr none
+
+set -g status-right "| #S "
+set -g status-right-bg black
+set -g status-right-fg brightblue
+set -g status-right-attr none
+
+# Start window and pane indexing from 1 instead of 0
+set-option -g base-index 1
+set-option -g pane-base-index 1
+
+# Tabs like this: "(:)"
+setw -g window-status-style "fg=brightgreen,bg=black"
+setw -g window-status-format "(#I:#W)"
+setw -g window-status-current-style "fg=yellow,bg=black"
+setw -g window-status-current-format "(#I:#W)"
+
+setw -g window-status-bell-style "fg=red"
+setw -g window-status-activity-style "fg=brightred"
+
+setw -g alternate-screen on
+
+setw -g clock-mode-style 24
+
+# Lock the screen after 120 seconds
+set-option -g lock-after-time 0
+set-option -g lock-command "tmux clock-mode"
+
+bind-key C-a last-window
+# TODO: Decide if this should have a -n (allow invoking the command without the leader).
+bind-key C-k clear-history
+
+bind-key h select-pane -L
+bind-key j select-pane -D
+bind-key k select-pane -U
+bind-key l select-pane -R
diff --git a/vim/after/ftplugin/plist.vim b/vim/after/ftplugin/plist.vim
deleted file mode 100644
index 6cd1c0a..0000000
--- a/vim/after/ftplugin/plist.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" after/ftplugin/plist.vim
-" Eryn Wells
-
-setlocal ts=8 sw=8 sts=8 noet
-setlocal list
diff --git a/vim/bundle/.gitignore b/vim/bundle/.gitignore
new file mode 100644
index 0000000..355164c
--- /dev/null
+++ b/vim/bundle/.gitignore
@@ -0,0 +1 @@
+*/
diff --git a/vim/bundle/apple-swift/ftdetect/sil.vim b/vim/bundle/apple-swift/ftdetect/sil.vim
new file mode 100644
index 0000000..3d856ed
--- /dev/null
+++ b/vim/bundle/apple-swift/ftdetect/sil.vim
@@ -0,0 +1 @@
+au BufNewFile,BufRead *.sil set ft=sil
diff --git a/vim/bundle/apple-swift/ftdetect/swift.vim b/vim/bundle/apple-swift/ftdetect/swift.vim
new file mode 100644
index 0000000..c9dc512
--- /dev/null
+++ b/vim/bundle/apple-swift/ftdetect/swift.vim
@@ -0,0 +1 @@
+au BufNewFile,BufRead *.swift set ft=swift
diff --git a/vim/bundle/apple-swift/ftdetect/swiftgyb.vim b/vim/bundle/apple-swift/ftdetect/swiftgyb.vim
new file mode 100644
index 0000000..fc8919f
--- /dev/null
+++ b/vim/bundle/apple-swift/ftdetect/swiftgyb.vim
@@ -0,0 +1,2 @@
+au BufNewFile,BufRead *.swift.gyb set ft=swiftgyb
+
diff --git a/vim/bundle/apple-swift/ftplugin/swift.vim b/vim/bundle/apple-swift/ftplugin/swift.vim
new file mode 100644
index 0000000..acbb283
--- /dev/null
+++ b/vim/bundle/apple-swift/ftplugin/swift.vim
@@ -0,0 +1,5 @@
+setlocal comments=s1:/*,mb:*,ex:*/,:///,://
+setlocal expandtab
+setlocal ts=2
+setlocal sw=2
+setlocal smartindent
diff --git a/vim/bundle/apple-swift/ftplugin/swiftgyb.vim b/vim/bundle/apple-swift/ftplugin/swiftgyb.vim
new file mode 100644
index 0000000..2785702
--- /dev/null
+++ b/vim/bundle/apple-swift/ftplugin/swiftgyb.vim
@@ -0,0 +1 @@
+runtime! ftplugin/swift.vim
diff --git a/vim/bundle/apple-swift/syntax/sil.vim b/vim/bundle/apple-swift/syntax/sil.vim
new file mode 100644
index 0000000..7474292
--- /dev/null
+++ b/vim/bundle/apple-swift/syntax/sil.vim
@@ -0,0 +1,93 @@
+" Vim syntax file
+" Language: sil
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syn keyword swiftImport import skipwhite nextgroup=swiftImportModule
+syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+
+syn match swiftLineComment /^#!.*/
+syn match swiftTypeName /\<[A-Z][a-zA-Z_0-9]*\>/
+syn match swiftDecimal /\<[-]\?[0-9]\+\>/
+syn match swiftDecimal /\<[-+]\?[0-9]\+\>/
+
+syn match swiftTypeName /\$\*\<\?[A-Z][a-zA-Z0-9_]*\>/
+syn match swiftVarName /%\<[A-z[a-z_0-9]\+\(#[0-9]\+\)\?\>/
+
+syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while skipwhite
+
+syn keyword swiftKeyword sil internal thunk skipwhite
+syn keyword swiftKeyword public hidden private shared public_external hidden_external skipwhite
+syn keyword swiftKeyword getter setter allocator initializer enumelt destroyer globalaccessor objc skipwhite
+syn keyword swiftKeyword alloc_stack alloc_ref alloc_ref_dynamic alloc_box dealloc_stack dealloc_box dealloc_ref skipwhite
+syn keyword swiftKeyword debug_value debug_value_addr skipwhite
+syn keyword swiftKeyword load store assign mark_uninitialized mark_function_escape copy_addr destroy_addr index_addr index_raw_pointer to skipwhite
+syn keyword swiftKeyword strong_retain strong_retain_autoreleased strong_release strong_retain_unowned ref_to_unowned unowned_to_ref unowned_retain unowned_release load_weak store_weak fix_lifetime skipwhite
+syn keyword swiftKeyword function_ref integer_literal float_literal string_literal global_addr skipwhite
+syn keyword swiftKeyword class_method super_method witness_method dynamic_method skipwhite
+syn keyword swiftKeyword apply partial_apply builtin skipwhite
+syn keyword swiftKeyword metatype value_metatype existential_metatype skipwhite
+syn keyword swiftKeyword retain_value release_value tuple tuple_extract tuple_element_addr struct struct_extract struct_element_addr ref_element_addr skipwhite
+syn keyword swiftKeyword init_enum_data_addr unchecked_enum_data unchecked_take_enum_data_addr inject_enum_addr skipwhite
+syn keyword swiftKeyword init_existential_addr deinit_existential_addr open_existential_addr init_existential_ref open_existential_ref skipwhite
+syn keyword swiftKeyword upcast address_to_pointer pointer_to_address unchecked_addr_cast unchecked_ref_cast ref_to_raw_pointer raw_pointer_to_ref convert_function thick_to_objc_metatype objc_to_thick_metatype thin_to_thick_function is_nonnull unchecked_ref_bit_cast unchecked_trivial_bit_cast skipwhite
+syn keyword swiftKeyword unconditional_checked_cast skipwhite
+syn keyword swiftKeyword cond_fail skipwhite
+syn keyword swiftKeyword unreachable return autorelease_return br cond_br switch_value select_value switch_enum switch_enum_addr dynamic_method_br checked_cast_br skipwhite
+syn keyword swiftKeyword project_block_storage init_block_storage_header copy_block skipwhite
+
+syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName
+syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName
+syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters
+
+syn region swiftTypeParameters start="<" end=">" skipwhite contained
+
+syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator
+syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator
+syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters
+syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters
+
+syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName
+syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName
+syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained
+
+syn keyword swiftDefinitionModifier static
+
+syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/
+
+hi def link swiftImport Include
+hi def link swiftImportModule Title
+hi def link swiftImportComponent Identifier
+hi def link swiftKeyword Statement
+hi def link swiftTypeDefinition Define
+hi def link swiftTypeName Type
+hi def link swiftTypeParameters Special
+hi def link swiftTypeAttributes PreProc
+hi def link swiftFuncDefinition Define
+hi def link swiftDefinitionModifier Define
+hi def link swiftFuncName Function
+hi def link swiftFuncAttributes PreProc
+hi def link swiftFuncKeyword Function
+hi def link swiftVarDefinition Define
+hi def link swiftVarName Identifier
+hi def link swiftImplicitVarName Identifier
+hi def link swiftIdentifierKeyword Identifier
+hi def link swiftTypeDeclaration Delimiter
+hi def link swiftBoolean Boolean
+hi def link swiftString String
+hi def link swiftInterpolation Special
+hi def link swiftComment Comment
+hi def link swiftLineComment Comment
+hi def link swiftDecimal Number
+hi def link swiftHex Number
+hi def link swiftOct Number
+hi def link swiftBin Number
+hi def link swiftOperator Function
+hi def link swiftChar Character
+hi def link swiftLabel Label
+hi def link swiftNew Operator
+
+let b:current_syntax = "sil"
diff --git a/vim/bundle/apple-swift/syntax/swift.vim b/vim/bundle/apple-swift/syntax/swift.vim
new file mode 100644
index 0000000..407aed1
--- /dev/null
+++ b/vim/bundle/apple-swift/syntax/swift.vim
@@ -0,0 +1,105 @@
+" Vim syntax file
+" Language: swift
+" Maintainer: Joe Groff
+" Last Change: 2013 Feb 2
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syn keyword swiftImport import skipwhite nextgroup=swiftImportModule
+
+syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent
+
+syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while public internal private mutating nonmutating var let typealias protocol extension skipwhite
+
+syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName
+syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName
+syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters
+
+syn region swiftTypeParameters start="<" end=">" skipwhite contained
+
+syn keyword swiftMutating mutating skipwhite nextgroup=swiftFuncDefinition
+syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator
+syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator
+syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters
+syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters
+
+syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName
+syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName
+syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained
+
+syn keyword swiftDefinitionModifier static public internal private
+
+syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/
+
+syn match swiftTypeDeclaration /:/ nextgroup=swiftTypeAttributes,swiftTypeName skipwhite
+syn match swiftTypeDeclaration /->/ nextgroup=swiftTypeAttributes,swiftTypeName skipwhite
+
+syn keyword swiftIdentifierKeyword metatype super self Self
+
+syn keyword swiftNew new skipwhite nextgroup=swiftTypeName
+
+syn keyword swiftBoolean true false
+
+syn region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftInterpolation
+syn region swiftInterpolation start=/\\(/ end=/)/ contained
+syn region swiftComment start="/\*" end="\*/" contains=swiftComment,swiftLineComment,swiftTodo
+syn region swiftLineComment start="//" end="$" contains=swiftComment,swiftTodo
+
+syn match swiftDecimal /[+\-]\?\<\([0-9][0-9_]*\)\([.][0-9_]*\)\?\([eE][+\-]\?[0-9][0-9_]*\)\?\>/
+syn match swiftHex /[+\-]\?\<0x[0-9A-Fa-f][0-9A-Fa-f_]*\(\([.][0-9A-Fa-f_]*\)\?[pP][+\-]\?[0-9][0-9_]*\)\?\>/
+syn match swiftOct /[+\-]\?\<0o[0-7][0-7_]*\>/
+syn match swiftBin /[+\-]\?\<0b[01][01_]*\>/
+
+syn match swiftOperator +\.\@!&|^~]\@!&|^~]*\|*/\@![/=\-+*%<>!&|^~]*\|->\@![/=\-+*%<>!&|^~]*\|[=+%<>!&|^~][/=\-+*%<>!&|^~]*\)+ skipwhite nextgroup=swiftTypeParameters
+syn match swiftOperator "\.\.[<.]" skipwhite nextgroup=swiftTypeParameters
+
+syn match swiftChar /'\([^'\\]\|\\\(["'tnr0\\]\|x[0-9a-fA-F]\{2}\|u[0-9a-fA-F]\{4}\|U[0-9a-fA-F]\{8}\)\)'/
+
+syn match swiftLabel /\(\\|\\):\@=/
+
+syn match swiftPreproc /^#\\|^#\/
+
+syn match swiftAttribute /@\<\w\+\>/ skipwhite
+
+syn keyword swiftTodo TODO FIXME contained
+
+hi def link swiftImport Include
+hi def link swiftImportModule Title
+hi def link swiftImportComponent Identifier
+hi def link swiftKeyword Statement
+hi def link swiftTypeDefinition Define
+hi def link swiftTypeName Type
+hi def link swiftTypeParameters Special
+hi def link swiftTypeAttributes PreProc
+hi def link swiftFuncDefinition Define
+hi def link swiftDefinitionModifier Define
+hi def link swiftFuncName Function
+hi def link swiftFuncAttributes PreProc
+hi def link swiftFuncKeyword Function
+hi def link swiftVarDefinition Define
+hi def link swiftVarName Identifier
+hi def link swiftImplicitVarName Identifier
+hi def link swiftIdentifierKeyword Identifier
+hi def link swiftTypeDeclaration Delimiter
+hi def link swiftBoolean Boolean
+hi def link swiftString String
+hi def link swiftInterpolation Special
+hi def link swiftComment Comment
+hi def link swiftLineComment Comment
+hi def link swiftDecimal Number
+hi def link swiftHex Number
+hi def link swiftOct Number
+hi def link swiftBin Number
+hi def link swiftOperator Function
+hi def link swiftChar Character
+hi def link swiftLabel Label
+hi def link swiftNew Operator
+hi def link swiftMutating Statement
+hi def link swiftPreproc PreCondit
+hi def link swiftAttribute Type
+hi def link swiftTodo Todo
+
+let b:current_syntax = "swift"
diff --git a/vim/bundle/apple-swift/syntax/swiftgyb.vim b/vim/bundle/apple-swift/syntax/swiftgyb.vim
new file mode 100644
index 0000000..44e925b
--- /dev/null
+++ b/vim/bundle/apple-swift/syntax/swiftgyb.vim
@@ -0,0 +1,14 @@
+" Vim syntax file
+" Language: gyb on swift
+
+runtime! syntax/swift.vim
+unlet b:current_syntax
+
+syn include @Python syntax/python.vim
+syn region pythonCode matchgroup=gybPythonCode start=+^ *%+ end=+$+ contains=@Python keepend
+syn region pythonCode matchgroup=gybPythonCode start=+%{+ end=+}%+ contains=@Python keepend
+syn match gybPythonCode /\${[^}]*}/
+hi def link gybPythonCode CursorLineNr
+
+let b:current_syntax = "swiftgyb"
+
diff --git a/vim/colors/witchhazel.vim b/vim/colors/witchhazel.vim
deleted file mode 100644
index 8431dc9..0000000
--- a/vim/colors/witchhazel.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" VIM color file
-"
-" Note: Based on the Witch Hazel theme for Sublime Text
-" https://github.com/theacodes/witchhazel
-
-hi clear
-set background=dark
-if version > 580
- if exists("syntax_on")
- syntax reset
- endif
-endif
-
-let s:lightgrey = "#B0BEC5"
-let s:linen = "#F8F8F2"
-let s:mint = "#C2FFDF"
-let s:pink = "#FFB8D1"
-let s:brick = "#DC7070"
-let s:clay = "#A8757B"
-let s:rouge = "#960050"
-let s:turquoise = "#1BC5E0"
-let s:sunflower = "#FFF352"
-
-let s:lilac = "#CEB1FF"
-let s:darklilac = "#C5A3FF"
-let s:amethyst = "#716799"
-let s:purps = "#433E56"
-let s:shadow = "#3B364E"
-let s:midnight = "#1e0010"
-
-
-" Sets the highlighting for the given group
-fun X(group, fg, bg, attr)
- if a:fg != ""
- exec "hi " . a:group . " guifg=" . a:fg
- endif
- if a:bg != ""
- exec "hi " . a:group . " guibg=" . a:bg
- endif
- if a:attr != ""
- exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
- endif
-endfun
-
-"set t_Co=256
-let g:colors_name="witchhazel"
-call X("Normal", s:linen, s:purps, "")
-call X("NonText", s:lightgrey, "", "")
-
-call X("Character", s:darklilac, "", "")
-call X("Number", s:darklilac, "", "")
-call X("String", s:turquoise, "", "")
-call X("Constant", s:darklilac, "", "")
-
-call X("Comment", s:lightgrey, "", "")
-call X("Function", s:lilac, "", "")
-call X("Structure", s:lilac, "", "")
-call X("Define", s:lilac, "", "")
-call X("Identifier", s:linen, "", "")
-call X("Keyword", s:mint, "", "")
-call X("StorageClass", s:pink, "", "")
-call X("Statement", s:mint, "", "italic")
-call X("Conditional", s:mint, "", "")
-call X("Operator", s:pink, "", "")
-call X("Type", s:sunflower, "", "")
-call X("Special", s:sunflower, "", "")
-
-call X("Cursor", "", s:linen, "")
-call X("CursorLine", "", s:amethyst, "")
-call X("ColorColumn", "", s:shadow, "")
-call X("Search", s:linen, s:amethyst, "")
-call X("Visual", s:purps, s:amethyst, "")
-call X("Todo", s:brick, s:purps, "bold")
-call X("Error", s:rouge, s:midnight, "")
-
-call X("pythonSpaceError", "", s:clay, "")
-
-"hi def link pythonDecoratorName Define
-"hi link Conditional Keyword
-"hi link Repeat Keyword
-
-"hi link cType Keyword
-
diff --git a/vim/colors/witchhazel_hypercolor.vim b/vim/colors/witchhazel_hypercolor.vim
deleted file mode 100644
index 72780fa..0000000
--- a/vim/colors/witchhazel_hypercolor.vim
+++ /dev/null
@@ -1,83 +0,0 @@
-" VIM color file
-"
-" Note: Based on the Witch Hazel theme for Sublime Text
-" https://github.com/theacodes/witchhazel
-
-hi clear
-set background=dark
-if version > 580
- if exists("syntax_on")
- syntax reset
- endif
-endif
-
-let s:lightgrey = "#BFBFBF"
-let s:linen = "#F8F8F2"
-let s:mint = "#81FFBE"
-let s:pink = "#FFB8D1"
-let s:brick = "#DC7070"
-let s:clay = "#894E63"
-let s:rouge = "#960050"
-let s:turquoise = "#81EEFF"
-let s:sunflower = "#FFF352"
-
-let s:lilac = "#DCC8FF"
-let s:darklilac = "#C5A3FF"
-let s:amethyst = "#131218"
-let s:purps = "#282634"
-let s:shadow = "#3B364E"
-let s:midnight = "#1e0010"
-let s:other = "#FFF9A3"
-
-
-" Sets the highlighting for the given group
-fun X(group, fg, bg, attr)
- if a:fg != ""
- exec "hi " . a:group . " guifg=" . a:fg
- endif
- if a:bg != ""
- exec "hi " . a:group . " guibg=" . a:bg
- endif
- if a:attr != ""
- exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
- endif
-endfun
-
-"set t_Co=256
-let g:colors_name="witchhazel"
-call X("Normal", s:linen, s:purps, "")
-call X("NonText", s:lightgrey, "", "")
-
-call X("Character", s:other, "", "")
-call X("Number", s:darklilac, "", "")
-call X("String", s:turquoise, "", "italic")
-call X("Constant", s:other, "", "")
-
-call X("Comment", s:lightgrey, "", "")
-call X("Function", s:lilac, "", "")
-call X("Structure", s:lilac, "", "")
-call X("Define", s:lilac, "", "")
-call X("Identifier", s:linen, "", "")
-call X("Keyword", s:mint, "", "")
-call X("StorageClass", s:pink, "", "")
-call X("Statement", s:mint, "", "italic")
-call X("Conditional", s:mint, "", "")
-call X("Operator", s:pink, "", "")
-call X("Type", s:sunflower, "", "")
-call X("Special", s:sunflower, "", "")
-
-call X("Cursor", "", s:linen, "")
-call X("CursorLine", "", s:amethyst, "")
-call X("ColorColumn", "", s:shadow, "")
-call X("Search", s:linen, s:amethyst, "")
-call X("Visual", s:purps, s:amethyst, "")
-call X("Todo", s:brick, s:purps, "bold")
-call X("Error", s:rouge, s:midnight, "")
-
-call X("pythonSpaceError", "", s:clay, "")
-
-"hi def link pythonDecoratorName Define
-"hi link Conditional Keyword
-"hi link Repeat Keyword
-
-"hi link cType Keyword
diff --git a/vim/plugins.vim b/vim/plugins.vim
deleted file mode 100644
index 9478c60..0000000
--- a/vim/plugins.vim
+++ /dev/null
@@ -1,49 +0,0 @@
-" Eryn Wells
-
-" Set up Vim and Neovim plugins with vim-plug.
-" See setup.sh in my dotfiles repo for the setup procedure.
-
-call plug#begin()
-
-" Filetypes
-Plug 'keith/swift.vim'
-Plug 'othree/html5.vim'
-Plug 'pangloss/vim-javascript'
-Plug 'rust-lang/rust.vim'
-Plug 'fatih/vim-go', { 'tag': 'v1.28' }
-
-" Editing helpers
-Plug 'airblade/vim-gitgutter'
-Plug 'tpope/vim-repeat'
-Plug 'tpope/vim-speeddating'
-Plug 'tpope/vim-surround'
-Plug 'tpope/vim-unimpaired'
-Plug 'tpope/vim-commentary'
-Plug 'tpope/vim-fugitive'
-Plug 'PeterRincker/vim-argumentative'
-
-" Environment niceties
-Plug 'scrooloose/nerdtree'
-
-" Snippets
-Plug 'SirVer/ultisnips'
-Plug 'honza/vim-snippets'
-
-if has('nvim')
- " Telescope
- Plug 'nvim-lua/plenary.nvim'
- Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.8' }
-
- " Language servers
- Plug 'neovim/nvim-lspconfig'
- Plug 'hrsh7th/cmp-nvim-lsp'
- Plug 'hrsh7th/cmp-nvim-lsp'
- Plug 'hrsh7th/cmp-buffer'
- Plug 'hrsh7th/cmp-path'
- Plug 'hrsh7th/cmp-cmdline'
- Plug 'hrsh7th/nvim-cmp'
- Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
- Plug 'p00f/clangd_extensions.nvim'
-endif
-
-call plug#end()
diff --git a/vimrc b/vimrc
index a0d2aea..ee00498 100644
--- a/vimrc
+++ b/vimrc
@@ -1,27 +1,403 @@
" ~/.vimrc
" Eryn Wells
-source ~/.vimrc.common
+" Set the location of my vim directory.
+let $VIM = $HOME."/.vim"
+" Set this first for Vundle
+set nocompatible " use enhanced vim features
+filetype off " Needs to be off for Vundle to work (?)
+
+let g:python_host_prog=$HOME.'/.virtualenvs/neovim/bin/python'
+let g:python3_host_prog=$HOME.'/.virtualenvs/neovim/bin/python3'
+
+"
+" VUNDLE PLUGINS
+"
+
+set rtp+=$VIM/bundle/Vundle.vim
+call vundle#begin()
+
+Plugin 'gmarik/Vundle.vim'
+
+" Filetypes
+Plugin 'keith/swift.vim'
+Plugin 'othree/html5.vim'
+
+" Editing helpers
+Plugin 'tpope/vim-repeat'
+Plugin 'tpope/vim-speeddating'
+Plugin 'tpope/vim-surround'
+Plugin 'tpope/vim-unimpaired'
+Plugin 'tpope/vim-commentary'
+Plugin 'PeterRincker/vim-argumentative'
+
+Plugin 'sjl/gundo.vim' " Undo helper
+Plugin 'scrooloose/nerdtree'
+Plugin 'wincent/command-t'
+
+"Plugin 'erynofwales/vim-fancyfolds'
+Plugin 'apple-swift', {'pinned': 1}
+Plugin 'rust-lang/rust.vim'
+
+" Colors~
+Plugin 'tomasr/molokai'
+
+" Snippets
+Plugin 'MarcWeber/vim-addon-mw-utils'
+Plugin 'tomtom/tlib_vim'
+Plugin 'garbas/vim-snipmate'
+Plugin 'honza/vim-snippets'
+
+call vundle#end()
+
+"
+" CONFIG OPTIONS
+"
+
+set autoread " reread files changed outside of vim
+set noautowrite " don't write files before commands like :next and :make
+
+set ffs=unix,dos,mac " order of line ending formats to try
+
+set hidden " allow hidden buffers (rather than closing them)
+set splitright " Open vertical splits to the right of the current window
+set splitbelow " Open horizontal splits below the current window
+
+set number " show line numbers
+set ruler " show ruler (line and col count)
+set showmode " show mode
+set showcmd " show last command
+set title " change terminal title
+set visualbell " don't beep
+set noerrorbells " PLEASE don't beep
+set ttyfast " fast terminals
+
+set wrap " wrap long lines
+set linebreak " break at between words
+set textwidth=120 " wrap at 120 characters
+set colorcolumn=80,89,120
+ " highlight these columns
+set showmatch " show matching things: (), {}, [], etc
+
+set fo+=n " format numbered lists properly
+
+set nolist
+set lcs+=tab:▸\ " show tabs
+set lcs+=eol:¬ " show end-of-lines
+set lcs+=trail:・ " show trailing spaces
+set lcs+=extends:→ " show long lines (that go offscreen)
+set lcs+=nbsp:・ " show non-breaking spaces
+
+set ignorecase " ignore case in searches
+set smartcase " case-sensitive search if pattern contains a capital
+set incsearch " show search matches as you type
+set gdefault " apply searches globally to a line by default
+
+set laststatus=2 " always show status line
+
+" This is basically default status line, with a few exceptions:
+" 1. Show buffer number before filename (%n:)
+" 2. Show filetype after file name
+set statusline=%2n:%<%f\ %((%Y)%)\ %(%h%m%r%)%=%-12(%l,%c%V%)%P
+
+set spelllang=en " set spelling language
+set spellfile=$VIM/spelling.en.add
+
+set noswapfile " don't keep swap files
+set nobackup " don't keep backup files
+set backupdir=$VIM/backup
+ " save backup files here
+set undofile " save undo history
+set undodir=$VIM/undo " save undo files here
+set history=1000 " remember 1000 commands in history
+set undolevels=1000 " keep lots of undo history
if !has('nvim')
- set nocompatible " use enhanced vim features
-
- let s:localdir=expand("~/.local/state/vim")
- if !isdirectory(s:localdir)
- call mkdir(s:localdir, "p")
- endif
-
- let &backupdir=expand(s:localdir . "/backup//" . ",.")
- let &undodir=expand(s:localdir . "/undo//")
- let &viminfofile=expand(s:localdir . "/viminfo")
-
- " Shada data. Parameters as follows: (see :help shada)
- " % number of buffers to save and restore when no file argument is given
- " ' maximum number of previously edited files for which marks are remembered
- " h disable highlighted search patterns on start
- " / omitted, so all search history is saved
- " < maximum number of lines saved for each register
- " : maximum number of lines of command history to save
- " s shada entries over 100 KiB are skipped
- set viminfo=%100,'100,h,<1000,:100,s100
+ set viminfo=%100,'100,/100,h,\"500,:100,n$VIM/.viminfo
+else
+ set viminfo=%100,'100,/100,h,\"500,:100,n$VIM/.nviminfo
+endif
+ " I have *NO* idea what this does...
+
+set backspace=indent,eol,start
+ " backspace over everything in insert mode
+
+set tabstop=8 " tabs are always 8 spaces
+set shiftwidth=4 " shift lines 4 spaces with >> and <<
+set softtabstop=4 " tab key inserts 4 spaces
+set shiftround " round off indent to multiple of shiftwidth
+set expandtab " always use spaces
+set nojoinspaces " insert 1 space instead of 2 after punctuation on line
+ " join
+set autoindent " always use autoindenting
+set copyindent " copy previous indentation on autoindent
+
+set scrolloff=3 " scroll 3 lines ahead of point
+set sidescrolloff=5 " scroll 5 columns ahead of point
+
+set pastetoggle= " toggle paste mode with this
+
+" completion menu
+set wildmenu
+set wildmode=longest,list
+
+" Wild ignores
+" build artifacts
+set wildignore+=*.o,*.pyc,*~,.lo,*.class
+set wildignore+=*.db,*.pdf,*.jpg,*.jpeg,*.png,*.gif
+set wildignore+=.git,env,migrations
+
+if has('mouse')
+ set mouse=a
+endif
+
+set modeline
+set modelines=12
+
+" Add my generated system tags files
+set tags=./tags,tags
+" These two are the important ones
+set tags+=~/.tags/apple_frameworks.tags
+set tags+=~/.tags/usr.tags
+"set tags+=~/.tags/3rdparty_frameworks.tags
+" This thing is 853 MB on my last count. It *probably* doesn't need to be
+" included all the time...
+"set tags+=~/.tags/usr_local.tags
+
+if $TERM_PROGRAM ==# "Apple_Terminal"
+ set title
+ " Apple Terminal lets you set the current document with this escape.
+ set t_ts=]6;
+ " Alarm character.
+ set t_fs=
+ " Write out the full path to the current file in the title string.
+ set titlestring=file://%{expand('%:p')}
+endif
+
+" use syntax highlighting if the terminal can support it (or we're in a GUI)
+if &t_Co > 2 || has('gui_running')
+ syntax on " turn on syntax highlighting
+endif
+
+" Dark backgrounds are the only way to travel
+set bg=dark
+
+try
+ colorscheme tomorrow_night
+endtry
+
+let g:snipMate = { 'snippet_version': 1 }
+" tell SnipMate who I am
+let g:snips_author = 'Eryn Wells '
+" Set up some snippet scope aliases
+let g:snipMate.scope_aliases = {}
+let g:snipMate.scope_aliases["java"] = "android"
+
+" set the Gundo preview window on the bottom
+let g:gundo_preview_bottom = 1
+
+"
+" PATHS
+"
+
+set path=.,,/usr/local/include,/usr/include
+
+if has('mac')
+ let g:xcode_path = system('xcode-select -p')
+ let s:clang_library_path = g:xcode_path . 'Toolchains/XcodeDefault.xctoolchain/usr/lib'
+ if isdirectory(s:clang_library_path)
+ let g:clang_library_path = s:clang_library_path
+ endif
+endif
+
+"
+" Mappings
+"
+
+noremap :NERDTreeToggle
+noremap :GundoToggle
+noremap :setlocal invlist
+
+inoremap kj
+
+" allow starting commands with ; instead of :
+nnoremap ; :
+
+" tab to skip between braces and such in normal
+"nnoremap %
+"vnoremap %
+
+" use PCREs for searches
+nnoremap / /\v
+vnoremap / /\v
+
+" disable the help key!
+noremap
+
+" make switching windows easier
+nnoremap h
+nnoremap j
+nnoremap k
+nnoremap l
+
+" Usual EMACS (oh the horror!) begin-line and end-line keys for first and last
+" buffer.
+"nnoremap :bfirst
+"nnoremap :blast
+" Move between buffers with and
+nnoremap :bn
+nnoremap :bp
+
+
+function! strip_trailing_whitespace()
+ " save last search
+ let _s=@/
+ " save cursor position
+ let l = line('.')
+ let c = col('.')
+ " do the clean up
+ %s/\s\+$//e
+ " restore saved stuff
+ let @/=_s
+ call cursor(l, c)
+endfunction
+
+
+function! SelectaCommand(choice_command, selecta_args, vim_command)
+ try
+ silent let selection = system(a:choice_command . " | selecta " . a:selecta_args)
+ catch /Vim:Interrupt/
+ " Swallow ^C so the redraw below happens; otherwise there will be
+ " leftovers of selecta on screen.
+ redraw!
+ return
+ endtry
+ redraw!
+ exec a:vim_command . " " . selection
+endfunction
+
+
+" Key Mappings {{{
+let mapleader=','
+
+" hide search terms
+nnoremap :setlocal invhlsearch
+" find all
+nnoremap fa :%s/\v
+
+" strip all trailing whitespace in the current file
+nnoremap W :call strip_trailing_whitespace()
+
+" Source .vimrc
+nnoremap sv :source $MYVIMRC
+
+" Edit my .vimrc
+nnoremap ev :split $MYVIMRC
+" Edit the snippet file for the current filetype
+nnoremap es :e ~/.vim/bundle/snipmate-snippets/snippets/=&filetype.snippets
+" Edit the ftplugin-after script for the current filetype
+nnoremap ef :e ~/.vim/after/ftplugin/=&filetype.vim
+
+" hide search terms
+nnoremap :setlocal invhlsearch
+" find all
+nnoremap fa :%s/\v
+
+nnoremap f :call SelectaCommand("find * -type f", "", ":e")
+
+nnoremap cl :setlocal invcursorline
+nnoremap cc :setlocal invcursorcolumn
+
+" Text bubbling (these depend on tpope's unimpaired plugin)
+nnoremap [e
+nnoremap ]e
+vnoremap [egv
+vnoremap ]egv
+
+" Select last edited text after cut and paste
+nnoremap gV `[v`]
+
+" }}}
+
+
+" Command-T should open files in tabs when I hit ; move opening files in
+" buffers to
+"let g:CommandTAcceptSelectionMap=''
+"let g:CommandTAcceptSelectionTabMap=''
+
+" GitGutter shows changed lines in files.
+"let g:gitgutter_enabled = 0
+"highlight clear SignColumn
+"nnoremap gg :ToggleGitGutter
+
+" Don't underline folded lines
+highlight Folded cterm=bold term=bold ctermfg=NONE ctermbg=NONE
+
+" Line numbers are a touch darker...
+"highlight LineNr ctermfg=8 ctermbg=0
+
+" Don't underline the CursorLine in color terminals; use dark black.
+highlight CursorLine term=underline cterm=NONE ctermbg=0
+highlight CursorLineNr term=underline cterm=NONE ctermfg=7 ctermbg=0
+
+" Autocommands {{{
+if has('autocmd')
+ filetype plugin indent on
+
+ " Jump to last known cursor position unless it's the first line, or past the
+ " end of the file
+ augroup RestoreCursorPosition
+ autocmd!
+ autocmd BufReadPost *
+ \ if line("'\"") > 1 && line("'\"") <= line("$") |
+ \ exe "normal! g`\"" |
+ \ endif
+ augroup END
+
+ " Reload snippets after editing the snippets file. Snippet files are
+ " .snippets. Get from the filename and reload the
+ " snippets for that type.
+ "augroup ReloadSnippets
+ " autocmd!
+ " autocmd BufWritePost *.snippets :call ReloadSnippets(expand('%:t:r'))
+ "augroup END
+
+ " Clean whitespace before saving: Python, C, HTML, and Objective-C
+ augroup StripTrailingWhitespace
+ autocmd!
+ autocmd FileType python call strip_trailing_whitespace()
+ autocmd FileType c,cpp,objc,objcpp call strip_trailing_whitespace()
+ autocmd FileType html,css call strip_trailing_whitespace()
+ augroup END
+
+ " Indent wrapped long lines of code to leading indent
+ augroup WrapLongLinesWithProperIndentation
+ autocmd!
+ autocmd FileType python,c,cpp,objc,objcpp,html,css setlocal breakindent showbreak=\ \ \ \
+ augroup END
+
+ augroup SConsFileType
+ autocmd!
+ autocmd BufRead SCons{truct,cript} setf python
+ augroup END
+
+ " Toggle position highlighting
+ augroup HighlightCursorLineInNormalMode
+ autocmd!
+ autocmd BufEnter * setlocal cursorline
+ autocmd InsertEnter * setlocal nocursorline
+ autocmd InsertLeave * setlocal cursorline
+ augroup END
+
+ augroup XCodeProjectFileType
+ autocmd!
+ autocmd BufRead *.pbxproj setf xcodepbx
+ augroup END
+endif
+" }}}
+
+if has('unix')
+ if filereadable($HOME."/.vimrc.local")
+ source $HOME/.vimrc.local
+ endif
endif
diff --git a/vimrc.common b/vimrc.common
deleted file mode 100644
index fe87b5a..0000000
--- a/vimrc.common
+++ /dev/null
@@ -1,278 +0,0 @@
-" .vimrc.common
-" Eryn Wells
-
-" This file holds settings common to nvim and vim.
-
-"
-" CONFIG OPTIONS
-"
-
-set autoread " reread files changed outside of vim
-set noautowrite " don't write files before commands like :next and :make
-
-set ffs=unix,dos,mac " order of line ending formats to try
-
-set hidden " allow hidden buffers (rather than closing them)
-set splitright " Open vertical splits to the right of the current window
-set splitbelow " Open horizontal splits below the current window
-
-set number " show line numbers
-set ruler " show ruler (line and col count)
-set showmode " show mode
-set showcmd " show last command
-set visualbell " don't beep
-set noerrorbells " PLEASE don't beep
-set ttyfast " fast terminals
-
-set wrap " wrap long lines
-set linebreak " break at between words
-set textwidth=120 " wrap at 120 characters
-set colorcolumn=80,89,120
- " highlight these columns
-set showmatch " show matching things: (), {}, [], etc
-
-set fo+=n " format numbered lists properly
-
-set nolist
-set lcs+=tab:▸\ " show tabs
-set lcs+=eol:¬ " show end-of-lines
-set lcs+=trail:・ " show trailing spaces
-set lcs+=extends:→ " show long lines (that go offscreen)
-set lcs+=nbsp:・ " show non-breaking spaces
-
-set ignorecase " ignore case in searches
-set smartcase " case-sensitive search if pattern contains a capital
-set incsearch " show search matches as you type
-set gdefault " apply searches globally to a line by default
-
-set laststatus=2 " always show status line
-
-" This is basically default status line, with a few exceptions:
-" 1. Show buffer number before filename (%n:)
-" 2. Show filetype after file name
-set statusline=%2n:%<%f\ %((%Y)%)\ %(%h%m%r%)%=%-12(%l,%c%V%)%P
-
-set spelllang=en " set spelling language
-set spellfile=$VIM/spelling.en.add
-
-" Save swap, backup, and undo files. Each editor dictates where these will live.
-set swapfile
-set backup
-set undofile
-
-set history=1000 " remember 1000 commands in history
-set undolevels=1000 " keep lots of undo history
-
-set backspace=indent,eol,start
- " backspace over everything in insert mode
-
-set tabstop=8 " tabs are always 8 spaces
-set shiftwidth=4 " shift lines 4 spaces with >> and <<
-set softtabstop=4 " tab key inserts 4 spaces
-set shiftround " round off indent to multiple of shiftwidth
-set expandtab " always use spaces
-set nojoinspaces " insert 1 space instead of 2 after punctuation on line join
-set autoindent " always use autoindenting
-set copyindent " copy previous indentation on autoindent
-
-set scrolloff=3 " scroll 3 lines ahead of point
-set sidescrolloff=5 " scroll 5 columns ahead of point
-
-" completion menu
-set wildmenu
-set wildmode=longest,list
-
-" Wild ignores
-" build artifacts
-set wildignore+=*.o,*.pyc,*~,.lo,*.class
-set wildignore+=*.db,*.pdf,*.jpg,*.jpeg,*.png,*.gif
-set wildignore+=.git,env,migrations
-
-if has('mouse')
- set mouse=a
-endif
-
-set modeline
-set modelines=12
-
-" Add my generated system tags files
-set tags=./tags,tags
-" These two are the important ones
-set tags+=~/.tags/apple_frameworks.tags
-set tags+=~/.tags/usr.tags
-"set tags+=~/.tags/3rdparty_frameworks.tags
-" This thing is 853 MB on my last count. It *probably* doesn't need to be
-" included all the time...
-"set tags+=~/.tags/usr_local.tags
-
-set title
-
-" use syntax highlighting if the terminal can support it (or we're in a GUI)
-if &t_Co > 2 || has('gui_running')
- syntax on " turn on syntax highlighting
-endif
-
-let g:snipMate = { 'snippet_version': 1 }
-" tell SnipMate who I am
-let g:snips_author = 'Eryn Wells '
-" Set up some snippet scope aliases
-let g:snipMate.scope_aliases = {}
-let g:snipMate.scope_aliases["java"] = "android"
-
-if has('mac')
- let g:rust_clip_command = 'pbcopy'
-endif
-let g:rustfmt_autosave = 1
-
-"
-" Mappings
-"
-
-noremap :NERDTreeToggle
-noremap