Skip to content

braheezy/prettybox-catppuccin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

prettybox-catppuccin

This project provides a provisioned VM to show off various Catppuccin ports. See the Demos below.

Packer is used to create the images and Ansible does most of the provisioning. Vagrant boxes are produced at the end to make using the VMs easy. To use the VMs, you'll need a hypervisor. This projects aims to support VirtualBox and QEMU with Libvirt.

Basically, each port/tool/app is installed and the Catppuccin theme is applied to it per the theme's instructions. If I use the port in my daily life, the configuration might be opinionated.

The following apps/ports are installed:

  • Alacritty
    • Default Flavor: Macchiato
    • Change in alacritty.yml
  • Cursors
    • Default Flavor: Macchiato-Mauve
    • Change in Settings
  • Firefox
    • Default Flavor: Mocha
    • Use Firefox extension marketplace to change
  • Fonts
    • Default: System font
    • Change ansible/roles/fonts/defaults/main.yml to pick different fonts
    • Supported fonts: inter
  • GNOME
    • Install and enable the GNOME desktop
  • Gnome-terminal
    • No choice in flavor
  • GTK
    • Default flavor: Purple
    • Change by installing RPM and update in Settings
  • Kitty
    • Default flavor: Macchiato
    • Change in kitty.conf
  • Nvim
    • Default flavor: Macchiato
    • Managed by vim-plug and set in init.vm
  • Spotify (handled by Spicetify)
    • No choice in flavor
  • VS Code
    • No choice in flavor
  • Wallpapers
    • Default: evening-sky.png
    • Change in Settings

Usage

For your distro, install the following:

  • VirtualBox or QEMU/Libvirt support
  • Vagrant

Next, clone this project or download the Vagrantfile.

Finally, use vagrant to run the machine for the hypervisor you have installed:

vagrant up --provider virtualbox

Or

vagrant up --provider libvirt

Demos

Here are quick peeks into how some of the ports look. To be honest, some things don't look as good as they might on a host machine and I believe it's either 1) a virtualization penalty in the graphics rendering or 2) Wayland...but then some apps look worse on X11 so you can't seem to win.

Alacritty

White border because of Wayland.

alacritty-demo

Cursors

Moving around the window to show off different cursor looks.

cursors-demo

Firefox

Default Firefox with theme. Side bar really shows it off.

firefox-demo

Gnome Terminal

gnome-terminal-demo

GTK

Showing different UI components in system menu

gtk-demo

Kitty

kitty-demo

Neovim

neovim-demo

VS Code

Different files in the Catppuccin repo.

vs-code-demo

Wallpapers

Changing wallpapers in the system menu.

wallpapers-demo

Build

For your distro, install the following:

  • Packer
  • VirtualBox or QEMU/Libvirt support
  • Vagrant
  • To upload to Vagrant Cloud, a VAGRANT_CLOUD_TOKEN is needed. Create an account on Vagrant Cloud to get one.

Once everything is installed and you can run VMs, use make to start the build:

export VAGRANT_CLOUD_TOKEN=<your access token>  # Optional
make qemu   # Create the VirtualBox machine
make vbox   # Create the QEMU/Libvirt machine
make all    # Create all the machines

Known Issues

  • VirtualBox
    • I think it's a bug with Fedora but the session in VirtualBox will often freeze and "reset", especially when moving windows around quickly. The behavior seems a bit better if X11 is used instead of Wayland, which can be set at the greeter when logging in.

Why?

I like automating things and I like Catppuccin. I was already using several ports and had automated the setup of them so I figured I should start throwing them all in single machine.

Port/theme maintainers might like this project as a test platform.

Port/theme users might like this project to test drive ports before installing.

Future Work

In order to run more ports, there needs to be support for different types of machines:

  • More OSes:
    • Debian
    • Windows
    • ???
  • More desktops:
    • KDE
    • XFCE
    • ???