Commit graph

221 commits

Author SHA1 Message Date
2c286d65fb
refactor(viridian): simplify home-manager config and enable tmux status
Remove unused packages (weechat, nixvim) and enable tmux status bar for better session visibility on the server.
2025-10-08 10:21:16 +08:00
bc4321a3cc
refactor(desktop): remove discord import
Remove discord from desktop feature imports.
2025-10-05 16:45:25 +08:00
341d8ecf45
docs: add explanatory comments to global configurations
Add comprehensive inline documentation to both NixOS and Home Manager
global configuration files, explaining the purpose of each section,
overlay usage, unfree package policy, and configuration settings.
2025-10-05 16:40:48 +08:00
ee7141e74e
refactor(wezterm): remove unused pane rotation keybinds
Remove PageUp/PageDown pane rotation keybinds that don't align with wezterm workflow. The static pane layout approach (fixed splits + zoom toggle) doesn't benefit from rotation like dynamic window managers do.

Also update CLAUDE.md to clarify that Home Manager is a NixOS module, so just build/switch commands handle both system and user configurations together.
2025-10-05 10:53:54 +08:00
d6e648595a
refactor(zsh): use nixpkgs packages for zsh plugins
Replace manual GitHub fetchFromGitHub with packaged versions of zsh plugins and consolidate plugin loading through the plugins list instead of manual sourcing.
2025-10-04 10:25:53 +08:00
9971d2d2a5
feat(wezterm): add Alt+Delete to focus master pane
Implements spatial "master pane" focusing that mirrors XMonad's master
window concept. Alt+Delete now focuses the largest pane in the current
tab, completing the unified Delete key semantic across all tools:

- Gui+Delete (XMonad): Focus master window (largest in layout)
- Alt+Delete (WezTerm): Focus master pane (largest, ties to lowest index)
- Delete (Neovim): Center cursor view

The implementation is spatially-aware rather than content-aware,
maintaining the navigation layer's positional abstraction. When panes
are equal-sized, the lowest-indexed pane is chosen for predictability.
2025-10-03 23:53:20 +08:00
3fe607d310
refactor(wezterm): organize keybindings with key table namespaces
Implemented key tables to create clean, organized namespaces for tab and
pane management. This refactoring improves keybinding discoverability and
reduces cognitive load by grouping related operations.

Key changes:
- LEADER + t enters tab mode (n/q/r for new/quit/rename)
- LEADER + p enters pane mode (s/v/q/m for split/vsplit/quit/maximize)
- LEADER + Escape enters copy mode (vim-like pseudo-normal mode)
- CTRL + SHIFT + v for paste (standard terminal convention)
- Removed smart-splits plugin in favor of simpler native navigation
- Navigation keys remain at top level for quick access
2025-10-03 16:33:17 +08:00
f7de9e3c05
feat(wezterm): unify navigation with XMonad keybindings
Add sequential pane navigation and rotation to match XMonad's window
management pattern. This creates consistent muscle memory across both
the window manager and terminal multiplexer.

