diff --git a/init.el b/init.el index f3c940f..85150c6 100644 --- a/init.el +++ b/init.el @@ -9,7 +9,7 @@ (setq visible-bell nil) (setq ring-bell-function 'ignore) (setq shell-file-name "/bin/bash") -(setq shell-command-switch "-c") +(setq shell-command-switch "-ic") (setq indent-tabs-mode nil) (setq require-final-newline t) (setq frame-inhibit-implied-resize t) @@ -255,30 +255,30 @@ (add-to-list 'auto-mode-alist '("\\.pm$" . cperl-mode)) (add-to-list 'auto-mode-alist '("\\.pl$" . cperl-mode)) (add-to-list 'auto-mode-alist '("\\.psgi$" . cperl-mode)) -(setq cperl-basic-offset 4) +(setq cperl-basic-offset 2) (add-hook 'cperl-mode-hook (lambda () (add-hook 'before-save-hook #'perltidy-buffer nil t))) -(setq flycheck-perl-include-path '()) -(when (file-directory-p "~/perl5/perlbrew") - (let ((rf-perl-version (shell-command-to-string "source ~/.bashrc && perl -e 'print($^V =~ s/v//r)' 2> /dev/null"))) - ;; Strip any trailing newlines from shell command output - (setq rf-perl-version (string-trim rf-perl-version)) - (when (not (string-empty-p rf-perl-version)) - (add-to-list 'flycheck-perl-include-path - (expand-file-name (format "~/perl5/perlbrew/perls/perl-%s/lib/%s" rf-perl-version rf-perl-version)))))) +(let ((local-perl-path (expand-file-name "~/perl5/lib/perl5"))) + (setenv "PERL5LIB" local-perl-path) + (setenv "PERL_LOCAL_LIB_ROOT" (expand-file-name "~/perl5")) + (setenv "PERL_MB_OPT" "--install_base ~/perl5") + (setenv "PERL_MM_OPT" "INSTALL_BASE=~/perl5") + ;; Update Emacs' executable paths so it finds local binaries (like cpanm) + (setenv "PATH" (concat (expand-file-name "~/perl5/bin:") (getenv "PATH"))) + (add-to-list 'exec-path (expand-file-name "~/perl5/bin"))) (require 'projectile) - (defun flycheck-perllib-init () "Dynamically add local project lib path to Flycheck without overwriting global paths." (let ((root (or (and (fboundp 'projectile-project-root) (projectile-project-root)) (and (fboundp 'project-current) (project-current) (project-root (project-current)))))) (when root (let ((local-lib (expand-file-name "lib" root))) + (make-local-variable 'flycheck-perl-include-path) + (add-to-list 'flycheck-perl-include-path "~/perl5/lib/perl5/") (when (file-directory-p local-lib) - (make-local-variable 'flycheck-perl-include-path) (add-to-list 'flycheck-perl-include-path local-lib)))))) (add-hook 'cperl-mode-hook #'flycheck-perllib-init) @@ -417,9 +417,48 @@ ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. - '(custom-enabled-themes '(doom-gruvbox)) + '(custom-enabled-themes '(modus-vivendi)) '(custom-safe-themes - '("38b43b865e2be4fe80a53d945218318d0075c5e01ddf102e9bec6e90d57e2134" "e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" "b99ff6bfa13f0273ff8d0d0fd17cc44fab71dfdc293c7a8528280e690f084ef0" "3061706fa92759264751c64950df09b285e3a2d3a9db771e99bcbb2f9b470037" "e14289199861a5db890065fdc5f3d3c22c5bac607e0dbce7f35ce60e6b55fc52" "7c3d62a64bafb2cc95cd2de70f7e4446de85e40098ad314ba2291fc07501b70c" "1f292969fc19ba45fbc6542ed54e58ab5ad3dbe41b70d8cb2d1f85c22d07e518" "4d5d11bfef87416d85673947e3ca3d3d5d985ad57b02a7bb2e32beaf785a100e" "4594d6b9753691142f02e67b8eb0fda7d12f6cc9f1299a49b819312d6addad1d" "d97ac0baa0b67be4f7523795621ea5096939a47e8b46378f79e78846e0e4ad3d" "f64189544da6f16bab285747d04a92bd57c7e7813d8c24c30f382f087d460a33" "0c83e0b50946e39e237769ad368a08f2cd1c854ccbcd1a01d39fdce4d6f86478" "70c88c01b0b5fde9ecf3bb23d542acba45bb4c5ae0c1330b965def2b6ce6fac3" "13096a9a6e75c7330c1bc500f30a8f4407bd618431c94aeab55c9855731a95e1" "456697e914823ee45365b843c89fbc79191fdbaff471b29aad9dcbe0ee1d5641" "9b9d7a851a8e26f294e778e02c8df25c8a3b15170e6f9fd6965ac5f2544ef2a9" "dd4582661a1c6b865a33b89312c97a13a3885dc95992e2e5fc57456b4c545176" "c3c135e69890de6a85ebf791017d458d3deb3954f81dcb7ac8c430e1620bb0f1" "8c7e832be864674c220f9a9361c851917a93f921fedb7717b1b5ece47690c098" "8d3ef5ff6273f2a552152c7febc40eabca26bae05bd12bc85062e2dc224cde9a" "e8ceeba381ba723b59a9abc4961f41583112fc7dc0e886d9fc36fa1dc37b4079" "0d2c5679b6d087686dcfd4d7e57ed8e8aedcccc7f1a478cd69704c02e4ee36fe" "77fff78cc13a2ff41ad0a8ba2f09e8efd3c7e16be20725606c095f9a19c24d3d" "e8bd9bbf6506afca133125b0be48b1f033b1c8647c628652ab7a2fe065c10ef0" "93011fe35859772a6766df8a4be817add8bfe105246173206478a0706f88b33d" "9e5e0ff3a81344c9b1e6bfc9b3dcf9b96d5ec6a60d8de6d4c762ee9e2121dfb2" "f1e8339b04aef8f145dd4782d03499d9d716fdc0361319411ac2efc603249326" "02d422e5b99f54bd4516d4157060b874d14552fe613ea7047c4a5cfa1288cf4f" "aec7b55f2a13307a55517fdf08438863d694550565dee23181d2ebd973ebd6b8" "b5fd9c7429d52190235f2383e47d340d7ff769f141cd8f9e7a4629a81abc6b19" "720838034f1dd3b3da66f6bd4d053ee67c93a747b219d1c546c41c4e425daf93" default))) + '("4990532659bb6a285fee01ede3dfa1b1bdf302c5c3c8de9fad9b6bc63a9252f7" + "7771c8496c10162220af0ca7b7e61459cb42d18c35ce272a63461c0fc1336015" + "a9eeab09d61fef94084a95f82557e147d9630fbbb82a837f971f83e66e21e5ad" + "e1df746a4fa8ab920aafb96c39cd0ab0f1bac558eff34532f453bd32c687b9d6" + "7ec8fd456c0c117c99e3a3b16aaf09ed3fb91879f6601b1ea0eeaee9c6def5d9" + "df6dfd55673f40364b1970440f0b0cb8ba7149282cf415b81aaad2d98b0f0290" + "4b88b7ca61eb48bb22e2a4b589be66ba31ba805860db9ed51b4c484f3ef612a7" + "dfb1c8b5bfa040b042b4ef660d0aab48ef2e89ee719a1f24a4629a0c5ed769e8" + "38b43b865e2be4fe80a53d945218318d0075c5e01ddf102e9bec6e90d57e2134" + "e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" + "b99ff6bfa13f0273ff8d0d0fd17cc44fab71dfdc293c7a8528280e690f084ef0" + "3061706fa92759264751c64950df09b285e3a2d3a9db771e99bcbb2f9b470037" + "e14289199861a5db890065fdc5f3d3c22c5bac607e0dbce7f35ce60e6b55fc52" + "7c3d62a64bafb2cc95cd2de70f7e4446de85e40098ad314ba2291fc07501b70c" + "1f292969fc19ba45fbc6542ed54e58ab5ad3dbe41b70d8cb2d1f85c22d07e518" + "4d5d11bfef87416d85673947e3ca3d3d5d985ad57b02a7bb2e32beaf785a100e" + "4594d6b9753691142f02e67b8eb0fda7d12f6cc9f1299a49b819312d6addad1d" + "d97ac0baa0b67be4f7523795621ea5096939a47e8b46378f79e78846e0e4ad3d" + "f64189544da6f16bab285747d04a92bd57c7e7813d8c24c30f382f087d460a33" + "0c83e0b50946e39e237769ad368a08f2cd1c854ccbcd1a01d39fdce4d6f86478" + "70c88c01b0b5fde9ecf3bb23d542acba45bb4c5ae0c1330b965def2b6ce6fac3" + "13096a9a6e75c7330c1bc500f30a8f4407bd618431c94aeab55c9855731a95e1" + "456697e914823ee45365b843c89fbc79191fdbaff471b29aad9dcbe0ee1d5641" + "9b9d7a851a8e26f294e778e02c8df25c8a3b15170e6f9fd6965ac5f2544ef2a9" + "dd4582661a1c6b865a33b89312c97a13a3885dc95992e2e5fc57456b4c545176" + "c3c135e69890de6a85ebf791017d458d3deb3954f81dcb7ac8c430e1620bb0f1" + "8c7e832be864674c220f9a9361c851917a93f921fedb7717b1b5ece47690c098" + "8d3ef5ff6273f2a552152c7febc40eabca26bae05bd12bc85062e2dc224cde9a" + "e8ceeba381ba723b59a9abc4961f41583112fc7dc0e886d9fc36fa1dc37b4079" + "0d2c5679b6d087686dcfd4d7e57ed8e8aedcccc7f1a478cd69704c02e4ee36fe" + "77fff78cc13a2ff41ad0a8ba2f09e8efd3c7e16be20725606c095f9a19c24d3d" + "e8bd9bbf6506afca133125b0be48b1f033b1c8647c628652ab7a2fe065c10ef0" + "93011fe35859772a6766df8a4be817add8bfe105246173206478a0706f88b33d" + "9e5e0ff3a81344c9b1e6bfc9b3dcf9b96d5ec6a60d8de6d4c762ee9e2121dfb2" + "f1e8339b04aef8f145dd4782d03499d9d716fdc0361319411ac2efc603249326" + "02d422e5b99f54bd4516d4157060b874d14552fe613ea7047c4a5cfa1288cf4f" + "aec7b55f2a13307a55517fdf08438863d694550565dee23181d2ebd973ebd6b8" + "b5fd9c7429d52190235f2383e47d340d7ff769f141cd8f9e7a4629a81abc6b19" + "720838034f1dd3b3da66f6bd4d053ee67c93a747b219d1c546c41c4e425daf93" + default))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful.