6 Commits

6 changed files with 96 additions and 68 deletions

26
TODO.md
View File

@@ -5,15 +5,33 @@
- [ ] Update README, it's way out of date. - [ ] Update README, it's way out of date.
- [x] Separate scripts that are used for configurations / store them somewhere aside - [x] Separate scripts that are used for configurations / store them somewhere aside
from `~/.local/bin` from `~/.local/bin`
- [x] Add neomutt configuration files into the repo (or probably a private repo)
- [x] Clipse didn't work when installed on a new machine when I try to use the - [x] Clipse didn't work when installed on a new machine when I try to use the
config in the dotfiles, but works if I use the default config. Need to explore config in the dotfiles, but works if I use the default config. Need to explore
why (current thoughts are it has to do with creating the why (current thoughts are it has to do with creating the
clipboard_history.json file and not letting clipse do it automatically). clipboard_history.json file and not letting clipse do it automatically).
- [ ] Need to confirm bootstrap does things properly with git submodules.
- [ ] Need to ensure ssh keys are setup before private submodules are loaded / installed,
so I need to make sure that Yubikey setup runs early and works for ssh authentication.
- [ ] Need to add the following system packages for neovim/render-markdown.nvim
- [ ] `libtexprintf`
### Keyboard / kanata
- [ ] Move keyboard (kanata) systemd service to be started as a '--user' service, as - [ ] Move keyboard (kanata) systemd service to be started as a '--user' service, as
it seems to not work when used on a desktop (mac mini) vs. laptop. it seems to not work when used on a desktop (mac mini) vs. laptop.
- [ ] Need to update kanatactl to generate udev rules, etc. (see - [ ] Need to update kanatactl to generate udev rules, etc. (see
here)[https://github.com/jtroo/kanata/blob/main/docs/setup-linux.md] here)[https://github.com/jtroo/kanata/blob/main/docs/setup-linux.md]
- [x] Add neomutt configuration files into the repo (or probably a private repo) - [ ] Need to rethink symbol / number keyboard layers.
- [ ] Need to confirm bootstrap does things properly with git submodules. - [ ] Move symbols to their own layer.
- [ ] Need to ensure ssh keys are setup before private submodules are loaded / installed, - [ ] I would like to have a symbols layer that I can hold modifier keys with a symbol
so I need to make sure that Yubikey setup runs early and works for ssh authentication. and would also like to possibly pass through underlying key / experiment so that
I can use default keybinds in certain applications (i.e. neovim `[b`, etc.).
### Runs (package installs)
- [ ] Should runs just export / echo a list of packages, then the `run` script can handle the package
manager options / command.
- [ ] Think about adding an `after` directory for runs, so that they can perform setup tasks after
the packages are installed.
- [ ] The `after` file should have the same name as the `run` file.
- [ ] This could allow to remove / move the `system` script into the `after` directory.

View File

@@ -10,8 +10,8 @@ input {
kb_options = ctrl:nocaps kb_options = ctrl:nocaps
kb_rules = kb_rules =
repeat_rate = 35 repeat_rate = 50
repeat_delay = 200 repeat_delay = 175
follow_mouse = 2 follow_mouse = 2

View File

@@ -1,6 +1,6 @@
background = rgb(1e1e2e) background = rgb(1e1e2e)
base = rgb(1e1e2e) base = rgb(b4befe)
alternate_base = rgb(11111b) alternate_base = rgb(cdd6f4))
text = rgb(cdd6f4) text = rgb(cdd6f4)
bright_text = rgb(89b4fa) bright_text = rgb(89b4fa)
accent = rgb(b4befe) accent = rgb(b4befe)

1
env/.tmux.conf vendored
View File

@@ -120,7 +120,6 @@ set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_blue}]  #{=/-32/...:#{s|$USER
set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]#{?window_zoomed_flag,│,}" set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]#{?window_zoomed_flag,│,}"
set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_yellow}]#{?window_zoomed_flag,  zoom ,}" set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_yellow}]#{?window_zoomed_flag,  zoom ,}"
# bootstrap tpm # bootstrap tpm
if "test ! -d ~/.tmux/plugins/tpm" \ if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"

127
webapp
View File

