Extended llm; Fixed issues do to bug in Home Manager 25.05 and above

This commit is contained in:
2026-04-09 16:54:39 +02:00
parent e6e653d967
commit fc5ec0477d
8 changed files with 142 additions and 59 deletions

View File

@@ -1,16 +1,36 @@
{ pkgs, inputs, self, primaryUser, ... }: {
imports = [ ./homebrew.nix ./settings.nix ./yabai.nix ];
{
pkgs,
primaryUser,
...
}:
{
imports = [
./settings.nix
./homebrew.nix
./yabai.nix
./fonts.nix
];
home-manager.users.${primaryUser}.targets.darwin = {
linkApps.enable = true;
copyApps.enable = false;
};
# nix config
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
experimental-features = [
"nix-command"
"flakes"
];
max-jobs = "auto"; # Use all CPU cores
cores = 0; # Use all cores per build
# disabled due to https://github.com/NixOS/nix/issues/7273
# auto-optimise-store = true;
substituters =
[ "https://cache.nixos.org" "https://nix-community.cachix.org" ];
substituters = [
"https://cache.nixos.org"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
@@ -21,7 +41,9 @@
# Garbage collection
gc = {
automatic = true;
interval = { Weekday = 7; }; # Run weekly
interval = {
Weekday = 7;
}; # Run weekly
options = "--delete-older-than 30d";
};
};
@@ -34,7 +56,9 @@
info.enable = false; # Skip info pages
};
nixpkgs.config = { allowUnfree = true; };
nixpkgs.config = {
allowUnfree = true;
};
# homebrew installation manager
nix-homebrew = {
user = primaryUser;

9
darwin/fonts.nix Normal file
View File

@@ -0,0 +1,9 @@
# TODO: Duplicate file
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
nerd-fonts.fira-code
nerd-fonts.fira-mono
nerd-fonts.hack
];
}

View File

@@ -13,7 +13,7 @@
# homebrew is best for GUI apps
# nixpkgs is best for CLI tools
casks = [ "element" "affinity" "onlyoffice" "tailscale" ];
casks = [ "element" "affinity" "onlyoffice" ];
brews = [ ];
taps = [ ];
};

View File

