Curated development environment that I use on my machines. Follow these instructions if you'd like to set up something similar, otherwise simply explore the dotfiles for inspiration.
-
Install Git
xcode-select --install
-
Create a new ssh key
ssh-keygen
-
Login as root and install Git
ssh root@<remote.ip.address> pacman -Syu base-devel git --noconfirm
-
Edit the
/etc/sudoers
file to allow wheel users to usesudo
-
Create a user and close the connection
useradd -m -G wheel raj passwd raj exit
-
Copy an ssh key from the host machine
# Run this on host, not remote ssh-copy-id raj@<remote.ip.address>
-
SSH to the remote again as the new user
-
Configure Git
# Set up the git globals git config --global user.name "my name" git config --global user.email "[email protected]" git config --global core.excludesfile ~/.config/git/ignore
-
Install the Homebrew package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Temporarily export brew to the PATH export PATH=$PATH:<whatever the above gave as the bin path>
-
Clone this repository into the
.config
foldermv ~/.config ~/old-config git clone --recursive https://github.com/siliconwitch/dotfiles.git ~/.config
-
Install applications:
# MacOS only brew install \ affinity-photo \ arc \ blender \ cursor \ discord \ drawio \ dropbox \ figma \ font-roboto-mono-nerd-font \ gtkwave \ ical-buddy \ jq \ karabiner-elements \ kicad \ koekeishiya/formulae/yabai \ nordic-nrf-command-line-tools \ obs \ raspberry-pi-imager \ raycast \ saleae-logic \ segger-jlink \ steam \ the-unarchiver \ vlc \ vnc-viewer \ wezterm \ xmind \ zoom \ # MacOS & Linux brew install \ arm-none-eabi-gcc \ fish \ fzf \ gh \ go \ helix \ htop \ node \ openfpgaloader \ python \ tmux \
-
Set default terminal to fish
echo $(which fish) | sudo tee -a /etc/shells chsh -s $(which fish) # Remove bash and zsh related files if you like rm -r .bash* rm -r .zsh*
-
Install language servers for Helix
# HTML, CSS, JSON npm i -g vscode-langservers-extracted # JavaScript npm i -g typescript typescript-language-server brew install delve gopls # Go gopls dlv # Verilog brew install verilator icarus-verilog npm install -g @imc-trading/svlangserver # Lua brew install lua-language-server # Markdown brew install marksman
-
Symlink Cursor configuration
ln -sf $HOME/.config/cursor/settings.json ~/Library/Application\ Support/Cursor/User ln -sf $HOME/.config/cursor/keybindings.json ~/Library/Application\ Support/Cursor/User
-
Other manually installed appsı
-
Install dependencies for Verilog-HDL and GTKWave:
cargo install svls sudo perl -MCPAN -e 'install Switch'
Capslock
-Escape
if clicked, orCtrl
if heldFn-Space
- Opens a new terminalFn-Enter
- Opens a new Cursor windowFn-Escape
- Toggles tiling window manager off and onFn-b
- Balances titled windowsFn-r
- Rotates tiled windows clockwise
Ctrl-t
- Fuzzy change directoryCtrl-r
- Fuzzy search history
-
Ctrl-n
- New window -
Ctrl-a
H
- Navigate to previous window -
Ctrl-a
L
- Navigate to next window -
Ctrl-a
Ctrl-h
- Split window left -
Ctrl-a
Ctrl-j
- Split window down -
Ctrl-a
Ctrl-k
- Split window up -
Ctrl-a
Ctrl-l
- Split window right -
Ctrl-a
h
- Navigate one pane left -
Ctrl-a
j
- Navigate one pane down -
Ctrl-a
k
- Navigate one pane up -
Ctrl-a
l
- Navigate one panel right -
Ctrl-\
- Navigate to previous pane -
Ctrl-a
Ctrl-x
- Kill pane -
Ctrl-a
Shift-1
- Show US Pacific time -
Ctrl-a
Shift-2
- Show US Central time -
Ctrl-a
Shift-3
- Show US East Coast time -
Ctrl-a
Shift-8
- Show London time -
Ctrl-a
Shift-9
- Show Central European time -
Ctrl-a
Shift-0
- Show China time -
Ctrl-a
_
- Hide calendar -
Ctrl-a
+
- Show calendar and local time
TODO