Commit graph

1358 commits

Author SHA1 Message Date
Yan Lin
451a6be466 Add blocktraj project 2025-07-31 17:33:54 +02:00
Yan Lin
f2107200bd Update claude memory 2025-07-31 16:18:30 +02:00
Yan Lin
17c2e66c69 Add academic-programs projects 2025-07-31 15:13:55 +02:00
Yan Lin
db24bdbb4f Minor adjust of remote panels 2025-07-31 14:56:57 +02:00
Yan Lin
88ac848257 Update system config 2025-07-31 14:19:00 +02:00
Yan Lin
8cb239963a Configure nvim to use system clipboard by default
- Add clipboard = "unnamedplus" to make all yank operations use system clipboard
- Remove redundant <leader>y keymapping since y now copies to clipboard by default
- Preserve full access to vim's register system (named registers still work independently)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 14:17:38 +02:00
Yan Lin
ebfb6f3bf2 Fix BibTeX template type field to use correct syntax
- Remove unnecessary double brace escaping from type field
- Use @{doc[type]} directly as papis handles it correctly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:50:14 +02:00
Yan Lin
77fff99614 Add dynamic type field to BibTeX template
- Use @{{doc[type]}} to dynamically set BibTeX entry type
- Add back booktitle field for conference papers
- Properly escape braces using double braces for literal output

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:45:06 +02:00
Yan Lin
59111b4ccf Fix BibTeX template format to avoid parsing errors
- Change template to use @article type with proper escaping
- Use triple braces {{{ }}} to properly escape BibTeX field values
- Remove problematic dynamic type field {doc[type]}
- Add back doi and url fields that were accidentally removed

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:41:27 +02:00
Yan Lin
7a4727eeac Fix pabib alias to use custom BibTeX template
- Change pabib alias to use 'papis list --template' instead of 'papis export'
- This ensures the custom BibTeX template is actually used for output

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:37:12 +02:00
Yan Lin
168ead6c1f Add pabib alias and BibTeX template to papis configuration
- Add pabib alias for quick BibTeX export using 'papis export --format bibtex'
- Add BibTeX template file to customize BibTeX output format

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:35:00 +02:00
Yan Lin
716d8578dc Add tmux window movement keybindings and update documentation
- Add Ctrl-Shift-Left/Right keybindings to quickly move windows
- Update README with comprehensive tmux keybindings documentation
  - Organize keybindings into categories: Pane, Window, Session & Config
  - Document all existing and new keybindings
  - Add descriptions for better clarity

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 01:08:11 +02:00
Yan Lin
ee38e45748 Minor change of tmux activity color 2025-07-31 00:46:27 +02:00
Yan Lin
c9abc7871c Fix gap color between session name and window tags
- Explicitly set gap background to main status bar color (#282828)
- Prevents gap from inheriting session section's background color
- Now properly matches the main status bar background

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:53:27 +02:00
Yan Lin
83f79484b9 Add gap between tmux session name and window tags
- Adds space after session name to match window tag spacing
- Creates consistent visual separation in status bar
- Improves overall status bar readability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:51:33 +02:00
Yan Lin
22f1abcdb5 Merge branch 'nightly' 2025-07-30 23:49:20 +02:00
Yan Lin
b096984394 Update tmux indicator colors for better visibility
- Change prefix indicator from purple to bright red (#fb4934)
- Change copy mode position indicator from purple to bright yellow (#fabd2f)
- Both colors match existing gruvbox theme palette
- Improves visibility and consistency with nvim WIN indicator

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:47:41 +02:00
Yan Lin
536bc9bf54 Merge branch 'nightly' 2025-07-30 23:36:15 +02:00
Yan Lin
0acbb7fca2 Simplify activity monitoring by disabling it in lazygit project templates
Replace complex tmux hooks with targeted solution:
- Disable activity monitoring in basic.sh for git window (lazygit)
- Disable activity monitoring in research.sh for both code-git and paper-git windows
- Remove unreliable program detection hooks from tmux config
- Keep manual toggle (Ctrl+a A) for user control

This approach is simpler, more reliable, and directly addresses the root
cause of noisy activity notifications from project templates.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:32:01 +02:00
Yan Lin
27047d2ece Merge branch 'nightly' 2025-07-30 23:26:45 +02:00
Yan Lin
e1beff433e Add monitor toggle 2025-07-30 23:26:36 +02:00
Yan Lin
8a5e66848e Add smart activity monitoring to silence noisy programs
Automatically disable activity monitoring for constantly-updating programs:
- lazygit: Git TUI with frequent display updates
- btop: System monitor with continuous refreshing
- htop: Process monitor
- watch: Repetitive command execution
- tail: Log file following

Features:
- Auto-detection via tmux hooks (after-new-window, window-pane-changed, pane-exited)
- Re-enables monitoring when switching to normal programs
- Manual toggle with Ctrl+a A
- Eliminates false activity notifications while preserving useful ones

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:25:06 +02:00
Yan Lin
682d89e047 Add smart activity monitoring to silence noisy programs
Automatically disable activity monitoring for constantly-updating programs:
- lazygit: Git TUI with frequent display updates
- btop: System monitor with continuous refreshing
- htop: Process monitor
- watch: Repetitive command execution
- tail: Log file following

Features:
- Auto-detection via tmux hooks (after-new-window, window-pane-changed, pane-exited)
- Re-enables monitoring when switching to normal programs
- Manual toggle with Ctrl+a A
- Eliminates false activity notifications while preserving useful ones

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:24:56 +02:00
Yan Lin
701df4d95a Add copy mode indicator styling with bright purple theme
- Add mode-style with bright purple background (#d3869b) matching prefix indicator
- Style search matches with yellow and current match with red
- Add [COPY] indicator to status bar when in copy mode
- Provides consistent visual feedback across tmux modes

Copy mode now shows:
- Bright purple position indicator in pane
- [COPY] text in status bar alongside time
- Themed search highlighting for better visibility

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:15:27 +02:00
Yan Lin
41070ab41b Use brighter gruvbox purple for better prefix visibility
Change prefix indicator from muted purple (#b16286) to bright purple
(#d3869b) for much more noticeable visual feedback when prefix key
is pressed. Maintains gruvbox color harmony while providing clear
distinction from all other tmux theme elements.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:11:40 +02:00
Yan Lin
282e957913 Use gruvbox purple for prefix indicator to improve visibility
Change prefix session name background from yellow (#fabd2f) to purple
(#b16286) to avoid confusion with active window color. Purple provides
better visual distinction and is not used elsewhere in the tmux theme.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:09:56 +02:00
Yan Lin
a2088ce19f Replace text-based prefix indicator with session name color change
- Remove asymmetric <Prefix> text indicator from status-right
- Change session name background color when prefix is active:
  - Normal: gray background (#a89984)
  - Prefix active: yellow background (#fabd2f)
- Simplify time display to consistent ' %H:%M ' format
- Provides cleaner, more elegant visual prefix indication

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:07:42 +02:00
Yan Lin
b701e4d326 Fix tmux status bar time display symmetry
Add leading space before time format to ensure symmetric display.
Now shows [ 23:02 ] when prefix is inactive and <Prefix>[ 23:02 ]
when prefix is active, both properly centered in the status bar.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:04:36 +02:00
Yan Lin
4dffd92c1d Add time display to tmux status bar
Add %H:%M time format to the right side of the tmux status bar alongside
the existing prefix indicator. Increased status-right-length to 30 to
accommodate the time display.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 23:01:07 +02:00
Yan Lin
76a8fdeff8 Remove explicit btop package 2025-07-30 22:48:08 +02:00
Yan Lin
6a999b947d Add btop module to home-manager imports
The btop configuration module was not being imported, causing the settings
to not be applied. Added ./modules/btop.nix to the imports list to enable
the custom btop configuration with gruvbox theme and vim-style navigation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 22:39:15 +02:00
Yan Lin
eae6150553 Add btop config 2025-07-30 22:34:32 +02:00
Yan Lin
1009028fa2 Update claude permission 2025-07-30 18:59:09 +02:00
Yan Lin
f12ae20f05 Add dictionary autocompletion to neovim without spell checking
- Add cmp-dictionary plugin to extraPlugins for English word completion
- Configure dictionary source in nvim-cmp with keyword_length = 2
- Set up dictionary paths pointing to /usr/share/dict/words
- Enable case-insensitive matching for better user experience
- Completion triggers after 2+ characters for performance optimization

This provides English word autocompletion without enabling vim's spell
checking features, keeping the interface clean without visual indicators.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:57:50 +02:00
Yan Lin
cce0a92f13 Minor revision of readme 2025-07-30 18:50:30 +02:00
Yan Lin
dd2eb54fdb Merge branch 'nightly' 2025-07-30 18:49:16 +02:00
Yan Lin
1d7e1124ea Comprehensive README update documenting all packages and configurations
- Add system/ directory documentation with macOS customizations section
- Document menu bar spacing configuration via nix-darwin activation scripts
- Add Fonts & Typography section documenting Nerd Fonts (Fira Code, JetBrains Mono)
- Expand Development Tools section with missing packages:
  - lftp: Advanced FTP/SFTP client with scripting capabilities
  - ncdu: NCurses disk usage analyzer
  - gnumake: Essential build automation tool
- Update Git section with git-credential-oauth for secure authentication
- Update Features list to mention system integration and typography
- Update Configuration Architecture diagram to include system/ directory

All packages from flake.nix are now comprehensively documented in README

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:48:35 +02:00
Yan Lin
7266100eaa Comprehensive README update documenting all packages and configurations
- Add system/ directory documentation with macOS customizations section
- Document menu bar spacing configuration via nix-darwin activation scripts
- Add Fonts & Typography section documenting Nerd Fonts (Fira Code, JetBrains Mono)
- Expand Development Tools section with missing packages:
  - lftp: Advanced FTP/SFTP client with scripting capabilities
  - ncdu: NCurses disk usage analyzer
  - gnumake: Essential build automation tool
- Update Git section with git-credential-oauth for secure authentication
- Update Features list to mention system integration and typography
- Update Configuration Architecture diagram to include system/ directory

All packages from flake.nix are now comprehensively documented in README

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:48:14 +02:00
Yan Lin
d63a0e1e78 Merge branch 'nightly' 2025-07-30 18:37:43 +02:00
Yan Lin
1b9cb26015 Fix nvim shortcuts for files with non-English characters
- Add Unicode-safe Lua functions for file operations
- Replace shell commands with proper escaping using vim.fn.shellescape()
- Update <leader>o and <leader>f keymaps to use new Lua functions
- Fixes issues with Chinese and other Unicode characters in filenames

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:36:36 +02:00
Yan Lin
0c23f34a6f Merge branch 'nightly' 2025-07-30 18:29:30 +02:00
Yan Lin
cc0b8450e0 Fix nix-darwin activation script for newer version compatibility
- Replace deprecated postUserActivation with extraActivation
- Use sudo -u yanlin to run defaults commands as user from root context
- Addresses nix-darwin architecture change where all activation runs as root
- Menu bar spacing configuration now compatible with nix-darwin 25.x

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:27:45 +02:00
Yan Lin
d661a80fa9 Fix macOS menu bar spacing configuration to use activation scripts
- Replace CustomUserPreferences with system.activationScripts.postUserActivation
- Use defaults -currentHost write commands that actually work
- Corrected values: NSStatusItemSpacing=12, NSStatusItemSelectionPadding=6
- Commands will run during darwin-rebuild to apply host-specific preferences

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 18:24:20 +02:00
Yan Lin
052a8d74e6 Add macOS menu bar spacing configuration
- Create system/ directory for system-level nix-darwin configurations
- Add system/macos-defaults.nix with NSStatusItemSpacing and NSStatusItemSelectionPadding settings
- Configure optimal spacing (6) and padding (12) values for menu bar items
- Use CustomUserPreferences to support options not yet in nix-darwin main
- Set system.primaryUser to support user-specific preferences

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 14:00:40 +02:00
Yan Lin
d2dfa7771c Add trajmamba project 2025-07-30 12:03:32 +02:00
Yan Lin
b481ad12e0 Add imac ssh config 2025-07-30 09:58:20 +02:00
Yan Lin
6f8b598d81 Update CLAUDE.md and script templates
- Modified CLAUDE.md configuration
- Updated basic.sh template script
- Updated research.sh template script

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-30 09:54:09 +02:00
Yan Lin
112ca64e67 Update lock file 2025-07-30 01:32:52 +02:00
Yan Lin
bdc28447db Revise readme 2025-07-30 01:31:15 +02:00
Yan Lin
023396470d Revise readme 2025-07-30 01:22:00 +02:00