@@ -1,4 +1,5 @@
{ self, ... }: {
{ self, ... }:
{
# touch ID for sudo
security.pam.services.sudo_local.touchIdAuth = true;

View File

@@ -29,6 +29,8 @@
];
nixpkgs.config.allowUnfree = true;
#targets.darwin.copyApps.enableChecks = isDarwin;
catppuccin = {
enable = false;
accent = "sky";
@@ -86,6 +88,8 @@
};
home = {
# activation.checkAppManagementPermission = lib.mkForce "";
username = primaryUser;
stateVersion = "26.05";
sessionVariables = lib.mkIf (!isDarwin) {

View File

@@ -4,10 +4,10 @@
"type": "kitty-icat",
"source": "~/Pictures/Avatar/avatar_no_bg.png",
// "height": 15,
"width": 32,
"width": 28,
"padding": {
"top": 2,
"left": 0
"top": 0,
"left": 0,
}
},
"modules": [

View File

@@ -1,4 +1,10 @@
{ pkgs, isDarwin, lib, ... }: {
{
pkgs,
isDarwin,
lib,
...
}:
{
home.packages = with pkgs; [
eza # ls replacement
tdf # terminal pdf viewer
@@ -40,31 +46,32 @@
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "custom"; # Should be changed to custom
tab_title_template =
"{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}";
tab_title_template = "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}";
symbol_map = let
mappings = [
"U+23FB-U+23FE"
"U+2B58"
"U+E200-U+E2A9"
"U+E0A0-U+E0A3"
"U+E0B0-U+E0BF"
"U+E0C0-U+E0C8"
"U+E0CC-U+E0CF"
"U+E0D0-U+E0D2"
"U+E0D4"
"U+E700-U+E7C5"
"U+F000-U+F2E0"
"U+2665"
"U+26A1"
"U+F400-U+F4A8"
"U+F67C"
"U+E000-U+E00A"
"U+F300-U+F313"
"U+E5FA-U+E62B"
];
in (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font Mono";
symbol_map =
let
mappings = [
"U+23FB-U+23FE"
"U+2B58"
"U+E200-U+E2A9"
"U+E0A0-U+E0A3"
"U+E0B0-U+E0BF"
"U+E0C0-U+E0C8"
"U+E0CC-U+E0CF"
"U+E0D0-U+E0D2"
"U+E0D4"
"U+E700-U+E7C5"
"U+F000-U+F2E0"
"U+2665"
"U+26A1"
"U+F400-U+F4A8"
"U+F67C"
"U+E000-U+E00A"
"U+F300-U+F313"
"U+E5FA-U+E62B"
];
in
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font Mono";
};
};
@@ -75,15 +82,24 @@
urls = [
{
url = "https://www.tagesschau.de/xml/rss2";
tags = [ "news" "de" ];
tags = [
"news"
"de"
];
}
{
url = "https://www.spiegel.de/schlagzeilen/index.rss";
tags = [ "news" "de" ];
tags = [
"news"
"de"
];
}
{
url = "https://www.focus.de/rss";
tags = [ "news" "de" ];
tags = [
"news"
"de"
];
}
{
url = "https://feeds.feedburner.com/blogspot/rkEL";
@@ -100,7 +116,13 @@
enableZshIntegration = true;
enableFishIntegration = true;
settings = { ration = [ 1 3 4 ]; };
settings = {
ration = [
1
3
4
];
};
};
programs.fzf = {
@@ -109,8 +131,7 @@
enableZshIntegration = true;
enableFishIntegration = true;
defaultCommand = "fd --type f --strip-cwd-prefix --hidden --exclude .git";
fileWidgetCommand =
"fd --type f --strip-cwd-prefix --hidden --exclude .git";
fileWidgetCommand = "fd --type f --strip-cwd-prefix --hidden --exclude .git";
defaultOptions = [
"--height 100%"
"--border sharp"
@@ -171,32 +192,56 @@
cat = "bat --color=always --style=numbers";
grep = "rg";
cp = "rsync -ah --progress";
nix-switch = if isDarwin then
"sudo darwin-rebuild switch --flake ~/.config/nix#(hostname -s)"
else
"sudo nixos-rebuild switch --flake ~/.config/nix#(hostname -s)";
nix-switch =
if isDarwin then
"sudo darwin-rebuild switch --flake ~/.config/nix#(hostname -s)"
else
"sudo nixos-rebuild switch --flake ~/.config/nix#(hostname -s)";
nix-check = if isDarwin then
"nix eval ~/.config/nix#darwinConfigurations.(hostname -s).config.system.build.toplevel.outPath"
else
"nix flake check --no-build ~/.config/nix";
nix-check =
if isDarwin then
"nix eval ~/.config/nix#darwinConfigurations.(hostname -s).config.system.build.toplevel.outPath"
else
"nix flake check --no-build ~/.config/nix";
};
interactiveShellInit = ''
starship init fish | source
fzf --fish | source
function fish_greeting
fastfetch
end
starship init fish | source
fzf --fish | source
zoxide init fish --cmd cd | source
function fish_greeting
fastfetch
end
'';
functions.l = {
body = ''
llm prompt -m groq/llama-3.3-70b-versatile -t std $argv | glow
if test -f "$GROQ_API_KEY"
set -x GROQ_API_KEY (cat $GROQ_API_KEY)
end
llm prompt -m groq/llama-3.3-70b-versatile -t std $argv | glow
'';
};
};
# Link LLM std template
home.file.".config/io.datasette.llm/templates/std.yaml".text = ''
system: |
You are a concise technical assistant running on an Intel Mac (x86_64-darwin)
with nix-darwin and home-manager.
Rules:
- Always respond in valid markdown
- Be concise and direct, no unnecessary explanation
- Prefer code blocks for commands and code
- You have access to these tools in the shell: nvim, fish, git,
eza, bat, ripgrep, fzf, yazi, glow, llm, zoxide, fastfetch,
nix, darwin-rebuild, brew
- When suggesting nix config changes, use the nix language
- nix-switch rebuilds the system config
- nix-check validates the flake without building
'';
programs.starship = {
enable = true;
settings = {
@@ -235,8 +280,7 @@
# Git status module settings
git_status = {
format =
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
style = "bold #a6e3a1";
conflicted = "";
untracked = "";

View File

@@ -1,3 +1,4 @@
# TODO: Duplicate file
{ pkgs, ... }:
{
fonts.packages = with pkgs; [