nix/config/projects.nix
Yan Lin f7bfb04b38 Add session detection and running indicator to project launcher
- Add is_session_running() function to detect active tmux sessions
- Update project display to show green "• Running" indicator for active projects
- Fix session detection to use correct session names from project config
- Improve project listing with real-time status information
- Update projects.nix with shortened key names and descriptions

Features:
- Visual feedback for which projects are currently running
- Uses proper tmux session names from project configuration
- Clean green indicator that only appears for running sessions
- Maintains existing project launcher functionality and layout

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 16:58:28 +02:00

74 lines
2.1 KiB
Nix

{
projects = {
nix-config = {
template = "basic";
name = "nix";
codePath = "/Users/yanlin/.config/nix";
description = "Nix configuration";
};
homelab = {
template = "basic";
name = "homelab";
codePath = "/Users/yanlin/Documents/Projects/Homelab-deploy";
description = "Homelab Deployment";
};
note = {
template = "basic";
name = "note";
codePath = "/Users/yanlin/Obsidian/Personal";
description = "Obsidian notes";
};
blog = {
template = "content";
name = "blog";
codePath = "/Users/yanlin/Documents/Projects/personal-blog";
contentPath = "/Users/yanlin/Documents/Projects/personal-blog/content";
description = "Personal blog project";
};
homepage = {
template = "basic";
name = "homepage";
codePath = "/Users/yanlin/Documents/Projects/Homepage/";
description = "Personal Homepage";
};
mdshortcut = {
template = "research";
name = "MDShortcut";
codePath = "/Users/yanlin/Documents/Projects/Material Design Shortcut/MDShortcut-dev";
paperPath = "/Users/yanlin/Documents/Projects/Material Design Shortcut/MDShortcut-paper";
description = "Material design shortcut";
server = "aicloud";
remoteDir = "~/MDS";
};
daki3 = {
template = "basic";
name = "DAKI3";
codePath = "/Users/yanlin/Documents/Projects/AI systems & infrastructure/Codes";
description = "DAKI3 course Demo code";
};
ddm = {
template = "research";
name = "DiffDisMatter";
codePath = "/Users/yanlin/Documents/Projects/Inverse Design of Disordered Materials/DiffDisMatter-dev";
paperPath = "/Users/yanlin/Documents/Projects/Inverse Design of Disordered Materials/mc-denoising-paper";
description = "Inverse material design";
server = "aicloud";
remoteDir = "~/DiffDisMatter";
};
mllm-traj = {
template = "basic";
name = "MLLM-Traj";
codePath = "/Users/yanlin/Documents/Projects/Multimodal LLM for Trajectory Modeling/mllm-traj-paper";
description = "MLLM for Trajectory";
};
};
}