Semi-working emacs config

This commit is contained in:
Aleksandr Lebedev 2025-11-11 00:28:27 +01:00
parent a16e106f98
commit fe10168d00
5 changed files with 157 additions and 134 deletions

View file

@ -74,50 +74,19 @@
(and (eq system-type 'gnu/linux)
(file-exists-p "/proc/sys/fs/binfmt_misc/WSLInterop")))
(defun kylekrein/is-android ()
(string-equal system-type "android"))
(use-package alert
:ensure t
)
(require 'alert)
(defun alert-android-notifications-notify (info)
(unless (kylekrein/is-android)
(error "Android notifications are only supported on Android systems"))
"Send INFO using android-notifications-notify."
(let ((title (or (plist-get info :title) "Org Alert Reminder"))
(body (or (plist-get info :message) ""))
(urgency (let ((severity (plist-get info :severity)))
(cond ((eq severity 'urgent) 'critical)
((eq severity 'high) 'critical)
((eq severity 'moderate) 'normal)
((eq severity 'low) 'low)
((eq severity 'trivial) 'low)
(t 'normal))))
(icon (or (plist-get info :icon) alert-default-icon)))
(android-notifications-notify
:title title
:body body
:urgency urgency
:icon icon
)))
(alert-define-style 'android-notifications :title "Android Notifications"
:notifier #'alert-android-notifications-notify
)
(use-package alert-toast :ensure t :after alert)
(setq alert-default-style
(cond
((kylekrein/is-android) 'android-notifications)
((kylekrein/detect-wsl) 'toast)
(t 'libnotify)))
(setq backup-directory-alist '((".*" . "~/.emacs.d/tildafiles")))
(make-directory "~/.cache/emacs/tildafiles")
(setq backup-directory-alist '((".*" . "~/.cache/emacs/tildafiles")))
(use-package diminish :ensure t)
@ -196,12 +165,6 @@
(save-place-mode t) ;; Restore cursor place in file
(unless (or
(equal "Battery status not available" (battery))
(equal "Power N/A, battery Charging (N/A% load, remaining time N/A)" (battery))
(equal "Power N/A, battery Discharging (N/A% load, remaining time N/A)" (battery)))
(display-battery-mode 1))
(use-package nov :ensure t)
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
@ -447,32 +410,29 @@
:config
(eshell-syntax-highlighting-global-mode +1))
(unless (kylekrein/is-android) ;;Fails to compile
(use-package vterm
(use-package vterm
:ensure t
;;:config
))
)
(unless (kylekrein/is-android)
(use-package vterm-toggle
:ensure t
:after vterm
:config
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.3)))))
(use-package vterm-toggle
:ensure t
:after vterm
:config
(setq vterm-toggle-fullscreen-p nil)
(setq vterm-toggle-scope 'project)
(add-to-list 'display-buffer-alist
'((lambda (buffer-or-name _)
(let ((buffer (get-buffer buffer-or-name)))
(with-current-buffer buffer
(or (equal major-mode 'vterm-mode)
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
(display-buffer-reuse-window display-buffer-at-bottom)
;;(display-buffer-reuse-window display-buffer-in-direction)
;;display-buffer-in-direction/direction/dedicated is added in emacs27
;;(direction . bottom)
;;(dedicated . t) ;dedicated is supported in emacs27
(reusable-frames . visible)
(window-height . 0.3))))
(git-package "https://github.com/darcamo/cmake-integration.git")
(use-package cmake-integration
@ -577,20 +537,6 @@ DIR must include a .project file to be considered a project."
(direnv-allow))
(message "Added 'use flake' to .envrc and ran direnv allow in %s" root)))
(use-package nix-ts-mode
:ensure t
:mode "\\.nix\\'"
:hook
(nix-ts-mode . lsp-deferred) ;; So that envrc mode will work
:custom
(lsp-disabled-clients '((nix-ts-mode . nix-nil))) ;; Disable nil so that nixd will be used as lsp-server
:config
(setq lsp-nix-nixd-server-path "nixd"
lsp-nix-nixd-formatting-command [ "alejandra" ]
lsp-nix-nixd-nixpkgs-expr "import <nixpkgs> { }"
lsp-nix-nixd-nixos-options-expr "(builtins.getFlake \"github:kylekrein/nixos-config\".nixosConfigurations.kylekrein-homepc.options"
lsp-nix-nixd-home-manager-options-expr "(builtins.getFlake \"github:kylekrein/nixos-config\".nixosConfigurations.kylekrein-homepc.options.home-manager.users.type.getSubOptions []"))
(use-package glsl-mode
:ensure t)
@ -1085,20 +1031,6 @@ one, an error is signaled."
which-key-allow-imprecise-window-fit nil
which-key-separator "" ))
(when (kylekrein/is-android)
;;Write all android settings here
(setq touch-screen-keyboard-function t)
(setq touch-screen-display-keyboard t)
(menu-bar-mode 1) ;; Enable the menu bar
(scroll-bar-mode 1) ;; Enable the scroll bar
(tool-bar-mode 1) ;;Enable the tool bar
(setq use-file-dialog t) ;; file dialog
(setq use-dialog-box t) ;; dialog box
(setq pop-up-windows t) ;; popup windows
(server-start)
)
(when (kylekrein/detect-wsl)
(setq select-active-regions nil)
(setq select-enable-clipboard 't)