diff --git a/home/laptop/default.nix b/home/laptop/default.nix index 8486820..6cffb2f 100644 --- a/home/laptop/default.nix +++ b/home/laptop/default.nix @@ -13,15 +13,6 @@ name = "Bibata-Modern-Amber"; package = pkgs.bibata-cursors; }; - file = { - ".local/bin/ec" = { - text = '' - #!/usr/bin/env bash - emacsclient -c -a 'emacs' - ''; - executable = true; - }; - }; }; xdg.configFile = { @@ -43,5 +34,4 @@ ''; }; }; - services = { emacs = { enable = true; }; }; } diff --git a/home/laptop/programs/doom-emacs/default.nix b/home/laptop/programs/doom-emacs/default.nix deleted file mode 100644 index 6861c40..0000000 --- a/home/laptop/programs/doom-emacs/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, lib, ... }: { - - home.packages = with pkgs; [ - nodePackages_latest.prettier - nodePackages_latest.typescript - nodePackages_latest.eslint - nodePackages_latest.typescript-language-server - nodePackages_latest."@tailwindcss/language-server" - nodePackages_latest."@prisma/language-server" - - ispell - - rnix-lsp - ]; - - programs.doom-emacs = { - enable = true; - doomPrivateDir = ./doom.d; - }; -} diff --git a/home/laptop/programs/doom-emacs/doom.d/config.el b/home/laptop/programs/doom-emacs/doom.d/config.el deleted file mode 100644 index ec835ff..0000000 --- a/home/laptop/programs/doom-emacs/doom.d/config.el +++ /dev/null @@ -1,25 +0,0 @@ -;;; config.el --- the emacs config -;;; Commentary: - -;;; Code: -(setq doom-theme 'doom-tokyo-night) - -(setq company-idle-delay 0.0) - -(setq +format-with-lsp nil) - -(advice-add 'json-parse-buffer :around - (lambda (orig &rest rest) - (save-excursion - (while (re-search-forward "\\\\u0000" nil t) - (replace-match ""))) - (apply orig rest))) - -(use-package! lsp-tailwindcss - :init - (setq lsp-tailwindcss-add-on-mode t)) - -(use-package! prisma-mode) -(add-hook 'prisma-mode-hook 'lsp) - -;;; config.el ends here diff --git a/home/laptop/programs/doom-emacs/doom.d/init.el b/home/laptop/programs/doom-emacs/doom.d/init.el deleted file mode 100644 index 262a60c..0000000 --- a/home/laptop/programs/doom-emacs/doom.d/init.el +++ /dev/null @@ -1,191 +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! :input - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - company ; the ultimate code completion backend - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ivy ; a search engine for love and life - vertico ; 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 - ;;hydra - 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 ; 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 - ;;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 - 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) - ;;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) - ;;gist ; interacting with github gists - lookup ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - ;;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 ; 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 - ;;(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 +meghanada) ; the poster child for carpal tunnel syndrome - (javascript +lsp) ; 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 - ;;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 ; 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 +lsp) ; 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 - ;;twitter ; twitter client https://twitter.com/vnought - - :config - ;;literate - (default +bindings +smartparens)) diff --git a/home/laptop/programs/doom-emacs/doom.d/packages.el b/home/laptop/programs/doom-emacs/doom.d/packages.el deleted file mode 100644 index 2cf427c..0000000 --- a/home/laptop/programs/doom-emacs/doom.d/packages.el +++ /dev/null @@ -1,8 +0,0 @@ -;;; packages.el --- a list of packages -;;; Commentary: - -;;; Code: -(package! lsp-tailwindcss :recipe (:host github :repo "merrickluo/lsp-tailwindcss")) -(package! prisma-mode :recipe (:host github :repo "pimeys/emacs-prisma-mode" :branch "main")) - -;;; packages.el ends here diff --git a/home/laptop/programs/emacs/default.nix b/home/laptop/programs/emacs/default.nix deleted file mode 100644 index 3685a1f..0000000 --- a/home/laptop/programs/emacs/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ pkgs, lib, ... }: { - - home.packages = with pkgs; [ - nodePackages_latest.prettier - nodePackages_latest.typescript - nodePackages_latest.eslint - nodePackages_latest.typescript-language-server - nodePackages_latest."@tailwindcss/language-server" - nodePackages_latest."@prisma/language-server" - - ispell - - rnix-lsp - ]; - - programs.emacs = { - enable = true; - package = with pkgs; - (emacsPackagesFor emacs-unstable).emacsWithPackages (epkgs: - with epkgs; [ - general - doom-themes - treesit-grammars.with-all-grammars - treesit-auto - prisma-mode - lsp-tailwindcss - evil - evil-collection - flycheck - ivy - ivy-rich - counsel - counsel-projectile - magit - forge - rainbow-delimiters - ivy-prescient - helpful - hydra - projectile - lsp-mode - lsp-ui - lsp-treemacs - lsp-ivy - company - company-box - dired-single - dired-open - bind-key - all-the-icons - all-the-icons-dired - smartparens - no-littering - command-log-mode - doom-modeline - ]); - extraConfig = builtins.readFile ./init.el; - }; -} diff --git a/home/laptop/programs/emacs/init.el b/home/laptop/programs/emacs/init.el deleted file mode 100644 index 9929ea2..0000000 --- a/home/laptop/programs/emacs/init.el +++ /dev/null @@ -1,272 +0,0 @@ -;; NOTE: init.el is now generated from Emacs.org. Please edit that file -;; in Emacs and init.el will be generated automatically! - -;; You will most likely need to adjust this font size for your system! -;; Make frame transparency overridable -(defvar efs/frame-transparency '(90 . 90)) - -;; The default is 800 kilobytes. Measured in bytes. -(setq gc-cons-threshold (* 50 1000 1000)) - -(defun efs/display-startup-time () - (message "Emacs loaded in %s with %d garbage collections." - (format "%.2f seconds" - (float-time - (time-subtract after-init-time before-init-time))) - gcs-done)) - -(add-hook 'emacs-startup-hook #'efs/display-startup-time) - -;; NOTE: If you want to move everything out of the ~/.emacs.d folder -;; reliably, set `user-emacs-directory` before loading no-littering! -;(setq user-emacs-directory "~/.cache/emacs") - -(use-package no-littering) - -(use-package bind-key - :ensure t - :config - (add-to-list 'same-window-buffer-names "*Personal Keybindings*")) - -;; no-littering doesn't set this by default so we must place -;; auto save files in the same path as it uses for sessions -(setq auto-save-file-name-transforms - `((".*" ,(no-littering-expand-var-file-name "auto-save/") t))) - -(setq inhibit-startup-message t) - -(scroll-bar-mode -1) ; Disable visible scrollbar -(tool-bar-mode -1) ; Disable the toolbar -(tooltip-mode -1) ; Disable tooltips -(set-fringe-mode 10) ; Give some breathing room - -(menu-bar-mode -1) ; Disable the menu bar - -;; Set up the visible bell -(setq visible-bell t) - -(column-number-mode) -(global-display-line-numbers-mode t) - -;; Set frame transparency -(set-frame-parameter (selected-frame) 'alpha efs/frame-transparency) -(add-to-list 'default-frame-alist `(alpha . ,efs/frame-transparency)) -(set-frame-parameter (selected-frame) 'fullscreen 'maximized) -(add-to-list 'default-frame-alist '(fullscreen . maximized)) - -;; Disable line numbers for some modes -(dolist (mode '(org-mode-hook - term-mode-hook - shell-mode-hook - treemacs-mode-hook - eshell-mode-hook)) - (add-hook mode (lambda () (display-line-numbers-mode 0)))) - -;; Make ESC quit prompts -(global-set-key (kbd "") 'keyboard-escape-quit) -(use-package treesit-auto - :config - (global-treesit-auto-mode)) -(use-package prisma-mode) -(add-hook 'prisma-mode-hook 'lsp) -(use-package lsp-tailwindcss - :init - (setq lsp-tailwindcss-add-on-mode t)) - -(use-package general - :after evil - :config - (general-create-definer - :keymaps '(normal insert visual emacs) - :prefix "SPC" - :global-prefix "C-SPC")) - - -(use-package evil - :init - (setq evil-want-integration t) - (setq evil-want-keybinding nil) - (setq evil-want-C-u-scroll t) - (setq evil-want-C-i-jump nil) - :config - (evil-mode 1) - (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state) - (define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join) - - ;; Use visual line motions even outside of visual-line-mode buffers - (evil-global-set-key 'motion "j" 'evil-next-visual-line) - (evil-global-set-key 'motion "k" 'evil-previous-visual-line) - - (evil-set-initial-state 'messages-buffer-mode 'normal) - (evil-set-initial-state 'dashboard-mode 'normal)) - -(use-package evil-collection - :after evil - :config - (evil-collection-init)) - -(use-package command-log-mode - :commands command-log-mode) - -(use-package doom-themes - :init (load-theme 'doom-tokyo-night t)) - -(use-package all-the-icons) - -(use-package doom-modeline - :init (doom-modeline-mode 1) - :custom ((doom-modeline-height 15))) - -(use-package which-key - :defer 0 - :diminish which-key-mode - :config - (which-key-mode) - (setq which-key-idle-delay 1)) - -(use-package ivy - :diminish - :config - (ivy-mode 1)) - -(use-package ivy-rich - :after ivy - :init - (ivy-rich-mode 1)) - -(use-package counsel - :custom - (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only) - :config - (counsel-mode 1)) - -(use-package ivy-prescient - :after counsel - :custom - (ivy-prescient-enable-filtering nil) - :config - ;; Uncomment the following line to have sorting remembered across sessions! - ;(prescient-persist-mode 1) - (ivy-prescient-mode 1)) - -(add-hook 'lsp-mode-hook #'smartparens-mode) - -(use-package helpful - :commands (helpful-callable helpful-variable helpful-command helpful-key) - :custom - (counsel-describe-function-function #'helpful-callable) - (counsel-describe-variable-function #'helpful-variable)) - -(use-package hydra - :defer t) - -(use-package lsp-mode - :after which-key - :commands (lsp lsp-deferred) - :config - (lsp-enable-which-key-integration t)) - -(use-package lsp-ui - :hook (lsp-mode . lsp-ui-mode) - :custom - (lsp-ui-doc-position 'bottom)) - -(use-package lsp-treemacs - :after lsp) - -(use-package lsp-ivy - :after lsp) - -(use-package typescript-ts-mode - :config - (setq typescript-indent-level 2)) - -(use-package company - :after lsp-mode - :hook (lsp-mode . company-mode) - :custom - (company-minimum-prefix-length 1) - (company-idle-delay 0.0)) - -(use-package company-box - :hook (company-mode . company-box-mode)) - -(use-package projectile - :diminish projectile-mode - :config (projectile-mode) - :custom ((projectile-completion-system 'ivy)) - :init - ;; NOTE: Set this to the folder where you keep your Git repos! - (when (file-directory-p "~/Projects/Code") - (setq projectile-project-search-path '("~/Projects/Code"))) - (setq projectile-switch-project-action #'projectile-dired)) - -(use-package counsel-projectile - :after projectile - :config (counsel-projectile-mode)) - -(use-package magit - :commands magit-status - :custom - (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) - -;; NOTE: Make sure to configure a GitHub token before using this package! -;; - https://magit.vc/manual/forge/Token-Creation.html#Token-Creation -;; - https://magit.vc/manual/ghub/Getting-Started.html#Getting-Started -(use-package forge - :after magit) - -(use-package rainbow-delimiters - :hook (prog-mode . rainbow-delimiters-mode)) - -(defun efs/configure-eshell () - ;; Save command history when commands are entered - (add-hook 'eshell-pre-command-hook 'eshell-save-some-history) - - ;; Truncate buffer for performance - (add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer) - - ;; Bind some useful keys for evil-mode - (evil-define-key '(normal insert visual) eshell-mode-map (kbd "C-r") 'counsel-esh-history) - (evil-define-key '(normal insert visual) eshell-mode-map (kbd "") 'eshell-bol) - (evil-normalize-keymaps) - - (setq eshell-history-size 10000 - eshell-buffer-maximum-lines 10000 - eshell-hist-ignoredups t - eshell-scroll-to-bottom-on-input t)) - -(use-package dired - :ensure nil - :commands (dired dired-jump) - :config - (evil-collection-define-key 'normal 'dired-mode-map - "h" 'dired-single-up-directory - "l" 'dired-single-buffer)) - -(use-package dired-single - :commands (dired dired-jump)) - -(use-package all-the-icons-dired - :hook (dired-mode . all-the-icons-dired-mode)) - -(use-package dired-open - :commands (dired dired-jump) - :config - ;; Doesn't work as expected! - ;;(add-to-list 'dired-open-functions #'dired-open-xdg t) - (setq dired-open-extensions '(("png" . "feh") - ("mkv" . "mpv")))) - -;; Make gc pauses faster by decreasing the threshold. -(setq gc-cons-threshold (* 2 1000 1000)) - -(use-package prisma-mode) -(add-hook 'prisma-mode-hook 'lsp) -(use-package lsp-tailwindcss - :init - (setq lsp-tailwindcss-add-on-mode t)) - -(use-package typescript-ts-mode - :hook (typescript-ts-mode . lsp-mode)) -