Laptop setup notes

2 minute read (596 words)

This is mostly for my benefit YMMV. Used for XPS13 and XPS15. Last run with Linux Mint Cinnamon 20.2 LTS.

Things to go from blank machine to fully functioning work laptop.

Why not use machine images?

Because when you want to upgrade your OS image you have to do this anyway.

But this will break!

Indeed, and it does, a continuous labour of love. Ideas welcome!

OS install

Hibernate / hybrid sleep (unfinished)

Not working at moment, needs more research.

  • Enable hibernate?
    • Bigger swap?

Half-arsed research into hibernate

Packaged software install

  • Bootstrap my dotmatrix package list my bootstrap file like this (don’t laugh/cringe):
curl https://raw.githubusercontent.com/timabell/dotmatrix/master/software/bootstrap.sh | sh

This installs my usual package list

Hardware

  • Disable nvidia GPU in favour of intel card
sudo prime-select intel

zsh

  • Switch to z-shell chsh -s /usr/bin/zsh

Ref: https://askubuntu.com/questions/131823/how-to-make-zsh-the-default-shell/131838#131838

inotify

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

File sync with syncthing

  • Run syncthing-gtk from system menu (auto-installs syncthing binary)
    • Configure syncthing not to route over internet (no relay, no public discovery, no NAT traversal)
  • Configure firewall-config to allow syncthing
    • Add manual service syncthing
    • Allow tcp 22000 and 21027 udp
    • Make home network use home zone
    • Add syncthing to home zone
    • Runtime to permanent

firewall config screenshot

  • Remove old install machine name from syncthing network
  • Tell new and old devices about each other in syncthing
  • watch ~/Documents etc. magically sync (amazing)

All the things from dotmatrix

cd repo/dotmatrix/
bin/symlinks.sh
bin/install
software/delta.sh
# etc
cd ~
ln -s ~/Documents/config/.gitconfig.local

Desktop/system config

  • Setup touchpad
    • Set mouse and trackpad speed/acceleration to max
    • Enable horizontal touchpad scroll

Screenshot of mint touchpad settings with customisations

  • Setup terminal colours and turn off transparency

Screenshot mint terminal colours set to solarized

  • Turn off all the system sounds and turn the volume down to 0%.
  • Customize time in task bar to ` πŸ“… %a %e %b %Y πŸ•“ %H:%M:%S `.
  • Lock screen with Win+L - start > keyboard > system > lock screen (Windows user habits).
  • Turn on automatic updates in update manager preferences, and automatic obsolete kernal removal.
  • Configure nemo file manager to always use list view.
  • Add workspace switcher applet to taskbar.

Firefox

  • Sign-in to sync

  • Remove firefox tabs (because I use Tree Style Tabs)

    • cd ~/.mozilla/firefox/<profile_id_folder>/
    • mkdir chrome
    • echo '#TabsToolbar { visibility: collapse !important; }' >> chrome/userChrome.css
    • about:config > toolkit.legacyUserProfileCustomizations.stylesheets > true
    • restart firefox

Reference: https://superuser.com/questions/1268732/how-to-hide-tab-bar-tabstrip-in-firefox-57-quantum#1268734

Startup list

  • Menu > Startup Applications
  • Adjust to current tastes
  • Add additional startup apps:
    • Syncthing GTK

Non-apt program installations

SSH

Postgres

Use a docker image

XPS firmware updates

fwupdmgr get-devices
fwupdmgr get-updates
fwupdmgr update

refs:

Shutter

  • Change default save location to ~/tmp/shutter (new folder)
  • change filename to shutter_%Y%-m-%d_%NN

Thunderbird

  • Restore recent backup (from data sync)

asdf

NodeJs setup

asdf plugin-add nodejs
bash ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
asdf install nodejs 8.16.1
node -v

Keyring because nodejs packages are signed and validated https://github.com/asdf-vm/asdf-nodejs#install

Ruby

asdf plugin add ruby
cd some-project
asdf install
gem install bundler

See also


Tweet This || Post to LinkedIn || Page Source

Subscribe for updates on software development, contracting, side projects, blog posts and who knows what else. Read the archives for an idea of content.

Mailing list powered by the excellent buttondown.email.