1
0
mirror of https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles.git synced 2025-09-15 09:45:58 +03:00

Compare commits

..

4 Commits

Author SHA1 Message Date
xnm
4556f66ab2 feat(ai): 🤖 Add MCP servers for shadcn, docker, n8n, coolify, and appwrite
Add new Model Context Protocol server configurations:
- **shadcn**: shadcn/ui MCP server using npx
- **docker**: Docker MCP server with custom Python path
- **n8n**: n8n workflow automation server with API configuration
- **coolify**: Coolify deployment platform MCP server
- **appwrite**: Appwrite backend server with full resource access

Each server includes appropriate environment variables for API keys and
endpoint configuration, following existing MCP server patterns in the
configuration file.
2025-08-24 21:06:53 +03:00
xnm
c4f4b80836 feat(config): 🎉 Add crush.json configuration file
Add initial configuration for Crush CLI tool with LSP and MCP server
support:

**LSP Servers:**
- TypeScript/JavaScript (typescript-language-server)
- Rust (rust-analyzer)
- Nix (nil)

**MCP Servers:**
- Context7 search
- Playwright testing
- SearXNG search
- Git operations
- Time utilities
- Sequential thinking
- NixOS tools
- Kubernetes
- Filesystem access

Configuration includes proper schema reference and environment setup for
local
SearXNG instance.
2025-08-24 03:26:43 +03:00
xnm
9eb89bb59f chore(config): 🚀 add npm global packages to PATH and configure npmrc
Add npm global packages bin directory to fish shell PATH for easier
access to globally installed packages.

Create `.npmrc` configuration file with:
- `strict-ssl=true` for secure connections
- Custom prefix set to `${HOME}/.npm-packages` for global installations

This ensures globally installed npm packages are accessible from the
command line and configures npm to use a user-specific directory for
global packages.
2025-08-24 03:22:10 +03:00
xnm
82aebc8cff feat(night-mode): 🌙 Switch from wlsunset to hyprsunset and add temperature control
- Replace wlsunset with hyprsunset for better Hyprland integration
- Add temperature adjustment functions with scroll support in Waybar
- Implement persistent temperature storage in `~/.cache/hyprsunset_temp`
- Add temperature bounds (2000K-6500K) with 100K increment/decrement
steps
- Update NixOS configuration to include hyprsunset package

Fixes temperature persistence and improves Hyprland compatibility
2025-08-24 03:06:11 +03:00
10 changed files with 231 additions and 6 deletions

View File

@@ -0,0 +1,158 @@
{
"$schema": "https://charm.land/crush.json",
"lsp": {
"typescript": {
"command": "typescript-language-server",
"args": [
"--stdio"
]
},
"javascript": {
"command": "typescript-language-server",
"args": [
"--stdio"
]
},
"rust": {
"command": "rust-analyzer"
},
"nix": {
"command": "nil"
}
},
"mcp": {
"context7": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@upstash/context7-mcp"
]
},
"playwright": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@playwright/mcp"
]
},
"shadcn": {
"type": "stdio",
"command": "npx",
"args": [
"@heilgar/shadcn-ui-mcp-server"
]
},
"searxng": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "http://127.0.0.1:7777"
}
},
"git": {
"type": "stdio",
"command": "uvx",
"args": [
"--python",
"/run/current-system/sw/bin/python",
"mcp-server-git"
]
},
"docker": {
"type": "stdio",
"command": "uvx",
"args": [
"--python",
"/run/current-system/sw/bin/python",
"docker-mcp"
]
},
"time": {
"type": "stdio",
"command": "uvx",
"args": [
"--python",
"/run/current-system/sw/bin/python",
"mcp-server-time"
]
},
"sequential-thinking": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
},
"nixos": {
"type": "stdio",
"command": "uvx",
"args": [
"--python",
"/run/current-system/sw/bin/python",
"mcp-nixos"
]
},
"k8s": {
"type": "stdio",
"command": "npx",
"args": [
"@strowk/mcp-k8s"
]
},
"filesystem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/home/xnm"
]
},
"n8n": {
"type": "stdio",
"command": "npx",
"args": [
"n8n-mcp"
],
"env": {
"MCP_MODE": "stdio",
"LOG_LEVEL": "error",
"DISABLE_CONSOLE_OUTPUT": "true",
"N8N_API_URL": "localhost:5678",
"N8N_API_KEY": "your-api-key"
}
},
"coolify": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@masonator/coolify-mcp"
],
"env": {
"COOLIFY_ACCESS_TOKEN": "0|your-secret-token",
"COOLIFY_BASE_URL": "localhost:8000"
}
},
"appwrite": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-appwrite",
"--all"
],
"env": {
"APPWRITE_PROJECT_ID": "your-project-id",
"APPWRITE_API_KEY": "your-api-key",
"APPWRITE_ENDPOINT": "localhost:8088/v1"
}
}
}
}

