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/sudoersfile 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 "mymail@gmail.com" 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
.configfoldermv ~/.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-Escapeif clicked, orCtrlif 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-aH- Navigate to previous window -
Ctrl-aL- Navigate to next window -
Ctrl-aCtrl-h- Split window left -
Ctrl-aCtrl-j- Split window down -
Ctrl-aCtrl-k- Split window up -
Ctrl-aCtrl-l- Split window right -
Ctrl-ah- Navigate one pane left -
Ctrl-aj- Navigate one pane down -
Ctrl-ak- Navigate one pane up -
Ctrl-al- Navigate one panel right -
Ctrl-\- Navigate to previous pane -
Ctrl-aCtrl-x- Kill pane -
Ctrl-aShift-1- Show US Pacific time -
Ctrl-aShift-2- Show US Central time -
Ctrl-aShift-3- Show US East Coast time -
Ctrl-aShift-8- Show London time -
Ctrl-aShift-9- Show Central European time -
Ctrl-aShift-0- Show China time -
Ctrl-a_- Hide calendar -
Ctrl-a+- Show calendar and local time
TODO