In this guide you will find:
- btrfs with Zstandard compression
- LUKS-encrypted root and swapfile
- GRUB with UEFI
You will not find:
- Instructions for file systems other than btrfs
| #!/usr/bin/lua | |
| -- load the http socket module | |
| http = require("socket.http") | |
| -- load the json module | |
| json = require("json") | |
| api_url = "http://api.openweathermap.org/data/2.5/weather?" | |
| -- http://openweathermap.org/help/city_list.txt , http://openweathermap.org/find | |
| cityid = "5128581" |
| # Install Arch Linux with full encrypted btrfs subvolume inside luks | |
| # Hardware: BIOS system, Intel GPU, Nvidia Optimus, Toshiba SSD, Wifi | |
| # Please adjust for your needs. | |
| # filename: install-arch-linux-on-btrfs-subvolume-inside-luks.txt | |
| # The official guide: https://wiki.archlinux.org/index.php/Installation_Guide | |
| # Download the archiso image from https://www.archlinux.org/download/ | |
| # Copy to a usb-drive | |
| dd bs=4M if=archlinux.iso of=/dev/sdx status=progress oflag=sync # on linux |
| # Generate a unique private key (KEY) | |
| sudo openssl genrsa -out mydomain.key 2048 | |
| # Generating a Certificate Signing Request (CSR) | |
| sudo openssl req -new -key mydomain.key -out mydomain.csr | |
| # Creating a Self-Signed Certificate (CRT) | |
| openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt | |
| # Append KEY and CRT to mydomain.pem |
| set nocompatible | |
| filetype off | |
| if empty(glob('~/.vim/autoload/plug.vim')) | |
| silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs | |
| \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | |
| autocmd VimEnter * PlugInstall --sync | source $MYVIMRC | |
| endif | |
| call plug#begin('~/.vim/plugged') |
| from smtplib import SMTP # Use this for standard SMTP protocol (port 25, no encryption) | |
| # from smtplib import SMTP_SSL as SMTP # This invokes the secure SMTP protocol (port 465, uses SSL) | |
| from email.mime.text import MIMEText | |
| class Email(object): | |
| SMTP_CONFIG = dict( | |
| server="your_smtp_server_hostname", | |
| username="your_smtp_server_username", | |
| password="your_smtp_server_password" |
For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.
Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.
You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.
| # A lambda (λ) prompt. | |
| # Green and red depending on exit status. | |
| # Underlined if git status is dirty. | |
| # Uppercase (Λ) if ahead of the remote. | |
| function fish_prompt | |
| if is_status_okay | |
| set_color green | |
| else | |
| set_color red |
The built image for a hello world project is less than 8 MB.
Builder image (it'd be best to upload this image to Docker Hub. This is 100% percent reusable).
FROM ubuntu:latest
ENV TARGET=x86_64-unknown-linux-musl
ENV BUILD_DIR=/src/target/x86_64-unknown-linux-musl/release/