fixup
This commit is contained in:
parent
dbde18d4a2
commit
33f5ff9019
8 changed files with 152 additions and 140 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -16,3 +16,6 @@ devenv.local.yaml
|
||||||
|
|
||||||
# ide
|
# ide
|
||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
|
|
||||||
|
# nix
|
||||||
|
result
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@
|
||||||
structuredExtraConfig ? { },
|
structuredExtraConfig ? { },
|
||||||
kernelPatches ? [ ],
|
kernelPatches ? [ ],
|
||||||
extraConfig ? "",
|
extraConfig ? "",
|
||||||
|
sccacheDir ? "/var/cache/sccache",
|
||||||
|
enforceSccache ? true,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
@ -30,7 +32,41 @@ in
|
||||||
pkgs.callPackage (
|
pkgs.callPackage (
|
||||||
{ buildLinux, ... }@args:
|
{ buildLinux, ... }@args:
|
||||||
let
|
let
|
||||||
# llvm = pkgs.llvmPackages_latest;
|
llvm = pkgs.llvmPackages_latest;
|
||||||
|
|
||||||
|
# buildLinux uses common-flags.nix which sets CC to the *unwrapped* compiler:
|
||||||
|
# CC=${lib.getExe stdenv.cc.cc}
|
||||||
|
# and appends extraMakeFlags at the end. :contentReference[oaicite:1]{index=1}
|
||||||
|
realClang = lib.getExe llvm.clang-unwrapped;
|
||||||
|
|
||||||
|
# Host tools are built with buildPackages.stdenv.cc (see common-flags HOSTCC). :contentReference[oaicite:2]{index=2}
|
||||||
|
buildPkgs = args.buildPackages or pkgs.buildPackages;
|
||||||
|
realHostCC = lib.getExe' buildPkgs.stdenv.cc "${buildPkgs.stdenv.cc.targetPrefix}cc";
|
||||||
|
realHostCXX = lib.getExe' buildPkgs.stdenv.cc "${buildPkgs.stdenv.cc.targetPrefix}c++";
|
||||||
|
|
||||||
|
clangSccache = pkgs.writeShellScriptBin "clang" ''
|
||||||
|
set -euo pipefail
|
||||||
|
: "''${SCCACHE_ENFORCE_MARKER:?SCCACHE_ENFORCE_MARKER is not set}"
|
||||||
|
: > "''${SCCACHE_ENFORCE_MARKER}"
|
||||||
|
export SCCACHE_DIR=${lib.escapeShellArg sccacheDir}
|
||||||
|
exec ${pkgs.sccache}/bin/sccache ${realClang} "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
hostccSccache = pkgs.writeShellScriptBin "cc" ''
|
||||||
|
set -euo pipefail
|
||||||
|
: "''${SCCACHE_ENFORCE_MARKER:?SCCACHE_ENFORCE_MARKER is not set}"
|
||||||
|
: > "''${SCCACHE_ENFORCE_MARKER}"
|
||||||
|
export SCCACHE_DIR=${lib.escapeShellArg sccacheDir}
|
||||||
|
exec ${pkgs.sccache}/bin/sccache ${realHostCC} "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
hostcxxSccache = pkgs.writeShellScriptBin "c++" ''
|
||||||
|
set -euo pipefail
|
||||||
|
: "''${SCCACHE_ENFORCE_MARKER:?SCCACHE_ENFORCE_MARKER is not set}"
|
||||||
|
: > "''${SCCACHE_ENFORCE_MARKER}"
|
||||||
|
export SCCACHE_DIR=${lib.escapeShellArg sccacheDir}
|
||||||
|
exec ${pkgs.sccache}/bin/sccache ${realHostCXX} "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
structuredExtraConfig' =
|
structuredExtraConfig' =
|
||||||
(with lib.kernel; {
|
(with lib.kernel; {
|
||||||
|
|
@ -45,25 +81,45 @@ pkgs.callPackage (
|
||||||
// {
|
// {
|
||||||
inherit kernelPatches extraConfig;
|
inherit kernelPatches extraConfig;
|
||||||
|
|
||||||
stdenv = pkgs.llvmPackages_latest.stdenv;
|
|
||||||
|
|
||||||
version = kver;
|
version = kver;
|
||||||
modDirVersion = kver;
|
modDirVersion = kver;
|
||||||
src = kernel-src;
|
src = kernel-src;
|
||||||
|
|
||||||
# nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
|
stdenv = llvm.stdenv;
|
||||||
# llvm.clang
|
|
||||||
# llvm.lld
|
|
||||||
# llvm.llvm
|
|
||||||
# ];
|
|
||||||
|
|
||||||
makeFlags = (args.makeFlags or [ ]) ++ [
|
extraMakeFlags =
|
||||||
"LLVM=1"
|
(args.extraMakeFlags or [ ])
|
||||||
"LLVM_IAS=1"
|
++ [
|
||||||
|
"LLVM=1"
|
||||||
|
"LLVM_IAS=1"
|
||||||
|
]
|
||||||
|
++ lib.optionals enforceSccache [
|
||||||
|
"CC=${lib.getExe clangSccache}"
|
||||||
|
"HOSTCC=${lib.getExe hostccSccache}"
|
||||||
|
"HOSTCXX=${lib.getExe hostcxxSccache}"
|
||||||
|
];
|
||||||
|
|
||||||
"CC=${pkgs.ccache}/bin/ccache clang"
|
# Enforce that the wrappers were actually invoked at least once.
|
||||||
"HOSTCC=${pkgs.ccache}/bin/ccache clang"
|
# sccache is a compiler wrapper; this is the contract we’re enforcing. :contentReference[oaicite:4]{index=4}
|
||||||
];
|
preBuild =
|
||||||
|
(args.preBuild or "")
|
||||||
|
+ lib.optionalString enforceSccache ''
|
||||||
|
export SCCACHE_ENFORCE_MARKER="$NIX_BUILD_TOP/.sccache-used"
|
||||||
|
rm -f "$SCCACHE_ENFORCE_MARKER"
|
||||||
|
${pkgs.sccache}/bin/sccache --start-server || true
|
||||||
|
${pkgs.sccache}/bin/sccache --zero-stats || true
|
||||||
|
'';
|
||||||
|
|
||||||
|
postBuild =
|
||||||
|
(args.postBuild or "")
|
||||||
|
+ lib.optionalString enforceSccache ''
|
||||||
|
if [ ! -e "$SCCACHE_ENFORCE_MARKER" ]; then
|
||||||
|
echo "FATAL: sccache enforcement failed: compiler wrappers were not invoked."
|
||||||
|
echo "This means buildLinux did not use your CC/HOSTCC overrides."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
${pkgs.sccache}/bin/sccache --show-stats --stats-format text || true
|
||||||
|
'';
|
||||||
|
|
||||||
structuredExtraConfig = structuredExtraConfig';
|
structuredExtraConfig = structuredExtraConfig';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.programs.ccache;
|
|
||||||
in
|
|
||||||
if false then {
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
nix.settings.extra-sandbox-paths = [ cfg.cacheDir ];
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(final: prev:
|
|
||||||
let
|
|
||||||
llvm = prev.llvmPackages_latest;
|
|
||||||
|
|
||||||
realClang = llvm.clang-unwrapped;
|
|
||||||
realClangLib = prev.lib.getLib realClang;
|
|
||||||
|
|
||||||
# "unwrapped clang", но с ccache + per-package CCACHE_DIR
|
|
||||||
clangUnwrappedCcache =
|
|
||||||
prev.stdenvNoCC.mkDerivation {
|
|
||||||
pname = "clang-unwrapped-ccache";
|
|
||||||
version = realClang.version;
|
|
||||||
|
|
||||||
outputs = [ "out" "lib" ];
|
|
||||||
dontUnpack = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out/bin" "$lib/lib"
|
|
||||||
|
|
||||||
mkwrap() {
|
|
||||||
local name="$1"
|
|
||||||
local real="$2"
|
|
||||||
cat > "$out/bin/$name" <<'EOF'
|
|
||||||
#!${prev.bash}/bin/bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# Kernel probes compiler via: $CC -E -P -x c -
|
|
||||||
# Bypass ccache + filesystem touching for preprocess-only probes.
|
|
||||||
for arg in "$@"; do
|
|
||||||
if [ "$arg" = "-E" ]; then
|
|
||||||
exec __REAL__ "$@"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# base cache dir from NixOS module
|
|
||||||
base='${cfg.cacheDir}'
|
|
||||||
|
|
||||||
# prefer pname (no version), fallback to name, and strip "-<digit>..." if present
|
|
||||||
pkg="''${pname-}"
|
|
||||||
if [ -z "$pkg" ]; then pkg="''${name-unknown}"; fi
|
|
||||||
pkg="''${pkg%%-[0-9]*}"
|
|
||||||
|
|
||||||
# If cache dir isn't writable/mounted in sandbox yet, don't break compiler detection.
|
|
||||||
if ! mkdir -p "$base/$pkg" 2>/dev/null; then
|
|
||||||
exec __REAL__ "$@"
|
|
||||||
fi
|
|
||||||
export CCACHE_DIR="$base/$pkg"
|
|
||||||
export CCACHE_UMASK=007
|
|
||||||
|
|
||||||
# improves hit rate for repeated local rebuilds
|
|
||||||
export CCACHE_BASEDIR="''${NIX_BUILD_TOP:-/build}"
|
|
||||||
export CCACHE_COMPRESS=1
|
|
||||||
export CCACHE_SLOPPINESS=random_seed,time_macros
|
|
||||||
|
|
||||||
exec ${prev.ccache}/bin/ccache __REAL__ "$@"
|
|
||||||
EOF
|
|
||||||
substituteInPlace "$out/bin/$name" --replace "__REAL__" "$real"
|
|
||||||
chmod +x "$out/bin/$name"
|
|
||||||
}
|
|
||||||
|
|
||||||
mkwrap clang ${realClang}/bin/clang
|
|
||||||
mkwrap clang++ ${realClang}/bin/clang++
|
|
||||||
|
|
||||||
ln -s "$out/bin/clang" "$out/bin/cc"
|
|
||||||
ln -s "$out/bin/clang++" "$out/bin/c++"
|
|
||||||
|
|
||||||
# make lib.getLib(stdenv.cc.cc) point to real clang builtin headers
|
|
||||||
ln -s ${realClangLib}/lib/clang "$lib/lib/clang"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = (realClang.meta or { }) // {
|
|
||||||
mainProgram = "clang";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Wrapped clang package that points its "unwrapped" to our ccache one
|
|
||||||
clangWrappedCcache = llvm.clang.override { cc = clangUnwrappedCcache; };
|
|
||||||
|
|
||||||
# New stdenv: same llvm stdenv, but compiler wrapper uses our ccache-unwrapped clang
|
|
||||||
llvmCcacheStdenv = prev.overrideCC llvm.stdenv clangWrappedCcache;
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
llvmPackages_latest = llvm // {
|
|
||||||
stdenv = llvmCcacheStdenv;
|
|
||||||
clang = clangWrappedCcache;
|
|
||||||
clang-unwrapped = clangUnwrappedCcache;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
} else {}
|
|
||||||
|
|
@ -31,6 +31,56 @@ final: prev: {
|
||||||
# "$unitDir/xdg-desktop-portal-cosmic.service"
|
# "$unitDir/xdg-desktop-portal-cosmic.service"
|
||||||
# '';
|
# '';
|
||||||
# });
|
# });
|
||||||
|
# codex = prev.codex.overrideAttrs (
|
||||||
|
# old:
|
||||||
|
# let
|
||||||
|
# version = "0.111.0";
|
||||||
|
# src = prev.fetchFromGitHub {
|
||||||
|
# owner = "openai";
|
||||||
|
# repo = "codex";
|
||||||
|
# tag = "rust-v${version}";
|
||||||
|
# hash = "sha256-hdR70BhiMg9G/ibLCeHnRSY3PcGZDv0vnqBCbzSRD6I=";
|
||||||
|
# };
|
||||||
|
# in
|
||||||
|
# {
|
||||||
|
# cargoDeps = old.cargoDeps.overrideAttrs (_: {
|
||||||
|
# inherit src;
|
||||||
|
# name = "codex-${version}-vendor.tar.gz";
|
||||||
|
# sourceRoot = "${src.name}/codex-rs";
|
||||||
|
# outputHash = "sha256-FR0GQenZ6CFhHUdi3FnuwIsqo0argAJo5STBwlGCsdg=";
|
||||||
|
# outputHashMode = "recursive";
|
||||||
|
# });
|
||||||
|
# }
|
||||||
|
# );
|
||||||
|
codex = prev.codex.overrideAttrs (
|
||||||
|
old:
|
||||||
|
let
|
||||||
|
version = "0.111.0";
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "openai";
|
||||||
|
repo = "codex";
|
||||||
|
tag = "rust-v${version}";
|
||||||
|
hash = "sha256-hdR70BhiMg9G/ibLCeHnRSY3PcGZDv0vnqBCbzSRD6I=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
inherit version src;
|
||||||
|
sourceRoot = "${src.name}/codex-rs";
|
||||||
|
|
||||||
|
cargoDeps = prev.rustPlatform.fetchCargoVendor {
|
||||||
|
inherit src;
|
||||||
|
sourceRoot = "${src.name}/codex-rs";
|
||||||
|
hash = "sha256-h+TIwNz+A6aYcMACWl//LiavABITZxwYa4CvawR/0RQ=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = (old.buildInputs or [ ]) ++ [ prev.libcap ];
|
||||||
|
|
||||||
|
preBuild = (old.preBuild or "") + ''
|
||||||
|
export CARGO_PROFILE_RELEASE_LTO=thin
|
||||||
|
export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=8
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
llama-cpp = prev.llama-cpp.overrideAttrs (old: rec {
|
llama-cpp = prev.llama-cpp.overrideAttrs (old: rec {
|
||||||
version = "8124";
|
version = "8124";
|
||||||
src = prev.fetchFromGitHub {
|
src = prev.fetchFromGitHub {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
nix flake check
|
nix flake check
|
||||||
'';
|
'';
|
||||||
build.exec = ''
|
build.exec = ''
|
||||||
sudo nixos-rebuild switch --flake '.#' $@
|
nixos-rebuild switch --sudo --flake '.#' $@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -413,11 +413,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772633327,
|
"lastModified": 1772845525,
|
||||||
"narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=",
|
"narHash": "sha256-Dp5Ir2u4jJDGCgeMRviHvEQDe+U37hMxp6RSNOoMMPc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc",
|
"rev": "27b93804fbef1544cb07718d3f0a451f4c4cd6c0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -502,10 +502,10 @@
|
||||||
"kernel-src": {
|
"kernel-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772720557,
|
"lastModified": 1772838933,
|
||||||
"narHash": "sha256-lfOprDbqvgOqHzLuhsiuXdHk20qQJ9b8t97zOkTBxu4=",
|
"narHash": "sha256-77MlrOVBethsi2wbq0eQx+m6AzNoBWCD8b82B1yUX04=",
|
||||||
"ref": "drm-tip",
|
"ref": "drm-tip",
|
||||||
"rev": "9565ad1c312903452467b9f685c59e2f47f512e5",
|
"rev": "fce8d7fb2107068c269b868d51aba5f9cf85998a",
|
||||||
"shallow": true,
|
"shallow": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitlab.freedesktop.org/drm/tip.git"
|
"url": "https://gitlab.freedesktop.org/drm/tip.git"
|
||||||
|
|
@ -960,11 +960,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772653484,
|
"lastModified": 1772751120,
|
||||||
"narHash": "sha256-kHwbXkMrlKxo261U0oamF4YXGuUBbwexa8BWYErgKv0=",
|
"narHash": "sha256-4cBOTPXv6Pkqa6qL1SH3UZTShciQWpyKJy3c3cQEU8I=",
|
||||||
"owner": "mozilla",
|
"owner": "mozilla",
|
||||||
"repo": "sccache",
|
"repo": "sccache",
|
||||||
"rev": "30ed851a2b56ff3d754117895c76dbd8d10bbf13",
|
"rev": "2b65ac80ed3a3ff63c41711d65ae10106a163a09",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
20
flake.nix
20
flake.nix
|
|
@ -52,16 +52,6 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = [ sccache.overlays.default ];
|
overlays = [ sccache.overlays.default ];
|
||||||
};
|
};
|
||||||
#
|
|
||||||
# sccacheWrapper = pkgs.writeShellScriptBin "clang-sccache" ''
|
|
||||||
# export SCCACHE_DIR=/var/cache/sccache
|
|
||||||
# exec ${pkgs.sccache}/bin/sccache ${pkgs.llvmPackages_latest.clang}/bin/clang "$@"
|
|
||||||
# '';
|
|
||||||
# stdenvSccache = pkgs.overrideCC pkgs.llvmPackages_latest.stdenv (
|
|
||||||
# pkgs.llvmPackages_latest.clang.override {
|
|
||||||
# cc = sccacheWrapper;
|
|
||||||
# }
|
|
||||||
# );
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations.testenv = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.testenv = nixpkgs.lib.nixosSystem {
|
||||||
|
|
@ -72,7 +62,6 @@
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
# ./custom/modules
|
# ./custom/modules
|
||||||
# ./custom/modules/llvm-ccache-stdenv.nix
|
|
||||||
ragenix.nixosModules.default
|
ragenix.nixosModules.default
|
||||||
niri-flake.nixosModules.niri
|
niri-flake.nixosModules.niri
|
||||||
nix-index-database.nixosModules.default
|
nix-index-database.nixosModules.default
|
||||||
|
|
@ -122,9 +111,15 @@
|
||||||
"root"
|
"root"
|
||||||
"thek0tyara"
|
"thek0tyara"
|
||||||
];
|
];
|
||||||
extra-sandbox-paths = [ config.programs.ccache.cacheDir ];
|
extra-sandbox-paths = [
|
||||||
|
"/var/cache/sccache"
|
||||||
|
];
|
||||||
download-buffer-size = 160000000;
|
download-buffer-size = 160000000;
|
||||||
};
|
};
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
# setgid, чтобы файлы/папки сохраняли группу nixbld
|
||||||
|
"d /var/cache/sccache 2770 root nixbld - -"
|
||||||
|
];
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
|
|
@ -165,6 +160,7 @@
|
||||||
LLAMA_CACHE = "/home/thek0tyara/Downloads/llm";
|
LLAMA_CACHE = "/home/thek0tyara/Downloads/llm";
|
||||||
|
|
||||||
# CCACHE_DIR = "/mnt/HDD_A_DATA/ccache";
|
# CCACHE_DIR = "/mnt/HDD_A_DATA/ccache";
|
||||||
|
# SCCACHE_DIR = "/home/thek0tyara/Documents/cache/sccache";
|
||||||
# LLVM = "1";
|
# LLVM = "1";
|
||||||
|
|
||||||
# UV_CACHE_DIR = "";
|
# UV_CACHE_DIR = "";
|
||||||
|
|
|
||||||
13
home.nix
13
home.nix
|
|
@ -66,6 +66,7 @@
|
||||||
|
|
||||||
### development
|
### development
|
||||||
# idea-community-bin
|
# idea-community-bin
|
||||||
|
sccache
|
||||||
|
|
||||||
### visuals
|
### visuals
|
||||||
gnome-themes-extra
|
gnome-themes-extra
|
||||||
|
|
@ -170,7 +171,7 @@
|
||||||
extraPortals = with pkgs; [
|
extraPortals = with pkgs; [
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xdg-desktop-portal-wlr
|
xdg-desktop-portal-wlr
|
||||||
# xdg-desktop-portal-gnome
|
xdg-desktop-portal-gnome
|
||||||
xdg-desktop-portal-cosmic
|
xdg-desktop-portal-cosmic
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
|
|
@ -179,7 +180,7 @@
|
||||||
"gtk"
|
"gtk"
|
||||||
];
|
];
|
||||||
"org.freedesktop.impl.portal.FileChooser" = "gnome";
|
"org.freedesktop.impl.portal.FileChooser" = "gnome";
|
||||||
# "org.freedesktop.impl.portal.ScreenCast" = "gnome";
|
"org.freedesktop.impl.portal.ScreenCast" = "gnome";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -434,6 +435,14 @@
|
||||||
### default
|
### default
|
||||||
aria2.enable = true;
|
aria2.enable = true;
|
||||||
btop.enable = true;
|
btop.enable = true;
|
||||||
|
codex = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
model = "gpt-5.4";
|
||||||
|
approval_policy = "on-request";
|
||||||
|
model_reasoning_effort = "medium";
|
||||||
|
};
|
||||||
|
};
|
||||||
# command-not-found.enable = true;
|
# command-not-found.enable = true;
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue