Skip to content

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  _   _                            _  _    ____   
 | \ | | _ __ ___   _   _ __  __  | || |  |___ \  
 |  \| || '_ ` _ \ | | | |\ \/ /  | || |_   __) | 
 | |\  || | | | | || |_| | >  <   |__   _| / __/  
 |_| \_||_| |_| |_| \__,_|/_/\_\     |_|  |_____| 

Version Platform Platform Platform License

A professional, high-performance development environment for 42 School, Arch Linux, and macOS. One-command setup for Nmux42, an isolated Neovim + Tmux environment.


🚀 Quick Start

git clone https://github.com/Rouboufy/Nmux42.git
cd Nmux42
bash setup.sh

Make sure ~/.local/bin is in your PATH. Then run:

nmux
Action Command
Install bash setup.sh
Run nmux
Run Neovim directly nmux --no-tmux
Update bash update.sh or press u on the Neovim dashboard
Uninstall bash uninstall.sh

✨ Smart Features

Nmux42 installs as an isolated standalone app that won't modify your existing Neovim or shell configurations.

  • Arch Linux native — detects Arch and uses pacman with sudo for high-performance native binaries
  • 100% Sudo-free — bypasses root requirements for Homebrew and NPM installs, works on 42 clusters
  • SSL proxy fix — automatically applies strict-ssl false for the 42 network proxy
  • Node auto-upgrade — upgrades Node.js to LTS via nvm if the system version is too old
  • Auto PATH management — handles ~/.local/bin, ~/.cargo/bin, and Homebrew paths automatically
  • Cleanup routine — removes temp files and build caches (NPM/Brew) after install to save disk space

📦 What's Included

Core Applications

Tool Description
Neovim Custom plugin manager, Neo-tree explorer, interactive dashboard, Japonette TUI, live theme selector, LSP support
Tmux Ctrl-a prefix, pane navigation shortcuts, automatic color sync with the active Neovim colorscheme
Zsh / Bash Completely untouched. The isolated app runs via the nmux command without modifying your shell rc files.
JetBrainsMono Nerd Font Auto-installed to ~/.local/share/fonts/ (no sudo) — required for icons

Compilers & Runtimes

Always installed: gcc · clang · python3 · go · ripgrep · fd-find · pyright

Optional (prompted during setup): zig · node.js · typescript · javascript · japonette


⌨️ Keybindings

Leader key is Space.

General

Shortcut Action
<leader>e Toggle file explorer (Neo-tree)
<leader>ff Find files (Telescope)
<leader>fg Live grep (Telescope)
<leader>a Add file to Harpoon
Ctrl+e Toggle Harpoon menu
<leader>th Select colorscheme — live preview + Tmux sync
<leader>db Return to welcome dashboard
<leader>ft Toggle floating terminal (Flterm)
<leader>hk Custom keybinds quick-help popup
<leader>hp Plugin manager / list popup
<leader>vb / <leader>? Vim bindings reference

Git

Shortcut Action
<leader>gg Open Git TUI (LazyGit with smart fallback)
<leader>gl Open Git log
<leader>gd Open Git diff
<leader>gf LazyGit file log / filter
<leader>gc LazyGit current file history
<leader>gs Stage hunk under cursor
<leader>gr Reset hunk under cursor
<leader>gS Stage entire buffer
<leader>gu Undo last staged hunk
<leader>gp Preview hunk inline
<leader>gb Toggle inline git blame
]h / [h Jump to next / previous hunk
ih Text object: select hunk (operator/visual mode)

Japonette TUI

Key Action
<leader>Ja Open Japonette — Active Campus tab
<leader>Jf Open Japonette — Friends Watchlist tab
<leader>Jm Open Japonette — Cluster Map tab
Tab Toggle between tabs
1 / 2 / 3 Switch to Campus / Friends / Cluster tab directly
r Reload from 42 Intra API
a / d Add / remove friend from watchlist
Enter / o Inspect user details in popup
m View user location on Cluster Map
L Search for a specific user's location
c Set default campus slug
C Show a specific cluster map by name
q / Esc Close Japonette window

Tmux

Shortcut Action
Ctrl+a Prefix key (replaces default Ctrl+b)
Ctrl+a | Split pane vertically
Ctrl+a - Split pane horizontally
Alt+h/j/k/l Navigate panes — no prefix needed

🎨 Themes

Press <Space>th to open the live theme selector. Selecting a theme automatically updates Tmux colors to match.

Catppuccin · TokyoNight · Cyberdream · Rose Pine · Gruvbox · Nord · Kanagawa · Nightfox · Matte Black · Aether


🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for instructions on how to get started.


🗑️ Uninstall

Uninstall Nmux42 and clean up all configuration, data, cache, and state files:

bash uninstall.sh

During a full uninstall, the script prompts before removing NVM or Homebrew.


🛠️ Post-Installation

  1. Ensure ~/.local/bin is in your PATH.
  2. Launch the environment by running:
    nmux
  3. Neovim will automatically download all plugins on first launch.
  4. Set your terminal emulator font to JetBrainsMono Nerd Font (or JetBrainsMono NF). Already installed at ~/.local/share/fonts/.
  5. Run :Mason inside Neovim to manage additional LSPs and formatters.

About

Nvim, Tmux for 42 students

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages