INDEX
2024-01-19 08:45 [SEE "endpoint" repository] I have this local script folder I call endpoint - just doing some work in docker to clean it up Essentially it's supposed to attach to a new arch build and link all my tools together docker compose run arch Anything with "sudo" in it seems to break a docker build Seems awkward passing environment variables into dockerfile - want a dynamic username Apparently an ARG is for buildtime, an ENV is for build/run # .env USERNAME=cs # Dockerfile ARG USERNAME=archuser ENV USER=$USERNAME # compose.yml build: context: . args: - USERNAME=${USERNAME} # All together that seems to work with "docker compose build" but not "docker build" Really annoying trying to remove old docker images docker container prune; docker image prune -a; docker network prune docker build . -t archtest # Build with docker (usename is archuser) docker compose up # Build with docker compose (username is cs) Now to put in my system config settings into a docker file pacman -Qqen | grep -v -F -f stage1 -f stage2 # Get all installed packages not in these files Okay docker image all set up and now it's basically what I'd have my system as # git clone git@gitlab.com:cs_net/endpoint.git /usr/local/src/endPoint sudo cp -r /usr/local/src/endPointLive /usr/local/src/endPoint # Close enough to downloading sudo chown -R $USER:$USER /usr/local/src/endPoint rm /home/cs/.bash* # Remove .bashrc and .bash_profile /usr/local/src/endPoint/build/scripts/usersetup.sh source ~/.bash_profile cat $endPoint/build/packages/stage3 | sudo pacman -Syu --noconfirm --needed - Aliased most of this under "scripts/fullsetup.sh"
2024-01-20 17:30 What I want to do is generalise it so it can run anywhere and for any user, separately Just did some big changes to make it run a completely separate build process in Docker Basically run only essential stuff in dockerbuild and all actual useful stuff in system.sh Currently have some issue with a useradd command not working docker run -it --rm archlinux bash # remember - good way to test code Essentially "chpasswd" wasn't working quite how I wanted it to - changed to useradd Also do "git add ." to add just everything. Quite useful Oh and if a git push command is giving issues (asking for username) make sure it's on ssh git remote set-url origin git@gitlab.com:cs_net/endpoint.git Just deleted all my newsboat files resetting this thing... should not have done that Need a better way of storing rss feeds anyway Looks to me like it's more portable now though. Should be able to run that per-user Actually I was smart and kept the urls in a separate place - added a link to that now Final touch, making all setup undoable Feel like adding some docker aliases while I'm at it
2024-03-02 21:25 One thing I thought worth mentioning is I split off certain aliases as their on script files So now "yt" is aliased in 1 file and written entirely in another - can be run much easier # Also running this as a case statement instead of a mess of bash arrays (avoid using) case ${1::1} in # e.g. v480 -> v v) ytProc="${setMerge} ${setLimitChunks}"; ;; V) ytProc="${setMerge} ${setLimitChunks} ${setUseFFMPEG}"; ;; a) ytProc="${setGetAudio}"; ;; *) echo "ERROR: Invalid processing option"; return 1; ;; esac If you're going to look at anything look at "showme" and "docker_flush" - both very useful "showme" lets me see the contents of arbitrary files in PATH (and open those files easily) Then "docker_flush" lets me completely wipe everything in my docker cache - clean house
2024-03-03 12:33 - Adding a compositor Just setup yay (unnecessarily it turns out) # Clone git repo, change ownership to non-root export GOFLAGS="-builvcs=false" # Seemed to fail if I didn't do this makepkg -si # "pacman" doesn't list programs installed by yay so wrote a script to do that comm -3 <(pacman_dump) <(yay -Qe | cut -d' ' -f1) | tr -d '[:blank:]' # Basically compares the pacman and yay lists - then removes some spacing # Usually you need to sort things for "comm" but these are pre-sorted Saw people saying to get picom - so installing that picom & # Run in background - can run at any time - will add to .xinitrc # Currently adds a lot of fading and slow windows with shadows - need to configure it Now what I really want is to turn off any base special effects like fading or shadows --no-fading-openclose # Turns off fading for windows -I 1 -O 1 # Turns off fading for dropdown menus (or use --fade-in-step/out-step) -o 0 # Turns off shadows for dropdown menus --menu-opacity 1 # Turns off transparency on dropdown menus but is depreciated # Look in /etc/xdg/picom.conf for config file - at the end set menu items opacity=1 not 0.8 # Then can avoid using depreciated feature picom --no-fading-openclose -I 1 -O 1 -o 0 &
2024-03-04 10:55 - Adjusting setup process Adding this to the setup process - first add to stage2 packages so docker container is right Then running docker container... need script to setup picom as I want The xinitrc config is already set (as part of endpoint) so just need config file adjusted sed -n '/^[^#].*opacity/p' /etc/xdg/picom.conf # Show relevant lines to change # tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; ... }; # popup_menu = { opacity = 0.8; } # dropdown_menu = { opacity = 0.8; } sed -i -E 's/(^[^#].*opacity) = [0-9]+\.[0-9]+;(.*$)/\1 = 1;\2/' /etc/xdg/picom.conf # tooltip = { fade = true; shadow = true; opacity = 1; focus = true; ... }; # popup_menu = { opacity = 1; } # dropdown_menu = { opacity = 1; } # This looks for uncommented lines with the word "opacity" i nthem # Then extracts the " = NUM.NUM;" part and replaces it with " = 1;" Now another thing I want to look at is setting up dwm properly - currently just copies files What I want is for it to apply patches I create - much cleaner But will have to do this another time, on another machine, for proper testing