about summary refs log tree commit diff
path: root/home/profiles/gaming
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2024-05-12 10:05:31 +0900
committersefidel <contact@sefidel.net>2024-05-12 10:05:31 +0900
commit0aee6013f487b00172130e374dc75bdfc0a47147 (patch)
treebd3e73e418dbcb978e24c4123b4f56736dec5cdf /home/profiles/gaming
parent79c13997f58085b7c81aad1f8e6dce6f148f8d14 (diff)
downloadnixrc-0aee6013f487b00172130e374dc75bdfc0a47147.tar.gz
nixrc-0aee6013f487b00172130e374dc75bdfc0a47147.zip
feat(home/gui): waybar: make urgent workspace blink
Diffstat (limited to 'home/profiles/gaming')
0 files changed, 0 insertions, 0 deletions
ound-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
''
  # airport.sh - shared file store
  #
  # # Environment variables
  # `AIRPORT_HOST`   - host to rsync to
  # `AIRPORT_USER`   - username to connect with
  # `AIRPORT_DIR`    - defaults to `~/airport`, directory to use
  # `AIRPORT_SAFEOP` - 'safe operations' mode, which doesn't delete files

  set -euo pipefail

  die () {
      echo >&2 "$@"
      exit 1
  }

  confirm() {
      read -r -p "''${1:-Proceed?} [y/N] " response
      case "$response" in
          [yY][eE][sS]|[yY])
              true
              ;;
          *)
              false
              ;;
      esac
  }

  delay() {
      DELAY_SECONDS=''${2:-5}
      echo "''${1:-This script will perform some potentionally destructive actions.}"
      echo "Waiting $DELAY_SECONDS second(s) before proceeding..."
      sleep $DELAY_SECONDS
  }

  bin_exists() {
      [ -z $1 ] && die "FATAL: called bin_exists() without arguments (expected 1)"
      if command -v $1 &> /dev/null
      then
          true
      else
          false
      fi
  }

  [ -f $HOME/.airport-env ] && source $HOME/.airport-env

  HOST=''${AIRPORT_HOST:?"AIRPORT_HOST needs to be set"}
  USER=''${AIRPORT_USER:?"AIRPORT_USER needs to be set"}
  DIR=''${AIRPORT_DIR:-"$HOME/airport"}
  SAFEOP=''${AIRPORT_SAFEOP:-1}

  [ "$#" -eq 0 ] && die "FATAL: expected exactly 1 argument, $# provided"

  if [ ! -d $DIR ]
  then
      confirm "$DIR doesn't exist, create and proceed?" || die "FATAL: $DIR doesn't exist"
      mkdir -p $DIR
  fi

  bin_exists "rsync" || die "FATAL: couldn't find rsync"

  opts=(-au --stats --info=progress2)
  [ $SAFEOP -eq 1 ] && opts+=(--delete-after)
  case "$1" in
      send)
          delay "Airport will run 'rsync -au' to $DIR to SEND"
          rsync ''${opts[@]} --mkpath $DIR/ $USER@$HOST:airport
      ;;

      recv)
          delay "Airport will run 'rsync -au' to $DIR to RECV"
          rsync ''${opts[@]} $USER@$HOST:airport/ $DIR
      ;;

      configure)
          delay "Will write configuration to $HOME/.airport-env"
          cat >$HOME/.airport-env <<EOF
AIRPORT_USER=$USER
AIRPORT_HOST=$HOST
AIRPORT_DIR=$DIR
EOF
      ;;

      *) printf "Unknown subcommand $1, supported subcommands:\n"
          printf '\tsend\n'
          printf '\trecv\n'
          printf '\tconfigure'
          die
      ;;
  esac

  exit 0
''