diff --git a/home-manager/nix-init-scripts.nix b/home-manager/nix-init-scripts.nix
index 0d8e290..8673329 100644
--- a/home-manager/nix-init-scripts.nix
+++ b/home-manager/nix-init-scripts.nix
@@ -1,10 +1,15 @@
{ lib, pkgs, ... }:
let
- nix-prepare = ''
+ nix-prepare = pkgs.writeShellScript "nix-prepare" ''
run() {
- local dir
+ local dir="$1"
echo "Preparing nix environment in $dir"
+ if [ "$dir" = "" ]; then
+ echo "Usage: nix-prepare
"
+ exit 1
+ fi
+
mkdir -p $dir
cd $dir
@@ -14,7 +19,8 @@ let
cp ${./flake-templates/c3c-flake.nix} flake.nix
chmod 644 flake.nix
- echo '/*' > .gitignore
+ echo '/*' > .gitignor
+ echo '!/.gitignore' >> .gitignoree
echo '!/flake.nix' >> .gitignore
echo '!/flake.lock' >> .gitignore
echo 'use flake . --impure' > .envrc
@@ -32,7 +38,7 @@ let
run "$@"
'';
- git-nix-clone = ''
+ git-nix-clone = pkgs.writeShellScript "git-nix-clone" ''
# Input is a git repository such as git@github.com:group/project-name.git
run() {
local repo="$1"
@@ -43,7 +49,7 @@ let
exit 1
fi
- nix-prepare "$projectName"-nix
+ ${nix-prepare} "$projectName"-nix
git clone "$repo" "$projectName"-nix"/$projectName"
}
@@ -53,8 +59,8 @@ let
in
{
programs.zsh.shellAliases = {
- git-nix-clone = lib.mkDefault "${pkgs.writeShellScript "git-nix-clone" git-nix-clone}";
- nix-prepare = lib.mkDefault "${pkgs.writeShellScript "nix-prepare" nix-prepare}";
+ git-nix-clone = lib.mkDefault "${git-nix-clone}";
+ nix-prepare = lib.mkDefault "${nix-prepare}";
};
}