mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 14:28:02 +03:00
home changes
This commit is contained in:
12 files changed
+72
-68
No files matched your search
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 "$@"
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
flake.homeModules.home-ghidra =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [ pkgs.ghidra ];
|
||||||
|
home.sessionVariables.GHIDRA_INSTALL_DIR = "${pkgs.ghidra}/lib/ghidra";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in new issue
Block a user