From f909d55f1a003997b1fe36394a6f3f1318414662 Mon Sep 17 00:00:00 2001 From: Donovan Glover Date: Sun, 29 Oct 2023 13:37:09 -0400 Subject: [PATCH] docs: Clean up README with new format Also makes tests pass. --- README.md | 54 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 5bfe325..b980b56 100644 --- a/README.md +++ b/README.md @@ -2,37 +2,49 @@ Run native wine applications inside declarative systemd-nspawn containers. `sakaya` functions as a replacement for `wine` on the host. Works well with NixOS. -## Setup +## Features -### Step 1: Add sakaya to your flake inputs +- Start multiple wine applications that can interact with each other inside sandboxed systemd-nspawn containers +- Automatically open 32/64-bit wine prefixes based on the executable +- Pass-through `/dri` for native GPU performance inside containers +- Prevent sandboxed applications from accessing the internet -```nix -{ - inputs = { - sakaya.url = "github:donovanglover/sakaya"; - inputs.nixpkgs.follows = "nixpkgs"; - }; -} -``` - -### Step 2: Create a nixos-container with sakaya +## Installation -> TODO: NOTE: This part is non-trivial and should be simplified for end-users later. +### [NixOS](https://nixos.wiki/wiki/Overview_of_the_NixOS_Linux_distribution) (Recommended) -See [`containers/default.nix`](https://github.com/donovanglover/nix-config/blob/master/containers/default.nix) in my nix-config for an example. - -### Step 3: Add sakaya to `systemPackages` +Add [`sakaya`](https://search.nixos.org/packages?channel=unstable&query=sakaya) to your `systemPackages` and rebuild. ```nix -{ sakaya, pkgs, ... }: +{ pkgs, ... }: { environment.systemPackages = with pkgs; [ - sakaya.packages.${pkgs.system}.sakaya + sakaya ]; } ``` +### [Arch Linux](https://archlinux.org/) + +```fish +git clone https://github.com/donovanglover/sakaya && cd sakaya && makepkg -si +``` + +### Other distributions + +Follow the [install guide](https://www.rust-lang.org/tools/install) for Rust. Then, use cargo to install sakaya. + +```fish +cargo install --git https://github.com/donovanglover/sakaya --tag 0.1.0 +``` + +### Setup + +In order to use sakaya, you must first create a nixos-container running the sakaya server. + +See [`containers/default.nix`](https://github.com/donovanglover/nix-config/blob/master/containers/default.nix) in my nix-config for an example. + ## Usage ```man @@ -54,6 +66,10 @@ Options: -V, --version Print version ``` +## Contributing + +sakaya should be bug free, however contributions are welcome. Although NixOS has first-class support, it should be possible to use sakaya with other distributions as well. + ## Todo - [x] Reduce compile times @@ -65,4 +81,4 @@ Options: - [ ] Terminate sakaya if the server/container cannot be reached - [ ] Create NixOS module to automate container creation and configuration? - [ ] Automatically register sakaya to executables -- [ ] Update format of README +- [x] Update format of README