> ## Content Index
> Fetch the complete content index at: https://itsfoss.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Here's How You Can Customize Linux Desktop for Halloween [Dot Files Included]
- URL: https://itsfoss.com/hyprland-halloween-customization/
- Published: 2025-10-30T07:49:18.000Z
- Updated: 2025-10-30T07:49:18.000Z
- Description: Forget pumpkin carving. This year, I carved out a haunted Hyprland setup straight from the underworld of Arch Linux 👻
- Author: Abhishek Prakash
- Tags: Hyprland, Customization ⚙️

Halloween is here. Some people carve pumpkins, I crafted a special set up for my Arch Linux 🎃

0:00 

/0:30 

1× 

In this tutorial, I'll share with you all the steps I took to give a Halloween-inspired dark, spooky makeover with Hyprland. Since it is Hyprland, you can relatively easily replicate the setup by getting the [dot files from our GitHub repository](https://github.com/itsfoss/text-script-files/tree/master/config/halloween-hyprland?ref=itsfoss.com).

🚧

This specific setup was done with Hyprland window compositor on top of Arch Linux. If you are not [using Hyprland](https://itsfoss.com/hyprland/) and still want to try it, I advise [installing Arch Linux in a virtual machine](https://itsfoss.com/install-arch-linux-virtualbox/). 

If videos are your thing, you can watch all the steps in action in [this video on our YouTube channel](https://www.youtube.com/watch?v=TOTZedtb%5Fd8&ref=itsfoss.com).

[Subscribe to It's FOSS YouTube Channel](https://www.youtube.com/@itsfoss?ref=itsfoss.com)

## Step 1: Install Hyprland and necessary packages

First, install all the essential Hyprland packages to get the system up and running:

```
sudo pacman -S hyprland xdg-desktop-portal-hyprland hyprpolkitagent kitty

```

The above will install Hyprland and necessary packages. Now, install other utility packages.

```
sudo pacman -S hyprpaper hyprpicker hyprlock waybar wofi dunst fastfetch bat eza starship nautilus

```

What do these packages do? Well, here are some info:

- `hyprpaper`: [Hyprland Wallpaper](https://itsfoss.com/hyprpaper-hyprland/) utility
- `hyprpicker`: Color picker
- `hyprlock`: Lock screen utility
- `waybar`: [Waybar](https://itsfoss.com/configure-waybar/) is a Wayland panel
- `wofi`: Rofi launcher alternative, but for Wayland. Rofi can be used. In fact, we have some preset config for Rofi in our GitHub repository. But Wofi was selected for this video.
- `dunst`: Notification daemon.
- `fastfetch`: [fastfetch](https://itsfoss.com/fine-control-fastfetch/) is a system information display utility.
- `bat`: [Modern alternative](https://itsfoss.com/legacy-linux-commands-alternatives/) for `cat` command.
- `eza`: Modern `ls` command alternative
- `starship`: [Starship](https://itsfoss.com/starship/) is a prompt customization tool.
- `nautilus`: Nautilus is the file manager from GNOME.

## Step 2: Install and enable display manager

You need a [display manager](https://itsfoss.com/display-manager/) to login to the system. We use SDDM display manager. GDM also works fine with Hyprland.

```
sudo pacman -S sddm

```

Once SDDM package is installed, enable the display manager on boot time.

```
sudo systemctl enable sddm.service

```

![Enable SDDM at boot time](https://itsfoss.com/content/images/2025/10/enable-sddm.png)

Enable SDDM

  
Now, reboot the system. When login prompt appears, login to the system.

![Login to Hyprland](https://itsfoss.com/content/images/2025/10/login-to-hyprland.png)

Login to Hyprland

## Step 3: Install other utility packages

Once [essential Hyprland packages](https://itsfoss.com/configuring-hyprland/) are installed and you are logged in, open a terminal in Hyprland using `Super + Q`. Now install Firefox browser using:

```
sudo pacman -S firefox

```

It's time to install theme packages. Hyprland is not a desktop environment in the sense of what GNOME or KDE is. Yet you may still use some apps developed for GNOME (GTK apps) or Qt apps.

To theme, you need to install theme managers for respective system:

- `nwg-look`: To apply theme to GTK apps.
- `qt5ct`: To apply theme to Qt5 apps.

Install these packages using the command:

```
sudo pacman -S qt5ct nwg-look

```

🚧

If you are using a minimal installation of Arch Linux, you may need to install an editor like `nano` to edit file in terminal.

## Step 4: Change the monitor settings

In most cases, Hyprland should recognize the monitor and load accordingly. But in case you are running it in a VM, it will not set the display size properly.

Even though we give full configuration at a later stage, if you want to fix the monitor, use the command:

```
monitor=<Monitor-name>,1920x1080,auto,auto

```

![Initial monitor settings](https://itsfoss.com/content/images/2025/10/monitor-settings-initial.png)

Monitor settings

It is important to get the name of the monitor. Use this command:

```
hyprctl monitors

```

Remember the name of your monitor.

![Get monitor name in Hyprland.](https://itsfoss.com/content/images/2025/10/hyprctl-monitors.png)

Get monitor name

## Step 5: Download our custom Hyprland dot files

Go to It's FOSS GitHub page and download the `text-script-files` repository.

![Download the text-script-files repository from GitHub.](https://itsfoss.com/content/images/2025/10/download-the-zip-files.png)

Download config files

[Download Config Files](https://github.com/itsfoss/text-script-files?ref=itsfoss.com)

You can also clone the repo, if you want using the command:

```
git clone https://github.com/itsfoss/text-script-files.git

```

But the above needs [git installed](https://itsfoss.com/install-git-ubuntu/).

If you have downloaded the zip file, extract the archive file. **Inside that, you will find a directory `config/halloween-hyprland`. This is what we need in this article**.

## Step 6: Copy wallpaper to directory

Copy the images in the `wallpapers` folder to a directory called `~/Pictures/Wallpapers`. Create it if it does not exist, of course.

```
mkdir -p ~/Pictures/Wallpapers

```

![A screenshot showing wallpaper copying procedure in a terminal.](https://itsfoss.com/content/images/2025/10/copy-wallpapers-to-folder.png)

Copy wallpapers

## Step 7: Download GTK theme, icons and fonts

Download the **Everforest GTK theme dark borderless macOS buttons**.

![Download the Everforest BL MB (dark borderless macOS button) theme archive file.](https://itsfoss.com/content/images/2025/10/download-gtk-theme.png)

Download GTK theme

[Download Everforest GTK Theme](https://www.gnome-look.org/p/1695467?ref=itsfoss.com)

Download Dominus Funeral icon theme dark style.

![Download Dominus Funeral icon theme.](https://itsfoss.com/content/images/2025/10/download-icon-theme.png)

Download Icon theme

[Download Dominus Funeral Icon theme](https://www.gnome-look.org/p/1273980?ref=itsfoss.com)

Download the "Creepster" font from Google Fonts website.

[Download Creepster font](https://fonts.google.com/specimen/Creepster?query=creepster&ref=itsfoss.com)

Next, create `~/.themes`, `~/.icons`, and `~/.fonts` respectively:

```
mkdir -p ~/.themes ~/.icons ~/.fonts

```

And we need to paste theme, icon, and font files in their respective locations:

- Extract the "Creepster" font file and place it at `~/.fonts`.
- Extract the theme file and paste it at `~/.themes`.
- Extract the icon file and paste it at `~/.icons`

![Themes, icons, and, fonts in required locations.](https://itsfoss.com/content/images/2025/10/paste-theme-icon-and-fonts.png)

Paste thems, icons, and fonts

## Step 8: Install other nerd fonts

Install Nerd fonts like:

- Firacode Mono Nerd Font and Caskaydia Nerd font: [Download from Nerd Fonts website](https://www.nerdfonts.com/font-downloads?ref=itsfoss.com).
- [Font awesome free desktop fonts](https://fontawesome.com/download?ref=itsfoss.com)
- [JetBrains Mono](https://fonts.google.com/specimen/JetBrains+Mono?ref=itsfoss.com)

If you are in Arch Linux, open a terminal and run the command:

```
sudo pacman -S ttf-firacode-nerd ttf-cascadia-code-nerd ttf-cascadia-mono-nerd woff2-font-awesome ttf-jetbrains-mono

```

## Step 9: Verify Waybar and Hyprland config

Open the `config.jsonc` file on the downloaded directory and replace any occurrence of `Virtual-1` with your monitor name.

For GNOME Box VM, it is **Virtual-1**. On my main system, I have two monitors connected. So, the names for my monitors are HDMI-A-1 and HDMI-A-2\. Note the name of the monitors as we saw in Step 4:

```
hyprctl monitors
```

Now in the Waybar config, change the monitor name from **Virtual-1** to the name of your monitor. Change all such occurrences.

📋

You can use any editor's find and replace feature. Find complete word `Virtual-1` and replace it with your monitor name. If you are using nano, follow this [guide to learn search and replace in nano editor](https://itsfoss.com/nano-search-replace/).

Also, **take a look at the panel item**. If you see any item that is not needed in the panel, you can remove it from the `[modules-<position>]` part.

👉 Similarly, open the hyprland config in the downloaded directory. Change all reference to `Virtual-1` to your monitor name. Similarly, replace monitor name in the **hyprlock** and **hyprpaper** config files.

## Step 10: Copy and paste config files

Copy the following directories (in the downloaded GitHub files) and paste it to the `~/.config` folder.

- `waybar`: Waybar panel configs and styles.
- `wofi`: Application launcher config
- `dunst`: Customized dunst notification system.
- `starship.toml`: Customized starship prompt.

If you are using a GUI file manager, copy all file/folders except `hypr`, `wallpaper`, and `README`.

![Copy all config file except some items.](https://itsfoss.com/content/images/2025/10/copy-config-to-location.png)

Copy except hypr and wallpaper

## Step 11: Replace Hyprland config

We did not copy `hypr` folder, because there is already a folder called `hypr` in every Hyprland system, which contains the minimal config.

I don't want to make it vanish. Instead, keep it as a backup.

```
cp ~/.config/hypr/hyprland.conf ~/.config/hypr/hyprland.conf.bak

```

Now, exchange the content of the `hyprland.conf` in your system with the customized content. Luckily, the `mv` command has a convenient option called `-exchange`.

```
mv --exchange ~/.config/hypr/hyprland.conf /path/to/new/hyprland/config

```

🚧

What the above command does is swap the contents of your default hyprland config with the one we created.

![Backup and replace Hyprland config.](https://itsfoss.com/content/images/2025/10/backup-hypr-config-and-replace.png)

Backup and replace Hyprland config

## Step 12: Paste hyprlock and hyprpaper configs

Now, copy the `hyprlock.conf` and `hyprpaper.conf` file to `~/.config/hypr` directory.

![Copy Hyprlock and Hyprpaper config files.](https://itsfoss.com/content/images/2025/10/copy-hyprlock-and-hyprpaper.png)

Copy hyprlock and hyprpaper config files

## Step 13: Change themes

Open the NWG-Look app and set the GTK theme and font (Creepster font) for GTK apps:

![Change the GTK theme and font for GTK apps.](https://itsfoss.com/content/images/2025/10/set-theme-and-font.png)

Set GTK Theme and font

Now, change icon theme:

![Set the icon theme for GTK apps.](https://itsfoss.com/content/images/2025/10/set-icon-theme.png)

Set icon theme for GTK apps

This app automatically adds necessary file links in the `~/.config/gtk-4.0`. Thanks to this feature, you don't need to apply theme manually to the GTK4 apps.

Open the Qt5ct app and change the theme to darker.

![Apply the darker theme in Qt5ct app Appearance tab.](https://itsfoss.com/content/images/2025/10/apply-qt-darker-theme.webp)

Apply Qt Darker theme

Now, apply icon theme:

![Apply Qt apps icon theme in Qt5ct app.](https://itsfoss.com/content/images/2025/10/apply-qt-icon-theme.png)

Qt icon theme

And change the normal font to "Creepster":

![Change the Qt apps font to "Creepster" using the Qt5ct app.](https://itsfoss.com/content/images/2025/10/apply-qt-font-creepster.png)

Qt font style

## Step 14: Set Starship and aliases

First, paste some cool command aliases for the normal `ls` and `cat` command, using the modern alternatives `eza` and `bat` respectively. **This is optional, of course**.

Open `~/.bashrc` in any editor and paste these lines at the bottom of this file:

```
alias ls='eza -lG --color always --icons'
alias la='eza -alG --color always --icons'
alias cat='bat --color always --theme="Dracula"'

```

Now, to enable [Starship prompt](https://itsfoss.com/starship/), paste the starship `eval` line to the `~/.bashrc` and source the config.

![Edit bashrc file and add lines](https://itsfoss.com/content/images/2025/10/edit-bashrc-and-add-lines.webp)

Edit bashrc

```
eval "$(starship init bash)"

source ~/.bashrc

```

![Customized starship prompt.](https://itsfoss.com/content/images/2025/10/starship-prompt.png)

Customized starship prompt

Once all this is done, restart the system, and log back in to see the Halloween themed Hyprland.

Hyprland Halloween Makeover

Enjoy the spooky Hyprland set up. Happy Halloween 🎃