From 7ba187dff3e06a37d6b81f410c8ef43497f20dca Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 9 Oct 2024 15:25:12 -0400 Subject: [PATCH] cleanup --- home-manager/flake.lock | 79 +++--------------- home-manager/flake.nix | 5 -- home-manager/no-gui.nix | 51 ++++++------ home-manager/progs/alacritty.nix | 12 +-- home-manager/progs/gpt4all/gpt4all.nix | 110 +++++++++++++------------ 5 files changed, 98 insertions(+), 159 deletions(-) diff --git a/home-manager/flake.lock b/home-manager/flake.lock index 990b96e..7b3803d 100644 --- a/home-manager/flake.lock +++ b/home-manager/flake.lock @@ -25,27 +25,6 @@ "type": "github" } }, - "binsider": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1728371133, - "narHash": "sha256-Di+CMkvUU/GhRC6OWPcoA/Odb3a7HBgkMvjUhWNv3wM=", - "owner": "orhun", - "repo": "binsider", - "rev": "4bc6b7a117743a8b8ddf8595e58c3596f94dd396", - "type": "github" - }, - "original": { - "owner": "orhun", - "repo": "binsider", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -86,24 +65,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -137,11 +98,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1728372489, - "narHash": "sha256-4Lm/bSzK5si/VM3E83d2xJDs5Es61TIfzNhK+dZHCl8=", + "lastModified": 1728467408, + "narHash": "sha256-pOYTUPWlxuK8Y4Q7UiDeXJRVallbRrGFtwQ4M+biZnM=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "9d1699bb73790d48345843ea11bd4fee5db052dd", + "rev": "321a4a598e765862874ccddbc4d1b68941a0b5ee", "type": "github" }, "original": { @@ -170,11 +131,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1728277759, - "narHash": "sha256-pMUMUo4vMcdjU4d8wuEHI5i8fW8SzYptR3GZPeDru1c=", + "lastModified": 1728463806, + "narHash": "sha256-RHfieDDCEjPxtevtpt/IyxBaw4ISjjyY0WGzw7zYCMg=", "owner": "YaLTeR", "repo": "niri", - "rev": "03c603918d817762ee95d21ea15a854adf47886e", + "rev": "e24723125f5ef91983735043fba893a940469686", "type": "github" }, "original": { @@ -213,11 +174,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1728193676, - "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", + "lastModified": 1728328465, + "narHash": "sha256-a0a0M1TmXMK34y3M0cugsmpJ4FJPT/xsblhpiiX1CXo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", + "rev": "1bfbbbe5bbf888d675397c66bfdb275d0b99361c", "type": "github" }, "original": { @@ -230,7 +191,6 @@ "root": { "inputs": { "agenix": "agenix", - "binsider": "binsider", "home-manager": "home-manager", "niri": "niri", "nixpkgs": "nixpkgs", @@ -245,11 +205,11 @@ ] }, "locked": { - "lastModified": 1728354625, - "narHash": "sha256-r+Sa1NRRT7LXKzCaVaq75l1GdZcegODtF06uaxVVVbI=", + "lastModified": 1728461096, + "narHash": "sha256-cd0cXB85B3kGpm+iumP9xCnqFErspXL9Z/2X59kQ6c4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d216ade5a0091ce60076bf1f8bc816433a1fc5da", + "rev": "e310b9bd71fa6c6a9fec0a8cf5af43ce798a0ad6", "type": "github" }, "original": { @@ -273,21 +233,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "xwayland-satellite-stable": { "flake": false, "locked": { diff --git a/home-manager/flake.nix b/home-manager/flake.nix index 3e78340..99944fb 100644 --- a/home-manager/flake.nix +++ b/home-manager/flake.nix @@ -25,11 +25,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - binsider = { - url = "github:orhun/binsider"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - zen-browser = { # https://github.com/NixOS/nixpkgs/pull/347222 url = "github:matthewpi/nixpkgs/zen-browser"; diff --git a/home-manager/no-gui.nix b/home-manager/no-gui.nix index 6efaf7d..77ca9c0 100644 --- a/home-manager/no-gui.nix +++ b/home-manager/no-gui.nix @@ -15,10 +15,10 @@ home.stateVersion = "24.11"; home.packages = with pkgs; [ - #hex viewer + # hex viewer hexyl - #rust stuff + # rust stuff (rust-bin.selectLatestNightlyWith ( toolchain: toolchain.default.override { @@ -30,30 +30,30 @@ "rust-std" "cargo" ]; - #thumbv7m-none-eabi target for stm32 + # thumbv7m-none-eabi target for stm32 targets = [ "thumbv7m-none-eabi" ]; } )) cargo-expand - #find typos in code + # find typos in code typos - #python formatter + # python formatter ruff - #for website generation + # for website generation hugo - #java development + # java development google-java-format # formatter jdk # java jdt-language-server # lsp server - #for benchmaking stuff + # for benchmaking stuff hyperfine - #replacements for common posix tools + # replacements for common posix tools eza # ls replacement bat # pretty `cat` clone delta # viewer for `git` and `diff` output @@ -63,13 +63,13 @@ tldr # `man` but more straight-forward and simpler ripgrep # grep, but written in rust, respects .gitignore, and very very fast, command is `rg` - #adds `sensors` command + # adds `sensors` command lm_sensors - #rssfeed + # rssfeed newsboat - #HTML/CSS/JSON/ESLint language servers + # HTML/CSS/JSON/ESLint language servers vscode-langservers-extracted just @@ -85,13 +85,13 @@ sshfs - #nix formatter + # nix formatter nixfmt-rfc-style - #serial viewer + # serial viewer minicom - #"~~matt's~~ my trace route" + # "~~matt's~~ my trace route" mtr file @@ -100,7 +100,7 @@ ffmpeg-full - #microcontroller tooling + # microcontroller tooling probe-rs (python312.withPackages ( @@ -118,11 +118,9 @@ yaml-language-server # yaml lsp marksman # markdown lsp - #clang-format and clang-tidy + # clang-format and clang-tidy clang-tools - # inputs.binsider.packages.${pkgs.system}.binsider - lldb fio @@ -140,37 +138,37 @@ rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] ''; - #default applications + # default applications home.sessionVariables = { EDITOR = "hx"; }; - #feed reader + # feed reader programs.newsboat = { enable = true; - #store rss feeds in a separate file because it's *a lot* + # store rss feeds in a separate file because it's *a lot* urls = import ./progs/rss.nix; }; - #git (self explanatory) + # git (self explanatory) programs.git = { enable = true; package = pkgs.git; userName = "Simon Gardling"; userEmail = "titaniumtown@proton.me"; - #better way to view diffs + # better way to view diffs delta.enable = true; - #master -> main extraConfig = { init = { + # master -> main defaultBranch = "main"; }; push.autoSetupRemote = true; }; - #gpg signing keys + # gpg signing keys signing = { key = "9AB28AC10ECE533D"; signByDefault = true; @@ -186,6 +184,5 @@ ${pkgs.gnupg}/bin/gpg --import ${config.age.secrets.gnupg.path} ''; - # Let Home Manager install and manage itself. programs.home-manager.enable = true; } diff --git a/home-manager/progs/alacritty.nix b/home-manager/progs/alacritty.nix index aada011..11219af 100644 --- a/home-manager/progs/alacritty.nix +++ b/home-manager/progs/alacritty.nix @@ -4,20 +4,20 @@ enable = true; package = pkgs.alacritty; settings = { - #use the fish shell + # use the fish shell shell.program = "${pkgs.fish}/bin/fish"; - #some programs can't handle alacritty + # some programs can't handle alacritty env.TERM = "xterm-256color"; window = { - #using a window manager, no decorations needed + # using a window manager, no decorations needed decorations = "none"; - #semi-transparent + # semi-transparent opacity = 0.95; - #padding between the content of the terminal and the edge + # padding between the content of the terminal and the edge padding = { x = 10; y = 10; @@ -58,7 +58,7 @@ glyph_offset.y = 0; }; - #color scheme + # color scheme colors = let normal = { diff --git a/home-manager/progs/gpt4all/gpt4all.nix b/home-manager/progs/gpt4all/gpt4all.nix index 4316963..0e4564c 100644 --- a/home-manager/progs/gpt4all/gpt4all.nix +++ b/home-manager/progs/gpt4all/gpt4all.nix @@ -27,23 +27,16 @@ let } ); - model_files = builtins.listToAttrs ( - map (f: { - name = ".local/share/nomic.ai/GPT4All/${f.name}"; - value.source = f.source; - }) models - ); - gpt4all_package = ( optimizeWithFlags (pkgs.gpt4all.overrideAttrs (old: { - version = "3.4.0-dev0"; + version = "3.4.0"; src = pkgs.fetchFromGitHub { fetchSubmodules = true; owner = "nomic-ai"; repo = "gpt4all"; - rev = "HEAD"; - sha256 = "YM/RdxklwIsTjD6xahZIcQoMnoabsmpQwDPEihm+h8A="; + rev = "v3.4.0"; + sha256 = "yXp9MyezXQJWUyEvyXc6++/Ow/NNqs1cjLIpEuKDrn0="; }; patches = old.patches ++ [ @@ -61,53 +54,62 @@ let ); in { - nixpkgs.config.allowUnfree = true; home.packages = [ gpt4all_package ]; - home.file = lib.recursiveUpdate { - ".config/nomic.ai/GPT4All.ini".text = - let - system_prompt = "You are an expert LLM who is thoughtful and works step-by-step from first principles derive an answer to the user's prompt. For each step, title the step and begin showing your work, then decide if your work is comprehensive and if you're ready to provide your final answer. Make sure to exhaust ALL POSSIBILITIES before answering. INTERNAL REASONING STEPS ARE NOT SHOWN TO THE USER, ONLY A \"Final Answer\" SECTION WILL BE SHOWN TO THE USER. USE AS MANY REASONING STEPS AS POSSIBLE. EXPLORE ALTERNATE ANSWERS AND CONSIDER THAT YOUR ANSWER OR ANY ASSUMPTIONS MAY BE WRONG. IDENTIFY POSSIBLE ERRORS IN YOUR REASONING AND WHERE SUCH ERRORS MAY BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. SHOW YOUR WORK WHEN RE-EXAMINING."; - in - '' - [General] - chatTheme=Dark - height=940 - suggestionMode=Off - threadCount=8 - uniqueId=7096f2d2-448d-4272-a132-d37e77f8a781 - userDefaultModel=${ - # select the first element of `models` to be the default model - (builtins.elemAt models 0).name - } - width=1472 - x=0 - y=0 + home.file = + lib.recursiveUpdate + { + ".config/nomic.ai/GPT4All.ini".text = + let + system_prompt = "You are an expert LLM who is thoughtful and works step-by-step from first principles derive an answer to the user's prompt. For each step, title the step and begin showing your work, then decide if your work is comprehensive and if you're ready to provide your final answer. Make sure to exhaust ALL POSSIBILITIES before answering. INTERNAL REASONING STEPS ARE NOT SHOWN TO THE USER, ONLY A \"Final Answer\" SECTION WILL BE SHOWN TO THE USER. USE AS MANY REASONING STEPS AS POSSIBLE. EXPLORE ALTERNATE ANSWERS AND CONSIDER THAT YOUR ANSWER OR ANY ASSUMPTIONS MAY BE WRONG. IDENTIFY POSSIBLE ERRORS IN YOUR REASONING AND WHERE SUCH ERRORS MAY BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. SHOW YOUR WORK WHEN RE-EXAMINING."; + in + '' + [General] + chatTheme=Dark + height=940 + suggestionMode=Off + threadCount=8 + uniqueId=7096f2d2-448d-4272-a132-d37e77f8a781 + userDefaultModel=${ + # select the first element of `models` to be the default model + (builtins.elemAt models 0).name + } + width=1472 + x=0 + y=0 - [download] - lastVersionStarted=${gpt4all_package.version} - '' - + (lib.concatStrings ( - map (model: '' - [model-${model.name}] - contextLength=${model.context_length} - filename=${model.name} - maxLength=${model.gen_length} - 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; + [download] + lastVersionStarted=${gpt4all_package.version} + '' + + (lib.concatStrings ( + map (model: '' + [model-${model.name}] + contextLength=${model.context_length} + filename=${model.name} + maxLength=${model.gen_length} + 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 + ''; + } + ( + builtins.listToAttrs ( + map (f: { + name = ".local/share/nomic.ai/GPT4All/${f.name}"; + value.source = f.source; + }) models + ) + ); }