Skip to content

refactor: migrate to straight.el as sole package manager + architecture cleanup - #17

Merged
dej4vu merged 4 commits into
masterfrom
codex/straight-migration
Sep 24, 2026
Merged

dej4vu merged 4 commits into
masterfrom
codex/straight-migration

Conversation

@dej4vu

@dej4vu dej4vu commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Summary

Unified package management under straight.el, optimized startup, cleaned dead code, and improved CI.

Package management

  • Remove init-package.el / init-elpa.el (package.el bootstrap)
  • init-straight.el is now the sole entry point (straight-use-package-by-default t)
  • Generated lockfile straight/versions/default.el (79 lines, exact commit per package)

Startup optimization

  • Add early-init.el (GC deferral, font cache, native-comp)
  • lsp-log-io changed from t → nil (was significantly slowing LSP)

Architecture

  • Split init-ui.el (315 → 43 lines) + new init-modeline.el
  • Remove Helm, keep Vertico + Orderless + Marginalia (init-completion.el)
  • Remove 6 theme packages → only catppuccin
  • Remove ~200 lines commented-out dead code (old mode-line, persp-mode, etc.)

Fixes

  • init-protobuf.el: remove duplicated eval-after-load block
  • init-evil.el: remove duplicate evil-want-C-u-scroll, move evil-mode to :config
  • smartparens-mode → smartparens (correct package name)
  • init-lsp.el: fix syntax (comment inside parenthesis)
  • Remove hardcoded gptel API key

Scripts

  • install_dep.sh: golint → staticcheck, add delve, add go check
  • Remove update_git.sh (CentOS 7 EOL, dead code)
  • New update_packages.sh for straight package updates
  • test-startup.sh: remove package.el-specific package-check-signature

CI

  • Add actions/cache for straight/repos/ + straight/build/ (keyed on lockfile hash)
  • Add lint job (elisp parens/syntax check on all config files)

Net change: 46 files, +447 / -679 (net -232 lines)

…re cleanup

## Package management
- Remove init-package.el and init-elpa.el (package.el bootstrap)
- Rewrite init-straight.el as sole package management entry point
- All packages now managed via straight.el with lockfile (straight/versions/default.el)
- Remove package archives configuration (not needed with straight)

## Startup optimization
- Add early-init.el with GC deferral and font cache settings
- Remove lsp-log-io (was set to t, caused significant slowdown)

## Architecture cleanup
- Split init-ui.el (315 lines) into init-ui.el + init-modeline.el
- Remove ~200 lines of commented-out dead code from init-ui.el
- Rename init-helm.el → init-completion.el (remove Helm, keep Vertico)
- Remove duplicate doom-themes declaration
- Remove duplicate eval-after-load block in init-protobuf.el
- Remove only-used-once theme packages (ample, solarized, plan9, doom, dracula)
- Remove hardcoded gptel API key placeholder
- Remove unused persp-mode / window-numbering / old-mode-line dead code

## Code quality
- Add proper file headers and footers to all init-*.el files
- Fix smartparens-mode → smartparens (correct package name)
- Fix init-lsp.el syntax (comment inside parenthesis)
- Remove :ensure t (straight-use-package-by-default t handles this)
- install_dep.sh: replace deprecated golint with staticcheck, add delve
  debugger, add go binary check
- update_git.sh: remove (CentOS 7 is EOL, script is dead code)
- test-startup.sh: remove package-check-signature (package.el specific)
- update_packages.sh: new script to pull/rebuild/lock all straight packages
- Add actions/cache for straight/repos/ and straight/build/, keyed on
  lockfile hash, so CI doesn't re-clone all packages on every run
- Add lint job that checks parens/syntax on all elisp files before build
- Cache key includes lockfile hash: only re-downloads when packages change
- init-themes.el: remove duplicate load-theme call (use-package :config
  and dej4vu/today-emacs-theme both loaded catppuccin twice)
- init-evil.el: remove duplicate evil-want-C-u-scroll, move evil-mode
  call to :config so evil-want-* vars are set before evil loads
- init-editing-utils.el: remove blank lines left by :defer t removal,
  restore :defer t on clang-format and golden-ratio
- .gitignore: fix lockfile path !straight/default.el → !straight/versions/
@dej4vu
dej4vu merged commit 9042ca1 into master Sep 24, 2026
4 checks passed
@dej4vu
dej4vu deleted the codex/straight-migration branch September 24, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant