From ca2afa6ee971fbfa6294e6cfcfcdf49360e00f2b Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Mon, 24 Jul 2023 22:10:01 +0100 Subject: [PATCH] Some extra emacs configs, add LSP and tree-sitter --- home/emacs/default.nix | 10 +++++++++- home/emacs/doom.d/config.el | 2 +- home/emacs/doom.d/init.el | 29 +++++++++++++++-------------- home/tui/default.nix | 2 -- home/wezterm/wezterm.lua | 1 - hosts/Monarch/home.nix | 1 + hosts/Ronin/home.nix | 2 ++ 7 files changed, 28 insertions(+), 19 deletions(-) diff --git a/home/emacs/default.nix b/home/emacs/default.nix index b87825c1..1af38900 100644 --- a/home/emacs/default.nix +++ b/home/emacs/default.nix @@ -1,5 +1,13 @@ -{nix-doom-emacs, ...}: { +{pkgs, nix-doom-emacs, ...}: { imports = [nix-doom-emacs.hmModule]; + home.packages = with pkgs; [ + nil + fortls + nodePackages.pyright + nodePackages.yaml-language-server + nodePackages.vim-language-server + nodePackages.bash-language-server + ]; programs.ripgrep.enable = true; programs.doom-emacs.enable = true; programs.doom-emacs.doomPrivateDir = ./doom.d; diff --git a/home/emacs/doom.d/config.el b/home/emacs/doom.d/config.el index 099488c3..3448bf45 100644 --- a/home/emacs/doom.d/config.el +++ b/home/emacs/doom.d/config.el @@ -1,2 +1,2 @@ ;;; ~/.doom.d/config.el -(setq doom-font (font-spec :family "Fira Code NerdFont" :size 14)) +(setq doom-font (font-spec :family "Fira Code" :size 14)) diff --git a/home/emacs/doom.d/init.el b/home/emacs/doom.d/init.el index 5e610fb0..c99efb82 100644 --- a/home/emacs/doom.d/init.el +++ b/home/emacs/doom.d/init.el @@ -63,7 +63,7 @@ ;;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 + word-wrap ; soft wrapping with language-aware indent :emacs dired ; making dired pretty [functional] @@ -76,12 +76,12 @@ ;;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 + 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 + ;;grammar ; tasing grammar mistake every you make :tools ;;ansible @@ -94,17 +94,18 @@ (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists lookup ; navigate your code and its documentation - ;;lsp ; M-x vscode + lsp ; M-x vscode magit ; a git porcelain for Emacs - ;;make ; run make tasks from 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 + tree-sitter ; Better syntax highlighting ;;tmux ; an API for interacting with tmux - ;;upload ; map local to remote projects via ssh/ftp + upload ; map local to remote projects via ssh/ftp :os (:if IS-MAC macos) ; improve compatibility with macOS @@ -119,7 +120,7 @@ ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans - ;;data ; config/data formats + data ; config/data formats ;;(dart +flutter) ; paint ui and not much else ;;dhall ;;elixir ; erlang done right @@ -129,7 +130,7 @@ ;;ess ; emacs speaks statistics ;;factor ;;faust ; dsp, but you get to keep your soul - fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) + (fortran +lsp) ; 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 @@ -145,16 +146,16 @@ 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 + (lua +tree-sitter) ; one-based indices? one-based indices + (markdown +tree-sitter) ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" + (nix +lsp +tree-sitter) ; 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 + (python +lsp +tree-sitter) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 @@ -164,13 +165,13 @@ ;;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 + (sh +lsp) ; 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 + (yaml +tree-sitter) ; JSON, but readable ;;zig ; C, but simpler :email diff --git a/home/tui/default.nix b/home/tui/default.nix index 7a05df80..9cf08f16 100644 --- a/home/tui/default.nix +++ b/home/tui/default.nix @@ -1,10 +1,8 @@ { pkgs, - neovim-custom, tokyonight, ... }: { - imports = [neovim-custom.homeManagerModules.default]; programs = { bat = { enable = true; diff --git a/home/wezterm/wezterm.lua b/home/wezterm/wezterm.lua index 05f174bb..a2f00862 100644 --- a/home/wezterm/wezterm.lua +++ b/home/wezterm/wezterm.lua @@ -13,7 +13,6 @@ config.set_environment_variables = { TERMINFO_DIRS = "/home/user/.nix-profile/share/terminfo", WSLENV = "TERMINFO_DIRS", } -config.term = "wezterm" config.audible_bell = "Disabled" config.font_size = 14 config.window_background_opacity = 0.80 diff --git a/hosts/Monarch/home.nix b/hosts/Monarch/home.nix index c08ce6ad..14f15a5c 100644 --- a/hosts/Monarch/home.nix +++ b/hosts/Monarch/home.nix @@ -8,6 +8,7 @@ in { ../../home/ssh/personal.nix ../../home/tui ../../home/wezterm + ../../home/emacs ]; home = { inherit username homeDirectory; diff --git a/hosts/Ronin/home.nix b/hosts/Ronin/home.nix index 7c4746c7..69862926 100644 --- a/hosts/Ronin/home.nix +++ b/hosts/Ronin/home.nix @@ -1,5 +1,6 @@ { pkgs, + neovim-custom, shellConfig, ... }: let @@ -13,6 +14,7 @@ in { imports = [ shellConfig + neovim-custom.homeManagerModules.default ../../home/git/work.nix ../../home/ssh/work.nix ../../home/tui