Compare commits

..

No commits in common. "51c30f86acb5c2ce6cf5ae317cb2e3d091b0e6f1" and "7ebcb32b6305a0607b1cb929cb27bbb3ef3e6cb6" have entirely different histories.

12 changed files with 67 additions and 187 deletions

View file

@ -30,13 +30,6 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
# needed to access ghostty repo for now
- name: Setup SSH
uses: MrSquaare/ssh-setup-action@v3
with:
host: github.com
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- uses: ./.github/actions/clean-disk - uses: ./.github/actions/clean-disk
with: with:
purge-packages: 'true' purge-packages: 'true'
@ -50,15 +43,10 @@ jobs:
- uses: DeterminateSystems/magic-nix-cache-action@v8 - uses: DeterminateSystems/magic-nix-cache-action@v8
# - name: Install and login to attic cache - uses: cachix/cachix-action@v15
# run: | with:
# nix profile install "nixpkgs#attic-client" name: daylin
# attic login oizys https://attic.dayl.in "${{ secrets.ATTIC_TOKEN }}" authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
# - uses: cachix/cachix-action@v15
# with:
# name: daylin
# authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: write lock file - name: write lock file
if: "${{ inputs.lockFile != '' }}" if: "${{ inputs.lockFile != '' }}"

View file

@ -20,9 +20,8 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
# needed to access ghostty repo for now
- name: Setup SSH - name: Setup SSH
uses: MrSquaare/ssh-setup-action@v3 uses: MrSquaare/ssh-setup-action@v1
with: with:
host: github.com host: github.com
private-key: ${{ secrets.SSH_PRIVATE_KEY }} private-key: ${{ secrets.SSH_PRIVATE_KEY }}
@ -39,6 +38,7 @@ jobs:
experimental-features = pipe-operator experimental-features = pipe-operator
accept-flake-config = true accept-flake-config = true
- name: Install and login to attic cache - name: Install and login to attic cache
run: | run: |
nix profile install "nixpkgs#attic-client" nix profile install "nixpkgs#attic-client"
@ -69,8 +69,6 @@ jobs:
--host "othalan" --host "othalan"
--flake . --flake .
--debug --debug
--
--print-build-logs
- name: Commit Updates - name: Commit Updates
uses: daylin-bot/actions/commit-and-push@main uses: daylin-bot/actions/commit-and-push@main
@ -94,12 +92,6 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup SSH
uses: MrSquaare/ssh-setup-action@v1
with:
host: github.com
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- uses: DeterminateSystems/nix-installer-action@v14 - uses: DeterminateSystems/nix-installer-action@v14
with: with:
source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux source-url: https://install.lix.systems/lix/lix-installer-x86_64-linux

View file

@ -585,36 +585,38 @@
"lix": { "lix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1729298361, "lastModified": 1730328739,
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=", "narHash": "sha256-qs7u2nCwfEV93SKV1QSikOwRbHDEA1CWYZiVKI9Hhxk=",
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be", "rev": "beb193d1e2121cdbd51e8309572522ee9a841395",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be" "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/beb193d1e2121cdbd51e8309572522ee9a841395.tar.gz?rev=beb193d1e2121cdbd51e8309572522ee9a841395"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz" "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
} }
}, },
"lix-module": { "lix-module": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"flakey-profile": "flakey-profile", "flakey-profile": "flakey-profile",
"lix": "lix", "lix": [
"lix"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1729360442, "lastModified": 1727752861,
"narHash": "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=", "narHash": "sha256-jowmo2aEzrEpPSM96IWtajuogdJm7DjAWxFTEb7Ct0s=",
"rev": "9098ac95768f7006d7e070b88bae76939f6034e6", "rev": "fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz?rev=9098ac95768f7006d7e070b88bae76939f6034e6" "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d.tar.gz?rev=fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz" "url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
} }
}, },
"my-nixpkgs": { "my-nixpkgs": {
@ -923,11 +925,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1730531603, "lastModified": 1729880355,
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", "rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1076,6 +1078,7 @@
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib", "hyprland-contrib": "hyprland-contrib",
"hyprman": "hyprman", "hyprman": "hyprman",
"lix": "lix",
"lix-module": "lix-module", "lix-module": "lix-module",
"my-nixpkgs": "my-nixpkgs", "my-nixpkgs": "my-nixpkgs",
"nim2nix": "nim2nix_2", "nim2nix": "nim2nix_2",

View file

@ -12,19 +12,14 @@
nixos-wsl.url = "github:nix-community/NixOS-WSL"; nixos-wsl.url = "github:nix-community/NixOS-WSL";
nix-index-database.url = "github:nix-community/nix-index-database"; nix-index-database.url = "github:nix-community/nix-index-database";
# lix = { lix = {
# url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"; url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
# flake = false; flake = false;
# }; };
# lix-module = {
# url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
# inputs.nixpkgs.follows = "nixpkgs";
# inputs.lix.follows = "lix";
# };
lix-module = { lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.lix.follows = "lix";
}; };
# https://github.com/ghostty-org/ghostty/issues/2025 # https://github.com/ghostty-org/ghostty/issues/2025

View file

@ -16,7 +16,6 @@
|> listify; |> listify;
} }
// ( // (
# llm
'' ''
vpn|desktop|hyprland|chrome vpn|desktop|hyprland|chrome
backups|hp-scanner|llm backups|hp-scanner|llm

