Setting Up a Mac OS like Desktop on Linux | Guide
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:-
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)
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme
git clone https://github.com/vinceliuice/WhiteSur-icon-theme
git clone https://github.com/vinceliuice/WhiteSur-cursors
sudo ./WhiteSur-gtk-theme/install.sh
sudo ./WhiteSur-icon-theme/install.sh
sudo ./WhiteSur-gtk-theme/src/other/dash-to-dock/install.sh
sudo ./WhiteSur-cursors/install.sh
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
- User Themes (required for custom Gnome Shell Themes)
- Compiz Window Effect (That wobbly effect when you move a window in MacOS)
- Dash To Dock (Self Explanatory)
- Dynamic Panel Transparency (also Self Explanatory)
- Frippery Move Clock (Move that clock in the Panel)
- Panel OSD (control where notifications appear)
- Tray Icons (Self explanatory again 🙂)
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
git clone https://github.com/adi1090x/rofi
cd rofi
chmod +x setup.sh
./setup.sh
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 😁.