best practices: get rid of with pkgs;

This commit is contained in:
2024-11-09 15:33:03 -06:00
parent ebcab67a6a
commit 120d485f28
33 changed files with 418 additions and 317 deletions

View File

@@ -8,9 +8,9 @@
options.my.dev.docker.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.docker.enable {
environment.variables.DOCKER_CONFIG = "\${XDG_CONFIG_HOME}/docker";
users.users.jawz.packages = with pkgs; [
dockfmt
nodePackages.dockerfile-language-server-nodejs
];
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs) dockfmt;
inherit (pkgs.nodePackages) dockerfile-language-server-nodejs;
};
};
}

View File

@@ -25,34 +25,45 @@
};
};
users.users.jawz.packages =
(with pkgs; [
fd # modern find, faster searches
fzf # fuzzy finder! super cool and useful
ripgrep # modern grep
tree-sitter # code parsing based on symbols and shit, I do not get it
graphviz # graphs
tetex # export pdf
languagetool # proofreader for English
let
packagesDoomEverywhere = builtins.attrValues {
inherit (pkgs.xorg) xwininfo;
inherit (pkgs)
xdotool
xclip
wl-clipboard-rs
;
};
packages = builtins.attrValues {
inherit (pkgs)
fd # modern find, faster searches
fzf # fuzzy finder! super cool and useful
ripgrep # modern grep
tree-sitter # code parsing based on symbols and shit, I do not get it
graphviz # graphs
tetex # export pdf
languagetool # proofreader for English
# doom everywhere
xorg.xwininfo
xdotool
xclip
# lsps
yaml-language-server
markdownlint-cli
])
++ (with pkgs.nodePackages; [
vscode-json-languageserver
# linters
prettier
]);
# lsps
yaml-language-server
markdownlint-cli
;
};
packagesNode = builtins.attrValues {
inherit (pkgs.nodePackages)
vscode-json-languageserver
prettier # multi-language linter
;
};
in
packages ++ packagesDoomEverywhere ++ packagesNode;
services.emacs = {
enable = true;
package =
with pkgs;
((emacsPackagesFor emacs-gtk).emacsWithPackages (epkgs: with epkgs; [ vterm ]));
let
emacsPackages = (pkgs.emacsPackagesFor pkgs.emacs-gtk).emacsWithPackages;
in
emacsPackages (epkgs: [ epkgs.vterm ]);
defaultEditor = true;
};
environment.variables.PATH = [ "\${XDG_CONFIG_HOME}/emacs/bin" ];

View File

@@ -7,10 +7,12 @@
{
options.my.dev.haskell.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.haskell.enable {
users.users.jawz.packages = with pkgs; [
ghc # compiler
haskell-language-server # lsp
];
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs)
ghc # compiler
haskell-language-server # lsp
;
};
environment.variables = {
CABAL_DIR = "\${XDG_CACHE_HOME}/cabal";
STACK_ROOT = "\${XDG_DATA_HOME}/stack";

View File

@@ -11,10 +11,10 @@
"npm/npmrc".source = ../../dotfiles/npm/npmrc;
"configstore/update-notifier-npm-check.json".source = ../../dotfiles/npm/update-notifier-npm-check.json;
};
users.users.jawz.packages = with pkgs; [
nodejs
nodePackages.pnpm
];
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs) nodejs;
inherit (pkgs.nodePackages) pnpm;
};
environment.variables = {
NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc";
PNPM_HOME = "\${XDG_DATA_HOME}/pnpm";

View File

@@ -7,11 +7,13 @@
{
options.my.dev.nix.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.nix.enable {
users.users.jawz.packages = with pkgs; [
nixfmt-rfc-style # formating
cachix # why spend time compiling?
nixd # language server
statix # linter
];
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs)
nixfmt-rfc-style # formating
cachix # why spend time compiling?
nixd # language server
statix # linter
;
};
};
}

View File

@@ -9,23 +9,32 @@
config = lib.mkIf config.my.dev.python.enable {
home-manager.users.jawz.xdg.configFile."python/pythonrc".source = ../../dotfiles/pythonrc;
environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc";
users.users.jawz.packages = with pkgs; [
pipenv # python development workflow for humans
pyright # LSP
(python3.withPackages (
ps: with ps; [
black # Python code formatter
editorconfig # follow rules of contributin
flake8 # wraper for pyflakes, pycodestyle and mccabe
isort # sort Python imports
pyflakes # checks source code for errors
pylint # bug and style checker for python
speedtest-cli # check internet speed from the comand line
# nose # testing and running python scripts
# poetry # dependency management made easy
# pytest # framework for writing tests
]
))
];
users.users.jawz.packages =
let
packages = builtins.attrValues {
inherit (pkgs)
pipenv # python development workflow for humans
pyright # LSP
;
};
pythonPackages = builtins.attrValues {
inherit (pkgs.python3Packages)
black # Python code formatter
editorconfig # follow rules of contributin
flake8 # wraper for pyflakes, pycodestyle and mccabe
isort # sort Python imports
pyflakes # checks source code for errors
pylint # bug and style checker for python
speedtest-cli # check internet speed from the comand line
# nose # testing and running python scripts
# poetry # dependency management made easy
# pytest # framework for writing tests
;
};
in
packages
++ [
(pkgs.python3.withPackages (ps: pythonPackages))
];
};
}

View File

@@ -7,11 +7,14 @@
{
options.my.dev.sh.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.sh.enable {
users.users.jawz.packages = with pkgs; [
bashdb # autocomplete
shellcheck # linting
shfmt # a shell parser and formatter
nodePackages.bash-language-server # LSP
];
users.users.jawz.packages = builtins.attrValues {
inherit (pkgs)
bashdb # autocomplete
shellcheck # linting
shfmt # a shell parser and formatter
;
#LSP
inherit (pkgs.nodePackages) bash-language-server;
};
};
}