Some extra emacs configs, add LSP and tree-sitter

This commit is contained in:
Evie Litherland-Smith 2023-07-24 22:10:01 +01:00
parent b85bdcec10
commit ca2afa6ee9
7 changed files with 28 additions and 19 deletions

View file

@ -1,5 +1,13 @@
{nix-doom-emacs, ...}: { {pkgs, nix-doom-emacs, ...}: {
imports = [nix-doom-emacs.hmModule]; 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.ripgrep.enable = true;
programs.doom-emacs.enable = true; programs.doom-emacs.enable = true;
programs.doom-emacs.doomPrivateDir = ./doom.d; programs.doom-emacs.doomPrivateDir = ./doom.d;

View file

@ -1,2 +1,2 @@
;;; ~/.doom.d/config.el ;;; ~/.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))

View file

@ -63,7 +63,7 @@
;;parinfer ; turn lisp into python, sort of ;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates ;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to 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 :emacs
dired ; making dired pretty [functional] dired ; making dired pretty [functional]
@ -76,12 +76,12 @@
;;eshell ; the elisp shell that works everywhere ;;eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs ;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs ;;term ; basic terminal emulator for Emacs
;;vterm ; the best terminal emulation in Emacs vterm ; the best terminal emulation in Emacs
:checkers :checkers
syntax ; tasing you for every semicolon you forget syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling (spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make ;;grammar ; tasing grammar mistake every you make
:tools :tools
;;ansible ;;ansible
@ -94,17 +94,18 @@
(eval +overlay) ; run code, run (also, repls) (eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists ;;gist ; interacting with github gists
lookup ; navigate your code and its documentation lookup ; navigate your code and its documentation
;;lsp ; M-x vscode lsp ; M-x vscode
magit ; a git porcelain for Emacs magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs make ; run make tasks from Emacs
;;pass ; password manager for nerds ;;pass ; password manager for nerds
pdf ; pdf enhancements pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders ;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings ;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects ;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code ;;terraform ; infrastructure as code
tree-sitter ; Better syntax highlighting
;;tmux ; an API for interacting with tmux ;;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 :os
(:if IS-MAC macos) ; improve compatibility with macOS (:if IS-MAC macos) ; improve compatibility with macOS
@ -119,7 +120,7 @@
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c ;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans ;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats data ; config/data formats
;;(dart +flutter) ; paint ui and not much else ;;(dart +flutter) ; paint ui and not much else
;;dhall ;;dhall
;;elixir ; erlang done right ;;elixir ; erlang done right
@ -129,7 +130,7 @@
;;ess ; emacs speaks statistics ;;ess ; emacs speaks statistics
;;factor ;;factor
;;faust ; dsp, but you get to keep your soul ;;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 ;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3 ;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for ;;gdscript ; the language you waited for
@ -145,16 +146,16 @@
latex ; writing papers in Emacs has never been so fun latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove ;;lean ; for folks with too much to prove
;;ledger ; be audit you can be ;;ledger ; be audit you can be
lua ; one-based indices? one-based indices (lua +tree-sitter) ; one-based indices? one-based indices
markdown ; writing docs for people to ignore (markdown +tree-sitter) ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c ;;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 ;;ocaml ; an objective camel
org ; organize your plain life in plain text org ; organize your plain life in plain text
;;php ; perl's insecure younger brother ;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more ;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional ;;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 ;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs ;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6 ;;raku ; the artist formerly known as perl6
@ -164,13 +165,13 @@
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good ;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps ;;(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 ;;sml
;;solidity ; do you need a blockchain? No. ;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables? ;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance. ;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes ;;web ; the tubes
yaml ; JSON, but readable (yaml +tree-sitter) ; JSON, but readable
;;zig ; C, but simpler ;;zig ; C, but simpler
:email :email

View file

@ -1,10 +1,8 @@
{ {
pkgs, pkgs,
neovim-custom,
tokyonight, tokyonight,
... ...
}: { }: {
imports = [neovim-custom.homeManagerModules.default];
programs = { programs = {
bat = { bat = {
enable = true; enable = true;

View file

@ -13,7 +13,6 @@ config.set_environment_variables = {
TERMINFO_DIRS = "/home/user/.nix-profile/share/terminfo", TERMINFO_DIRS = "/home/user/.nix-profile/share/terminfo",
WSLENV = "TERMINFO_DIRS", WSLENV = "TERMINFO_DIRS",
} }
config.term = "wezterm"
config.audible_bell = "Disabled" config.audible_bell = "Disabled"
config.font_size = 14 config.font_size = 14
config.window_background_opacity = 0.80 config.window_background_opacity = 0.80

View file

@ -8,6 +8,7 @@ in {
../../home/ssh/personal.nix ../../home/ssh/personal.nix
../../home/tui ../../home/tui
../../home/wezterm ../../home/wezterm
../../home/emacs
]; ];
home = { home = {
inherit username homeDirectory; inherit username homeDirectory;

View file

@ -1,5 +1,6 @@
{ {
pkgs, pkgs,
neovim-custom,
shellConfig, shellConfig,
... ...
}: let }: let
@ -13,6 +14,7 @@
in { in {
imports = [ imports = [
shellConfig shellConfig
neovim-custom.homeManagerModules.default
../../home/git/work.nix ../../home/git/work.nix
../../home/ssh/work.nix ../../home/ssh/work.nix
../../home/tui ../../home/tui