Merge remote-tracking branch 'ni/master'
This commit is contained in:
commit
d30118879d
35
krebs/5pkgs/simple/cabal-read.nix
Normal file
35
krebs/5pkgs/simple/cabal-read.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ writeHaskellPackage }:
|
||||
|
||||
# Because `sed -n 's/.*\<ghc-options:\s\+\(.*\)/\1/p'` is too simple.
|
||||
writeHaskellPackage "cabal-read" {
|
||||
executables.ghc-options = {
|
||||
extra-depends = ["Cabal"];
|
||||
text = /* haskell */ ''
|
||||
module Main (main) where
|
||||
import Data.List
|
||||
import Data.Maybe
|
||||
import Distribution.Compiler
|
||||
import Distribution.PackageDescription.Parsec
|
||||
import Distribution.Types.BuildInfo
|
||||
import Distribution.Types.CondTree
|
||||
import Distribution.Types.Executable
|
||||
import Distribution.Types.GenericPackageDescription
|
||||
import Distribution.Types.UnqualComponentName
|
||||
import Distribution.Verbosity
|
||||
import System.Environment
|
||||
main :: IO ()
|
||||
main = do
|
||||
[path, name] <- getArgs
|
||||
|
||||
desc <- readGenericPackageDescription normal path
|
||||
|
||||
case lookup (mkUnqualComponentName name) (condExecutables desc) of
|
||||
Just exe ->
|
||||
putStrLn . intercalate " " . fromMaybe [] . lookup GHC
|
||||
. options . buildInfo . condTreeData $ exe
|
||||
|
||||
Nothing ->
|
||||
error ("executable " <> name <> " not found in " <> path)
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -46,7 +46,7 @@ in
|
|||
xmonad_restart() {(
|
||||
set -efu
|
||||
cd "$WORKDIR"
|
||||
if systemctl is-active xmonad; then
|
||||
if systemctl --quiet is-active xmonad; then
|
||||
sudo systemctl stop xmonad
|
||||
cp -b "$config_XMONAD_CACHE_DIR"/xmonad.state "$CACHEDIR"/
|
||||
echo "xmonad.state: $(cat "$CACHEDIR"/xmonad.state)"
|
||||
|
@ -59,9 +59,14 @@ in
|
|||
|
||||
xmonad_yield() {(
|
||||
set -efu
|
||||
if ! systemctl --quiet is-active xmonad; then
|
||||
"$xmonad" --shutdown
|
||||
cp -b "$CACHEDIR"/xmonad.state "$config_XMONAD_CACHE_DIR"/
|
||||
sudo systemctl start xmonad
|
||||
else
|
||||
echo "xmonad.service is already running" >&2
|
||||
exit -1
|
||||
fi
|
||||
)}
|
||||
|
||||
export PATH=${config.systemd.services.xmonad.path}:$PATH
|
||||
|
|
Loading…
Reference in a new issue