home changes

This commit is contained in:
elwrcl committed 2026-10-26 10:43:12 +03:00
1 parent 442075ecf8
commit 4d1c58d29b
12 files changed
+72 -68

No files matched your search

+5 -1
View File
@@ -76,8 +76,8 @@
"gh workflow list*" "gh workflow list*"
"gh workflow view*" "gh workflow view*"
# not `nix develop*`: `nix develop -c <cmd>` would run anything
"nix build*" "nix build*"
"nix develop*"
"nix eval*" "nix eval*"
"nix flake archive*" "nix flake archive*"
"nix flake check*" "nix flake check*"
@@ -360,6 +360,10 @@
env.CLAUDE_CODE_FORCE_GLOBAL_CACHE = "1"; env.CLAUDE_CODE_FORCE_GLOBAL_CACHE = "1";
env.MCP_CONNECTION_NONBLOCKING = "1"; env.MCP_CONNECTION_NONBLOCKING = "1";
env.USE_BUILTIN_RIPGREP = "0"; env.USE_BUILTIN_RIPGREP = "0";
# rea mcp ghidra provider
env.GHIDRA_INSTALL_DIR = "${pkgs.ghidra}/lib/ghidra";
env.GHIDRA_HEADLESS_MAXMEM = "6G";
env.REA_GHIDRA_STARTUP_TIMEOUT_MS = "3600000";
# bittersweet # bittersweet
alwaysThinkingEnabled = true; alwaysThinkingEnabled = true;
-1
View File
@@ -39,7 +39,6 @@
"firefox-extension@steamdb.info" "firefox-extension@steamdb.info"
"chrome-mask@overengineer.dev" "chrome-mask@overengineer.dev"
"{a4cc20af-d30a-4758-a799-2089ce45f452}" "{a4cc20af-d30a-4758-a799-2089ce45f452}"
"plasma-browser-integration@kde.org"
] mkExtension; ] mkExtension;
}; };
profiles.Yamura = { profiles.Yamura = {
@@ -26,7 +26,6 @@
}; };
equibopStreamFixes.enable = true; equibopStreamFixes.enable = true;
equicordHelper.enable = true; equicordHelper.enable = true;
fakeNitro.enable = true;
fakeProfileThemes.enable = true; fakeProfileThemes.enable = true;
fixSpotifyEmbeds = { fixSpotifyEmbeds = {
enable = true; enable = true;
@@ -35,11 +34,6 @@
fixYoutubeEmbeds.enable = true; fixYoutubeEmbeds.enable = true;
gifCollections.enable = true; gifCollections.enable = true;
messageLinkEmbeds.enable = true; messageLinkEmbeds.enable = true;
messageLogger = {
enable = true;
ignoreBots = false;
};
messageLoggerEnhanced.enable = true;
newPluginsManager.enable = true; newPluginsManager.enable = true;
noF1.enable = true; noF1.enable = true;
noNitroUpsell.enable = true; noNitroUpsell.enable = true;
@@ -60,7 +54,6 @@
}; };
showHiddenThings.enable = true; showHiddenThings.enable = true;
showTimeoutDuration.enable = true; showTimeoutDuration.enable = true;
spotifyCrack.enable = true;
streamingCodecDisabler = { streamingCodecDisabler = {
enable = true; enable = true;
disableAv1Codec = true; disableAv1Codec = true;
+23 -4
View File
@@ -34,7 +34,14 @@
fi fi
} }
trap finish EXIT trap finish EXIT
stem() { printf '%s' "''${1%.*}"; } # path without the extension; only the file name's own dot counts
# (not one in a directory name, not a dotfile's leading dot)
stem() {
d=$(dirname -- "$1")
b=$(basename -- "$1")
case "$b" in ?*.*) b="''${b%.*}" ;; esac
printf '%s/%s' "$d" "$b"
}
resolve_dnxhr() { resolve_dnxhr() {
profile="$1"; shift profile="$1"; shift
for f in "$@"; do for f in "$@"; do
@@ -203,9 +210,21 @@
notify "PDF rendered" "$# document(s)" notify "PDF rendered" "$# document(s)"
;; ;;
pdf-merge) pdf-merge)
require_count 2 "$@" 2>/dev/null || true if [ "$#" -lt 2 ]; then
pdfunite "$@" merged.pdf notify-send -a Dolphin -u critical "action failed" \
notify "PDFs merged" "merged.pdf" "select at least 2 PDFs" || true
exit 2
fi
# next to the first PDF, never over an existing file
dir=$(dirname -- "$1")
out="$dir/merged.pdf"
n=1
while [ -e "$out" ]; do
out="$dir/merged-$n.pdf"
n=$((n + 1))
done
pdfunite "$@" "$out"
notify "PDFs merged" "$(basename -- "$out")"
;; ;;
compare) compare)
require_count 2 "$@" require_count 2 "$@"
+9
View File
@@ -0,0 +1,9 @@
{ ... }:
{
flake.homeModules.home-ghidra =
{ pkgs, ... }:
{
home.packages = [ pkgs.ghidra ];
home.sessionVariables.GHIDRA_INSTALL_DIR = "${pkgs.ghidra}/lib/ghidra";
};
}
+3 -38
View File
@@ -1,11 +1,9 @@
{ ... }: { ... }:
{ {
flake.homeModules.home-ghostty = flake.homeModules.home-ghostty =
{ pkgs, lib, ... }: { pkgs, ... }:
let let
isDarwin = pkgs.stdenv.isDarwin; keybinds = [
linuxKeybinds = [
"alt+r=reload_config" "alt+r=reload_config"
"ctrl+shift+q=close_surface" "ctrl+shift+q=close_surface"
@@ -38,36 +36,6 @@
"ctrl+shift+e=equalize_splits" "ctrl+shift+e=equalize_splits"
]; ];
darwinKeybinds = [
"cmd+s>r=reload_config"
"cmd+s>x=close_surface"
"cmd+s>n=new_window"
"cmd+s>c=new_tab"
"cmd+s>shift+l=next_tab"
"cmd+s>shift+h=previous_tab"
"cmd+s>comma=move_tab:-1"
"cmd+s>period=move_tab:1"
"cmd+s>1=goto_tab:1"
"cmd+s>2=goto_tab:2"
"cmd+s>3=goto_tab:3"
"cmd+s>4=goto_tab:4"
"cmd+s>5=goto_tab:5"
"cmd+s>6=goto_tab:6"
"cmd+s>7=goto_tab:7"
"cmd+s>8=goto_tab:8"
"cmd+s>9=goto_tab:9"
"cmd+s>\\=new_split:right"
"cmd+s>-=new_split:down"
"cmd+s>h=goto_split:left"
"cmd+s>j=goto_split:bottom"
"cmd+s>k=goto_split:top"
"cmd+s>l=goto_split:right"
"cmd+s>z=toggle_split_zoom"
"cmd+s>e=equalize_splits"
];
in in
{ {
home.packages = [ pkgs.nerd-fonts.profont ]; home.packages = [ pkgs.nerd-fonts.profont ];
@@ -95,10 +63,7 @@
adjust-cell-height = "35%"; adjust-cell-height = "35%";
background-opacity = 0.96; background-opacity = 0.96;
keybind = linuxKeybinds ++ lib.optionals isDarwin darwinKeybinds; keybind = keybinds;
}
// lib.optionalAttrs isDarwin {
macos-titlebar-style = "transparent";
}; };
}; };
}; };
+17
View File
@@ -0,0 +1,17 @@
{ ... }:
{
flake.homeModules.home-jujutsu-signing =
{ ... }:
{
# Same GPG key as common-git. Commits are signed when pushed rather than
# on every working-copy rewrite, so gpg isn't called on each snapshot.
programs.jujutsu.settings = {
signing = {
backend = "gpg";
key = "5EA48F7312A42B84";
behavior = "drop";
};
git.sign-on-push = true;
};
};
}
+5 -1
View File
@@ -3,7 +3,11 @@
flake.homeModules.home-shell-tools = flake.homeModules.home-shell-tools =
{ ... }: { ... }:
{ {
programs.starship.enable = true; programs.starship = {
enable = true;
# nushell has its own jj prompt (home-nushell-prompt)
enableNushellIntegration = false;
};
programs.fzf.enable = true; programs.fzf.enable = true;
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
-2
View File
@@ -21,8 +21,6 @@
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
export MESA_SHADER_CACHE_MAX_SIZE=2G
export MESA_SHADER_CACHE_DIR=/tmp/mesa_shader_cache
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
''; '';
}; };
-2
View File
@@ -49,8 +49,6 @@
}; };
environmentVariables = { environmentVariables = {
MESA_SHADER_CACHE_MAX_SIZE = "2G";
MESA_SHADER_CACHE_DIR = "/tmp/mesa_shader_cache";
FZF_DEFAULT_OPTS = "--height 40% --layout=reverse --border"; FZF_DEFAULT_OPTS = "--height 40% --layout=reverse --border";
FZF_DEFAULT_COMMAND = "fd --type f --hidden --follow --exclude .git"; FZF_DEFAULT_COMMAND = "fd --type f --hidden --follow --exclude .git";
}; };
@@ -136,9 +136,14 @@
''; '';
in in
{ {
xdg.configFile."legcord/quickCss.css".text = '' # nixcord owns the client's settings.json, so a theme enabled from the
${builtins.readFile ./discord-system24.css} # UI is lost on restart; enable it here instead.
${colors} programs.nixcord.config = {
''; themes.kemuri-system24 = ''
${builtins.readFile ./discord-system24.css}
${colors}
'';
enabledThemes = [ "kemuri-system24.css" ];
};
}; };
} }
+1 -8
View File
@@ -169,9 +169,7 @@
"search.followSymlinks" = false; "search.followSymlinks" = false;
# ── terminal: nushell, same colours as ghostty ──────────────────── # ── terminal: nushell, same colours as ghostty ────────────────────
"terminal.integrated.defaultProfile.osx" = "nu";
"terminal.integrated.defaultProfile.linux" = "nu"; "terminal.integrated.defaultProfile.linux" = "nu";
"terminal.integrated.profiles.osx".nu.path = "${pkgs.nushell}/bin/nu";
"terminal.integrated.profiles.linux".nu.path = "${pkgs.nushell}/bin/nu"; "terminal.integrated.profiles.linux".nu.path = "${pkgs.nushell}/bin/nu";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', monospace"; "terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', monospace";
"terminal.integrated.fontSize" = 13; "terminal.integrated.fontSize" = 13;
@@ -186,12 +184,7 @@
"terminal.integrated.shellIntegration.decorationsEnabled" = "never"; "terminal.integrated.shellIntegration.decorationsEnabled" = "never";
"terminal.integrated.enableVisualBell" = false; "terminal.integrated.enableVisualBell" = false;
# ── scm (jj colocated: the git view reads the git side) ─────────── # ── scm (the git extension is off, jjk drives it: home-vscode-jujutsu)
"git.confirmSync" = false;
"git.enableSmartCommit" = true;
"git.autofetch" = false;
"git.openRepositoryInParentFolders" = "never";
"git.decorations.enabled" = true;
"scm.defaultViewMode" = "list"; "scm.defaultViewMode" = "list";
"scm.diffDecorations" = "gutter"; "scm.diffDecorations" = "gutter";
"diffEditor.ignoreTrimWhitespace" = false; "diffEditor.ignoreTrimWhitespace" = false;