View file

@ -2,18 +2,22 @@
pkgs, pkgs,
config, config,
mkOizysModule, mkOizysModule,
flake, # enabled,
... ...
}: }:
let
inherit (pkgs) python3Packages;
# llm-ollama = python3Packages.callPackage ./llm-plugins/llm-ollama { };
llm-claude3 = python3Packages.callPackage ./llm-plugins/llm-claude-3 { };
in
mkOizysModule config "llm" { mkOizysModule config "llm" {
# services.ollama = enabled;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(python3.withPackages (ps: (python3.withPackages (ps: [
with (flake.pkgs "self"); ps.llm
[ llm-claude3
llm ]))
llm-claude-3
]
))
]; ];
} }

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "llm-claude-3"; pname = "llm-claude-3";
version = "0.7"; version = "0.4";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {

View file

@ -1,11 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
let inherit (pkgs) python3Packages;
in
{ {
nph = pkgs.callPackage ./nim/nph { }; # doesn't compile with 2.2.0 :/ nph = pkgs.callPackage ./nim/nph { }; # doesn't compile with 2.2.0 :/
nimlangserver = pkgs.callPackage ./nim/nimlangserver { }; nimlangserver = pkgs.callPackage ./nim/nimlangserver { };
nimble = pkgs.callPackage ./nim/nimble { }; nimble = pkgs.callPackage ./nim/nimble { };
distrobox = pkgs.callPackage ./distrobox {}; distrobox = pkgs.callPackage ./distrobox {};
llm = python3Packages.callPackage ./llm {};
llm-claude-3 = python3Packages.callPackage ./llm-plugins/llm-claude-3 {};
} }

View file

@ -1,96 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
pythonOlder,
setuptools,
click-default-group,
numpy,
openai,
pip,
pluggy,
pydantic,
python-ulid,
pyyaml,
sqlite-migrate,
cogapp,
pytest-httpx,
puremagic,
sqlite-utils,
}:
let
llm = buildPythonPackage rec {
pname = "llm";
version = "0.17.1";
pyproject = true;
build-system = [ setuptools ];
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "simonw";
repo = "llm";
rev = "refs/tags/${version}";
hash = "sha256-6OO0SIIxChM5HRJoUM4CYGbsINmc3i+iyL/oahLHhrY=";
};
# patches = [ ./001-disable-install-uninstall-commands.patch ];
dependencies = [
click-default-group
numpy
openai
pip
pluggy
pydantic
python-ulid
pyyaml
setuptools # for pkg_resources
sqlite-migrate
sqlite-utils
puremagic
];
nativeCheckInputs = [
cogapp
numpy
pytest-httpx
pytestCheckHook
];
doCheck = true;
pytestFlagsArray = [
"-svv"
"tests/"
];
pythonImportsCheck = [ "llm" ];
passthru = {
inherit withPlugins;
};
meta = with lib; {
homepage = "https://github.com/simonw/llm";
description = "Access large language models from the command-line";
changelog = "https://github.com/simonw/llm/releases/tag/${version}";
license = licenses.asl20;
mainProgram = "llm";
maintainers = with maintainers; [
aldoborrero
mccartykim
];
};
};
withPlugins = throw ''
llm.withPlugins was confusing to use and has been removed.
Please migrate to using python3.withPackages(ps: [ ps.llm ]) instead.
See https://nixos.org/manual/nixpkgs/stable/#python.withpackages-function for more usage examples.
'';
in
llm

