diff options
Diffstat (limited to 'custom/tinc')
-rwxr-xr-x | custom/tinc/generate_hostfile.hs | 5 | ||||
-rw-r--r-- | custom/tinc/shell.nix | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/custom/tinc/generate_hostfile.hs b/custom/tinc/generate_hostfile.hs index 90fa11b7..6d4217fd 100755 --- a/custom/tinc/generate_hostfile.hs +++ b/custom/tinc/generate_hostfile.hs | |||
@@ -9,11 +9,8 @@ main = readDirectory "." >>= putStrLn . genHostFile | |||
9 | genHostFile :: AnchoredDirTree String -> String | 9 | genHostFile :: AnchoredDirTree String -> String |
10 | genHostFile (_ :/ (Dir _ contents)) = "{\n" ++ entries ++ "\n}\n" | 10 | genHostFile (_ :/ (Dir _ contents)) = "{\n" ++ entries ++ "\n}\n" |
11 | where | 11 | where |
12 | entries = concat [ genEntry name content | (File name content) <- contents, name `notElem` hidden ] | 12 | entries = concatMap $ [genEntry name content | (File name content) <- contents] |
13 | genEntry fileName fileContent = unlines . indent $ [ "\"" ++ fileName ++ "\" = ''" ] ++ indent (lines fileContent) ++ [ "'';" ] | 13 | genEntry fileName fileContent = unlines . indent $ [ "\"" ++ fileName ++ "\" = ''" ] ++ indent (lines fileContent) ++ [ "'';" ] |
14 | hidden = [ "to_nix.sh" | ||
15 | , "hosts.nix" | ||
16 | ] | ||
17 | 14 | ||
18 | indent :: [String] -> [String] | 15 | indent :: [String] -> [String] |
19 | indent = map (" " ++) | 16 | indent = map (" " ++) |
diff --git a/custom/tinc/shell.nix b/custom/tinc/shell.nix new file mode 100644 index 00000000..b514600f --- /dev/null +++ b/custom/tinc/shell.nix | |||
@@ -0,0 +1,13 @@ | |||
1 | { pkgs ? (import <nixpkgs> {}) | ||
2 | }: | ||
3 | |||
4 | pkgs.stdenv.mkDerivation rec { | ||
5 | name = "tinc-env"; | ||
6 | buildInputs = [ (pkgs.haskellPackages.ghcWithPackages (p: | ||
7 | with p; [ directory-tree | ||
8 | ])) | ||
9 | ]; | ||
10 | shellHook = '' | ||
11 | export PROMPT_INFO="${name}" | ||
12 | ''; | ||
13 | } | ||