Compare commits

..

10 Commits

Author SHA1 Message Date
370279b21e
disable ollama 2024-09-26 19:04:41 -04:00
08e18349b7
update 2024-09-26 18:51:32 -04:00
40c1a8f26a
aaa 2024-09-26 16:24:51 -04:00
4825429128
gpt4all: improve prompting 2024-09-25 11:34:45 -04:00
df94547766
update 2024-09-25 11:24:17 -04:00
d533653e97
desktop stuff 2024-09-22 01:44:54 -04:00
effcf49fc5
doas again 2024-09-21 17:54:24 -04:00
8f2d53777b
update 2024-09-21 17:42:24 -04:00
3a7c940a3d
gpt4all: disable settings err 2024-09-21 13:30:59 -04:00
34cc5bcb7b
gpt4all: update 2024-09-21 13:29:50 -04:00
14 changed files with 173 additions and 104 deletions

View File

@ -4,11 +4,11 @@ format_home:
nixfmt ~/.config/home-manager
format_system:
run0 nixfmt /etc/nixos
doas nixfmt /etc/nixos
system_update:
run0 nix flake update /etc/nixos
run0 nixos-rebuild boot --impure
doas nix flake update /etc/nixos
doas nixos-rebuild boot --impure
home_update:
nix flake update ~/.config/home-manager

View File

@ -31,7 +31,10 @@
#kernel options
boot = {
kernelPackages = pkgs.linuxPackages_cachyos-lto;
# kernelPackages = pkgs.linuxPackages_cachyos-lto;
kernelPackages = pkgs.linuxPackages_6_10;
supportedFilesystems = [ "zfs" ];
kernel.sysctl = {
#for profiling
@ -89,8 +92,19 @@
# Set your time zone.
time.timeZone = "America/New_York";
#lets use run0 instead!
security.sudo.enable = false;
security = {
#lets use doas and not sudo!
doas.enable = true;
sudo.enable = false;
# Configure doas
doas.extraRules = [
{
users = [ "${username}" ];
keepEnv = true;
persist = true;
}
];
};
age.identityPaths = [ "/home/${username}/.ssh/id_ed25519" ];

View File

@ -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": 1726576520,
"narHash": "sha256-qkaiUpE3qRXunKbUzMaTGTMzF8nv534oglJY4a2hxNY=",
"lastModified": 1727292492,
"narHash": "sha256-vKkVoZJB35xOb1kmAH6i74ziuP0ZGKnzM6+NVi/OhD8=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "4409a04839fc8c911ef3e461bb5f422ae1d03a85",
"rev": "9b30ea4a39c8c5a2b6a6519f85da38f72b7f29f0",
"type": "github"
},
"original": {
@ -116,11 +116,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1726468443,
"narHash": "sha256-O1VcbVBrqIf58U05yFXl9+J7XM2qh0I+7vqMbNwZPq0=",
"lastModified": 1726900127,
"narHash": "sha256-v3r7yJY8YE4HAzD5DXOxLkzj8YZKQ0xuccp9yppGW1U=",
"owner": "nix-community",
"repo": "fenix",
"rev": "effac20e9560aab202e82b6d833f685163a9c138",
"rev": "18eefba7fd0bf03e115785948758a44125a9fd68",
"type": "github"
},
"original": {
@ -231,11 +231,11 @@
]
},
"locked": {
"lastModified": 1726440980,
"narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=",
"lastModified": 1726902823,
"narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff",
"rev": "14929f7089268481d86b83ed31ffd88713dcd415",
"type": "github"
},
"original": {
@ -253,11 +253,11 @@
]
},
"locked": {
"lastModified": 1726115155,
"narHash": "sha256-VDylz5VX4JD4/TZv6xUJDwuvNdgLRGoOpue1dlZGdIQ=",
"lastModified": 1726902390,
"narHash": "sha256-ESAD6AkxsQdV/j5ZBcO4Vg94J7Xd0nfpiEZpJtwSEhg=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "02cf60ce20b6034fc0459e5116cec7016aaff6e4",
"rev": "faf4c746c068dd8e41b1fa5f18beeabd34d4064c",
"type": "github"
},
"original": {
@ -316,11 +316,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1726724509,
"narHash": "sha256-sVeAM1tgVi52S1e29fFBTPUAFSzgQwgLon3CrztXGm8=",
"lastModified": 1727040444,
"narHash": "sha256-19FNN5QT9Z11ZUMfftRplyNN+2PgcHKb3oq8KMW/hDA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "10d5e0ecc32984c1bf1a9a46586be3451c42fd94",
"rev": "d0cb432a9d28218df11cbd77d984a2a46caeb5ac",
"type": "github"
},
"original": {
@ -332,16 +332,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1726856061,
"narHash": "sha256-aHq3GDX5dNDuNy37TKTY/BD3+2vakPP8W+kNt7p0PZk=",
"lastModified": 1727122398,
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a0d059de3645c1b598d258675aaaa9ffdb0039b1",
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}

