Fix nix init scripts

This commit is contained in:
Lukas Cech 2025-01-21 11:04:40 +01:00
parent 7ac33a4974
commit 367e7ff45c

View File

@ -1,10 +1,15 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }:
let let
nix-prepare = '' nix-prepare = pkgs.writeShellScript "nix-prepare" ''
run() { run() {
local dir local dir="$1"
echo "Preparing nix environment in $dir" echo "Preparing nix environment in $dir"
if [ "$dir" = "" ]; then
echo "Usage: nix-prepare <dir>"
exit 1
fi
mkdir -p $dir mkdir -p $dir
cd $dir cd $dir
@ -15,6 +20,7 @@ let
chmod 644 flake.nix chmod 644 flake.nix
echo '/*' > .gitignore echo '/*' > .gitignore
echo '!/.gitignore' >> .gitignore
echo '!/flake.nix' >> .gitignore echo '!/flake.nix' >> .gitignore
echo '!/flake.lock' >> .gitignore echo '!/flake.lock' >> .gitignore
echo 'use flake . --impure' > .envrc echo 'use flake . --impure' > .envrc
@ -32,7 +38,7 @@ let
run "$@" 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 # Input is a git repository such as git@github.com:group/project-name.git
run() { run() {
local repo="$1" local repo="$1"
@ -43,7 +49,7 @@ let
exit 1 exit 1
fi fi
nix-prepare "$projectName"-nix ${nix-prepare} "$projectName"-nix
git clone "$repo" "$projectName"-nix"/$projectName" git clone "$repo" "$projectName"-nix"/$projectName"
} }
@ -53,8 +59,8 @@ let
in in
{ {
programs.zsh.shellAliases = { programs.zsh.shellAliases = {
git-nix-clone = lib.mkDefault "${pkgs.writeShellScript "git-nix-clone" git-nix-clone}"; git-nix-clone = lib.mkDefault "${git-nix-clone}";
nix-prepare = lib.mkDefault "${pkgs.writeShellScript "nix-prepare" nix-prepare}"; nix-prepare = lib.mkDefault "${nix-prepare}";
}; };
} }