From df945477663ab87dfe0f7cc3226b73430cf393a1 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 25 Sep 2024 11:24:17 -0400 Subject: [PATCH] update --- nix/etcnixos/flake.lock | 24 +++--- nix/home-manager/flake.lock | 52 ++++++------- nix/home-manager/flake.nix | 3 +- nix/home-manager/no-gui.nix | 2 +- nix/home-manager/progs/borg.nix | 2 +- nix/home-manager/progs/gpt4all/gpt4all.nix | 87 +++++++++------------- 6 files changed, 77 insertions(+), 93 deletions(-) diff --git a/nix/etcnixos/flake.lock b/nix/etcnixos/flake.lock index 63ae9fd..c2749dc 100644 --- a/nix/etcnixos/flake.lock +++ b/nix/etcnixos/flake.lock @@ -25,11 +25,11 @@ }, "alvr": { "locked": { - "lastModified": 1726175462, - "narHash": "sha256-OWnvv900LI20DypGLMAsceRTFdkahMns6BHO2OKzmM0=", + "lastModified": 1727023213, + "narHash": "sha256-KPghRPcTbqCMktw9ahrtiq7a/seajAyLkEI2GS1x+sg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d5c6dd163d933674a4e3871a89ddddb87036c751", + "rev": "7c2572e5cf4329ad9fa50d33015aa7be394b4026", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1726952766, - "narHash": "sha256-w/1jB99f0eaQp5hVbJgkUl/PTrUN/XGxRVKBQZlZ43A=", + "lastModified": 1727125297, + "narHash": "sha256-bsQPbe1v0Q+QSNvSTn+w7bQcjsj9NebS8zrx2JB2k4c=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "a8b5d65ffe5c987dc7ab790588d011005e440d58", + "rev": "a803a24630c8d6108d88f2e35cf6c6d801c187b6", "type": "github" }, "original": { @@ -316,11 +316,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1726905744, - "narHash": "sha256-xyNtG5C+xvfsnOVEamFe9zCCnuNwk93K/TlFC/4DmCI=", + "lastModified": 1727040444, + "narHash": "sha256-19FNN5QT9Z11ZUMfftRplyNN+2PgcHKb3oq8KMW/hDA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b493dfd4a8cf9552932179e56ff3b5819a9b8381", + "rev": "d0cb432a9d28218df11cbd77d984a2a46caeb5ac", "type": "github" }, "original": { @@ -332,11 +332,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", "type": "github" }, "original": { diff --git a/nix/home-manager/flake.lock b/nix/home-manager/flake.lock index c58f8df..930bca8 100644 --- a/nix/home-manager/flake.lock +++ b/nix/home-manager/flake.lock @@ -33,11 +33,11 @@ ] }, "locked": { - "lastModified": 1726750425, - "narHash": "sha256-KiWnHAGtLZZTq96rwH7IJ4fQhJfkNFg7VnfkdIi1R2s=", + "lastModified": 1727190706, + "narHash": "sha256-CUfCWwlZebQyZAQ5bmfmQJhOvc61HgExe1R/U202g2Q=", "owner": "orhun", "repo": "binsider", - "rev": "3a7dec75482a899aa2b93d8ef5f0d15411811918", + "rev": "ec8dac79bf7f0d23257a521fc62b2888ebf55b86", "type": "github" }, "original": { @@ -71,11 +71,11 @@ "firefox-mod-theme": { "flake": false, "locked": { - "lastModified": 1726951192, - "narHash": "sha256-Drfi/VnTbVARiVkE0Uz7qkLy/VbjTajpke9bCCnFwRQ=", + "lastModified": 1727035403, + "narHash": "sha256-xkVZOZRGrL5YKEXb0R701F71vGJ+K5BFpugtqPwf4XQ=", "owner": "datguypiko", "repo": "Firefox-Mod-Blur", - "rev": "a765d59b97ade3d3a12658e67266d3bc914ab07a", + "rev": "694566afa267fe6d5eb5c97a87e116ba794ea293", "type": "github" }, "original": { @@ -127,11 +127,11 @@ ] }, "locked": { - "lastModified": 1726902823, - "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=", + "lastModified": 1727246346, + "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", "owner": "nix-community", "repo": "home-manager", - "rev": "14929f7089268481d86b83ed31ffd88713dcd415", + "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", "type": "github" }, "original": { @@ -153,11 +153,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1726910621, - "narHash": "sha256-g9c/jW5CUV7k9qVlhw0qez3VNtHkUm/3HPe001+UPMI=", + "lastModified": 1727249100, + "narHash": "sha256-2KX8eQtOHKwdq989ybu4fk0FhESTS7KQkvDa+ilYsek=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "e2c07baf7baadb727de0bced965f154d2a8c84a9", + "rev": "9d8440b2e3c3eafd15da1b00a41b502e6b4a084e", "type": "github" }, "original": { @@ -201,11 +201,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1726838390, - "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", + "lastModified": 1727129439, + "narHash": "sha256-nPyrcFm6FSk7CxzVW4x2hu62aLDghNcv9dX6DF3dXw8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", + "rev": "babc25a577c3310cce57c72d5bed70f4c3c3843a", "type": "github" }, "original": { @@ -281,11 +281,11 @@ ] }, "locked": { - "lastModified": 1726972233, - "narHash": "sha256-FlL/bNESOtDQoczRhmPfReNAmLqVg+dAX4HectPOOf0=", + "lastModified": 1727231386, + "narHash": "sha256-XLloPtQHKk/Tdt8t8zIb+JhmunlH3YB9Jz8RTlQ3N/4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "36d73192555e569d27579f6c486fea3ab768823c", + "rev": "b5f76c3b09a8194889f5328a480fbea1a9115518", "type": "github" }, "original": { @@ -381,15 +381,15 @@ ] }, "locked": { - "lastModified": 1726645912, - "narHash": "sha256-2Xdji52Rc+X1iWu9t3aP9THueJ+XSBLd1mXvFZtam/A=", - "owner": "ch4og", + "lastModified": 1727267039, + "narHash": "sha256-g2LPGK4sffqS6RKckcCiJt39Xe9p1BBvMSiEN341uNk=", + "owner": "MarceColl", "repo": "zen-browser-flake", - "rev": "b94921efd26954a255862ae9d81146de0c64e071", + "rev": "8e2d1297cfd47b36826c24626da66604a4f4e98f", "type": "github" }, "original": { - "owner": "ch4og", + "owner": "MarceColl", "repo": "zen-browser-flake", "type": "github" } diff --git a/nix/home-manager/flake.nix b/nix/home-manager/flake.nix index 22e3238..6bba1fd 100644 --- a/nix/home-manager/flake.nix +++ b/nix/home-manager/flake.nix @@ -31,8 +31,7 @@ }; zen-browser = { - # url = "github:MarceColl/zen-browser-flake"; - url = "github:ch4og/zen-browser-flake"; + url = "github:MarceColl/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; diff --git a/nix/home-manager/no-gui.nix b/nix/home-manager/no-gui.nix index abff0d8..65d5854 100644 --- a/nix/home-manager/no-gui.nix +++ b/nix/home-manager/no-gui.nix @@ -118,7 +118,7 @@ #clang-format and clang-tidy clang-tools - inputs.binsider.packages.${pkgs.system}.binsider + # inputs.binsider.packages.${pkgs.system}.binsider lldb ]; diff --git a/nix/home-manager/progs/borg.nix b/nix/home-manager/progs/borg.nix index 2b4318e..3d00a0c 100644 --- a/nix/home-manager/progs/borg.nix +++ b/nix/home-manager/progs/borg.nix @@ -23,7 +23,7 @@ ); excludeHomeManagerSymlinks = true; - repositories = [ "ssh://server-public/mnt/bak/laptop" ]; + repositories = [ "ssh://server-public/tank/bak/laptop" ]; }; retention = { diff --git a/nix/home-manager/progs/gpt4all/gpt4all.nix b/nix/home-manager/progs/gpt4all/gpt4all.nix index bdd45e8..82d1d2e 100644 --- a/nix/home-manager/progs/gpt4all/gpt4all.nix +++ b/nix/home-manager/progs/gpt4all/gpt4all.nix @@ -1,27 +1,27 @@ { pkgs, lib, ... }: let models = [ - { - name = "Qwen2.5-7B-Instruct-Q6_K_L.gguf"; - context_length = "131072"; - gen_length = "8192"; - source = pkgs.fetchurl { - url = "https://huggingface.co/bartowski/Qwen2.5-7B-Instruct-GGUF/resolve/main/Qwen2.5-7B-Instruct-Q6_K_L.gguf?download=true"; - sha256 = "thEXN06T/UVGfzdB83jlgpG7kuTzZtz1ZUAdupAnErM="; - }; - } { name = "Qwen2.5-14B-Instruct-Q4_K_S.gguf"; - context_length = "131072"; + context_length = "32768"; gen_length = "8192"; source = pkgs.fetchurl { url = "https://huggingface.co/bartowski/Qwen2.5-14B-Instruct-GGUF/resolve/main/Qwen2.5-14B-Instruct-Q4_K_S.gguf?download=true"; sha256 = "E1CmWUhMMbTXEjIRczzA3rSrVuR8qOL8BLagw7LiyZk="; }; } + { + name = "Qwen2.5-7B-Instruct-Q6_K_L.gguf"; + context_length = "32768"; + gen_length = "8192"; + source = pkgs.fetchurl { + url = "https://huggingface.co/bartowski/Qwen2.5-7B-Instruct-GGUF/resolve/main/Qwen2.5-7B-Instruct-Q6_K_L.gguf?download=true"; + sha256 = "thEXN06T/UVGfzdB83jlgpG7kuTzZtz1ZUAdupAnErM="; + }; + } ]; - #stolen from: https://stackoverflow.com/a/42398526 + # stolen from: https://stackoverflow.com/a/42398526 optimizeWithFlags = pkg: flags: pkgs.lib.overrideDerivation pkg ( @@ -44,48 +44,24 @@ let }; }) models ); -in -{ - home.packages = with pkgs; [ - (optimizeWithFlags - (gpt4all.overrideAttrs (old: { - src = fetchFromGitHub { + + gpt4all_package = ( + optimizeWithFlags + (pkgs.gpt4all.overrideAttrs (old: { + # https://github.com/NixOS/nixpkgs/pull/344001 3.2.1 -> 3.3.0 + version = "3.3.0"; + src = pkgs.fetchFromGitHub { fetchSubmodules = true; owner = "nomic-ai"; repo = "gpt4all"; rev = "HEAD"; - sha256 = "aez/APsei30Tp1em/RDCuq+v8hOavHq4O9qZahrsF/g="; + sha256 = "VTsdoXig/BEgPMkaEkHpEHwQ835aU2pUPhIxfi8SIhQ="; }; patches = [ ./gpt4all-HEAD-embeddings-model.patch ./gpt4all-HEAD-disable-settings-err.patch ]; - - cmakeFlags = [ - "-DKOMPUTE_OPT_BUILD_SHADERS=ON" - "-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON" - "-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF" - "-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF" - "-DKOMPUTE_OPT_USE_BUILT_IN_SPDLOG=OFF" - "-DLLMODEL_KOMPUTE=ON" - "-DLLMODEL_VULKAN=OFF" - "-DLLMODEL_CUDA=OFF" - "-DLLMODEL_ROCM=OFF" - ]; - - nativeBuildInputs = old.nativeBuildInputs ++ [ - glslang - ]; - - buildInputs = old.buildInputs ++ [ - vulkan-tools - kdePackages.qtshadertools - libdrm - vulkan-loader - ocl-icd - ]; - })) # compile flags [ @@ -95,13 +71,20 @@ in "-fno-protect-parens" "-fno-finite-math-only" # https://github.com/ggerganov/llama.cpp/pull/7154#issuecomment-2143844461 ] - ) + ); + +in +{ + home.packages = [ + gpt4all_package ]; home.file = lib.recursiveUpdate { ".config/nomic.ai/GPT4All.ini".text = let - system_prompt = "You are an expert AI assistant that explains your reasoning step by step. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to give the final answer. USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. EXPLORE ALTERNATE ANSWERS AND CONSIDER THAT YOUR ANSWER MAY BE WRONG. IDENTIFY POSSIBLE ERRORS IN YOUR REASONING AND WHERE SUCH ERRORS MAY BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. SHOW ALL YOUR WORK. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES. WORK FROM FIRST PRINCIPLES TO CREATE YOUR ANSWER."; + system_prompt = "You are an expert AI assistant that explains your reasoning step by step. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to give the final answer. USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. EXPLORE ALTERNATE ANSWERS AND CONSIDER THAT YOUR ANSWER MAY BE WRONG. IDENTIFY POSSIBLE ERRORS IN YOUR REASONING AND WHERE SUCH ERRORS MAY BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. SHOW ALL YOUR WORK. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES. WORK FROM FIRST PRINCIPLES TO CREATE YOUR ANSWER. + +YOUR REASONING IS NOT SHOWN TO THE USER BUT IS SUBJECT TO HIGH LEVELS OF SCRUTINY. WHEN YOU DETERMINE THAT YOU ARE READY TO GIVE A FINAL ANSWER TO THE USER GIVEN YOUR REASONING AND STEP-BY-STEP WORK, CREATE A SECTION WITH A \"Final Answer\" TITLE, THIS WILL BE THE ONLY RESPONSE SHOWN TO THE END USER, BE SURE TO INCLUDE ALL IMPORTANT INFORMATION AND DETAILS WHICH THE USER WILL FIND USEFUL TO AID THEIR QUESTION."; in '' [General] @@ -116,11 +99,7 @@ in y=0 [download] - lastVersionStarted=3.3.0-dev0 - - [network] - isActive=true - usageStatsActive=true + lastVersionStarted=${gpt4all_package.version} '' + (lib.concatStrings ( map (model: '' @@ -131,10 +110,16 @@ in promptBatchSize=256 promptTemplate=<|im_start|>user\n%1<|im_end|>\n<|im_start|>assistant\n systemPrompt="<|im_start|>system\n${ + # replace newlines with the string "\n" for gpt4all to properly parse builtins.replaceStrings [ "\n" ] [ "\\n" ] system_prompt }<|im_end|> \n" '') models - )); + )) + + '' + [network] + isActive=true + usageStatsActive=true + ''; } model_files; }