Split laptop/work into independent stow packages with shared/ base
- 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>
This commit is contained in:
62
work/.config/emacs/dev-settings.el
Normal file
62
work/.config/emacs/dev-settings.el
Normal file
@@ -0,0 +1,62 @@
|
||||
;;; 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
|
||||
Reference in New Issue
Block a user