main
1{den, ...}: {
2 den.aspects.develop.xdg = {
3 includes = with den.aspects.develop.xdg; [
4 android
5 go
6 java
7 npm
8 ];
9
10 android = {
11 nixos.environment.variables = {
12 ANDROID_HOME = "$XDG_DATA_HOME/android";
13 ANDROID_USER_HOME = "$XDG_DATA_HOME/android";
14 };
15 };
16
17 go = {
18 nixos.environment.variables = {
19 GOPATH = "$XDG_DATA_HOME/go";
20 };
21 };
22
23 java = {
24 nixos.environment.variables = {
25 _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
26 M2_HOME = "$XDG_DATA_HOME/m2";
27 GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
28 };
29 };
30
31 npm = {
32 nixos = {
33 environment.variables = {
34 NPM_CONFIG_CACHE = "$XDG_CACHE_HOME/npm";
35 NPM_CONFIG_TMP = "$XDG_RUNTIME_DIR/npm";
36 NPM_CONFIG_USERCONFIG = "$XDG_CONFIG_HOME/npm/config";
37 };
38 environment.etc."npmrc".text = ''
39 prefix=$XDG_DATA_HOME/npm
40 cache=$XDG_CACHE_HOME/npm
41 tmp=$XDG_RUNTIME_DIR/npm
42 init-module=$XDG_CONFIG_HOME/npm/config/npm-init.js
43 '';
44 };
45 };
46 };
47}