wip / i3wm ➔ hyprland
and, several clean-ups at the same time
This commit is contained in:
75
README.md
75
README.md
@@ -1,4 +1,4 @@
|
||||
# linux arch
|
||||
# fro's arch linux installation
|
||||
|
||||
## step one :: usb drive preparation
|
||||
|
||||
@@ -36,7 +36,7 @@ Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C
|
||||
- error: `dd: failed to open '/dev/sda': Device or resource busy`
|
||||
- solution: using `gparted`, you can reformat the drive (from fat32) to ext4, then try again
|
||||
|
||||
## step two :: boot the iso
|
||||
## step two :: boot from the iso
|
||||
|
||||
- boot the target system using the arch iso, and prepare for a [guided install](https://archinstall.archlinux.page/installing/guided.html)
|
||||
- tuxwarrior: `F2` for BIOS
|
||||
@@ -53,7 +53,9 @@ Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C
|
||||
- solution
|
||||
- re-install the ISO on another USB device
|
||||
|
||||
## step three :: generate config for new hosts
|
||||
## step three :: generate config files for new host
|
||||
|
||||
please note, this step is only needed when arch is to be installed on a new host.
|
||||
|
||||
- on **new host**:
|
||||
- `archinstall --dry-run`
|
||||
@@ -94,7 +96,7 @@ Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C
|
||||
- example: copied from `dots/archinstall/t470p` to `dots/archinstall/tuxwarrior`
|
||||
- commit changes to this repo, adding the new host files
|
||||
|
||||
## step four :: arch install :: the basics
|
||||
## step four :: install arch
|
||||
|
||||
- `ip link`
|
||||
- `lo` (loopback - special device)
|
||||
@@ -115,15 +117,16 @@ Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C
|
||||
- password: [poq.L1]
|
||||
- make sure both user .json files have been downloaded and updated
|
||||
- two files should be listed: `user_configuration.json` and `user_credentials.json`
|
||||
- check datestamp shown at the end when running the script
|
||||
- check datestamp shown at the end when running the script [260225_comment: why?]
|
||||
- `archinstall --config user_configuration.json --creds user_credentials.json`
|
||||
- Install
|
||||
- ➔ Would you like to chroot into ... perform post-installation config?
|
||||
- `no`
|
||||
- `reboot`
|
||||
|
||||
## step five :: arch install :: software & dot files (dots)
|
||||
## step five :: setup dot files and install software
|
||||
|
||||
- note: it might be handy to comment out ALL packages in `packages.txt`, and only be installing one package at a time. this way obsolete packages, no longer needed, will not be installed on the new system
|
||||
- log in as `poq`
|
||||
- `nmtui` (activate internet connection)
|
||||
- set up ct (caretaker - system management tool)
|
||||
@@ -134,66 +137,47 @@ Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C
|
||||
- `sudo ./ctsetup.sh`
|
||||
- `sudo ct yay` (install yay, which is used to install aur packages)
|
||||
- `sudo ct uf` (full update, install packages)
|
||||
- same as running the two commands:
|
||||
- `sudo ct s`
|
||||
- `sudo ct dots`
|
||||
- same as running the two commands `sudo ct s` (software) and `sudo ct d` (dots)
|
||||
- `sudo ct dots+` (download wallpapers, fonts++)
|
||||
- `sudo ufw enable` (enable firewall)
|
||||
- loop install - untill all programs are successfully installed
|
||||
- loop install - until all programs are successfully installed, as i have experiences not all being installed at once
|
||||
- note that some packages (in `packages.txt`) might have to be removed, as they might no longer be active / be working
|
||||
- `sudo ct s`
|
||||
- `sudo ufw enable` (enable firewall)
|
||||
- `reboot` & re-login
|
||||
- `hypr.sh` (start hyperland)
|
||||
- several windows will start
|
||||
- in the background there might will be a window where you are asked to set password for the gnome keyring
|
||||
- the gnome keyring window will always be in focus, and there is no way to close the other windows while this is happening
|
||||
- press `escape` to close the gnome window
|
||||
- ignore the pCloudDrive, Nextcloud and ProtonVPN windows
|
||||
- open and close librewolf to have librewolf's profile directory being created
|
||||
- start librewolf (`SUP + D` ➔ `librewolf`)
|
||||
- close librewolf
|
||||
- open the terminal (`SUP + Enter`)
|
||||
- create local sync folder for nextcloud
|
||||
- `mkdir /home/poq/nextcloud`
|
||||
- note: local folder must match `$SYNCDIR_HOSTNAME` in `dots/environment/environment`
|
||||
- `ct s` (install sw that were not installed first time around - not sure why not all sw is installed the first time around)
|
||||
- press `escape` to close the keyring window
|
||||
- ignore the pCloudDrive, Nextcloud and other windows
|
||||
- run `firstBoot.sh`
|
||||
- this will start and close librewolf, for having the browser's profile directory being created, as well as creating a directory for nextcloud
|
||||
- `ct dots` (the re-run of dots will deploy librewolf settings)
|
||||
- `ct services` (enable services)
|
||||
- `reboot` & re-login
|
||||
- once again, press esc to close the gnome keyring window
|
||||
- leave the other windows open
|
||||
- open librewolf and log into bitwarden.com
|
||||
- here you will find the needed usernames, passwords and one time codes for logging into the below mentioned applications
|
||||
- settings ➔ change device name ➔ `YYMM - poq @ tuxwarrior`
|
||||
- settings ➔ set as default browser
|
||||
- settings ➔ and log into librewolf sync
|
||||
- set up pCloud
|
||||
- log in
|
||||
- settings ➔ disk usage ➔ disk space: 2048 ➔ 10240 & cache size: 5120 ➔ 51200 (~51 gb)
|
||||
- set up nextcloud
|
||||
- log in
|
||||
- using the credentials found at <https://vault.bitwarden.com/#/vault?folderId=aab7655a-38a5-4a6d-92e6-acdc00ff63b6>
|
||||
- server address: `https://nx.op.fo`
|
||||
- at this point the gnome keyring manager will pop up again, and ask for a password
|
||||
- leave both (password and confirm) fields blank, and press continue, and chose to store passwords unencrypted
|
||||
- _"To use automatic unlocking with automatic login, you can set a blank password for the default keyring. Note that the contents of the keyring are stored unencrypted in this case."_
|
||||
- https://wiki.archlinux.org/title/GNOME/Keyring
|
||||
- pick local folder (created above, like `/home/poq/nextcloud`), and
|
||||
- choose `Synchronize everything from server`
|
||||
- and disable the two options `Ask before syncing folders larger than xxx` and `Ask before syncing external storages`
|
||||
- pick local folder `/home/poq/nextcloud` and
|
||||
- choose `Synchronize everything from server` and
|
||||
- disable the two options `Ask before syncing folders larger than xxx` and `Ask before syncing external storages`
|
||||
- click `Connect`
|
||||
- wait for nextcloud to complete syncronisation
|
||||
- this will likely take time. how long depends on the internet speed and the amount of data stored with nextcloud.
|
||||
|
||||
|
||||
|
||||
DOCUMENT CRYPTOMATOR AND KEY UPDATES! AND/OR - CHANGE KEY UPDATES FROM NEXTCLOUD TO CRYPTOMATOR??? OR,,,
|
||||
|
||||
- this will likely take some time. how long depends on the internet speed and the amount of data stored with nextcloud.
|
||||
- when the sync is complete, continue with the next step
|
||||
|
||||
## step six :: post syncronisation tasks
|
||||
|
||||
- `syncDirSetup.sh` (will set up `~/syncDir`)
|
||||
- `deploySshKeys.sh` (deployment of ssh keys)
|
||||
- `importGnupgKeys.sh` (deployment of gnupgp keys)
|
||||
- `importGnupgKeys.sh` (deployment of gpg keys)
|
||||
- `gitReposSoftlinker.sh` (create softlinks to all repos at `~/syncDir/gitRepos/`)
|
||||
- `chmodAllSh.sh` (fixes mode change from 14001 to 217 errors in repo)
|
||||
- `reboot` and re-login
|
||||
@@ -204,6 +188,15 @@ if the system runs nvidia, follow the steps in [nvidia.md](nvidia.md) to set up
|
||||
|
||||
## step eight :: post installation tasks
|
||||
|
||||
|
||||
- **KEEPASSXC**
|
||||
|
||||
- `/home/poq/syncDir/secrets/keePassXC/passwordVaultA.kdbx`
|
||||
|
||||
- **PCLOUD**
|
||||
- log in
|
||||
- settings ➔ disk usage ➔ disk space: 2048 ➔ 10240 & cache size: 5120 ➔ 51200 (~51 gb)
|
||||
|
||||
- **KITTEN**
|
||||
- `$ kitten themes 'cyberpunk neon'`
|
||||
- to list all themes: `$ kitten themes`
|
||||
@@ -250,6 +243,10 @@ if the system runs nvidia, follow the steps in [nvidia.md](nvidia.md) to set up
|
||||
- `$ ssh git@gi.op.fo -p 2002`
|
||||
- `Are you sure you want to continue connecting (yes/no/[fingerprint])? yes`
|
||||
- **LIBREWOLF**
|
||||
- settings ➔ change device name ➔ `YYMM - poq @ tuxwarrior`
|
||||
- settings ➔ set as default browser
|
||||
- settings ➔ and log into librewolf sync
|
||||
|
||||
- default browser:
|
||||
- settings ➔ select the option to set librewolf as default browser
|
||||
- default search engine:
|
||||
|
||||
@@ -1,13 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# klevstul
|
||||
|
||||
# import using 'source'
|
||||
|
||||
OPTIONS_LOADED=true # used to check if options have been loaded
|
||||
|
||||
CLONE_TARGET_DIR=/tmp # directory to clone dots repository to
|
||||
|
||||
SYSTEM_USER=poq # system user (! root)
|
||||
|
||||
I3WM=true # {true, false} installs i3 packages
|
||||
|
||||
@@ -2,12 +2,9 @@
|
||||
|
||||
# klevstul
|
||||
|
||||
# import using 'source'
|
||||
# these variables are used by 99_deploy.sh, as that script is importing this file using `source`
|
||||
|
||||
OPTIONS_LOADED=true # used to check if options have been loaded
|
||||
|
||||
CLONE_TARGET_DIR=/tmp # directory to clone dots repository to
|
||||
|
||||
SYSTEM_USER=poq # system user (! root)
|
||||
|
||||
I3WM=false # {true, false} installs i3 packages - used by '99_deploy.sh'
|
||||
#I3WM=false # {true, false} installs i3 packages - used by '99_deploy.sh'
|
||||
|
||||
@@ -35,6 +35,7 @@ alias dragon="dragon-drop --and-exit --all --print-path"
|
||||
alias du="du --summarize --human-readable"
|
||||
alias dus="du --summarize --human-readable * | sort -h"
|
||||
alias encrypt="gpg --encrypt --sign --recipient frode@klevstul.com"
|
||||
alias extract="extract.sh"
|
||||
alias faf="find . -type f -iname" # faf (find a file)
|
||||
alias fif="grep -rnw . -e" # fif (find in file) | https://stackoverflow.com/questions/16956810/find-all-files-containing-a-specific-text-string-on-linux
|
||||
alias gparted="sudo gparted"
|
||||
@@ -45,7 +46,6 @@ alias ipify='http https://api.ipify.org?format=json'
|
||||
alias journal='journalctl --since "1 hour ago"'
|
||||
alias keymap="setxkbmap -model pc105 -layout us,no -option grp:caps_toggle,grp_led:scroll"
|
||||
alias keyringreset="trash-put /home/poq/.local/share/keyrings/*.keyrings"
|
||||
#alias lock="xautolock -locknow"
|
||||
alias ls='ls --color=auto'
|
||||
alias myip="echo $(wget http://ipinfo.io/ip -qO -)"
|
||||
alias neofetch='fastfetch'
|
||||
@@ -87,268 +87,26 @@ case ${TERM} in
|
||||
;;
|
||||
esac
|
||||
|
||||
# tss (terminal screen saver) - start a random one
|
||||
#tss() {
|
||||
# # https://unix.stackexchange.com/questions/118714/how-can-i-get-cacafire-to-show-up-in-the-original-gnome-terminal-instead-of-a
|
||||
# OLD_DISPAY=$(echo $DISPLAY)
|
||||
# export DISPLAY=
|
||||
# commands=("aafire -driver curses" "cacafire" "cmatrix -a -b -s -u 5" "unimatrix.py")
|
||||
# random_command="${commands[ $RANDOM % ${#commands[@]} ]}"
|
||||
# $random_command
|
||||
# export DISPLAY=${OLD_DISPAY}
|
||||
#}
|
||||
#
|
||||
#alias tbt="printf '\x1b]10;red\x1b\\'; printf '\x1b]11;#000\x1b\\'" # tbt (terminal black theme) | https://sw.kovidgoyal.net/kitty/faq/#how-do-i-change-the-colors-in-a-running-kitty-instance
|
||||
#alias tdt="printf '\x1b]10;#00ffff\x1b\\'; printf '\x1b]11;#161021\x1b\\';" # tdt (terminal default theme)
|
||||
|
||||
|
||||
# ---
|
||||
# networking
|
||||
# ---
|
||||
|
||||
# https://serverfault.com/questions/170706/easy-way-to-get-ip-address-from-hostname-using-a-unix-shell
|
||||
#function hostip() {
|
||||
# python -c "import sys, socket; print (socket.gethostbyname('$1'))"
|
||||
#}
|
||||
|
||||
nmrestart() {
|
||||
systemctl restart NetworkManager
|
||||
systemctl status NetworkManager
|
||||
}
|
||||
|
||||
# https://wiki.archlinux.org/title/Proxy_server
|
||||
#function proxy_on() {
|
||||
# export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
|
||||
#
|
||||
# if (( $# > 0 )); then
|
||||
# valid=$(echo $@ | sed -n 's/\([0-9]\{1,3\}.\?\)\{4\}:\([0-9]\+\)/&/p')
|
||||
# if [[ $valid != $@ ]]; then
|
||||
# >&2 echo "Invalid address"
|
||||
# return 1
|
||||
# fi
|
||||
# local proxy=$1
|
||||
# export http_proxy="$proxy" \
|
||||
# https_proxy=$proxy \
|
||||
# ftp_proxy=$proxy \
|
||||
# rsync_proxy=$proxy
|
||||
# echo "Proxy environment variable set."
|
||||
# return 0
|
||||
# fi
|
||||
#
|
||||
# echo -n "username: "; read username
|
||||
# if [[ $username != "" ]]; then
|
||||
# echo -n "password: "
|
||||
# read -es password
|
||||
# local pre="$username:$password@"
|
||||
# fi
|
||||
#
|
||||
# echo -n "server: "; read server
|
||||
# echo -n "port: "; read port
|
||||
# local proxy=$pre$server:$port
|
||||
# export http_proxy="$proxy" \
|
||||
# https_proxy=$proxy \
|
||||
# ftp_proxy=$proxy \
|
||||
# rsync_proxy=$proxy \
|
||||
# HTTP_PROXY=$proxy \
|
||||
# HTTPS_PROXY=$proxy \
|
||||
# FTP_PROXY=$proxy \
|
||||
# RSYNC_PROXY=$proxy
|
||||
#}
|
||||
#
|
||||
#function proxy_off(){
|
||||
# unset http_proxy https_proxy ftp_proxy rsync_proxy \
|
||||
# HTTP_PROXY HTTPS_PROXY FTP_PROXY RSYNC_PROXY
|
||||
# echo -e "Proxy environment variable removed."
|
||||
#}
|
||||
|
||||
|
||||
# ---
|
||||
# screens / displays / power management
|
||||
# ---
|
||||
|
||||
# https://en.wikipedia.org/wiki/List_of_common_resolutions
|
||||
#alias res-low="xrandr -s 1920x1080"
|
||||
#alias res-med="xrandr -s 2560x1440"
|
||||
#alias res-high="xrandr -s 3840x2160"
|
||||
#
|
||||
#monitor() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# if [ ${cmd} == "on" ] ; then
|
||||
# # (standby) (suspend) (off)
|
||||
# # 18.2 hours | https://superuser.com/questions/1876254/how-to-turn-off-monitor-and-dont-enable-screen-blanking-in-arch-linux
|
||||
# xset dpms 65535 65535 65535
|
||||
# # disable screensaver
|
||||
# xautolock -disable # disable screen locker
|
||||
# elif [ ${cmd} == "off" ] ; then
|
||||
# sleep 3 # sleep, to prevent mouse movement and immediate wake up
|
||||
# xset dpms 0 0 600 # 10 min timout will be active after monitor wakes up
|
||||
# xset dpms force off # shut off the monitor
|
||||
# xautolock -enable # turns on screen locker again
|
||||
# elif [ ${cmd} == "info" ] ; then
|
||||
# xset -q
|
||||
# else
|
||||
# echo "error: unknown command \"${cmd}\""
|
||||
# fi
|
||||
#}
|
||||
#
|
||||
#screensaver() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# if [ ${cmd} == "on" ] ; then
|
||||
# xset dpms
|
||||
# xautolock -enable
|
||||
# # tmp file used by i3status - by default screensaver is on, so no need for "screensaver_on.tmp"
|
||||
# trash-put "/tmp/screensaver_off.tmp"
|
||||
# elif [ ${cmd} == "off" ] ; then
|
||||
# xset -dpms
|
||||
# xautolock -disable
|
||||
# touch "/tmp/screensaver_off.tmp"
|
||||
# elif [ ${cmd} == "reset" ] ; then
|
||||
# if xset -q | grep -q 'DPMS is Enabled' ; then
|
||||
# xset -dpms
|
||||
# xset dpms
|
||||
# xautolock -restart
|
||||
# fi
|
||||
# elif [ ${cmd} == "set" ] ; then
|
||||
# minutes=15
|
||||
# if [[ -n $2 ]]; then
|
||||
# minutes=$2
|
||||
# fi
|
||||
# xautolock -time ${minutes} -locker i3lock_fk.sh
|
||||
# elif [ ${cmd} == "info" ] ; then
|
||||
# xset -q
|
||||
# else
|
||||
# echo "error: unknown command \"${cmd}\""
|
||||
# fi
|
||||
#}
|
||||
|
||||
#rshift() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# temperature_file="/tmp/temperature.txt"
|
||||
#
|
||||
# if [ ${cmd} == "info" ] ; then
|
||||
# echo "{morning, day, evening, night, bedtime, off}"
|
||||
# return 1
|
||||
# elif
|
||||
# [ ${cmd} == "status" ] ||
|
||||
# [ ${cmd} == "show" ] ||
|
||||
# [ ${cmd} == "display" ] ; then
|
||||
# if [ -f "${temperature_file}" ] ; then
|
||||
# temperature=$(cat /tmp/temperature.txt)
|
||||
# echo "${temperature}K"
|
||||
# else
|
||||
# echo "unknown temperature value"
|
||||
# fi
|
||||
# return 1
|
||||
# elif
|
||||
# [ ${cmd} == "disable" ] ||
|
||||
# [ ${cmd} == "off" ] ; then
|
||||
# redshift -x
|
||||
# return 1
|
||||
# elif [ ${cmd} == "morning" ] ; then
|
||||
# temperature=4500
|
||||
# elif [ ${cmd} == "day" ] ; then
|
||||
# temperature=6500
|
||||
# elif [ ${cmd} == "evening" ] ; then
|
||||
# temperature=3500
|
||||
# elif [ ${cmd} == "night" ] ; then
|
||||
# temperature=2500
|
||||
# elif [ ${cmd} == "bedtime" ] ; then
|
||||
# temperature=1200
|
||||
# else
|
||||
# temperature=${cmd}
|
||||
# fi
|
||||
#
|
||||
# echo "setting temperature to ${temperature}K"
|
||||
# echo ${temperature} > ${temperature_file}
|
||||
# redshift -P -O ${temperature}
|
||||
#}
|
||||
|
||||
|
||||
# ---
|
||||
# misc
|
||||
# ---
|
||||
|
||||
#ascii() {
|
||||
# if [[ -n $1 ]] ; then
|
||||
# if [[ $1 == "banner" ]] && [[ -n $2 ]] ; then
|
||||
# figlet -w 200 -f ANSI\ Shadow $2
|
||||
# elif [[ $1 == "date" ]] ; then
|
||||
# date | figlet -w 200 -f future
|
||||
# elif [[ $1 == "info" ]] ; then
|
||||
# echo "toilet -f future Hello, World!"
|
||||
# echo "figlet -f future Hello, World!"
|
||||
# elif [[ $1 == "fav" ]] || [[ $1 == "favs" ]] || [[ $1 == "favorites" ]] ; then
|
||||
# text="Klevstul"
|
||||
# if [[ -n $2 ]]; then
|
||||
# text=$2
|
||||
# fi
|
||||
# echo
|
||||
# echo "3D-ASCII"
|
||||
# figlet -w 200 -f 3D-ASCII ${text}
|
||||
# echo
|
||||
# echo "Alpha"
|
||||
# figlet -w 200 -f Alpha ${text}
|
||||
# echo
|
||||
# echo "ANSI Regular"
|
||||
# figlet -w 200 -f ANSI\ Regular ${text}
|
||||
# echo
|
||||
# echo "Banner3-D"
|
||||
# figlet -w 200 -f Banner3-D ${text}
|
||||
# echo
|
||||
# echo "cyberlarge"
|
||||
# figlet -w 200 -f cyberlarge ${text}
|
||||
# echo
|
||||
# echo "cybermedium"
|
||||
# figlet -w 200 -f cybermedium ${text}
|
||||
# echo
|
||||
# echo "doh"
|
||||
# figlet -w 200 -f doh ${text}
|
||||
# echo
|
||||
# echo "future"
|
||||
# figlet -w 200 -f future ${text}
|
||||
# echo
|
||||
# echo "isometric1"
|
||||
# figlet -w 200 -f isometric1 ${text}
|
||||
# echo
|
||||
# echo "isometric2"
|
||||
# figlet -w 200 -f isometric2 ${text}
|
||||
# echo
|
||||
# echo "s-relief"
|
||||
# figlet -w 200 -f s-relief ${text}
|
||||
# echo
|
||||
# echo "smbraille"
|
||||
# figlet -w 200 -f smbraille ${text}
|
||||
# echo
|
||||
# echo "pagga"
|
||||
# figlet -w 200 -f pagga ${text}
|
||||
# elif [[ $1 == "figlets" ]] ; then
|
||||
# figlets.sh
|
||||
# elif [[ $1 == "fonts" ]] ; then
|
||||
# tree /usr/share/figlet/
|
||||
# elif [[ $1 == "help" ]] ; then
|
||||
# echo "ascii {banner [text], info, fav [text], figlets, fonts, help, toilets}"
|
||||
# elif [[ $1 == "toilets" ]] ; then
|
||||
# toilets.sh
|
||||
# else
|
||||
# toilet -f smbraille Try something else...
|
||||
# fi
|
||||
# else
|
||||
# toilet -f future --rainbow ASCII
|
||||
# fi
|
||||
#}
|
||||
|
||||
# https://boulderappsco.postach.io/post/convert-decimal-to-base-36-alpha-numeric-in-bash-linux
|
||||
function decimal_to_base36(){
|
||||
BASE36=($(echo {0..9} {A..Z}));
|
||||
@@ -566,12 +324,6 @@ nas() {
|
||||
fi
|
||||
}
|
||||
|
||||
# iso-mount() {
|
||||
# sudo mount -o loop "$1" /media/iso
|
||||
# }
|
||||
# alias iso-unmount="sudo umount /media/iso"
|
||||
#
|
||||
|
||||
|
||||
# ---
|
||||
# multimedia
|
||||
|
||||
@@ -102,3 +102,257 @@
|
||||
# jump-to-downloads
|
||||
#}
|
||||
#alias christcast.org-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/gi.op.fo/christcast.org/jongleur/html_export/ usr@178.156.192.201:/var/www/christcast.org/jongleur/"
|
||||
|
||||
---
|
||||
|
||||
#alias lock="xautolock -locknow"
|
||||
|
||||
# tss (terminal screen saver) - start a random one
|
||||
#tss() {
|
||||
# # https://unix.stackexchange.com/questions/118714/how-can-i-get-cacafire-to-show-up-in-the-original-gnome-terminal-instead-of-a
|
||||
# OLD_DISPAY=$(echo $DISPLAY)
|
||||
# export DISPLAY=
|
||||
# commands=("aafire -driver curses" "cacafire" "cmatrix -a -b -s -u 5" "unimatrix.py")
|
||||
# random_command="${commands[ $RANDOM % ${#commands[@]} ]}"
|
||||
# $random_command
|
||||
# export DISPLAY=${OLD_DISPAY}
|
||||
#}
|
||||
#
|
||||
#alias tbt="printf '\x1b]10;red\x1b\\'; printf '\x1b]11;#000\x1b\\'" # tbt (terminal black theme) | https://sw.kovidgoyal.net/kitty/faq/#how-do-i-change-the-colors-in-a-running-kitty-instance
|
||||
#alias tdt="printf '\x1b]10;#00ffff\x1b\\'; printf '\x1b]11;#161021\x1b\\';" # tdt (terminal default theme)
|
||||
|
||||
# https://serverfault.com/questions/170706/easy-way-to-get-ip-address-from-hostname-using-a-unix-shell
|
||||
#function hostip() {
|
||||
# python -c "import sys, socket; print (socket.gethostbyname('$1'))"
|
||||
#}
|
||||
|
||||
|
||||
# https://wiki.archlinux.org/title/Proxy_server
|
||||
#function proxy_on() {
|
||||
# export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
|
||||
#
|
||||
# if (( $# > 0 )); then
|
||||
# valid=$(echo $@ | sed -n 's/\([0-9]\{1,3\}.\?\)\{4\}:\([0-9]\+\)/&/p')
|
||||
# if [[ $valid != $@ ]]; then
|
||||
# >&2 echo "Invalid address"
|
||||
# return 1
|
||||
# fi
|
||||
# local proxy=$1
|
||||
# export http_proxy="$proxy" \
|
||||
# https_proxy=$proxy \
|
||||
# ftp_proxy=$proxy \
|
||||
# rsync_proxy=$proxy
|
||||
# echo "Proxy environment variable set."
|
||||
# return 0
|
||||
# fi
|
||||
#
|
||||
# echo -n "username: "; read username
|
||||
# if [[ $username != "" ]]; then
|
||||
# echo -n "password: "
|
||||
# read -es password
|
||||
# local pre="$username:$password@"
|
||||
# fi
|
||||
#
|
||||
# echo -n "server: "; read server
|
||||
# echo -n "port: "; read port
|
||||
# local proxy=$pre$server:$port
|
||||
# export http_proxy="$proxy" \
|
||||
# https_proxy=$proxy \
|
||||
# ftp_proxy=$proxy \
|
||||
# rsync_proxy=$proxy \
|
||||
# HTTP_PROXY=$proxy \
|
||||
# HTTPS_PROXY=$proxy \
|
||||
# FTP_PROXY=$proxy \
|
||||
# RSYNC_PROXY=$proxy
|
||||
#}
|
||||
#
|
||||
#function proxy_off(){
|
||||
# unset http_proxy https_proxy ftp_proxy rsync_proxy \
|
||||
# HTTP_PROXY HTTPS_PROXY FTP_PROXY RSYNC_PROXY
|
||||
# echo -e "Proxy environment variable removed."
|
||||
#}
|
||||
|
||||
|
||||
# https://en.wikipedia.org/wiki/List_of_common_resolutions
|
||||
#alias res-low="xrandr -s 1920x1080"
|
||||
#alias res-med="xrandr -s 2560x1440"
|
||||
#alias res-high="xrandr -s 3840x2160"
|
||||
#
|
||||
#monitor() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# if [ ${cmd} == "on" ] ; then
|
||||
# # (standby) (suspend) (off)
|
||||
# # 18.2 hours | https://superuser.com/questions/1876254/how-to-turn-off-monitor-and-dont-enable-screen-blanking-in-arch-linux
|
||||
# xset dpms 65535 65535 65535
|
||||
# # disable screensaver
|
||||
# xautolock -disable # disable screen locker
|
||||
# elif [ ${cmd} == "off" ] ; then
|
||||
# sleep 3 # sleep, to prevent mouse movement and immediate wake up
|
||||
# xset dpms 0 0 600 # 10 min timout will be active after monitor wakes up
|
||||
# xset dpms force off # shut off the monitor
|
||||
# xautolock -enable # turns on screen locker again
|
||||
# elif [ ${cmd} == "info" ] ; then
|
||||
# xset -q
|
||||
# else
|
||||
# echo "error: unknown command \"${cmd}\""
|
||||
# fi
|
||||
#}
|
||||
#
|
||||
#screensaver() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# if [ ${cmd} == "on" ] ; then
|
||||
# xset dpms
|
||||
# xautolock -enable
|
||||
# # tmp file used by i3status - by default screensaver is on, so no need for "screensaver_on.tmp"
|
||||
# trash-put "/tmp/screensaver_off.tmp"
|
||||
# elif [ ${cmd} == "off" ] ; then
|
||||
# xset -dpms
|
||||
# xautolock -disable
|
||||
# touch "/tmp/screensaver_off.tmp"
|
||||
# elif [ ${cmd} == "reset" ] ; then
|
||||
# if xset -q | grep -q 'DPMS is Enabled' ; then
|
||||
# xset -dpms
|
||||
# xset dpms
|
||||
# xautolock -restart
|
||||
# fi
|
||||
# elif [ ${cmd} == "set" ] ; then
|
||||
# minutes=15
|
||||
# if [[ -n $2 ]]; then
|
||||
# minutes=$2
|
||||
# fi
|
||||
# xautolock -time ${minutes} -locker i3lock_fk.sh
|
||||
# elif [ ${cmd} == "info" ] ; then
|
||||
# xset -q
|
||||
# else
|
||||
# echo "error: unknown command \"${cmd}\""
|
||||
# fi
|
||||
#}
|
||||
|
||||
#rshift() {
|
||||
# cmd="info"
|
||||
# if [[ -n $1 ]]; then
|
||||
# cmd=$1
|
||||
# fi
|
||||
#
|
||||
# temperature_file="/tmp/temperature.txt"
|
||||
#
|
||||
# if [ ${cmd} == "info" ] ; then
|
||||
# echo "{morning, day, evening, night, bedtime, off}"
|
||||
# return 1
|
||||
# elif
|
||||
# [ ${cmd} == "status" ] ||
|
||||
# [ ${cmd} == "show" ] ||
|
||||
# [ ${cmd} == "display" ] ; then
|
||||
# if [ -f "${temperature_file}" ] ; then
|
||||
# temperature=$(cat /tmp/temperature.txt)
|
||||
# echo "${temperature}K"
|
||||
# else
|
||||
# echo "unknown temperature value"
|
||||
# fi
|
||||
# return 1
|
||||
# elif
|
||||
# [ ${cmd} == "disable" ] ||
|
||||
# [ ${cmd} == "off" ] ; then
|
||||
# redshift -x
|
||||
# return 1
|
||||
# elif [ ${cmd} == "morning" ] ; then
|
||||
# temperature=4500
|
||||
# elif [ ${cmd} == "day" ] ; then
|
||||
# temperature=6500
|
||||
# elif [ ${cmd} == "evening" ] ; then
|
||||
# temperature=3500
|
||||
# elif [ ${cmd} == "night" ] ; then
|
||||
# temperature=2500
|
||||
# elif [ ${cmd} == "bedtime" ] ; then
|
||||
# temperature=1200
|
||||
# else
|
||||
# temperature=${cmd}
|
||||
# fi
|
||||
#
|
||||
# echo "setting temperature to ${temperature}K"
|
||||
# echo ${temperature} > ${temperature_file}
|
||||
# redshift -P -O ${temperature}
|
||||
#}
|
||||
|
||||
#ascii() {
|
||||
# if [[ -n $1 ]] ; then
|
||||
# if [[ $1 == "banner" ]] && [[ -n $2 ]] ; then
|
||||
# figlet -w 200 -f ANSI\ Shadow $2
|
||||
# elif [[ $1 == "date" ]] ; then
|
||||
# date | figlet -w 200 -f future
|
||||
# elif [[ $1 == "info" ]] ; then
|
||||
# echo "toilet -f future Hello, World!"
|
||||
# echo "figlet -f future Hello, World!"
|
||||
# elif [[ $1 == "fav" ]] || [[ $1 == "favs" ]] || [[ $1 == "favorites" ]] ; then
|
||||
# text="Klevstul"
|
||||
# if [[ -n $2 ]]; then
|
||||
# text=$2
|
||||
# fi
|
||||
# echo
|
||||
# echo "3D-ASCII"
|
||||
# figlet -w 200 -f 3D-ASCII ${text}
|
||||
# echo
|
||||
# echo "Alpha"
|
||||
# figlet -w 200 -f Alpha ${text}
|
||||
# echo
|
||||
# echo "ANSI Regular"
|
||||
# figlet -w 200 -f ANSI\ Regular ${text}
|
||||
# echo
|
||||
# echo "Banner3-D"
|
||||
# figlet -w 200 -f Banner3-D ${text}
|
||||
# echo
|
||||
# echo "cyberlarge"
|
||||
# figlet -w 200 -f cyberlarge ${text}
|
||||
# echo
|
||||
# echo "cybermedium"
|
||||
# figlet -w 200 -f cybermedium ${text}
|
||||
# echo
|
||||
# echo "doh"
|
||||
# figlet -w 200 -f doh ${text}
|
||||
# echo
|
||||
# echo "future"
|
||||
# figlet -w 200 -f future ${text}
|
||||
# echo
|
||||
# echo "isometric1"
|
||||
# figlet -w 200 -f isometric1 ${text}
|
||||
# echo
|
||||
# echo "isometric2"
|
||||
# figlet -w 200 -f isometric2 ${text}
|
||||
# echo
|
||||
# echo "s-relief"
|
||||
# figlet -w 200 -f s-relief ${text}
|
||||
# echo
|
||||
# echo "smbraille"
|
||||
# figlet -w 200 -f smbraille ${text}
|
||||
# echo
|
||||
# echo "pagga"
|
||||
# figlet -w 200 -f pagga ${text}
|
||||
# elif [[ $1 == "figlets" ]] ; then
|
||||
# figlets.sh
|
||||
# elif [[ $1 == "fonts" ]] ; then
|
||||
# tree /usr/share/figlet/
|
||||
# elif [[ $1 == "help" ]] ; then
|
||||
# echo "ascii {banner [text], info, fav [text], figlets, fonts, help, toilets}"
|
||||
# elif [[ $1 == "toilets" ]] ; then
|
||||
# toilets.sh
|
||||
# else
|
||||
# toilet -f smbraille Try something else...
|
||||
# fi
|
||||
# else
|
||||
# toilet -f future --rainbow ASCII
|
||||
# fi
|
||||
#}
|
||||
|
||||
# iso-mount() {
|
||||
# sudo mount -o loop "$1" /media/iso
|
||||
# }
|
||||
# alias iso-unmount="sudo umount /media/iso"
|
||||
#
|
||||
|
||||
18
dots/bin/firstBoot.sh
Executable file
18
dots/bin/firstBoot.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# klevstul :: 26.02.25
|
||||
|
||||
# create nextcloud directory
|
||||
# note: this folder must match the base path of `$SYNCDIR_HOSTNAME` in `dots/environment/environment`
|
||||
mkdir -p /home/poq/nextcloud
|
||||
|
||||
# start and stop browser, if it is not already running
|
||||
browser="librewolf"
|
||||
if ! pgrep -x "${browser}" > /dev/null; then
|
||||
echo "${browser} is not running, so it will be started and closed after a few seconds. please, wait..."
|
||||
${browser} &
|
||||
sleep 10
|
||||
pkill ${browser}
|
||||
else
|
||||
echo "${browser} is already running. do nothing."
|
||||
fi
|
||||
@@ -5,5 +5,5 @@
|
||||
this_file_name=`basename "$0"`
|
||||
echo "$this_file_name"
|
||||
|
||||
ln -s ~/mega/gitRepos/git.sr.ht ~/syncDir/gitRepos/
|
||||
ln -s ~/mega/gitRepos/gitlab.com ~/syncDir/gitRepos/
|
||||
ln -s /home/poq/pCloudDrive/repos/git/gitlab.com ~/syncDir/gitRepos/
|
||||
ln -s /home/poq/pCloudDrive/repos/pCloud_nonGit ~/syncDir/gitRepos/
|
||||
|
||||
@@ -11,4 +11,12 @@ if [[ "${HOSTNAME}" == "tuxwarrior" ]] ; then
|
||||
hyprmon --profile office &
|
||||
psensor &
|
||||
synology-drive &
|
||||
|
||||
|
||||
#hyprpaper &
|
||||
#waybar &
|
||||
#hypridle &
|
||||
#hyprdim --strength 0.1 --dialog-dim 0.1 --duration 500 --no-dim-when-only &
|
||||
|
||||
|
||||
fi
|
||||
|
||||
@@ -20,20 +20,20 @@ NEXTCLOUD_tuxwarrior=/home/poq/nextcloud
|
||||
# mounted downloads dir, same for all hosts
|
||||
DOWNLOADS=/home/poq/syncDir/0_downloads
|
||||
|
||||
# {i3, qtile, hyprland} window manager to start in .xinitrc
|
||||
XWM=hyprland
|
||||
# {i3, qtile, hyprland} window manager / compositor to start in .xinitrc
|
||||
#XWM=hyprland
|
||||
|
||||
# styling for gtk apps
|
||||
GTK_THEME=Sweet-Dark
|
||||
#GTK_THEME=Sweet-Dark
|
||||
|
||||
# secrets
|
||||
SECRET_KD3=RtKFWJIoXWjU80mlo4T4Ey2mqDNeJQwHjYLkE0ViN+k
|
||||
#SECRET_KD3=RtKFWJIoXWjU80mlo4T4Ey2mqDNeJQwHjYLkE0ViN+k
|
||||
|
||||
# used by lf
|
||||
EDITOR=nano
|
||||
#EDITOR=nano
|
||||
|
||||
# rust
|
||||
#PATH=$PATH:/home/poq/.cargo/bin
|
||||
|
||||
# used by ballerina
|
||||
JAVA_HOME=/usr/lib/jvm/default
|
||||
#JAVA_HOME=/usr/lib/jvm/default
|
||||
|
||||
@@ -390,30 +390,30 @@ if [ ${operation} == "dots" ] ; then
|
||||
deploy_file "${dots_trg}/pcmanfm/${file_name}" "${file_path}/${file_name}"
|
||||
|
||||
# i3wm
|
||||
if [ ${I3WM} == "true" ] ; then
|
||||
|
||||
# i3
|
||||
file_name=config
|
||||
file_path=/home/${system_user}/.config/i3
|
||||
create_dir ${file_path}
|
||||
deploy_file "${dots_trg}/i3wm/${file_name}" "${file_path}/"
|
||||
|
||||
# i3status
|
||||
file_name=config
|
||||
file_path=/home/${system_user}/.config/i3status
|
||||
create_dir ${file_path}
|
||||
deploy_file "${dots_trg}/i3status/${file_name}" "${file_path}/"
|
||||
|
||||
fi
|
||||
|
||||
if [ ${I3WM} == "true" ] || [ ${QTILE} == "true" ] ; then
|
||||
|
||||
# xorg
|
||||
file_path=/home/${system_user}
|
||||
deploy_file "${dots_trg}/xorg/.*" "${file_path}/"
|
||||
chmod 755 ${file_path}/.xinitrc
|
||||
|
||||
fi
|
||||
# if [ ${I3WM} == "true" ] ; then
|
||||
#
|
||||
# # i3
|
||||
# file_name=config
|
||||
# file_path=/home/${system_user}/.config/i3
|
||||
# create_dir ${file_path}
|
||||
# deploy_file "${dots_trg}/i3wm/${file_name}" "${file_path}/"
|
||||
#
|
||||
# # i3status
|
||||
# file_name=config
|
||||
# file_path=/home/${system_user}/.config/i3status
|
||||
# create_dir ${file_path}
|
||||
# deploy_file "${dots_trg}/i3status/${file_name}" "${file_path}/"
|
||||
#
|
||||
# fi
|
||||
#
|
||||
# if [ ${I3WM} == "true" ] || [ ${QTILE} == "true" ] ; then
|
||||
#
|
||||
# # xorg
|
||||
# file_path=/home/${system_user}
|
||||
# deploy_file "${dots_trg}/xorg/.*" "${file_path}/"
|
||||
# chmod 755 ${file_path}/.xinitrc
|
||||
#
|
||||
# fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user