View file

@ -136,12 +136,6 @@ proc evaluateDerivations(drvs: seq[string]): Table[string, NixDerivation] =
runCmdCaptWithSpinner(cmd, "evaluating derivations") runCmdCaptWithSpinner(cmd, "evaluating derivations")
fromJson(output, Table[string,NixDerivation]) fromJson(output, Table[string,NixDerivation])
proc nixDerivationShow(drvs: seq[string]): Table[string, NixDerivation] =
var cmd = "nix derivation show"
cmd.addArgs drvs
let (output, _ ) =
runCmdCaptWithSpinner(cmd, "evaluating " & drvs.join(" "))
fromJson(output, Table[string, NixDerivation])
# TODO: replace asserts in this proc, would be easier with results type # TODO: replace asserts in this proc, would be easier with results type
proc findSystemPaths(drvs: Table[string, NixDerivation]): seq[string] = proc findSystemPaths(drvs: Table[string, NixDerivation]): seq[string] =
@ -178,36 +172,33 @@ func isIgnored(drv: string): bool =
if name.startswith(pkg): if name.startswith(pkg):
return true return true
# proc systemPathDrvsToBuild(): seq[string] =
type type
OizysDerivation = object OizysDerivation = object
drv: NixDerivation # do i need this ? drv: NixDerivation # do i need this ?
output: string output: string
name: string name: string
proc getSystemPathDrvs(): seq[string] = iterator getSystemPathDrvs(drvs: Table[string, NixDerivation]): string =
let systemDrvs = nixDerivationShow(nixosConfigAttrs()) let systemPaths = findSystemPaths(drvs)
let systemPathDrvs = findSystemPaths(systemDrvs) for p in systemPaths:
result = for d in drvs[p].inputDrvs.keys():
collect: yield d
for k, drv in nixDerivationShow(systemPathDrvs):
for inputDrv, _ in drv.inputDrvs:
inputDrv
proc getOizysDerivations(): seq[OizysDerivation] = proc getOizysDerivations(): seq[OizysDerivation] =
let let toBuild = toBuildNixosConfiguration()
toBuildDrvs = toBuildNixosConfiguration() let drvs = evaluateDerivations(nixosConfigAttrs())
systemPathDrvs = getSystemPathDrvs()
toActullyBuildDrvs = systemPathDrvs.filterIt(it in toBuildDrvs and not isIgnored(it))
for name, drv in nixDerivationShow(toActullyBuildDrvs): for name in getSystemPathDrvs(drvs):
if name in toBuild and not isIgnored(name):
let nixDrv = drvs[name]
result.add OizysDerivation( result.add OizysDerivation(
name: name, name: name,
output: drv.outputs.`out`.path, output: nixDrv.outputs.`out`.path,
drv: drv, drv: nixDrv,
) )
# TODO: remove this proc
proc systemPathDrvsToBuild(): seq[string] = proc systemPathDrvsToBuild(): seq[string] =
var inputDrvs, dropped: seq[string] var inputDrvs, dropped: seq[string]
let toBuild = toBuildNixosConfiguration() let toBuild = toBuildNixosConfiguration()
@ -219,6 +210,12 @@ proc systemPathDrvsToBuild(): seq[string] =
(result, _) = filterSeq(inputDrvs, (s) => s in toBuild) (result, _) = filterSeq(inputDrvs, (s) => s in toBuild)
(dropped, result) = filterSeq(result, isIgnored) (dropped, result) = filterSeq(result, isIgnored)
echo "SOMETHING SHOULD HAPPEN HERE!"
for drv in result:
echo drv
echo drvs[drv]
debug fmt"ignored {dropped.len} derivations" debug fmt"ignored {dropped.len} derivations"
result = result.mapIt(it & "^*") result = result.mapIt(it & "^*")
@ -297,6 +294,8 @@ proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: i
var cmd = "nix build" var cmd = "nix build"
cmd.addArg drv.name & "^*" cmd.addArg drv.name & "^*"
cmd.addArg "--no-link" cmd.addArg "--no-link"
# cmd.addArg "--print-out-paths"
# cmd.addArg "-L"
cmd.addArgs rest cmd.addArgs rest
let buildCode = runCmd(cmd) let buildCode = runCmd(cmd)
if buildCode != 0: if buildCode != 0: