Setting Up a Mac OS like Desktop on Linux | Guide

Wali Waqar

--

Bored of the Default Look offered by most Linux Distributions? Want an elegant desktop, with the same user friendliness? Like the Desktop on Mac OS? Here’s a guide to recreate the same on Linux.

This Desktop was achieved on Arch Linux (I use Arch BTW 😉), but steps for other distributions are also provided.

This Post is a follow up to a previous one where I showed how you can set up GUI and Sound on WSL2 for everyday use, which you can check out here:-

Setting Up the Perfect WSL Environment for Routine Use (With GUI and Audio) | by Wali Waqar | Feb, 2021 | Medium

What we will be customizing

  • Window Decorations
  • The Dock
  • Icons
  • Gnome Shell (That Top Bar etc.)
  • A few more things (Mac OS like window animations etc.)
  • Some Bonus Guides (That do not resemble Mac OS, but look nice)

Prerequisites

A few things need to be installed first (run the commands without sudo if you want to install only for the current user), namely:

Install Gnome, if you haven’t already. Folks on Ubuntu have it by default. The Package goes by the name gnome. gnome-extra too if you want more apps on Arch Linux. Also install the gnome-tweak-tool and gnome-shell-extensions Packages.

Theming

Run the following commands after opening a terminal in a folder of your choice (where you want the files to be stored)

Installing Gnome Shell Extensions

Head over to Gnome Shell Extensions and install the browser extension required (you need to install an extension to install an extension 😉)

Here is a list of extensions that you need to be turning on / installing

A Few Tweaks

Open Gnome Tweaks (The app is named just Tweaks) and do the following

  • Under Windows set Center New Windows to On
  • Under Window Titlebars > Titlebar Buttons set Placement to Left
  • Under Appearance > Themes set Applications to WhiteSur-Light (or dark if you want to)
  • Under Appearance > Themes set Shell to WhiteSur-Light (or dark if you want to)
  • Under Appearance > Themes set Icons to WhiteSur
  • Under Appearance > Themes set Cursors to WhiteSur Cursors

Open Extensions and change the x and y offset in the settings for Panel OSD so that the notifications appear in the top right corner (I set them both to 97). You can test your changes with the test notification option.

Download and Set this Wallpaper

And You’re Done! (This Post Continues Though 😄)

Some Screenshots

Bonus: App Drawers

These are some Rofi Themes I use. Rofi is described on its GitHub Page as

A window switcher, Application launcher and dmenu replacement

Screenshot 1

Open a terminal somewhere (preferably in the Downloads folder) and run the following commands

Open ~/.config/rofi/launchers/misc/launcher.sh in a text editor and set the default theme to blurry_full.rasi . Open ~/.config/rofi/launchers-git/blurry_full.rasi in a text editor and set icon-theme to WhiteSur-light

Create a new file in ~/.local/bin/ (you might need to create the directory first, in this case the given command will return an error) by running the command: touch ~/.local/bin/app-drawer. Open it in an editor and write the following: ~/.config/rofi/launchers/misc/launcher.sh. Mark it as an executable with chmod +x ~/.local/bin/app-drawer. Running app-drawer in the terminal will now open the drawer shown in the first Screenshot.

Screenshot 2

Create a file named colors.rasi with the following command: touch ~/.config/rofi/colors.rasi. Open it in an editor and paste the following code in it:

* {
foreground: rgba(196, 203, 212, 100%);
selected-foreground: rgba(255, 255, 255, 100%);

background: #1f243aa0;
background-solid: #1f243aff;
selected-background: rgba(0, 0, 0, 40%);
/*#87b5d7;*/
/*#6eacda;*/
/*#deca72;*/
/*#39c9fe;*/
red: rgba ( 220, 50, 47, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
}

Create a file named clean.rasi with the following command: touch ~/.config/rofi/clean.rasi. Open it in an editor and paste the following code in it:

configuration {
modi: "window,run,drun";
theme: "clean";
show-icons: true;
font: "Hack 11";
icon-theme: "WhiteSur-light";
}
@import "colors.rasi"#window {
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.1);
padding: 130px 200px;
}
#mainbox {
border: 0;
border-radius: 15;
padding: 20;
background-color: @background;
}
#textbox {
text-color: @foreground;
}
#listview {
padding: 20px;
columns: 5;
spacing: 4px;
cycle: false;
dynamic: true;
layout: vertical;
background-color: transparent;
}
element {
margin: 11px;
padding: 14px;
border-radius: 5px;
orientation: vertical;
}
element-icon {
size: 80px;
margin: 0 10px 0 0;
}
element-text {
horizontal-align: 0.5;
vertical-align: 0.5;
}
#element.normal.normal {
background-color: transparent;
text-color: @foreground;
}
#element.selected.normal {
background-color: @selected-background;
text-color: @selected-foreground;
border-color: #d07ef2;
}
#element.alternate.normal {
background-color: transparent;
text-color: @foreground;
}
#mode-switcher {
border: 0px 0px 0px ;
border-color: @separatorcolor;
}
#button {
spacing: 0;
text-color: @foreground;
}
#button.selected {
background-color: @selected-background;
text-color: @selected-foreground;
}
#inputbar {
spacing: 0;
text-color: @selected-foreground;
padding: 10px;
background-color: @selected-background;
/*rgba(0,0,0,0.5);*/
border-radius: 10px;
}
#case-indicator {
spacing: 0;
text-color: @selected-foreground;
background-color: rgba(0,0,0,0);
}
#entry {
spacing: 0;
text-color: @selected-foreground;
background-color: rgba(0,0,0,0);
}
#prompt {
spacing: 0;
text-color: @selected-foreground;
background-color: rgba(0,0,0,0);
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @selected-foreground;
background-color: rgba(0,0,0,0);
}
#inputbar {
children: [prompt,textbox-prompt-colon,entry,case-indicator];
}

Create a new file in ~/.local/bin/ (you might need to create the directory first, in this case the given command will return an error) by running the command: touch ~/.local/bin/app-launcher. Open it in an editor and write the following: rofi -no-lazy-grab -show drun -theme $XDG_CONFIG_HOME/rofi/clean.rasi. Mark it as an executable with chmod +x ~/.local/bin/app-launcher. Running app-launcher in the terminal will now open the drawer shown in the second Screenshot.

Footnotes

  • The Second App Drawer was taken from these dotfiles.
  • You can set keyboard shortcuts for the app drawers in settings
  • If you find any problems in the guide or face any issues while installing leave a response and I’ll try to sort it out.
  • This post will be followed up with a setup guide for a RICE (Customized Linux Desktop for non-Arch users 🙂) original to myself (not inspired by others), so stay tuned.

Adios 😁.

--

--