diff options
-rw-r--r-- | etc/crypttab | 14 | ||||
-rw-r--r-- | etc/fstab | 15 | ||||
-rw-r--r-- | etc/hostname | 1 | ||||
-rw-r--r-- | etc/makepkg.conf | 159 | ||||
-rw-r--r-- | etc/mkinitcpio.conf | 67 | ||||
-rw-r--r-- | etc/systemd/system/paccache.service.d/20-remove-all-uninstalled.conf | 9 | ||||
-rw-r--r-- | home/xyz/.config/lf/lfrc | 1 | ||||
-rw-r--r-- | home/xyz/.config/myconf/pacman_Qqme | 18 | ||||
-rw-r--r-- | home/xyz/.config/myconf/pacman_Qqne | 115 | ||||
-rw-r--r-- | home/xyz/.config/myconf/sye | 15 | ||||
-rw-r--r-- | home/xyz/.config/myconf/syue | 6 | ||||
-rw-r--r-- | home/xyz/.gnupg/gpg.conf | 1 | ||||
-rwxr-xr-x | home/xyz/.local/bin/loop | 15 | ||||
-rwxr-xr-x | home/xyz/.local/bin/lsp | 3 | ||||
-rwxr-xr-x | home/xyz/.local/bin/mvtu | 13 | ||||
-rw-r--r-- | home/xyz/.ssh/config | 29 |
16 files changed, 481 insertions, 0 deletions
diff --git a/etc/crypttab b/etc/crypttab new file mode 100644 index 00000000..8ce17a7e --- /dev/null +++ b/etc/crypttab @@ -0,0 +1,14 @@ +# Configuration for encrypted block devices. +# See crypttab(5) for details. + +# NOTE: Do not list your root (/) partition here, it must be set up +# beforehand by the initramfs (/etc/mkinitcpio.conf). + +# <name> <device> <password> <options> +# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1 +# data1 /dev/sda3 /etc/mypassword2 +# data2 /dev/sda5 /etc/cryptfs.key +# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/sdb7 none + +home UUID=20542319-35a2-4325-9df9-2ed9bd795d0f diff --git a/etc/fstab b/etc/fstab new file mode 100644 index 00000000..aaad5b18 --- /dev/null +++ b/etc/fstab @@ -0,0 +1,15 @@ +# Static information about the filesystems. +# See fstab(5) for details. + +# <file system> <dir> <type> <options> <dump> <pass> +# /dev/mapper/root +UUID=2073de6a-b615-4ba8-b71b-5433cf9cbca1 / ext4 rw,relatime 0 1 + +# /dev/sda1 +UUID=e296d380-93d5-4e4a-a5b8-52e2bd52d26c /boot ext4 rw,relatime 0 2 + +# /dev/mapper/home +UUID=7d01dc7d-d269-4d41-a8aa-ef0ff2bf4f9c /home ext4 rw,relatime 0 2 + +/swapfile none swap defaults 0 0 + diff --git a/etc/hostname b/etc/hostname new file mode 100644 index 00000000..4aaa7261 --- /dev/null +++ b/etc/hostname @@ -0,0 +1 @@ +xyzstudio diff --git a/etc/makepkg.conf b/etc/makepkg.conf new file mode 100644 index 00000000..837adafe --- /dev/null +++ b/etc/makepkg.conf @@ -0,0 +1,159 @@ +#!/hint/bash +# +# /etc/makepkg.conf +# + +######################################################################### +# SOURCE ACQUISITION +######################################################################### +# +#-- The download utilities that makepkg should use to acquire sources +# Format: 'protocol::agent' +DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' + 'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' + 'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' + 'rsync::/usr/bin/rsync --no-motd -z %u %o' + 'scp::/usr/bin/scp -C %u %o') + +# Other common tools: +# /usr/bin/snarf +# /usr/bin/lftpget -c +# /usr/bin/wget + +#-- The package required by makepkg to download VCS sources +# Format: 'protocol::package' +VCSCLIENTS=('bzr::breezy' + 'fossil::fossil' + 'git::git' + 'hg::mercurial' + 'svn::subversion') + +######################################################################### +# ARCHITECTURE, COMPILE FLAGS +######################################################################### +# +CARCH="x86_64" +CHOST="x86_64-pc-linux-gnu" + +#-- Compiler and Linker Flags +#CPPFLAGS="" +CFLAGS="-march=native -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection" +CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" +LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" +LTOFLAGS="-flto=auto" +RUSTFLAGS="-C opt-level=2 -C target-cpu=native" +#-- Make Flags: change this for DistCC/SMP systems +#MAKEFLAGS="-j2" +#-- Debugging flags +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" +#DEBUG_RUSTFLAGS="-C debuginfo=2" + +######################################################################### +# BUILD ENVIRONMENT +######################################################################### +# +# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) +# A negated environment option will do the opposite of the comments below. +# +#-- distcc: Use the Distributed C/C++/ObjC compiler +#-- color: Colorize output messages +#-- ccache: Use ccache to cache compilation +#-- check: Run the check() function if present in the PKGBUILD +#-- sign: Generate PGP signature file +# +BUILDENV=(!distcc color !ccache check !sign) +# +#-- If using DistCC, your MAKEFLAGS will also need modification. In addition, +#-- specify a space-delimited list of hosts running in the DistCC cluster. +#DISTCC_HOSTS="" +# +#-- Specify a directory for package building. +#BUILDDIR=/tmp/makepkg + +######################################################################### +# GLOBAL PACKAGE OPTIONS +# These are default values for the options=() settings +######################################################################### +# +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# A negated option will do the opposite of the comments below. +# +#-- strip: Strip symbols from binaries/libraries +#-- docs: Save doc directories specified by DOC_DIRS +#-- libtool: Leave libtool (.la) files in packages +#-- staticlibs: Leave static library (.a) files in packages +#-- emptydirs: Leave empty directories in packages +#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip +#-- purge: Remove files specified by PURGE_TARGETS +#-- debug: Add debugging flags as specified in DEBUG_* variables +#-- lto: Add compile flags for building with link time optimization +# +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) + +#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 +INTEGRITY_CHECK=(sha256) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" +#-- Manual (man and info) directories to compress (if zipman is specified) +MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) +#-- Doc directories to remove (if !docs is specified) +DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) +#-- Files to be removed from all packages (if purge is specified) +PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) +#-- Directory to store source code in for debug packages +DBGSRCDIR="/usr/src/debug" + +######################################################################### +# PACKAGE OUTPUT +######################################################################### +# +# Default: put built package and cached source in build directory +# +#-- Destination: specify a fixed directory where all packages will be placed +#PKGDEST=/home/packages +#-- Source cache: specify a fixed directory where source files will be cached +#SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages +#-- Log files: specify a fixed directory where all log files will be placed +#LOGDEST=/home/makepkglogs +#-- Packager: name/email of the person or organization building packages +#PACKAGER="John Doe <john@doe.com>" +#-- Specify a key to use for package signing +#GPGKEY="" + +######################################################################### +# COMPRESSION DEFAULTS +######################################################################### +# +COMPRESSGZ=(gzip -c -f -n) +COMPRESSBZ2=(bzip2 -c -f) +COMPRESSXZ=(xz -c -z -) +COMPRESSZST=(zstd -c -z -q -) +COMPRESSLRZ=(lrzip -q) +COMPRESSLZO=(lzop -q) +COMPRESSZ=(compress -c -f) +COMPRESSLZ4=(lz4 -q) +COMPRESSLZ=(lzip -c -f) + +######################################################################### +# EXTENSION DEFAULTS +######################################################################### +# +PKGEXT='.pkg.tar.zst' +SRCEXT='.src.tar.gz' + +######################################################################### +# OTHER +######################################################################### +# +#-- Command used to run pacman as root, instead of trying sudo and su +#PACMAN_AUTH=() diff --git a/etc/mkinitcpio.conf b/etc/mkinitcpio.conf new file mode 100644 index 00000000..74109949 --- /dev/null +++ b/etc/mkinitcpio.conf @@ -0,0 +1,67 @@ +# vim:set ft=sh +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES=(piix ide_disk reiserfs) +MODULES=() + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES=() + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES=() + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No raid, lvm2, or encrypted root is needed. +# HOOKS=(base) +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS=(base udev autodetect block filesystems) +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS=(base udev block filesystems) +# +## This setup assembles a pata mdadm array with an encrypted root FS. +## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. +# HOOKS=(base udev block mdadm encrypt filesystems) +# +## This setup loads an lvm2 volume group on a usb device. +# HOOKS=(base udev block lvm2 filesystems) +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr, fsck and shutdown hooks. +HOOKS=(base systemd autodetect keyboard modconf block sd-encrypt filesystems fsck) + +# COMPRESSION +# Use this to compress the initramfs image. By default, zstd compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="zstd" +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=() diff --git a/etc/systemd/system/paccache.service.d/20-remove-all-uninstalled.conf b/etc/systemd/system/paccache.service.d/20-remove-all-uninstalled.conf new file mode 100644 index 00000000..38d3c2d0 --- /dev/null +++ b/etc/systemd/system/paccache.service.d/20-remove-all-uninstalled.conf @@ -0,0 +1,9 @@ +[Service] +# keep original `ExecStart=/usr/bin/paccache -r` while adding to the list +# because I want the default behavior and also remove all uninstalled pacman package cache +# may need `sudo systemctl daemon-reload` afterward +# if I want to clear the list first, I should do a line of `ExecStart=` first +# more about drop-in dir see `man systemd.unit`, more about ExecStart see `man systemd.service` +# https://wiki.archlinux.org/title/Systemd#Drop-in_files +# https://wiki.archlinux.org/title/Systemd#Examples +ExecStart=/usr/bin/paccache -ruk0 diff --git a/home/xyz/.config/lf/lfrc b/home/xyz/.config/lf/lfrc new file mode 100644 index 00000000..c78889d6 --- /dev/null +++ b/home/xyz/.config/lf/lfrc @@ -0,0 +1 @@ +set hidden diff --git a/home/xyz/.config/myconf/pacman_Qqme b/home/xyz/.config/myconf/pacman_Qqme new file mode 100644 index 00000000..a173d6fe --- /dev/null +++ b/home/xyz/.config/myconf/pacman_Qqme @@ -0,0 +1,18 @@ +absolutely-proprietary +bash-complete-alias +dashbinsh +dwm_fly-git +f3 +htop-vim +hw-probe-git +iotop-c +jackett-bin +johnnydep +librespeed-cli +neofetch-git +paru-bin +pipdeptree +tldr-sh +ts +units +xxd-standalone diff --git a/home/xyz/.config/myconf/pacman_Qqne b/home/xyz/.config/myconf/pacman_Qqne new file mode 100644 index 00000000..c052086d --- /dev/null +++ b/home/xyz/.config/myconf/pacman_Qqne @@ -0,0 +1,115 @@ +alacritty +alsa-utils +aria2 +autoconf +automake +base +bash-completion +bind +binutils +bison +busybox +checkbashisms +chrony +clang +cmake +cups +dash +dmenu +dos2unix +enca +fakeroot +fbgrab +fio +flex +fuse2 +fuse3 +fwupd +fzf +gcc +git +grub +hdparm +hyperfine +ifplugd +ifuse +imagemagick +intel-ucode +ioping +jq +lf +libtool +libva-mesa-driver +libva-utils +libxft +linux +linux-docs +linux-firmware +llvm +lostfiles +lsof +m4 +make +man-db +man-pages +mesa-vdpau +moreutils +nawk +neovim +nethogs +networkmanager +nftables +ninja +nmap +npm +openssh +p7zip +pacman-contrib +patch +pkgconf +posix +posix-c-development +posix-software-development +posix-user-portability +posix-xsi +powertop +python-pip +python-pkginfo +python-wheel +qbittorrent +qrencode +radeontop +reflector +remind +rsync +rtmpdump +rustup +shellcheck +smartmontools +speedtest-cli +splix +sqlite +strace +sudo +sysbench +texinfo +tmux +tree +udisks2 +unzip +usbutils +vdpauinfo +vidir2-git +w3m +wget +which +xdg-user-dirs +xdg-utils +xf86-video-ati +xorg-server +xorg-xinit +xorg-xrandr +xorg-xsetroot +yarn +zip +zoxide diff --git a/home/xyz/.config/myconf/sye b/home/xyz/.config/myconf/sye new file mode 100644 index 00000000..79938852 --- /dev/null +++ b/home/xyz/.config/myconf/sye @@ -0,0 +1,15 @@ +UNIT FILE STATE PRESET +getty@.service enabled enabled +NetworkManager-dispatcher.service enabled disabled +NetworkManager-wait-online.service enabled disabled +NetworkManager.service enabled disabled +nftables.service enabled disabled +sshd.service enabled disabled +systemd-resolved.service enabled enabled +systemd-time-wait-sync.service enabled disabled +systemd-timesyncd.service enabled enabled +remote-fs.target enabled enabled +paccache.timer enabled disabled +pacman-filesdb-refresh.timer enabled disabled + +12 unit files listed. diff --git a/home/xyz/.config/myconf/syue b/home/xyz/.config/myconf/syue new file mode 100644 index 00000000..41742797 --- /dev/null +++ b/home/xyz/.config/myconf/syue @@ -0,0 +1,6 @@ +UNIT FILE STATE PRESET +ssh-agent.service enabled enabled +xdg-user-dirs-update.service enabled enabled +p11-kit-server.socket enabled enabled + +3 unit files listed. diff --git a/home/xyz/.gnupg/gpg.conf b/home/xyz/.gnupg/gpg.conf new file mode 100644 index 00000000..8f7aa8dc --- /dev/null +++ b/home/xyz/.gnupg/gpg.conf @@ -0,0 +1 @@ +with-subkey-fingerprint diff --git a/home/xyz/.local/bin/loop b/home/xyz/.local/bin/loop new file mode 100755 index 00000000..6a578267 --- /dev/null +++ b/home/xyz/.local/bin/loop @@ -0,0 +1,15 @@ +#!/bin/sh + +while getopts t: opt; do + case $opt in + t) time="$OPTARG";; + \?) exit 1;; + esac +done +shift $((OPTIND-1)) + +while :; do + # suggested by https://github.com/koalaman/shellcheck/wiki/SC2294 + "$@" + sleep "${time:-1}" +done diff --git a/home/xyz/.local/bin/lsp b/home/xyz/.local/bin/lsp new file mode 100755 index 00000000..4e2caa01 --- /dev/null +++ b/home/xyz/.local/bin/lsp @@ -0,0 +1,3 @@ +#!/bin/sh + +loop ssh "${1:-pp}" diff --git a/home/xyz/.local/bin/mvtu b/home/xyz/.local/bin/mvtu new file mode 100755 index 00000000..6160507f --- /dev/null +++ b/home/xyz/.local/bin/mvtu @@ -0,0 +1,13 @@ +#!/bin/sh +# MV Time-Uuid + +find "$@" -type f -execdir sh -c ' + file="$(basename "$1")" + ext="${file##*.}" + if [ "$ext" != "$file" ]; then + dest="$(time-uuid).$ext" + else + dest="$(time-uuid)" + fi + [ -e "dest" ] || mv -v -- "$1" "$dest" +' shell '{}' \; diff --git a/home/xyz/.ssh/config b/home/xyz/.ssh/config new file mode 100644 index 00000000..7e857975 --- /dev/null +++ b/home/xyz/.ssh/config @@ -0,0 +1,29 @@ +# be careful not to put this under `HOST xxx`, else only when ssh to that host will add keys to agent +# another approach is to put it under `HOST *` +# https://unix.stackexchange.com/a/577490/459013 +AddKeysToAgent yes + +# tabs and empty only for readability, without also works, not sure about newline +Host studio + HostName xyzstudio.local + User xyz + +Host aur aur.archlinux.org + Hostname aur.archlinux.org + User aur + +Host insp + HostName xyzinsp.local + User xyz + +Host pi raspberrypi.local + HostName raspberrypi.local + User pi + +Host pp + HostName xyzpp.local + User xyz + +Host ka + HostName xyzka.kyun.li + User xyz |