Compare commits
10 Commits
c0f8f7617b
...
370279b21e
| Author | SHA1 | Date | |
|---|---|---|---|
| 370279b21e | |||
| 08e18349b7 | |||
| 40c1a8f26a | |||
| 4825429128 | |||
| df94547766 | |||
| d533653e97 | |||
| effcf49fc5 | |||
| 8f2d53777b | |||
| 3a7c940a3d | |||
| 34cc5bcb7b |
6
justfile
6
justfile
@ -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
|
||||
|
||||
@ -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" ];
|
||||
|
||||
|
||||
44
nix/etcnixos/flake.lock
generated
44
nix/etcnixos/flake.lock
generated
@ -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"
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
fileSystems."/media/steam" = {
|
||||
device = "/dev/disk/by-uuid/df865fc2-6b26-4689-809b-1615f860507e";
|
||||
fsType = "btrfs";
|
||||
options = [ "nofail" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
{
|
||||
hostName = "${hostname}";
|
||||
|
||||
hostId = "cfe0ff46";
|
||||
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
insertNameservers = [
|
||||
|
||||
@ -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" ];
|
||||
|
||||
|
||||
54
nix/home-manager/flake.lock
generated
54
nix/home-manager/flake.lock
generated
@ -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"
|
||||
}
|
||||
|
||||
@ -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";
|
||||
};
|
||||
|
||||
|
||||
@ -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 = ''
|
||||
|
||||
@ -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 = {
|
||||
|
||||
@ -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) {
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user