From b4eb86c285bd8357d617c077e66a6e268175eab3 Mon Sep 17 00:00:00 2001 From: Roman Godmaire Date: Tue, 24 Oct 2023 11:10:49 -0400 Subject: [PATCH] Doom <3 Nix --- doom/init.el | 26 +++++++++++++------------- doom/packages.el | 3 +++ home-manager/home.nix | 40 +++++++++++++++++++++++++++------------- 3 files changed, 43 insertions(+), 26 deletions(-) diff --git a/doom/init.el b/doom/init.el index f988c7c..777e495 100644 --- a/doom/init.el +++ b/doom/init.el @@ -81,13 +81,13 @@ :checkers 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 :tools ;;ansible ;;biblio ; Writes a PhD for you (citation needed) - (debugger +lsp) ; FIXME stepping through code, to help you add bugs + debugger ; FIXME stepping through code, to help you add bugs ;;direnv docker ;;editorconfig ; let someone else argue about tabs vs spaces @@ -95,7 +95,7 @@ (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists lookup ; navigate your code and its documentation - (lsp +peek) ; M-x vscode + (lsp +eglot) ; M-x vscode magit ; a git porcelain for Emacs make ; run make tasks from Emacs pass ; password manager for nerds @@ -151,19 +151,19 @@ (lua +lsp +fennel) ; 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!" + (nix +lsp) ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel (org - +journal - +present - +pretty - +roam2) ;organize your plain life in plain text + +journal + +present + +pretty + +roam2) ;organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional (python - +lsp - +pyright) ; beautiful is better than ugly + +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 @@ -173,13 +173,13 @@ (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps - (sh +fish) ; she sells {ba,z,fi}sh shells on the C xor + (sh +lsp +fish) ; 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 + (yaml +lsp) ; JSON, but readable ;;zig ; C, but simpler :email @@ -192,7 +192,7 @@ ;;emms ;;everywhere ; *leave* Emacs!? You must be joking ;;irc ; how neckbeards socialize - (rss +org) ; emacs as an RSS reader + (rss +org) ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought :config diff --git a/doom/packages.el b/doom/packages.el index 003bd04..2097c2d 100644 --- a/doom/packages.el +++ b/doom/packages.el @@ -13,6 +13,9 @@ (package! prisma-mode :recipe (:host github :repo "pimeys/emacs-prisma-mode" :branch "main")) +(package! emacsql-sqlite :built-in 'prefer) +(package! pdf-tools :built-in 'prefer) + ;; 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/radian-software/straight.el#the-recipe-format diff --git a/home-manager/home.nix b/home-manager/home.nix index 62a189a..162b20f 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -17,18 +17,30 @@ # The home.packages option allows you to install Nix packages into your # environment. - home.packages = [ - pkgs.ripgrep - pkgs.fd - pkgs.sd - pkgs.bat - pkgs.just - pkgs.tokei + home.packages = with pkgs; [ + ripgrep + fd + sd + bat + just + tokei - pkgs.gopls - pkgs.delve - pkgs.gore - pkgs.gotests + # Golang tools + go + gopls + delve + gore + gotests + + # Shell tools + shellcheck + shfmt + + # Python tools + black + ruff + isort + pipenv ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage @@ -126,8 +138,10 @@ enable = true; package = pkgs.emacs; - extraPackages = epkgs: [ - epkgs.vterm + extraPackages = epkgs: with epkgs; [ + emacsql-sqlite + pdf-tools + vterm ]; };