Skip to content

Tabby

services.tabby.acceleration

Specifies the device to use for hardware acceleration.

  • cpu: no acceleration just use the CPU
  • rocm: supported by modern AMD GPUs
  • cuda: supported by modern NVIDIA GPUs
  • metal: supported on darwin aarch64 machines

Tabby will try and determine what type of acceleration that is already enabled in your configuration when acceleration = null.

  • nixpkgs.config.cudaSupport
  • nixpkgs.config.rocmSupport
  • if stdenv.isDarwin && stdenv.isAarch64

IFF multiple acceleration methods are found to be enabled or if you haven't set either cudaSupport or rocmSupport you will have to specify the device type manually here otherwise it will default to the first from the list above or to cpu.

Type: null or one of "cpu", "rocm", "cuda", "metal"

Default

null

Example

"rocm"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.enable

Whether to enable Self-hosted AI coding assistant using large language models. Type: boolean

Default

false

Example

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.indexInterval

Run tabby scheduler to generate the index database at this interval. Updates by default every 5 hours. This value applies to OnUnitInactiveSec

The format is described in {manpage}systemd.time(7).

To disable running tabby scheduler --now updates, set to "never"

Type: string

Default

"5hours"

Example

"5hours"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.model

Specify the model that tabby will use to generate completions.

This model will be downloaded automatically if it is not already present.

If you want to utilize an existing model that you've already downloaded you'll need to move it into tabby's state directory which lives in /var/lib/tabby. Because the tabby.service is configured to use a DyanmicUser the service will need to have been started at least once before you can move the locally existing model into /var/lib/tabby. You can set the model to 'none' and tabby will startup and fail to download a model, but will have created the /var/lib/tabby directory. You can then copy over the model manually into /var/lib/tabby, update the model option to the name you just downloaded and copied over then nixos-rebuild switch to start using it.

$ tabby download --model TabbyML/DeepseekCoder-6.7B $ find ~/.tabby/ | tail -n1 /home/ghthor/.tabby/models/TabbyML/DeepseekCoder-6.7B/ggml/q8_0.v2.gguf $ sudo rsync -r ~/.tabby/models/ /var/lib/tabby/models/ $ sudo chown -R tabby:tabby /var/lib/tabby/models/

See for Model Options:

https://github.com/TabbyML/registry-tabby

Type: string

Default

"TabbyML/StarCoder-1B"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.package

The tabby package to use. Type: package

Default

pkgs.tabby

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.port

Specifies the bind port on which the tabby server HTTP interface listens.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Default

11029

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.settings

Tabby scheduler configuration

See for more details:

https://tabby.tabbyml.com/docs/configuration/#repository-context-for-code-completion

Type: TOML value

Default

{ }

Example

`#!nix settings = { repositories = [ { name = "tabby"; git_url = "https://github.com/TabbyML/tabby.git"; }

# local directory is also supported, but limited by systemd DynamicUser=1
# adding local repositories will need to be done manually
{ name = "repository_a"; git_url = "file:///var/lib/tabby/repository_a"; }

]; }; `

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix

services.tabby.usageCollection

Enable sending anonymous usage data.

See for more details:

https://tabby.tabbyml.com/docs/configuration#usage-collection

Type: boolean

Default

false

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/misc/tabby.nix