From b2f073f52e1791b7cf969829bcc4b7000dafc201 Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Mon, 11 Nov 2024 19:52:54 -0500 Subject: [PATCH] flake: remove emacs Goodbye old friend, you served me well. But Neovim serves me better now. You shall live on forever in my commit history. The melodramatic vimmer returns home. --- bin/install-doom.bash | 8 - hosts/Infini-DESKTOP/install.bash | 5 - hosts/Infini-DESKTOP/readme.org | 5 - hosts/Infini-FRAMEWORK/install.bash | 5 - hosts/Infini-FRAMEWORK/readme.org | 5 - hosts/Infini-OPTIPLEX/install.bash | 4 - hosts/Infini-OPTIPLEX/install_extras.bash | 4 - hosts/Infini-OPTIPLEX/readme.org | 4 - hosts/Infini-SERVER/install.bash | 4 - hosts/Infini-SERVER/readme.org | 4 - readme.md | 5 +- todo.md | 2 +- users/infinidoge/config/default.nix | 8 - users/infinidoge/config/doom/config.el | 160 ------- .../config/doom/config/keybindings.el | 60 --- users/infinidoge/config/doom/config/org.el | 104 ----- users/infinidoge/config/doom/init.el | 198 --------- .../config/doom/misc/java_formatting.xml | 401 ------------------ .../infinidoge/config/doom/misc/list-mode.el | 27 -- users/infinidoge/config/doom/packages.el | 53 --- users/infinidoge/default.nix | 11 - users/modules/global/emacs.nix | 96 ----- users/modules/global/gpg.nix | 1 - users/modules/global/programming.nix | 35 ++ users/modules/global/shells/zsh.nix | 2 - 25 files changed, 37 insertions(+), 1174 deletions(-) delete mode 100644 bin/install-doom.bash delete mode 100644 users/infinidoge/config/doom/config.el delete mode 100644 users/infinidoge/config/doom/config/keybindings.el delete mode 100644 users/infinidoge/config/doom/config/org.el delete mode 100644 users/infinidoge/config/doom/init.el delete mode 100644 users/infinidoge/config/doom/misc/java_formatting.xml delete mode 100644 users/infinidoge/config/doom/misc/list-mode.el delete mode 100644 users/infinidoge/config/doom/packages.el delete mode 100644 users/modules/global/emacs.nix diff --git a/bin/install-doom.bash b/bin/install-doom.bash deleted file mode 100644 index 121459b..0000000 --- a/bin/install-doom.bash +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -if [ ! -d $XDG_CONFIG_HOME/emacs ]; then - git clone --depth 1 https://github.com/doomemacs/doomemacs $XDG_CONFIG_HOME/emacs - $XDG_CONFIG_HOME/emacs/bin/doom install "$@" -else - echo "fatal: $XDG_CONFIG_HOME/emacs already exists!" -fi diff --git a/hosts/Infini-DESKTOP/install.bash b/hosts/Infini-DESKTOP/install.bash index 5c0fc65..a291583 100755 --- a/hosts/Infini-DESKTOP/install.bash +++ b/hosts/Infini-DESKTOP/install.bash @@ -44,11 +44,6 @@ sudo nixos-install --flake /etc/nixos#Infini-DESKTOP --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -sudo mkdir -p /mnt/persist/home/infinidoge/.config/emacs -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config # install_extra ends here # [[file:readme.org::cleanup][cleanup]] diff --git a/hosts/Infini-DESKTOP/readme.org b/hosts/Infini-DESKTOP/readme.org index 814493f..8784d65 100644 --- a/hosts/Infini-DESKTOP/readme.org +++ b/hosts/Infini-DESKTOP/readme.org @@ -152,11 +152,6 @@ sudo nixos-install --flake /etc/nixos#Infini-DESKTOP --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -sudo mkdir -p /mnt/persist/home/infinidoge/.config/emacs -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config #+END_SRC ** Cleanup diff --git a/hosts/Infini-FRAMEWORK/install.bash b/hosts/Infini-FRAMEWORK/install.bash index e659fcc..bb1a965 100755 --- a/hosts/Infini-FRAMEWORK/install.bash +++ b/hosts/Infini-FRAMEWORK/install.bash @@ -44,11 +44,6 @@ sudo nixos-install --flake /etc/nixos#Infini-FRAMEWORK --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -sudo mkdir -p /mnt/persist/home/infinidoge/.config/emacs -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config # install_extra ends here # [[file:readme.org::cleanup][cleanup]] diff --git a/hosts/Infini-FRAMEWORK/readme.org b/hosts/Infini-FRAMEWORK/readme.org index 2aea834..bbc1157 100644 --- a/hosts/Infini-FRAMEWORK/readme.org +++ b/hosts/Infini-FRAMEWORK/readme.org @@ -162,11 +162,6 @@ sudo nixos-install --flake /etc/nixos#Infini-FRAMEWORK --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -sudo mkdir -p /mnt/persist/home/infinidoge/.config/emacs -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config #+END_SRC ** Cleanup diff --git a/hosts/Infini-OPTIPLEX/install.bash b/hosts/Infini-OPTIPLEX/install.bash index fffb24d..4854867 100755 --- a/hosts/Infini-OPTIPLEX/install.bash +++ b/hosts/Infini-OPTIPLEX/install.bash @@ -49,10 +49,6 @@ sudo chown -R infinidoge /mnt/persist/etc/nixos /mnt/persist/etc/nixos-private git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe.git /mnt/persist/etc/nixos git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe-private.git /mnt/persist/etc/nixos-private - -echo "LOG: Installing Doom Emacs" -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom install --no-config --force # install_extra ends here # [[file:readme.org::cleanup][cleanup]] diff --git a/hosts/Infini-OPTIPLEX/install_extras.bash b/hosts/Infini-OPTIPLEX/install_extras.bash index 2718c2b..598c176 100755 --- a/hosts/Infini-OPTIPLEX/install_extras.bash +++ b/hosts/Infini-OPTIPLEX/install_extras.bash @@ -6,9 +6,5 @@ sudo chown -R infinidoge /mnt/persist/etc/nixos /mnt/persist/etc/nixos-private git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe.git /mnt/persist/etc/nixos git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe-private.git /mnt/persist/etc/nixos-private - -echo "LOG: Installing Doom Emacs" -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom install --no-config --force # install_extra ends here # install_extras ends here diff --git a/hosts/Infini-OPTIPLEX/readme.org b/hosts/Infini-OPTIPLEX/readme.org index 715033f..e09f8b1 100644 --- a/hosts/Infini-OPTIPLEX/readme.org +++ b/hosts/Infini-OPTIPLEX/readme.org @@ -177,10 +177,6 @@ sudo chown -R infinidoge /mnt/persist/etc/nixos /mnt/persist/etc/nixos-private git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe.git /mnt/persist/etc/nixos git clone --no-hardlinks --progress ssh://git@github.com/infinidoge/universe-private.git /mnt/persist/etc/nixos-private - -echo "LOG: Installing Doom Emacs" -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom install --no-config --force #+END_SRC ** Cleanup diff --git a/hosts/Infini-SERVER/install.bash b/hosts/Infini-SERVER/install.bash index 100837f..60063e9 100755 --- a/hosts/Infini-SERVER/install.bash +++ b/hosts/Infini-SERVER/install.bash @@ -44,10 +44,6 @@ sudo nixos-install --flake /etc/nixos#Infini-SERVER --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config # install_extra ends here # [[file:readme.org::cleanup][cleanup]] diff --git a/hosts/Infini-SERVER/readme.org b/hosts/Infini-SERVER/readme.org index 4b19041..9c5a329 100644 --- a/hosts/Infini-SERVER/readme.org +++ b/hosts/Infini-SERVER/readme.org @@ -165,10 +165,6 @@ sudo nixos-install --flake /etc/nixos#Infini-SERVER --no-root-password echo "LOG: Cloning configuration" sudo chown -R infinidoge /mnt/persist/etc/nixos git clone --no-hardlinks --progress https://gitlab.com/infinidoge/universe.git /mnt/persist/etc/nixos - -echo "LOG: Installing Doom Emacs" -git clone --no-hardlinks --progress --depth 1 https://github.com/doomemacs/doomemacs /mnt/persist/home/infinidoge/.config/emacs -HOME=/mnt/persist/home/infinidoge /mnt/persist/home/infinidoge/.config/emacs/bin/doom -y install --no-config #+END_SRC ** Cleanup diff --git a/readme.md b/readme.md index da8d331..e3524c6 100644 --- a/readme.md +++ b/readme.md @@ -23,7 +23,6 @@ Some parts of Digga's library is replicated in [lib/digga.nix](./lib/digga.nix) Miscellaneous scripts that I use elsewhere as part of my configuration. - `bwrap.bash`: A bubble-wrap script used for running Nix on systems where it shouldn't be. See https://ersei.net/en/blog/its-nixin-time -- `install-doom.bash`: A script to install Doom Emacs if it doesn't already exist ### `/hosts` @@ -35,7 +34,7 @@ These source blocks are tangled to the respective bash scripts, which are used f Summary of what the scripts do - `prep.bash /path/to/dev/disk`: Partitions and formats the given disk. -- `install.bash /path/to/dev/disk`: Mounts the file systems, then runs all commands for an installation, including cloning the configuration into `/etc/nixos` and installing Doom Emacs to `.config/emacs` +- `install.bash /path/to/dev/disk`: Mounts the file systems, then runs all commands for an installation, including cloning the configuration into `/etc/nixos` - `bare_install.bash`: Just runs `nixos-install` - `mount.bash /path/to/dev/disk`: Mounts the file systems as in `install.bash`. - `data_setup.bash /path/to/dev/disk`: Partitions the disk as a separate data storage; Used for Infini-SERVER. @@ -175,7 +174,6 @@ Modules that add new home manager functionality. Home Manager gettings that are set globally. - `direnv.nix` -- `emacs.nix` - `flameshot.nix` - `git.nix` - `gpg.nix` @@ -218,5 +216,4 @@ My setup is pretty extensive, but reading it isn't too particularly difficult. - `ssh-keys.nix`: My SSH public keys. - `config`: The parts of my dotfiles that I can't write in Nix. Mainly uses home manager to put files in the right place - `default.nix`: Pulls in the configuration files and puts them where they belong. Also defines my neofetch output. - - `doom`: My Doom Emacs configuration. Doom Emacs is my editor and home, and I use it extensively. - `qtile`: My Qtile configuration. Qtile is my home of homes, the environment I am pretty literally always in while on my computers. diff --git a/todo.md b/todo.md index b214d6d..6b8273e 100644 --- a/todo.md +++ b/todo.md @@ -32,7 +32,7 @@ - [ ] Generate host SSH keys and rekey secrets - https://github.com/NixOS/nixpkgs/blob/1042fd8b148a9105f3c0aca3a6177fd1d9360ba5/nixos/modules/services/networking/ssh/sshd.nix#L561-L576 - [ ] Generate basic configuration in universe -- [ ] Install extras like doom +- [ ] Install extras # SSH keys revamp - [ ] Put SSH host keys in host folders diff --git a/users/infinidoge/config/default.nix b/users/infinidoge/config/default.nix index 2611c5f..7b95c74 100644 --- a/users/infinidoge/config/default.nix +++ b/users/infinidoge/config/default.nix @@ -2,14 +2,6 @@ with lib; { xdg.configFile = { - "doom" = mkIf config.programs.emacs.enable { - source = ./doom; - onChange = '' - echo "[doom] applying doom configuration" - PATH="${config.home.path}/bin:$PATH" ${config.xdg.configHome}/emacs/bin/doom sync -e - ''; - }; - "neofetch/config.conf".source = pkgs.substituteAll { src = ./neofetch.conf; diff --git a/users/infinidoge/config/doom/config.el b/users/infinidoge/config/doom/config.el deleted file mode 100644 index f538a82..0000000 --- a/users/infinidoge/config/doom/config.el +++ /dev/null @@ -1,160 +0,0 @@ -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! - - -;; --- Identity --- -(setq - user-full-name "Infinidoge" - user-mail-address "infinidoge@doge-inc.net" - ) - -;; --- Appearance --- -(setq - doom-theme 'doom-one - display-line-numbers-type 'relative - doom-modeline-enable-word-count t - nerd-icons-font-family "Symbols Nerd Fonts Mono" - nerd-icons-font-names '("SymbolsNerdFontMono-Regular.ttf") - ) - -;; --- Projectile ---- -(setq - projectile-indexing-method 'hybrid - projectile-project-search-path '("~/Projects/") - ) - -;; --- Treemacs --- -(use-package! treemacs - :init - (setq +treemacs-git-mode 'extended) - ) - -;; --- Deft --- -(setq - deft-recursive t - deft-directory "~/Notes/" - ) - -(map! :map deft-mode-map - :n "gr" #'deft-refresh - :n "C-s" #'deft-filter - :i "C-n" #'deft-new-file - :i "C-m" #'deft-new-file-named - :i "C-d" #'deft-delete-file - :i "C-r" #'deft-rename-file - :n "r" #'deft-rename-file - :n "a" #'deft-new-file - :n "A" #'deft-new-file-named - :n "d" #'deft-delete-file - :n "D" #'deft-archive-file - :n "q" #'kill-current-buffer) - -;; --- Tramp --- -(setq - tramp-default-method "ssh" - tramp-terminal-type "tramp" - ) - -;; --- Flyspell --- -(after! flyspell - (setq flyspell-lazy-idle-seconds 1)) - -;; --- Emms --- -;; (setq -;; emms-volume-change-function 'emms-volume-mpd-change -;; emms-player-mpd-server-name "localhost" -;; emms-player-mpd-server-port "6600" -;; emms-player-mpd-music-directory "~/Music" -;; ) - -;; (add-to-list 'emms-info-functions 'emms-info-mpd) -;; (add-to-list 'emms-player-list 'emms-player-mpd) - -;; --- GnuPG --- -(setq epg-pinentry-mode 'loopback) - -;; --- Evil Goggles --- -(use-package! evil-goggles - :config - ;; (evil-goggles-use-diff-faces) - ;; (evil-goggles-use-diff-refine-faces) - (evil-goggles-use-magit-faces) - ) - -(setq - evil-goggles-duration 0.1 - evil-goggles-pulse nil - evil-goggles-enable-change t - evil-goggles-enable-delete t - ) - -;; (custom-set-faces -;; '(evil-goggles-default-face ((t (:inherit 'highlight))))) - -;; --- Undo --- -(setq - evil-want-fine-undo t - undo-limit 80000000 - ) - -;; --- Nix --- -;; Replace nixfmt in format-all with nixpkgs-fmt -(set-formatter! 'nixfmt (list "nixpkgs-fmt") :modes '(nix-mode)) - -;; --- JSON --- -(setq js-indent-level 2) -(after! editorconfig - (add-to-list 'editorconfig-indentation-alist '(json-mode js-indent-level))) - -;; --- LSP --- -(setq lsp-csharp-server-path (executable-find "omnisharp")) -(setq lsp-clients-lua-language-server-bin (executable-find "lua-language-server")) -(setq lsp-haskell-formatting-provider "ormolu") -(setq lsp-java-format-settings-url (concat doom-user-dir "misc/java_formatting.xml")) -(setq lsp-java-completion-filtered-types [ "java.awt.List" "com.sun.*" "org.w3c.*" "jdk.*" ]) - -(after! lsp-mode - (add-to-list 'lsp-disabled-clients 'ccls) - ) - -;; --- --- Original Configuration Comments --- --- -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: -;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for -;; presentations or streaming. -;; -;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd -;; font string. You generally only need these two: -;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) -;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. -;; -;; Here are some additional functions/macros that could help you configure Doom: -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. - -;; Other configuration files -(load! "config/org") -(load! "config/keybindings") -(load! "misc/list-mode") diff --git a/users/infinidoge/config/doom/config/keybindings.el b/users/infinidoge/config/doom/config/keybindings.el deleted file mode 100644 index b73412e..0000000 --- a/users/infinidoge/config/doom/config/keybindings.el +++ /dev/null @@ -1,60 +0,0 @@ -;; --- Keybindings --- -(map! - ;; Remove scroll-left and scroll-right keybindings - "C-" nil - "C-" nil - ) - -(map! - :map evil-window-map - ;; Unbind Vim HJKL keys - "h" nil - "H" nil - "C-h" nil - "C-S-h" nil - - "j" nil - "J" nil - "C-j" nil - "C-S-j" nil - - "k" nil - "K" nil - "C-k" nil - "C-S-k" nil - - "l" nil - "L" nil - "C-l" nil - "C-S-l" nil - - ;; Rebind to arrow keys - "" #'evil-window-left - "C-" #'evil-window-left - "S-" #'+evil/window-move-left - "C-S-" #'evil-window-move-far-left - - "" #'evil-window-right - "C-" #'evil-window-right - "S-" #'+evil/window-move-right - "C-S-" #'evil-window-move-far-right - - "" #'evil-window-up - "C-" #'evil-window-up - "S-" #'+evil/window-move-up - "C-S-" #'evil-window-move-very-top - - "" #'evil-window-down - "C-" #'evil-window-down - "S-" #'+evil/window-move-down - "C-S-" #'evil-window-move-very-bottom - ) - -(map! - :map which-key-C-h-map - "j" nil - "" #'which-key-show-next-page-cycle - - "k" nil - "" #'which-key-show-previous-page-cycle - ) diff --git a/users/infinidoge/config/doom/config/org.el b/users/infinidoge/config/doom/config/org.el deleted file mode 100644 index 7c7dd35..0000000 --- a/users/infinidoge/config/doom/config/org.el +++ /dev/null @@ -1,104 +0,0 @@ -;; --- Org Mode -(setq - ;; Directories - org-directory "~/Documents/Org" - org-agenda-files '("~/Documents/" "~/Notes/" "~/Documents/Org/" "~/Documents/Org/agenda/" "~/Projects/" "~/Documents/School/") - - ;; General settings - org-use-speed-commands t - org-list-demote-modify-bullet '(("-" . "+") ("+" . "-") ("1." . "a.")) - ;; org-list-demote-modify-bullet '(("-" . "-") ("1." . "a.")) - org-list-allow-alphabetical t - org-startup-shrink-all-tables t - org-startup-align-all-tables t - org-src-fontify-natively t - org-edit-src-content-indentation 0 - org-display-custom-times nil - org-time-stamp-custom-formats '("<%d %b %Y>" . "<%y/%m/%d %a %H:%M:%S>") - org-link-descriptive nil - - ;; Export - org-latex-tables-centered nil - org-latex-src-block-backend 'minted - org-latex-packages-alist '(("" "minted" "listingsutf8") ("cdot" "SIunits")) - org-latex-pdf-process - '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f" - "biber %b" - "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f" - "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f") - ) - -;; Run formatters in org src blocks on save -(defun infinidoge/format-org-src-blocks () - (save-excursion - (org-babel-map-src-blocks nil - (if (equal (alist-get :format (org-babel-parse-header-arguments header-args) "yes") - "yes") - (+format--org-region nil nil))))) - -(add-hook 'before-save-hook 'infinidoge/format-org-src-blocks) - -;; Unescape and Escape code in org src blocks before/after formatting to prevent org's escaping from messing with formatting -(defun infinidoge/before-format--org-region (beg end) - (let ((element (org-element-at-point))) - (save-excursion - (let* ((block-beg (save-excursion - (goto-char (org-babel-where-is-src-block-head element)) - (line-beginning-position 2))) - (block-end (save-excursion - (goto-char (org-element-property :end element)) - (skip-chars-backward " \t\n") - (line-beginning-position))) - (beg (if beg (max beg block-beg) block-beg)) - (end (if end (min end block-end) block-end)) - (lang (org-element-property :language element)) - (major-mode (org-src-get-lang-mode lang))) - (if (eq major-mode 'org-mode) - (user-error "Cannot reformat an org src block in org-mode") - (org-unescape-code-in-region beg end))))) - ) - -(defun infinidoge/after-format--org-region (beg end) - (let ((element (org-element-at-point))) - (save-excursion - (let* ((block-beg (save-excursion - (goto-char (org-babel-where-is-src-block-head element)) - (line-beginning-position 2))) - (block-end (save-excursion - (goto-char (org-element-property :end element)) - (skip-chars-backward " \t\n") - (line-beginning-position))) - (beg (if beg (max beg block-beg) block-beg)) - (end (if end (min end block-end) block-end)) - (lang (org-element-property :language element)) - (major-mode (org-src-get-lang-mode lang))) - (if (eq major-mode 'org-mode) - (user-error "Cannot reformat an org src block in org-mode") - (org-escape-code-in-region beg end))))) - ) - -(advice-add '+format--org-region :before #'infinidoge/before-format--org-region) -(advice-add '+format--org-region :after #'infinidoge/after-format--org-region) - -;; Automatically tangle src blocks on save -(defun infinidoge/tangle-on-save () - (when (eq major-mode 'org-mode) - (org-babel-tangle))) - -(add-hook 'after-save-hook 'infinidoge/tangle-on-save) - -;; Setup ox-extras to allow ignoring headlines while keeping content -(use-package! ox-extra - :config - (ox-extras-activate '(ignore-headlines))) - -(add-to-list 'org-latex-classes - '("apa7" - "\\documentclass{apa7}" - ("\\section{%s}" . "\\section*{%s}") - ("\\subsection{%s}" . "\\subsection*{%s}") - ("\\subsubsection{%s}" . "\\subsubsection*{%s}") - ("\\paragraph{%s}" . "\\paragraph*{%s}") - ("\\subparagraph{%s}" . "\\subparagraph*{%s}") - ) - ) diff --git a/users/infinidoge/config/doom/init.el b/users/infinidoge/config/doom/init.el deleted file mode 100644 index 1155cd1..0000000 --- a/users/infinidoge/config/doom/init.el +++ /dev/null @@ -1,198 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a "Module Index" link where you'll find -;; a comprehensive list of Doom's modules and what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). - -(doom! - :completion - company ; the ultimate code completion backend TODO: Consider +childframe - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;; (ivy +icons) ; a search engine for love and life TODO: Consider +childrame, +fuzzy, +prescient - (vertico +icons) - - :ui - deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;(emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - indent-guides ; highlighted indent columns - ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - ;; (tabs +centaur-tabs) ; a tab bar for Emacs - treemacs ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces - ;;zen ; distraction-free coding or writing - - :editor - (evil +everywhere) ; come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - (format +onsave) ; automated prettiness - ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - multiple-cursors ; editing in many places at once - ;;parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates TODO: Consider enabling - snippets ; my elves. They type so I don't have to - ;;word-wrap ; soft wrapping with language-aware indent - - :emacs - (dired ; making dired pretty [functional] - +ranger - +icons) - ;; electric ; smarter, keyword-based electric-indent - (ibuffer +icons) ; interactive buffer management - (undo +tree) ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - ;;eshell ; the elisp shell that works everywhere - ;;shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - (spell - +flyspell - +aspell - +everywhere) - grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - debugger ; FIXME stepping through code, to help you add bugs - direnv - docker - editorconfig ; let someone else argue about tabs vs spaces - ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - lookup ; navigate your code and its documentation - lsp - (magit +forge) ; a git porcelain for Emacs - make ; run make tasks from Emacs - ;; (pass +auth) ; password manager for nerds - pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree - ;;upload ; map local to remote projects via ssh/ftp - - :os - (:if IS-MAC macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience - - :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp - common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - (csharp +lsp) ; unity, .NET, and mono shenanigans - data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fsharp ; ML stands for Microsoft's Language - ;;fstar ; (dependent) types and (monadic) effects and Z3 - ;;gdscript ; the language you waited for - ;;(go +lsp) ; the hipster dialect - (haskell +lsp) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; a language you can depend on - json ; At least it ain't XML - (java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;; (kotlin +lsp) ; a better, slicker Java(Script) - latex ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - (lua +lsp +tree-sitter) ; one-based indices? one-based indices - (markdown +grip) ; writing docs for people to ignore - nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - (org ; organize your plain life in plain text - +dragndrop - ;; +jupyter - +pretty - +gnuplot - +roam2 - +present - ) - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - (python +lsp +pyright) ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - racket ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client - ;;rst ; ReST in peace - ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor - ;;sml - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - (web +tree-sitter) ; the tubes - yaml ; JSON, but readable - (zig +lsp +tree-sitter) ; C, but simpler - - :email - ;;(mu4e +gmail) - ;;notmuch - ;;(wanderlust +gmail) - - :app - calendar - emms - everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - ;;(rss +org) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - - :config - ;;literate - (default +bindings +smartparens) - ) - - -;; Set doom-private-dir to the writeable location, as opposed to read-only symlink in $DOOMDIR -(setq doom-user-dir "/etc/nixos/users/infinidoge/config/doom/") diff --git a/users/infinidoge/config/doom/misc/java_formatting.xml b/users/infinidoge/config/doom/misc/java_formatting.xml deleted file mode 100644 index 0417589..0000000 --- a/users/infinidoge/config/doom/misc/java_formatting.xml +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/users/infinidoge/config/doom/misc/list-mode.el b/users/infinidoge/config/doom/misc/list-mode.el deleted file mode 100644 index a9d513d..0000000 --- a/users/infinidoge/config/doom/misc/list-mode.el +++ /dev/null @@ -1,27 +0,0 @@ -;;; list-mode.el --- A major mode for highlighting https://lists.sh list files -;;; list-mode.el -*- lexical-binding: t; -*- -;;; Commentary: - -;;; Code: - -(define-generic-mode list-mode - '() - '() - '( - ("^\s*\\(=:\\)\\(?:\s\\([^\s]+?\\)?\\)?\\(?:\s\\(.+\\)?\\)?$" (1 font-lock-doc-face) (2 font-lock-variable-name-face) (3 font-lock-string-face)) - ("^\s*##?\\(?:\s.*\\)?$" . font-lock-type-face) - ("^\s*\\(=>\\)\\(?:\s\\([^\s]+?\\)?\\)?\\(?:\s\\(.+\\)?\\)?$" (1 font-lock-doc-face) (2 font-lock-keyword-face) (3 font-lock-doc-markup-face)) - ("^\s*\\(=<\\)\\(?:\s\\([^\s]+?\\)?\\)?\\(?:\s\\(.+\\)?\\)?$" (1 font-lock-doc-face) (2 font-lock-keyword-face) (3 font-lock-comment-face)) - ("^\s*\\(>\\).+$" 1 font-lock-doc-face) - ("^```$" . font-lock-doc-face) - ) - (list "\\.list\\.txt") - '((lambda () - (display-line-numbers-mode) - (set-syntax-table text-mode-syntax-table) - )) - "Major mode for editing https://lists.sh lists." - ) - -(provide 'list-mode) -;;; list-mode.el ends here diff --git a/users/infinidoge/config/doom/packages.el b/users/infinidoge/config/doom/packages.el deleted file mode 100644 index 4185de6..0000000 --- a/users/infinidoge/config/doom/packages.el +++ /dev/null @@ -1,53 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; To install a package with Doom you must declare them here and run 'doom sync' -;; on the command line, then restart Emacs for the changes to take effect -- or -;; use 'M-x doom/reload'. - - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: -;(package! some-package) - -;; To install a package directly from a remote git repo, you must specify a -;; `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/raxod502/straight.el#the-recipe-format -;(package! another-package -; :recipe (:host github :repo "username/repo")) - -;; If the package you are trying to install does not contain a PACKAGENAME.el -;; file, or is located in a subdirectory of the repo, you'll need to specify -;; `:files' in the `:recipe': -;(package! this-package -; :recipe (:host github :repo "username/repo" -; :files ("some-file.el" "src/lisp/*.el"))) - -;; If you'd like to disable a package included with Doom, you can do so here -;; with the `:disable' property: -;(package! builtin-package :disable t) - -;; You can override the recipe of a built in package without having to specify -;; all the properties for `:recipe'. These will inherit the rest of its recipe -;; from Doom or MELPA/ELPA/Emacsmirror: -;(package! builtin-package :recipe (:nonrecursive t)) -;(package! builtin-package-2 :recipe (:repo "myfork/package")) - -;; Specify a `:branch' to install a package from a particular branch or tag. -;; This is required for some packages whose default branch isn't 'master' (which -;; our package manager can't deal with; see raxod502/straight.el#279) -;(package! builtin-package :recipe (:branch "develop")) - -;; Use `:pin' to specify a particular commit to install. -;(package! builtin-package :pin "1a2b3c4d5e") - - -;; Doom's packages are pinned to a specific commit and updated from release to -;; release. The `unpin!' macro allows you to unpin single packages... -;(unpin! pinned-package) -;; ...or multiple packages -;(unpin! pinned-package another-pinned-package) -;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) -;(unpin! t) - -(package! emacsql-sqlite :built-in 'prefer) -(package! pdf-tools :built-in 'prefer) diff --git a/users/infinidoge/default.nix b/users/infinidoge/default.nix index 8c4d368..bd6e799 100644 --- a/users/infinidoge/default.nix +++ b/users/infinidoge/default.nix @@ -75,22 +75,11 @@ in "L+ /home/infinidoge/.local/share/jellyfinmediaplayer/scripts/mpris.so - - - - ${pkgs.mpvScripts.mpris}/share/mpv/scripts/mpris.so" ]; - #environment.variables.EDITOR = - # let - # pkg = config.home-manager.users.infinidoge.programs.emacs.package; - # editorScript = pkgs.writeScriptBin "emacseditor" '' - # #!${pkgs.runtimeShell} - # exec ${pkg}/bin/emacsclient --create-frame "$@" - # ''; - # in - # (lib.mkForce "${editorScript}/bin/emacseditor"); - fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "DejaVuSansMono" "NerdFontsSymbolsOnly" ]; }) dejavu_fonts - emacs-all-the-icons-fonts ]; fonts.fontconfig.defaultFonts = { diff --git a/users/modules/global/emacs.nix b/users/modules/global/emacs.nix deleted file mode 100644 index 7604fc9..0000000 --- a/users/modules/global/emacs.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ config, main, pkgs, lib, ... }: -lib.mkIf (main.info.graphical && !main.modules.hardware.form.portable) -{ - programs.emacs = { - enable = true; - extraPackages = epkgs: with epkgs; [ vterm pdf-tools emacsql-sqlite ]; - package = pkgs.emacs29; - }; - - services.emacs = { - enable = true; - client.enable = true; - }; - - home = { - sessionPath = [ - "${config.xdg.configHome}/emacs/bin" - ]; - - packages = with pkgs; lib.flatten [ - # --- Doom Emacs --- - mlocate - - # --- :tools --- - # :tools editorconfig - editorconfig-core-c - editorconfig-checker - - # --- :editor --- - # :editor format - nodePackages.prettier - - # --- :lang --- - # :lang org - ## +gnuplot - gnuplot - ## +roam2 - - # :lang common-lisp - sbcl - - # :lang docker - dockfmt - - # :lang latex - (texlive.combine { - inherit (texlive) - scheme-medium - - apa7 - apacite - biblatex - biblatex-apa - biblatex-chicago - capt-of minted - catchfile - endfloat - framed - fvextra - hanging - lipsum - mleftright - scalerel - threeparttable - upquote - wrapfig - xstring - ; - }) - biber - - # :lang markdown - # python3Packages.grip - python-grip - - # :lang sh - shellcheck - shfmt - - # :lang data - libxml2 - - # :lang web - html-tidy - stylelint - - # --- :checkers --- - # :checkers spell - ## +aspell - (aspellWithDicts (dicts: with dicts; [ en en-computers en-science ])) - - # :checkers grammar - languagetool - ]; - }; -} diff --git a/users/modules/global/gpg.nix b/users/modules/global/gpg.nix index f5e866f..bf77234 100644 --- a/users/modules/global/gpg.nix +++ b/users/modules/global/gpg.nix @@ -25,7 +25,6 @@ enable = true; pinentryPackage = (if main.info.graphical then pkgs.pinentry-qt else pkgs.pinentry-curses); extraConfig = '' - allow-emacs-pinentry allow-loopback-pinentry ''; }; diff --git a/users/modules/global/programming.nix b/users/modules/global/programming.nix index 147c593..ae5c960 100644 --- a/users/modules/global/programming.nix +++ b/users/modules/global/programming.nix @@ -4,6 +4,9 @@ let in { home.packages = with pkgs; flatten [ + editorconfig-core-c + editorconfig-checker + # C gcc gdb @@ -74,6 +77,38 @@ in # Zig zig zls + + # LaTeX + (texlive.combine { + inherit (texlive) + scheme-medium + + apa7 + apacite + biblatex + biblatex-apa + biblatex-chicago + capt-of + minted + catchfile + endfloat + framed + fvextra + hanging + lipsum + mleftright + scalerel + threeparttable + upquote + wrapfig + xstring + ; + }) + biber + + # html + html-tidy + nodePackages.prettier ]; programs.java.enable = true; diff --git a/users/modules/global/shells/zsh.nix b/users/modules/global/shells/zsh.nix index 3875d4b..8e3346f 100644 --- a/users/modules/global/shells/zsh.nix +++ b/users/modules/global/shells/zsh.nix @@ -8,8 +8,6 @@ autosuggestion.enable = true; syntaxHighlighting.enable = true; - # defaultKeymap = "emacs"; - initExtraFirst = '' [[ $TERM == "tramp" ]] && unsetopt zle && PS1='$ ' && return '';