Skip to content
Jake Stanger edited this page Aug 14, 2022 · 5 revisions

The below config shows a module of each type being used, with a config for 3 separate monitors.

The Corn format makes heavy use of variables to show how module configs can be easily referenced to reduce config length.

let {
    $workspaces = {
        type = "workspaces"
        name_map = {
            1 = "ﭮ"
            2 = ""
            3 = ""
            Games = ""
            Code = ""
        }
    }

    $launcher = {
        type = "launcher"
        favorites = ["firefox" "discord" "Steam"]
        show_names = false
        show_icons = true
        icon_theme = "Paper"
    }

    $mpd_local = { type = "mpd" music_dir = "/home/jake/Music" }
    $mpd_server = { type = "mpd" host = "chloe:6600" }

    $sys_info = {
        type = "sys-info"
        format = ["{cpu-percent}% " "{memory-percent}% "]
    }

    $tray = { type = "tray" }
    $clock = { type = "clock" }

    $phone_battery = {
        type = "script"
        path = "/home/jake/bin/phone-battery"
    }

    $left = [ $workspaces $launcher ]
    $right = [ $mpd_local $mpd_server $phone_battery $sys_info $clock ]
}
in {
    monitors = [
        { left = $left right = $right }
        // redefine right for center mon as we want icon tray
        { left = $left right = [ $mpd_local $mpd_server $phone_battery $sys_info $tray $clock ] }
        { left = $left right = $right }
    ]
}
Clone this wiki locally