View File

@ -2,8 +2,7 @@
description = "A simple NixOS flake";
inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
lanzaboote = {
url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs";
@ -42,7 +41,15 @@
# pkgs = import nixpkgs {
# config.replaceStdenv = { pkgs }: pkgs.clangStdenv;
# };
pkgs = import nixpkgs { };
pkgs = import nixpkgs {
config.allowUnfreePredicate =
pkg:
builtins.elem (nixpkgs.lib.getName pkg) [
"steam"
"steam-original"
"steam-run"
];
};
in
{
nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem {

View File

@ -41,6 +41,7 @@
fileSystems."/media/steam" = {
device = "/dev/disk/by-uuid/df865fc2-6b26-4689-809b-1615f860507e";
fsType = "btrfs";
options = [ "nofail" ];
};
swapDevices = [ ];

View File

@ -2,6 +2,8 @@
{
hostName = "${hostname}";
hostId = "cfe0ff46";
networkmanager = {
enable = true;
insertNameservers = [

View File

@ -92,14 +92,6 @@
openFirewall = true;
};
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-run"
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
@ -107,6 +99,26 @@
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
# services.ollama = {
# enable = true;
# acceleration = "rocm";
# environmentVariables = {
# HCC_AMDGPU_TARGET = "gfx1031"; # used to be necessary, but doesn't seem to anymore
# };
# rocmOverrideGfx = "10.3.1";
# };
# services.open-webui = {
# enable = true;
# openFirewall = true;
# port = 8082;
# environment = {
# # Disable authentication
# WEBUI_AUTH = "False";
# PYDANTIC_SKIP_VALIDATING_CORE_SCHEMAS = "True";
# };
# };
systemd.packages = with pkgs; [ lact ];
systemd.services.lactd.wantedBy = [ "multi-user.target" ];

View File

@ -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": 1726763363,
"narHash": "sha256-K0yCg/bCvDU3cU7ZzSsfRAQJLgoaBmp5g2GkxRB3bBo=",
"lastModified": 1727035403,
"narHash": "sha256-xkVZOZRGrL5YKEXb0R701F71vGJ+K5BFpugtqPwf4XQ=",
"owner": "datguypiko",
"repo": "Firefox-Mod-Blur",
"rev": "1451f0110798f34ec157b29554572236621adcd5",
"rev": "694566afa267fe6d5eb5c97a87e116ba794ea293",
"type": "github"
},
"original": {
@ -127,11 +127,11 @@
]
},
"locked": {
"lastModified": 1726825546,
"narHash": "sha256-HiBzfzgqojA9OjPB+vdi2o+gy4Zw/MEipuGopgGsZEw=",
"lastModified": 1727383923,
"narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0b052dd8119005c6ba819db48bcc657e48f401b7",
"rev": "ffe2d07e771580a005e675108212597e5b367d2d",
"type": "github"
},
"original": {
@ -153,11 +153,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1726854506,
"narHash": "sha256-GiNELLwy79Gr7IhlDeydbAxOHMIy9RzqsYzQzslXo+Q=",
"lastModified": 1727332193,
"narHash": "sha256-XnjG+n42JjrIj2Ts33Xa+Udg1QDp9N8FHYbvAkYL9qg=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "0f18e6a6a591267c8b9e9a7b142f8073a4a91e61",
"rev": "524000b81ba52f9d5a7b2ac78504468014121ebe",
"type": "github"
},
"original": {
@ -201,16 +201,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1726858900,
"narHash": "sha256-4EI5BtmTC1KW/TEiqLtwnvHOdtdDiek7C55dnYwiv/E=",
"lastModified": 1727122398,
"narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01e6f3a3316f32d8d792b96e263bab2ed14225b4",
"rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -229,11 +229,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1726688310,
"narHash": "sha256-Xc9lEtentPCEtxc/F1e6jIZsd4MPDYv4Kugl9WtXlz0=",
"lastModified": 1727264057,
"narHash": "sha256-KQPI8CTTnB9CrJ7LrmLC4VWbKZfljEPBXOFGZFRpxao=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dbebdd67a6006bb145d98c8debf9140ac7e651d0",
"rev": "759537f06e6999e141588ff1c9be7f3a5c060106",
"type": "github"
},
"original": {
@ -281,11 +281,11 @@
]
},
"locked": {
"lastModified": 1726799228,
"narHash": "sha256-wn1leQyMAc/TrLRKcPc0GX6YtoziKQpc/MtZjPNiJ2Q=",
"lastModified": 1727317727,
"narHash": "sha256-yGYahXzCquyYEgf5GTtvtaN5hXbw20Ok2+o8uVxoaFs=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ab150c7412db7bea5879ce2776718f53fba37aa2",
"rev": "a3d832f389606d7dc61a45b244c72ea472d1fcd4",
"type": "github"
},
"original": {
@ -381,15 +381,15 @@
]
},
"locked": {
"lastModified": 1726645912,
"narHash": "sha256-2Xdji52Rc+X1iWu9t3aP9THueJ+XSBLd1mXvFZtam/A=",
"owner": "ch4og",
"lastModified": 1727287465,
"narHash": "sha256-XQAf5M593WmxgaXagtkci/H9DA3jSVx1TJk6F3X5VQo=",
"owner": "MarceColl",
"repo": "zen-browser-flake",
"rev": "b94921efd26954a255862ae9d81146de0c64e071",
"rev": "96f1b5d80bf7360cb77c9b521f388324f18383a0",
"type": "github"
},
"original": {
"owner": "ch4og",
"owner": "MarceColl",
"repo": "zen-browser-flake",
"type": "github"
}

View File

@ -2,8 +2,7 @@
description = "My nixOS flake for home-manager";
inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
@ -32,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";
};

