From 6301d3679838f664e996b35152ebc399dfba8f81 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sat, 4 Jul 2026 23:01:21 +0800 Subject: [PATCH] feat: Remove Doom Emacs and Spacemacs --- flake.lock | 264 ++++-------------- flake.nix | 18 -- .../configurations/Tytonidae/default.nix | 1 - .../modules/programs/spacemacs/default.nix | 48 ---- nixos/configurations/Tytonidae/default.nix | 1 - overlays/additions/default.nix | 1 - overlays/additions/doom-emacs.nix | 5 - pkgs/doom-emacs/config/config.el | 101 ------- pkgs/doom-emacs/config/init.el | 199 ------------- pkgs/doom-emacs/package.nix | 65 ----- 10 files changed, 50 insertions(+), 653 deletions(-) delete mode 100644 home/david/modules/programs/spacemacs/default.nix delete mode 100644 overlays/additions/doom-emacs.nix delete mode 100644 pkgs/doom-emacs/config/config.el delete mode 100644 pkgs/doom-emacs/config/init.el delete mode 100644 pkgs/doom-emacs/package.nix diff --git a/flake.lock b/flake.lock index ef1be21..ebb09ce 100644 --- a/flake.lock +++ b/flake.lock @@ -178,80 +178,6 @@ "type": "github" } }, - "doomemacs": { - "flake": false, - "locked": { - "lastModified": 1783093997, - "narHash": "sha256-oIZAGdY1EYMWUyuHMSlLGk9Zv5iEYXigZ4v3bSgdr6c=", - "owner": "doomemacs", - "repo": "core", - "rev": "8e4fbbae048a9abe897bf1878cbd32732a6d41d7", - "type": "github" - }, - "original": { - "owner": "doomemacs", - "repo": "core", - "type": "github" - } - }, - "doomemacs-modules": { - "flake": false, - "locked": { - "lastModified": 1782931200, - "narHash": "sha256-jzC96RZXEVuGD+qdoTmuzd8PcrqnH+38B7jc6kVfTeQ=", - "owner": "doomemacs", - "repo": "modules", - "rev": "7a3c5a14ec18b088183166dfab560000078e4bea", - "type": "github" - }, - "original": { - "owner": "doomemacs", - "repo": "modules", - "type": "github" - } - }, - "emacs-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1783162655, - "narHash": "sha256-ZrgaXb1OPAcDU3QJMLlNfT52dF2wBWuX8O2Txbi/4lo=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "37c0aa1964dfa3e8b224d8d692ff5468efafa0eb", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, - "emacs-overlay_2": { - "inputs": { - "nixpkgs": [ - "nix-doom" - ], - "nixpkgs-stable": [ - "nix-doom" - ] - }, - "locked": { - "lastModified": 1783159924, - "narHash": "sha256-VP3EBFYtVa6Kz9kxgZgVyk5zPGKCTkde7PEGUdgcHFQ=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "2eeddeceb43a18a712988529fbb97a8347dcb3d9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -414,7 +340,7 @@ }, "helix": { "inputs": { - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "rust-overlay": "rust-overlay" }, "locked": { @@ -455,7 +381,7 @@ "lanzaboote": { "inputs": { "crane": "crane", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "pre-commit": "pre-commit", "rust-overlay": "rust-overlay_2" }, @@ -481,7 +407,7 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-stable": "nixpkgs-stable", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, @@ -540,7 +466,7 @@ "flake-parts": [ "flake-parts" ], - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1783104700, @@ -556,33 +482,9 @@ "type": "github" } }, - "nix-doom": { - "inputs": { - "doomemacs": "doomemacs", - "doomemacs-modules": "doomemacs-modules", - "emacs-overlay": "emacs-overlay_2", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_2" - }, - "locked": { - "lastModified": 1783160885, - "narHash": "sha256-l1xCEgpUPiMYFlrmp2MdOO13kEX2JaoDmIaWulUlO2s=", - "owner": "marienz", - "repo": "nix-doom-emacs-unstraightened", - "rev": "1d122450adecd567d21ace6a46334e0c409a020e", - "type": "github" - }, - "original": { - "owner": "marienz", - "repo": "nix-doom-emacs-unstraightened", - "type": "github" - } - }, "nixos-hardware": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1782562157, @@ -643,22 +545,6 @@ } }, "nixpkgs-stable": { - "locked": { - "lastModified": 1782999065, - "narHash": "sha256-5Dgj5+pIQYZKrXUGaLCk7CKfN3MmpwIhO94++WVxvng=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "80d591ed473cfc46329932c2aadac9b435342c7c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { "locked": { "lastModified": 1782847189, "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=", @@ -674,39 +560,7 @@ "type": "github" } }, - "nixpkgs_10": { - "locked": { - "lastModified": 1770107345, - "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { - "locked": { - "lastModified": 1782959384, - "narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1775036866, "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", @@ -722,7 +576,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1781577229, "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", @@ -738,7 +592,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1783089885, "narHash": "sha256-02ary8OtZROV9b1sqlNaU2NEhzA706qmTBfX8Alvyk0=", @@ -754,7 +608,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1767892417, "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", @@ -767,7 +621,7 @@ "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1782959384, "narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=", @@ -783,23 +637,23 @@ "type": "github" } }, + "nixpkgs_7": { + "locked": { + "lastModified": 1782959384, + "narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_8": { - "locked": { - "lastModified": 1782959384, - "narHash": "sha256-xnJJk+ct+D2+wdRxj1wk36w5zV9RVESwRqcklPdt3fM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "65179426c83bb3f6bc14898b42ea1c6f01d374b0", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { "locked": { "lastModified": 1782467914, "narHash": "sha256-inDx/w70OSJoJPqtKh0BrzAsbZZhpya7YgS43jHnhwg=", @@ -812,6 +666,22 @@ "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1770107345, + "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "noctalia": { "inputs": { "nixpkgs": [ @@ -840,7 +710,7 @@ "noctalia", "nixpkgs" ], - "systems": "systems_3", + "systems": "systems_2", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -860,7 +730,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1783174895, @@ -929,22 +799,19 @@ "dae-flake": "dae-flake", "deploy-rs": "deploy-rs", "disko": "disko", - "emacs-overlay": "emacs-overlay", "flake-parts": "flake-parts", "helix": "helix", "home-manager": "home-manager", "lanzaboote": "lanzaboote", "niri-flake": "niri-flake", "nix-cachyos-kernel": "nix-cachyos-kernel", - "nix-doom": "nix-doom", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "nixpkgs-patch-rqbit-bump": "nixpkgs-patch-rqbit-bump", "nixpkgs-patcher": "nixpkgs-patcher", "noctalia": "noctalia", "nur": "nur", "sops-nix": "sops-nix", - "spacemacs": "spacemacs", "spicetify-nix": "spicetify-nix", "stylix": "stylix", "treefmt-nix": "treefmt-nix_2", @@ -1013,26 +880,10 @@ "type": "github" } }, - "spacemacs": { - "flake": false, - "locked": { - "lastModified": 1782449399, - "narHash": "sha256-4nF8LMfAwN66a5JAgC2inhFgzW3m/oHFATlm1F6f+tE=", - "owner": "syl20bnr", - "repo": "spacemacs", - "rev": "a34310ecbbb85fa9a125caee8fba227af1f94fcf", - "type": "github" - }, - "original": { - "owner": "syl20bnr", - "repo": "spacemacs", - "type": "github" - } - }, "spicetify-nix": { "inputs": { - "nixpkgs": "nixpkgs_9", - "systems": "systems_4" + "nixpkgs": "nixpkgs_8", + "systems": "systems_3" }, "locked": { "lastModified": 1782898510, @@ -1063,7 +914,7 @@ "nixpkgs" ], "nur": "nur_2", - "systems": "systems_5", + "systems": "systems_4", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", @@ -1099,21 +950,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1128,7 +964,7 @@ "type": "github" } }, - "systems_4": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1143,7 +979,7 @@ "type": "github" } }, - "systems_5": { + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1246,7 +1082,7 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1780220602, diff --git a/flake.nix b/flake.nix index 4d39e3e..bf5175f 100644 --- a/flake.nix +++ b/flake.nix @@ -180,24 +180,6 @@ ref = "v1.1.0"; }; - nix-doom = { - type = "github"; - owner = "marienz"; - repo = "nix-doom-emacs-unstraightened"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - spacemacs = { - type = "github"; - owner = "syl20bnr"; - repo = "spacemacs"; - flake = false; - }; - emacs-overlay = { - type = "github"; - owner = "nix-community"; - repo = "emacs-overlay"; - }; - noctalia = { type = "github"; owner = "noctalia-dev"; diff --git a/home/david/configurations/Tytonidae/default.nix b/home/david/configurations/Tytonidae/default.nix index 6682307..fe1c0e7 100644 --- a/home/david/configurations/Tytonidae/default.nix +++ b/home/david/configurations/Tytonidae/default.nix @@ -54,7 +54,6 @@ zen-browser.enable = true; openssh.enable = true; helix.enable = true; - # spacemacs.enable = true; radicle.enable = true; }; }; diff --git a/home/david/modules/programs/spacemacs/default.nix b/home/david/modules/programs/spacemacs/default.nix deleted file mode 100644 index c13e569..0000000 --- a/home/david/modules/programs/spacemacs/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - config, - pkgs, - lib, - inputs, - ... -}: let - inherit (inputs) nixpkgs emacs-overlay spacemacs; - inherit (pkgs) system; - cfg = config.david.programs.spacemacs; - pkgs' = import nixpkgs { - localSystem = {inherit system;}; - overlays = [emacs-overlay.overlays.default]; - }; -in { - options = { - david.programs.spacemacs = { - enable = lib.mkEnableOption "spacemacs"; - }; - }; - config = lib.mkIf cfg.enable { - stylix.targets.emacs.enable = false; - xdg.configFile = { - emacs = { - source = "${spacemacs}"; - recursive = true; - }; - }; - programs.emacs = { - enable = true; - package = with pkgs'; - (emacsPackagesFor emacs-pgtk).emacsWithPackages (_epkgs: [ - git - gnutar - ripgrep - ]); - }; - services.emacs = { - client = { - enable = true; - }; - defaultEditor = false; - enable = true; - socketActivation.enable = true; - startWithUserSession = true; - }; - }; -} diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index baa0fad..765a160 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -114,7 +114,6 @@ juicity waypipe iperf3 - doom-emacs neovide prismlauncher diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index bb4afd5..5802421 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -9,7 +9,6 @@ in ./editor-runtime.nix ./wallpapers.nix ./rime-all.nix - ./doom-emacs.nix ./iosevka-serif_fixed.nix ./pkgsNoCuda.nix diff --git a/overlays/additions/doom-emacs.nix b/overlays/additions/doom-emacs.nix deleted file mode 100644 index 425977c..0000000 --- a/overlays/additions/doom-emacs.nix +++ /dev/null @@ -1,5 +0,0 @@ -{outputs, ...}: _final: prev: let - inherit (prev.stdenv.hostPlatform) system; -in { - inherit (outputs.packages.${system}) doom-emacs; -} diff --git a/pkgs/doom-emacs/config/config.el b/pkgs/doom-emacs/config/config.el deleted file mode 100644 index 6ef199e..0000000 --- a/pkgs/doom-emacs/config/config.el +++ /dev/null @@ -1,101 +0,0 @@ -;;; config.el -*- lexical-binding: t; -*- - -;;; Fix non-POSIX SHELL -(setq shell-file-name - (executable-find "bash")) -(let ((fish-exe (executable-find "fish"))) - (setq-default vterm-shell - fish-exe) - (setq-default explicit-shell-file-name - fish-exe)) - -(setq doom-font (font-spec - :family "MonoLisa" - :size 20)) -(setq doom-theme 'doom-one-light) -;;; Fix failure to locate 'Symbols Nerd Font Mono' font -(setq nerd-icons-font-family "Maple Mono NF CN") - -(setq telega-emoji-use-images - nil) - -(map! :map global-map - "C-c t" - telega-prefix-map) - -(setq display-line-numbers-type - 'relative) - -(add-hook 'telega-load-hook - 'telega-notifications-mode) - -(defvar my/emacs-deps-exec-path (seq-filter - (lambda (p) - (string-match-p - "/nix/store/.*-emacs-packages-deps/bin" - p)) - exec-path)) - -(advice-add #'envrc--update - :after #'(lambda () - (setq exec-path - (append exec-path - my/emacs-deps-exec-path)))) - -(defun +telega-save-file-to-clipboard (msg) - "Save file at point to clipboard. -NOTE: wayland only." - (interactive (list (telega-msg-for-interactive))) - (let ((file (telega-msg--content-file msg))) - (unless file - (user-error "No file associated with message")) - (telega-file--download file - :priority 32 - :update-callback - (lambda (dfile) - (telega-msg-redisplay msg) - (message "Wait for downloading to finish…") - (when (telega-file--downloaded-p dfile) - (let* ((fpath (telega--tl-get dfile :local :path))) - (shell-command (format "wl-copy < \"%s\"" fpath)) - (message (format "File saved to clipboard: %s" fpath)))))))) - -(map! :map global-map - "C-c n" - #'company-nixos-options) - -(with-eval-after-load 'evil - (scroll-on-jump-advice-add evil-redo) - (scroll-on-jump-advice-add evil-jump-item) - (scroll-on-jump-advice-add evil-jump-forward) - (scroll-on-jump-advice-add evil-jump-backward) - (scroll-on-jump-advice-add evil-ex-search-next) - (scroll-on-jump-advice-add evil-ex-search-previous) - (scroll-on-jump-advice-add evil-forward-paragraph) - (scroll-on-jump-advice-add evil-backward-paragraph) - (scroll-on-jump-advice-add evil-goto-mark) - - ;; Actions that themselves scroll. - (scroll-on-jump-with-scroll-advice-add evil-goto-line) - (scroll-on-jump-with-scroll-advice-add evil-goto-first-line) - (scroll-on-jump-with-scroll-advice-add evil-scroll-down) - (scroll-on-jump-with-scroll-advice-add evil-scroll-up) - (scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-center) - (scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-top) - (scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-bottom) - (scroll-on-jump-with-scroll-advice-add evil-scroll-page-down) - (scroll-on-jump-with-scroll-advice-add evil-scroll-page-up)) -(with-eval-after-load 'goto-chg - (scroll-on-jump-advice-add goto-last-change) - (scroll-on-jump-advice-add goto-last-change-reverse)) - -(global-set-key (kbd "") (scroll-on-jump-interactive 'diff-hl-next-hunk)) -(global-set-key (kbd "") (scroll-on-jump-interactive 'diff-hl-previous-hunk)) - -(use-package org-modern-mode - :hook - (org-mode . org-modern-mode) - (org-agenda-finalize . org-modern-agenda) - :config - (setq org-modern-hide-stars nil - org-modern-table nil)) diff --git a/pkgs/doom-emacs/config/init.el b/pkgs/doom-emacs/config/init.el deleted file mode 100644 index 10af537..0000000 --- a/pkgs/doom-emacs/config/init.el +++ /dev/null @@ -1,199 +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 link to Doom's Module Index where all -;; of our modules are listed, including 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). - -;; typochecker: off - -(doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - (company +childframe) ; the ultimate code completion backend - ;;(corfu +orderless) ; complete with cap(f), cape and a flying feather! - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - (vertico +icons) ; the search engine of the future - - :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 - smooth-scroll ; So smooth you won't believe it's not butter - tabs ; a tab bar for Emacs - treemacs ; a project drawer, like neotree but cooler - unicode ; extended unicode support for various languages - (vc-gutter +pretty) ; 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 - ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates - 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] - electric ; smarter, keyword-based electric-indent - ;;eww ; the internet is gross - ibuffer ; interactive buffer management - undo ; 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) ; tasing you for misspelling mispelling - ;;grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - ;;biblio ; Writes a PhD for you (citation needed) - ;;collab ; buffers with friends - ;;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 - ;;llm ; when I said you needed friends, I didn't mean... - lsp ; M-x vscode - magit ; a git porcelain for Emacs - make ; run make tasks from Emacs - ;;pass ; password manager for nerds - pdf ; pdf enhancements - ;;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 (featurep :system 'macos) 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 ; unity, .NET, and mono shenanigans - ;;data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;dhall - ;;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 - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;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 - ;;(graphql +lsp) ; Give queries a REST - (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 - ;;janet ; Fun fact: Janet is me! - ;;(java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;;kotlin ; 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 ; one-based indices? one-based indices - markdown ; 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 - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - graphviz ; diagrams for confusing yourself even more - ;;purescript ; javascript, but functional - python ; 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 ; the tubes - yaml ; JSON, but readable - zig ; C, but simpler - - :email - ;;(mu4e +org +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 - - :config - ;;literate - (default +bindings +smartparens)) - -;; typochecker: on diff --git a/pkgs/doom-emacs/package.nix b/pkgs/doom-emacs/package.nix deleted file mode 100644 index b3a8a56..0000000 --- a/pkgs/doom-emacs/package.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - inputs, - stdenv, - editor-runtime, - symlinkJoin, - makeWrapper, -}: let - inherit (stdenv.hostPlatform) system; - inherit (inputs) nixpkgs emacs-overlay nix-doom; - pkgs = import nixpkgs { - localSystem = {inherit system;}; - overlays = [ - emacs-overlay.overlays.default - nix-doom.overlays.default - ]; - }; - emacs = pkgs.emacs-igc-pgtk; - doom-emacs = pkgs.doomEmacs { - doomDir = ./config; - doomLocalDir = "~/.local/share/nix-doom"; - emacs = emacs; - extraPackages = ep: - with ep; [ - melpaStablePackages.telega - melpaPackages.nixos-options - melpaPackages.scroll-on-jump - melpaPackages.org-modern - ]; - extraBinPackages = - (with pkgs; [ - git - ripgrep - fd - ]) - ++ [ - editor-runtime - ]; - }; -in - symlinkJoin { - name = "doom-emacs"; - paths = [doom-emacs]; - inherit (doom-emacs) meta; - buildInputs = [ - makeWrapper - ]; - env = { - ORIGINAL_EMACS = toString emacs; - }; - postBuild = '' - wrapProgram $out/bin/doom-emacs \ - --unset EMACSNATIVELOADPATH \ - --unset EMACSLOADPATH \ - --inherit-argv0 - - mkdir -p $out/share/applications - cp ''${ORIGINAL_EMACS}/share/applications/emacs.desktop \ - $out/share/applications/doom-emacs.desktop - cp -rt $out/share ''${ORIGINAL_EMACS}/share/icons - substituteInPlace $out/share/applications/doom-emacs.desktop \ - --replace 'Name=Emacs' 'Name=Doom Emacs' \ - --replace 'Exec=emacs' "Exec=$out/bin/doom-emacs" \ - --replace 'StartupWMClass=Emacs' "StartupWMClass=Doom Emacs" - ''; - }