more stuff

auto-flake-update
Yorick van Pelt 2021-05-23 17:33:00 +02:00
parent 4fc466d13b
commit 6299a52566
Signed by: yorick
GPG Key ID: D8D3CC6D951384DE
6 changed files with 266 additions and 0 deletions

5
bin/backup_frumar.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
export BORG_REPO="frumar.local:/data/yorick/backup"
export BORG_PASSCOMMAND="pass sysadmin/jarvis-borg"
borg create "::home-{hostname}-{user}-{now}" $HOME --exclude-from ~/dotfiles/misc/.borgignore -x --compression=zstd -v
~/dotfiles/bin/borgbackup.sh prune --prefix "home-{hostname}-{user}" --keep-daily=4 --keep-weekly=4 --keep-monthly=6 --keep-yearly=2 --list --stats

13
bin/undock.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
echo "undocking..." | systemd-cat -t dotfiles -p info
# if [ -e /sys/bus/pci/devices/0000\:04\:00.0/remove ]; then
# echo 1 | sudo tee /sys/bus/pci/devices/0000\:04\:00.0/remove
# echo "removed pci bridge"
# sleep 2s
# else
# echo "No pci device found, ignoring"
# fi
systemd-inhibit --what=handle-lid-switch sleep 45s & disown
swaymsg output '*' disable
swaymsg output eDP-1 enable
exit 0

1
color-scheme Normal file
View File

@ -0,0 +1 @@
light

View File

@ -0,0 +1,86 @@
{
"layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar at the bottom of your screen
"height": 26, // Waybar height
// "width": 1280, // Waybar width
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "custom/spotify"],
"modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "network", "disk", "battery", "clock", "tray"],
// Modules configuration
"sway/workspaces": {
"all-outputs": false,
"format": "{icon} {name}",
"format-icons": {
"1": "",
"2": "#",
"3": "",
"4": "",
"5": "",
"6": "",
"7": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{load}% "
},
"memory": {
"format": "{}% "
},
"disk": {
"format": "{free} "
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
//"interface": "wlp58s0", // (Optional) To force the use of this interface
"format-wifi": "{essid} ",
"format-ethernet": "{ifname} ",
"format-disconnected": "Disconnected ⚠"
},
"pulseaudio": {
"scroll-step": 5,
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"custom/spotify": {
"format": " {}",
"escape": true,
"max-length": 40,
"on-click": "playerctl play-pause",
"exec": "$HOME/dotfiles/bin/spotify_meta.sh 2> /dev/null" // Script in resources folder
}
}

View File

@ -0,0 +1,102 @@
* {
border: none;
border-radius: 0;
font-family: Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
min-height: 0;
}
window#waybar {
background: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
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;
}
#mode {
background: #64727D;
border-bottom: 3px solid white;
}
#clock, #battery, #cpu, #memory, #network, #disk, #pulseaudio, #custom-spotify, #tray, #mode {
padding: 0 10px;
margin: 0 5px;
}
#clock {
background-color: #64727D;
}
#battery {
background-color: #ffffff;
color: black;
}
#battery.charging {
color: white;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.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;
}
#cpu, #disk {
background: #2ecc71;
color: #000000;
}
#memory {
background: #9b59b6;
}
#network {
background: #2980b9;
}
#network.disconnected {
background: #f53c3c;
}
#pulseaudio {
background: #f1c40f;
color: black;
}
#pulseaudio.muted {
background: #90b1b1;
color: #2a5c45;
}
#custom-spotify {
background: #66cc99;
color: #2a5c45;
}
#tray {
background-color: #2980b9;
}

59
nr.fish Normal file
View File

@ -0,0 +1,59 @@
function __nr_apply
set -l out $argv[1]
set -l man (nix-store -q -b man $out 2>&1)
echo "Adding $out ..."
if [ -d "$man/share/man" ]
set -a MANPATH "$man/share/man"
end
if [ -d "$out/share/man" ]
set -a MANPATH "$out/share/man"
end
set -a PATH "$out/bin"
if [ -f "$out/nix-support/propagated-user-env-packages" ]
for f in (cat "$out/nix-support/propagated-user-env-packages")
__nr_apply $f
end
end
end
# Defined in /tmp/fish.OJ1yiT/nr.fish @ line 2
function :u
if ! set -q __NR_OLD_PATH
set -g __NR_OLD_PATH $PATH
set -g __NR_OLD_MANPATH $MANPATH
end
if [ (count $argv) -eq 0 ]
set -xg PATH $__NR_OLD_PATH
set -xg MANPATH $__NR_OLD_MANPATH
end
for arg in $argv
set -l out (nix-instantiate --eval --json --expr '
let
tryImport = f: with builtins; let v = import f; in if isFunction v && (any (a: a) (attrValues (functionArgs v))) then v {} else v;
isImportable = path: with builtins; if pathExists "${path}/" then pathExists "${path}/default.nix" else pathExists "${path}";
pathBits = with builtins; map ({ prefix, path }:
if prefix == "" then
let
contents = readDir path;
names = builtins.filter (a: contents.${a} == "directory" && isImportable "${path}/${a}") (attrNames contents);
in
foldl\' (prev: val: prev // { ${val} = tryImport "${path}/${val}"; }) {} names
else
if isImportable path then
{ ${prefix} = tryImport path; }
else
{ }
) nixPath;
out = builtins.foldl\' (old: new: old // new) {} pathBits;
in with out; builtins.toPath ('"$arg"').outPath' | jq -r .)
[ -e $out ] || nix-store -r $out > /dev/null
__nr_apply $out
end
end