From d33bfc09987c9f47ea265283a0704c3aa240a26a Mon Sep 17 00:00:00 2001 From: maxstrb Date: Fri, 26 Sep 2025 18:20:34 +0200 Subject: [PATCH] non important commit --- .../modules/create-project/create-project.nix | 111 +++++++++--------- 1 file changed, 58 insertions(+), 53 deletions(-) diff --git a/home/modules/create-project/create-project.nix b/home/modules/create-project/create-project.nix index 99dcbbb..4aaa8a2 100644 --- a/home/modules/create-project/create-project.nix +++ b/home/modules/create-project/create-project.nix @@ -5,65 +5,70 @@ nu */ '' - #!${pkgs.nushell}/bin/nu + #!${pkgs.nushell}/bin/nu - def main [ - name?: string - type?: string - --local (-l) - ] { + def main [ + name?: string + type?: string + --local (-l) + ] { - if $name == null or $type == null { - print "Usage: create-project [Options: -l]" - exit 1 + if $name == null or $type == null { + print "Usage: create-project [Options: -l]" + exit 1 + } + + if ($name | str contains "/") or ($name | str contains ".") { + print "This is not a valid name for a project" + exit 1 + } + + if ($type | str contains "/") or ($type | str contains ".") { + print "This is not a valid project type" + exit 1 + } + + if ($"~/.nix-config/home/modules/create-project/project-blueprints/($type)" | path type) != "dir" { + print "This project type doesn't exist" + exit 1 + } + + mkdir $name + cd $name + + if ($"~/.nix-config/home/modules/create-project/project-blueprints/($type)" | path expand | ls $in | length) > 0 { + cp $"~/.nix-config/home/modules/create-project/project-blueprints/($type)/*" . + } + + if ($"./init.sh" | path type) == "file" { + bash "init.sh" + rm "init.sh" + } + + if $local { + exit 0 + } + + print "Enter server password:" + let pass = (input --suppress-output) + + try { + ssh $"admin@silvers.fun" $"echo '($pass)' | sudo -S -u git git init --bare ~/($repo_name).git" + print $"Repository ($repo_name) created successfully!" + } catch { + print "Failed to create repository. Check your credentials and try again." } - if ($name | str contains "/") or ($name | str contains ".") { - print "This is not a valid name for a project" - exit 1 - } + git init + git add . + git commit -m "Project setup" + git $"remote add origin git@silvers.fun:($name).git" + git push origin main - if ($type | str contains "/") or ($type | str contains ".") { - print "This is not a valid project type" - exit 1 - } + print "You are all done" - if ($"~/.nix-config/home/modules/create-project/project-blueprints/($type)" | path type) != "dir" { - print "This project type doesn't exist" - exit 1 - } - - mkdir $name - cd $name - - if ($"~/.nix-config/home/modules/create-project/project-blueprints/($type)" | path expand | ls $in | length) > 0 { - cp $"~/.nix-config/home/modules/create-project/project-blueprints/($type)/*" . - } - - if ($"./init.sh" | path type) == "file" { - bash "init.sh" - rm "init.sh" - } - - if $local { - exit 0 - } - - print "Enter server password" - let pass = (input) - - ssh admin@silvers.fun $"sudo -S -u git bash -c \"git init --bare ~/($name).git\" <<< ($pass)" <<< $pass - - git init - git add . - git commit -m "Project setup" - git $"remote add origin git@silvers.fun:($name).git" - git push origin main - - print "You are all done" - - exit 0 - } + exit 0 + } '') ]; }