Compare commits
4 Commits
ec0c33109e
...
e4a20ddeb9
| Author | SHA1 | Date | |
|---|---|---|---|
| e4a20ddeb9 | |||
| e4d859a6ae | |||
| 627e5cc5cd | |||
| e5416214ad |
@@ -8,6 +8,7 @@
|
||||
./plugins/conform.nix
|
||||
./plugins/diffview.nix
|
||||
./plugins/grug-far.nix
|
||||
./plugins/hardtime.nix
|
||||
./plugins/harpoon.nix
|
||||
./plugins/hunk.nix
|
||||
./plugins/jj-diffconflicts.nix
|
||||
|
||||
@@ -440,6 +440,19 @@
|
||||
action = "<C-w>=";
|
||||
options.desc = "Equalize windows";
|
||||
}
|
||||
# scrolling
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-d>";
|
||||
action = "<C-d>zz";
|
||||
options.desc = "Scroll down and center";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-u>";
|
||||
action = "<C-u>zz";
|
||||
options.desc = "Scroll up and center";
|
||||
}
|
||||
# other
|
||||
{
|
||||
mode = "n";
|
||||
|
||||
7
modules/_neovim/plugins/hardtime.nix
Normal file
7
modules/_neovim/plugins/hardtime.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
hardtime = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -10,18 +10,18 @@
|
||||
rev = "800c4f891f5d940f2805780a39872a0207b5a446";
|
||||
hash = "sha256-3xyZux5S8ThBsi7AC4AWnd2h2LEI5L+I5Am2PNWKu64=";
|
||||
};
|
||||
doCheck = false;
|
||||
postPatch = ''
|
||||
# Widen sign column and move border further left for more padding
|
||||
sed -i "s/signcolumn', 'yes'/signcolumn', 'yes:2'/" lua/opencode/ui/output_window.lua
|
||||
sed -i "s/, -3)/, -5)/g" lua/opencode/ui/formatter.lua
|
||||
sed -i "s/win_col = -3/win_col = -5/g" lua/opencode/ui/formatter.lua
|
||||
# Fix off-by-one: user border starts 1 line too early (bleeds into header empty line)
|
||||
sed -i 's/start_line = output:get_line_count() *$/start_line = output:get_line_count() + 1/' lua/opencode/ui/formatter.lua
|
||||
# Fix file mention border starting 1 line too early
|
||||
sed -i 's/file_line - 1, file_line/file_line, file_line/' lua/opencode/ui/formatter.lua
|
||||
'';
|
||||
};
|
||||
doCheck = false;
|
||||
postPatch = ''
|
||||
# Widen sign column and move border further left for more padding
|
||||
sed -i "s/signcolumn', 'yes'/signcolumn', 'yes:2'/" lua/opencode/ui/output_window.lua
|
||||
sed -i "s/, -3)/, -5)/g" lua/opencode/ui/formatter.lua
|
||||
sed -i "s/win_col = -3/win_col = -5/g" lua/opencode/ui/formatter.lua
|
||||
# Fix off-by-one: user border starts 1 line too early (bleeds into header empty line)
|
||||
sed -i 's/start_line = output:get_line_count() *$/start_line = output:get_line_count() + 1/' lua/opencode/ui/formatter.lua
|
||||
# Fix file mention border starting 1 line too early
|
||||
sed -i 's/file_line - 1, file_line/file_line, file_line/' lua/opencode/ui/formatter.lua
|
||||
'';
|
||||
};
|
||||
in {
|
||||
programs.nixvim = {
|
||||
autoCmd = [
|
||||
@@ -51,6 +51,35 @@ in {
|
||||
wrap = true,
|
||||
},
|
||||
},
|
||||
icons = {
|
||||
preset = "nerdfonts",
|
||||
overrides = {
|
||||
header_user = "▌ ",
|
||||
header_assistant = " ",
|
||||
run = " ",
|
||||
task = " ",
|
||||
read = " ",
|
||||
edit = " ",
|
||||
write = " ",
|
||||
plan = " ",
|
||||
search = " ",
|
||||
web = " ",
|
||||
list = " ",
|
||||
tool = " ",
|
||||
snapshot = " ",
|
||||
file = " ",
|
||||
folder = " ",
|
||||
attached_file = " ",
|
||||
agent = " ",
|
||||
reasoning = " ",
|
||||
question = " ",
|
||||
completed = " ",
|
||||
pending = " ",
|
||||
running = " ",
|
||||
bash = " ",
|
||||
command = " ",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
inputs',
|
||||
...
|
||||
}: {
|
||||
home.packages = [
|
||||
inputs'.llm-agents.packages.claude-code
|
||||
pkgs.nono
|
||||
];
|
||||
|
||||
home.shellAliases = {
|
||||
noc = "nono run -s --allow-cwd --profile opencode --allow ~/.bun --allow ~/.local/share/opensrc --allow ~/.config/jj --network-profile developer --proxy-allow models.dev --proxy-allow chatgpt.com --proxy-allow mcp.grep.app --proxy-allow mcp.context7.com --proxy-allow mcp.exa.ai -- opencode";
|
||||
};
|
||||
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
package = inputs'.llm-agents.packages.opencode;
|
||||
@@ -61,15 +70,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
noc = "nono run -s --allow-cwd --profile opencode --allow ~/.bun --allow ~/.local/share/opensrc --allow ~/.config/jj --network-profile developer --proxy-allow models.dev --proxy-allow chatgpt.com --proxy-allow mcp.grep.app --proxy-allow mcp.context7.com --proxy-allow mcp.exa.ai -- opencode";
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
inputs'.llm-agents.packages.claude-code
|
||||
pkgs.nono
|
||||
];
|
||||
|
||||
systemd.user.services.opencode-server = {
|
||||
Unit = {
|
||||
Description = "OpenCode AI server";
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# System utilities
|
||||
environment.systemPackages =
|
||||
lib.optionals pkgs.stdenv.isLinux [
|
||||
pkgs.lm_sensors
|
||||
];
|
||||
|
||||
programs.fish.enable = true;
|
||||
environment.shells = [pkgs.nushell];
|
||||
|
||||
@@ -33,11 +39,5 @@
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
# System utilities
|
||||
environment.systemPackages =
|
||||
lib.optionals pkgs.stdenv.isLinux [
|
||||
pkgs.lm_sensors
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
system.primaryUser = "cschmatzler";
|
||||
|
||||
# Darwin system utilities
|
||||
environment.systemPackages = with pkgs; [
|
||||
alcove
|
||||
dockutil
|
||||
mas
|
||||
];
|
||||
|
||||
system.defaults = {
|
||||
NSGlobalDomain = {
|
||||
AppleInterfaceStyle = null;
|
||||
@@ -140,12 +147,5 @@
|
||||
"tidal"
|
||||
];
|
||||
};
|
||||
|
||||
# Darwin system utilities
|
||||
environment.systemPackages = with pkgs; [
|
||||
alcove
|
||||
dockutil
|
||||
mas
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -63,6 +63,10 @@
|
||||
jj-starship.url = "github:dmmulroy/jj-starship";
|
||||
zjstatus.url = "github:dj95/zjstatus";
|
||||
tuicr.url = "github:agavra/tuicr";
|
||||
fenix = {
|
||||
url = "github:nix-community/fenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
naersk = {
|
||||
url = "github:nix-community/naersk/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -71,6 +75,10 @@
|
||||
url = "github:always-further/nono";
|
||||
flake = false;
|
||||
};
|
||||
vite-plus = {
|
||||
url = "github:voidzero-dev/vite-plus/v0.1.11";
|
||||
flake = false;
|
||||
};
|
||||
# Secrets inputs
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs;
|
||||
lib.optionals stdenv.isDarwin [
|
||||
_1password-gui
|
||||
raycast
|
||||
];
|
||||
|
||||
programs.aerospace = {
|
||||
enable = true;
|
||||
launchd.enable = true;
|
||||
@@ -144,11 +150,5 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs;
|
||||
lib.optionals stdenv.isDarwin [
|
||||
_1password-gui
|
||||
raycast
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,40 @@
|
||||
}: let
|
||||
name = "Christoph Schmatzler";
|
||||
in {
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
alejandra
|
||||
ast-grep
|
||||
bun
|
||||
delta
|
||||
deadnix
|
||||
devenv
|
||||
docker
|
||||
docker-compose
|
||||
gh
|
||||
gnumake
|
||||
hyperfine
|
||||
jj-ryu
|
||||
jj-starship
|
||||
nil
|
||||
nodejs_24
|
||||
nurl
|
||||
pnpm
|
||||
postgresql_17
|
||||
serie
|
||||
sqlite
|
||||
statix
|
||||
tea
|
||||
tokei
|
||||
tree-sitter
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
xcodes
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
gcc15
|
||||
];
|
||||
|
||||
# Git configuration
|
||||
programs.git = {
|
||||
enable = true;
|
||||
@@ -197,39 +231,5 @@
|
||||
auto_install = false;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
alejandra
|
||||
ast-grep
|
||||
bun
|
||||
delta
|
||||
deadnix
|
||||
devenv
|
||||
docker
|
||||
docker-compose
|
||||
gh
|
||||
gnumake
|
||||
hyperfine
|
||||
jj-ryu
|
||||
jj-starship
|
||||
nil
|
||||
nodejs_24
|
||||
nurl
|
||||
pnpm
|
||||
postgresql_17
|
||||
serie
|
||||
sqlite
|
||||
statix
|
||||
tea
|
||||
tokei
|
||||
tree-sitter
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
xcodes
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
gcc15
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
vivid
|
||||
];
|
||||
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
|
||||
@@ -222,7 +226,12 @@
|
||||
cmd: "open_project"
|
||||
}
|
||||
}
|
||||
])
|
||||
])
|
||||
|
||||
# Vi mode indicators — Starship handles the character (green/red for
|
||||
# success/error), nushell adds a dot for normal mode.
|
||||
$env.PROMPT_INDICATOR_VI_INSERT = "· "
|
||||
$env.PROMPT_INDICATOR_VI_NORMAL = "\e[1;38;2;40;105;131m·\e[0m "
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -272,9 +281,5 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
vivid
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,6 +10,44 @@
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
dust
|
||||
fastfetch
|
||||
fd
|
||||
glow
|
||||
htop
|
||||
jq
|
||||
killall
|
||||
lsof
|
||||
ouch
|
||||
ov
|
||||
sd
|
||||
tree
|
||||
tuicr
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
ghostty.terminfo
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
FZF_DEFAULT_OPTS = ''
|
||||
--bind=alt-k:up,alt-j:down
|
||||
--expect=tab,enter
|
||||
--layout=reverse
|
||||
--delimiter='\t'
|
||||
--with-nth=1
|
||||
--preview-window='border-rounded' --prompt=' ' --marker=' ' --pointer=' '
|
||||
--separator='─' --scrollbar='┃' --layout='reverse'
|
||||
|
||||
--color=bg+:#f2e9e1,bg:#faf4ed,spinner:#ea9d34,hl:#d7827e
|
||||
--color=fg:#797593,header:#286983,info:#56949f,pointer:#907aa9
|
||||
--color=marker:#b4637a,fg+:#575279,prompt:#797593,hl+:#d7827e
|
||||
--color=selected-bg:#f2e9e1
|
||||
--color=border:#dfdad9,label:#575279
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."ghostty/config".text = ''
|
||||
command = ${pkgs.nushell}/bin/nu
|
||||
theme = Rose Pine Dawn
|
||||
@@ -51,24 +89,6 @@
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
FZF_DEFAULT_OPTS = ''
|
||||
--bind=alt-k:up,alt-j:down
|
||||
--expect=tab,enter
|
||||
--layout=reverse
|
||||
--delimiter='\t'
|
||||
--with-nth=1
|
||||
--preview-window='border-rounded' --prompt=' ' --marker=' ' --pointer=' '
|
||||
--separator='─' --scrollbar='┃' --layout='reverse'
|
||||
|
||||
--color=bg+:#f2e9e1,bg:#faf4ed,spinner:#ea9d34,hl:#d7827e
|
||||
--color=fg:#797593,header:#286983,info:#56949f,pointer:#907aa9
|
||||
--color=marker:#b4637a,fg+:#575279,prompt:#797593,hl+:#d7827e
|
||||
--color=selected-bg:#f2e9e1
|
||||
--color=border:#dfdad9,label:#575279
|
||||
'';
|
||||
};
|
||||
|
||||
programs.ripgrep = {
|
||||
enable = true;
|
||||
arguments = [
|
||||
@@ -135,25 +155,5 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
dust
|
||||
fastfetch
|
||||
fd
|
||||
glow
|
||||
htop
|
||||
jq
|
||||
killall
|
||||
lsof
|
||||
ouch
|
||||
ov
|
||||
sd
|
||||
tree
|
||||
tuicr
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
ghostty.terminfo
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user