further modularization + systemd template

This commit is contained in:
2024-05-11 21:35:31 -06:00
parent 0380c32b9a
commit 02d600cc73
16 changed files with 149 additions and 85 deletions

7
modules/dev/docker.nix Normal file
View File

@@ -0,0 +1,7 @@
{ config, lib, pkgs, ... }: {
options.my.dev.docker.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.docker.enable {
users.users.jawz.packages = (with pkgs; [ dockfmt ])
++ (with pkgs.nodePackages; [ dockerfile-language-server-nodejs ]);
};
}

View File

@@ -0,0 +1,7 @@
{ config, lib, pkgs, ... }: {
options.my.dev.javascript.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.javascript.enable {
users.users.jawz.packages = (with pkgs; [ nodejs ])
++ (with pkgs.nodePackages; [ pnpm ]);
};
}

View File

@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }: {
options.my.dev.python.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.python.enable {
users.users.jawz.packages = with pkgs; ([
users.users.jawz.packages = (with pkgs; ([
pipenv # python development workflow for humans
(python3.withPackages (ps:
with ps; [
@@ -16,6 +16,9 @@
# poetry # dependency management made easy
# pytest # framework for writing tests
]))
]);
])) ++ (with pkgs.nodePackages;
[
pyright # LSP
]);
};
}

10
modules/dev/sh.nix Normal file
View File

@@ -0,0 +1,10 @@
{ config, lib, pkgs, ... }: {
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
]) ++ (with pkgs.nodePackages; [ bash-language-server ]);
};
}