Modularize nixos and home-manager packages

This commit is contained in:
DashieTM 2024-08-03 18:08:22 +02:00
parent b0979afa53
commit 51d2c2aa7c
32 changed files with 713 additions and 482 deletions

134
modules/programs/coding.nix Normal file
View file

@ -0,0 +1,134 @@
{ lib, config, pkgs, options, ... }: {
options.mods = {
coding = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = ''
Enables coding packages.
'';
};
dashvim = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = ''
Enables dashvim package.
'';
};
};
};
config = lib.mkIf config.mods.coding.enable (lib.optionalAttrs (options?home.packages) {
programs.dashvim = lib.mkIf config.mods.coding.dashvim {
enable = true;
colorscheme = config.conf.colorscheme;
};
home.packages = with pkgs; [
#basics
gitui
gcc
meson
ninja
tree-sitter
unzip
pkg-config
sqlite
plantuml
d-spy
# cpp
bear
clang-tools
#sql
nodePackages.sql-formatter
sqls
#assembly
asm-lsp
#yaml
yamlfmt
yamllint
yaml-language-server
#markdown
marksman
mdformat
#bash
bash-language-server
shfmt
#fsharp
fsharp
fsautocomplete
#haskell
haskellPackages.cabal-install
ghc
haskellPackages.haskell-language-server
#html
html-tidy
#json
jq
nodePackages.vscode-json-languageserver
#css
tailwindcss
tailwindcss-language-server
vscode-langservers-extracted
#editors
neovide
##fallback
vscodium
#rust
rustup
#python
python3
python312Packages.python-lsp-server
python312Packages.python-lsp-ruff
python312Packages.python-lsp-black
#ts/js
nodejs_20
deno
typescript
nodePackages.typescript-language-server
nodePackages.prettier
#go
go
gopls
#typst
typst
tinymist
ltex-ls
#java
gradle
maven
jdt-language-server
temurin-jre-bin
#.!
dotnet-sdk_8
omnisharp-roslyn
csharpier
netcoredbg
#zig
zig
zls
];
});
}