Configuring PureOS for a macOS user

NOTE: This entry wasn’t ever fully completed, but I had a request to publish it and wanted to get it out there. I have since switched back to macOS as the subtle differences were hurting my productivity much more than I expected. However, I am hopeful this information is useful to someone… NAB

I’ve now been running PureOS on my MacBook Pro for about two months. I’d like to share how I went about getting my configuration setup to be as quickly productive as possible by matching what I was used to in macOS.

First things first: let’s get the Mac setup so you no longer need to have the USB drive with you for booting:

  1. Open the Disks application.
  2. Make sure you are on your Apple disk, then mount the EFI partition.
  3. Copy the BOOT folder from the Grub file package I created to the EFI folder within the EFI disk you now have mounted.
  4. Restart without your external disk connected, and you should come right back into PureOS. To boot into macOS, simply hold down the option key on your keyboard on boot and choose it from the list.

For general OS config:

  • Modify the keyboard shortcuts in Settings/Device/Keyboard:
Setting nameKeyboard Shortcut
Hide all normal windowsCtrl+D
Switch applicationsCtrl+Tab
Switch windows directlyDisabled
Switch window of an app directlyCtrl+`
Switch windows of an applicationDisabled
Copy a screenshot of a window to clipboardAlt+Super+Space
Copy a screenshot of an area to clipboardAlt+Super+4
Copy a screenshot to clipboardAlt+Super+3
Save a screenshot of a window to PicturesShift+Ctrl+Space
Save a screenshot of an area to PicturesShift+Ctrl+$
Save a screenshot to PicturesShift+Ctrl+#
Focus the active notificationDisabled
Lock screenDisabled
Log outShift+Ctrl+Q
Open the application menuDisabled
Restore the keyboard shortcutsDisabled
Show all applicationShift+Ctrl+A
Show the activities overviewLaunchA
Show the notification listDisabled
Show the overviewCtrl+Space
Show the run command promptDisabled
Switch to next input sourceDisabled
Switch to previous input sourceDisabled
Decrease text sizeCtrl+-
Turn zoom on or offShift+Ctrl+*
Zoom inShift+Ctrl++
Zoom outShift+Ctrl+_
Close windowDisabled
Hide windowCtrl+H
Maximize windowShift+Ctrl+M
Move windowDisabled
Resize windowDisabled
Restore windowDisabled
Toggle maximization stateDisabled
View split on leftCtrl+Alt+Super+Left
View split on rightCtrl+Alt+Super+Right
  • Change the way ls works with an alias: alias ls='LC_COLLATE=C ls --color=auto'
  • Disable the left super bringing up “Activities” (acting sort of like a windows key): gsettings set org.gnome.mutter overlay-key ''
  • Disable auto brightness in Settings/Power
  • Add Super key for typing accented and other special chars: Tweaks app: Keyboard & Mouse: Compose Key, click on Disabled and set as desired: I used Right Super so the right command key + shift + tilde then type the letter n gives you ñ
  • Have close, min, max on the left: Tweaks app: Window Titlebars: Titlebar Buttons: Placement: Left

PureBrowser config:

Thunderbird config:

General Observations

  • Not having the application menus (File, Edit, etc.) at the top forces more space to be taken up within applications. Would be nice to get that normalized for Wayland.
  • Touchpad: The default touchpad settings are incredibly difficult to get precise movements. I haven’t had time yet to really dig into changing these settings and seeing how close to my macOS config I can get with it.
  • kworker: randomly takes over an entire CPU, usually after waking from sleep. Found no solutions to this problem whatsoever, even restarting kept this thing cranking at 100% of one of my CPUs. A full shut down and power back on would finally make it stop.
  • At some point, PureOS decided to change Grub management, and I could no longer boot with the configuration I had stored in the EFI partition. I always got some terribly ugly grub menu at startup with a 10-second delay, regardless of the settings I would change.
  • Essentially, you are in a constant state of Beta testing, which I just don’t have the energy for.
  • Searching within calendar/events requires opening the Events & Tasks search bar, which is huge. Ctrl+F does not work.

My dev environment configuration

  • WebStorm install
    • bring over .idea/ folders from projects
    • export the settings from the File menu so you can import them into pureos –> actually, don’t do this! everything is now mapped to Meta instead of Ctrl
    • sudo chown nabeards:nabeards /usr/bin/WebStorm/ or you can’t update WebStorm
  • git: git config --global core.editor "vi"
  • nodejs packages
  • yarn install
  • postgresql install, proper user config to add a password to postres user in db, https://stackoverflow.com/questions/7695962/postgresql-password-authentication-failed-for-user-postgres
  • Tilix
    • keyboard shortcuts: ctrl+{ and ctrl+} for moving between sessions
    • capture the settings I have since I changed other things that I don’t remember
  • Install g++, cmake
  • Install Filezilla, convert my ssh key to a PPK key (make sure you use the file extension!!)

Other settings

This article was updated on 2022-08-17

I'm nabeards. I'm a full stack JavaScript developer. I travel full time, a.k.a., Professional Wanderer, a.k.a., Digital Nomad.