Simple application VMs (hypervisor-based sandbox) based on Nix package manager.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
dump_stack() 9142fe53c6
Remove donate
4ヶ月前
.github Remove donate 4ヶ月前
docs Updated installation instructions for NixOS 10ヶ月前
dot-desktop-fuse Switch to buildGoModule 10ヶ月前
nixos ooops, nixos cannot compute 10ヶ月前
os Build appvm from ../default.nix 1年前
patches virt-viewer: use title as subtitle 1年前
.envrc [feat] added environment files 1年前
.gitignore Update .gitignore 1年前
LICENSE Add LICENSE 2年前
Makefile Support remove run with `nix run` 1年前
README.md Update screenshot 1年前
appvm.go fix: stat made qcow2 image creation return error every time 10ヶ月前
base.nix.go Do not specify session explicitly 1年前
builtin.go Update builtin chromium appvm description 1年前
default.nix nixpkgs-able default.nix 10ヶ月前
generate.go Avoid of changing current work directory 1年前
go.mod Switch to buildGoModule 10ヶ月前
go.sum Switch to buildGoModule 10ヶ月前
local.nix.template.go Do no enable anything in default local.nix 1年前
shell.nix [feat] added environment files 1年前
xml.go Add --network switch to select a networking model (#22) 1年前

README.md

Documentation Status Donate Donate

Nix application VMs: security through virtualization

Simple application VMs (hypervisor-based sandbox) based on Nix package manager.

Uses one read-only /nix directory for all appvms. So creating a new appvm (but not first) is just about one minute.

appvm screenshot

Installation

See related documentation.

Usage

Search for applications

$ appvm search chromium

Run application

$ 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.

Shared directory

$ ls appvm/chromium
foo.tar.gz
bar.tar.gz

Close VM

$ appvm stop chromium

Automatic ballooning

Add this command:

$ appvm autoballoon

to crontab like that:

$ crontab -l
* * * * * /home/user/dev/go/bin/appvm autoballoon