feat: configuring shell & add fish shell
This commit is contained in:
parent
f20e3a6b57
commit
e73cc0c0f5
10 changed files with 130 additions and 22 deletions
|
|
@ -1,8 +1,50 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
pkgs.mkShell {
|
||||
let
|
||||
# MCP wrapper script that ensures Python is available for GUI apps
|
||||
mcpNixosWrapper = pkgs.writeShellScriptBin "mcp-nixos-wrapper" ''
|
||||
export PATH="${pkgs.python3}/bin:${pkgs.uv}/bin:$PATH"
|
||||
exec ${pkgs.uv}/bin/uvx mcp-nixos "$@"
|
||||
'';
|
||||
|
||||
# Generate MCP configs for GUI applications
|
||||
mcpConfigForGUI = pkgs.writeText "mcp_settings.json" (builtins.toJSON {
|
||||
mcpServers = {
|
||||
nixos = {
|
||||
type = "stdio";
|
||||
command = "${mcpNixosWrapper}/bin/mcp-nixos-wrapper";
|
||||
args = [ ];
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
# Script to install MCP configs for Claude Code and Codex
|
||||
installMcpConfigs = pkgs.writeShellScriptBin "install-mcp-configs" ''
|
||||
set -e
|
||||
echo "Installing MCP configurations..."
|
||||
|
||||
mkdir -p "$HOME/.config/claude-code"
|
||||
mkdir -p "$HOME/.config/codex"
|
||||
|
||||
cp ${mcpConfigForGUI} "$HOME/.config/claude-code/mcp_settings.json"
|
||||
cp ${mcpConfigForGUI} "$HOME/.config/codex/mcp_settings.json"
|
||||
|
||||
echo "✓ Installed MCP config to ~/.config/claude-code/mcp_settings.json"
|
||||
echo "✓ Installed MCP config to ~/.config/codex/mcp_settings.json"
|
||||
echo ""
|
||||
echo "Restart Claude Code and Codex to apply changes."
|
||||
'';
|
||||
|
||||
in pkgs.mkShell {
|
||||
name = "default";
|
||||
packages = with pkgs; [ git nixfmt-classic uv ];
|
||||
packages = with pkgs; [
|
||||
git
|
||||
nixfmt-classic
|
||||
uv
|
||||
python3
|
||||
mcpNixosWrapper
|
||||
installMcpConfigs
|
||||
];
|
||||
shellHook = ''
|
||||
export DOTFILES_ROOT="$PWD"
|
||||
export XDG_CACHE_HOME="$DOTFILES_ROOT/.cache"
|
||||
|
|
@ -18,5 +60,8 @@ pkgs.mkShell {
|
|||
|
||||
echo "Loaded default shell for dotfiles development"
|
||||
echo "MCP helper alias ready: mcp-nixos"
|
||||
echo ""
|
||||
echo "To install MCP configs for Claude Code and Codex, run:"
|
||||
echo " install-mcp-configs"
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue