From c363657db849c3329b8e6416e5dec4dd0b4a2f8a Mon Sep 17 00:00:00 2001 From: Immabed Date: Wed, 9 Sep 2026 21:55:25 -0600 Subject: [PATCH 1/9] Document the flake. Flake documentions in its own file, so as not to scare the normies. + Installation instructions + System package details + Running Live, installing plugins, etc. + Other flakes and options + Sample system config Couple of links to the flake documentation in the README, * Push NixOS users to FLAKE.md in the Installation section * Push Flake users to the appropriate section in FLAKE.md for installing vsts --- FLAKE.md | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 ++ 2 files changed, 167 insertions(+) create mode 100644 FLAKE.md diff --git a/FLAKE.md b/FLAKE.md new file mode 100644 index 00000000..6a6faed2 --- /dev/null +++ b/FLAKE.md @@ -0,0 +1,163 @@ +# Ableton Live Nix Flake + +In addition to the usual installer, this project is packaged as a nix flake, both to support NixOS, where the installer does not work, as well as any other Linux system using Nix. + +NixOS is only supported via the flake, as NixOS does not allow dynamic library linking, so the standard installer will fail. + +Please read through this whole document before using the flake, as there are many otions available. + +## Installation + +*Flakes are experimental and must be [enabled](https://wiki.nixos.org/wiki/Flakes#Setup).* + +The flake builds and patches wine, this can take considerable time. + +``` +nix run github:shibco/ableton-linux +``` + +Before Ableton Live can be run, the wine prefix must also be setup. Unlike the standard installer, this requires an extra step. + +``` +nix run github:shibco/ableton-linux#setup-prefix +``` + +### Installing Live + +Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `.#wine` flake, which sets the wine prefix and uses the patched wine binary. + +``` +nix run github:shibco/ableton-linux#wine /path/to/ableton-live-installer.exe +``` + +You can also choose to auto-install Live while setting up the prefix. With a valid Live installer zip file in `~/Proprietary`, run: + +``` +nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 +``` + +Or with your Live installer in another directoy run: + +``` +nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 --set-env-var LIVE_AUTOINSTALL_DIR /path/to/dir +``` + +### System Install as a Flake Input + +You can use the default flake as a flake input. You still need to run `.#setup-prefix` manually. + +With the flake provided as an input, you can add ableton-linux to your system packages (where `inputs.ableton-linux` is the flake input) + +``` +inputs.ableton-linux.packages.x86_64-linux.default +``` + +This will add an `ableton-live` command, as well as a .desktop file, for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. + +A basic example of installing this way is provided [here](#basic-system-flake-setup). + +## Running Live + +With the prefix setup and Live installed, you can run it with the default flake. + +``` +nix run github:shibco/ableton-linux +``` + +If the system package is installed, you can run it with `ableton-live` or through a program launcher with the .desktop file. + +## Alternative Flake References + +Although `github:shibco/ableton-linux` is a great flake location, running live with `nix run github:shibco/ableton-linux` will result in redownloading and rebuilding wine everytime there is a new commit to `main` in the github repo. + +There are [several other ways](https://nix.dev/manual/nix/2.34/command-ref/new-cli/nix3-flake.html#flake-references) to reference the flake. In each case, replace `github:shibco/ableton-linux` with the alternative reference. + +To pin a specific commit, either to avoid updating, or to test a particular version or pull request, add the commit ID, eg. `github:shibco/ableton-linux/c2092f702531712950649c4f957caff8203b2199`. + +To follow a specific branch, add the branch name, eg. `github:shibco/ableton-linux/main`. + +To use a local copy of the repo, download the repo and use the path to the local repo. `/path/to/flake/dir` or for relative path, `./relative/path/flake/dir`. Most sinply, use `.` for the current dir. + +## Updating ableton-linux + +Updating is a two-part process. If you are using `nix run`, the default flake will automatically rebuild when the flake reference has updated. If used as a flake input, use `nix flake update`. + +After an update, it is recommended to run +``` +nix run github:shibco/ableton-linux#setup-prefix -- --refresh +``` +to apply any changes to the wine prefix. This is an idempotent command, and can be run anytime and repeatedly, even without `-- --refresh`, which just skips steps not needed for an existing prefix. + +## Additional Flakes + +You can also view all flakes in [flake.nix](flake.nix). + +### Default + +`.` - runs Live with the patched wine. + +### Wine + +`.#wine` - runs the patched wine runtime in the `.wine-ableton` prefix. Use this for installing plugins, eg. `nix run github:shibco/ableton-linux#wine plugin-installer.exe` + +If the system package is installed, `ableton-wine` does the same thing, eg. `ableton-wine plugin-installer.exe`. + +### Setup Prefix + +`.#setup-prefix` - creates and prepares the wine prefix. Updates existing prefix. Can be run with `-- --refresh` to update the prefix. + +### Check NTSync + +`.#check-ntsync` - runs the `check-ntsync.sh` script to check if the NTSync kernel module is enabled and working. + +### Audio Report +`.#audio-report` - runs the `audio-report.sh` script, for troubleshooting audio issues. Prints the read-only audio diagnostic snapshot an issue report is expected to carry. + +### Setup Realtime +`.#setup-realtime` - Install the distribution-canon pro-audio profile (rtprio, swappiness, governor; needs sudo) + +### Setup Link +`.#setup-link` - Set up Ableton Link networking (firewall port 20808) and enable the ableton-linkd user service + +Commands include `enable`, `disable`, and `status`, eg `nix run .#setup-link status`. + +`enable` also supports setting the mode to `session` or `always`, eg `nix run .#setup-link enable -- --mode=session` + +## Basic System Flake Setup + +This is an example installation as a flake input, with the system package. There are many other ways to do this. + +This example uses the basic flake on the [NixOS Wiki](https://wiki.nixos.org/wiki/NixOS_system_configuration#Accessing_flake_inputs), and allows the continued use of an already setup `configuration.nix`. + +`/etc/flake.nix` +```nix +{ + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.ableton-linux.url = "github:shibco/ableton-linux"; + + outputs = { self, nixpkgs, ... }@inputs: { + # replace nixos with your hostname + nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ ./configuration.nix ]; + }; + }; +} +``` + +Then in your `configuration.nix` add `inputs` to the arguments, eg: +``` +{ config, pkgs, inputs, ... }: +``` + +Then add to your system packages, eg: +``` +environment.systemPackages = with pkgs; [ + ... +] +++ [ + inputs.ableton-linux.packages.x86_64-linux.default +]; +``` + +This is only an example setup, and must be modified to match your configuration. diff --git a/README.md b/README.md index d3e5b48a..e55e2d2f 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,8 @@ straightforward: 2. Download [the latest version of our installer](https://github.com/shibco/ableton-linux/releases/latest/download/install-ableton-latest.run). 3. Double-click the `install-ableton-latest.run` file. +Note: Installation on NixOS requires using the flake. [Details here](FLAKE.md). + You can also run the installer from the terminal. ```bash @@ -288,6 +290,8 @@ There are two ways to install Windows plugins: You can also use the command in step 2 to run patches, software updaters, and copy-protection tools. +If your are using the nix flake, use the procedure [detailed here](FLAKE.md#wine) instead. + ### If you have a VST3 file You can install Windows `.vst3` bundles by copying them directly into: From ac10450ac05bc2de9e07a5b24f6eebb265bc390c Mon Sep 17 00:00:00 2001 From: Immabed Date: Wed, 9 Sep 2026 22:40:33 -0600 Subject: [PATCH 2/9] Simplify Flake installation, fix typos. --- FLAKE.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 6a6faed2..4b6e2aad 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -10,13 +10,7 @@ Please read through this whole document before using the flake, as there are man *Flakes are experimental and must be [enabled](https://wiki.nixos.org/wiki/Flakes#Setup).* -The flake builds and patches wine, this can take considerable time. - -``` -nix run github:shibco/ableton-linux -``` - -Before Ableton Live can be run, the wine prefix must also be setup. Unlike the standard installer, this requires an extra step. +The flake builds and patches wine, this can take considerable time. Running any of the flakes will build wine, so to install, use `.#setup-prefix` to also setup the wine prefix. ``` nix run github:shibco/ableton-linux#setup-prefix @@ -36,15 +30,15 @@ You can also choose to auto-install Live while setting up the prefix. With a val nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 ``` -Or with your Live installer in another directoy run: +Or with your Live installer in another directory run: ``` nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 --set-env-var LIVE_AUTOINSTALL_DIR /path/to/dir ``` -### System Install as a Flake Input +### Flake Input for System Config -You can use the default flake as a flake input. You still need to run `.#setup-prefix` manually. +You can use the default flake as a flake input. You still need to run `.#setup-prefix` manually one time to create the prefix. With the flake provided as an input, you can add ableton-linux to your system packages (where `inputs.ableton-linux` is the flake input) @@ -64,11 +58,11 @@ With the prefix setup and Live installed, you can run it with the default flake. nix run github:shibco/ableton-linux ``` -If the system package is installed, you can run it with `ableton-live` or through a program launcher with the .desktop file. +If the system package is installed, you can run it with `ableton-live` or through a program launcher using the .desktop file. ## Alternative Flake References -Although `github:shibco/ableton-linux` is a great flake location, running live with `nix run github:shibco/ableton-linux` will result in redownloading and rebuilding wine everytime there is a new commit to `main` in the github repo. +Although `github:shibco/ableton-linux` is a convenient flake location, running live with `nix run github:shibco/ableton-linux` will result in redownloading and rebuilding wine everytime there is a new commit to `main` in the github repo. There are [several other ways](https://nix.dev/manual/nix/2.34/command-ref/new-cli/nix3-flake.html#flake-references) to reference the flake. In each case, replace `github:shibco/ableton-linux` with the alternative reference. @@ -76,9 +70,9 @@ To pin a specific commit, either to avoid updating, or to test a particular vers To follow a specific branch, add the branch name, eg. `github:shibco/ableton-linux/main`. -To use a local copy of the repo, download the repo and use the path to the local repo. `/path/to/flake/dir` or for relative path, `./relative/path/flake/dir`. Most sinply, use `.` for the current dir. +To use a local copy of the repo, download the repo and use the path to the local repo: `/path/to/flake/dir`, or for a relative path: `./relative/path/flake/dir`. Most simply, use just `.` if the repo is the current directory. -## Updating ableton-linux +## Updating Updating is a two-part process. If you are using `nix run`, the default flake will automatically rebuild when the flake reference has updated. If used as a flake input, use `nix flake update`. @@ -88,6 +82,12 @@ nix run github:shibco/ableton-linux#setup-prefix -- --refresh ``` to apply any changes to the wine prefix. This is an idempotent command, and can be run anytime and repeatedly, even without `-- --refresh`, which just skips steps not needed for an existing prefix. +## Uninstalling + +There is no dedicated uninstaller. If using `nix run`, clearing your nix store cache will remove build artifacts. If using flake inputs, simply remove the flake from your config. + +Dangling directories at `~/.local/share/ableton-wine` (contains a symlink), and `~/.local/state/ableton-wine` (contains logs) can be removed. For a complete uninstalltion, you can also delete the prefix at `~/.wine-ableton`, but note that will delete Ableton Live and anything else installed in the prefix. + ## Additional Flakes You can also view all flakes in [flake.nix](flake.nix). From 2f853dc88f8528897457783c2059b7a394edb76d Mon Sep 17 00:00:00 2001 From: onoruu Date: Thu, 10 Sep 2026 17:41:23 -0400 Subject: [PATCH 3/9] Refine text and fix typos in FLAKE.md Updated wording for clarity and corrected typos in FLAKE.md. --- FLAKE.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 4b6e2aad..2753575c 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -1,24 +1,27 @@ # Ableton Live Nix Flake -In addition to the usual installer, this project is packaged as a nix flake, both to support NixOS, where the installer does not work, as well as any other Linux system using Nix. +This project contains a nix flake; both to support common NixOS configurations, as well as any other Linux system using Nix. -NixOS is only supported via the flake, as NixOS does not allow dynamic library linking, so the standard installer will fail. +Since NixOS does not allow dynamic library linking out of the box, the standard installer will fail. -Please read through this whole document before using the flake, as there are many otions available. +Please read through this whole document before using the flake, as there are many options available. ## Installation *Flakes are experimental and must be [enabled](https://wiki.nixos.org/wiki/Flakes#Setup).* -The flake builds and patches wine, this can take considerable time. Running any of the flakes will build wine, so to install, use `.#setup-prefix` to also setup the wine prefix. +First, set up the wine prefix. This builds and patches wine: ``` nix run github:shibco/ableton-linux#setup-prefix ``` +Note that this can take a considerable amount of time; you can mitigate this by maintaining a build without frequent updates. More info is detailed in the **"Pinning Solutions"** section. + + ### Installing Live -Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `.#wine` flake, which sets the wine prefix and uses the patched wine binary. +Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `.#wine` option, which sets the wine prefix and uses the patched wine binary. ``` nix run github:shibco/ableton-linux#wine /path/to/ableton-live-installer.exe @@ -60,7 +63,7 @@ nix run github:shibco/ableton-linux If the system package is installed, you can run it with `ableton-live` or through a program launcher using the .desktop file. -## Alternative Flake References +## Pinning Solutions Although `github:shibco/ableton-linux` is a convenient flake location, running live with `nix run github:shibco/ableton-linux` will result in redownloading and rebuilding wine everytime there is a new commit to `main` in the github repo. @@ -88,9 +91,9 @@ There is no dedicated uninstaller. If using `nix run`, clearing your nix store c Dangling directories at `~/.local/share/ableton-wine` (contains a symlink), and `~/.local/state/ableton-wine` (contains logs) can be removed. For a complete uninstalltion, you can also delete the prefix at `~/.wine-ableton`, but note that will delete Ableton Live and anything else installed in the prefix. -## Additional Flakes +## Additional Options -You can also view all flakes in [flake.nix](flake.nix). +You can also view all the possible flake options in [flake.nix](flake.nix). ### Default From a1be3c86050570af241a76968d6d0dc6fbc790a3 Mon Sep 17 00:00:00 2001 From: r3quisitevariety Date: Thu, 10 Sep 2026 17:47:06 -0400 Subject: [PATCH 4/9] docs(test): merge flake examples for iteration --- FLAKE.md | 74 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 2753575c..f0b958fb 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -51,8 +51,46 @@ inputs.ableton-linux.packages.x86_64-linux.default This will add an `ableton-live` command, as well as a .desktop file, for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. +### Basic Example + A basic example of installing this way is provided [here](#basic-system-flake-setup). +This is an example installation as a flake input, with the system package. There are many other ways to do this. + +This example uses the basic flake on the [NixOS Wiki](https://wiki.nixos.org/wiki/NixOS_system_configuration#Accessing_flake_inputs), and allows the continued use of an already setup `configuration.nix`. + +`/etc/flake.nix` +```nix +{ + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.ableton-linux.url = "github:shibco/ableton-linux"; + + outputs = { self, nixpkgs, ... }@inputs: { + # replace nixos with your hostname + nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ ./configuration.nix ]; + }; + }; +} +``` + +Then in your `configuration.nix` add `inputs` to the arguments: +``` +{ config, pkgs, inputs, ... }: +``` + +Then add to your system packages: +``` +environment.systemPackages = with pkgs; [ + ... +] +++ [ + inputs.ableton-linux.packages.x86_64-linux.default +]; +``` + + ## Running Live With the prefix setup and Live installed, you can run it with the default flake. @@ -128,39 +166,3 @@ Commands include `enable`, `disable`, and `status`, eg `nix run .#setup-link sta ## Basic System Flake Setup -This is an example installation as a flake input, with the system package. There are many other ways to do this. - -This example uses the basic flake on the [NixOS Wiki](https://wiki.nixos.org/wiki/NixOS_system_configuration#Accessing_flake_inputs), and allows the continued use of an already setup `configuration.nix`. - -`/etc/flake.nix` -```nix -{ - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - inputs.ableton-linux.url = "github:shibco/ableton-linux"; - - outputs = { self, nixpkgs, ... }@inputs: { - # replace nixos with your hostname - nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ ./configuration.nix ]; - }; - }; -} -``` - -Then in your `configuration.nix` add `inputs` to the arguments, eg: -``` -{ config, pkgs, inputs, ... }: -``` - -Then add to your system packages, eg: -``` -environment.systemPackages = with pkgs; [ - ... -] -++ [ - inputs.ableton-linux.packages.x86_64-linux.default -]; -``` - -This is only an example setup, and must be modified to match your configuration. From cc037ff02d6c097a14fd41bce8df8a395a5c9877 Mon Sep 17 00:00:00 2001 From: r3quisitevariety Date: Thu, 10 Sep 2026 17:52:27 -0400 Subject: [PATCH 5/9] docs: clean up unecessary stuff --- FLAKE.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index f0b958fb..d618df03 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -41,7 +41,7 @@ nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTO ### Flake Input for System Config -You can use the default flake as a flake input. You still need to run `.#setup-prefix` manually one time to create the prefix. +You can use the default flake as a flake input and add it to your system config. You still need to run `.#setup-prefix` manually one time to create the prefix. With the flake provided as an input, you can add ableton-linux to your system packages (where `inputs.ableton-linux` is the flake input) @@ -163,6 +163,3 @@ If the system package is installed, `ableton-wine` does the same thing, eg. `abl Commands include `enable`, `disable`, and `status`, eg `nix run .#setup-link status`. `enable` also supports setting the mode to `session` or `always`, eg `nix run .#setup-link enable -- --mode=session` - -## Basic System Flake Setup - From f8a17cdb20e7f09fdc7ec8e32c082828892646f7 Mon Sep 17 00:00:00 2001 From: r3quisitevariety Date: Thu, 10 Sep 2026 18:01:06 -0400 Subject: [PATCH 6/9] docs: clarify FLAKE.md --- FLAKE.md | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index d618df03..4228a5d0 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -16,7 +16,7 @@ First, set up the wine prefix. This builds and patches wine: nix run github:shibco/ableton-linux#setup-prefix ``` -Note that this can take a considerable amount of time; you can mitigate this by maintaining a build without frequent updates. More info is detailed in the **"Pinning Solutions"** section. +Note that this can take a considerable amount of time; you can mitigate this by maintaining a build without frequent updates. More info is detailed [here](#pinning-solutions). ### Installing Live @@ -39,27 +39,23 @@ Or with your Live installer in another directory run: nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 --set-env-var LIVE_AUTOINSTALL_DIR /path/to/dir ``` -### Flake Input for System Config +### Adding the Flake to your System Config You can use the default flake as a flake input and add it to your system config. You still need to run `.#setup-prefix` manually one time to create the prefix. With the flake provided as an input, you can add ableton-linux to your system packages (where `inputs.ableton-linux` is the flake input) ``` -inputs.ableton-linux.packages.x86_64-linux.default +inputs.ableton-linux.packages.${pkgs.stdenv.hostPlatform.system}.default ``` This will add an `ableton-live` command, as well as a .desktop file, for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. -### Basic Example - -A basic example of installing this way is provided [here](#basic-system-flake-setup). - -This is an example installation as a flake input, with the system package. There are many other ways to do this. +#### Basic Example This example uses the basic flake on the [NixOS Wiki](https://wiki.nixos.org/wiki/NixOS_system_configuration#Accessing_flake_inputs), and allows the continued use of an already setup `configuration.nix`. -`/etc/flake.nix` +in your `flake.nix`: ```nix { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; @@ -81,16 +77,13 @@ Then in your `configuration.nix` add `inputs` to the arguments: ``` Then add to your system packages: + ``` environment.systemPackages = with pkgs; [ - ... -] -++ [ - inputs.ableton-linux.packages.x86_64-linux.default + inputs.ableton-linux.packages.${pkgs.stdenv.hostPlatform.system}.default ]; ``` - ## Running Live With the prefix setup and Live installed, you can run it with the default flake. From c7c52c438e999d01201c872483d1704832c95352 Mon Sep 17 00:00:00 2001 From: Immabed Date: Thu, 10 Sep 2026 18:55:55 -0600 Subject: [PATCH 7/9] Docs: Typos, Clarity, Corrects to FLAKE.md Fixes a couple typos. Adjusts wording to clarify meaning. Fix claim that every commit will cause a rebuild of wine, this is not true, Nix is smarter than that. --- FLAKE.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 4228a5d0..07224440 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -1,6 +1,6 @@ # Ableton Live Nix Flake -This project contains a nix flake; both to support common NixOS configurations, as well as any other Linux system using Nix. +This project contains a nix flake to support common NixOS configurations, as well as any other Linux system using Nix. Since NixOS does not allow dynamic library linking out of the box, the standard installer will fail. @@ -10,13 +10,13 @@ Please read through this whole document before using the flake, as there are man *Flakes are experimental and must be [enabled](https://wiki.nixos.org/wiki/Flakes#Setup).* -First, set up the wine prefix. This builds and patches wine: +First, set up the wine prefix. This also builds and patches wine: ``` nix run github:shibco/ableton-linux#setup-prefix ``` -Note that this can take a considerable amount of time; you can mitigate this by maintaining a build without frequent updates. More info is detailed [here](#pinning-solutions). +Note that building wine can take a considerable amount of time; you can mitigate this by maintaining a build with less frequent updates. More info is detailed [here](#pinning-solutions). ### Installing Live @@ -33,7 +33,7 @@ You can also choose to auto-install Live while setting up the prefix. With a val nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 ``` -Or with your Live installer in another directory run: +Or with your Live installer in any other directory run: ``` nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTOINSTALL 1 --set-env-var LIVE_AUTOINSTALL_DIR /path/to/dir @@ -49,7 +49,7 @@ With the flake provided as an input, you can add ableton-linux to your system pa inputs.ableton-linux.packages.${pkgs.stdenv.hostPlatform.system}.default ``` -This will add an `ableton-live` command, as well as a .desktop file, for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. +This will add the `ableton-live` command and an Ableton Live desktop entry, both for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. #### Basic Example @@ -92,35 +92,35 @@ With the prefix setup and Live installed, you can run it with the default flake. nix run github:shibco/ableton-linux ``` -If the system package is installed, you can run it with `ableton-live` or through a program launcher using the .desktop file. +If the system package is installed, you can run it with `ableton-live` or through a program launcher using the desktop entry. ## Pinning Solutions -Although `github:shibco/ableton-linux` is a convenient flake location, running live with `nix run github:shibco/ableton-linux` will result in redownloading and rebuilding wine everytime there is a new commit to `main` in the github repo. +Although `github:shibco/ableton-linux` is a convenient flake location, running live with `nix run github:shibco/ableton-linux` will result in downloading the commit tarball (>100MB) for every new commit to `main` in the github repo, and rebuilding wine any time there is a change to the wine version or patches. -There are [several other ways](https://nix.dev/manual/nix/2.34/command-ref/new-cli/nix3-flake.html#flake-references) to reference the flake. In each case, replace `github:shibco/ableton-linux` with the alternative reference. +There are [several other ways](https://nix.dev/manual/nix/2.34/command-ref/new-cli/nix3-flake.html#flake-references) to reference the flake. In each case, replace `github:shibco/ableton-linux` with the alternative reference in any commands or config files. To pin a specific commit, either to avoid updating, or to test a particular version or pull request, add the commit ID, eg. `github:shibco/ableton-linux/c2092f702531712950649c4f957caff8203b2199`. To follow a specific branch, add the branch name, eg. `github:shibco/ableton-linux/main`. -To use a local copy of the repo, download the repo and use the path to the local repo: `/path/to/flake/dir`, or for a relative path: `./relative/path/flake/dir`. Most simply, use just `.` if the repo is the current directory. +To use a local copy, clone the repository and use the path to the local repo: either with the absolute path: `/path/to/flake/dir`, or for a relative path: `./relative/path/flake/dir`. Use just `.` if the repo is the current directory. ## Updating -Updating is a two-part process. If you are using `nix run`, the default flake will automatically rebuild when the flake reference has updated. If used as a flake input, use `nix flake update`. +If you are using `nix run`, the flake will automatically rebuild when the flake reference has updated. If used as a flake input, use `nix flake update`. -After an update, it is recommended to run +After an update, or to cause an update, it is recommended to run `.#setup-prefix` with the `--refresh` flag. ``` nix run github:shibco/ableton-linux#setup-prefix -- --refresh ``` -to apply any changes to the wine prefix. This is an idempotent command, and can be run anytime and repeatedly, even without `-- --refresh`, which just skips steps not needed for an existing prefix. +This applies any new changes to the wine prefix. This is an idempotent command, and can be run anytime and repeatedly, even without `-- --refresh`, which just skips steps which are unnecessary for updating an existing prefix. ## Uninstalling There is no dedicated uninstaller. If using `nix run`, clearing your nix store cache will remove build artifacts. If using flake inputs, simply remove the flake from your config. -Dangling directories at `~/.local/share/ableton-wine` (contains a symlink), and `~/.local/state/ableton-wine` (contains logs) can be removed. For a complete uninstalltion, you can also delete the prefix at `~/.wine-ableton`, but note that will delete Ableton Live and anything else installed in the prefix. +Dangling directories at `~/.local/share/ableton-wine` (contains a symlink), and `~/.local/state/ableton-wine` (contains logs) can be removed. For a complete uninstallation, you can also delete the prefix at `~/.wine-ableton`, but note that will delete Ableton Live and anything else installed in the prefix. ## Additional Options @@ -148,7 +148,7 @@ If the system package is installed, `ableton-wine` does the same thing, eg. `abl `.#audio-report` - runs the `audio-report.sh` script, for troubleshooting audio issues. Prints the read-only audio diagnostic snapshot an issue report is expected to carry. ### Setup Realtime -`.#setup-realtime` - Install the distribution-canon pro-audio profile (rtprio, swappiness, governor; needs sudo) +`.#setup-realtime` - Install the distribution-canon pro-audio profile (rtprio, swappiness, governor, asks for sudo) ### Setup Link `.#setup-link` - Set up Ableton Link networking (firewall port 20808) and enable the ableton-linkd user service From 51e02a01779b7bc3c0e10e6f36f494caa558b89a Mon Sep 17 00:00:00 2001 From: Immabed Date: Thu, 10 Sep 2026 19:00:09 -0600 Subject: [PATCH 8/9] Docs: changed flake option, unified nix run syntax Replaced instances of `.#` with `#` in documentation, based on V33's feedback. Replaced instances of `nix run .#` with `nix run github:shibco/ableton-linux` for consistency, despite the bulkiness. --- FLAKE.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 07224440..7bb0e176 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -21,7 +21,7 @@ Note that building wine can take a considerable amount of time; you can mitigate ### Installing Live -Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `.#wine` option, which sets the wine prefix and uses the patched wine binary. +Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `#wine` option, which sets the wine prefix and uses the patched wine binary. ``` nix run github:shibco/ableton-linux#wine /path/to/ableton-live-installer.exe @@ -41,7 +41,7 @@ nix run github:shibco/ableton-linux#setup-prefix --set-env-var ABLETON_LIVE_AUTO ### Adding the Flake to your System Config -You can use the default flake as a flake input and add it to your system config. You still need to run `.#setup-prefix` manually one time to create the prefix. +You can use the default flake as a flake input and add it to your system config. You still need to run `#setup-prefix` manually one time to create the prefix. With the flake provided as an input, you can add ableton-linux to your system packages (where `inputs.ableton-linux` is the flake input) @@ -49,7 +49,7 @@ With the flake provided as an input, you can add ableton-linux to your system pa inputs.ableton-linux.packages.${pkgs.stdenv.hostPlatform.system}.default ``` -This will add the `ableton-live` command and an Ableton Live desktop entry, both for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run .#wine`. +This will add the `ableton-live` command and an Ableton Live desktop entry, both for launching Live. This also adds the `ableton-wine` command, which is a shortcut for setting the wine prefix to `~/.wine-ableton` and running the patched wine, the same as `nix run github:shibco/ableton-linux#wine`. #### Basic Example @@ -110,7 +110,7 @@ To use a local copy, clone the repository and use the path to the local repo: ei If you are using `nix run`, the flake will automatically rebuild when the flake reference has updated. If used as a flake input, use `nix flake update`. -After an update, or to cause an update, it is recommended to run `.#setup-prefix` with the `--refresh` flag. +After an update, or to cause an update, it is recommended to run `#setup-prefix` with the `--refresh` flag. ``` nix run github:shibco/ableton-linux#setup-prefix -- --refresh ``` @@ -128,31 +128,31 @@ You can also view all the possible flake options in [flake.nix](flake.nix). ### Default -`.` - runs Live with the patched wine. +Runs Live with the patched wine. ### Wine -`.#wine` - runs the patched wine runtime in the `.wine-ableton` prefix. Use this for installing plugins, eg. `nix run github:shibco/ableton-linux#wine plugin-installer.exe` +`#wine` - runs the patched wine runtime in the `.wine-ableton` prefix. Use this for installing plugins, eg. `nix run github:shibco/ableton-linux#wine plugin-installer.exe` If the system package is installed, `ableton-wine` does the same thing, eg. `ableton-wine plugin-installer.exe`. ### Setup Prefix -`.#setup-prefix` - creates and prepares the wine prefix. Updates existing prefix. Can be run with `-- --refresh` to update the prefix. +`#setup-prefix` - creates and prepares the wine prefix. Updates existing prefix. Can be run with `-- --refresh` to update the prefix. ### Check NTSync -`.#check-ntsync` - runs the `check-ntsync.sh` script to check if the NTSync kernel module is enabled and working. +`#check-ntsync` - runs the `check-ntsync.sh` script to check if the NTSync kernel module is enabled and working. ### Audio Report -`.#audio-report` - runs the `audio-report.sh` script, for troubleshooting audio issues. Prints the read-only audio diagnostic snapshot an issue report is expected to carry. +`#audio-report` - runs the `audio-report.sh` script, for troubleshooting audio issues. Prints the read-only audio diagnostic snapshot an issue report is expected to carry. ### Setup Realtime -`.#setup-realtime` - Install the distribution-canon pro-audio profile (rtprio, swappiness, governor, asks for sudo) +`#setup-realtime` - Install the distribution-canon pro-audio profile (rtprio, swappiness, governor, asks for sudo) ### Setup Link -`.#setup-link` - Set up Ableton Link networking (firewall port 20808) and enable the ableton-linkd user service +`#setup-link` - Set up Ableton Link networking (firewall port 20808) and enable the ableton-linkd user service -Commands include `enable`, `disable`, and `status`, eg `nix run .#setup-link status`. +Commands include `enable`, `disable`, and `status`, eg `nix run github:shibco/ableton-linux#setup-link status`. -`enable` also supports setting the mode to `session` or `always`, eg `nix run .#setup-link enable -- --mode=session` +`enable` also supports setting the mode to `session` or `always`, eg `nix run github:shibco/ableton-linux#setup-link enable -- --mode=session` From 5c9df08dd21d2196cf3c41973d5630de07134437 Mon Sep 17 00:00:00 2001 From: Immabed Date: Mon, 14 Sep 2026 13:35:38 -0600 Subject: [PATCH 9/9] Docs: Flake, Apply batched typo fixes from code review Co-authored-by: fernwick <229844000+fernwick@users.noreply.github.com> --- FLAKE.md | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FLAKE.md b/FLAKE.md index 7bb0e176..70112730 100644 --- a/FLAKE.md +++ b/FLAKE.md @@ -21,7 +21,7 @@ Note that building wine can take a considerable amount of time; you can mitigate ### Installing Live -Once the prefix is setup, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `#wine` option, which sets the wine prefix and uses the patched wine binary. +Once the prefix is set up, you will be prompted to install Ableton Live. You can copy the command displayed, adding the path to your Ableton Live installer exe. You can also use the `#wine` option, which sets the wine prefix and uses the patched wine binary. ``` nix run github:shibco/ableton-linux#wine /path/to/ableton-live-installer.exe @@ -96,7 +96,7 @@ If the system package is installed, you can run it with `ableton-live` or throug ## Pinning Solutions -Although `github:shibco/ableton-linux` is a convenient flake location, running live with `nix run github:shibco/ableton-linux` will result in downloading the commit tarball (>100MB) for every new commit to `main` in the github repo, and rebuilding wine any time there is a change to the wine version or patches. +Although `github:shibco/ableton-linux` is a convenient flake location, running Live with `nix run github:shibco/ableton-linux` will result in downloading the commit tarball (>100MB) for every new commit to `main` in the github repo, and rebuilding wine any time there is a change to the wine version or patches. There are [several other ways](https://nix.dev/manual/nix/2.34/command-ref/new-cli/nix3-flake.html#flake-references) to reference the flake. In each case, replace `github:shibco/ableton-linux` with the alternative reference in any commands or config files. diff --git a/README.md b/README.md index e55e2d2f..13a1f529 100644 --- a/README.md +++ b/README.md @@ -290,7 +290,7 @@ There are two ways to install Windows plugins: You can also use the command in step 2 to run patches, software updaters, and copy-protection tools. -If your are using the nix flake, use the procedure [detailed here](FLAKE.md#wine) instead. +If you are using the nix flake, use the procedure [detailed here](FLAKE.md#wine) instead. ### If you have a VST3 file