@@ -3,16 +3,26 @@
# Installs or uninstalls webapps based on the spec in the './webapps' directory. # Installs or uninstalls webapps based on the spec in the './webapps' directory.
# #
# This is used when setting up a new machine. # This is used when setting up a new machine.
#
set -e
set -o nounset
set -o pipefail
THIS_FILE=${BASH_SOURCE[0]}
LOG_LABEL=$(basename $THIS_FILE)
SCRIPTS=${SCRIPTS:-$HOME/.local/scripts}
LOG_FILE=${LOG_FILE:-"$LOG_LABEL.log"}
if [ -z "$DEV_ENV" ]; then if [ -z "$DEV_ENV" ]; then
echo "env var DEV_ENV needs to be present" echo "env var DEV_ENV needs to be present"
exit 1 exit 1
fi fi
if [ -z "$XDG_DATA_HOME" ]; then if [ -z "$XDG_DATA_HOME" ]; then
echo "no xdg data home" echo "no xdg data home"
echo "using ~/.local/share" echo "using ~/.local/share"
XDG_DATA_HOME=~/.local/share XDG_DATA_HOME=~/.local/share
fi fi
grep="" grep=""
@@ -20,83 +30,84 @@ dry_run="0"
uninstall="0" uninstall="0"
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
echo "ARG: \"$1\"" echo "ARG: \"$1\""
# Handle a --dry or --dry-run argument # Handle a --dry or --dry-run argument
if [[ "$1" =~ ^--dry ]]; then if [[ "$1" =~ ^--dry ]]; then
dry_run="1" dry_run="1"
# Handle an --uninstall argument # Handle an --uninstall argument
elif [[ "$1" =~ ^--u ]]; then elif [[ "$1" =~ ^--u ]]; then
uninstall="1" uninstall="1"
# Handle an --install argument (default) # Handle an --install argument (default)
elif [[ ! "$1" =~ ^--i ]]; then elif [[ ! "$1" =~ ^--i ]]; then
grep="$1" grep="$1"
fi fi
shift shift
done done
log() { log() {
if [[ $dry_run == "1" ]]; then logging log --source "$THIS_FILE" "$@"
echo "[DRY_RUN]: $1"
else
echo "$1"
fi
} }
install() { install() {
local file=$DEV_ENV/env/webapps/$(basename $1) local file=$DEV_ENV/env/webapps/$(basename $1)
local script="$DEV_ENV/env/.local/scripts/hypr/install-webapp" local script="$DEV_ENV/env/.local/scripts/hypr/install-webapp"
if [[ ! -x $script ]]; then if [[ ! -x $script ]]; then
log "Failed to find install web app script." log "Failed to find install web app script."
exit 1 exit 1
fi fi
# Install local icons if needed # Install local icons if needed
mkdir -p $XDG_DATA_HOME/applications/icons mkdir -p $XDG_DATA_HOME/applications/icons
for i in $(find $DEV_ENV/env/.local/share/applications/icons -mindepth 1 -maxdepth 1 -type f); do for i in $(find $DEV_ENV/env/.local/share/applications/icons -mindepth 1 -maxdepth 1 -type f); do
if [[ ! -f $XDG_DATA_HOME/applications/icons/$i ]] && [[ $dry_run == "0" ]]; then if [[ ! -f $XDG_DATA_HOME/applications/icons/$i ]] && [[ $dry_run == "0" ]]; then
cp $i $XDG_DATA_HOME/applications/icons cp $i $XDG_DATA_HOME/applications/icons
fi fi
done done
log "Installing webapp from spec: $file" log "Installing webapp from spec: $file"
if [[ $dry_run == "0" ]]; then if [[ $dry_run == "0" ]]; then
$script --file $file --no-interactive $script --file $file --no-interactive
fi fi
} }
uninstall() { uninstall() {
local file=$DEV_ENV/env/webapps/$(basename $1) local file=$DEV_ENV/env/webapps/$(basename $1)
local script="$DEV_ENV/env/.local/scripts/hypr/uninstall-desktop-app" local script="$DEV_ENV/env/.local/scripts/hypr/uninstall-desktop-app"
if [[ ! -x $script ]]; then if [[ ! -x $script ]]; then
log "Failed to find uninstall web app script." log "Failed to find uninstall web app script."
exit 1 exit 1
fi fi
log "Uninstalling webapp from spec: $file" log "Uninstalling webapp from spec: $file"
if [[ $dry_run == "0" ]]; then if [[ $dry_run == "0" ]]; then
$script --file $file $script --file $file
fi fi
} }
############################## MAIN ############################## ############################## MAIN ##############################
# Setup logging file and label.
source "$SCRIPTS/hypr/logging"
setup-logging "$LOG_FILE" "$LOG_LABEL"
export LOG_ENABLE_DRY_RUN="$dry_run"
log "WEBAPP: -- grep: $grep" log "WEBAPP: -- grep: $grep"
apps_dir=$(find $DEV_ENV/env/webapps -mindepth 1 -maxdepth 1 -type f) apps_dir=$(find $DEV_ENV/env/webapps -mindepth 1 -maxdepth 1 -type f)
for s in $apps_dir; do for s in $apps_dir; do
if basename $s | grep -vq "$grep"; then if basename $s | grep -vq "$grep"; then
log "grep \"$grep\" filtered out $s" log "grep \"$grep\" filtered out $s"
continue continue
fi fi
if [[ $uninstall == "1" ]]; then if [[ $uninstall == "1" ]]; then
uninstall $s uninstall $s
else else
install $s install $s
fi fi
done done