File tree 1 file changed +22
-11
lines changed
1 file changed +22
-11
lines changed Original file line number Diff line number Diff line change @@ -101,11 +101,11 @@ let
101
101
nix2container . nix2container . buildImage {
102
102
name = cfg . name ;
103
103
tag = cfg . version ;
104
- initializeNixDatabase = true ;
104
+ initializeNixDatabase = cfg . isDev ;
105
105
nixUid = lib . toInt uid ;
106
106
nixGid = lib . toInt gid ;
107
107
108
- copyToRoot = [
108
+ copyToRoot = lib . lists . optionals cfg . isDev [
109
109
( pkgs . buildEnv {
110
110
name = "devenv-container-root" ;
111
111
paths =
125
125
} )
126
126
] ;
127
127
128
- perms = [ {
128
+ perms = lib . lists . optionals cfg . isDev [ {
129
129
path = mkTmp ;
130
130
regex = "/tmp" ;
131
131
mode = "1777" ;
@@ -135,14 +135,19 @@ let
135
135
gname = "root" ;
136
136
} ] ;
137
137
138
- config = {
139
- Entrypoint = cfg . entrypoint ;
140
- User = "${ user } " ;
141
- WorkingDir = "${ homeDir } " ;
142
- Env = lib . mapAttrsToList ( name : value : "${ name } =${ toString value } " )
143
- config . env ++ [ "HOME=${ homeDir } " "USER=${ user } " ] ;
144
- Cmd = [ cfg . startupCommand ] ;
145
- } ;
138
+ config = lib . attrsets . mergeAttrsList [
139
+ {
140
+ User = "${ user } " ;
141
+ WorkingDir = "${ homeDir } " ;
142
+ }
143
+ ( if cfg . isDev then {
144
+ Env = lib . mapAttrsToList ( name : value : "${ name } =${ toString value } " )
145
+ config . env ++ [ "HOME=${ homeDir } " "USER=${ user } " ] ;
146
+ Entrypoint = cfg . entrypoint ;
147
+ Cmd = [ cfg . startupCommand ] ;
148
+ } else
149
+ { } )
150
+ ] ;
146
151
} ;
147
152
148
153
# <registry> <args>
243
248
"Set to true when the environment is building this container." ;
244
249
} ;
245
250
251
+ isDev = lib . mkOption {
252
+ type = types . bool ;
253
+ default = true ;
254
+ description = "Is a development containers (add tools)." ;
255
+ } ;
256
+
246
257
derivation = lib . mkOption {
247
258
type = types . package ;
248
259
internal = true ;
You can’t perform that action at this time.
0 commit comments