diff options
author | Franck Cuny <franck@fcuny.net> | 2023-02-21 12:56:32 -0800 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2023-02-21 12:59:16 -0800 |
commit | f4a91646c0f1e88160d0d2a1f93730b0a0a634a4 (patch) | |
tree | 7e097d1adcbd7b4c872d7e9855b11ac72e455eb6 /home | |
parent | feat(templates/go): add flake template for go projects (diff) | |
download | world-f4a91646c0f1e88160d0d2a1f93730b0a0a634a4.tar.gz |
feat(home/fish): function to create go projects
A function to create a go project: it creates the git repository, setup the project using a flake template, create an initial commit, push it and ensure we can run drone on it.
Diffstat (limited to 'home')
-rw-r--r-- | home/shell/fish/functions/new-go-project.fish | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/home/shell/fish/functions/new-go-project.fish b/home/shell/fish/functions/new-go-project.fish new file mode 100644 index 0000000..e00a036 --- /dev/null +++ b/home/shell/fish/functions/new-go-project.fish @@ -0,0 +1,27 @@ +function new-go-project --description "create a new go project" + set -l project_name $argv[1] + + echo "> creating $project_name" + cd ~/workspace/ + mkdir $project_name + cd $project_name + + echo "> running `git init'" + git init . + + echo "> setting the default template for go projects" + nix flake init -t ~/workspace/world/templates#go + direnv allow + + echo "> creating initial commit, touch your yubikey" + git add . + git commit -m 'initial commit' + + echo "> pushing to https://git.fcuny.net/fcuny/$project_name" + git remote add origin https://git.fcuny.net/fcuny/$project_name + git push origin --all + + echo "> enabling drone CI for the repository" + drone --token (pass credentials/ci.fcuny.net) repo sync + drone --token (pass credentials/ci.fcuny.net) repo enable fcuny/$project_name +end |