andreumassanet/impasto

Arch Linux + Hyprland desktop: a Quickshell shell with a dynamic island, desktop widgets, notes and tasks, and a one-script installer

QML

303

175 commits

updated Oct 7, 2026

See the code

See what people are saying

SourceMessageScoreDate

[Hyprland] impasto 0.5: synced lyrics, VMs from the bar, and a scrolling layout (r/unixporn)

Fifth round of my setup. New: synced lyrics on the desk, the island and the lock screen, virtual machines one click away, and a scrolling layout. All installed by one script. [https://github.com/andreumassanet/impasto](https://github.com/andreumassanet/impasto) Music: Snoop Dogg - Lodi Dodi

7

Oct 7, 2026

README

impasto — the island, become the mark, over a painting of Mount Fuji

A Hyprland shell whose colours come from a painting.
One black island that changes shape, a desk of widgets under the windows,
and every program around it repainted by whatever wallpaper is up.

check Arch Linux Hyprland Quickshell GPL-3.0

Documentation · The island · The bar · The launcher · The desktop · Installation · Keys

The desk: the island with a track playing, widgets down the right, a note deck on the left edge, a terminal with the lava lamp greeting, and the dock

The name is the technique the wallpapers are painted in: paint laid on thick enough to keep the mark of the brush. It is a shell first and a dotfiles repository second — home/.config/quickshell is most of the code, and the rest of home/ is the desk around it: the terminal, the prompt, two editors, two file managers, a browser, a chat client, the login screen. Change the wallpaper and all of it follows.

The island

The island at rest, opening a glance under the pointer, becoming the control centre, then the launcher doing a sum and listing the shell's places, then a notification arriving

The island is one object that changes shape. A black capsule in the middle of the bar rests on the time and turns into everything else: the glance under the pointer, the control centre, the launcher, the overview, a notification, a game — each the size of what is in it, with no title and no close button. What is running sits either side of the time — a countdown, the track, or whatever is using the microphone, the camera or the screen — and every module on the bar opens into the island rather than into a popup of its own. A notification arrives there with its buttons, and stays in the control centre's list.

Module details in the island: the player, the battery, Claude Code's usage, the processor and memory, the volume, the Wi-Fi list, the weather, the pet, the month with task dots, the tasks, a countdown and the GitHub wall

The bar

The same bar in its three styles: grouped round the island, spread to the two edges, and everything inside one capsule

Three styles, one layout. Pieces are dragged out of a catalogue onto a picture of the bar, then drawn grouped round the island, spread to the edges, or all inside one capsule. A module tells you something and opens its detail; a button opens something — any panel the control centre does, the capture surface, or Settings. Each shows its symbol or its ring, with its figure always, never or under the pointer — two settings for the whole bar, and any piece can have a look of its own. The sides sit in capsules or straight on the wallpaper, the workspace strip is dots, bars, rings or numbers written out, and a tray holds the icons applications put there.

On more than one screen, every screen gets the whole bar, and the island is live on the one you are typing on. Each screen keeps widgets and notes of its own and the dock is on all of them, a workspace number brings that workspace to the screen you are on, and the brightness keys dim that screen — an external monitor over DDC/CI.

The launcher and the dock

The launcher listing applications ranked by use, the clipboard history with an image drawn in its row, and the dock with the terminal's menu open over its windows

The first character says what the field is for. Plain text searches applications, = calculates, @ finds an open window, ! starts a countdown, ' is the clipboard history, : picks an emoji, and > is the shell itself — every panel and setting by name. Applications are ranked by what you actually launch.

The dock holds what you pinned, then whatever else is open, and the same pins come first in the launcher. Right-click an icon for its windows by name.

The desktop

The same desk split in three: Modern on the left, figures with captions; Analogue in the middle, a thermometer, a wall calendar, a battery cell, a knob, a parcel, a joystick; Sticker on the right, die-cut shapes in pastel colours for the weather, the pet, the date, a clock and the processor

Any module can live on the wallpaper, on a grid, in four shapes: a square, a card, a large square and a band. Right-click the wallpaper to arrange — a card holds every module, a corner is pulled for another shape, and a click opens that widget's own look — for a photo widget, the picture of your own it holds.

Three themes on the same modules: Modern is a figure with a caption, Analogue draws each one as an object, Sticker cuts it out as coloured stickers that sit on the wallpaper without filling their squares, and any of them is a choice per widget. A spectrum of whatever is playing sits on the grid as bare bars, or runs along a whole edge under the windows.

The wallpaper changing three times, and the bar, the widgets, the terminal and the system monitor repainting with each one

The palette comes out of the painting. Pick a wallpaper and its colours reach everything at once: the island and the widgets, the terminal and the prompt, btop, cava, yazi, neovim, VSCodium, the GTK, Qt and KDE windows, Thunar down to its folders, Vesktop, Zen and Spotify. Or pick one of nine palettes instead. The desk comes with forty paintings, in the style it is named after, and a video of your own in ~/.local/share/wallpapers/animated can be the wallpaper too: it plays under the windows and the palette comes from its first frame.

In the terminal, the prompt is laid out like the bar, and fa greets you with fastfetch beside an animated scene drawn in pixel art out of the palette.

Notes and tasks

The deck of pastel notes in handwriting, one note open with the island become yellow paper, the kanban board with three lanes, and a task open with its day and lane

A note is paper: a pastel square with a title and the body in handwriting. SUPER + S opens the deck; on the wallpaper a note sits on a square, or stacks with others along an edge as tabs that peek out under the pointer.

A board for what has to be done. SUPER + K is to do, doing, done, with cards dragged between the lanes, and a task's day shows as a dot under the month wherever a month is drawn.

Games and pets

Tetris and Whack-a-Mole played in the island, and the pets' page with Pip out and the rest of the family waiting

Eleven small games, played in the island — SUPER + G opens a shelf, and the island becomes the board. A family of five small creatures lives on the bar: one out at a time, earning levels from being fed and played with, each hatched from an egg and drawn in one of four styles. Nothing dies, and a week away costs nothing.

Lock and login

The lock screen resting on its clock over the blurred desk, the island growing round the padlock while it looks for a face, and the SDDM login screen over a blurred painting — the same island, clock and pill

The shell locks the session itself, over the blurred desk, and the login screen is the same lock with the desk taken away: an SDDM theme with the same island, the same clock and the same pill, over a blurred painting. Both rest on the clock alone. Any key brings in your account and the field, and is already the first letter of your password; Escape sends them away again. The clock is stacked or on one line, in Settings → Session → Lock screen, and the login screen always stacks it. The picture and the name are your account's, and Settings → Session changes them for both screens at once: drop an image on the card and it is made square and kept where the login screen reads it; type a name and it becomes the account's full name.

With an infrared camera, the lock opens for your face. Touch a key or the pointer and the island grows under the camera, a ring turns around its padlock while it looks, closes green, the padlock opens and the blur lifts off the desk. It is its own conversation beside the password, so a face it does not know never costs you a try, and the login screen still asks for the password after a boot. Settings → Session lists the faces it knows, adds another, removes one, and lets you try it without locking.

Settings

Two pages of the settings window: the bar arranged on a picture of it from a catalogue of modules and buttons, and the desktop's module settings with the pet drawn in its four styles

Settings is the one panel that is not the island — an ordinary window where each option is drawn as the thing it changes, and profiles keep whole desks under names: Moon castle, Fuji and Night bay come with it.

Installation

Arch Linux, and Hyprland 0.56 or newer (tested on 0.56.2), configured in Lua. Run it from a terminal, in the Hyprland session or on a console before there is one. The two plugins are built against the compositor that is running, so from a console the first session opens a terminal that builds them:

git clone https://github.com/andreumassanet/impasto.git ~/impasto
cd ~/impasto
./setup install

It installs the packages it is missing — upgrading the system in the same step, as Arch asks — oh-my-zsh, everything in home/ into your home and everything in system/ into /, the two Hyprland plugins and the vector cursor, and the login screen, switched on unless your machine already uses another display manager. It sets up Thunar, VSCodium, Vesktop and Spotify, dark GTK applications, and what opens which kind of file — leaving alone any your machine already has an answer for. Where there is an infrared camera it installs howdy-next and asks to enrol your face. It asks for your password through sudo for pacman, for the copy into /, and to let spicetify patch Spotify. A program that is open, or a Spotify you have never started, is skipped with the reason and set up by the next update. After that they follow the wallpaper on their own; Spotify from its next start.

Run ./setup with nothing after it and it asks instead: the verbs on one screen, and what an install may leave out on the next, which is the flags below with somewhere to press them.

Flag
--skip-packagesinstall nothing; copy and build only
--skip-systemleave / alone — no login screen, and no password for it
--skip-pluginsno shake to find, no glass
--skip-extrasleave Thunar, VSCodium, Vesktop, Spotify, GTK and face unlock alone
--aur-helper yay|paruwhich helper builds the AUR half — built from the AUR if you have neither
--noconfirmtake the default at every question
-n, --dry-runsay what would happen, and do none of it
./setup update       # git pull, then install again — the same flags
./setup uninstall    # remove what it installed, and put back what it moved aside
./setup help         # every verb and flag

update follows the branch you cloned: main moves only when a version is released, and work in progress lives on dev. The version installed is under Settings → System, with what the branch has waiting since it and a button that runs update in a terminal.

Nothing is linked: setup copies, and remembers what it wrote. A file of yours already in the way is moved to ~/.local/state/impasto/backups/ first; a file you edit afterwards is left alone, with the new version beside it as <name>.new, and one you delete stays deleted — the wallpapers you do not want, say. Settings → System lists both, each with a button to put impasto's version back. Editing the repository itself? ./setup sync copies it onto the desk, and ./setup sync --watch keeps doing it on every save.

Every package is listed in packages/pacman.txt and packages/aur.txt, grouped by what it is for; an optional one that is missing takes its own control away rather than failing.

Components
🪟CompositorHyprland
🖱️Shake to findhypr-dynamic-cursors
🫧Glass on the windowshyprglass
🐚Desktop shellQuickshell
🖼️Wallpaper daemonawww
🖥️Terminalkitty
⌨️Interactive shellzsh · oh-my-zsh
❯Promptstarship
🎨Greetingfastfetch
📊System monitorbtop
🎵Audio visualisercava
📁File manageryazi
🗂️File manager in a windowThunar
✏️Editorneovim
📝Editor in a windowVSCodium
🖼️Image viewerimv
🪄Annotatorsatty
💬ChatVesktop
🎧PlayerSpotify · spicetify
🌐BrowserZen
🔆Monitor brightnessddcutil
🔑Login screenSDDM
👤Face unlockhowdy-next

Keys

Every key belongs to a profile: Settings → Keys changes any of them, the compositor's included, and switching profile switches them all. A few worth knowing first:

  • SUPER Return a terminal, SUPER Space the launcher, SUPER Q closes the window
  • SUPER 1…0 a workspace, on the screen you are on, SUPER TAB all of them at once
  • SUPER ALT ← → the other screen, adding SHIFT takes the workspace with you
  • SUPER X the session menu, SUPER L locks
  • SUPER H every other key, on the island

Credits

These are worth your time whether or not you use this repository. No code was copied from any of them; what carried over from the shells are ideas — one file per island state, one transient signal for every ephemeral event, input debounced to one frame, and a capture that photographs the screen and draws the selection on the photograph.

  • saneAspect — the Hyprland setups on YouTube that started all this
  • Tide-island — the closest thing to a complete dynamic island for Hyprland
  • ChillPill-Shell — a dynamic pill bar built to stay light without a dedicated GPU
  • k4 — a dynamic island bar with a documented plugin API
  • HyprQuickshot and its fork HyprQuickFrame — a capture surface in Quickshell
  • diegoMalagrida/dotfiles — an Arch Linux desk ready to install on a fresh system

Built on Quickshell and Hyprland. The pointer is Bibata, repainted; the folders are Papirus, re-pointed; the type is Inter and JetBrains Mono. Six of the nine palettes are other people's work, carried as they are: Catppuccin Mocha and Latte, Tokyo Night, Gruvbox, Nord and Rosé Pine.

License

Copyright © 2026 Andreu Massanet — released under the GNU GPL-3.0.

You may use, study, change and share any of it. If you build on it and pass the result on, it stays under the GPL and its source stays available. Keep the header at the top of each file, which carries this repository's address, and a line of credit back here is the kind thing to do.

arch-linux
archlinux
dotfiles
dynamic-island
hyprland
hyprland-config
hyprland-dotfiles
hyprland-rice
linux-rice
qml
quickshell
rice
unixporn
wayland

andreumassanet/impasto

Arch Linux + Hyprland desktop: a Quickshell shell with a dynamic island, desktop widgets, notes and tasks, and a one-script installer

QML

303

175 commits

updated Oct 7, 2026

See the code

See what people are saying

SourceMessageScoreDate

[Hyprland] impasto 0.5: synced lyrics, VMs from the bar, and a scrolling layout (r/unixporn)

Fifth round of my setup. New: synced lyrics on the desk, the island and the lock screen, virtual machines one click away, and a scrolling layout. All installed by one script. [https://github.com/andreumassanet/impasto](https://github.com/andreumassanet/impasto) Music: Snoop Dogg - Lodi Dodi

7

Oct 7, 2026

README

impasto — the island, become the mark, over a painting of Mount Fuji

A Hyprland shell whose colours come from a painting.
One black island that changes shape, a desk of widgets under the windows,
and every program around it repainted by whatever wallpaper is up.

check Arch Linux Hyprland Quickshell GPL-3.0

Documentation · The island · The bar · The launcher · The desktop · Installation · Keys

The desk: the island with a track playing, widgets down the right, a note deck on the left edge, a terminal with the lava lamp greeting, and the dock

The name is the technique the wallpapers are painted in: paint laid on thick enough to keep the mark of the brush. It is a shell first and a dotfiles repository second — home/.config/quickshell is most of the code, and the rest of home/ is the desk around it: the terminal, the prompt, two editors, two file managers, a browser, a chat client, the login screen. Change the wallpaper and all of it follows.

The island

The island at rest, opening a glance under the pointer, becoming the control centre, then the launcher doing a sum and listing the shell's places, then a notification arriving

The island is one object that changes shape. A black capsule in the middle of the bar rests on the time and turns into everything else: the glance under the pointer, the control centre, the launcher, the overview, a notification, a game — each the size of what is in it, with no title and no close button. What is running sits either side of the time — a countdown, the track, or whatever is using the microphone, the camera or the screen — and every module on the bar opens into the island rather than into a popup of its own. A notification arrives there with its buttons, and stays in the control centre's list.

Module details in the island: the player, the battery, Claude Code's usage, the processor and memory, the volume, the Wi-Fi list, the weather, the pet, the month with task dots, the tasks, a countdown and the GitHub wall

The bar

The same bar in its three styles: grouped round the island, spread to the two edges, and everything inside one capsule

Three styles, one layout. Pieces are dragged out of a catalogue onto a picture of the bar, then drawn grouped round the island, spread to the edges, or all inside one capsule. A module tells you something and opens its detail; a button opens something — any panel the control centre does, the capture surface, or Settings. Each shows its symbol or its ring, with its figure always, never or under the pointer — two settings for the whole bar, and any piece can have a look of its own. The sides sit in capsules or straight on the wallpaper, the workspace strip is dots, bars, rings or numbers written out, and a tray holds the icons applications put there.

On more than one screen, every screen gets the whole bar, and the island is live on the one you are typing on. Each screen keeps widgets and notes of its own and the dock is on all of them, a workspace number brings that workspace to the screen you are on, and the brightness keys dim that screen — an external monitor over DDC/CI.

The launcher and the dock

The launcher listing applications ranked by use, the clipboard history with an image drawn in its row, and the dock with the terminal's menu open over its windows

The first character says what the field is for. Plain text searches applications, = calculates, @ finds an open window, ! starts a countdown, ' is the clipboard history, : picks an emoji, and > is the shell itself — every panel and setting by name. Applications are ranked by what you actually launch.

The dock holds what you pinned, then whatever else is open, and the same pins come first in the launcher. Right-click an icon for its windows by name.

The desktop

The same desk split in three: Modern on the left, figures with captions; Analogue in the middle, a thermometer, a wall calendar, a battery cell, a knob, a parcel, a joystick; Sticker on the right, die-cut shapes in pastel colours for the weather, the pet, the date, a clock and the processor

Any module can live on the wallpaper, on a grid, in four shapes: a square, a card, a large square and a band. Right-click the wallpaper to arrange — a card holds every module, a corner is pulled for another shape, and a click opens that widget's own look — for a photo widget, the picture of your own it holds.

Three themes on the same modules: Modern is a figure with a caption, Analogue draws each one as an object, Sticker cuts it out as coloured stickers that sit on the wallpaper without filling their squares, and any of them is a choice per widget. A spectrum of whatever is playing sits on the grid as bare bars, or runs along a whole edge under the windows.

The wallpaper changing three times, and the bar, the widgets, the terminal and the system monitor repainting with each one

The palette comes out of the painting. Pick a wallpaper and its colours reach everything at once: the island and the widgets, the terminal and the prompt, btop, cava, yazi, neovim, VSCodium, the GTK, Qt and KDE windows, Thunar down to its folders, Vesktop, Zen and Spotify. Or pick one of nine palettes instead. The desk comes with forty paintings, in the style it is named after, and a video of your own in ~/.local/share/wallpapers/animated can be the wallpaper too: it plays under the windows and the palette comes from its first frame.

In the terminal, the prompt is laid out like the bar, and fa greets you with fastfetch beside an animated scene drawn in pixel art out of the palette.

Notes and tasks

The deck of pastel notes in handwriting, one note open with the island become yellow paper, the kanban board with three lanes, and a task open with its day and lane

A note is paper: a pastel square with a title and the body in handwriting. SUPER + S opens the deck; on the wallpaper a note sits on a square, or stacks with others along an edge as tabs that peek out under the pointer.

A board for what has to be done. SUPER + K is to do, doing, done, with cards dragged between the lanes, and a task's day shows as a dot under the month wherever a month is drawn.

Games and pets

Tetris and Whack-a-Mole played in the island, and the pets' page with Pip out and the rest of the family waiting

Eleven small games, played in the island — SUPER + G opens a shelf, and the island becomes the board. A family of five small creatures lives on the bar: one out at a time, earning levels from being fed and played with, each hatched from an egg and drawn in one of four styles. Nothing dies, and a week away costs nothing.

Lock and login

The lock screen resting on its clock over the blurred desk, the island growing round the padlock while it looks for a face, and the SDDM login screen over a blurred painting — the same island, clock and pill

The shell locks the session itself, over the blurred desk, and the login screen is the same lock with the desk taken away: an SDDM theme with the same island, the same clock and the same pill, over a blurred painting. Both rest on the clock alone. Any key brings in your account and the field, and is already the first letter of your password; Escape sends them away again. The clock is stacked or on one line, in Settings → Session → Lock screen, and the login screen always stacks it. The picture and the name are your account's, and Settings → Session changes them for both screens at once: drop an image on the card and it is made square and kept where the login screen reads it; type a name and it becomes the account's full name.

With an infrared camera, the lock opens for your face. Touch a key or the pointer and the island grows under the camera, a ring turns around its padlock while it looks, closes green, the padlock opens and the blur lifts off the desk. It is its own conversation beside the password, so a face it does not know never costs you a try, and the login screen still asks for the password after a boot. Settings → Session lists the faces it knows, adds another, removes one, and lets you try it without locking.

Settings

Two pages of the settings window: the bar arranged on a picture of it from a catalogue of modules and buttons, and the desktop's module settings with the pet drawn in its four styles

Settings is the one panel that is not the island — an ordinary window where each option is drawn as the thing it changes, and profiles keep whole desks under names: Moon castle, Fuji and Night bay come with it.

Installation

Arch Linux, and Hyprland 0.56 or newer (tested on 0.56.2), configured in Lua. Run it from a terminal, in the Hyprland session or on a console before there is one. The two plugins are built against the compositor that is running, so from a console the first session opens a terminal that builds them:

git clone https://github.com/andreumassanet/impasto.git ~/impasto
cd ~/impasto
./setup install

It installs the packages it is missing — upgrading the system in the same step, as Arch asks — oh-my-zsh, everything in home/ into your home and everything in system/ into /, the two Hyprland plugins and the vector cursor, and the login screen, switched on unless your machine already uses another display manager. It sets up Thunar, VSCodium, Vesktop and Spotify, dark GTK applications, and what opens which kind of file — leaving alone any your machine already has an answer for. Where there is an infrared camera it installs howdy-next and asks to enrol your face. It asks for your password through sudo for pacman, for the copy into /, and to let spicetify patch Spotify. A program that is open, or a Spotify you have never started, is skipped with the reason and set up by the next update. After that they follow the wallpaper on their own; Spotify from its next start.

Run ./setup with nothing after it and it asks instead: the verbs on one screen, and what an install may leave out on the next, which is the flags below with somewhere to press them.

Flag
--skip-packagesinstall nothing; copy and build only
--skip-systemleave / alone — no login screen, and no password for it
--skip-pluginsno shake to find, no glass
--skip-extrasleave Thunar, VSCodium, Vesktop, Spotify, GTK and face unlock alone
--aur-helper yay|paruwhich helper builds the AUR half — built from the AUR if you have neither
--noconfirmtake the default at every question
-n, --dry-runsay what would happen, and do none of it
./setup update       # git pull, then install again — the same flags
./setup uninstall    # remove what it installed, and put back what it moved aside
./setup help         # every verb and flag

update follows the branch you cloned: main moves only when a version is released, and work in progress lives on dev. The version installed is under Settings → System, with what the branch has waiting since it and a button that runs update in a terminal.

Nothing is linked: setup copies, and remembers what it wrote. A file of yours already in the way is moved to ~/.local/state/impasto/backups/ first; a file you edit afterwards is left alone, with the new version beside it as <name>.new, and one you delete stays deleted — the wallpapers you do not want, say. Settings → System lists both, each with a button to put impasto's version back. Editing the repository itself? ./setup sync copies it onto the desk, and ./setup sync --watch keeps doing it on every save.

Every package is listed in packages/pacman.txt and packages/aur.txt, grouped by what it is for; an optional one that is missing takes its own control away rather than failing.

Components
🪟CompositorHyprland
🖱️Shake to findhypr-dynamic-cursors
🫧Glass on the windowshyprglass
🐚Desktop shellQuickshell
🖼️Wallpaper daemonawww
🖥️Terminalkitty
⌨️Interactive shellzsh · oh-my-zsh
❯Promptstarship
🎨Greetingfastfetch
📊System monitorbtop
🎵Audio visualisercava
📁File manageryazi
🗂️File manager in a windowThunar
✏️Editorneovim
📝Editor in a windowVSCodium
🖼️Image viewerimv
🪄Annotatorsatty
💬ChatVesktop
🎧PlayerSpotify · spicetify
🌐BrowserZen
🔆Monitor brightnessddcutil
🔑Login screenSDDM
👤Face unlockhowdy-next

Keys

Every key belongs to a profile: Settings → Keys changes any of them, the compositor's included, and switching profile switches them all. A few worth knowing first:

  • SUPER Return a terminal, SUPER Space the launcher, SUPER Q closes the window
  • SUPER 1…0 a workspace, on the screen you are on, SUPER TAB all of them at once
  • SUPER ALT ← → the other screen, adding SHIFT takes the workspace with you
  • SUPER X the session menu, SUPER L locks
  • SUPER H every other key, on the island

Credits

These are worth your time whether or not you use this repository. No code was copied from any of them; what carried over from the shells are ideas — one file per island state, one transient signal for every ephemeral event, input debounced to one frame, and a capture that photographs the screen and draws the selection on the photograph.

  • saneAspect — the Hyprland setups on YouTube that started all this
  • Tide-island — the closest thing to a complete dynamic island for Hyprland
  • ChillPill-Shell — a dynamic pill bar built to stay light without a dedicated GPU
  • k4 — a dynamic island bar with a documented plugin API
  • HyprQuickshot and its fork HyprQuickFrame — a capture surface in Quickshell
  • diegoMalagrida/dotfiles — an Arch Linux desk ready to install on a fresh system

Built on Quickshell and Hyprland. The pointer is Bibata, repainted; the folders are Papirus, re-pointed; the type is Inter and JetBrains Mono. Six of the nine palettes are other people's work, carried as they are: Catppuccin Mocha and Latte, Tokyo Night, Gruvbox, Nord and Rosé Pine.

License

Copyright © 2026 Andreu Massanet — released under the GNU GPL-3.0.

You may use, study, change and share any of it. If you build on it and pass the result on, it stays under the GPL and its source stays available. Keep the header at the top of each file, which carries this repository's address, and a line of credit back here is the kind thing to do.

arch-linux
archlinux
dotfiles
dynamic-island
hyprland
hyprland-config
hyprland-dotfiles
hyprland-rice
linux-rice
qml
quickshell
rice
unixporn
wayland

Significant stargazers

Tommy Falkowski

57 followers · starred Sep 2026

Jeffrey Guenther

72 followers · starred Sep 2026