View File

@ -118,9 +118,11 @@
#clang-format and clang-tidy
clang-tools
inputs.binsider.packages.${pkgs.system}.binsider
# inputs.binsider.packages.${pkgs.system}.binsider
lldb
fio
];
home.file.".cargo/config.toml".text = ''

View File

@ -1,5 +1,6 @@
{ homeDirectory, borgPasswordFile }:
{
home = {
location = {
sourceDirectories =
@ -23,7 +24,11 @@
);
excludeHomeManagerSymlinks = true;
repositories = [ "ssh://server-public/mnt/bak/laptop" ];
repositories = [ "ssh://server-public/tank/bak/laptop" ];
extraConfig = {
compression = "zstd";
};
};
retention = {

View File

@ -0,0 +1,19 @@
diff --git a/main.qml b/main.qml
index 1e685385..7c747eba 100644
--- a/main.qml
+++ b/main.qml
@@ -72,12 +72,14 @@ Window {
return;
}
+ /*
// check if we have access to settings and if not show an error
if (!hasShownSettingsAccess && !LLM.hasSettingsAccess()) {
errorSettingsAccess.open();
hasShownSettingsAccess = true;
return;
}
+ */
// check for first time start of this version
if (!hasCheckedFirstStart) {

View File

@ -1,7 +1,7 @@
diff --git a/gpt4all-chat/src/main.qml b/gpt4all-chat/src/main.qml
diff --git a/main.qml b/main.qml
index 1e685385..7c747eba 100644
--- a/src/main.qml
+++ b/src/main.qml
--- a/main.qml
+++ b/main.qml
@@ -72,12 +72,14 @@ Window {
return;
}

View File

@ -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,39 +44,46 @@ let
};
}) models
);
in
{
home.packages = with pkgs; [
(optimizeWithFlags
(gpt4all.overrideAttrs {
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 = "lGvxTOBg7/UgrCqeAFNFFXD9VjpUk3IVCktdUYuF6Eo=";
sha256 = "RDYf+VaI5pl46Cd04ADvvi4ygNfYa4fY9rTv9Ui3qUk=";
};
patches = [
./gpt4all-HEAD-embeddings-model.patch
./gpt4all-HEAD-disable-settings-err.patch
];
})
}))
# compile flags
[
"-Ofast"
"-march=alderlake"
"-mtune=alderlake"
"-march=native"
"-mtune=native"
"-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 who is thoughtful and works step-by-step from first principles derive an answer to the user's prompt. 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 provide your answer to the user, make sure to exhaust ALL POSSIBILITIES before providing a response to the user. While your reasoning is not shown to the user, it is under high levels of scrutiny to ensure high-quality reasoning. WHEN YOU DETERMINE THAT YOU ARE READY TO GIVE A FINAL ANSWER TO THE USER GIVEN YOUR REASONING AND STEP-BY-STEP WORK. ONLY TEXT WRITTEN AFTER A SECTION NAMED \"Final Answer\" WILL BE SHOWN TO THE USER. ASSUME THAT NO REASONING STEPS ARE SHOWN TO THE USER. DO NOT THINK THAT THE USER CAN SEE YOUR INTERNAL REASONING STEPS.
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.";
in
''
[General]
@ -91,11 +98,7 @@ in
y=0
[download]
lastVersionStarted=3.3.0-dev0
[network]
isActive=true
usageStatsActive=true
lastVersionStarted=${gpt4all_package.version}
''
+ (lib.concatStrings (
map (model: ''
@ -106,10 +109,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;
}