From e543e54b76c1e97017c7e847dc7105ff95a10d6a Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Wed, 16 Jul 2025 01:02:35 +0300 Subject: Move Emacs stuff to emacs/.config/emacs --- arkta/arkta-cosmetic.el | 150 ------------------------- arkta/arkta-progmodes.el | 285 ----------------------------------------------- arkta/arkta-project.el | 143 ------------------------ 3 files changed, 578 deletions(-) delete mode 100644 arkta/arkta-cosmetic.el delete mode 100644 arkta/arkta-progmodes.el delete mode 100644 arkta/arkta-project.el (limited to 'arkta') diff --git a/arkta/arkta-cosmetic.el b/arkta/arkta-cosmetic.el deleted file mode 100644 index 96e5498..0000000 --- a/arkta/arkta-cosmetic.el +++ /dev/null @@ -1,150 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -(use-package ansi-color - :ensure nil - :hook (compilation-filter . ansi-color-compilation-filter) - :custom - (ansi-color-for-compilation-mode t)) - -(use-package centaur-tabs - :ensure t - :demand t - :init - (defun arkta/disable-centaur-tabs-mode () - (centaur-tabs-local-mode +1)) - :hook (dashboard-mode . arkta/disable-centaur-tabs-mode) - :bind (("C-x " . centaur-tabs-forward) - ("C-x " . centaur-tabs-forward) - ("C-x " . centaur-tabs-backward) - ("C-x " . centaur-tabs-backward)) - :custom - (centaur-tabs-style "alternate") - (centaur-tabs-height 35) - (centaur-tabs-icon-type 'nerd-icons) - (centaur-tabs-set-icons t) - (centaur-tabs-gray-out-icons 'buffer) - (centaur-tabs-set-bar 'over) - (centaur-tabs-set-close-button nil) - (centaur-tabs-set-modified-marker t) - (centaur-tabs-modified-marker "●") - (centaur-tabs-cycle-scope 'tabs) - :config - (centaur-tabs-mode +1)) - -(use-package display-fill-column-indicator - :ensure nil - :demand t - :init - (defun arkta/disable-dfci () - (display-fill-column-indicator-mode -1)) - :hook (dashboard-mode . arkta/disable-dfci) - :config - (global-display-fill-column-indicator-mode +1)) - -(use-package display-line-numbers - :ensure nil - :demand t - :init - (defun arkta/disable-dln () - (display-line-numbers-mode -1)) - :hook ((dashboard-mode help-mode) . arkta/disable-dln) - :config - (global-display-line-numbers-mode +1)) - -(use-package doom-modeline - :ensure t - :custom - (doom-modeline-bar-width 4) - (doom-modeline-battery t) - (doom-modeline-buffer-file-true-name t) - (doom-modeline-height 25) - (doom-modeline-hud t) - (doom-modeline-hud-min-height 6) - (doom-modeline-icon t) - (doom-modeline-percent-position nil) - (doom-modeline-project-detection 'project) - (doom-modeline-total-line-number t) - :config - (doom-modeline-mode +1)) - -(use-package emojify - :ensure t - :config - (global-emojify-mode +1)) - -(use-package faces - :ensure nil - :custom-face - (default ((t (:weight ,(if +mac+ 'medium 'regular) - :slant normal - :width normal - :font "Input Mono" - :height 130))))) - -(use-package git-gutter - :ensure t - :config - (global-git-gutter-mode +1)) - -(use-package hl-line - :ensure nil - :config - (global-hl-line-mode +1)) - -(use-package hl-todo - :ensure t - :config - (global-hl-todo-mode +1)) - -(use-package modus-themes - :ensure t - :config - (load-theme 'modus-operandi t)) - -(use-package nerd-icons - :ensure t - :init - (defun arkta/nerd-icons-maybe-install-fonts () - (when (and (display-graphic-p) - (not (find-font (font-spec :family nerd-icons-font-family)))) - ;; TODO: Maybe also reinstall them every month or so - (nerd-icons-install-fonts t))) - :hook ((elpaca-after-init server-after-make-frame) . arkta/nerd-icons-maybe-install-fonts)) - -(use-package rainbow-delimiters - :ensure t - :hook (prog-mode . rainbow-delimiters-mode)) - -(use-package rainbow-mode - :ensure t - :init - (defun arkta/enable-rainbow () - (rainbow-mode +1)) - :hook (prog-mode . arkta/enable-rainbow)) - -(use-package scroll-bar - :ensure nil - :defer t - :config - (scroll-bar-mode -1)) - -(use-package solaire-mode - :ensure t - :config - (solaire-global-mode +1)) - -(use-package time - :ensure nil - :custom - (display-time-default-load-average nil) - :config - (display-time-mode +1)) - -(use-package tool-bar - :ensure nil - :defer t - :config - (tool-bar-mode -1)) - -(provide 'arkta-cosmetic) diff --git a/arkta/arkta-progmodes.el b/arkta/arkta-progmodes.el deleted file mode 100644 index a85d0c0..0000000 --- a/arkta/arkta-progmodes.el +++ /dev/null @@ -1,285 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -(use-package adoc-mode - :ensure t - :mode "\\.adoc\\'") - -(use-package asm-mode - :ensure nil - :mode ("\\.s\\'" "\\.S\\'") - :init - (defun arkta/asm-setup () - (set-tab-usage t) - (set-tab-width 8)) - :hook (asm-mode . arkta/asm-setup)) - -(use-package auto-compile - :after elisp-mode - :ensure t - :hook ((emacs-lisp-mode . auto-compile-on-load-mode) - (emacs-lisp-mode . auto-compile-on-save-mode))) - -(use-package c-ts-mode - :after treesit - :ensure nil - :mode ("\\.c\\'" - ("\\.cpp\\'" . c++-ts-mode)) - :init - (defun arkta/c-setup () - (set-tab-usage t) - (set-tab-width c-ts-mode-indent-offset)) - :hook (c-ts-base-mode . arkta/c-setup) - :custom - (c-ts-mode-indent-offset 8) - (c-ts-mode-indent-style (lambda () - `(((node-is ")") parent-bol 0) - ((node-is "}") parent-bol 0) - ((node-is "access_specifier") parent-bol 0) - ((parent-is "argument_list") parent-bol c-ts-mode-indent-offset) - ((parent-is "parameter_list") parent-bol c-ts-mode-indent-offset) - ((parent-is "field_declaration_list") parent-bol c-ts-mode-indent-offset) - ,@(alist-get 'linux (c-ts-mode--indent-styles 'c)))))) - -(use-package cmake-ts-mode - :after treesit - :ensure nil - :mode ("CMakeLists\\.txt\\'" - "\\.cmake\\'")) - -(use-package company-mlton - :after (company sml) - :ensure '(company-mlton :host github - :repo "MatthewFluet/company-mlton") - :hook (sml-mode . company-mlton-init)) - -(use-package csharp-mode - :after treesit - :ensure nil - :mode "\\.cs\\'") - -(use-package css-mode - :after treesit - :ensure nil - :mode "\\.css\\'") - -(use-package dart-mode - :ensure t - :mode "\\.dart\\'") - -(use-package dockerfile-ts-mode - :after treesit - :ensure nil - :mode "Dockerfile\\'") - -(use-package ebuild-mode - :ensure (ebuild-mode :host github - :repo "emacsmirror/ebuild-mode") - :mode ("\\.ebuild\\'" - "\\.eclass\\'")) - -(use-package elisp-mode - :ensure nil - :mode ("\\.el\\'" . emacs-lisp-mode)) - -(use-package elixir-mode - :ensure t - :mode "\\.exs?\\'" - :init - (defun arkta/elixir-setup () - (add-hook 'before-save-hook #'elixir-format nil t)) - :hook (elixir-mode . arkta/elixir-setup)) - -(use-package gdscript-mode - :ensure t - :mode "\\.gd\\'") - -(use-package go-ts-mode - :after treesit - :ensure nil - :mode "\\.go\\'" - :init - (defun arkta/go-setup () - (add-hook 'before-save-hook #'gofmt-before-save nil t) - (set-tab-usage t) - (set-tab-width go-ts-mode-indent-offset)) - :hook (go-ts-mode . arkta/go-setup)) - -(use-package groovy-mode - :ensure t - :mode ("Jenkinsfile\\'" - "\\.jenkinsfile\\'" - "\\.gradle\\'" - "\\.groovy\\'")) - -(use-package haskell-mode - :ensure t - :mode "\\.hs\\'") - -(use-package htmlize - :ensure t) - -(use-package java-ts-mode - :after treesit - :ensure nil - :mode "\\.java\\'") - -(use-package js - :after treesit - :ensure nil - :mode ("\\.js\\'" . js-ts-mode)) - -(use-package json-ts-mode - :after treesit - :ensure nil - :mode "\\.json\\'") - -(use-package kotlin-ts-mode - :after treesit - :ensure t - :mode "\\.kts?\\'") - -(use-package lisp-mode - :ensure nil - :mode "\\.lisp\\'") - -(use-package lua-mode - :ensure t - :custom - (lua-indent-level 4) - :mode ("\\.lua\\'" "\\.rockspec\\'")) - -(use-package make-mode - :ensure nil - :mode (("Makefile\\'" . makefile-gmake-mode) - ("GNUmakefile\\'" . makefile-mode) - ("\\.mk\\(\\.template\\)?\\'" . makefile-mode))) - -(use-package markdown-mode - :ensure t - :mode ("\\.md\\'" . gfm-mode)) - -(use-package nasm-mode - :ensure t - :mode ("\\.asm\\'" - "\\.inc\\'") - :init - (defun arkta/nasm-setup () - (set-tab-width 4)) - :hook (nasm-mode . arkta/nasm-setup)) - -(use-package nix-mode - :ensure t - :mode "\\.nix\\'") - -(use-package nxml-mode - :ensure nil - :mode ("\\.xml\\'" - "\\.plist\\'" - "\\.svg\\'")) - -(use-package org - :ensure nil - :after htmlize - :bind (("C-c l" . org-store-link) - ("C-c a" . org-agenda)) - :mode ("\\.org\\'" . org-mode) - :custom - (org-agenda-files '("~/TODO.org")) - (org-log-done t)) - -(use-package php-mode - :ensure t - :mode "\\.php\\'") - -(use-package pico8-mode - :ensure '(pico8-mode :host github - :repo "Kaali/pico8-mode") - :mode "\\.p8\\'") - -(use-package proof-general - :ensure t) - -(use-package prolog - :ensure nil - :mode ("\\.pl\\'" . prolog-mode)) - -(use-package python - :after treesit - :ensure nil - :mode ("\\.py\\'" . python-ts-mode)) - -(use-package racket-mode - :ensure t - :mode "\\.rkt\\'") - -(use-package ruby-ts-mode - :after treesit - :ensure nil - :mode "\\.rb\\'") - -(use-package rust-ts-mode - :after treesit - :ensure nil - :mode "\\.rs\\'") - -(use-package scala-mode - :ensure t - :mode "\\.scala\\'") - -(use-package scheme - :ensure nil - :commands scheme-mode - :mode ("\\.scm\\'" . scheme-mode) - :config - (put 'module 'scheme-indent-function 2)) - -(use-package slime - :ensure t - :after lisp-mode - :commands slime - :custom - (inferior-lisp-program (executable-find "sbcl"))) - -(use-package smalltalk-mode - :ensure t - :mode "\\.st\\'") - -(use-package sml-mode - :ensure t - :mode "\\.sml\\'") - -(use-package svelte-mode - :ensure t - :mode ("\\.svelte\\'" "\\.svx\\'")) - -(use-package swift-mode - ;; There's swift-ts-mode... but it doesn't have parser.c committed... - :ensure t - :mode "\\.swift\\'") - -(use-package toml-ts-mode - :after treesit - :ensure nil - :mode "\\.toml\\'") - -(use-package typescript-ts-mode - :after treesit - :ensure nil - :mode "\\.ts\\'") - -(use-package typst-ts-mode - :after treesit - :ensure t - :mode "\\.typ\\'") - -(use-package yaml-ts-mode - :after treesit - :ensure nil - :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'")) - -(use-package zig-mode - :ensure t - :mode "\\.zig\\'") - -(provide 'arkta-progmodes) diff --git a/arkta/arkta-project.el b/arkta/arkta-project.el deleted file mode 100644 index 18354a9..0000000 --- a/arkta/arkta-project.el +++ /dev/null @@ -1,143 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -;; TODO: See about porting this to project.el: -;; (define-key map (kbd "a") #'projectile-find-other-file) -;; (define-key map (kbd "E") #'projectile-edit-dir-locals) -;; (define-key map (kbd "g") #'projectile-find-file-dwim) -;; (define-key map (kbd "i") #'projectile-invalidate-cache) -;; (define-key map (kbd "I") #'projectile-ibuffer) -;; (define-key map (kbd "j") #'projectile-find-tag) -;; (define-key map (kbd "l") #'projectile-find-file-in-directory) -;; (define-key map (kbd "m") #'projectile-commander) -;; (define-key map (kbd "o") #'projectile-multi-occur) -;; (define-key map (kbd "q") #'projectile-switch-open-project) -;; (define-key map (kbd "R") #'projectile-regenerate-tags) - -;; (define-key map (kbd "s r") #'projectile-ripgrep) -;; (define-key map (kbd "s s") #'projectile-ag) - -;; (define-key map (kbd "S") #'projectile-save-project-buffers) -;; (define-key map (kbd "t") #'projectile-toggle-between-implementation-and-test) -;; (define-key map (kbd "T") #'projectile-find-test-file) -;; ;; project lifecycle external commands -;; ;; TODO: Bundle those under some prefix key -;; (define-key map (kbd "C") #'projectile-configure-project) -;; (define-key map (kbd "K") #'projectile-package-project) -;; (define-key map (kbd "L") #'projectile-install-project) -;; (define-key map (kbd "P") #'projectile-test-project) -;; (define-key map (kbd "u") #'projectile-run-project) - -;; ;; integration with utilities -;; (define-key map (kbd "x i") #'projectile-run-ielm) -;; (define-key map (kbd "x t") #'projectile-run-term) -;; (define-key map (kbd "x g") #'projectile-run-gdb) -;; (define-key map (kbd "x v") #'projectile-run-vterm) -;; (define-key map (kbd "x 4 v") #'projectile-run-vterm-other-window) - -;; ;; misc -;; (define-key map (kbd "z") #'projectile-cache-current-file) -;; (define-key map (kbd "") #'projectile-previous-project-buffer) -;; (define-key map (kbd "") #'projectile-next-project-buffer) -;; (define-key map (kbd "ESC") #'projectile-project-buffers-other-buffer) - -(cl-defun arkta/project-completing-read (prompt choices &key initial-input action (project (project-current t))) - "Present a project tailored PROMPT with CHOICES." - (require 'ivy) - (let ((prompt (arkta/project-prepend-project-name prompt project))) - (ivy-read prompt choices - :initial-input initial-input - :action action - :caller 'arkta/project-completing-read))) - -(defun arkta/project-expand-root (name &optional project) - "Expand NAME to project root." - (let (project (or project (project-current t))) - (expand-file-name name (project-root project)))) - -(defun arkta/project-find-references (&optional symbol) - "Find all references to SYMBOL in the current project. - -A thin wrapper around `xref-references-in-directory'." - (interactive) - (require 'xref) - (let ((project-root (project-root (project-current t))) - (symbol (or symbol - (read-from-minibuffer "Lookup in project: " (arkta/symbol-at-point))))) - (xref-show-xrefs (xref-references-in-directory symbol project-root) nil))) - -(defun arkta/project-magit-status () - (interactive) - (magit-status (project-root (project-current t)))) - -(defun arkta/project-prepend-project-name (string &optional project) - "Prepend the current project's name to STRING." - (let ((project (or project (project-current t)))) - (format "[%s] %s" (project-name project) string))) - -(defun arkta/project-recentf () - "Show a list of recently visited files in a project." - (interactive) - (let ((project (project-current t))) - (find-file (arkta/project-expand-root - (arkta/project-completing-read - "Recently visited files: " - (arkta/project-recentf-files project) - :project project) - project)))) - -(defun arkta/project-recentf-files (&optional project) - "Return a list of recently visited files in a project." - (require 'recentf) - (let* ((project (or project (project-current t))) - (project-root (expand-file-name (project-root project)))) - (mapcar - (lambda (f) (file-relative-name f project-root)) - (cl-remove-if-not - (lambda (f) (string-prefix-p project-root (expand-file-name f))) - recentf-list)))) - -(defun arkta/symbol-at-point () - "Get the symbol at point and strip its properties." - (substring-no-properties (or (thing-at-point 'symbol) ""))) - -(use-package project - :ensure nil - :config - (defvar-keymap arkta/project-prefix-map - :parent project-prefix-map - "C-b" 'project-list-buffers - - "!" 'project-shell-command - "&" 'project-async-shell-command - - "4" 'project-other-window-command - "5" 'project-other-frame-command - - "D" 'project-dired - "F" 'project-or-external-find-file - "V" 'project-vc-dir - - "b" 'project-switch-to-buffer - "c" 'project-compile - "d" 'project-find-dir - "e" 'arkta/project-recentf - "f" 'project-find-file - "k" 'project-kill-buffers - "p" 'project-switch-project - "r" 'project-query-replace-regexp - "v" 'arkta/project-magit-status - - "M-x" 'project-execute-extended-command - - "s f" 'project-find-file - "s g" 'project-find-regexp - "s r" 'project-find-regexp - "s x" 'arkta/project-find-references - - "x e" 'project-eshell - "x s" 'project-shell) - (fset 'arkta/project-prefix-map arkta/project-prefix-map) - :bind (("C-c p" . arkta/project-prefix-map))) - -(provide 'arkta-project) -- cgit v1.2.3