From 91e448445e6c20f17a84011a37c245dc8539e3cf Mon Sep 17 00:00:00 2001 From: lucy Date: Thu, 15 Oct 2026 13:27:39 +0200 Subject: [PATCH] populate emacs --- modules/maid/default.nix | 1 - modules/maid/emacs.nix | 114 +++++++++++++++++++++++++++++++++++++-- modules/maid/ghostty.nix | 27 +++++----- modules/maid/maid.nix | 1 + 4 files changed, 123 insertions(+), 20 deletions(-) diff --git a/modules/maid/default.nix b/modules/maid/default.nix index d8c1de3..eaf527c 100644 --- a/modules/maid/default.nix +++ b/modules/maid/default.nix @@ -1,6 +1,5 @@ { imports = [ ./maid.nix - ./ghostty.nix ]; } diff --git a/modules/maid/emacs.nix b/modules/maid/emacs.nix index 4b4e697..330f03c 100644 --- a/modules/maid/emacs.nix +++ b/modules/maid/emacs.nix @@ -1,8 +1,112 @@ -{ config, ... }: -let - themeName = config.scheme.scheme-slug - in { - + file.emacs = { + target = "{{home}}/.emacsd/init.el"; + text = '' + ;; -*- lexical-binding: t; -*- + (setq make-backup-files nil) + + (add-to-list 'default-frame-alist '(font . "JetBrainsMono Nerd Font Mono-12")) + + (require 'package) + (add-to-list 'package-archives + '("melpa-snapshots" + . + "https://snapshots.melpa.org/packages/") + t) + ;; load current selected tinty theme + (use-package base16-theme :ensure t) + (load-theme + (intern + (string-trim + (shell-command-to-string + "tinty current -d /home/lucy/.local/share/tinted-theming/tinty/"))) + t) + + + ;; add packages + (use-package org-view-mode :ensure t) + (use-package envrc :ensure t) + + (use-package nix-mode :ensure t) + (use-package + eldoc-box + :ensure t + :hook (eglot-managed-mode . eldoc-box-hover-mode) + ) + (use-package + elisp-autofmt + :ensure t + :commands (elisp-autofmt-buffer elisp-autofmt-mode) + :hook (emacs-lisp-mode . elisp-autofmt-mode) + :config) + (use-package portage-modes :ensure t) + (use-package + corfu + :ensure t + :init + (setq + corfu-auto t + corfu-auto-prefix 1 + corfu-auto-delay 0.2) + (global-corfu-mode)) + + (setq tab-always-indent 'complete) + (use-package + cape + :ensure t + :bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-, M-p, M-+ + :init (add-hook 'completion-at-point-functions #'cape-file)) + (setq corfu-auto-prefix 2) + (use-package qml-mode :ensure t) + (use-package lua-mode :ensure t) + (use-package elcord :ensure t :init (elcord-mode)) + + (add-to-list + 'display-buffer-alist + '("\\*compilation\\*" (display-buffer-reuse-window + display-buffer-below-selected) + (window-height . 0.3))) + + + ;; remove useless shit and set default opts + (setq org-hide-emphasis-markers t) + (setq ring-bell-function 'ignore) + (menu-bar-mode -1) + (tool-bar-mode -1) + (setq display-line-numbers-type 'relative) + (global-display-line-numbers-mode +1) + (global-tab-line-mode 1) + (scroll-bar-mode -1) + (setq inhibit-splash-screen 1) + (setq custom-file "~/.emacs.d/custom.el") + (load custom-file 'noerror) + + + ;; lsp shit + (add-hook 'nix-mode-hook #'eglot-ensure) + (add-hook 'c-mode-hook #'eglot-ensure) + (add-hook 'qml-mode-hook #'eglot-ensure) + (with-eval-after-load 'eglot + (add-to-list 'eglot-server-programs '(nix-mode . ("nixd"))) + (add-to-list 'eglot-server-programs '(qml-mode . ("qmlls")))) + + ;; keybindings + (keymap-global-set "C-c f" 'eglot-format) + (keymap-global-set "C-c t" 'term) + (keymap-global-set "C-c c" 'compile) + (keymap-global-set "C-c k b" 'kill-current-buffer) + (keymap-global-set "C-c k w" 'kill-buffer-and-window) + (keymap-global-set "C-c v" 'org-view-mode) + (windmove-default-keybindings) + ;; replace dashes with bullets in org mode + (font-lock-add-keywords 'org-mode + '(("^ +\\([-*]\\) " + (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) + + (setq org-view-prettify-credentials nil) + (setq org-view-hide-keywords nil) + (envrc-global-mode) + ''; + }; } diff --git a/modules/maid/ghostty.nix b/modules/maid/ghostty.nix index 3218131..2dfb40e 100644 --- a/modules/maid/ghostty.nix +++ b/modules/maid/ghostty.nix @@ -5,19 +5,18 @@ ... }: { - users.users.lucy.maid.file = { - xdg_config.ghostty = { - text = '' - quit-after-last-window-closed = false - theme = "tinted-theming" - font-family = "JetBrainsMono Nerd Font" - font-size = 14 - window-padding-x = 15 - window-padding-y = 15 - shell-integration = none - confirm-close-surface = false - ''; - target = "ghostty/config.ghostty"; - }; + file.xdg_config.ghostty = { + text = '' + quit-after-last-window-closed = false + theme = "tinted-theming" + font-family = "JetBrainsMono Nerd Font" + font-size = 14 + window-padding-x = 15 + window-padding-y = 15 + shell-integration = none + confirm-close-surface = false + ''; + target = "ghostty/config.ghostty"; }; + } diff --git a/modules/maid/maid.nix b/modules/maid/maid.nix index dd3495b..e1dbd59 100755 --- a/modules/maid/maid.nix +++ b/modules/maid/maid.nix @@ -8,6 +8,7 @@ { users.users.lucy.maid = { config, ... }: { imports = [ + ./ghostty.nix ]; gsettings.settings = {