diff --git a/Fortune/Makefile b/Fortune/Makefile index 9a1c213..859c115 100644 --- a/Fortune/Makefile +++ b/Fortune/Makefile @@ -1,16 +1,15 @@ +# Makefile +# Eryn Wells -STRFILE=strfile +STRFILE != which strfile +DATFILES := eryn.dat -DATFILES=eryn.dat +.SUFFIXES : .dat .txt -.PHONY: all clean +.txt.dat : + $(STRFILE) $(.IMPSRC) $(.TARGET) -%.dat: % - $(STRFILE) $^ $@ +all : $(DATFILES) -.PHONY: all -all: $(DATFILES) - -.PHONY: clean -clean: +clean : .PHONY rm -f $(DATFILES) diff --git a/Fortune/eryn b/Fortune/eryn.txt similarity index 100% rename from Fortune/eryn rename to Fortune/eryn.txt diff --git a/README.md b/README.md index 58c6084..ce5b5f6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ 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`. +My environment relies on `zsh`, `neovim`, and `git`. + ## Installation diff --git a/emacs b/emacs/init.el similarity index 100% rename from emacs rename to emacs/init.el diff --git a/gitconfig b/git/config similarity index 98% rename from gitconfig rename to git/config index 2294436..0c878ca 100644 --- a/gitconfig +++ b/git/config @@ -4,7 +4,6 @@ [core] editor = nvim quotepath = false - excludesfile = ~/.gitignore [color] ui = auto [alias] diff --git a/gitignore b/git/ignore similarity index 100% rename from gitignore rename to git/ignore diff --git a/muttrc b/mutt/muttrc similarity index 90% rename from muttrc rename to mutt/muttrc index 6ec822c..14e04f3 100644 --- a/muttrc +++ b/mutt/muttrc @@ -19,9 +19,9 @@ set timeout=300 set imap_keepalive=300 # Caching -set header_cache="~/.mutt/cache/headers" -set message_cachedir="~/.mutt/cache/bodies" -set certificate_file="~/.mutt/certificates" +set header_cache="~/.cache/mutt/headers" +set message_cachedir="~/.cache/mutt/bodies" +set certificate_file="~/.cache/mutt/certificates" set use_from=yes set envelope_from=yes @@ -50,14 +50,14 @@ hdr_order Date: From: To: Cc: Subject: # Aliases set reverse_alias=yes -set alias_file="~/.mutt/aliases" +set alias_file="~/.config/mutt/aliases" # Composing and Sending set edit_headers=yes set include=yes # HTML email :( -set mailcap_path="~/.mutt/mailcap" +set mailcap_path="~/.config/mutt/mailcap" auto_view text/html alternative_order text/html text/plain text/enriched @@ -116,4 +116,4 @@ color quoted1 color37 default color quoted2 color64 default # Solarized (light theme) colors -#source ~/.mutt/mutt-colors-solarized/mutt-colors-solarized-dark-256.muttrc +#source ~/.config/mutt/mutt-colors-solarized/mutt-colors-solarized-dark-256.muttrc diff --git a/config/nvim/UltiSnips/lua.snippets b/nvim/UltiSnips/lua.snippets similarity index 100% rename from config/nvim/UltiSnips/lua.snippets rename to nvim/UltiSnips/lua.snippets diff --git a/config/nvim/UltiSnips/python.snippets b/nvim/UltiSnips/python.snippets similarity index 100% rename from config/nvim/UltiSnips/python.snippets rename to nvim/UltiSnips/python.snippets diff --git a/config/nvim/UltiSnips/rust.snippets b/nvim/UltiSnips/rust.snippets similarity index 100% rename from config/nvim/UltiSnips/rust.snippets rename to nvim/UltiSnips/rust.snippets diff --git a/config/nvim/after/ftplugin/css.lua b/nvim/after/ftplugin/css.lua similarity index 100% rename from config/nvim/after/ftplugin/css.lua rename to nvim/after/ftplugin/css.lua diff --git a/config/nvim/after/ftplugin/gitcommit.vim b/nvim/after/ftplugin/gitcommit.vim similarity index 100% rename from config/nvim/after/ftplugin/gitcommit.vim rename to nvim/after/ftplugin/gitcommit.vim diff --git a/config/nvim/after/ftplugin/gohtmltmpl.lua b/nvim/after/ftplugin/gohtmltmpl.lua similarity index 100% rename from config/nvim/after/ftplugin/gohtmltmpl.lua rename to nvim/after/ftplugin/gohtmltmpl.lua diff --git a/config/nvim/after/ftplugin/html.lua b/nvim/after/ftplugin/html.lua similarity index 100% rename from config/nvim/after/ftplugin/html.lua rename to nvim/after/ftplugin/html.lua diff --git a/config/nvim/after/ftplugin/lua.lua b/nvim/after/ftplugin/lua.lua similarity index 100% rename from config/nvim/after/ftplugin/lua.lua rename to nvim/after/ftplugin/lua.lua diff --git a/config/nvim/after/ftplugin/python.lua b/nvim/after/ftplugin/python.lua similarity index 100% rename from config/nvim/after/ftplugin/python.lua rename to nvim/after/ftplugin/python.lua diff --git a/config/nvim/after/ftplugin/rust.lua b/nvim/after/ftplugin/rust.lua similarity index 100% rename from config/nvim/after/ftplugin/rust.lua rename to nvim/after/ftplugin/rust.lua diff --git a/config/nvim/after/ftplugin/text.vim b/nvim/after/ftplugin/text.vim similarity index 100% rename from config/nvim/after/ftplugin/text.vim rename to nvim/after/ftplugin/text.vim diff --git a/config/nvim/after/ftplugin/zsh.lua b/nvim/after/ftplugin/zsh.lua similarity index 100% rename from config/nvim/after/ftplugin/zsh.lua rename to nvim/after/ftplugin/zsh.lua diff --git a/config/nvim/after/plugin/gitgutter.lua b/nvim/after/plugin/gitgutter.lua similarity index 100% rename from config/nvim/after/plugin/gitgutter.lua rename to nvim/after/plugin/gitgutter.lua diff --git a/config/nvim/after/plugin/treesitter.lua b/nvim/after/plugin/treesitter.lua similarity index 68% rename from config/nvim/after/plugin/treesitter.lua rename to nvim/after/plugin/treesitter.lua index 4f9ee81..f1ebcef 100644 --- a/config/nvim/after/plugin/treesitter.lua +++ b/nvim/after/plugin/treesitter.lua @@ -1,6 +1,6 @@ -local treesitter_configs = require 'nvim-treesitter.configs' +local treesitter = require 'nvim-treesitter' -treesitter_configs.setup { +treesitter.setup { ensure_installed = { "lua", "vim" }, sync_install = true, auto_install = true, diff --git a/config/nvim/after/syntax/css.vim b/nvim/after/syntax/css.vim similarity index 100% rename from config/nvim/after/syntax/css.vim rename to nvim/after/syntax/css.vim diff --git a/config/nvim/ftdetect/gohtmltmpl.lua b/nvim/ftdetect/gohtmltmpl.lua similarity index 100% rename from config/nvim/ftdetect/gohtmltmpl.lua rename to nvim/ftdetect/gohtmltmpl.lua diff --git a/config/nvim/ftdetect/make.lua b/nvim/ftdetect/make.lua similarity index 100% rename from config/nvim/ftdetect/make.lua rename to nvim/ftdetect/make.lua diff --git a/config/nvim/ftdetect/zsh.lua b/nvim/ftdetect/zsh.lua similarity index 100% rename from config/nvim/ftdetect/zsh.lua rename to nvim/ftdetect/zsh.lua diff --git a/config/nvim/init.lua b/nvim/init.lua similarity index 100% rename from config/nvim/init.lua rename to nvim/init.lua diff --git a/config/nvim/lua/autocommands.lua b/nvim/lua/autocommands.lua similarity index 100% rename from config/nvim/lua/autocommands.lua rename to nvim/lua/autocommands.lua diff --git a/config/nvim/lua/colors.lua b/nvim/lua/colors.lua similarity index 100% rename from config/nvim/lua/colors.lua rename to nvim/lua/colors.lua diff --git a/config/nvim/lua/configuration.lua b/nvim/lua/configuration.lua similarity index 100% rename from config/nvim/lua/configuration.lua rename to nvim/lua/configuration.lua diff --git a/config/nvim/lua/diagnostics.lua b/nvim/lua/diagnostics.lua similarity index 100% rename from config/nvim/lua/diagnostics.lua rename to nvim/lua/diagnostics.lua diff --git a/config/nvim/lua/gui.lua b/nvim/lua/gui.lua similarity index 100% rename from config/nvim/lua/gui.lua rename to nvim/lua/gui.lua diff --git a/config/nvim/lua/keys.lua b/nvim/lua/keys.lua similarity index 100% rename from config/nvim/lua/keys.lua rename to nvim/lua/keys.lua diff --git a/config/nvim/lua/lsp.lua b/nvim/lua/lsp.lua similarity index 93% rename from config/nvim/lua/lsp.lua rename to nvim/lua/lsp.lua index 8c6f913..0a4277d 100644 --- a/config/nvim/lua/lsp.lua +++ b/nvim/lua/lsp.lua @@ -3,8 +3,6 @@ local clangd_extensions = require 'clangd_extensions' local cmp = require 'cmp' -local lspconfig = require 'lspconfig' - local keys = require 'keys' cmp.setup { @@ -60,7 +58,7 @@ local function on_attach(client, buffer_number) keys.init_lsp_key_mappings(buffer_number) end -lspconfig.clangd.setup { +vim.lsp.config("clangd", { on_attach = function(client, buffer_number) on_attach(client, buffer_number) @@ -69,24 +67,24 @@ lspconfig.clangd.setup { clangd_inlay_hints.set_inlay_hints() end, capabilities = cmp_capabilities, -} +}) -lspconfig.eslint.setup { +vim.lsp.config("eslint", { on_attach = on_attach, capabilities = cmp_capabilities, -} +}) -lspconfig.ts_ls.setup { +vim.lsp.config("ts_ls", { on_attach = on_attach, capabilities = cmp_capabilities, -} +}) -lspconfig.html.setup { +vim.lsp.config("html", { on_attach = on_attach, capabilities = cmp_capabilities, -} +}) -lspconfig.lua_ls.setup { +vim.lsp.config("lua_ls", { on_attach = on_attach, capabilities = cmp_capabilities, settings = { @@ -101,14 +99,14 @@ lspconfig.lua_ls.setup { }, }, }, -} +}) -lspconfig.pyright.setup { +vim.lsp.config("pyright", { on_attach = on_attach, capabilities = cmp_capabilities, -} +}) -lspconfig.rust_analyzer.setup { +vim.lsp.config("rust_analyzer", { on_attach = function(client, buffer_number) on_attach(client, buffer_number) end, @@ -139,4 +137,4 @@ lspconfig.rust_analyzer.setup { }, }, }, -} +}) diff --git a/config/nvim/lua/treesitter.lua b/nvim/lua/treesitter.lua similarity index 90% rename from config/nvim/lua/treesitter.lua rename to nvim/lua/treesitter.lua index 3c198f1..c9cb59f 100644 --- a/config/nvim/lua/treesitter.lua +++ b/nvim/lua/treesitter.lua @@ -1,7 +1,7 @@ -- Treesitter configuration -- Eryn Wells -local treesitter = require 'nvim-treesitter.configs' +local treesitter = require 'nvim-treesitter' -- For some reason the Lua linter complains about missing fields here even -- though they're not requried. So, ignore the error. diff --git a/config/nvim/syntax/gocsstmpl.vim b/nvim/syntax/gocsstmpl.vim similarity index 100% rename from config/nvim/syntax/gocsstmpl.vim rename to nvim/syntax/gocsstmpl.vim diff --git a/config/tmux/tmux.conf b/tmux/tmux.conf similarity index 100% rename from config/tmux/tmux.conf rename to tmux/tmux.conf diff --git a/zsh/func/init_zsh_functions b/zsh/func/init_zsh_functions deleted file mode 100644 index 5f53b8b..0000000 --- a/zsh/func/init_zsh_functions +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -autoload load_module - -local myfpath="$HOME/.zsh/func" - -for func in $myfpath/*; do - [[ ! -e "$func" || -d "$func" ]] && continue - - local functionName=`basename $func` - [[ "$functionName" =~ "prompt_*" ]] && continue - [[ "$functionName" =~ "init_*" ]] && continue - - autoload -Uz $functionName -done diff --git a/zsh/func/append_to_path b/zsh/functions/append_to_path similarity index 100% rename from zsh/func/append_to_path rename to zsh/functions/append_to_path diff --git a/zsh/func/binary_exists b/zsh/functions/binary_exists similarity index 100% rename from zsh/func/binary_exists rename to zsh/functions/binary_exists diff --git a/zsh/func/bool b/zsh/functions/bool similarity index 100% rename from zsh/func/bool rename to zsh/functions/bool diff --git a/zsh/func/connect_ssh_agent b/zsh/functions/connect_ssh_agent similarity index 100% rename from zsh/func/connect_ssh_agent rename to zsh/functions/connect_ssh_agent diff --git a/zsh/func/darwin-icloud-drive-path b/zsh/functions/darwin-icloud-drive-path similarity index 100% rename from zsh/func/darwin-icloud-drive-path rename to zsh/functions/darwin-icloud-drive-path diff --git a/zsh/func/darwin/darwin-hardware-model b/zsh/functions/darwin/darwin-hardware-model similarity index 100% rename from zsh/func/darwin/darwin-hardware-model rename to zsh/functions/darwin/darwin-hardware-model diff --git a/zsh/func/darwin/darwin-os-build b/zsh/functions/darwin/darwin-os-build similarity index 100% rename from zsh/func/darwin/darwin-os-build rename to zsh/functions/darwin/darwin-os-build diff --git a/zsh/func/darwin/darwin-os-version b/zsh/functions/darwin/darwin-os-version similarity index 100% rename from zsh/func/darwin/darwin-os-version rename to zsh/functions/darwin/darwin-os-version diff --git a/zsh/func/darwin_configure_screenshots_directory b/zsh/functions/darwin_configure_screenshots_directory similarity index 100% rename from zsh/func/darwin_configure_screenshots_directory rename to zsh/functions/darwin_configure_screenshots_directory diff --git a/zsh/func/darwin_init_once b/zsh/functions/darwin_init_once similarity index 100% rename from zsh/func/darwin_init_once rename to zsh/functions/darwin_init_once diff --git a/zsh/func/do_init_functions b/zsh/functions/do_init_functions similarity index 100% rename from zsh/func/do_init_functions rename to zsh/functions/do_init_functions diff --git a/zsh/func/finder b/zsh/functions/finder similarity index 100% rename from zsh/func/finder rename to zsh/functions/finder diff --git a/zsh/func/g b/zsh/functions/g similarity index 100% rename from zsh/func/g rename to zsh/functions/g diff --git a/zsh/func/homebrew-prefix b/zsh/functions/homebrew-prefix similarity index 100% rename from zsh/func/homebrew-prefix rename to zsh/functions/homebrew-prefix diff --git a/zsh/func/import_cacert b/zsh/functions/import_cacert similarity index 100% rename from zsh/func/import_cacert rename to zsh/functions/import_cacert diff --git a/zsh/func/init-env b/zsh/functions/init-env similarity index 100% rename from zsh/func/init-env rename to zsh/functions/init-env diff --git a/zsh/func/init-env-darwin b/zsh/functions/init-env-darwin similarity index 100% rename from zsh/func/init-env-darwin rename to zsh/functions/init-env-darwin diff --git a/zsh/functions/init-env-default-xdg-vars b/zsh/functions/init-env-default-xdg-vars new file mode 100644 index 0000000..c1f5d63 --- /dev/null +++ b/zsh/functions/init-env-default-xdg-vars @@ -0,0 +1,46 @@ +#!/usr/bin/env zsh +# Eryn Wells + +# See https://specifications.freedesktop.org/basedir/latest/ for definitions of +# these paths. + + +function init-env-default-xdg-vars +{ + zmodload zsh/zutil + + local -a opt_create + zparseopts -a opt_args -D -E -F - \ + {c,-create,-no-create}=opt_create + + # Base directories + export \ + XDG_BIN_HOME=${XDG_BIN_HOME:-$HOME/.local/bin} \ + XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache} \ + XDG_CONFIG_HOME=${XDG_CACHE_HOME:-$HOME/.config} \ + XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} \ + XDG_STATE_HOME=${XDG_DATA_HOME:-$HOME/.local/state} \ + XDG_RUNTIME_DIR=${XDG_DATA_HOME:-$HOME/.local/var} + + # User directories + export \ + XDG_DESKTOP_DIR=${XDG_DESKTOP_DIR:-$HOME/Desktop} \ + XDG_DOCUMENTS_DIR=${XDG_DOCUMENTS_DIR:-$HOME/Document} \ + XDG_DOWNLOAD_DIR=${XDG_DOWNLOAD_DIR:-$HOME/Downloads} \ + XDG_MUSIC_DIR=${XDG_MUSIC_DIR:-$HOME/Music} \ + XDG_PICTURES_DIR=${XDG_PICTURES_DIR:-$HOME/Pictures} \ + XDG_PUBLICSHARE_DIR=${XDG_PUBLICSHARE_DIR:-$HOME/Public} \ + XDG_VIDEOS_DIR=${XDG_VIDEOS_DIR:-$HOME/Video} + + if [[ $opt_create[(I)--no-create] -ne 0 ]]; then + mkdir -p -m 0700 \ + $XDG_BIN_HOME \ + $XDG_CACHE_HOME \ + $XDG_CONFIG_HOME \ + $XDG_DATA_HOME \ + $XDG_STATE_HOME + fi +} + + +init-env-default-xdg-vars "$@" diff --git a/zsh/func/init-env-path b/zsh/functions/init-env-path similarity index 100% rename from zsh/func/init-env-path rename to zsh/functions/init-env-path diff --git a/zsh/func/init-env-playdate b/zsh/functions/init-env-playdate similarity index 100% rename from zsh/func/init-env-playdate rename to zsh/functions/init-env-playdate diff --git a/zsh/func/init-env-python b/zsh/functions/init-env-python similarity index 100% rename from zsh/func/init-env-python rename to zsh/functions/init-env-python diff --git a/zsh/func/init-env-tilde-paths b/zsh/functions/init-env-tilde-paths similarity index 92% rename from zsh/func/init-env-tilde-paths rename to zsh/functions/init-env-tilde-paths index d6af187..70acbd3 100644 --- a/zsh/func/init-env-tilde-paths +++ b/zsh/functions/init-env-tilde-paths @@ -16,7 +16,7 @@ function init-env-tilde-paths break done - export df=~/.dotfiles + export df="$DOTFILES_HOME" } init-env-tilde-paths "$@" diff --git a/zsh/func/init-env-vi b/zsh/functions/init-env-vi similarity index 100% rename from zsh/func/init-env-vi rename to zsh/functions/init-env-vi diff --git a/zsh/func/init-rc-aliases b/zsh/functions/init-rc-aliases similarity index 100% rename from zsh/func/init-rc-aliases rename to zsh/functions/init-rc-aliases diff --git a/zsh/func/init-rc-app-environments b/zsh/functions/init-rc-app-environments similarity index 100% rename from zsh/func/init-rc-app-environments rename to zsh/functions/init-rc-app-environments diff --git a/zsh/func/init-rc-completion b/zsh/functions/init-rc-completion similarity index 100% rename from zsh/func/init-rc-completion rename to zsh/functions/init-rc-completion diff --git a/zsh/func/init-rc-darwin b/zsh/functions/init-rc-darwin similarity index 100% rename from zsh/func/init-rc-darwin rename to zsh/functions/init-rc-darwin diff --git a/zsh/func/init-rc-linux b/zsh/functions/init-rc-linux similarity index 100% rename from zsh/func/init-rc-linux rename to zsh/functions/init-rc-linux diff --git a/zsh/func/init-rc-ls b/zsh/functions/init-rc-ls similarity index 100% rename from zsh/func/init-rc-ls rename to zsh/functions/init-rc-ls diff --git a/zsh/func/init-rc-prompt b/zsh/functions/init-rc-prompt similarity index 100% rename from zsh/func/init-rc-prompt rename to zsh/functions/init-rc-prompt diff --git a/zsh/func/init-rc-zle b/zsh/functions/init-rc-zle similarity index 100% rename from zsh/func/init-rc-zle rename to zsh/functions/init-rc-zle diff --git a/zsh/func/init-rc-zsh-history b/zsh/functions/init-rc-zsh-history similarity index 100% rename from zsh/func/init-rc-zsh-history rename to zsh/functions/init-rc-zsh-history diff --git a/zsh/func/init-rc-zsh-options b/zsh/functions/init-rc-zsh-options similarity index 100% rename from zsh/func/init-rc-zsh-options rename to zsh/functions/init-rc-zsh-options diff --git a/zsh/func/init_profile_darwin b/zsh/functions/init_profile_darwin similarity index 100% rename from zsh/func/init_profile_darwin rename to zsh/functions/init_profile_darwin diff --git a/zsh/func/init_profile_darwin_say_hello b/zsh/functions/init_profile_darwin_say_hello similarity index 100% rename from zsh/func/init_profile_darwin_say_hello rename to zsh/functions/init_profile_darwin_say_hello diff --git a/zsh/func/init_rc_fpath_darwin b/zsh/functions/init_rc_fpath_darwin similarity index 100% rename from zsh/func/init_rc_fpath_darwin rename to zsh/functions/init_rc_fpath_darwin diff --git a/zsh/func/init_xcode b/zsh/functions/init_xcode similarity index 100% rename from zsh/func/init_xcode rename to zsh/functions/init_xcode diff --git a/zsh/func/list_tmux_sessions b/zsh/functions/list_tmux_sessions similarity index 100% rename from zsh/func/list_tmux_sessions rename to zsh/functions/list_tmux_sessions diff --git a/zsh/func/load_module b/zsh/functions/load_module similarity index 100% rename from zsh/func/load_module rename to zsh/functions/load_module diff --git a/zsh/func/neovim_init_once b/zsh/functions/neovim_init_once similarity index 100% rename from zsh/func/neovim_init_once rename to zsh/functions/neovim_init_once diff --git a/zsh/func/nethack b/zsh/functions/nethack similarity index 100% rename from zsh/func/nethack rename to zsh/functions/nethack diff --git a/zsh/func/open-xcode b/zsh/functions/open-xcode similarity index 100% rename from zsh/func/open-xcode rename to zsh/functions/open-xcode diff --git a/zsh/func/prepend_to_path b/zsh/functions/prepend_to_path similarity index 100% rename from zsh/func/prepend_to_path rename to zsh/functions/prepend_to_path diff --git a/zsh/func/prompt_colorize b/zsh/functions/prompt_colorize similarity index 100% rename from zsh/func/prompt_colorize rename to zsh/functions/prompt_colorize diff --git a/zsh/func/prompt_loquacious_setup b/zsh/functions/prompt_loquacious_setup similarity index 100% rename from zsh/func/prompt_loquacious_setup rename to zsh/functions/prompt_loquacious_setup diff --git a/zsh/func/refresh_system_tags b/zsh/functions/refresh_system_tags similarity index 100% rename from zsh/func/refresh_system_tags rename to zsh/functions/refresh_system_tags diff --git a/zsh/func/setup-cpython b/zsh/functions/setup-cpython similarity index 100% rename from zsh/func/setup-cpython rename to zsh/functions/setup-cpython diff --git a/zsh/func/setup_android b/zsh/functions/setup_android similarity index 100% rename from zsh/func/setup_android rename to zsh/functions/setup_android diff --git a/zsh/func/solarized b/zsh/functions/solarized similarity index 100% rename from zsh/func/solarized rename to zsh/functions/solarized diff --git a/zsh/func/up b/zsh/functions/up similarity index 100% rename from zsh/func/up rename to zsh/functions/up diff --git a/zsh/func/update-path b/zsh/functions/update-path similarity index 100% rename from zsh/func/update-path rename to zsh/functions/update-path diff --git a/zprofile b/zsh/zprofile similarity index 100% rename from zprofile rename to zsh/zprofile diff --git a/zshenv b/zsh/zshenv similarity index 62% rename from zshenv rename to zsh/zshenv index ead3559..452e17e 100644 --- a/zshenv +++ b/zsh/zshenv @@ -5,11 +5,27 @@ unsetopt GLOBAL_RCS export SYS=`uname -s | tr A-Z a-z` +function init-env-dotfiles-path +{ + local dotfiles_config="$HOME/.config/dotfiles/home" + if [[ -f "$dotfiles_config" ]]; then + export DOTFILES_HOME=$(cat "$dotfiles_config") + return + fi + + if [[ -f "$HOME/.dotfiles/setup.sh" ]]; then + export DOTFILES_HOME="$HOME/.dotfiles" + return + fi + + echo "WARNING: Couldn't find path to dotfiles" 1>&2 +} + function init-env-fpath { local -r fpath_candidates=( \ - "$HOME/.zsh/${SYS}-functions" \ - "$HOME/.zsh/func" \ + "$DOTFILES_HOME/zsh/${SYS}-functions" \ + "$DOTFILES_HOME/zsh/functions" \ ) # Process the array in reverse order (`Oa` means "descending index order", @@ -23,12 +39,14 @@ function init-env-fpath done } +init-env-dotfiles-path init-env-fpath autoload -Uz do_init_functions typeset -a zsh_init_env_functions=( \ init-env \ + init-env-default-xdg-vars \ init-env-path \ init-env-tilde-paths \ init-env-python \ diff --git a/zshrc b/zsh/zshrc similarity index 100% rename from zshrc rename to zsh/zshrc