From 99bd71b80c4218fc07a3ae29a06edf30051a18f3 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Mon, 30 Dec 2019 14:09:44 +0000 Subject: [PATCH] Embed builtin description for apps --- appvm.go | 7 ++++++- nix/chromium.nix => builtin.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) rename nix/chromium.nix => builtin.go (67%) 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 +}