Files
samfelag/modules/dev/devenv.nix
2024-12-03 20:03:23 +01:00

33 lines
1.0 KiB
Nix

# Custom package to quickly set up development environments for different
# programing languages
{ config, lib, pkgs, ... }:
let
cfg = config.samfelag.modules.dev.devenv;
i3Cfg = config.samfelag.modules.desktop.wm.i3;
in
{
options.samfelag.modules.dev.devenv = {
enable = lib.mkEnableOption "devenv";
};
config = lib.mkIf cfg.enable {
hm.xdg.dataFile."devenv/devenv.sh".source = ../../data/devenv/devenv.sh;
hm.xdg.dataFile."devenv/templates".source = ../../data/devenv/templates;
hm.programs.zsh.shellAliases = {
devenv = "source $HOME/.local/share/devenv/devenv.sh";
};
# TODO: This assumes we have alacritty and a python311 devenv set up (may want to fix this at some point)
samfelag.modules.desktop.wm.i3.extraKeybindings = lib.mkIf i3Cfg.enable {
"${i3Cfg.mod}+Shift+P" = "exec ${pkgs.alacritty}/bin/alacritty -t floating-term -e zsh -c \"direnv exec ~/sandbox/python311 ipython\"";
};
# - Requirements -----------------------------
samfelag.modules.dev.direnv.enable = true;
};
}