diff --git a/README.md b/README.md index b5b97bc..6961f1b 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,10 @@ You need to **relogin** if you install virt-manager (libvirt) first time. $ appvm start chromium $ # ... long wait for first time, because we need to collect a lot of packages +## Synchronize remote repos for applications + + $ appvm sync + You can customize local settings in **~/.config/appvm/nix/local.nix**. Default hotkey to release cursor: ctrl+alt. diff --git a/appvm.go b/appvm.go index 856ebc3..66bff64 100644 --- a/appvm.go +++ b/appvm.go @@ -327,6 +327,20 @@ func search(name string) { return } +func sync() { + err := exec.Command("nix-channel", "--update").Run() + if err != nil { + log.Fatalln(err) + } + + err = exec.Command("nix", "search", "-u").Run() + if err != nil { + log.Fatalln(err) + } + + log.Println("Done") +} + var configDir = os.Getenv("HOME") + "/.config/appvm/" func main() { @@ -375,6 +389,8 @@ func main() { searchCommand := kingpin.Command("search", "Search for application") searchName := searchCommand.Arg("name", "Application name").Required().String() + kingpin.Command("sync", "Synchronize remote repos for applications") + switch kingpin.Parse() { case "list": list(l) @@ -390,5 +406,7 @@ func main() { drop(*dropName) case "autoballoon": autoBalloon(l, *minMemory*1024, *adjustPercent) + case "sync": + sync() } }