diff --git a/appvm.go b/appvm.go index eb3b5e6..750897e 100644 --- a/appvm.go +++ b/appvm.go @@ -372,7 +372,12 @@ func main() { os.MkdirAll(configDir+"/nix", 0700) - err := ioutil.WriteFile(configDir+"/nix/base.nix", base_nix, 0644) + err := writeBuiltinApps(configDir + "/nix") + if err != nil { + log.Fatal(err) + } + + err = ioutil.WriteFile(configDir+"/nix/base.nix", base_nix, 0644) if err != nil { log.Fatal(err) } diff --git a/nix/chromium.nix b/builtin.go similarity index 67% rename from nix/chromium.nix rename to builtin.go index bfac831..0b6b99e 100644 --- a/nix/chromium.nix +++ b/builtin.go @@ -1,3 +1,19 @@ +package main + +import ( + "io/ioutil" +) + +// Builtin VMs + +type app struct { + Name string + Nix []byte +} + +var builtin_chromium_nix = app{ + Name: "chromium", + Nix: []byte(` {pkgs, ...}: { imports = [ @@ -19,3 +35,18 @@ environment.systemPackages = [ pkgs.chromium ]; services.xserver.displayManager.sessionCommands = "while [ 1 ]; do ${pkgs.chromium}/bin/chromium; done &"; } +`), +} + +func writeBuiltinApps(path string) (err error) { + for _, f := range []app{ + builtin_chromium_nix, + } { + err = ioutil.WriteFile(configDir+"/nix/"+f.Name+".nix", f.Nix, 0644) + if err != nil { + return + } + } + + return +}