Changes:
- Add Alt+PageUp/PageDown for sequential pane focus (mirrors XMonad's window cycling)
- Add Alt+Ctrl+PageUp/PageDown for pane rotation (mirrors XMonad's rotAll)
- Change Leader+Tab to Leader+t for new tab (free up 't' was for zoom, now 'm')
- Change zoom from Leader+t to Leader+m (matches XMonad's maximize mnemonic)

Keybinding philosophy:
- Base keys (Alt+PageUp/Down) = navigation/viewing
- Ctrl modifier = structural control (resize/rotate)
- Consistent with XMonad: Mod+PageUp/Down (focus), Mod+Ctrl+PageUp/Down (rotate)
2025-10-03 00:15:05 +08:00
83f23c3fd1
feat(wezterm): enhance tab management and simplify pane controls
Replace dynamic pane management with explicit keybindings for better
discoverability. Add dmenu-based tab renaming and direct tab navigation
by index for improved workflow efficiency.
2025-10-02 11:33:42 +08:00
591346600f
refactor: centralize unfree package allowlists
Move all allowUnfreePredicate declarations to global configs to prevent
the "last definition wins" merging issue. Unfree packages are now managed
in two central locations:
- NixOS system packages: nixos/common/global/default.nix
- Home Manager packages: home-manager/sajenim/global/default.nix
2025-10-01 10:23:20 +08:00
34b4705d46
feat: add Discord with BetterDiscord support 2025-10-01 10:13:46 +08:00
b4261d8a11
docs: clarify editor configuration comments
Add descriptive comments explaining overlay usage and package section purpose
2025-09-30 16:10:37 +08:00
696112f7cf
enlarge wezterm, this is the ideal size as we get 2x neovim panes at 100char + 5 char buffer 2025-09-29 20:23:58 +08:00
5b4944696e
enhance wezterm: add intelligent development layout with Claude integration
- Create 3-pane layout automatically: editor (main), terminal (bottom 30%), Claude sidebar (left 25%)
- Implement smart focus management between editor and terminal panes
- Add zoom toggling for distraction-free editing sessions
- Launch Claude Code automatically in dedicated sidebar pane
2025-09-29 13:12:12 +08:00
24636c5081
unify splits with neovim 2025-09-29 11:05:21 +08:00
2a63eb381c
add Claude Code integration
- Add CLAUDE.md with comprehensive repository documentation
- Configure claude-code package in editors feature
- Add MCP nixos integration for better Nix ecosystem support
- Include Claude settings with co-authored-by disabled
- Update unfree predicate for proprietary AI tools
2025-09-29 09:13:00 +08:00
3f40905886
remove host 2025-09-26 18:04:02 +08:00
bce8012209
chore: add all 2025-09-01 01:48:47 +08:00
9ee804dba4
install btop 2025-07-23 08:07:00 +08:00
6e62a8d51e
upgrade to ultimate 2025-07-08 19:47:30 +08:00
7ca4c911a6
extend leader timeout 2025-06-27 10:51:22 +08:00
8639824198
close tab 2025-06-27 10:51:07 +08:00
0a2b98e59f
split pane toggle 2025-06-27 10:42:52 +08:00
d3ec5c57c6
improve graphical performance 2025-06-26 19:30:03 +08:00
e99cf1e064
install openjdk 17 2025-06-23 23:17:05 +08:00
6eb130ba86
update intellij 2025-06-22 21:37:20 +08:00
1229a930a7
update intellij 2025-06-22 13:15:54 +08:00
a34b7e30e2
update new tab key 2025-06-19 20:03:08 +08:00
b2a0ade8b0
update prefix key for wezterm 2025-06-19 11:38:28 +08:00
da20c3ec82
java is gay 2025-06-19 09:52:21 +08:00
1782deb3c9
rotate monitor, bump xmonad 2025-06-19 09:48:43 +08:00
ed9a836d2d
refactor 2025-06-06 18:35:13 +08:00
531b178421
setup viridian with some programs 2025-06-06 18:34:15 +08:00
c5509145e5
install some extra tools 2025-05-30 15:49:10 +08:00
0789a2eb71
fix wallpaper location 2025-05-30 15:48:02 +08:00
827c0e930b
chore: update to 25.05 2025-05-30 15:47:34 +08:00
44feea9968
update mod key 2025-05-19 11:27:23 +08:00
784e434072
update wezterm configuration 2025-05-19 10:37:38 +08:00
8437dbc212
patch dmenu, no shadow 2025-05-18 21:50:15 +08:00
4091fd9db7
remove weechat, we now access it remotely on our server 2025-05-17 20:43:55 +08:00
fc61369b89
install qmk 2025-05-12 09:58:53 +08:00
0535f68752
fix unused imports, install dmenu 2025-05-12 09:58:09 +08:00
9b2957484c
remove rofi 2025-05-12 09:56:32 +08:00
bc0ebb27a8
remove dunst 2025-05-12 09:56:08 +08:00
a642aa57ff
feat: install pdf viewer 2025-05-06 22:47:42 +08:00
ae8a79a193
refactor 2025-05-05 16:45:42 +08:00
82231ab120
move direnv to nvim, install devenv 2025-05-04 20:53:55 +08:00
e73e614016
chore: refactor 2025-05-01 19:13:56 +08:00
2579ddfd54
vertical monitor 2025-04-30 13:14:01 +08:00
c38f58067a
opt in unfree 2025-04-30 12:18:32 +08:00