make status indicator a command

also include current workspace

+11
home/default.nix
···
{ pkgs, config, lib, ... }:
let cfg = config.custom;
in {
imports = [
./mail.nix
···
ripgrep
toot
iamb
];
home.shellAliases = {
···
{ pkgs, config, lib, ... }:
let cfg = config.custom;
+
status = pkgs.stdenv.mkDerivation {
+
name = "status";
+
+
src = ./status;
+
+
installPhase = ''
+
mkdir -p $out
+
cp -r * $out
+
'';
+
};
in {
imports = [
./mail.nix
···
ripgrep
toot
iamb
+
status
];
home.shellAliases = {
home/status/backlight.sh home/status/lib/backlight.sh
home/status/battery.sh home/status/lib/battery.sh
+29
home/status/bin/st
···
···
+
#!/usr/bin/env bash
+
+
INFOS=()
+
+
DATE=`date "+%a %Y-%m-%d %I:%M:%S%p"`
+
INFOS+=("$DATE")
+
+
WORKSPACE="`$(dirname "$0")/../lib/workspace.sh`"
+
if [ "$WORKSPACE" != "" ]; then INFOS+=("$WORKSPACE"); fi
+
MAIL="`$(dirname "$0")/../lib/mail.sh`"
+
if [ "$MAIL" != "" ]; then INFOS+=("$MAIL"); fi
+
IDLE="`$(dirname "$0")/../lib/idle.sh`"
+
if [ "$IDLE" != "" ]; then INFOS+=("$IDLE"); fi
+
INFOS+=("`$(dirname "$0")/../lib/disk.sh`");
+
INFOS+=("`$(dirname "$0")/../lib/cpu.sh`");
+
INFOS+=("`$(dirname "$0")/../lib/temperature.sh`");
+
INFOS+=("`$(dirname "$0")/../lib/load_average.sh`");
+
INFOS+=("`$(dirname "$0")/../lib/memory.sh`");
+
INFOS+=("`$(dirname "$0")/../lib/network.sh`");
+
BACKLIGHT="`$(dirname "$0")/../lib/backlight.sh`"
+
if [ "$BACKLIGHT" != "" ]; then INFOS+=("$BACKLIGHT"); fi
+
PULSE="`$(dirname "$0")/../lib/pulse.sh`"
+
if [ "$PULSE" != "" ]; then INFOS+=("$PULSE"); fi
+
BATTERY="`$(dirname "$0")/../lib/battery.sh`"
+
if [ "$BATTERY" != "" ]; then INFOS+=("$BATTERY"); fi
+
+
IFS=$'\n'; echo "${INFOS[*]}"
+
+
dunstify -r '101010' -t 10000 -u low "Status" "`IFS=$'\n'; echo "${INFOS[*]}"`"
home/status/cpu.sh home/status/lib/cpu.sh
home/status/disk.sh home/status/lib/disk.sh
home/status/idle.sh home/status/lib/idle.sh
-27
home/status/indicator.sh
···
-
#!/usr/bin/env bash
-
-
INFOS=()
-
-
DATE=`date "+%a <b>%Y-%m-%d</b> %I:%M:%S%p"`
-
INFOS+=("$DATE")
-
-
MAIL="`$(dirname "$0")/mail.sh`"
-
if [ "$MAIL" != "" ]; then INFOS+=("$MAIL"); fi
-
IDLE="`$(dirname "$0")/idle.sh`"
-
if [ "$IDLE" != "" ]; then INFOS+=("$IDLE"); fi
-
INFOS+=("`$(dirname "$0")/disk.sh`");
-
INFOS+=("`$(dirname "$0")/cpu.sh`");
-
INFOS+=("`$(dirname "$0")/temperature.sh`");
-
INFOS+=("`$(dirname "$0")/load_average.sh`");
-
INFOS+=("`$(dirname "$0")/memory.sh`");
-
INFOS+=("`$(dirname "$0")/network.sh`");
-
BACKLIGHT="`$(dirname "$0")/backlight.sh`"
-
if [ "$BACKLIGHT" != "" ]; then INFOS+=("$BACKLIGHT"); fi
-
PULSE="`$(dirname "$0")/pulse.sh`"
-
if [ "$PULSE" != "" ]; then INFOS+=("$PULSE"); fi
-
BATTERY="`$(dirname "$0")/battery.sh`"
-
if [ "$BATTERY" != "" ]; then INFOS+=("$BATTERY"); fi
-
-
IFS=$'\n'; echo "${INFOS[*]}"
-
-
dunstify -r '101010' -t 10000 -u low "Status" "`IFS=$'\n'; echo "${INFOS[*]}"`"
···
+9
home/status/lib/mail.sh
···
···
+
#!/usr/bin/env bash
+
+
shopt -s extglob
+
+
NEW=`find ~/mail/@(ryan@freumh.org|ryangibb321@gmail.com|ryan.gibb@cl.cam.ac.uk)/Inbox/new -type f | wc -l`
+
+
if [ "$NEW" != "0" ]; then
+
echo "new mail ${NEW}"
+
fi
+8
home/status/lib/workspace.sh
···
···
+
#!/usr/bin/env bash
+
+
if [ $XDG_SESSION_TYPE = "wayland" ]; then
+
echo "workspace $(~/.config/sway/scripts/get_cur_ws_name.sh)"
+
elif [ $XDG_SESSION_TYPE = "x11" ]; then
+
echo "workspace $(~/.config/i3/scripts/get_cur_ws_name.sh)"
+
fi
+
home/status/load_average.sh home/status/lib/load_average.sh
-9
home/status/mail.sh
···
-
#!/usr/bin/env bash
-
-
shopt -s extglob
-
-
NEW=`find ~/mail/@(ryan@freumh.org|ryangibb321@gmail.com|ryan.gibb@cl.cam.ac.uk)/Inbox/new -type f | wc -l`
-
-
if [ "$NEW" != "0" ]; then
-
echo "<b>new mail</b> ${NEW}"
-
fi
···
home/status/memory.sh home/status/lib/memory.sh
home/status/network.sh home/status/lib/network.sh
home/status/pulse.sh home/status/lib/pulse.sh
home/status/record.sh home/status/lib/record.sh
home/status/temperature.sh home/status/lib/temperature.sh
-1
home/sway.nix
···
in let swayFilenames = util.listFilesInDir ./wm/sway;
in (util.concatFilesReplace
([ ./wm/config ] ++ wmFilenames ++ swayFilenames) replacements);
-
"status".source = ./status;
};
in (util.inDirReplace ./wm/scripts "sway/scripts" replacements) // entries;
···
in let swayFilenames = util.listFilesInDir ./wm/sway;
in (util.concatFilesReplace
([ ./wm/config ] ++ wmFilenames ++ swayFilenames) replacements);
};
in (util.inDirReplace ./wm/scripts "sway/scripts" replacements) // entries;
+1 -2
home/wm/config.d/bindings
···
bindsym $mod+Shift+numbersign move scratchpad
bindsym $mod+numbersign scratchpad show
-
bindsym $mod+Escape exec $HOME/.config/status/indicator.sh
-
bindsym $mod+Shift+Escape exec notify-send "workspace: `$SCRIPT_DIR/get_cur_ws_name.sh`"
# grave=`
bindsym $mod+grave workspace back_and_forth
···
bindsym $mod+Shift+numbersign move scratchpad
bindsym $mod+numbersign scratchpad show
+
bindsym $mod+Escape exec st
# grave=`
bindsym $mod+grave workspace back_and_forth