Jump to content

KaTrain: Difference between revisions

From Official NixOS Wiki
Stupiv (talk | contribs)
Configurations to install KaTrain for Nouveau
 
Klinger (talk | contribs)
m added description, link and category applications
 
Line 1: Line 1:
https://github.com/sanderland/katrain/<syntaxhighlight lang="nix"># pkgs/katrain/default.nix
[https://github.com/sanderland/katrain/ KaTrain] is an application to learn the Go boardgame.<syntaxhighlight lang="nix"># pkgs/katrain/default.nix
{pkgs, ...}: let
{pkgs, ...}: let
   katrainFHS = pkgs.buildFHSEnv {
   katrainFHS = pkgs.buildFHSEnv {
Line 56: Line 56:
}
}
</syntaxhighlight>
</syntaxhighlight>
[[Category:Applications]]
[[Category:Gaming]]

Latest revision as of 19:23, 11 May 2026

KaTrain is an application to learn the Go boardgame.

# pkgs/katrain/default.nix
{pkgs, ...}: let
  katrainFHS = pkgs.buildFHSEnv {
    name = "katrain";

    targetPkgs = pkgs:
      with pkgs; [
        uv
        xclip
        SDL2
        libGL
        mtdev
        zlib
      ];

    runScript = pkgs.writeShellScript "katrain-run" ''
      exec uvx katrain "$@"
    '';
  };

  desktopItem = pkgs.makeDesktopItem {
    name = "katrain";
    desktopName = "KaTrain";
    exec = "${katrainFHS}/bin/katrain %U";
    terminal = false;
    comment = "KaTrain - Go/Baduk AI teaching tool";
    categories = ["Game" "BoardGame" "Education"];
    icon = "katrain";
  };
in
  pkgs.symlinkJoin {
    name = "katrain";
    paths = [katrainFHS desktopItem];
  }
{pkgs, ...}: {
  environment.systemPackages = with pkgs; [
    (pkgs.callPackage ./pkgs/katrain {})
    katago
  ];
  hardware.graphics.extraPackages = with pkgs; [
    mesa.opencl
  ];
  environment.variables = {
    RUSTICL_ENABLE = "nouveau";
  };
}
// ~/.katrain/config.json
{
  "engine": {
    "katago": "katago",
    // ...
  },
  // ...
}