View File

@@ -39,6 +39,7 @@ set -gx VOLUME_STEP 5
set -gx BRIGHTNESS_STEP 5 set -gx BRIGHTNESS_STEP 5
set -gx PATH $HOME/.cargo/bin $PATH set -gx PATH $HOME/.cargo/bin $PATH
set -gx PATH $HOME/.npm-packages/bin $PATH
set fish_vi_force_cursor set fish_vi_force_cursor
set fish_cursor_default block set fish_cursor_default block

View File

@@ -1,5 +1,5 @@
function check_night_mode function check_night_mode
set target_process wlsunset set target_process hyprsunset
if pgrep $target_process >/dev/null if pgrep $target_process >/dev/null
echo "{ \"text\":\"󱩌\", \"tooltip\": \"night-mode <span color='#a6da95'>on</span>\", \"class\": \"on\" }" echo "{ \"text\":\"󱩌\", \"tooltip\": \"night-mode <span color='#a6da95'>on</span>\", \"class\": \"on\" }"

View File

@@ -0,0 +1,27 @@
function night_mode_temp_down
set target_process hyprsunset
set temp_file ~/.cache/hyprsunset_temp
set decrement 100
if not pgrep $target_process >/dev/null
return
end
if test -f $temp_file
set current_temp (cat $temp_file)
else
set current_temp 4000
end
set new_temp (math $current_temp - $decrement)
if test $new_temp -lt 2000
set new_temp 2000
end
echo $new_temp >$temp_file
killall -s SIGINT $target_process
sleep 0.5
$target_process -t $new_temp
end

View File

@@ -0,0 +1,27 @@
function night_mode_temp_up
set target_process hyprsunset
set temp_file ~/.cache/hyprsunset_temp
set increment 100
if not pgrep $target_process >/dev/null
return
end
if test -f $temp_file
set current_temp (cat $temp_file)
else
set current_temp 4000
end
set new_temp (math $current_temp + $increment)
if test $new_temp -gt 6500
set new_temp 6500
end
echo $new_temp >$temp_file
killall -s SIGINT $target_process
sleep 0.5
$target_process -t $new_temp
end

View File

@@ -1,9 +1,16 @@
function night_mode_toggle function night_mode_toggle
set target_process wlsunset set target_process hyprsunset
set temp_file ~/.cache/hyprsunset_temp
if pgrep $target_process >/dev/null if pgrep $target_process >/dev/null
killall -s SIGINT wlsunset killall -s SIGINT $target_process
else else
wlsunset if test -f $temp_file
set temp (cat $temp_file)
else
set temp 4000
echo $temp >$temp_file
end
$target_process -t $temp
end end
end end

View File

@@ -223,7 +223,10 @@
"custom/night_mode": { "custom/night_mode": {
"return-type": "json", "return-type": "json",
"interval": 1, "restart-interval": 1,
"on-scroll-down": "fish -c night_mode_temp_up",
"on-scroll-up": "fish -c night_mode_temp_down",
"smooth-scrolling-threshold": 2.0,
"exec": "fish -c check_night_mode", "exec": "fish -c check_night_mode",
"on-click": "fish -c night_mode_toggle", "on-click": "fish -c night_mode_toggle",
}, },

2
home/.npmrc Normal file
View File

@@ -0,0 +1,2 @@
strict-ssl=true
prefix = ${HOME}/.npm-packages

View File

@@ -19,6 +19,7 @@
hyprlock hyprlock
hypridle hypridle
hyprpaper hyprpaper
hyprsunset
hyprpolkitagent hyprpolkitagent
inputs.wezterm.packages.${pkgs.system}.default inputs.wezterm.packages.${pkgs.system}.default

View File

@@ -4,7 +4,6 @@
programs.light.enable = true; programs.light.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wlsunset
brightnessctl brightnessctl
]; ];
} }