Compare commits
No commits in common. "b62c1d1d47cc43c0fab72bfc3032cff91d85cbc1" and "981852674a8cffcece60fe30da92b2901d6d84c9" have entirely different histories.
b62c1d1d47
...
981852674a
8 changed files with 5 additions and 654 deletions
14
Makefile
14
Makefile
|
@ -1,11 +1,6 @@
|
||||||
|
|
||||||
PREFIX=/usr
|
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
prepare:
|
|
||||||
shards install
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
shards build --error-trace
|
shards build --error-trace
|
||||||
|
|
||||||
|
@ -13,11 +8,4 @@ spec: test
|
||||||
test:
|
test:
|
||||||
crystal spec --error-trace
|
crystal spec --error-trace
|
||||||
|
|
||||||
install:
|
.PHONY: spec test build all
|
||||||
install \
|
|
||||||
-m 755 \
|
|
||||||
-o root \
|
|
||||||
bin/code-preloader \
|
|
||||||
$(PREFIX)/bin
|
|
||||||
|
|
||||||
.PHONY: spec test build all prepare install
|
|
||||||
|
|
36
README.md
36
README.md
|
@ -19,43 +19,15 @@ ChatGPT.
|
||||||
repositories, performance may not be optimal due to processing constraints and
|
repositories, performance may not be optimal due to processing constraints and
|
||||||
the nature of interactions with ChatGPT.
|
the nature of interactions with ChatGPT.
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
Before installing and using Code-Preloader, make sure your system meets the
|
|
||||||
following requirements:
|
|
||||||
|
|
||||||
1. **Crystal Language**: Code-Preloader is written in Crystal. Ensure you have
|
|
||||||
the Crystal programming language installed on your system. For installation
|
|
||||||
instructions, refer to the [official Crystal language
|
|
||||||
website](https://crystal-lang.org/install/).
|
|
||||||
|
|
||||||
2. **Required Libraries**: The following libraries are necessary for the proper
|
|
||||||
functioning of Code-Preloader:
|
|
||||||
* `libevent`: Used for asynchronous event notification.
|
|
||||||
* `libyaml`: Required for YAML parsing.
|
|
||||||
* `libmagic`: Utilized for file type detection.
|
|
||||||
* `make`: Used to define compilation rules
|
|
||||||
|
|
||||||
On a Debian-based system, you can install these libraries using the following
|
|
||||||
command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install libevent-dev libyaml-dev libmagic-dev make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
To get started with Code-Preloader, ensure that you have the prerequisites
|
To get started with Code-Preloader, ensure that you have Crystal language installed on your system. Follow these steps to install:
|
||||||
installed on your system (see above).
|
|
||||||
|
|
||||||
Then follow these steps to install:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://code.apps.glenux.net/glenux/code-preloader
|
git clone https://code.apps.glenux.net/glenux/chatgpt-preloader
|
||||||
cd code-preloader
|
cd code-preloader
|
||||||
make prepare
|
shards install
|
||||||
make build
|
shards build
|
||||||
make install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
34
Vagrantfile
vendored
34
Vagrantfile
vendored
|
@ -1,34 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
# -*- mode: ruby -*-
|
|
||||||
# vi: set ft=ruby :
|
|
||||||
|
|
||||||
Vagrant.configure('2') do |config|
|
|
||||||
config.vm.box = 'debian/bookworm64'
|
|
||||||
config.vm.box_check_update = false
|
|
||||||
|
|
||||||
config.vm.provider 'virtualbox' do |vb|
|
|
||||||
vb.gui = false
|
|
||||||
vb.memory = '4096'
|
|
||||||
end
|
|
||||||
|
|
||||||
config.vm.provider "libvirt" do |lv|
|
|
||||||
# lv.cpus = "2"
|
|
||||||
lv.memory = "4096"
|
|
||||||
# enable nested virtualization
|
|
||||||
lv.nested = true
|
|
||||||
lv.cpu_mode = "host-model"
|
|
||||||
end
|
|
||||||
|
|
||||||
# config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ["vers=3,tcp"]
|
|
||||||
# config.vm.synced_folder "../../exercises", "/exercises", type: "nfs", mount_options: ["vers=3,tcp"]
|
|
||||||
|
|
||||||
config.vm.define 'demo' do |machine|
|
|
||||||
machine.vm.hostname = 'demo'
|
|
||||||
|
|
||||||
machine.vm.network 'forwarded_port', guest: 8080, host: 8080, host_ip: '127.0.0.1'
|
|
||||||
machine.vm.network 'forwarded_port', guest: 80, host: 1080, host_ip: '127.0.0.1'
|
|
||||||
end
|
|
||||||
|
|
||||||
config.vm.provision 'shell', path: 'misc/vagrant-provision/base.sh'
|
|
||||||
end
|
|
114
misc/SCRIPT.md
114
misc/SCRIPT.md
|
@ -1,114 +0,0 @@
|
||||||
|
|
||||||
# Minimalist FUSE Manager
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
Let's start by configuring `~/mnt/mfm.yml`!
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
We can add as many filesystems we want in the `filesystems:` list.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
Each filesystem has a `type:` and specific configuration parameters
|
|
||||||
|
|
||||||
The current values supported by *mfm* are `gocryptfs`, `httpdirfs` and `sshfs`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Preparation
|
|
||||||
|
|
||||||
Before using *mfm*, lets have a look at the `~/mnt/` directory.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Preparation
|
|
||||||
|
|
||||||
Yes, it is empty!
|
|
||||||
|
|
||||||
Don't worry, the mountpoint will be created automatically.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Ok. Now, simply run *mfm* and choose your favorite filesystem!
|
|
||||||
|
|
||||||
In this demo, I will choose `Public - Debian Repository` which is a remote web
|
|
||||||
page hosting debian packages and registy catalog.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Hmmm...
|
|
||||||
|
|
||||||
What happened?
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
A directory was created in `~/mnt`.
|
|
||||||
|
|
||||||
It is filled with files and directories from a remote system, in which we can
|
|
||||||
navigate.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
Let's detach it now!
|
|
||||||
|
|
||||||
Simply run *mfm* again, and choose the same filesystem.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
It is now detached, and the directory is empty again!
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
The *mfm* command works in the same way regardless of the filesystem selected.
|
|
||||||
|
|
||||||
It's simple, fast and efficient.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
The *mfm* project is still in its infancy.
|
|
||||||
|
|
||||||
We're looking for contributors to test it, to improve it, to make it even more
|
|
||||||
useful and enjoyable to use.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
But if you're just a user, we're already happy.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Conclusion
|
|
||||||
|
|
||||||
Now it's your turn to use *mfm*!
|
|
||||||
|
|
|
@ -1,373 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# shellcheck disable=SC2317
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
# parameters
|
|
||||||
konsole=org.kde.konsole-2913641
|
|
||||||
session=2
|
|
||||||
SLEEP_LONG_READ="3"
|
|
||||||
SLEEP_SHORT_READ="2"
|
|
||||||
SLEEP_TRANSITION="0.4"
|
|
||||||
SLEEP_COMMAND_BEFORE="0.4"
|
|
||||||
SLEEP_COMMAND_AFTER="0.65"
|
|
||||||
SLEEP_MICROPAUSE="0.25"
|
|
||||||
SLEEP_TYPESPEED="0.10"
|
|
||||||
|
|
||||||
qtype() {
|
|
||||||
qdbus "$konsole" "/Sessions/$session" sendText "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
qrun() {
|
|
||||||
qdbus "$konsole" "/Sessions/$session" runCommand "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
qctrlb() {
|
|
||||||
qdbus "$konsole" "/Sessions/$session" sendText $'\002'
|
|
||||||
}
|
|
||||||
|
|
||||||
qctrlc() {
|
|
||||||
qdbus "$konsole" "/Sessions/$session" sendText $'\003'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
qtype_slow() {
|
|
||||||
echo -n "$1" \
|
|
||||||
| sed 's/\(.\)/\1\n/g' \
|
|
||||||
| while IFS="" read -r X ; do qtype "$X" ; sleep "$SLEEP_TYPESPEED" ; done
|
|
||||||
}
|
|
||||||
|
|
||||||
tmux_key() {
|
|
||||||
qctrlb
|
|
||||||
sleep 0.5
|
|
||||||
qtype "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
qtype_arrow_up() {
|
|
||||||
qtype $'\033'
|
|
||||||
qtype "[A"
|
|
||||||
}
|
|
||||||
|
|
||||||
qtype_arrow_down() {
|
|
||||||
qtype $'\033'
|
|
||||||
qtype "[B"
|
|
||||||
}
|
|
||||||
|
|
||||||
qtype_arrow_left() {
|
|
||||||
qtype $'\033'
|
|
||||||
qtype "[D"
|
|
||||||
}
|
|
||||||
|
|
||||||
qtype_arrow_right() {
|
|
||||||
qtype $'\033'
|
|
||||||
qtype "[C"
|
|
||||||
}
|
|
||||||
|
|
||||||
## cleanup
|
|
||||||
|
|
||||||
qctrlc
|
|
||||||
tmux_key "d"
|
|
||||||
qctrlc
|
|
||||||
|
|
||||||
qrun "clear"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "cd ~/src/mfm"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "cp doc/demo.mfm.yml ~/.config/mfm.yml"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "rm -f output.rec"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "tmux kill-session -t demo"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "mkdir -p /home/vagrant/mnt"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "fusermount -u \"/home/vagrant/mnt/Public - Remote Debian Repository\""
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "rm -fr \"/home/vagrant/mnt/Public - Remote Debian Repository\""
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "# cleanup done"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
## reset demo environment
|
|
||||||
qrun "tmux new -s demo"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
tmux_key "c"
|
|
||||||
qrun "cd ~/src/mfm"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "mdp --noslidenum doc/SCRIPT.md"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
|
|
||||||
tmux_key "c"
|
|
||||||
qrun "export PATH=\$PATH:~/src/mfm/bin"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "export FZF_DEFAULT_OPTS=\"--height 40% --layout=reverse --border\""
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "alias cat=\"batcat -p\""
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "cd ~/src/mfm"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun "clear"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
|
|
||||||
tmux_key "1"
|
|
||||||
tmux_key ":"
|
|
||||||
qrun "set -g status off"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
|
|
||||||
tmux_key "d"
|
|
||||||
|
|
||||||
## record
|
|
||||||
qrun "asciinema rec --cols 80 --rows 24 -c 'tmux attach' output.rec"
|
|
||||||
|
|
||||||
# slide 1 (title)
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 2 (config file)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# cmd 2 (show config file)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
|
|
||||||
tmux_key "2"
|
|
||||||
qtype_slow "cat "
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "~/.config"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "/mfm.yml"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qrun ""
|
|
||||||
sleep "$SLEEP_LONG_READ" # double
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
tmux_key "1"
|
|
||||||
|
|
||||||
# slide 3 (config options 1)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 4 (config options 2)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 5 (preparation - mnt)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# demo 5 (show mnt)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
|
|
||||||
tmux_key "2"
|
|
||||||
qtype_slow "cd "
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "~/mnt"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
tmux_key "1"
|
|
||||||
|
|
||||||
# slide 6 (preparation - empty mnt!)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 7 (usage - run)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# demo 7 (run mfm)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
|
|
||||||
tmux_key "2"
|
|
||||||
qtype_slow "m"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "f"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "m"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_arrow_down
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_arrow_down
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_arrow_up
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
tmux_key "1"
|
|
||||||
|
|
||||||
# slide 8 (usage - what?)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# demo 8 (usage - what : show mnt)
|
|
||||||
tmux_key "2"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "cd \"Pub"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype "lic - Remote Debian Repository\""
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "cd pool"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "cd main"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
tmux_key "1"
|
|
||||||
|
|
||||||
# slide 9 (usage - explanation)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 10 (usage - prepare for detach)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# demo 10 (run mfm for detach)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
|
|
||||||
tmux_key "2"
|
|
||||||
|
|
||||||
qtype_slow "cd ~/mnt/"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
|
|
||||||
qtype_slow "m"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "f"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_slow "m"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_arrow_down
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_arrow_down
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype_arrow_up
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "cd \"Pub"
|
|
||||||
sleep "$SLEEP_MICROPAUSE"
|
|
||||||
qtype "lic - Remote Debian Repository\""
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "ls"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_SHORT_READ"
|
|
||||||
|
|
||||||
qtype_slow "ls -la"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
sleep "$SLEEP_COMMAND_BEFORE"
|
|
||||||
qtype $'\015'
|
|
||||||
sleep "$SLEEP_COMMAND_AFTER"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
tmux_key "1"
|
|
||||||
|
|
||||||
# slide 11 (usage - detached)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
|
|
||||||
# slide 12 (conclusion)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 13 (conclusion)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 14 (conclusion)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# slide 15 (conclusion)
|
|
||||||
qtype " "
|
|
||||||
sleep "$SLEEP_TRANSITION"
|
|
||||||
sleep "$SLEEP_LONG_READ"
|
|
||||||
|
|
||||||
# detach and clean
|
|
||||||
tmux_key "d"
|
|
||||||
|
|
||||||
qrun "tmux kill-session -t demo"
|
|
||||||
qrun "termtosvg render output.rec output.svg"
|
|
||||||
|
|
||||||
qrun "# success!"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
USER="$(test -d /vagrant && echo "vagrant" || echo "debian")"
|
|
||||||
HOSTNAME="$(hostname)"
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
echo "Installing required system packages"
|
|
||||||
apt-get update --allow-releaseinfo-change
|
|
||||||
apt-get install -y \
|
|
||||||
apt-transport-https \
|
|
||||||
ca-certificates \
|
|
||||||
git \
|
|
||||||
curl \
|
|
||||||
wget \
|
|
||||||
vim \
|
|
||||||
gnupg2 \
|
|
||||||
software-properties-common
|
|
||||||
|
|
||||||
# echo "Installing mfm requirements"
|
|
||||||
# apt-get install -y \
|
|
||||||
# fzf \
|
|
||||||
# sshfs \
|
|
||||||
# httpdirfs \
|
|
||||||
# libyaml-0-2 \
|
|
||||||
# libyaml-dev \
|
|
||||||
# libpcre3-dev \
|
|
||||||
# libevent-dev
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# install crystal
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
USER="$(test -d /vagrant && echo "vagrant" || echo "debian")"
|
|
||||||
HOSTNAME="$(hostname)"
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
echo "Installing mfm requirements"
|
|
||||||
apt-get install -y \
|
|
||||||
fzf \
|
|
||||||
sshfs \
|
|
||||||
httpdirfs \
|
|
||||||
libyaml-0-2 \
|
|
||||||
libyaml-dev \
|
|
||||||
libpcre3-dev \
|
|
||||||
libevent-dev
|
|
||||||
|
|
||||||
# Installing asdf
|
|
||||||
su - "$USER" -c "git config --global advice.detachedHead false"
|
|
||||||
su - "$USER" -c "rm -rf ~/.asdf"
|
|
||||||
su - "$USER" -c "git clone --quiet https://github.com/asdf-vm/asdf.git \
|
|
||||||
~/.asdf \
|
|
||||||
--branch v0.8.0"
|
|
||||||
su - "$USER" -c "echo '. \$HOME/.asdf/asdf.sh' >> ~/.bashrc"
|
|
||||||
|
|
||||||
su - "$USER" -c "source \$HOME/.asdf/asdf.sh \
|
|
||||||
&& asdf plugin add crystal 2>&1 \
|
|
||||||
&& asdf install crystal 1.7.3 >/dev/null 2>&1 \
|
|
||||||
&& asdf global crystal 1.7.3"
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# install crystal
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
USER="$(test -d /vagrant && echo "vagrant" || echo "debian")"
|
|
||||||
HOSTNAME="$(hostname)"
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
echo "Installing required system packages"
|
|
||||||
apt-get update --allow-releaseinfo-change
|
|
||||||
|
|
||||||
echo "Installing recording requirements"
|
|
||||||
apt-get install -y \
|
|
||||||
tmux \
|
|
||||||
mdp \
|
|
||||||
bat \
|
|
||||||
asciinema \
|
|
||||||
termtosvg
|
|
||||||
|
|
Loading…
Reference in a new issue