mirror of
https://github.com/thegeneralist01/config.git
synced 2026-07-21 19:05:19 +02:00
Compare commits
4 commits
42d69a769e
...
691dfad298
| Author | SHA1 | Date | |
|---|---|---|---|
| 691dfad298 | |||
| aa3cbcfb5e | |||
| f840f89386 | |||
| 0cef95a1a1 |
6 changed files with 140 additions and 20 deletions
36
modules/common/jujutsu.nix
Normal file
36
modules/common/jujutsu.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) getExe;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
{
|
||||||
|
programs.jujutsu = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "TheGeneralist";
|
||||||
|
email = "180094941+thegeneralist01@users.noreply.github.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
default-command = "log";
|
||||||
|
diff-formatter = [ (getExe pkgs.difftastic) "--color=always" ];
|
||||||
|
graph.style = "curved";
|
||||||
|
pager = ":builtin";
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases = {
|
||||||
|
".." = [ "edit" "@-" ];
|
||||||
|
",," = [ "edit" "@+" ];
|
||||||
|
tug = [ "bookmark" "set" "main" "-r" "@-" ];
|
||||||
|
ship = [ "git" "push" "--bookmark" "main" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
remotes.origin.auto-track-bookmarks = "glob:*";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -34,7 +34,6 @@ in
|
||||||
basedpyright
|
basedpyright
|
||||||
black
|
black
|
||||||
|
|
||||||
nodejs
|
|
||||||
dart-sass
|
dart-sass
|
||||||
pnpm_9
|
pnpm_9
|
||||||
]
|
]
|
||||||
|
|
@ -75,6 +74,7 @@ in
|
||||||
"/opt/homebrew/bin"
|
"/opt/homebrew/bin"
|
||||||
"/opt/homebrew/opt"
|
"/opt/homebrew/opt"
|
||||||
"$HOME/.npm-packages/bin"
|
"$HOME/.npm-packages/bin"
|
||||||
|
"$HOME/.opencode/bin"
|
||||||
"$PNPM_HOME"
|
"$PNPM_HOME"
|
||||||
"$BUN_INSTALL/bin"
|
"$BUN_INSTALL/bin"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,23 @@ in {
|
||||||
carapace
|
carapace
|
||||||
bat
|
bat
|
||||||
|
|
||||||
|
sd
|
||||||
|
glow
|
||||||
|
dust
|
||||||
|
hyperfine
|
||||||
|
tokei
|
||||||
|
procs
|
||||||
|
bandwhich
|
||||||
|
|
||||||
|
watchexec
|
||||||
|
git-absorb
|
||||||
|
ouch
|
||||||
|
xh
|
||||||
|
duf
|
||||||
|
grex
|
||||||
|
|
||||||
|
mise
|
||||||
|
|
||||||
mosh
|
mosh
|
||||||
])
|
])
|
||||||
++ optionals (pkgs ? bat-extras && pkgs.bat-extras ? core) [
|
++ optionals (pkgs ? bat-extras && pkgs.bat-extras ? core) [
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,10 @@ in
|
||||||
|
|
||||||
extraConfig = /* nu */ ''
|
extraConfig = /* nu */ ''
|
||||||
use ${pkgs.writeTextDir "omp-completions.nu" (readFile ./omp-completions.nu)}/omp-completions.nu *
|
use ${pkgs.writeTextDir "omp-completions.nu" (readFile ./omp-completions.nu)}/omp-completions.nu *
|
||||||
|
|
||||||
|
if (which mise | is-not-empty) {
|
||||||
|
$env.PATH = ($env.PATH | prepend $"($env.HOME)/.local/share/mise/shims")
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -207,6 +207,9 @@ in
|
||||||
if command -sq omp
|
if command -sq omp
|
||||||
omp completions fish | source
|
omp completions fish | source
|
||||||
end
|
end
|
||||||
|
if command -sq mise
|
||||||
|
mise activate fish | source
|
||||||
|
end
|
||||||
'';
|
'';
|
||||||
|
|
||||||
functions = {
|
functions = {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,10 @@ let
|
||||||
openHeliumT3Chat = "open -na Helium.app --args https://t3.chat/";
|
openHeliumT3Chat = "open -na Helium.app --args https://t3.chat/";
|
||||||
openHeliumExaSearch = "open -na Helium.app --args https://exa.ai/search";
|
openHeliumExaSearch = "open -na Helium.app --args https://exa.ai/search";
|
||||||
openChatGPT = "open -na Helium.app --args https://chatgpt.com/";
|
openChatGPT = "open -na Helium.app --args https://chatgpt.com/";
|
||||||
|
openChatGPTIncognito = "open -na Helium.app --args https://chatgpt.com/?temporary-chat=true";
|
||||||
openClaude = "open -na Helium.app --args https://claude.ai/new";
|
openClaude = "open -na Helium.app --args https://claude.ai/new";
|
||||||
|
openClaudeIncognito = "open -na Helium.app --args https://claude.ai/new?incognito=";
|
||||||
|
openHeliumTelegram = "open -na Helium.app --args https://web.telegram.org/k/";
|
||||||
|
|
||||||
numbers = [
|
numbers = [
|
||||||
"1"
|
"1"
|
||||||
|
|
@ -392,25 +395,6 @@ let
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
|
||||||
description = "Hyper+T opens T3 Chat";
|
|
||||||
manipulators = [
|
|
||||||
{
|
|
||||||
from = {
|
|
||||||
key_code = "t";
|
|
||||||
modifiers = {
|
|
||||||
mandatory = hyperModifiers;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
to = [
|
|
||||||
{
|
|
||||||
shell_command = openHeliumT3Chat;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
type = "basic";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
description = "Hyper+E opens Exa Search";
|
description = "Hyper+E opens Exa Search";
|
||||||
manipulators = [
|
manipulators = [
|
||||||
|
|
@ -430,6 +414,25 @@ let
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
description = "Hyper+W opens Telegram";
|
||||||
|
manipulators = [
|
||||||
|
{
|
||||||
|
from = {
|
||||||
|
key_code = "w";
|
||||||
|
modifiers = {
|
||||||
|
mandatory = hyperModifiers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
to = [
|
||||||
|
{
|
||||||
|
shell_command = openHeliumTelegram;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
type = "basic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
description = "Toggle Focus Mode with F6";
|
description = "Toggle Focus Mode with F6";
|
||||||
manipulators = [
|
manipulators = [
|
||||||
|
|
@ -480,6 +483,25 @@ let
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
description = "Hyper+V opens ChatGPT (incognito)";
|
||||||
|
manipulators = [
|
||||||
|
{
|
||||||
|
from = {
|
||||||
|
key_code = "v";
|
||||||
|
modifiers = {
|
||||||
|
mandatory = hyperModifiers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
to = [
|
||||||
|
{
|
||||||
|
shell_command = openChatGPTIncognito;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
type = "basic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
description = "Hyper+C opens ChatGPT";
|
description = "Hyper+C opens ChatGPT";
|
||||||
manipulators = [
|
manipulators = [
|
||||||
|
|
@ -518,6 +540,25 @@ let
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
description = "Hyper+; opens Claude (incognito)";
|
||||||
|
manipulators = [
|
||||||
|
{
|
||||||
|
from = {
|
||||||
|
key_code = "semicolon";
|
||||||
|
modifiers = {
|
||||||
|
mandatory = hyperModifiers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
to = [
|
||||||
|
{
|
||||||
|
shell_command = openClaudeIncognito;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
type = "basic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
description = "Hyper+0 copies a rephrase prompt into the clipboard";
|
description = "Hyper+0 copies a rephrase prompt into the clipboard";
|
||||||
manipulators = [
|
manipulators = [
|
||||||
|
|
@ -537,6 +578,25 @@ let
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
description = "Hyper+9 copies an orchestrate prompt into the clipboard";
|
||||||
|
manipulators = [
|
||||||
|
{
|
||||||
|
from = {
|
||||||
|
key_code = "9";
|
||||||
|
modifiers = {
|
||||||
|
mandatory = hyperModifiers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
to = [
|
||||||
|
{
|
||||||
|
shell_command = "printf '%s' $'/goal set\\n\\nI had this on my today\\'s agenda regarding archivr feat impl\\'s or bug fixes:\\n...\\n\\nThis is going to be a PR. I like atomic commits. (I reckon you won\\'t be needing many commits for this, since it\\'s a small task, I assume.)\\n\\nIf you have any questions before you start (i.e. to decide on something), then shoot!\\n\\nOtherwise, you\\'re allowed to Orchestrate and delegate if/when necessary.\\nUse agents and/or skills for suited tasks (design/planning/tests/etc.), if needed.' | pbcopy";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
type = "basic";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue