aboutsummaryrefslogtreecommitdiffstats
path: root/shell.nix
blob: db2f403aba6dd1983bc0c4e8f88071933e8c88bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{ pkgs ? import sources.nixpkgs { }
, sources ? import ./npins
}:

with pkgs;

let

  python =
    python312.withPackages (pythonPkgs: [
    ]);

    pull = writeShellApplication {
      name = "pull";
      text = ''
        ollama pull gemma3
        ollama pull llama3.1:8b
      '';
    };

    serve = writeShellApplication {
      name = "serve";
      text = ''
        ollama serve
      '';
    };

in

mkShell {
  packages = [
    ollama
    pull
    python
    serve
  ];
  shellHook = ''
    if [ ! -d .venv ]; then
      python -m venv .venv
      source .venv/bin/activate
      pip install --upgrade uv
    else
      source .venv/bin/activate
    fi

    uv sync
  '';
}