From c8ab69ca6d98556d197fec8158c431f83760de2d Mon Sep 17 00:00:00 2001 From: "committer@tuxwarrior" Date: Wed, 25 Feb 2026 11:22:51 -0500 Subject: [PATCH] =?UTF-8?q?wip=20/=20i3wm=20=E2=9E=94=20hyprland?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit and, several clean-ups at the same time --- README.md | 75 +++--- nvidia.md => docs/zObsolete.nvidia.md | 0 dots/archinstall/t470p/options.sh | 10 - dots/archinstall/tuxwarrior/options.sh | 7 +- dots/bash/.bashrc | 250 +---------------- dots/bash/obsolete.bashrc | 254 ++++++++++++++++++ dots/bin/firstBoot.sh | 18 ++ dots/bin/gitReposSoftlinker.sh | 4 +- .../obsolete.auto_startup.sh} | 0 dots/bin/startup.sh | 8 + dots/environment/environment | 12 +- .../{librewolf.obsolete => librewolf}/user.js | 0 {dots => obsolete/dots}/firefox/policies.json | 0 {dots => obsolete/dots}/firefox/user.js | 0 .../dots}/firefox/userChrome.css | 0 {dots => obsolete/dots}/gtk/.gtkrc-2.0 | 0 {dots => obsolete/dots}/gtk/index.theme | 0 {dots => obsolete/dots}/gtk/settings.ini | 0 {dots => obsolete/dots}/i3status/config | 0 {dots => obsolete/dots}/i3wm/config | 0 .../dots}/i3wm/obsolete/config.orig_4-23 | 0 .../dots}/i3wm/obsolete/config.tuxwarrior | 0 {dots => obsolete/dots}/lf/lfrc | 0 {dots => obsolete/dots}/nitrogen/bg-saved.cfg | 0 {dots => obsolete/dots}/nitrogen/nitrogen.cfg | 0 {dots => obsolete/dots}/nvidia/nvidia.hook | 0 {dots => obsolete/dots}/systemd/mnt-nas.mount | 0 {dots => obsolete/dots}/xorg/.Xresources | 0 {dots => obsolete/dots}/xorg/.xinitrc | 0 {dots => obsolete/dots}/xorg/.xserverrc | 0 scripts/99_deploy.sh | 48 ++-- 31 files changed, 351 insertions(+), 335 deletions(-) rename nvidia.md => docs/zObsolete.nvidia.md (100%) create mode 100755 dots/bin/firstBoot.sh rename dots/bin/{UNSURE.auto_startup.sh => obsolete/obsolete.auto_startup.sh} (100%) rename dots/{librewolf.obsolete => librewolf}/user.js (100%) rename {dots => obsolete/dots}/firefox/policies.json (100%) rename {dots => obsolete/dots}/firefox/user.js (100%) rename {dots => obsolete/dots}/firefox/userChrome.css (100%) rename {dots => obsolete/dots}/gtk/.gtkrc-2.0 (100%) rename {dots => obsolete/dots}/gtk/index.theme (100%) rename {dots => obsolete/dots}/gtk/settings.ini (100%) rename {dots => obsolete/dots}/i3status/config (100%) rename {dots => obsolete/dots}/i3wm/config (100%) rename {dots => obsolete/dots}/i3wm/obsolete/config.orig_4-23 (100%) rename {dots => obsolete/dots}/i3wm/obsolete/config.tuxwarrior (100%) rename {dots => obsolete/dots}/lf/lfrc (100%) rename {dots => obsolete/dots}/nitrogen/bg-saved.cfg (100%) rename {dots => obsolete/dots}/nitrogen/nitrogen.cfg (100%) rename {dots => obsolete/dots}/nvidia/nvidia.hook (100%) rename {dots => obsolete/dots}/systemd/mnt-nas.mount (100%) rename {dots => obsolete/dots}/xorg/.Xresources (100%) rename {dots => obsolete/dots}/xorg/.xinitrc (100%) rename {dots => obsolete/dots}/xorg/.xserverrc (100%) diff --git a/README.md b/README.md index 0b0380f..65fdb3c 100644 --- a/README.md +++ b/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 - 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: diff --git a/nvidia.md b/docs/zObsolete.nvidia.md similarity index 100% rename from nvidia.md rename to docs/zObsolete.nvidia.md diff --git a/dots/archinstall/t470p/options.sh b/dots/archinstall/t470p/options.sh index fbc6fd1..dc3bd92 100755 --- a/dots/archinstall/t470p/options.sh +++ b/dots/archinstall/t470p/options.sh @@ -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 diff --git a/dots/archinstall/tuxwarrior/options.sh b/dots/archinstall/tuxwarrior/options.sh index 813a40a..668f159 100755 --- a/dots/archinstall/tuxwarrior/options.sh +++ b/dots/archinstall/tuxwarrior/options.sh @@ -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' diff --git a/dots/bash/.bashrc b/dots/bash/.bashrc index 7c23a9a..1b3c8fd 100644 --- a/dots/bash/.bashrc +++ b/dots/bash/.bashrc @@ -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 diff --git a/dots/bash/obsolete.bashrc b/dots/bash/obsolete.bashrc index 3b61641..21e8706 100644 --- a/dots/bash/obsolete.bashrc +++ b/dots/bash/obsolete.bashrc @@ -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" +# diff --git a/dots/bin/firstBoot.sh b/dots/bin/firstBoot.sh new file mode 100755 index 0000000..5faea32 --- /dev/null +++ b/dots/bin/firstBoot.sh @@ -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 diff --git a/dots/bin/gitReposSoftlinker.sh b/dots/bin/gitReposSoftlinker.sh index b4c382d..11f2a2e 100755 --- a/dots/bin/gitReposSoftlinker.sh +++ b/dots/bin/gitReposSoftlinker.sh @@ -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/ diff --git a/dots/bin/UNSURE.auto_startup.sh b/dots/bin/obsolete/obsolete.auto_startup.sh similarity index 100% rename from dots/bin/UNSURE.auto_startup.sh rename to dots/bin/obsolete/obsolete.auto_startup.sh diff --git a/dots/bin/startup.sh b/dots/bin/startup.sh index c9e5d0b..74cbc31 100755 --- a/dots/bin/startup.sh +++ b/dots/bin/startup.sh @@ -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 diff --git a/dots/environment/environment b/dots/environment/environment index 2adc294..391a058 100644 --- a/dots/environment/environment +++ b/dots/environment/environment @@ -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 diff --git a/dots/librewolf.obsolete/user.js b/dots/librewolf/user.js similarity index 100% rename from dots/librewolf.obsolete/user.js rename to dots/librewolf/user.js diff --git a/dots/firefox/policies.json b/obsolete/dots/firefox/policies.json similarity index 100% rename from dots/firefox/policies.json rename to obsolete/dots/firefox/policies.json diff --git a/dots/firefox/user.js b/obsolete/dots/firefox/user.js similarity index 100% rename from dots/firefox/user.js rename to obsolete/dots/firefox/user.js diff --git a/dots/firefox/userChrome.css b/obsolete/dots/firefox/userChrome.css similarity index 100% rename from dots/firefox/userChrome.css rename to obsolete/dots/firefox/userChrome.css diff --git a/dots/gtk/.gtkrc-2.0 b/obsolete/dots/gtk/.gtkrc-2.0 similarity index 100% rename from dots/gtk/.gtkrc-2.0 rename to obsolete/dots/gtk/.gtkrc-2.0 diff --git a/dots/gtk/index.theme b/obsolete/dots/gtk/index.theme similarity index 100% rename from dots/gtk/index.theme rename to obsolete/dots/gtk/index.theme diff --git a/dots/gtk/settings.ini b/obsolete/dots/gtk/settings.ini similarity index 100% rename from dots/gtk/settings.ini rename to obsolete/dots/gtk/settings.ini diff --git a/dots/i3status/config b/obsolete/dots/i3status/config similarity index 100% rename from dots/i3status/config rename to obsolete/dots/i3status/config diff --git a/dots/i3wm/config b/obsolete/dots/i3wm/config similarity index 100% rename from dots/i3wm/config rename to obsolete/dots/i3wm/config diff --git a/dots/i3wm/obsolete/config.orig_4-23 b/obsolete/dots/i3wm/obsolete/config.orig_4-23 similarity index 100% rename from dots/i3wm/obsolete/config.orig_4-23 rename to obsolete/dots/i3wm/obsolete/config.orig_4-23 diff --git a/dots/i3wm/obsolete/config.tuxwarrior b/obsolete/dots/i3wm/obsolete/config.tuxwarrior similarity index 100% rename from dots/i3wm/obsolete/config.tuxwarrior rename to obsolete/dots/i3wm/obsolete/config.tuxwarrior diff --git a/dots/lf/lfrc b/obsolete/dots/lf/lfrc similarity index 100% rename from dots/lf/lfrc rename to obsolete/dots/lf/lfrc diff --git a/dots/nitrogen/bg-saved.cfg b/obsolete/dots/nitrogen/bg-saved.cfg similarity index 100% rename from dots/nitrogen/bg-saved.cfg rename to obsolete/dots/nitrogen/bg-saved.cfg diff --git a/dots/nitrogen/nitrogen.cfg b/obsolete/dots/nitrogen/nitrogen.cfg similarity index 100% rename from dots/nitrogen/nitrogen.cfg rename to obsolete/dots/nitrogen/nitrogen.cfg diff --git a/dots/nvidia/nvidia.hook b/obsolete/dots/nvidia/nvidia.hook similarity index 100% rename from dots/nvidia/nvidia.hook rename to obsolete/dots/nvidia/nvidia.hook diff --git a/dots/systemd/mnt-nas.mount b/obsolete/dots/systemd/mnt-nas.mount similarity index 100% rename from dots/systemd/mnt-nas.mount rename to obsolete/dots/systemd/mnt-nas.mount diff --git a/dots/xorg/.Xresources b/obsolete/dots/xorg/.Xresources similarity index 100% rename from dots/xorg/.Xresources rename to obsolete/dots/xorg/.Xresources diff --git a/dots/xorg/.xinitrc b/obsolete/dots/xorg/.xinitrc similarity index 100% rename from dots/xorg/.xinitrc rename to obsolete/dots/xorg/.xinitrc diff --git a/dots/xorg/.xserverrc b/obsolete/dots/xorg/.xserverrc similarity index 100% rename from dots/xorg/.xserverrc rename to obsolete/dots/xorg/.xserverrc diff --git a/scripts/99_deploy.sh b/scripts/99_deploy.sh index c9af017..133fa60 100755 --- a/scripts/99_deploy.sh +++ b/scripts/99_deploy.sh @@ -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