Compare commits
15 Commits
41f4adbd47
...
main
Author | SHA1 | Date | |
---|---|---|---|
7a0675d357 | |||
56f5107747 | |||
8407d3c051 | |||
879f8b5d08 | |||
cb66429cb6 | |||
09729afd48 | |||
ea8985ade5 | |||
ff57016f0c | |||
9ecf4d2fde | |||
98e335ac07 | |||
8c512d1ba8 | |||
9dc6756eff | |||
16cf4280fd | |||
d12079ff73 | |||
1446e2a977 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.venv
|
60
README.md
60
README.md
@ -1,4 +1,26 @@
|
|||||||
# scripts
|
# Scripts
|
||||||
|
|
||||||
|
- [Configure SSH connection helper (remote pc not server)](#configure-ssh-connection-helper-remote-pc-not-server)
|
||||||
|
- [Docker commands](#docker-commands)
|
||||||
|
- [Remove every user R packages](#remove-every-user-r-packages)
|
||||||
|
- [Setup Git SSH key](#setup-git-ssh-key)
|
||||||
|
- [Font ligature test](#font-ligature-test)
|
||||||
|
- [QEMU cheat sheet](#qemu-cheat-sheet)
|
||||||
|
- [Share internet between two Linux interfaces using connman](#share-internet-between-two-linux-interfaces-using-connman)
|
||||||
|
- [IP Host (eth1 has internet, eth0 is remote)](#ip-host-eth1-has-internet-eth0-is-remote)
|
||||||
|
- [IP Remote](#ip-remote)
|
||||||
|
- [Remove DRM from Adobe Digital Editions](#remove-drm-from-adobe-digital-editions)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Setting up Calibre](#setting-up-calibre)
|
||||||
|
- [Getting the DRM-free PDF](#getting-the-drm-free-pdf)
|
||||||
|
- [Loop devices](#loop-devices)
|
||||||
|
- [Install img.xz](#install-imgxz)
|
||||||
|
- [Raise Linux open files limits](#raise-linux-open-files-limits)
|
||||||
|
- [Verify a PGP Signature](#verify-a-pgp-signature)
|
||||||
|
- [Self-signed OpenSSL](#self-signed-openssl)
|
||||||
|
- [interactive](#interactive)
|
||||||
|
- [non-interactive and 10 years expiration](#non-interactive-and-10-years-expiration)
|
||||||
|
- [Bind to port 80 or 443](#bind-to-port-80-or-443)
|
||||||
|
|
||||||
## Configure SSH connection helper (remote pc not server)
|
## Configure SSH connection helper (remote pc not server)
|
||||||
|
|
||||||
@ -18,15 +40,15 @@ Now you can just connect using ssh \$HOST_NAME
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Remove every images
|
# Remove every images
|
||||||
docker images --format="{{.ID}}" | xargs docker rmi
|
docker images --format='{{.ID}}' | xargs docker rmi
|
||||||
# Remove every containers
|
# Remove every containers
|
||||||
docker ps -a --format="{{.ID}}" | xargs docker stop | xargs docker rm
|
docker ps -a --format='{{.ID}}' | xargs docker stop | xargs docker rm
|
||||||
# Remove every volumes
|
# Remove every volumes
|
||||||
docker volume ls --format="{{.Name}}" | xargs docker volume rm
|
docker volume ls --format='{{.Name}}' | xargs docker volume rm
|
||||||
# Remove every anonymous images (cached)
|
# Remove every anonymous images (cached)
|
||||||
docker images --format="{{.Repository}};{{.Tag}};{{.ID}}" | grep "<none>;<none>" | cut -d";" -f 3 | xargs docker rmi
|
docker images --format='{{.Repository}};{{.Tag}};{{.ID}}' | grep '<none>;<none>' | cut -d ';' -f 3 | xargs docker rmi
|
||||||
# Get all used images tag in dir $PATH_ANALYSE
|
# Get all used images tag in dir $PATH_ANALYSE
|
||||||
find $PATH_ANALYSE -name "Dockerfile*" | while read file; do cat $file; echo ""; done | grep -e FROM | cut -d " " -f 2 | sed $'s/[^[:print:]\t]//g' | sort -u | xargs -n1 docker pull
|
find $PATH_ANALYSE -name 'Dockerfile*' | while read file; do cat $file; echo ''; done | grep -e FROM | cut -d ' ' -f 2 | sed $'s/[^[:print:]\t]//g' | sort -u | xargs -n1 docker pull
|
||||||
# Calculate total docker images size
|
# Calculate total docker images size
|
||||||
docker images --format {{.ID}} | xargs -n1 docker inspect | jq '.[0]["Size"]' | paste -sd + | bc | format_bytes_str
|
docker images --format {{.ID}} | xargs -n1 docker inspect | jq '.[0]["Size"]' | paste -sd + | bc | format_bytes_str
|
||||||
```
|
```
|
||||||
@ -35,7 +57,7 @@ docker images --format {{.ID}} | xargs -n1 docker inspect | jq '.[0]["Size"]' |
|
|||||||
|
|
||||||
```R
|
```R
|
||||||
my_packages = as.data.frame(installed.packages()[, c(1, 3:4)])
|
my_packages = as.data.frame(installed.packages()[, c(1, 3:4)])
|
||||||
my_packages = my_packages[my_packages$Priority != "base",]
|
my_packages = my_packages[my_packages$Priority != 'base',]
|
||||||
for(lib in .libPaths()) lapply(my_packages$Package, remove.packages, lib = lib)
|
for(lib in .libPaths()) lapply(my_packages$Package, remove.packages, lib = lib)
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -43,8 +65,8 @@ for(lib in .libPaths()) lapply(my_packages$Package, remove.packages, lib = lib)
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Generate a SSH key pair
|
# Generate a SSH key pair
|
||||||
ssh-keygen -t rsa -b 4096 -o -a 100 -C "email@example.com" -f ~/.ssh/$KEY_NAME
|
ssh-keygen -t rsa -b 4096 -o -a 100 -C 'email@example.com' -f ~/.ssh/$KEY_NAME
|
||||||
ssh-keygen -t ed25519 -a 100 -C "email@example.com" -f ~/.ssh/$KEY_NAME
|
ssh-keygen -t ed25519 -a 100 -C 'email@example.com' -f ~/.ssh/$KEY_NAME
|
||||||
# Copy the public key to clipboard
|
# Copy the public key to clipboard
|
||||||
cat ~/.ssh/$KEY_NAME.pub | xclip
|
cat ~/.ssh/$KEY_NAME.pub | xclip
|
||||||
# Paste the contents into a new SSH key holder in https://github.com/settings/keys
|
# Paste the contents into a new SSH key holder in https://github.com/settings/keys
|
||||||
@ -54,7 +76,7 @@ ssh -T git@github.com
|
|||||||
git remote set-url origin git@github.com:username/your-repository.git
|
git remote set-url origin git@github.com:username/your-repository.git
|
||||||
# Add key to SSH config file (~/.ssh/config)
|
# Add key to SSH config file (~/.ssh/config)
|
||||||
echo -e "\n\nHost github.com\n\tIdentityFile ~/.ssh/$KEY_NAME" >> ~/.ssh/config
|
echo -e "\n\nHost github.com\n\tIdentityFile ~/.ssh/$KEY_NAME" >> ~/.ssh/config
|
||||||
cat KEY_FILE | ssh REMOTE "cat >> ~/.ssh/authorized_keys"
|
cat KEY_FILE | ssh REMOTE 'cat >> ~/.ssh/authorized_keys'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Font ligature test
|
## Font ligature test
|
||||||
@ -82,7 +104,7 @@ qemu-system-x86_64 $DISK_NAME.img \
|
|||||||
-name $VM_NAME &
|
-name $VM_NAME &
|
||||||
```
|
```
|
||||||
|
|
||||||
## Share internet between two linux interfaces using connman
|
## Share internet between two Linux interfaces using connman
|
||||||
|
|
||||||
### IP Host (eth1 has internet, eth0 is remote)
|
### IP Host (eth1 has internet, eth0 is remote)
|
||||||
|
|
||||||
@ -115,7 +137,7 @@ config <eth0> --ipv4 manual 192.168.137.2 255.255.255.0 192.168.137.1 --nameserv
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
In Windows you must have _Adobe Digital Editions_ and _Calibre_ using Chocolatey
|
On Windows, you must have _Adobe Digital Editions_ and _Calibre_ using Chocolatey
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
choco install -y adobedigitaleditions calibre
|
choco install -y adobedigitaleditions calibre
|
||||||
@ -125,11 +147,11 @@ choco install -y adobedigitaleditions calibre
|
|||||||
|
|
||||||
- Download the DeDRM plugin on [GitHub](https://github.com/noDRM/DeDRM_tools).
|
- Download the DeDRM plugin on [GitHub](https://github.com/noDRM/DeDRM_tools).
|
||||||
- Extract the plugin archive
|
- Extract the plugin archive
|
||||||
- Install the plugin in Calibre -> Preferences -> Plugins -> Add from file
|
- Install the plugin in Calibre → Preferences → Plugins → Add from file
|
||||||
|
|
||||||
### Getting the DRM-free pdf
|
### Getting the DRM-free PDF
|
||||||
|
|
||||||
- Open the pdf using _Adobe Digital Editions_
|
- Open the PDF using _Adobe Digital Editions_
|
||||||
- Navigate to C:/Users/\<USER\>/My\ Digital\ Editions
|
- Navigate to C:/Users/\<USER\>/My\ Digital\ Editions
|
||||||
- Add the PDF to calibre
|
- Add the PDF to calibre
|
||||||
- The DRM free PDF is available at C:/Users/\<USER\>/Calibre\ Library
|
- The DRM free PDF is available at C:/Users/\<USER\>/Calibre\ Library
|
||||||
@ -157,7 +179,7 @@ rm $BLOCK_PATH
|
|||||||
xzcat $IMG_FILE | dd of=/dev/$DEVICE bs=64k oflag=dsync status=progress
|
xzcat $IMG_FILE | dd of=/dev/$DEVICE bs=64k oflag=dsync status=progress
|
||||||
```
|
```
|
||||||
|
|
||||||
## Raise linux open files limits
|
## Raise Linux open files limits
|
||||||
|
|
||||||
In the file /etc/security/limits.conf add this :
|
In the file /etc/security/limits.conf add this :
|
||||||
|
|
||||||
@ -189,3 +211,9 @@ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3
|
|||||||
```sh
|
```sh
|
||||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj '/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname'
|
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj '/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Bind to port 80 or 443
|
||||||
|
|
||||||
|
[Is there a way for non-root processes to bind to "privileged" ports on Linux?](https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-on-linux)
|
||||||
|
|
||||||
|
[Allow non-root process to bind to port 80 and 443?](https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443)
|
||||||
|
33
colours
33
colours
@ -1,33 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Print out escape sequences usable for coloured text on tty.
|
|
||||||
printf 'Colour escapes are %s\n' '\e[${value};...;${value}m'
|
|
||||||
printf 'Values 30..37 are \e[33mforeground colours\e[m\n'
|
|
||||||
printf 'Values 40..47 are \e[43mbackground colours\e[m\n'
|
|
||||||
printf 'Value 1 gives a \e[1mbold look\e[m\n'
|
|
||||||
printf 'Value 2 gives a \e[2mdim look\e[m\n'
|
|
||||||
printf 'Value 3 gives a \e[3mitalic look\e[m\n'
|
|
||||||
printf 'Value 4 gives a \e[4munderlined look\e[m\n'
|
|
||||||
printf 'Value 5 gives a \e[5mblinking look\e[m\n\n'
|
|
||||||
|
|
||||||
# foreground colours
|
|
||||||
for fgc in {30..37}; do
|
|
||||||
# background colours
|
|
||||||
for bgc in {40..47}; do
|
|
||||||
fgc=${fgc#37} # white
|
|
||||||
bgc=${bgc#40} # black
|
|
||||||
|
|
||||||
vals="${fgc:+$fgc;}${bgc}"
|
|
||||||
vals=${vals%%;}
|
|
||||||
|
|
||||||
seq0="${vals:+\e[${vals}m}"
|
|
||||||
printf " %-9s" "${seq0:-(default)}"
|
|
||||||
echo -e -n " ${seq0}TEXT\e[m"
|
|
||||||
echo -e -n " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
|
|
||||||
echo -e -n " \e[${vals:+${vals+$vals;}}2mDIM\e[m"
|
|
||||||
echo -e -n " \e[${vals:+${vals+$vals;}}3mITA\e[m"
|
|
||||||
echo -e -n " \e[${vals:+${vals+$vals;}}4mUND\e[m"
|
|
||||||
echo -e -n " \e[${vals:+${vals+$vals;}}5mBLI\e[m"
|
|
||||||
done
|
|
||||||
echo; echo
|
|
||||||
done
|
|
75
colours.sh
Executable file
75
colours.sh
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Print out escape sequences usable for coloured text on tty.
|
||||||
|
# shellcheck disable=2016
|
||||||
|
printf 'Colour escapes are %s\n' '\e[${value};...;${value}m'
|
||||||
|
printf 'Values 30..37 are \e[33mforeground colours\e[m\n'
|
||||||
|
printf 'Values 40..47 are \e[43mbackground colours\e[m\n'
|
||||||
|
printf 'Value 1 gives a \e[1mbold look\e[m\n'
|
||||||
|
printf 'Value 2 gives a \e[2mdim look\e[m\n'
|
||||||
|
printf 'Value 3 gives a \e[3mitalic look\e[m\n'
|
||||||
|
printf 'Value 4 gives a \e[4munderlined look\e[m\n'
|
||||||
|
printf 'Value 5 gives a \e[5mblinking look\e[m\n\n'
|
||||||
|
|
||||||
|
# foreground colours
|
||||||
|
for fgc in {30..37}; do
|
||||||
|
# background colours
|
||||||
|
for bgc in {40..47}; do
|
||||||
|
fgc=${fgc#37} # white
|
||||||
|
bgc=${bgc#40} # black
|
||||||
|
|
||||||
|
vals="${fgc:+$fgc};${bgc}"
|
||||||
|
vals=${vals%%;}
|
||||||
|
|
||||||
|
seq0="${vals:+\e[${vals}m}"
|
||||||
|
printf " %-9s" "${seq0:-(default)}"
|
||||||
|
echo -en " ${seq0}TEXT\e[m"
|
||||||
|
echo -en " \e[${vals:+${vals+$vals}};1mBOLD\e[m"
|
||||||
|
echo -en " \e[${vals:+${vals+$vals}};2mDIM\e[m"
|
||||||
|
echo -en " \e[${vals:+${vals+$vals}};3mITA\e[m"
|
||||||
|
echo -en " \e[${vals:+${vals+$vals}};4mUND\e[m"
|
||||||
|
echo -en " \e[${vals:+${vals+$vals}};5mBLI\e[m"
|
||||||
|
done
|
||||||
|
echo; echo
|
||||||
|
done
|
||||||
|
|
||||||
|
rainbowColor() {
|
||||||
|
local h=$(($1 / 43))
|
||||||
|
local f=$(($1 - 43 * h))
|
||||||
|
local t=$((f * 255 / 43))
|
||||||
|
local q=$((255 - t))
|
||||||
|
|
||||||
|
if [ $h -eq 0 ]
|
||||||
|
then
|
||||||
|
echo "255 $t 0"
|
||||||
|
elif [ $h -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "$q 255 0"
|
||||||
|
elif [ $h -eq 2 ]
|
||||||
|
then
|
||||||
|
echo "0 255 $t"
|
||||||
|
elif [ $h -eq 3 ]
|
||||||
|
then
|
||||||
|
echo "0 $q 255"
|
||||||
|
elif [ $h -eq 4 ]
|
||||||
|
then
|
||||||
|
echo "$t 0 255"
|
||||||
|
elif [ $h -eq 5 ]
|
||||||
|
then
|
||||||
|
echo "255 0 $q"
|
||||||
|
else
|
||||||
|
# execution should never reach here
|
||||||
|
echo '0 0 0'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
rf(){ echo "$1" 0 0; }; gf(){ echo 0 "$1" 0; }; bf(){ echo 0 0 "$1"; }
|
||||||
|
for f in rf gf bf rainbowColor; do
|
||||||
|
for s in "$(seq 0 127)" "$(seq 255 -1 128)"; do
|
||||||
|
for i in $s; do
|
||||||
|
# shellcheck disable=2183,2046
|
||||||
|
printf '\x1b[48;2;%s;%s;%sm ' $($f "$i")
|
||||||
|
done
|
||||||
|
echo -en "\x1b[0m\n"
|
||||||
|
done
|
||||||
|
done
|
65
docker_build
Executable file
65
docker_build
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
repeat_char(){
|
||||||
|
end="$1"
|
||||||
|
for _ in $(seq 1 "$end") ; do
|
||||||
|
printf '%s' "$2";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
header(){
|
||||||
|
env printf "┌$(repeat_char 40 ─)┐\n"
|
||||||
|
env printf '│ %-38s │\n' "$1"
|
||||||
|
env printf "└$(repeat_char 40 '─')┘\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
base_images_cache=''
|
||||||
|
|
||||||
|
pull_base_images(){
|
||||||
|
base_images=$(echo "$1" | sed 's/ /\n/g' | rg -v "^($(printf '%s' "$base_images_cache" | sed -s 's/ /\|/g'))$" | paste -sd ' ')
|
||||||
|
# echo "BASE: $base_images"
|
||||||
|
# echo "CACHE: $base_images_cache"
|
||||||
|
if [ -n "$base_images" ]; then
|
||||||
|
base_images_cache="$base_images_cache $base_images"
|
||||||
|
echo 'Downloading base images'
|
||||||
|
echo "$base_images" | xargs -n1 docker pull
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build(){
|
||||||
|
[ ! -d "$1" ] && return 0
|
||||||
|
header "$(basename "$1")"
|
||||||
|
pull_base_images "$(fd Dockerfile "$1" -x rg FROM | cut -d ' ' -f 2 | sort | uniq | paste -sd ' ')"
|
||||||
|
echo 'Building...'
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
(cd "$1" && docker compose pull)
|
||||||
|
(cd "$1" && docker compose build)
|
||||||
|
else
|
||||||
|
(cd "$1" && docker compose build "$2")
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! rc-service docker status > /dev/null; then
|
||||||
|
echo 'Docker is not started, exiting'
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
build /home/_aspil0w/git/3d-playground
|
||||||
|
build /home/_aspil0w/git/CoverLetter
|
||||||
|
build /home/_aspil0w/git/CurriculumVitae
|
||||||
|
build /home/_aspil0w/git/dotfiles
|
||||||
|
build /home/_aspil0w/git/ESP32Manager
|
||||||
|
build /home/_aspil0w/git/haskell_playground
|
||||||
|
build /home/_aspil0w/git/IntershipReport
|
||||||
|
build /home/_aspil0w/git/notebook
|
||||||
|
build /home/_aspil0w/git/portfolio no_ssl
|
||||||
|
build /home/_aspil0w/git/portfolio_ivo no-ssl
|
||||||
|
build /home/_aspil0w/git/SimpleGradientDescent
|
||||||
|
build /home/_aspil0w/git/sorting_algorithms
|
||||||
|
build /home/_aspil0w/git/VariationalAutoEncoder
|
||||||
|
build /home/_aspil0w/git/ViolaJones
|
||||||
|
build /home/_aspil0w/git/wgan-gp
|
||||||
|
build /home/_aspil0w/git/WGAN-GP_Pytorch
|
||||||
|
build /home/_aspil0w/git/workspace/Data\ analysis/Speed\ dating\ experiment
|
||||||
|
build /home/_aspil0w/git/workspace/Miage/M2/Implementation\ de\ l\'IA
|
||||||
|
build /usr/local/src/Ventoy
|
38
protondb.sh
Executable file
38
protondb.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo 'Creating temporary working directory...'
|
||||||
|
rm -rf /tmp/proton-ge-custom
|
||||||
|
mkdir /tmp/proton-ge-custom
|
||||||
|
cd /tmp/proton-ge-custom
|
||||||
|
|
||||||
|
echo 'Creating Steam directory if it does not exist...'
|
||||||
|
mkdir -p ~/.steam/root/compatibilitytools.d
|
||||||
|
|
||||||
|
echo 'Getting ProtonGE metadata'
|
||||||
|
METADATA=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4)
|
||||||
|
test -n "$METADATA"
|
||||||
|
# If result is not empty, continue
|
||||||
|
|
||||||
|
echo 'Fetching tarball URL...'
|
||||||
|
TARBALL_URL=$(echo "$METADATA" | grep .tar.gz)
|
||||||
|
TARBALL_NAME=$(basename "$TARBALL_URL")
|
||||||
|
VERSION_NAME=$(echo "$TARBALL_NAME" | sed 's/.tar.gz//')
|
||||||
|
test -d ~/.steam/root/compatibilitytools.d/"$VERSION_NAME" && echo "Version $VERSION_NAME already present, aborting" && exit 0
|
||||||
|
echo "Downloading tarball: $TARBALL_NAME..."
|
||||||
|
curl -# -L "$TARBALL_URL" -o "$TARBALL_NAME" --no-progress-meter
|
||||||
|
|
||||||
|
echo 'Fetching checksum URL...'
|
||||||
|
CHECKSUM_URL=$(echo "$METADATA" | grep .sha512sum)
|
||||||
|
CHECKSUM_NAME=$(basename "$CHECKSUM_URL")
|
||||||
|
echo "Downloading checksum: $CHECKSUM_NAME..."
|
||||||
|
curl -# -L "$CHECKSUM_URL" -o "$CHECKSUM_NAME" --no-progress-meter
|
||||||
|
|
||||||
|
echo "Verifying tarball $TARBALL_NAME with checksum $CHECKSUM_NAME..."
|
||||||
|
sha512sum -c "$CHECKSUM_NAME"
|
||||||
|
# If result is ok, continue
|
||||||
|
|
||||||
|
echo "Extracting $TARBALL_NAME to Steam directory..."
|
||||||
|
tar -xf "$TARBALL_NAME" -C ~/.steam/root/compatibilitytools.d/
|
||||||
|
echo 'All done :)'
|
17
pull.sh
17
pull.sh
@ -12,23 +12,12 @@ cd ..
|
|||||||
for d in *; do
|
for d in *; do
|
||||||
cd "$d" || continue
|
cd "$d" || continue
|
||||||
|
|
||||||
#PULL_LOG=$(script -q /dev/null -c 'git pull')
|
PULL_LOG=$(script -q /dev/null -c 'git pull')
|
||||||
#if [ "$PULL_LOG" != "$(env printf 'Already up to date.\r\n')" ]; then
|
if [ "$PULL_LOG" != "$(env printf 'Already up to date.\r\n')" ]; then
|
||||||
# env printf "┌$(__r__ 40 ─)┐\n"
|
|
||||||
# env printf "│ %-38s │\n" "$d"
|
|
||||||
# env printf "└$(__r__ 40 '─')┘\n"
|
|
||||||
# echo "$PULL_LOG"
|
|
||||||
#fi
|
|
||||||
|
|
||||||
# git gc
|
|
||||||
# git clean -fx
|
|
||||||
|
|
||||||
STATUS_LOG=$(script -q /dev/null -c 'git status -s')
|
|
||||||
if [ -n "$STATUS_LOG" ]; then
|
|
||||||
env printf "┌$(__r__ 40 ─)┐\n"
|
env printf "┌$(__r__ 40 ─)┐\n"
|
||||||
env printf "│ %-38s │\n" "$d"
|
env printf "│ %-38s │\n" "$d"
|
||||||
env printf "└$(__r__ 40 '─')┘\n"
|
env printf "└$(__r__ 40 '─')┘\n"
|
||||||
echo "$STATUS_LOG"
|
echo "$PULL_LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
13
setup_unreal.sh
Executable file
13
setup_unreal.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
test -z "$REPO_PATH" && REPO_PATH="$HOME"/git
|
||||||
|
|
||||||
|
git clone git@github.com:EpicGames/UnrealEngine.git -b release --depth 1 "$REPO_PATH"/UnrealEngine
|
||||||
|
cd "$REPO_PATH"/UnrealEngine
|
||||||
|
./Setup.sh
|
||||||
|
./GenerateProjectFiles.sh
|
||||||
|
make
|
||||||
|
cd Engine/Binaries/Linux
|
||||||
|
./UnrealEditor
|
24
status.sh
Executable file
24
status.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
__r__(){
|
||||||
|
end="$1"
|
||||||
|
for _ in $(seq 1 "$end"); do
|
||||||
|
printf '%s' "$2";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
for d in *; do
|
||||||
|
cd "$d" || continue
|
||||||
|
|
||||||
|
STATUS_LOG=$(script -q /dev/null -c 'git status -s')
|
||||||
|
if [ -n "$STATUS_LOG" ]; then
|
||||||
|
env printf "┌$(__r__ 40 ─)┐\n"
|
||||||
|
env printf "│ %-38s │\n" "$d"
|
||||||
|
env printf "└$(__r__ 40 '─')┘\n"
|
||||||
|
echo "$STATUS_LOG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
done
|
31
update_req.sh
Executable file
31
update_req.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
repeat_char(){
|
||||||
|
end="$1"
|
||||||
|
for _ in $(seq 1 "$end") ; do
|
||||||
|
printf '%s' "$2";
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
header(){
|
||||||
|
env printf "┌$(repeat_char 150 ─)┐\n"
|
||||||
|
env printf '│ %-148s │\n' "$1"
|
||||||
|
env printf "└$(repeat_char 150 '─')┘\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
VENV_PATH='./.venv'
|
||||||
|
|
||||||
|
python -m venv --upgrade-deps "$VENV_PATH"
|
||||||
|
# shellcheck disable=1091
|
||||||
|
if [ -f "$VENV_PATH"/Scripts/activate ]; then . "$VENV_PATH"/Scripts/activate
|
||||||
|
elif [ -f "$VENV_PATH"/bin/activate ]; then . "$VENV_PATH"/bin/activate
|
||||||
|
else exit 1; fi
|
||||||
|
pip install --disable-pip-version pur
|
||||||
|
fd requirements.txt ~ | while read -r filename; do
|
||||||
|
header "$(realpath "$filename" | sed "s,$HOME,~,")"
|
||||||
|
pur -r "$filename"
|
||||||
|
done
|
||||||
|
deactivate
|
||||||
|
rm -rf "$VENV_PATH"
|
Reference in New Issue
Block a user