aboutsummaryrefslogtreecommitdiffstats
path: root/modules/tools/devenv/default.nix
blob: a77149bd93638eb57156cf327189df67035dc2db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ config, pkgs, lib, ... }:

{
	options.tools.devenv = {
		enable = lib.mkEnableOption "Enables devenv.";
	};

	config = let
		# Use --no-reload by default for devenv shell
		shellIntegration = ''
devenv() {
	for arg in "$@"; do
		if [[ "$arg" == "--reload" || "$arg" == "--no-reload" ]]; then
			command devenv "$@"
			return
		fi
	done

	command devenv "$@" --no-reload
}
'';
	in lib.mkIf config.tools.devenv.enable {
		home.packages = with pkgs; [
			devenv
		];
		
		programs.zsh.initContent = lib.mkIf config.programs.zsh.enable
			(lib.mkAfter shellIntegration);
		programs.bash.initExtra = lib.mkIf config.programs.bash.enable
			(lib.mkAfter shellIntegration);
	};
}