mirror of
https://github.com/ION606/config-backup.git
synced 2026-05-14 22:16:58 +00:00
Compare commits
4 Commits
afc7036317
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 761cb980e5 | |||
| 95d5033a72 | |||
| 6ce6f10251 | |||
| b08fef66dc |
@@ -1,2 +1,4 @@
|
||||
temp/
|
||||
props.txt
|
||||
*.log
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
log_dir="${HOME}/.claude/logs"
|
||||
mkdir -p "$log_dir"
|
||||
|
||||
timestamp="$(date +%Y%m%d-%H%M%S)"
|
||||
session_file="${log_dir}/session-${timestamp}.log"
|
||||
cwd="$(pwd)"
|
||||
|
||||
echo "session: ${session_file}"
|
||||
|
||||
if [[ -z "${CLAUDE_CODE_OAUTH_TOKEN:-}" ]]; then
|
||||
CLAUDE_CODE_OAUTH_TOKEN="$(pass show claude/oauth-token | tr -d '\n')" || {
|
||||
echo "error: could not retrieve token from pass" >&2
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
if [[ -n "${ANTHROPIC_API_KEY:-}" ]]; then
|
||||
echo "error: ANTHROPIC_API_KEY would override oauth, billing API instead of plan" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# build minimal claude.json with subscription binding only
|
||||
auth_blob="$(
|
||||
python3 <<PY
|
||||
import json
|
||||
d = json.load(open("${HOME}/.claude.json"))
|
||||
out = {
|
||||
"hasCompletedOnboarding": True,
|
||||
"theme": "dark",
|
||||
"bypassPermissionsModeAccepted": True,
|
||||
"userID": d.get("userID", ""),
|
||||
"oauthAccount": d.get("oauthAccount", {}),
|
||||
"mcpServers": d.get("mcpServers", {}),
|
||||
"projects": {
|
||||
"/workspace": {
|
||||
"hasTrustDialogAccepted": True,
|
||||
"hasTrustDialogHooksAccepted": True,
|
||||
"hasCompletedProjectOnboarding": True,
|
||||
"mcpServers": d.get("projects", {}).get(cwd, {}).get("mcpServers", {}),
|
||||
},
|
||||
},
|
||||
}
|
||||
print(json.dumps(out))
|
||||
PY
|
||||
)"
|
||||
|
||||
if [[ -z "$(echo "$auth_blob" | python3 -c 'import sys,json; print(json.load(sys.stdin).get("userID",""))')" ]]; then
|
||||
echo "error: no userID found in host ~/.claude.json -- log in on host first" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export CLAUDE_CODE_OAUTH_TOKEN
|
||||
export AUTH_BLOB="$auth_blob"
|
||||
|
||||
docker pull containers.ion606.dev/ion606/claude-docker:latest &>/dev/null
|
||||
|
||||
docker run --rm -it \
|
||||
-v "${cwd}:/workspace" \
|
||||
-v "${HOME}/.claude/plugins:/root/.claude/plugins:ro" \
|
||||
-v "${HOME}/.claude/settings.json:/root/.claude/settings.json:ro" \
|
||||
-e CLAUDE_CODE_OAUTH_TOKEN \
|
||||
-e AUTH_BLOB \
|
||||
-e README_CONTENTS="$(cat ${cwd}/CLAUDE.md)" \
|
||||
--cap-drop ALL \
|
||||
ion-claude:latest "$@" \
|
||||
2>&1 | tee "$session_file"
|
||||
@@ -22,12 +22,8 @@ font pango:monospace 8
|
||||
# Start XDG autostart .desktop files using dex. See also
|
||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# COMMENT THIS IN FOR ONE SCREEN
|
||||
# exec_always --no-startup-id killall -q polybar; polybar -c .config/polybar/main.module &
|
||||
|
||||
# DELETEME if you change your monitor setup
|
||||
exec_always --no-startup-id bash /home/ion606/setupScreens.sh
|
||||
exec_always --no-startup-id killall -q polybar; polybar --config=/home/ion606/.config/polybar/main.module &
|
||||
exec --no-startup-id /usr/libexec/xfce-polkit &
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
@@ -35,21 +31,14 @@ exec_always --no-startup-id bash /home/ion606/setupScreens.sh
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
# no timeout after 600 seconds ffs
|
||||
exec_always --no-startup-id xset s off
|
||||
exec_always --no-startup-id xset s noblank
|
||||
exec_always --no-startup-id xset -dpms
|
||||
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
exec --no-startup-id /usr/lib/notify-osd/notify-osd &
|
||||
|
||||
exec_always feh --bg-fill "$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)"
|
||||
exec_always picom --config /home/ion606/.config/picom/picom.conf
|
||||
exec_always feh --bg-fill "$(find /home/ion606/Pictures/bk -type f | shuf -n 1)"
|
||||
exec_always picom --config /home/ion606/.config/picom/picom.config
|
||||
exec_always --no-startup-id eww daemon
|
||||
|
||||
focus_follows_mouse no
|
||||
@@ -65,7 +54,7 @@ bindsym XF86MonBrightnessDown exec brightnessctl set 10%-
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl set +10%
|
||||
|
||||
|
||||
bindsym $mod+Shift+B exec feh --bg-fill "$(find /home/ion606/Pictures/astolfo/ -type f | shuf -n 1)"
|
||||
bindsym $mod+Shift+B exec feh --bg-fill "/home/ion606/Pictures/bk.gif"
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
@@ -76,6 +65,7 @@ tiling_drag modifier titlebar
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec alacritty
|
||||
bindsym $mod+t exec i3-sensible-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Configuration
|
||||
PACKAGE_FILE="packages.txt"
|
||||
LOG_FILE="broken_packages.log"
|
||||
|
||||
# Check if packages.txt exists
|
||||
if [[ ! -f "$PACKAGE_FILE" ]]; then
|
||||
echo "Error: $PACKAGE_FILE not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clear or create the log file
|
||||
echo "--- Installation Failures ($(date)) ---" > "$LOG_FILE"
|
||||
|
||||
echo "Starting installation process..."
|
||||
|
||||
# Loop through each line in the file
|
||||
while IFS= read -r package || [[ -n "$package" ]]; do
|
||||
# Skip empty lines or lines starting with #
|
||||
[[ -z "$package" || "$package" =~ ^# ]] && continue
|
||||
|
||||
echo "Installing: $package..."
|
||||
|
||||
# Attempt installation
|
||||
if ! yay -Sy --noconfirm "$package"; then
|
||||
echo "[FAILED] $package" | tee -a "$LOG_FILE"
|
||||
else
|
||||
echo "[SUCCESS] $package"
|
||||
fi
|
||||
|
||||
done < "$PACKAGE_FILE"
|
||||
|
||||
echo "--------------------------------------"
|
||||
echo "Process complete. Broken packages logged in $LOG_FILE"
|
||||
@@ -88,7 +88,7 @@ mkdir -p /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf
|
||||
mv auto-cpufreq.conf /home/$USERTEMP/auto-cpufreq/auto-cpufreq.conf
|
||||
|
||||
# set up automations in child process
|
||||
mkdir -p /home/$USERTEMP/.automations && cp -r -f auto/* /home/$USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash /home/$USERTEMP/.automations/setupauto.sh /home/$USERTEMP &> /home/$USERTEMP/setuplogs.log) &
|
||||
mkdir -p /home/$USERTEMP/.automations && cp -r -f auto/* /home/$USERTEMP/.automations/ && $(sudo pacman -Sy --needed --noconfirm dunst && sudo bash /home/$USERTEMP/.automations/setupauto.sh /home/$USERTEMP &>/home/$USERTEMP/setuplogs.log) &
|
||||
|
||||
# Installs
|
||||
# Librewolf
|
||||
@@ -114,11 +114,12 @@ sudo systemctl enable lemurs.service
|
||||
sudo mv -f lemurs-config.toml /etc/lemurs/config.toml
|
||||
|
||||
mv -f Librewolf/chrome /home/$USERTEMP/.librewolf/
|
||||
mv -f claude /usr/sbin/
|
||||
|
||||
npm install -g @bitwarden/cli alacritty-themes typescript || echo "failed to install Typescript!"
|
||||
|
||||
mkdir -p /home/$USERTEMP/.icons
|
||||
echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" > /home/$USERTEMP/.icons/links.txt
|
||||
echo -e "https://www.gnome-look.org/p/1305251\nhttps://www.gnome-look.org/p/2091068" >/home/$USERTEMP/.icons/links.txt
|
||||
|
||||
alacritty-themes --create && alacritty-themes Hyper || echo "alacritty theme install failed!"
|
||||
cp -r /home/$USERTEMP/.config/wofi/ wofi >/dev/null 2>&1 &
|
||||
|
||||
Reference in New Issue
Block a user