Hacker News new | ask | show | jobs
by rvanlaar 1925 days ago
My main reason to go for a laptop was that I wanted to continue coding where I left off and not have to worry about differing settings and system configuration.

Did you solve those problems? and if so how?

3 comments

I do all my development in VSCode, and symlink my settings to a git repo. VSCode really let's you customize a lot of stuff, and if you lean into it as your development environment, you get awesome cross platform support.

That same git repo has scripts that apply some of my system configurations, and a readme to walk me through the GUI stuff I have to do.

My first few setups were hard. I had to debug some weird issues on my Linux install. (Not sleeping properly, remapping some keyboard keys).

But now I've got it cased. I setup 3 machines (2 Linux, 1 windows) over the past couple days and all are essentially equal development experience now. Was super fast to setup l. If your going the Linux route, make a repo where you record all the tweaks your making so you can redo them if you need to on a new machine.

It's shitty the first time, but now I know I can buy any new machine and have it ready to rip in mere minutes. With my custom keyboard layout (home, end, pageup, pagedown, alt, cntrl, alt+tab), my custom VSCode hotkeys, my ssh key identity management, my terminal font and themes, my system hotkeys (moving windows around and switching workspaces). Now that I've got all this setup, it feels great. Feels very fluid on all 3 machines.

3 machines Syncthing setup between desktop, laptop and a cloud instance in case laptop wasn't on to sync and the desktop is off for some reason. It takes about 15s from connecting the laptop to the internet to having the files synced to it. Just need to remember to save files in emacs.

Setting up Syncthing in the cloud was a challenge, had to tunnel the web-ui with ssh port forwarding.

I do it with Windows by using remote desktop.

If you don't want to do something like that, with a Microsoft account a lot of settings can be applied to multiple machines.

I use Linux for application development. Python, C++, occasional R and use linux containers as well.