diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3f38fc3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.vscode +sprattle/node_modules +bitbot_v6-master/frontend/node_modules +bitbot_v6-master/backend/node_modules +test/node_modules \ No newline at end of file diff --git a/archive_box/.env b/archive_box/.env new file mode 100644 index 0000000..be9448c --- /dev/null +++ b/archive_box/.env @@ -0,0 +1,2 @@ +DOMAIN_NAME=knast.cc +DEFAULT_NETWORK=traefik diff --git a/archive_box/Dockerfile b/archive_box/Dockerfile new file mode 100644 index 0000000..76c79fb --- /dev/null +++ b/archive_box/Dockerfile @@ -0,0 +1,105 @@ +# Copyright 2020 Wayback Archiver. All rights reserved. +# Use of this source code is governed by the GNU GPL v3 +# license that can be found in the LICENSE file. +# +# syntax=docker/dockerfile:1.2 +ARG GO_VERSION=1.20 + +FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS builder +COPY --from=tonistiigi/xx:golang / / + +RUN apk add --no-cache -U build-base ca-certificates linux-headers musl-dev git tar + +ARG TARGETPLATFORM +ARG WAYBACK_IPFS_APIKEY + +WORKDIR /src + +ENV WAYBACK_IPFS_APIKEY ${WAYBACK_IPFS_APIKEY} + +COPY . . +RUN --mount=type=bind,target=/src,rw \ + --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/go/pkg/mod \ + sh ./build/binary.sh $TARGETPLATFORM \ + && rm -rf .build/binary/wayback-* \ + && mv ./build/binary/wayback-* /wayback + +# Application layer +FROM alpine:3.17 + +LABEL org.wabarc.homepage="http://github.com/wabarc" \ + org.wabarc.repository="http://github.com/wabarc/wayback" \ + org.opencontainers.image.title=wayback \ + org.opencontainers.image.description="A toolkit for snapshot webpage to Internet Archive, archive.today, IPFS and beyond" \ + org.opencontainers.image.url=https://wabarc.eu.org \ + org.opencontainers.image.licenses=GPLv3 \ + org.opencontainers.image.source="https://github.com/wabarc/wayback" + +ARG TOR_EXCLUDE_NODE="{cn},{hk},{mo},{sg},{th},{pk},{by},{ru},{ir},{sy},{vn},{ph},{my},{cu}" +ARG TOR_EXCLUDE_EXIT_NODE="{cn},{hk},{mo},{sg},{kp},{th},{pk},{by},{ru},{ir},{sy},{vn},{ph},{my},{cu},{au},{ca},{nz},{gb},{us},{fr},{dk},{nl},{no},{be},{de},{it},{es}" + +ENV BASE_DIR /wayback +ENV PUSER wayback +ENV PGROUP wayback +ENV LANG en_US.UTF-8 +ENV LC_ALL en_US.UTF-8 +ENV LANGUAGE en_US.UTF-8 + +WORKDIR $BASE_DIR + +RUN set -o pipefail; \ + addgroup --system "${PGROUP}"; \ + adduser --system --no-create-home --disabled-password \ + --gecos '' --home "${BASE_DIR}" --ingroup "${PGROUP}" "${PUSER}"; \ + chown -R "${PUSER}:${PGROUP}" "${BASE_DIR}"; \ + chmod -R g+w "${BASE_DIR}" + +COPY --from=builder /wayback /usr/local/bin +RUN set -o pipefail; \ + apk add --no-cache -U ca-certificates libressl wget tor; \ + rm -rf /var/cache/apk/*; \ + \ + cp /etc/tor/torrc.sample /etc/tor/torrc; \ + #echo "ExcludeNodes ${TOR_EXCLUDE_NODE}" >> /etc/tor/torrc; \ + #echo "ExcludeExitNodes ${TOR_EXCLUDE_EXIT_NODE}" >> /etc/tor/torrc; \ + #echo 'StrictNodes 1' >> /etc/tor/torrc; \ + echo 'SocksPort 9050' >> /etc/tor/torrc; \ + echo 'ExitRelay 0' >> /etc/tor/torrc; \ + echo 'LongLivedPorts 8964' >> /etc/tor/torrc; \ + echo 'User tor' >> /etc/tor/torrc; \ + chown tor:nogroup /var/lib/tor/ /var/log/tor/; \ + chmod 700 /var/lib/tor + +EXPOSE 8964 + +# Trigger on downstream build, only support for docker, +# add flag `--format=docker` if using podman. +# Ref: https://wiki.alpinelinux.org/wiki/Fonts +ONBUILD RUN set -o pipefail; \ + apk add --no-cache -U \ + chromium \ + dbus \ + dumb-init \ + ffmpeg \ + freetype \ + libstdc++ \ + harfbuzz \ + nss \ + you-get \ + rtmpdump \ + youtube-dl \ + libwebp-tools \ + ttf-freefont \ + ttf-font-awesome \ + font-noto \ + font-noto-arabic \ + font-noto-emoji \ + font-noto-cjk \ + font-noto-extra \ + font-noto-lao \ + font-noto-myanmar \ + font-noto-thai \ + font-noto-tibetan; \ + rm -rf /var/cache/apk/* /tmp/* /var/tmp/* + diff --git a/archive_box/docker-compose.yml b/archive_box/docker-compose.yml new file mode 100644 index 0000000..5e3a8f6 --- /dev/null +++ b/archive_box/docker-compose.yml @@ -0,0 +1,231 @@ +version: "3" + +services: + browser: + image: chromedp/headless-shell + ports: + - 9222:9222 + networks: + - back-tier + volumes: + - /dev/shm:/dev/shm + restart: unless-stopped + hostname: browser + + meilisearch: + image: getmeili/meilisearch:v1.1.0 + ports: + - 7700:7700 + networks: + - back-tier + volumes: + - storage:/meili_data + restart: unless-stopped + hostname: meilisearch + environment: + - MEILI_NO_ANALYTICS=true + - MEILI_HTTP_ADDR=0.0.0.0:7700 + - MEILI_ENV=production + + wayback: + image: wabarc/wayback + ports: + - 8964:8964 + networks: + - back-tier + volumes: + - storage:/data + depends_on: + - browser + - meilisearch + environment: + - WAYBACK_STORAGE_DIR=/data + - CHROME_REMOTE_ADDR=browser:9222 + - WAYBACK_MEILI_ENDPOINT=http://meilisearch:7700 + - PLAYBACK_MEILI_ENDPOINT=http://meilisearch:7700 + command: wayback -d web + restart: unless-stopped + build: ./ + +networks: + back-tier: + +volumes: + storage: + driver: local + +# # Usage: +# # docker compose run archivebox init --setup +# # docker compose up +# # echo "https://example.com" | docker compose run archivebox archivebox add +# # docker compose run archivebox add --depth=1 https://example.com/some/feed.rss +# # docker compose run archivebox config --set MEDIA_MAX_SIZE=750m +# # docker compose run archivebox help +# # Documentation: +# # https://github.com/ArchiveBox/ArchiveBox/wiki/Docker#docker-compose + +# version: '3.9' + +# services: +# archivebox: +# #image: ${DOCKER_IMAGE:-archivebox/archivebox:dev} +# image: archivebox/archivebox:dev +# command: server --quick-init 0.0.0.0:8000 +# # ports: +# # - 8765:8000 +# volumes: +# - /srv/archive_box/data:/data +# # - ./etc/crontabs:/var/spool/cron/crontabs # uncomment this and archivebox_scheduler below to set up automatic recurring archive jobs +# # - ./archivebox:/app/archivebox # uncomment this to mount the ArchiveBox source code at runtime (for developers working on archivebox) +# # build: . # uncomment this to build the image from source code at buildtime (for developers working on archivebox) +# environment: +# - ALLOWED_HOSTS=* # restrict this to only accept incoming traffic via specific domain name +# - PUBLIC_INDEX=False # set to False to prevent anonymous users from viewing snapshot list +# - PUBLIC_SNAPSHOTS=False # set to False to prevent anonymous users from viewing snapshot content +# - PUBLIC_ADD_VIEW=False # set to True to allow anonymous users to submit new URLs to archive +# # - ADMIN_USERNAME=admin # create an admin user on first run with the given user/pass combo +# # - ADMIN_PASSWORD=SomeSecretPassword +# # - PUID=911 # set to your host user's UID & GID if you encounter permissions issues +# # - PGID=911 +# # - SEARCH_BACKEND_ENGINE=sonic # uncomment these and sonic container below for better full-text search +# # - SEARCH_BACKEND_HOST_NAME=sonic +# # - SEARCH_BACKEND_PASSWORD=SomeSecretPassword +# - MEDIA_MAX_SIZE=750m # increase this filesize limit to allow archiving larger audio/video files +# # - TIMEOUT=60 # increase this number to 120+ seconds if you see many slow downloads timing out +# # - CHECK_SSL_VALIDITY=True # set to False to disable strict SSL checking (allows saving URLs w/ broken certs) +# - SAVE_ARCHIVE_DOT_ORG=True # set to False to disable submitting all URLs to Archive.org when archiving +# labels: +# - "traefik.enable=true" +# - "traefik.http.routers.archive.entrypoints=websecure" +# - "traefik.http.routers.archive.rule=Host(`archive.$DOMAIN_NAME`)" +# - "traefik.http.routers.archive.tls.certresolver=letsencr" +# - "traefik.http.services.archive.loadbalancer.server.port=8000" +# restart: unless-stopped +# # ... +# # add further configuration options from archivebox/config.py as needed (to apply them only to this container) +# # or set using `docker compose run archivebox config --set SOME_KEY=someval` (to persist config across all containers) + +# # For ad-blocking during archiving, uncomment this section and pihole service section below +# # networks: +# # - dns +# # dns: +# # - 172.20.0.53 + + +# ######## Optional Addons: tweak examples below as needed for your specific use case ######## + +# ### Example: To run the Sonic full-text search backend, first download the config file to sonic.cfg +# # $ curl -O https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/etc/sonic.cfg +# # After starting, backfill any existing Snapshots into the full-text index: +# # $ docker-compose run archivebox update --index-only + +# # sonic: +# # image: valeriansaliou/sonic:latest +# # expose: +# # - 1491 +# # environment: +# # - SEARCH_BACKEND_PASSWORD=SomeSecretPassword +# # volumes: +# # - ./sonic.cfg:/etc/sonic.cfg:ro +# # - ./data/sonic:/var/lib/sonic/store + + +# ### Example: To run pihole in order to block ad/tracker requests during archiving, +# # uncomment this block and set up pihole using its admin interface + +# # pihole: +# # image: pihole/pihole:latest +# # ports: +# # - 127.0.0.1:8090:80 # uncomment to access the admin HTTP interface on http://localhost:8090 +# # environment: +# # - WEBPASSWORD=SET_THIS_TO_SOME_SECRET_PASSWORD_FOR_ADMIN_DASHBOARD +# # - DNSMASQ_LISTENING=all +# # dns: +# # - 127.0.0.1 +# # - 1.1.1.1 +# # networks: +# # dns: +# # ipv4_address: 172.20.0.53 +# # volumes: +# # - ./etc/pihole:/etc/pihole +# # - ./etc/dnsmasq:/etc/dnsmasq.d + + +# ### Example: Enable ability to run regularly scheduled archiving tasks by uncommenting this container +# # $ docker compose run archivebox schedule --every=day --depth=1 'https://example.com/some/rss/feed.xml' +# # then restart the scheduler container to apply the changes to the schedule +# # $ docker compose restart archivebox_scheduler + +# # archivebox_scheduler: +# # image: ${DOCKER_IMAGE:-archivebox/archivebox:dev} +# # command: schedule --foreground +# # environment: +# # - MEDIA_MAX_SIZE=750m # increase this number to allow archiving larger audio/video files +# # # - TIMEOUT=60 # increase if you see timeouts often during archiving / on slow networks +# # # - ONLY_NEW=True # set to False to retry previously failed URLs when re-adding instead of skipping them +# # # - CHECK_SSL_VALIDITY=True # set to False to allow saving URLs w/ broken SSL certs +# # # - SAVE_ARCHIVE_DOT_ORG=True # set to False to disable submitting URLs to Archive.org when archiving +# # # - PUID=502 # set to your host user's UID & GID if you encounter permissions issues +# # # - PGID=20 +# # volumes: +# # - ./data:/data +# # - ./etc/crontabs:/var/spool/cron/crontabs +# # # cpus: 2 # uncomment / edit these values to limit container resource consumption +# # # mem_limit: 2048m +# # # shm_size: 1024m + + +# ### Example: Put Nginx in front of the ArchiveBox server for SSL termination + +# # nginx: +# # image: nginx:alpine +# # ports: +# # - 443:443 +# # - 80:80 +# # volumes: +# # - ./etc/nginx.conf:/etc/nginx/nginx.conf +# # - ./data:/var/www + + +# ### Example: run all your ArchiveBox traffic through a WireGuard VPN tunnel + +# # wireguard: +# # image: linuxserver/wireguard:latest +# # network_mode: 'service:archivebox' +# # cap_add: +# # - NET_ADMIN +# # - SYS_MODULE +# # sysctls: +# # - net.ipv4.conf.all.rp_filter=2 +# # - net.ipv4.conf.all.src_valid_mark=1 +# # volumes: +# # - /lib/modules:/lib/modules +# # - ./wireguard.conf:/config/wg0.conf:ro + + +# ### Example: Run PYWB in parallel and auto-import WARCs from ArchiveBox + +# # pywb: +# # image: webrecorder/pywb:latest +# # entrypoint: /bin/sh -c '(wb-manager init default || test $$? -eq 2) && wb-manager add default /archivebox/archive/*/warc/*.warc.gz; wayback;' +# # environment: +# # - INIT_COLLECTION=archivebox +# # ports: +# # - 8080:8080 +# # volumes: +# # - ./data:/archivebox +# # - ./data/wayback:/webarchive + + +# networks: +# traefik: +# external: true + +# # networks: + +# # # network needed for pihole container to offer :53 dns resolving on fixed ip for archivebox container +# # dns: +# # ipam: +# # driver: default +# # config: +# # - subnet: 172.20.0.0/24 diff --git a/changedetection/docker-compose.yml b/changedetection/docker-compose.yml new file mode 100644 index 0000000..03f06dd --- /dev/null +++ b/changedetection/docker-compose.yml @@ -0,0 +1,15 @@ +version: "2.1" +services: + changedetection: + image: lscr.io/linuxserver/changedetection.io:latest + container_name: changedetection + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + - BASE_URL= #optional + volumes: + - /srv/changedetection/config:/config + ports: + - 5000:5000 + restart: unless-stopped diff --git a/dotfiles/.zshrc b/dotfiles/.zshrc new file mode 100644 index 0000000..352afb5 --- /dev/null +++ b/dotfiles/.zshrc @@ -0,0 +1,230 @@ +########### +# EXPORTS # +########### + +export GOPATH=~/go +export PATH="$PATH:$GOPATH/bin" +export PATH=~/opt/:$PATH + +export PATH=$PATH:/usr/bin/node + +export LV2_PATH=~/.lv2 + +#export NVM_DIR="$HOME/.nvm" +#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +#[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + + +#echo "0" | sudo tee /sys/module/hid_apple/parameters/fnmode + +########### +# ALIASES # +########### + +alias fixit='echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p' +alias lll='ls -Alhtr' # sorts files in dir by date +alias cl='clear' +alias lz='lazygit' + +alias reload-polybar='/home/null/Documents/scripts/docked_polybars.sh' + +alias btn-light='echo 1 | sudo tee /sys/class/leds/tpacpi::kbd_backlight/brightness' +alias btn-light-off='echo 0 | sudo tee /sys/class/leds/tpacpi::kbd_backlight/brightness' + +alias dc='docker-compose ' + +alias mi='micro ' +alias nicer='python -m json.tool' +alias ccat='pygmentize -g -O style=colorful,linenos=1' +alias catline='pygmentize -g -O style=colorful,linenos=1' +alias xx='sudo systemctl start mariadb.service' +alias xxx='sudo systemctl stop mariadb.service' +alias zz='screen -dmS mongod mongod' +alias shh='sudo rmmod pcspkr' + +alias cod='conda deactivate' + +alias dock_load="sh /home/null/Documents/scripts/reconfig_to_docked.sh" + +alias gwa-staging='git add . && git commit -m "new UI staging build" && git push' +alias gwa-production='git add . && git commit -m "new UI production build" && git push' + + +############# +# FUNCTIONS # +############# + +function portkill { kill $(lsof -t -i:$1) } +function getport() { lsof -t -i:$1 } + +function into() { + docker exec -it $1 /bin/bash +} + +function intoo() { + docker exec -it $1 /bin/sh +} + + +function cmmt() { + git commit -m "$1" +} + + +function hist() { + history | grep $1 +} + +function gitter() { + git add . && git commit -m "$1" && git push +} + +function gittag() { + git tag -a $1 -m 'version $1' && git push origin $1 +} + +function timezsh() { + shell=${1-$SHELL} + for i in $(seq 1 10); do /usr/bin/time $shell -i -c exit; done +} + + + +######## +# MISC # +######## + +# If you come from bash you might have to change your $PATH. +export PATH=$HOME/bin:/usr/local/bin:$PATH + +# Path to your oh-my-zsh installation. +export ZSH=/home/null/.oh-my-zsh + +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-zsh is loaded. +# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes +#ZSH_THEME="xiong-chiamiov" +#ZSH_THEME="crcandy" +ZSH_THEME="sonicradish" + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. Case +# sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" + +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_ZSH_DAYS=13 + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +HIST_STAMPS="yyyy-mm-dd" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +#plugins=(git docker node yarn sudo ng wd) + + +# +# P L U G I N S +# + +plugins=(git sudo screen rsync docker docker-compose zsh-autosuggestions wd) + + + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# ssh +# export SSH_KEY_PATH="~/.ssh/rsa_id" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This +#loads nvm bash_completion + + +export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + +setxkbmap us + +#autoload -U +X bashcompinit && bashcompinit +#complete -o nospace -C /usr/local/bin/bitcomplete bit + + + + + +# >>> conda initialize >>> +# !! Contents within this block are managed by 'conda init' !! +__conda_setup="$('/home/null/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" +if [ $? -eq 0 ]; then + eval "$__conda_setup" +else + if [ -f "/home/null/miniconda3/etc/profile.d/conda.sh" ]; then + . "/home/null/miniconda3/etc/profile.d/conda.sh" + else + export PATH="/home/null/miniconda3/bin:$PATH" + fi +fi +unset __conda_setup +# <<< conda initialize <<< + + + +# Load Angular CLI autocompletion. +#source <(ng completion script) diff --git a/dotfiles/bspwmrc b/dotfiles/bspwmrc new file mode 100755 index 0000000..396c78d --- /dev/null +++ b/dotfiles/bspwmrc @@ -0,0 +1,152 @@ +#!/bin/sh + +sxhkd & +#exec setxkbmap dk & +numlockx & +#volumeicon & +#light-locker-settings & + +lxpolkit & +#autorandr & + +bspc config border_width 1 +bspc config window_gap 25 + + + +#bspc monitor -d I II III IV V VI VII VIII IX X + +bspc monitor DP-2-3 -d DEV +bspc monitor DP-2-2 -d WEB TERM FILES RAND SOC MEDIA EXTR REMOTE +bspc monitor eDP-1 -d MORE + + +#bspc monitor DP2-3 -d LEFT +#bspc monitor eDP1 -d RIGHT +#xrandr --output VGA-1-1 --auto --left-of monitor +#sudo xrandr --output VGA-1 --mode 1050x1680 --rotate right --left-of LVDS-1 & + +#i=1 +#for monitor in $(bspc query -M); do +#bspc monitor $monitor \ +# -n "$i" \ +# -d {RIGHT} +# -d {DEV,WEB,TERM,FILES,RAND,MEDIA,SOC,EXTR,REMOTE} +# -d {LEFT} +# let i++ +#done +#NMON=$i +#unset i + +bspc config top_padding 15 + +# Visual options +bspc config split_ratio 0.50 +bspc config borderless_monocle true +bspc config gapless_monocle true +bspc config focus_follows_pointer true +bspc config auto_alternate true +bspc config auto_cancel true +bspc config normal_border_color "#332d29" +bspc config active_border_color "#817267" +bspc config focused_border_color "#504339" +bspc config presel_border_color "#9a875f" +bspc config urgent_border_color "#9f7155" +bspc config focused_locked_border_color "#9a875f" +bspc config normal_frame_opacity 0.0 +bspc config focused_frame_opacity 0.1 + + +# Rules +bspc rule -a Skype pseudo_tiled=on +bspc rule -a rofi pseudo_tiled=on +bspc rule -a Infinit pseudo_tiled=on +bspc rule -a Spotify pseudo_tiled=on +bspc rule -a sun-awt-X11-XFramePeer pseudo_tiled=on +bspc rule -a Renoise pseudo_tiled=on +bspc rule -a Skype pseudo_tiled=on +bspc rule -a File-roller pseudo_tiled=on +bspc rule -a Transmission-gtk pseudo_tiled=on +bspc rule -a albert pseudo_tiled=on +bspc rule -a Conky sticky=on manage=off lower=on +bspc rule -a astime sticky=on +bspc rule -a feh floating=on manage=off + + + +# panel & + +compton & +radiotray-ng & +nm-applet & +lxappearance & +syncthing-gtk & + +#setWMName "LG3D" +wmname LG3D +# xcompmgr & +picom --no-fading-openclose & +# run_keybase & +budgie-polkit-dialog & + +#insync start & +#digitalocean-indicator & + +#feh --bg-fill /home/null/Pictures/wallpapers/papers.co-mn32-forest-wood-fog-flare-nature-green-25-wallpaper.jpg & +#feh --bg-scale /home/null/Pictures/wallpapers/overflow.png +#feh --bg-center /home/null/Pictures/wallpapers/grass_fog_light_dark_background_49885_1920x1080.jpg & +#feh --bg-center /home/null/Pictures/wallpapers/fHFDkjY_copy.jpg +#feh --bg-scale /home/null/Pictures/wallpapers/papers.co-mo50-forest-green-nature-tree-jonas-nilsson-lee-25-wallpaper_deux.jpg & +#feh --bg-scale /home/null/Pictures/wallpapers/1g8pWTZ.jpg & + + + +sleep 1 + +#sudo xrandr --output VGA-1 --mode 1680x1050 --left-of LVDS-1 & + +autorandr dockered & + +sleep 3 + +/home/null/Documents/scripts/reconfig_to_docked.sh + +#/usr/bin/polybar bar -c ~/.config/polybar/config & + +#sleep 1 + +#polybar main -c /home/null/.config/polybar/config.left.ini & + +#sleep 1 + +#polybar main -c /home/null/.config/polybar/config.teal.right & + + + +# polybar bar -c ~/.config/polybar/config +#./home/null/.bin/panel/panel +#sleep 3 +#screen -S rightpanel -dm /home/null/.bin/panel/dzen2_bar.sh & +#sleep 1 +#screen -S tray -dm /home/null/.bin/panel/tray.sh & +#$HOME/.config/polybar/launch.sh +#lxsession & +sleep 1 +#feh --bg-scale ~/Pictures/wallpapers/papers.co-mz92-green-moss-flower-nature-25-wallpaper.jpg & +#feh --bg-scale ~/Pictures/papers.co-nq09-earthview-wood-forest-nature-1920x1080.jpg & +# feh --bg-scale ~/Pictures/wallpapers/1989.png & + +feh --bg-scale ~/Pictures/wallpapers/papers.co-ne30-truevine-dark-nature-green-flower-leaf-1920x1080.jpg + +orage & + +#feh --bg-scale /home/null/Pictures/circuit_tree_dark_orange.png & +sleep 1 +pamac-tray & + + +caffeine & +/usr/bin/caffeine & + + +/usr/bin/sh /home/null/Documents/scripts/gitsync.sh & diff --git a/dotfiles/polybar/config b/dotfiles/polybar/config new file mode 100644 index 0000000..45e6cbe --- /dev/null +++ b/dotfiles/polybar/config @@ -0,0 +1,633 @@ +;################################################################### +; +; +; - uNd0xR polybar config - +; +; +;################################################################### + + +;---------------------------------------------------------- +; C O L O R S +;---------------------------------------------------------- +[colors] +background = #222 +background-alt = #444 +foreground = #dfdfdf +foreground-alt = #cbcbcb +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + +;---------------------------------------------------------- +; G L O B A L +;---------------------------------------------------------- + +[global/wm] +margin-top = 0 +margin-bottom = 2 + +[bar/bar] +monitor = ${env:MONITOR:DP-2-2} +width = 100% +height = 22 +offset-x = 0 +offset-y = 0 +;dock = true +;background = ${xrdb:color9} +background = ${colors.background} +foreground = ${colors.foreground} + +overline-size = 1 +overline-color = #f00 +underline-size = 1 +underline-color = #00f + +border-bottom-size = 1 +border-bottom-color = #333 + +border-color-foreground = #FFFFFF + +spacing = 0 +padding-left = 0 +padding-right = 1 +module-margin-left = 0 +module-margin-right = 1 + +;---------------------------------------------------------- +; F O N T S +;---------------------------------------------------------- + +;font-0 = Terminus:size=12;0 +font-0 = Terminus:size=12;0 +;font-0 = Roboto:pixelsize=14;0 +font-1 = Roboto:size=11:weight=bold +font-2 = -*-gohufont-medium-*-*-*-11-*-*-*-*-*-*-* +font-3 = FontAwesome:size=8;0 +font-4 = PowerlineSymbols:size=9;0 +font-5 = siji:pixelsize=10;0 +font-6 = GohuFont:pixelsize=14:weight=bold + + +;---------------------------------------------------------- +; M A I N M O D U L E L A Y O U T +;---------------------------------------------------------- + +;modules-left = bspwm quickmenu menu +modules-left = bspwm powermenu menu + +modules-center = xwindow + +modules-right = volume memory battery temperature date + +;---------------------------------------------------------- +; M E N U +;---------------------------------------------------------- +[module/menu] +type = custom/text +content = "  " +content-foreground = #f57900 +;label-open = " " +;label-open-foreground = #85e178 +;alt-icon = +content-padding = 1 +;content-background = ${color.acolor} +;content-foreground = ${color.fg} +click-left = $HOME/.config/polybar/scripts/menu +;click-middle = $HOME/.config/polybar/scripts/menu_full +click-right = $HOME/.config/polybar/scripts/menu + +;/home/null/.config/polybar/scripts/menu + + +;---------------------------------------------------------- +; T R A Y +;---------------------------------------------------------- + +;tray-position = center +;cursor-click = pointer +tray-position = center +tray-padding = 10 +tray-offset-x = 21% +;tray-transparent = false +;tray-background = #0063ff +;enable-ipc = true +wm-restack = bspwm +;tray-scale = 1.0 +;override-redirect = true +;dpi-x = 96 +;dpi-y = 96 +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev + +;---------------------------------------------------------- +; X W I N D O W +;---------------------------------------------------------- + +[module/xwindow] +type = internal/xwindow +label = - %title:0:30:...% +format-padding = 2 +label-padding-left = 2 +label-padding-right = 2 +label-background = #1d1f1d + + + +;---------------------------------------------------------- +; X K E Y B O A R D +;---------------------------------------------------------- + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-underline = ${colors.secondary} +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} + +label-layout = %layout% + +label-indicator-padding = 2 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +;---------------------------------------------------------- +; F I L E S Y S T E M +;---------------------------------------------------------- + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = /home +;mount-1 = /home +;mount-2 = /invalid/mountpoint + +format-mounted-prefix = "/HOME:" +format-mounted-foreground = #FFFFFF +;format-mounted-overline = #73d216 + +label-mounted = %percentage_used% +label-mounted-padding = 1 +;label-mounted-underline= #73d216 +;label-mounted-overline= #73d216 +label-unmounted = %mountpoint%: not mounted +label-unmounted-foreground = ${colors.foreground-alt} + + +;---------------------------------------------------------- +; B S P W M M O D U L E +;---------------------------------------------------------- + +[module/bspwm] +type = internal/bspwm +; Only show workspaces defined on the same output as the bar +pin-workspaces = true + +; Create click handler used to focus workspace +; Default: true +enable-click = true + +; Create scroll handlers used to cycle workspaces +; Default: true +enable-scroll = true + +; Set the scroll cycle direction +; Default: true +reverse-scroll = false + +label-focused = %name% +label-focused-background = #3d3e3b + + +;label-focused-underline= ${colors.primary} +;label-focused-overline= ${colors.primary} +label-focused-foreground = #8ae234 +label-focused-padding = 2 + +label-occupied = %name% +label-occupied-padding = 2 +label-occupied-foreground = #e89a4e + +label-urgent = %name%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %name% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + + +;---------------------------------------------------------- +; M P D +;---------------------------------------------------------- + +[module/mpd] +type = internal/mpd + +format-online = + +label-song-maxlen = 25 +label-song-ellipsis = true + +icon-prev = < +icon-seekb = « +icon-stop = <> +icon-play = |> +icon-pause = ll +icon-next = > +icon-seekf = » + +icon-random = ½ +icon-repeat = O + +toggle-on-foreground = ${colors.primary} +toggle-off-foreground = #66 + +;---------------------------------------------------------- +; B A C K L I G H T +;---------------------------------------------------------- + +[module/backlight] +type = internal/light + +format =