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 name Keyboard Shortcut
Hide all normal windows Ctrl+D
Switch applications Ctrl+Tab
Switch windows directly Disabled
Switch window of an app directly Ctrl+` |
Switch windows of an application Disabled
Copy a screenshot of a window to clipboard Alt+Super+Space
Copy a screenshot of an area to clipboard Alt+Super+4
Copy a screenshot to clipboard Alt+Super+3
Save a screenshot of a window to Pictures Shift+Ctrl+Space
Save a screenshot of an area to Pictures Shift+Ctrl+$
Save a screenshot to Pictures Shift+Ctrl+#
Focus the active notification Disabled
Lock screen Disabled
Log out Shift+Ctrl+Q
Open the application menu Disabled
Restore the keyboard shortcuts Disabled
Show all application Shift+Ctrl+A
Show the activities overview LaunchA
Show the notification list Disabled
Show the overview Ctrl+Space
Show the run command prompt Disabled
Switch to next input source Disabled
Switch to previous input source Disabled
Decrease text size Ctrl+-
Turn zoom on or off Shift+Ctrl+*
Zoom in Shift+Ctrl++
Zoom out Shift+Ctrl+_
Close window Disabled
Hide window Ctrl+H
Maximize window Shift+Ctrl+M
Move window Disabled
Resize window Disabled
Restore window Disabled
Toggle maximization state Disabled
View split on left Ctrl+Alt+Super+Left
View split on right Ctrl+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