summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--custom/thinklight.nix4
1 files changed, 3 insertions, 1 deletions
diff --git a/custom/thinklight.nix b/custom/thinklight.nix
index 87a5264e..bd0fd6d9 100644
--- a/custom/thinklight.nix
+++ b/custom/thinklight.nix
@@ -2,7 +2,7 @@
2 2
3stdenv.mkDerivation { 3stdenv.mkDerivation {
4 name = "thinklight-0.1"; 4 name = "thinklight-0.1";
5 ghc = haskellPackages.ghcWithPackages (self: [self.strict]); 5 ghc = haskellPackages.ghcWithPackages (self: [self.strict self.unix]);
6 outputs = [ "out" ]; 6 outputs = [ "out" ];
7 buildInputs = [ makeWrapper ]; 7 buildInputs = [ makeWrapper ];
8 builder = builtins.toFile "builder.sh" '' 8 builder = builtins.toFile "builder.sh" ''
@@ -21,6 +21,7 @@ stdenv.mkDerivation {
21 import Prelude hiding (readFile) 21 import Prelude hiding (readFile)
22 import Data.List (intersperse) 22 import Data.List (intersperse)
23 import Data.Maybe (fromMaybe) 23 import Data.Maybe (fromMaybe)
24 import System.Unix.User (setUserID)
24 25
25 data Mode = On | Off | Toggle | Blink deriving (Read, Show, Eq) 26 data Mode = On | Off | Toggle | Blink deriving (Read, Show, Eq)
26 27
@@ -28,6 +29,7 @@ stdenv.mkDerivation {
28 main = do 29 main = do
29 args <- getArgs 30 args <- getArgs
30 let mode = if length args >= 1 then read $ head args else Toggle 31 let mode = if length args >= 1 then read $ head args else Toggle
32 setUserID 0
31 sequence $ map (\g -> catchIOError g (\e -> if isDoesNotExistError e then return () else ioError e)) [thinklight mode] 33 sequence $ map (\g -> catchIOError g (\e -> if isDoesNotExistError e then return () else ioError e)) [thinklight mode]
32 return () 34 return ()
33 35