Nixos-shell: Difference between revisions
imported>Onny mNo edit summary |
imported>Mic92 fix typo |
||
Line 11: | Line 11: | ||
== Usage == | == Usage == | ||
Create a | Create a single example file containing the system configuration for the virtual machine | ||
{{file|myvm.nix|nix|<nowiki> | {{file|myvm.nix|nix|<nowiki> | ||
{ pkgs, ... }: { | { pkgs, ... }: { | ||
services.dokuwiki.sites."localhost" = { | services.dokuwiki.sites."localhost" = { | ||
enable = true; | enable = true; | ||
Line 22: | Line 23: | ||
</nowiki>}} | </nowiki>}} | ||
In this example, we'll have a virtual guest machine running an instance of [[ | In this example, we'll have a virtual guest machine running an instance of [[DokuWiki]] on port <code>80</code>. Start the VM while forwarding port <code>8080</code> on the host to port <code>80</code> on the guest | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 28: | Line 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
After the VM is successfully booted, | After the VM is successfully booted, DokuWiki will be available on http://localhost:8080 |
Revision as of 14:14, 24 October 2023
Nixos-shell is a small helper script for spawning lightweight NixOS virtual machines in a shell.
Installation
Add following line to your system configuration to install the program
environment.systemPackages = [ pkgs.nixos-shell ];
Usage
Create a single example file containing the system configuration for the virtual machine
myvm.nix
{ pkgs, ... }: {
services.dokuwiki.sites."localhost" = {
enable = true;
settings.title = "My Wiki";
};
};
In this example, we'll have a virtual guest machine running an instance of DokuWiki on port 80
. Start the VM while forwarding port 8080
on the host to port 80
on the guest
QEMU_NET_OPTS="hostfwd=tcp::8080-:80" nixos-shell myvm.nix
After the VM is successfully booted, DokuWiki will be available on http://localhost:8080