- Remove work/laptop detection logic from nvim and emacs configs; each
package now has a self-contained init that requires no runtime checks
- Create shared/ stow package containing nvim/init.lua, emacs/init.el,
common-dev-settings.el, org-bindings.el, tmux, ghostty, and ranger
- Rename laptop-languages.lua / work-languages.lua → languages.lua in
each package; shared/init.lua uses require('languages') generically
- Rename work-dev-settings.el → dev-settings.el to match laptop naming
- Expand work/ to include the full set of dev tools (tmux, ghostty,
ranger, emacs, neovim) without email/calendar tooling
- Add Makefile with `make laptop` and `make work` targets (each runs
a single `stow shared <profile>` invocation)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
1.6 KiB
EmacsLisp
63 lines
1.6 KiB
EmacsLisp
;;; dev-settings.el --- Work development environment (C#, TypeScript, JavaScript, CSS, HTML)
|
|
|
|
;;; C#
|
|
;; LSP server: dotnet tool install -g csharp-ls
|
|
|
|
(use-package csharp-ts-mode
|
|
:ensure nil
|
|
:mode "\\.cs\\'"
|
|
:hook (csharp-ts-mode . eglot-ensure))
|
|
|
|
;;; TypeScript / TSX
|
|
|
|
(use-package typescript-ts-mode
|
|
:ensure nil
|
|
:mode (("\\.ts\\'" . typescript-ts-mode)
|
|
("\\.tsx\\'" . tsx-ts-mode))
|
|
:hook ((typescript-ts-mode . eglot-ensure)
|
|
(tsx-ts-mode . eglot-ensure)))
|
|
|
|
;;; JavaScript / JSX
|
|
;; typescript-language-server handles JS too; install via: npm i -g typescript-language-server typescript
|
|
|
|
(use-package js-ts-mode
|
|
:ensure nil
|
|
:mode (("\\.js\\'" . js-ts-mode)
|
|
("\\.mjs\\'" . js-ts-mode)
|
|
("\\.cjs\\'" . js-ts-mode)
|
|
("\\.jsx\\'" . js-ts-mode))
|
|
:hook (js-ts-mode . eglot-ensure)
|
|
:config
|
|
(setq js-indent-level 2))
|
|
|
|
;;; CSS
|
|
;; LSP server: npm i -g vscode-langservers-extracted
|
|
|
|
(use-package css-ts-mode
|
|
:ensure nil
|
|
:mode "\\.css\\'"
|
|
:hook (css-ts-mode . eglot-ensure)
|
|
:config
|
|
(setq css-indent-offset 2))
|
|
|
|
;;; HTML
|
|
;; LSP server: npm i -g vscode-langservers-extracted
|
|
|
|
(use-package html-ts-mode
|
|
:ensure nil
|
|
:mode (("\\.html\\'" . html-ts-mode)
|
|
("\\.htm\\'" . html-ts-mode))
|
|
:hook (html-ts-mode . eglot-ensure))
|
|
|
|
;;; Prettier (formatting for JS/TS/CSS/HTML)
|
|
|
|
(use-package prettier
|
|
:hook ((typescript-ts-mode . prettier-mode)
|
|
(tsx-ts-mode . prettier-mode)
|
|
(js-ts-mode . prettier-mode)
|
|
(css-ts-mode . prettier-mode)
|
|
(html-ts-mode . prettier-mode)))
|
|
|
|
(provide 'dev-settings)
|
|
;;; dev-settings.el ends here
|