{
  programs.eww = {
    enable = true;
    systemd.enable = true;
    yuckConfig = ''
      (defwindow powermenu
          :monitor 0
          :geometry (geometry
              :anchor "center"
          )
          ; Widgets
          (box
              :spacing 5
              :class "powermenu"
              :space-evenly true
              :orientation "vertical"
              :halign "left"
              :valign "center"

              ; Contents
              (button
                  :onclick "eww open confirm-command --arg action=poweroff --arg command=poweroff"
                  "Poweroff"
              )
              (button
                  :onclick "eww open confirm-command --arg action=reboot --arg command=reboot"
                  "Reboot"
              )
              (button
                  :onclick "eww close powermenu"
                  "Cancel"
              )
          )
      )

      (defwindow confirm-command [action command]
          :monitor 0
          :geometry (geometry
              :anchor "center"
              :width "13%"
              :height "8%"
          )
          ; Widgets
          (box
              :class "powermenu"
              :orientation "vertical"
              :halign "center"
              :valign "center"
              "Are you sure you want to ''${action}"
              (box
                  :orientation "horizontal"
                  :spacing 10
                  (button
                      :onclick "eww close confirm-command"
                      "No"
                  )
                  (button
                      :onclick command
                      "Yes"
                  )
              )
          )
      )
    '';
    scssConfig = ''
      .powermenu {
        padding: 10px 10px;
        border-radius: 10px;
      }
    '';
  };

  nmt.script = ''
    yuckDir=home-files/.config/eww
    serviceFile=$(normalizeStorePaths home-files/.config/systemd/user/eww.service)

    assertFileExists $yuckDir/eww.yuck
    assertFileExists $yuckDir/eww.scss

    assertFileContent $yuckDir/eww.yuck ${./expected.yuck}
    assertFileContent $yuckDir/eww.scss ${./expected.scss}
    assertFileContent "$serviceFile" ${./expected.service}
  '';
}
