chore: add waybar and CI
parent
ef79a67adc
commit
8dd49608b8
|
|
@ -0,0 +1,74 @@
|
||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"height": 20,
|
||||||
|
"modules-left": [
|
||||||
|
"sway/workspaces",
|
||||||
|
"sway/mode",
|
||||||
|
"sway/window"
|
||||||
|
],
|
||||||
|
"modules-center": [],
|
||||||
|
"modules-right": [
|
||||||
|
"idle_inhibitor",
|
||||||
|
"backlight",
|
||||||
|
"memory",
|
||||||
|
"network",
|
||||||
|
"custom/powerbar",
|
||||||
|
"clock",
|
||||||
|
"tray"
|
||||||
|
],
|
||||||
|
"sway/window": {
|
||||||
|
"max-length": 100,
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Mozilla Firefox$": "🌎 $1",
|
||||||
|
"(.*) - vim": " $1",
|
||||||
|
"(.*) - zsh": " [$1]",
|
||||||
|
"(.*) - /bin/bash": " [$1]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "RAM: {}%"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"format-wifi": " ({signalStrength}%) {essid}",
|
||||||
|
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"custom/powerbar": {
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 3,
|
||||||
|
"exec": "/bin/powerbar -full 'FULL - {usage}W' -charging '{state} {capacity}% - {usage}W - {H}h {M}m' -waybar 2> /dev/null"
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%a, %d. %b %H:%M}"
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "No Sleep ",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{icon} 100%",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"spacing": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q waybar
|
||||||
|
while pgrep -x waybar > /dev/null; do sleep 0.1; done
|
||||||
|
if [[ -s "$(which waybar)" ]]; then
|
||||||
|
dunstify -a "waybar" "Starting up waybar"
|
||||||
|
exec waybar -c ~/.config/waybar/config
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
/*
|
||||||
|
* https://coolors.co/264653-2a9d8f-e9c46a-f4a261-e76f51
|
||||||
|
* $charcoal: rgba(38, 70, 83, 1);
|
||||||
|
* $persian-green: rgba(42, 157, 143, 1);
|
||||||
|
* $orange-yellow-crayola: rgba(233, 196, 106, 1);
|
||||||
|
* $sandy-brown: rgba(244, 162, 97, 1);
|
||||||
|
* $burnt-sienna: rgba(231, 111, 81, 1);
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
font-family: "Pragmata Pro", Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 18px;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(43, 48, 59, 0.5);
|
||||||
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: rgba(43, 48, 59, 0.5);
|
||||||
|
border: 1px solid rgba(100, 114, 125, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background: transparent;
|
||||||
|
color: white;
|
||||||
|
border-bottom: 3px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background: #64727D;
|
||||||
|
border-bottom: 3px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode,
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#tray,
|
||||||
|
#network,
|
||||||
|
#memory,
|
||||||
|
#backlight,
|
||||||
|
#idle-inhibitor,
|
||||||
|
#custom-powerbar {
|
||||||
|
padding: 0 10px;
|
||||||
|
margin: 0 5px;
|
||||||
|
border-bottom: 1px solid rgba(38, 70, 83, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background: #64727D;
|
||||||
|
border-bottom: 3px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: #64727D;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: white;
|
||||||
|
background-color: #26A65B;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#custom-powerbar {
|
||||||
|
border-bottom: 0px solid rgba(0, 255, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-powerbar.warning:not(.charging) {
|
||||||
|
background: #f53c3c;
|
||||||
|
color: white;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-powerbar.charging,
|
||||||
|
#custom-powerbar.fully-charged {
|
||||||
|
border-bottom: 2px solid rgb(0, 255, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-powerbar.discharging {
|
||||||
|
border-bottom: 2px solid rgba(233, 196, 106, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.wifi {
|
||||||
|
border-bottom: 2px solid rgba(42, 157, 143, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
color: rgba(231, 111, 81, 1);
|
||||||
|
border-bottom: 2px solid rgba(231, 111, 81, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
name: Docker Image CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Build the Docker image
|
||||||
|
env:
|
||||||
|
DOCKER_USER: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
DOCKER_PASS: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
docker login -u ${DOCKER_USER} -p ${DOCKER_PASS}
|
||||||
|
VERSION=${GITHUB_REF#"refs/heads/"} COMMIT_SHA=${GITHUB_SHA} INITIATOR=${GITHUB_ACTOR} make publish
|
||||||
|
|
@ -12,7 +12,7 @@ RUN pacman -Sy --noconfirm openssh sudo vim git which gnupg make gcc binutils bi
|
||||||
WORKDIR /home/files
|
WORKDIR /home/files
|
||||||
COPY --chown=1000:1000 . /home/files/.files
|
COPY --chown=1000:1000 . /home/files/.files
|
||||||
USER 1000
|
USER 1000
|
||||||
RUN rm -rf /home/files/.bashrc \
|
RUN rm -rf .bash_rc .bash_logout .zshrc \
|
||||||
&& source /home/files/.files/sourceme.sh \
|
&& source /home/files/.files/sourceme.sh \
|
||||||
&& echo "source /home/files/.files/sourceme.sh" > /home/files/.bash_profile
|
&& echo "source /home/files/.files/sourceme.sh" > /home/files/.bash_profile
|
||||||
|
|
||||||
|
|
|
||||||
8
makefile
8
makefile
|
|
@ -6,3 +6,11 @@ dev:
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build:
|
build:
|
||||||
@docker build -t adamveld12/files .
|
@docker build -t adamveld12/files .
|
||||||
|
|
||||||
|
SHA:=$(shell git rev-parse --short=6 HEAD)
|
||||||
|
|
||||||
|
.PHONY: publish
|
||||||
|
publish:
|
||||||
|
docker build -t adamveld12/files:latest -t adamveld12/files:$(SHA) .
|
||||||
|
docker push adamveld12/files:$(SHA)
|
||||||
|
docker push adamveld12/files:latest
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,132 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# kill the process using the specified port
|
||||||
|
function freeport(){
|
||||||
|
|
||||||
|
if [ -z $1 ]; then
|
||||||
|
echo "usage: freeport <port number>" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
lsof -t -i tcp:$1 | xargs kill
|
||||||
|
}
|
||||||
|
|
||||||
|
# runs tcp dump on the port specified in $1. $1 defaults to 8080
|
||||||
|
function dumptcp(){
|
||||||
|
local DUMPPORT=$1
|
||||||
|
local DUMPINTERFACE=$2
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
DUMPPORT=8080
|
||||||
|
elif [[ "$1" == "help" ]]; then
|
||||||
|
echo "dumps tcp info at the specified port. Useful for looking at http requests"
|
||||||
|
echo "usage dumptcp <port>"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
DUMPINTERFACE=lo0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "dumping tcp connections @ $DUMPINTERFACE on port $DUMPPORT..."
|
||||||
|
|
||||||
|
sudo tcpdump -s 0 -A -i $DUMPINTERFACE "tcp port $DUMPPORT and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Determine size of a file or total size of a directory
|
||||||
|
function fs() {
|
||||||
|
if du -b /dev/null > /dev/null 2>&1; then
|
||||||
|
local arg=-sbh;
|
||||||
|
else
|
||||||
|
local arg=-sh;
|
||||||
|
fi
|
||||||
|
if [[ -n "$@" ]]; then
|
||||||
|
du $arg -- "$@";
|
||||||
|
else
|
||||||
|
du $arg .[^.]* *;
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Run `dig` and display the most useful info
|
||||||
|
function digga() {
|
||||||
|
dig +nocmd "$1" any +multiline +noall +answer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# `o` with no arguments opens the current directory, otherwise opens the given
|
||||||
|
# location
|
||||||
|
function o() {
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
open .;
|
||||||
|
else
|
||||||
|
open "$@";
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a .tar.gz archive, using `zopfli`, `pigz` or `gzip` for compression
|
||||||
|
function targz() {
|
||||||
|
local tmpFile="${@%/}.tar";
|
||||||
|
tar -cvf "${tmpFile}" --exclude=".DS_Store" "${@}" || return 1;
|
||||||
|
|
||||||
|
size=$(
|
||||||
|
stat -f"%z" "${tmpFile}" 2> /dev/null; # OS X `stat`
|
||||||
|
stat -c"%s" "${tmpFile}" 2> /dev/null # GNU `stat`
|
||||||
|
);
|
||||||
|
|
||||||
|
local cmd="";
|
||||||
|
if (( size < 52428800 )) && hash zopfli 2> /dev/null; then
|
||||||
|
# the .tar file is smaller than 50 MB and Zopfli is available; use it
|
||||||
|
cmd="zopfli";
|
||||||
|
else
|
||||||
|
if hash pigz 2> /dev/null; then
|
||||||
|
cmd="pigz";
|
||||||
|
else
|
||||||
|
cmd="gzip";
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
echo "Compressing .tar using \`${cmd}\`…";
|
||||||
|
"${cmd}" -v "${tmpFile}" || return 1;
|
||||||
|
[ -f "${tmpFile}" ] && rm "${tmpFile}";
|
||||||
|
echo "${tmpFile}.gz created successfully.";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Syntax-highlight JSON strings or files
|
||||||
|
# Usage: `json '{"foo":42}'` or `echo '{"foo":42}' | json`
|
||||||
|
function json() {
|
||||||
|
if [ -t 0 ]; then # argument
|
||||||
|
python -mjson.tool <<< "$*" | pygmentize -l javascript;
|
||||||
|
else # pipe
|
||||||
|
python -mjson.tool | pygmentize -l javascript;
|
||||||
|
fi;
|
||||||
|
}
|
||||||
|
|
||||||
|
function interfaces(){
|
||||||
|
ifconfig | grep "\: flags" | awk '{print $1}' | sed 's/:$//';
|
||||||
|
}
|
||||||
|
|
||||||
|
function inline_image {
|
||||||
|
printf '\033]1338;url='"$1"';alt='"$2"'\a\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a git.io short URL
|
||||||
|
function gitio() {
|
||||||
|
if [ -z "${1}" -o -z "${2}" ]; then
|
||||||
|
echo "Usage: \`gitio slug url\`";
|
||||||
|
return 1;
|
||||||
|
fi;
|
||||||
|
curl -i http://git.io/ -F "url=${2}" -F "code=${1}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# list files
|
||||||
|
alias ll='ls -hGla --color'
|
||||||
|
|
||||||
|
#git
|
||||||
|
alias gs='git status'
|
||||||
|
alias gm='git merge --ff-only'
|
||||||
|
alias gpr='git pull --rebase'
|
||||||
|
alias gmt='git mergetool'
|
||||||
|
alias grc='git rebase --continue'
|
||||||
|
alias gk='git fetch origin; git remote prune origin; gitk --all &'
|
||||||
|
alias gl='git log --pretty=format:"%h %ar by %an: %s"'
|
||||||
|
|
@ -150,4 +150,13 @@ else
|
||||||
export PROMPT_COMMAND='PS1="$(history -a; history -c; history -r; build_prompt_unix)\n\$LA "'
|
export PROMPT_COMMAND='PS1="$(history -a; history -c; history -r; build_prompt_unix)\n\$LA "'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! [[ -f "${HOME}/.bash_logout" ]]; then
|
||||||
|
files_debug_log "setting up .bash_logout for privacy"
|
||||||
|
cat <<- EOF > ${HOME}/.bash_logout
|
||||||
|
# when leaving the console clear the screen to increase privacy
|
||||||
|
if [ "$SHLVL" = 1 ]; then
|
||||||
|
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue