xmenu.dhall 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. -- -*- eval: (setq-local indent-tabs-mode t); -*-
  2. let config = "saint-petersburg"
  3. let guix-profile = "/home/oleg/.guix-profile"
  4. let nix-profile = "/home/oleg/.nix-profile"
  5. let project =
  6. λ(args : { name : Text, session : Text })
  7. → "\t${args.name}\txterm -sl 4096 +sb -bg black -fg white -e 'tmuxifier load-session ${args.session}'"
  8. let container =
  9. λ(args : { name : Text, icon : Text, command : Text })
  10. → "\tIMG:${args.icon}\t${args.name}\t${args.command}"
  11. let hms-account =
  12. λ(args : { name : Text, server : Text, tarif : Text })
  13. → "${args.server} ${args.name} ${args.tarif}\n\t\t\topen\t\t\t\thms web open ${args.name}\n\t\t\ttoggle\t\t\t\thms web toggle ${args.name}"
  14. let service = λ(args : { name : Text, start : Text, stop : Text })
  15. → "${args.name}\n\t\tStart\t${args.start}\n\t\tStop\t${args.stop}"
  16. in ''
  17. #!/bin/sh
  18. cat <<EOF | xmenu | sh &
  19. Applications
  20. Audio
  21. Pavucontrol sh -c "echo '(pavucontrol)' | stumpish -e eval"
  22. Browsers
  23. IMG:${nix-profile}/share/icons/hicolor/32x32/apps/firefox.png Firefox firefox -P default
  24. IMG:${nix-profile}/share/icons/hicolor/24x24/apps/chromium.png Chromium echo '(chromium)' | stumpish -e eval
  25. IMG:${nix-profile}/share/icons/hicolor/32x32/apps/firefox.png Firefox (ESR-52) firefox-esr-52 -P esr52 --new-instance
  26. Databases
  27. IMG:${nix-profile}/share/icons/robomongo.png Mongo robo3t
  28. Mail
  29. IMG:${guix-profile}/share/icons/gnome/24x24/emblems/emblem-mail.png View echo '(gnus-new-window)' | stumpish -e eval
  30. IMG:${guix-profile}/share/icons/gnome/24x24/actions/mail-send-receive.png Pull echo '(notmuch)' | stumpish -e eval
  31. Editor
  32. Emacs (Emacs Daemon) run-emacs
  33. IMG:${guix-profile}/share/icons/hicolor/24x24/apps/leafpad.png Leafpad leafpad
  34. Guix
  35. Update st -f Monospace:size=12 bash -ic 'guix menu; dialog --yesno "Press any key to close." 0 0'
  36. Games
  37. Eve Online eve-online
  38. Tales of Maj'Eyal env DRI_PRIME=1 tome4
  39. Images
  40. Mypaint env PYTHONPATH= mypaint
  41. IMG:${guix-profile}/share/icons/hicolor/24x24/apps/gimp.png Gimp gimp
  42. IMG:${nix-profile}/share/icons/hicolor/32x32/apps/quassel.png Quassel "echo '(quassel)' | stumpish -e eval"
  43. IMG:${guix-profile}/share/icons/gnome/24x24/devices/video-display.png OBS env DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi obs
  44. Screen
  45. Screenshot xfce4-screenshooter
  46. Zoom screen echo '(zoom)' | stumpish -e eval
  47. Terminal
  48. XTerm xterm -sl 4096 +sb -bg black -fg white
  49. st st -f Monospace:size=12
  50. Kitty kitty
  51. XFCE xfce4-terminal
  52. Termonad termonad
  53. QTerminal echo '(qterminal)' | stumpish -e eval
  54. Services
  55. ${service { name = "Espanso", start = "espanso start", stop = "espanso stop" }}
  56. ${service { name = "xmodmap", start = "xmodmap /home/oleg/.Xmodmap", stop = "" }}
  57. ${service { name = "webhook", start = "echo '(webhook)' | stumpish -e eval", stop = "" }}
  58. ${service { name = "vnc-5901", start = "vnc server 5901", stop = "vnc-server -kill :5901" }}
  59. ${service { name = "vnc-5902", start = "vnc server 5902", stop = "vnc-server -kill :5902" }}
  60. ${service { name = "vnc-5903", start = "vnc server 5903", stop = "vnc-server -kill :5903" }}
  61. Projects
  62. ${project { name = "Backup", session = "backup" }}
  63. ${project { name = "Blog", session = "blog" }}
  64. ${project { name = "Dotfiles", session = "dotfiles" }}
  65. ${project { name = "Guix", session = "guix" }}
  66. ${project { name = "NixOps", session = "nixops" }}
  67. Documention
  68. Arch Wiki firefox file:///home/oleg/.local/share/arch-wiki/html
  69. Zeal echo '(zeal)' | stumpish -e eval
  70. Books
  71. Linux System Programming zathura /home/oleg/Downloads/beginning-linux-programming/beginning-linux-programming.pdf
  72. Container
  73. ${container
  74. { icon = "${guix-profile}/share/icons/hicolor/24x24/apps/qemu.png"
  75. , name = "Debian 10"
  76. , command = "echo '(docker-debian)' | stumpish -e eval"
  77. }}
  78. ${container
  79. { icon = "${guix-profile}/share/icons/hicolor/24x24/apps/qemu.png"
  80. , name = "Common Lisp IDE (lem)"
  81. , command = "echo '(docker-lem)' | stumpish -e eval"
  82. }}
  83. ${container
  84. { icon = "${nix-profile}/share/icons/hicolor/32x32/apps/firefox.png"
  85. , name = "Firefox (ESR-52)"
  86. , command = "echo '(docker-firefox-esr-52)' | stumpish -e eval"
  87. }}
  88. Virtual machine
  89. IMG:${guix-profile}/share/icons/hicolor/24x24/apps/qemu.png Ubuntu 20.04 ubuntu
  90. IMG:${guix-profile}/share/icons/hicolor/24x24/apps/qemu.png Windows 10 (disk) sudo qemu-windows10
  91. Wallpaper
  92. StumpWM Refcard echo '(refcard-stumpwm)' | stumpish -e eval
  93. Planet echo '(xplanet-file)' | stumpish -e eval
  94. Images echo '(wallpaper)' | stumpish -e eval
  95. Paperview paperview
  96. Work
  97. IPMIView ipmiview
  98. Sampler echo '(sampler)' | stumpish -e eval
  99. Shared
  100. ${hms-account { server = "web15", name = "AC_222914", tarif = "Хостинг приложений" }}
  101. ${hms-account { server = "web15", name = "AC_221357", tarif = "Старт" }}
  102. ${hms-account { server = "web15", name = "AC_230157", tarif = "Безлимитный" }}
  103. ${hms-account { server = "web16", name = "AC_228919", tarif = "Безлимитный+" }}
  104. ${hms-account { server = "web19", name = "AC_224973", tarif = "Безлимитный+" }}
  105. ${hms-account { server = "web20", name = "AC_226927", tarif = "Безлимитный+" }}
  106. ${hms-account { server = "web24", name = "AC_227061", tarif = "Безлимитный+" }}
  107. ${hms-account { server = "web26", name = "AC_220037", tarif = "Безлимитный+" }}
  108. ${hms-account { server = "web26", name = "AC_228131", tarif = "Безлимитный" }}
  109. ${hms-account { server = "web27", name = "AC_220783", tarif = "Безлимитный" }}
  110. ${hms-account { server = "web29", name = "AC_216226", tarif = "Безлимитный" }}
  111. ${hms-account { server = "web30", name = "AC_226391", tarif = "Безлимитный" }}
  112. ${hms-account { server = "web30", name = "AC_220670", tarif = "Безлимитный+" }}
  113. ${hms-account { server = "web30", name = "AC_200388", tarif = "Безлимитный" }}
  114. ${hms-account { server = "web32", name = "AC_227596", tarif = "Безлимитный" }}
  115. ${hms-account { server = "web33", name = "AC_208112", tarif = "Безлимитный" }}
  116. ${hms-account { server = "web34", name = "AC_224079", tarif = "Безлимитный" }}
  117. ${hms-account { server = "web37", name = "AC_213062", tarif = "Безлимитный" }}
  118. ${hms-account { server = "web15", name = "AC_222228", tarif = "Корпоративный" }}
  119. ${hms-account { server = "kvm-test", name = "AC_223473", tarif = "Безлимитный" }}
  120. ${hms-account { server = "majordomo", name = "AC_222228", tarif = "Бизнес+" }}
  121. ${hms-account { server = "web23", name = "AC_189986", tarif = "Служебный" }}
  122. VPS
  123. Open my account firefox https://billing2.intr/client/vds/17959
  124. Web
  125. Algorithms chromium --app=https://algorithm-visualizer.org/
  126. Byte converter chromium --app=https://whatsabyte.com/P1/byteconverter.htm
  127. Chess chromium --app=https://lichess.org/
  128. Cocalc chromium --app=https://cocalc.com/
  129. Diagrams chromium --app=https://app.diagrams.net/
  130. LaTeX chromium --app=http://www.overleaf.com/
  131. Habitica chromium --app=https://habitica.com/
  132. HTTP Requests chromium --app=https://www.hurlit.com/
  133. Mastodon chromium --app=https://mastodon.xyz/
  134. Repl chromium --app=https://repl.it/
  135. Sketch chromium --app=https://excalidraw.com/
  136. Spotify chromium --app=https://open.spotify.com
  137. The Try It Online chromium --app=https://tio.run/
  138. Weather chromium --app=https://yandex.ru/pogoda/
  139. EOF
  140. ''