Doom <3 Nix

This commit is contained in:
Roman Godmaire 2023-10-24 11:10:49 -04:00
parent 388c9fd6fb
commit b4eb86c285
3 changed files with 43 additions and 26 deletions

View file

@ -81,13 +81,13 @@
: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
;;biblio ; Writes a PhD for you (citation needed) ;;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 ;;direnv
docker docker
;;editorconfig ; let someone else argue about tabs vs spaces ;;editorconfig ; let someone else argue about tabs vs spaces
@ -95,7 +95,7 @@
(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 +peek) ; M-x vscode (lsp +eglot) ; 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
@ -151,7 +151,7 @@
(lua +lsp +fennel) ; one-based indices? one-based indices (lua +lsp +fennel) ; one-based indices? one-based indices
markdown ; writing docs for people to ignore markdown ; 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) ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel ;;ocaml ; an objective camel
(org (org
+journal +journal
@ -173,13 +173,13 @@
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() (rust +lsp) ; 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 +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 ;;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 +lsp) ; the tubes (web +lsp) ; the tubes
yaml ; JSON, but readable (yaml +lsp) ; JSON, but readable
;;zig ; C, but simpler ;;zig ; C, but simpler
:email :email

View file

@ -13,6 +13,9 @@
(package! prisma-mode :recipe (:host github :repo "pimeys/emacs-prisma-mode" :branch "main")) (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 ;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here: ;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format ;; https://github.com/radian-software/straight.el#the-recipe-format

View file

@ -17,18 +17,30 @@
# The home.packages option allows you to install Nix packages into your # The home.packages option allows you to install Nix packages into your
# environment. # environment.
home.packages = [ home.packages = with pkgs; [
pkgs.ripgrep ripgrep
pkgs.fd fd
pkgs.sd sd
pkgs.bat bat
pkgs.just just
pkgs.tokei tokei
pkgs.gopls # Golang tools
pkgs.delve go
pkgs.gore gopls
pkgs.gotests 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 # Home Manager is pretty good at managing dotfiles. The primary way to manage
@ -126,8 +138,10 @@
enable = true; enable = true;
package = pkgs.emacs; package = pkgs.emacs;
extraPackages = epkgs: [ extraPackages = epkgs: with epkgs; [
epkgs.vterm emacsql-sqlite
pdf-tools
vterm
]; ];
}; };