Implement uid parameter

This commit is contained in:
Robert Hensing 2019-09-28 00:51:16 +02:00
parent 77c492fa86
commit 02c0f80b02
2 changed files with 13 additions and 9 deletions

View File

@ -38,6 +38,7 @@ common deps
, temporary
, text
, protolude
, unix
flag ghci
default: False

View File

@ -22,9 +22,10 @@ import qualified Data.Text.Lazy.Builder as TB
import qualified Data.List.NonEmpty as NE
import Data.List.NonEmpty (NonEmpty(..))
import Control.Arrow ((>>>))
import System.Posix.User (getRealUserID)
data CommonOptions =
CommonOptions
{ files :: NonEmpty FilePath
@ -159,14 +160,16 @@ runEvalAndDC cmd dopts opts = do
}
defaultEvaluationArgs :: CommonOptions -> IO EvaluationArgs
defaultEvaluationArgs co = pure EvaluationArgs
{ evalUid = 0 -- TODO
, evalModules = files co
, evalPkgs = pkgs co
, evalWorkDir = Nothing
, evalMode = ReadWrite
, evalUserArgs = nixArgs co
}
defaultEvaluationArgs co = do
uid <- getRealUserID
pure EvaluationArgs
{ evalUid = fromIntegral uid
, evalModules = files co
, evalPkgs = pkgs co
, evalWorkDir = Nothing
, evalMode = ReadWrite
, evalUserArgs = nixArgs co
}
runCat :: CommonOptions -> IO ()
runCat co = do