emacs support for new languages + dependencies

This commit is contained in:
Danilo Reyes 2025-03-25 01:26:35 -06:00
parent 39ce87696c
commit 6846fc3eec
7 changed files with 68 additions and 3 deletions

View File

@ -118,7 +118,7 @@
;;common-lisp ; if you've seen one lisp, you've seen them all ;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c ;;crystal ; ruby at the speed of c
(csharp +lsp) ; unity, .NET, and mono shenanigans ;; (csharp +lsp) ; 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

View File

@ -14,6 +14,10 @@
misc.enable = true; misc.enable = true;
}; };
dev = { dev = {
cc.enable = true;
docker.enable = true;
julia.enable = true;
rust.enable = true;
haskell.enable = true; haskell.enable = true;
nix.enable = true; nix.enable = true;
python.enable = true; python.enable = true;

22
modules/dev/cc.nix Normal file
View File

@ -0,0 +1,22 @@
{
config,
lib,
pkgs,
...
}:
{
options.my.dev.cc.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.cc.enable {
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs)
clang # C/C++ compiler frontend (part of LLVM)
clang-tools # Extra LLVM tools (e.g. clang-tidy, clang-apply-replacements)
gcc # GNU Compiler Collection (C, C++, etc.)
gdb # GNU Debugger
valgrind # Memory leak detector and performance profiler
;
};
};
}

View File

@ -9,8 +9,12 @@
config = lib.mkIf config.my.dev.haskell.enable { config = lib.mkIf config.my.dev.haskell.enable {
users.users.jawz.packages = builtins.attrValues { users.users.jawz.packages = builtins.attrValues {
inherit (pkgs) inherit (pkgs)
ghc # compiler haskell-language-server # LSP server for Haskell
haskell-language-server # lsp cabal-install # Standard Haskell build tool
hlint # Linter for Haskell source code
;
inherit (pkgs.haskellPackages)
hoogle # Haskell API search engine
; ;
}; };
environment.variables = { environment.variables = {

15
modules/dev/julia.nix Normal file
View File

@ -0,0 +1,15 @@
{
lib,
pkgs,
config,
...
}:
{
options.my.dev.julia.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.julia.enable {
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs) julia;
};
};
}

View File

@ -27,6 +27,7 @@
isort # sort Python imports isort # sort Python imports
pyflakes # checks source code for errors pyflakes # checks source code for errors
pylint # bug and style checker for python pylint # bug and style checker for python
pytest # tests
speedtest-cli # check internet speed from the comand line speedtest-cli # check internet speed from the comand line
; ;
} }

19
modules/dev/rust.nix Normal file
View File

@ -0,0 +1,19 @@
{
config,
lib,
pkgs,
...
}:
{
options.my.dev.rust.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.rust.enable {
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs)
cargo # Rust package manager
rust-analyzer # Language server for Rust
clippy # Linter for Rust
rustfmt # Formatter for Rust code
;
};
};
}