v
This commit is contained in:
parent
7579a52ff9
commit
7fe9b3fda1
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
.mypy_cache
|
||||||
|
deluge_conf
|
||||||
|
bin/
|
||||||
|
code/
|
||||||
|
nuscripts
|
||||||
|
nuscripts/*
|
24
README.md
24
README.md
@ -1,2 +1,24 @@
|
|||||||
# crystaldev
|
# my crystal development environment
|
||||||
|
|
||||||
|
- make sure nix is installed
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#go to the cloned repo
|
||||||
|
|
||||||
|
#following will start your virtual shell
|
||||||
|
./start.sh
|
||||||
|
|
||||||
|
#then in the shell open the hero shell (based on nushell, will set all paths to make this dir sandboxed)
|
||||||
|
./hero_shell.sh
|
||||||
|
|
||||||
|
#if you want hero and mycelium do
|
||||||
|
herotools install_hero
|
||||||
|
|
||||||
|
#if you want mycelium
|
||||||
|
herotools install_mycelium
|
||||||
|
|
||||||
|
#install v & crystallib
|
||||||
|
herotools install_crystal
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
10
bash_shell.sh
Executable file
10
bash_shell.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
export BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
export PATH=${BASE}/bin:${BASE}/v:${PATH}
|
||||||
|
|
||||||
|
cd ${BASE}
|
||||||
|
bash
|
105
hero_shell.sh
Executable file
105
hero_shell.sh
Executable file
@ -0,0 +1,105 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
export BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
export NU_CONFIG_DIR=${BASE}/nuscripts/config
|
||||||
|
|
||||||
|
|
||||||
|
#keys used to see how to checkout code, don't remove
|
||||||
|
if [[ -z "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
echo " - SSH agent is not running."
|
||||||
|
export sshkeys=''
|
||||||
|
else
|
||||||
|
export sshkeys=$(ssh-add -l)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
function gitcheck {
|
||||||
|
# Check if Git email is set
|
||||||
|
if [ -z "$(git config user.email)" ]; then
|
||||||
|
echo "Git email is not set."
|
||||||
|
read -p "Enter your Git email: " git_email
|
||||||
|
git config --global user.email "$git_email"
|
||||||
|
else
|
||||||
|
echo "Git email is set to: $(git config user.email)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function github_keyscan {
|
||||||
|
mkdir -p ~/.ssh
|
||||||
|
if ! grep github.com ~/.ssh/known_hosts > /dev/null
|
||||||
|
then
|
||||||
|
ssh-keyscan github.com >> ~/.ssh/known_hosts
|
||||||
|
fi
|
||||||
|
git config --global pull.rebase false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function nuscript_get {
|
||||||
|
gitcheck
|
||||||
|
github_keyscan
|
||||||
|
export DIR_CODE=$BASE/code
|
||||||
|
mkdir -p $DIR_CODE
|
||||||
|
if [[ -d "$DIR_CODE/nuscripts" ]]
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
pushd $DIR_CODE 2>&1 >> /dev/null
|
||||||
|
if [[ -z "$sshkeys" ]]; then
|
||||||
|
git clone --depth 1 --no-single-branch https://git.ourworld.tf/despiegk/nuscripts.git
|
||||||
|
else
|
||||||
|
git clone --depth 1 --no-single-branch git@git.ourworld.tf:despiegk/nuscripts.git
|
||||||
|
fi
|
||||||
|
popd 2>&1 >> /dev/null
|
||||||
|
fi
|
||||||
|
rm -f $BASE/nuscripts
|
||||||
|
ln -s "$DIR_CODE/nuscripts" $BASE/nuscripts
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# run_hero() {
|
||||||
|
# hero 2>&1 > /dev/null
|
||||||
|
# exit_status=$?
|
||||||
|
# if [ $exit_status -ne 0 ]; then
|
||||||
|
# echo "Failed to start Hero Cmd."
|
||||||
|
# echo "If you're on macOS and encountering security restrictions."
|
||||||
|
# echo "You can do this in System Preferences > Security & Privacy."
|
||||||
|
# echo "Under the Privacy tab, add the Terminal and other Apps from this Distro"
|
||||||
|
# echo "to the list of applications with Access."
|
||||||
|
# fi
|
||||||
|
# }
|
||||||
|
|
||||||
|
# run_nu() {
|
||||||
|
# nu -h 2>&1 > /dev/null
|
||||||
|
# exit_status=$?
|
||||||
|
# if [ $exit_status -ne 0 ]; then
|
||||||
|
# echo "Failed to start Nushell."
|
||||||
|
# fi
|
||||||
|
# }
|
||||||
|
|
||||||
|
# run_mycelium() {
|
||||||
|
# mycelium -h 2>&1 > /dev/null
|
||||||
|
# exit_status=$?
|
||||||
|
# if [ $exit_status -ne 0 ]; then
|
||||||
|
# echo "Failed to start Nushell."
|
||||||
|
# echo "If you're on macOS and encountering security restrictions."
|
||||||
|
# echo "You can do this in System Preferences > Security & Privacy."
|
||||||
|
# echo "Under the Privacy tab, add the Terminal and other Apps from this Distro"
|
||||||
|
# echo "to the list of applications with Access."
|
||||||
|
# fi
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
# run_hero
|
||||||
|
# run_nu
|
||||||
|
# run_mycelium
|
||||||
|
|
||||||
|
cd ${BASE}
|
||||||
|
|
||||||
|
nuscript_get
|
||||||
|
|
||||||
|
nu --config nuscripts/config/config.nu --env-config nuscripts/config/env.nu -e 'source nuscripts/load.nu; $env.PATH = (paths_nix)'
|
10
push_code.sh
Executable file
10
push_code.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
MYDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
cd "$MYDIR"
|
||||||
|
|
||||||
|
echo "Enter the commit message:"
|
||||||
|
read commit_message
|
||||||
|
|
||||||
|
git add . -A ; git commit -m "$commit_message"; git push
|
29
shell.nix
Normal file
29
shell.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
let
|
||||||
|
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-23.11";
|
||||||
|
pkgs = import nixpkgs { config = {}; overlays = []; };
|
||||||
|
in
|
||||||
|
|
||||||
|
pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
git
|
||||||
|
nushell
|
||||||
|
mc
|
||||||
|
jq
|
||||||
|
# vscode-with-extensions
|
||||||
|
# libtorrent-rasterbar
|
||||||
|
# python311Packages.libtorrent-rasterbar
|
||||||
|
python311Full
|
||||||
|
python311Packages.ipython
|
||||||
|
python311Packages.ipdb
|
||||||
|
python311Packages.rq
|
||||||
|
rsync
|
||||||
|
rustc
|
||||||
|
go
|
||||||
|
|
||||||
|
];
|
||||||
|
# shellHook = ''
|
||||||
|
# echo "Nix shell environment is ready."
|
||||||
|
# hero_shell.sh
|
||||||
|
# '';
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user