This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 5pkgs / xephyrify / default.nix
1.7 kB 62 lines
1{ writeDashBin, writeHaskellPackage, coreutils, xorg, virtualgl, ... }: 2 3let 4 5 xephyrify-xmonad = writeHaskellPackage "xephyrify-xmonad" { 6 executables.xmonad = { 7 extra-depends = [ 8 "containers" 9 "unix" 10 "xmonad" 11 ]; 12 text = /* haskell */ '' 13 module Main where 14 import XMonad 15 import Data.Monoid 16 import System.Posix.Process (executeFile) 17 import qualified Data.Map as Map 18 19 main :: IO () 20 main = do 21 xmonad def 22 { workspaces = [ "1" ] 23 , layoutHook = myLayoutHook 24 , keys = myKeys 25 , normalBorderColor = "#000000" 26 , focusedBorderColor = "#000000" 27 , handleEventHook = myEventHook 28 } 29 30 myEventHook :: Event -> X All 31 32 myEventHook (ConfigureEvent { ev_event_type = 22 }) = do 33 spawn "${xorg.xrandr}/bin/xrandr >/dev/null 2>&1" 34 return (All True) 35 36 myEventHook _ = do 37 return (All True) 38 39 myLayoutHook = Full 40 myKeys _ = Map.fromList [] 41 ''; 42 }; 43 }; 44 45in writeDashBin "xephyrify" '' 46 NDISPLAY=''${NDISPLAY:-$(${coreutils}/bin/shuf -i 100-65536 -n 1)} 47 echo "using DISPLAY $NDISPLAY" 48 ${xorg.xorgserver}/bin/Xephyr -br -ac -reset -terminate -resizeable -dpi 60 -nolisten local :$NDISPLAY & 49 if test -n $DROP_TO_USER; then 50 sleep 1 51 ls /tmp/.X11-unix/ 52 id 53 ${coreutils}/bin/chgrp "$DROP_TO_USER" "/tmp/.X11-unix/X$NDISPLAY" 54 ${coreutils}/bin/chmod 770 "/tmp/.X11-unix/X$NDISPLAY" 55 fi 56 XEPHYR_PID=$! 57 DISPLAY=:$NDISPLAY ${xephyrify-xmonad}/bin/xmonad & 58 XMONAD_PID=$! 59 DISPLAY=:$NDISPLAY ${virtualgl}/bin/vglrun "$@" 60 kill $XMONAD_PID 61 kill $XEPHYR_PID 62''