Compare commits
21
Commits
ba18e56568
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbb0ae5c46 | ||
|
|
538860bfcb | ||
|
|
440664c233 | ||
|
|
d476129d5f | ||
|
|
0948254b3a | ||
|
|
5d22c2f937 | ||
|
|
f656f0f956 | ||
|
|
0f0d0aa247 | ||
|
|
b5cb85effa | ||
|
|
4503ae78ef | ||
|
|
46d127f057 | ||
|
|
0bddedc48d | ||
|
|
c24f4dd7ee | ||
|
|
944c4cf492 | ||
|
|
96c49fcaa7 | ||
|
|
2b5c99195c | ||
|
|
b0c0cfeb5a | ||
|
|
dae9e77fee | ||
|
|
4598a353b9 | ||
|
|
0399d2ba9d | ||
|
|
d632ab3b22 |
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"vscode-icons-team.vscode-icons",
|
||||||
|
"charliermarsh.ruff",
|
||||||
|
"astral-sh.ty",
|
||||||
|
"ms-python.vscode-python-envs",
|
||||||
|
"ms-python.vscode-pylance",
|
||||||
|
"ms-python.python",
|
||||||
|
"ms-python.debugpy",
|
||||||
|
"ms-ossdata.vscode-pgsql"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,42 +2,127 @@
|
|||||||
|
|
||||||
[](https://x.ai/grok)
|
[](https://x.ai/grok)
|
||||||
|
|
||||||
## Stow
|
Personal dotfiles managed with [GNU Stow](https://www.gnu.org/software/stow/). Each top-level directory is a stow package that mirrors files into `$HOME`.
|
||||||
|
|
||||||
1. Install it:
|
## Quick start
|
||||||
``sudo dnf install stow``
|
|
||||||
|
|
||||||
2. Organize your repo like this:
|
```bash
|
||||||
|
git clone <repo-url> ~/.dotfiles
|
||||||
|
cd ~/.dotfiles
|
||||||
|
|
||||||
|
# Arch
|
||||||
|
sudo pacman -S stow
|
||||||
|
|
||||||
|
# Fedora
|
||||||
|
# sudo dnf install stow
|
||||||
|
|
||||||
|
stow bash git nvim vim python ghostty mangohud konsole kde-themes dolphin agents vscode vscode-server
|
||||||
```
|
```
|
||||||
~/dotfiles/
|
|
||||||
|
To stow all packages at once (excludes `arch/`, which is not a stow package):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
stow agents bash dolphin ghostty git kde-themes konsole mangohud nvim python vim vscode vscode-server
|
||||||
|
```
|
||||||
|
|
||||||
|
`arch/` holds standalone helper scripts — see [Scripts](#scripts) below.
|
||||||
|
|
||||||
|
## Packages
|
||||||
|
|
||||||
|
| Package | Symlinks |
|
||||||
|
|---------|----------|
|
||||||
|
| `bash` | `~/.bashrc`, `~/.bashrc.d/*`, `~/.editorconfig` |
|
||||||
|
| `git` | `~/.gitconfig`, `~/.gitignore_global` |
|
||||||
|
| `nvim` | `~/.config/nvim/` |
|
||||||
|
| `vim` | `~/.vimrc` |
|
||||||
|
| `python` | `~/.ruff.toml` |
|
||||||
|
| `ghostty` | `~/.config/ghostty/` |
|
||||||
|
| `mangohud` | `~/.config/MangoHud/` (base, custom, and FFXIV wine configs) |
|
||||||
|
| `konsole` | `~/.config/konsolerc`, `~/.local/share/konsole/` (Catppuccin themes, bash profile) |
|
||||||
|
| `kde-themes` | `~/.local/share/color-schemes/` (Catppuccin Mocha Teal/Blue) |
|
||||||
|
| `dolphin` | `~/.config/dolphinrc`, `~/.config/dolphin/`, `~/.local/share/dolphin/` |
|
||||||
|
| `agents` | `~/.grok/` (Grok CLI config, rules, skills path) |
|
||||||
|
| `vscode` | `~/.config/Code/User/settings.json` → shared with vscode-server |
|
||||||
|
| `vscode-server` | `~/.vscode-server/data/Machine/settings.json` |
|
||||||
|
|
||||||
|
### Bash modules
|
||||||
|
|
||||||
|
`~/.bashrc.d/` is sourced automatically. Modules:
|
||||||
|
|
||||||
|
- `alias.bash` — general aliases
|
||||||
|
- `git.bash` — git helpers
|
||||||
|
- `fonts.bash` — font paths
|
||||||
|
- `ruff.bash` — Ruff integration
|
||||||
|
- `mango.bash` — MangoHud env vars
|
||||||
|
- `vscode.bash` — VS Code helpers
|
||||||
|
- `wsl.bash` — WSL ssh-agent interop (loaded only when `/mnt/c` is present)
|
||||||
|
- `apt.bash` — Debian/Ubuntu helpers
|
||||||
|
|
||||||
|
## Scripts
|
||||||
|
|
||||||
|
| Script | Purpose |
|
||||||
|
|--------|---------|
|
||||||
|
| `arch/update.sh` | Update uv, pacman, flatpak, and VS Code (`/opt/vscode`) |
|
||||||
|
| `arch/upgrade_vscode.sh` | Upgrade `/opt/vscode` tarball install when a newer release is available |
|
||||||
|
| `arch/fix_vscode.sh` | Create VS Code desktop entry and icon symlinks for `/opt/vscode` |
|
||||||
|
| `dolphin.sh` | Copy live Dolphin config into the repo and `stow dolphin` |
|
||||||
|
| `vscode-server/install-vscode-extensions.sh` | Install extensions from `extensions.txt` (local, remote, or both) |
|
||||||
|
| `vscode-server/install-fira-code-fonts.sh` | Install Fira Code fonts for VS Code |
|
||||||
|
|
||||||
|
### VS Code extensions
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install remote (WSL) extensions from extensions.txt
|
||||||
|
bash ~/.dotfiles/vscode-server/install-vscode-extensions.sh
|
||||||
|
|
||||||
|
# Export currently installed extensions back to extensions.txt
|
||||||
|
bash ~/.dotfiles/vscode-server/install-vscode-extensions.sh --export
|
||||||
|
```
|
||||||
|
|
||||||
|
## Grok agents
|
||||||
|
|
||||||
|
The `agents` package stows `~/.grok/` with global agent configuration:
|
||||||
|
|
||||||
|
- `config.toml` — CLI settings, marketplace, and skills path
|
||||||
|
- `rules/` — global rules (e.g. `american-english.md`)
|
||||||
|
- `AGENTS.md` — pointer to project-specific rules in `.grok/rules/`
|
||||||
|
|
||||||
|
Skills are loaded from `~/.dotfiles/agents/.grok/.skills` (configured in `config.toml`).
|
||||||
|
|
||||||
|
## Stow layout
|
||||||
|
|
||||||
|
Each package follows the standard stow convention — files live under the home-directory paths they should symlink to:
|
||||||
|
|
||||||
|
```
|
||||||
|
~/.dotfiles/
|
||||||
├── bash/
|
├── bash/
|
||||||
│ ├── .bashrc
|
│ ├── .bashrc
|
||||||
│ └── .bashrc.d/ # everything here
|
│ └── .bashrc.d/
|
||||||
├── nvim/
|
├── nvim/
|
||||||
│ └── .config/nvim/
|
│ └── .config/nvim/
|
||||||
├── git/
|
├── git/
|
||||||
│ └── .gitconfig
|
│ └── .gitconfig
|
||||||
|
├── agents/
|
||||||
|
│ └── .grok/
|
||||||
└── ...
|
└── ...
|
||||||
```
|
```
|
||||||
3. stow it:
|
|
||||||
```
|
Stow creates symlinks from `$HOME` back into the repo and handles conflicts cleanly.
|
||||||
cd ~/dotfiles
|
|
||||||
stow bash
|
|
||||||
stow nvim
|
|
||||||
stow git
|
|
||||||
```
|
|
||||||
stow creates the symlinks automatically and handles conflicts nicely.
|
|
||||||
|
|
||||||
## WSL
|
## WSL
|
||||||
Resources:
|
|
||||||
* [ssh-agent-on-windows](https://medium.com/@wondrous_oxblood_cheetah_508/ssh-agent-on-windows-c74b90fb2e31)
|
|
||||||
|
|
||||||
### Install
|
Resources:
|
||||||
[](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&pivots=windows-11)
|
- [ssh-agent-on-windows](https://medium.com/@wondrous_oxblood_cheetah_508/ssh-agent-on-windows-c74b90fb2e31)
|
||||||
|
|
||||||
|
### Install OpenSSH
|
||||||
|
|
||||||
|
[](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=powershell&pivots=windows-11)
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
|
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
|
||||||
```
|
```
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# Install the OpenSSH Client
|
# Install the OpenSSH Client
|
||||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
||||||
@@ -45,6 +130,7 @@ Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
|||||||
# Install the OpenSSH Server
|
# Install the OpenSSH Server
|
||||||
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
|
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
|
||||||
```
|
```
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# Start the sshd service
|
# Start the sshd service
|
||||||
Start-Service sshd
|
Start-Service sshd
|
||||||
@@ -64,4 +150,6 @@ if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyCon
|
|||||||
```powershell
|
```powershell
|
||||||
Set-Service -Name 'ssh-agent' -StartupType Automatic
|
Set-Service -Name 'ssh-agent' -StartupType Automatic
|
||||||
Start-Service ssh-agent
|
Start-Service ssh-agent
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Once ssh-agent is running, `wsl.bash` aliases `ssh` and `ssh-add` to their Windows `.exe` counterparts so keys persist across WSL sessions.
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# Global agent rules
|
||||||
|
|
||||||
|
Project-specific rules live in `.grok/rules/`.
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
[hints]
|
||||||
|
worktree_tip_dismissed = true
|
||||||
|
|
||||||
|
[cli]
|
||||||
|
installer = "internal"
|
||||||
|
|
||||||
|
[marketplace]
|
||||||
|
official_marketplace_auto_installed = true
|
||||||
|
|
||||||
|
[[marketplace.sources]]
|
||||||
|
name = "xAI Official"
|
||||||
|
git = "https://github.com/xai-org/plugin-marketplace.git"
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
max_thoughts_width = 120
|
||||||
|
fork_secondary_model = "grok-build"
|
||||||
|
yolo = false
|
||||||
|
compact_mode = false
|
||||||
|
permission_mode = "always-approve"
|
||||||
|
|
||||||
|
[skills]
|
||||||
|
paths = ["~/.dotfiles/agents/.grok/.skills"]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# American English
|
||||||
|
|
||||||
|
Use American English for all generated text and code, including:
|
||||||
|
|
||||||
|
- User-facing messages, comments, documentation, and commit messages
|
||||||
|
- String literals, log messages, error text, and UI copy in code
|
||||||
|
- Variable and identifier names only when they are natural-language words (e.g. prefer `color` over `colour`, `initialize` over `initialise`)
|
||||||
|
|
||||||
|
British or other regional spellings are acceptable only when required by an existing API, library, protocol, or quoted external text.
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
step() {
|
||||||
|
echo
|
||||||
|
echo "==> $*"
|
||||||
|
}
|
||||||
|
|
||||||
|
step "uv"
|
||||||
|
uv self update
|
||||||
|
|
||||||
|
step "pacman"
|
||||||
|
sudo pacman -Syu
|
||||||
|
|
||||||
|
step "flatpak"
|
||||||
|
sudo flatpak update -y
|
||||||
|
|
||||||
|
step "vscode"
|
||||||
|
"${SCRIPT_DIR}/upgrade_vscode.sh"
|
||||||
Executable
+74
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
VSCODE_DIR=/opt/vscode
|
||||||
|
PRODUCT_JSON="${VSCODE_DIR}/resources/app/product.json"
|
||||||
|
RELEASES_API='https://update.code.visualstudio.com/api/releases/stable'
|
||||||
|
|
||||||
|
installed_version() {
|
||||||
|
if [[ ! -f "${PRODUCT_JSON}" ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
python3 -c "import json; print(json.load(open('${PRODUCT_JSON}'))['version'])"
|
||||||
|
}
|
||||||
|
|
||||||
|
latest_version() {
|
||||||
|
curl -fsSL "${RELEASES_API}" | python3 -c 'import json, sys; print(json.load(sys.stdin)[0])'
|
||||||
|
}
|
||||||
|
|
||||||
|
vscode_arch() {
|
||||||
|
case "$(uname -m)" in
|
||||||
|
x86_64) echo linux-x64 ;;
|
||||||
|
aarch64) echo linux-arm64 ;;
|
||||||
|
*)
|
||||||
|
echo "unsupported architecture: $(uname -m)" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
needs_upgrade() {
|
||||||
|
local installed="$1" latest="$2"
|
||||||
|
|
||||||
|
[[ -z "${installed}" ]] && return 0
|
||||||
|
[[ "${installed}" == "${latest}" ]] && return 1
|
||||||
|
[[ "$(printf '%s\n' "${installed}" "${latest}" | sort -V | head -n1)" == "${installed}" ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
installed="$(installed_version || true)"
|
||||||
|
latest="$(latest_version)"
|
||||||
|
|
||||||
|
if ! needs_upgrade "${installed}" "${latest}"; then
|
||||||
|
if [[ -z "${installed}" ]]; then
|
||||||
|
echo "VS Code is not installed at ${VSCODE_DIR}"
|
||||||
|
else
|
||||||
|
echo "VS Code ${installed} is up to date"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Upgrading VS Code: ${installed:-not installed} -> ${latest}"
|
||||||
|
|
||||||
|
arch="$(vscode_arch)"
|
||||||
|
tmp="$(mktemp -d)"
|
||||||
|
trap 'rm -rf "${tmp}"' EXIT
|
||||||
|
|
||||||
|
archive="${tmp}/vscode.tar.gz"
|
||||||
|
curl -fsSL "https://update.code.visualstudio.com/${latest}/${arch}/stable" -o "${archive}"
|
||||||
|
tar -xzf "${archive}" -C "${tmp}"
|
||||||
|
|
||||||
|
extract_dir="$(find "${tmp}" -maxdepth 1 -type d -name 'VSCode-linux-*' -print -quit)"
|
||||||
|
if [[ -z "${extract_dir}" ]]; then
|
||||||
|
echo "failed to find extracted VS Code directory" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$(dirname "${VSCODE_DIR}")"
|
||||||
|
if [[ -d "${VSCODE_DIR}" ]]; then
|
||||||
|
rm -rf "${VSCODE_DIR}.old"
|
||||||
|
mv "${VSCODE_DIR}" "${VSCODE_DIR}.old"
|
||||||
|
fi
|
||||||
|
mv "${extract_dir}" "${VSCODE_DIR}"
|
||||||
|
rm -rf "${VSCODE_DIR}.old"
|
||||||
|
|
||||||
|
echo "VS Code upgraded to ${latest}"
|
||||||
@@ -7,6 +7,9 @@ fi
|
|||||||
|
|
||||||
export TIME_STYLE="long-iso"
|
export TIME_STYLE="long-iso"
|
||||||
|
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
export LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
# User specific environment
|
# User specific environment
|
||||||
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then
|
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]; then
|
||||||
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
||||||
@@ -16,6 +19,9 @@ export PATH
|
|||||||
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
# Uncomment the following line if you don't like systemctl's auto-paging feature:
|
||||||
# export SYSTEMD_PAGER=
|
# export SYSTEMD_PAGER=
|
||||||
|
|
||||||
|
# Konsole-specific (optional)
|
||||||
|
export TERM=xterm-256color
|
||||||
|
|
||||||
# User specific aliases and functions
|
# User specific aliases and functions
|
||||||
if [ -d ~/.bashrc.d ]; then
|
if [ -d ~/.bashrc.d ]; then
|
||||||
for rc in ~/.bashrc.d/*; do
|
for rc in ~/.bashrc.d/*; do
|
||||||
@@ -30,3 +36,6 @@ unset rc
|
|||||||
export PATH="$HOME/.grok/bin:$PATH"
|
export PATH="$HOME/.grok/bin:$PATH"
|
||||||
[[ -r "$HOME/.grok/completions/bash/grok.bash" ]] && source "$HOME/.grok/completions/bash/grok.bash"
|
[[ -r "$HOME/.grok/completions/bash/grok.bash" ]] && source "$HOME/.grok/completions/bash/grok.bash"
|
||||||
# <<< grok installer <<<
|
# <<< grok installer <<<
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
## Alias
|
||||||
|
|
||||||
|
# Vibrant LS_COLORS for Catppuccin / dark themes
|
||||||
|
export LS_COLORS="di=38;5;51:fi=38;5;252:ln=38;5;117:pi=38;5;180:so=38;5;180:do=38;5;180:bd=38;5;180:cd=38;5;180:or=38;5;196:mi=38;5;196:ex=38;5;46:*.sh=38;5;46:*.bash=38;5;46:*.zsh=38;5;46:*.py=38;5;39:*.js=38;5;226:*.json=38;5;214:*.md=38;5;141:*.git=38;5;197:*.log=38;5;242:*.tar=38;5;204:*.gz=38;5;204:*.zip=38;5;204:*.png=38;5;213:*.jpg=38;5;213:*.jpeg=38;5;213:*.webp=38;5;213:*.mp4=38;5;170:*.mp3=38;5;170"
|
||||||
|
alias ls='ls --color=auto -al'
|
||||||
|
|
||||||
|
# Grep
|
||||||
|
export GREP_COLORS="mt=38;5;46:sl=38;5;252:cx=38;5;242:fn=38;5;117:ln=38;5;214:se=38;5;197"
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
|
||||||
|
# Quick recursive search
|
||||||
|
alias gr='grep -r --color=auto'
|
||||||
|
alias gri='grep -ri --color=auto' # case insensitive recursive
|
||||||
|
|
||||||
|
# Vim stuff
|
||||||
|
alias vim='nvim'
|
||||||
|
alias vi='nvim'
|
||||||
+49
-14
@@ -1,15 +1,50 @@
|
|||||||
# DNF aliases for apt/pacman muscle memory
|
# Cross-distro package manager aliases (apt / dnf / pacman muscle memory)
|
||||||
alias apt='sudo dnf'
|
if command -v dnf &>/dev/null; then
|
||||||
alias apt-get='sudo dnf'
|
alias apt='sudo dnf'
|
||||||
alias apt-update='sudo dnf update -y'
|
alias apt-get='sudo dnf'
|
||||||
alias apt-upgrade='sudo dnf upgrade -y'
|
alias apt-update='sudo dnf update -y'
|
||||||
alias apt-install='sudo dnf install -y'
|
alias apt-upgrade='sudo dnf upgrade -y'
|
||||||
alias apt-remove='sudo dnf remove -y'
|
alias apt-install='sudo dnf install -y'
|
||||||
alias apt-search='dnf search'
|
alias apt-remove='sudo dnf remove -y'
|
||||||
|
alias apt-search='dnf search'
|
||||||
|
|
||||||
alias pacman='sudo dnf'
|
alias pacman='sudo dnf'
|
||||||
alias pacman-update='sudo dnf update -y'
|
alias pacman-update='sudo dnf update -y'
|
||||||
alias pacman-upgrade='sudo dnf upgrade -y'
|
alias pacman-upgrade='sudo dnf upgrade -y'
|
||||||
alias pacman-install='sudo dnf install -y'
|
alias pacman-install='sudo dnf install -y'
|
||||||
alias pacman-remove='sudo dnf remove -y'
|
alias pacman-remove='sudo dnf remove -y'
|
||||||
alias pacman-search='dnf search'
|
alias pacman-search='dnf search'
|
||||||
|
|
||||||
|
elif command -v apt-get &>/dev/null; then
|
||||||
|
alias dnf='sudo apt'
|
||||||
|
alias dnf-get='sudo apt'
|
||||||
|
alias dnf-update='sudo apt update'
|
||||||
|
alias dnf-upgrade='sudo apt upgrade -y'
|
||||||
|
alias dnf-install='sudo apt install -y'
|
||||||
|
alias dnf-remove='sudo apt remove -y'
|
||||||
|
alias dnf-search='apt search'
|
||||||
|
|
||||||
|
alias pacman='sudo apt'
|
||||||
|
alias pacman-update='sudo apt update'
|
||||||
|
alias pacman-upgrade='sudo apt upgrade -y'
|
||||||
|
alias pacman-install='sudo apt install -y'
|
||||||
|
alias pacman-remove='sudo apt remove -y'
|
||||||
|
alias pacman-search='apt search'
|
||||||
|
|
||||||
|
elif command -v pacman &>/dev/null; then
|
||||||
|
alias apt='sudo pacman'
|
||||||
|
alias apt-get='sudo pacman'
|
||||||
|
alias apt-update='sudo pacman -Sy --noconfirm'
|
||||||
|
alias apt-upgrade='sudo pacman -Su --noconfirm'
|
||||||
|
alias apt-install='sudo pacman -S --noconfirm'
|
||||||
|
alias apt-remove='sudo pacman -Rns --noconfirm'
|
||||||
|
alias apt-search='pacman -Ss'
|
||||||
|
|
||||||
|
alias dnf='sudo pacman'
|
||||||
|
alias dnf-get='sudo pacman'
|
||||||
|
alias dnf-update='sudo pacman -Sy --noconfirm'
|
||||||
|
alias dnf-upgrade='sudo pacman -Su --noconfirm'
|
||||||
|
alias dnf-install='sudo pacman -S --noconfirm'
|
||||||
|
alias dnf-remove='sudo pacman -Rns --noconfirm'
|
||||||
|
alias dnf-search='pacman -Ss'
|
||||||
|
fi
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Ensure Fira Code is available for terminal apps (fontconfig)
|
||||||
|
_fonts_stamp="${XDG_STATE_HOME:-$HOME/.local/state}/fira-code-fonts"
|
||||||
|
_fonts_dir="$HOME/.local/share/fonts/FiraCode"
|
||||||
|
|
||||||
|
if ! fc-list 2>/dev/null | grep -qi 'fira code'; then
|
||||||
|
if [[ -f "$_fonts_stamp" ]] && ls "$_fonts_dir"/*.ttf &>/dev/null; then
|
||||||
|
fc-cache -f "$HOME/.local/share/fonts" 2>/dev/null
|
||||||
|
elif command -v dnf &>/dev/null; then
|
||||||
|
if sudo dnf install -y fira-code-fonts &>/dev/null; then
|
||||||
|
fc-cache -f 2>/dev/null
|
||||||
|
mkdir -p "${_fonts_stamp%/*}"
|
||||||
|
touch "$_fonts_stamp"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! fc-list 2>/dev/null | grep -qi 'fira code' \
|
||||||
|
&& command -v curl &>/dev/null && command -v unzip &>/dev/null; then
|
||||||
|
mkdir -p "$_fonts_dir"
|
||||||
|
_fonts_tmp=$(mktemp -d)
|
||||||
|
if curl -fsSL "https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip" \
|
||||||
|
-o "$_fonts_tmp/FiraCode.zip" \
|
||||||
|
&& unzip -qo "$_fonts_tmp/FiraCode.zip" -d "$_fonts_tmp" \
|
||||||
|
&& cp -f "$_fonts_tmp/ttf/"*.ttf "$_fonts_dir/"; then
|
||||||
|
fc-cache -f "$HOME/.local/share/fonts" 2>/dev/null
|
||||||
|
mkdir -p "${_fonts_stamp%/*}"
|
||||||
|
touch "$_fonts_stamp"
|
||||||
|
fi
|
||||||
|
rm -rf "$_fonts_tmp"
|
||||||
|
unset _fonts_tmp
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset _fonts_stamp _fonts_dir
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Git + Colorful Prompt
|
||||||
|
if [ -f "/usr/share/git/completion/git-prompt.sh" ]; then
|
||||||
|
source /usr/share/git/completion/git-prompt.sh
|
||||||
|
|
||||||
|
export GIT_PS1_SHOWDIRTYSTATE=1
|
||||||
|
export GIT_PS1_SHOWSTASHSTATE=1
|
||||||
|
export GIT_PS1_SHOWUNTRACKEDFILES=1
|
||||||
|
export GIT_PS1_SHOWUPSTREAM="auto"
|
||||||
|
|
||||||
|
# Bright green user@host (what you liked)
|
||||||
|
PS1='\[\e[1;38;5;46m\]\u@\h\[\e[0m\] \[\e[38;5;51m\]\w\[\e[0m\]\[\e[90m\]$(__git_ps1 " (%s)")\[\e[0m\] \$ '
|
||||||
|
else
|
||||||
|
PS1='\[\e[1;38;5;46m\]\u@\h\[\e[0m\] \[\e[38;5;51m\]\w\[\e[0m\] \$ '
|
||||||
|
fi
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
if [[ -d ~/.config/MangoHud ]]; then
|
||||||
|
export MANGOHUD_CONFIGFILE=~/.config/MangoHud/MangoHud.conf
|
||||||
|
|
||||||
|
# Swap xbox for playstation
|
||||||
|
export SDL_GAMECONTROLLER_USE_BUTTON_LABELS=0
|
||||||
|
fi
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Ruff completion
|
||||||
|
if command -v ruff >/dev/null; then
|
||||||
|
if [[ -n ${ZSH_VERSION:-} ]]; then
|
||||||
|
eval "$(ruff generate-shell-completion zsh 2>/dev/null)"
|
||||||
|
else
|
||||||
|
eval "$(ruff generate-shell-completion bash 2>/dev/null)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# VS Code extension install helper
|
||||||
|
vscode-ext-install() {
|
||||||
|
bash "${HOME}/.dotfiles/vscode-server/install-vscode-extensions.sh" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
alias vscode-ext-list='vscode-ext-install --list'
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
# ~/.editorconfig
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Default for all files
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# Shell scripts: 2 spaces, no tabs
|
||||||
|
[*.sh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.bash]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.zsh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.bats]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.cmd]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = crlf
|
||||||
|
|
||||||
|
[*.bat]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = crlf
|
||||||
|
|
||||||
|
# Also apply to Makefile if you want (optional)
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[ContentDisplay]
|
||||||
|
UsePermissionsFormat=CombinedFormat
|
||||||
|
UseShortRelativeDates=false
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Version=202
|
||||||
|
ViewPropsTimestamp=2025,11,23,1,8,59.346
|
||||||
|
|
||||||
|
[KFileDialog Settings]
|
||||||
|
Places Icons Auto-resize=false
|
||||||
|
Places Icons Static Size=22
|
||||||
|
|
||||||
|
[MainWindow]
|
||||||
|
MenuBar=Disabled
|
||||||
|
|
||||||
|
[PreviewSettings]
|
||||||
|
Plugins=appimagethumbnail,audiothumbnail,glycin-heif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,glycin-image-rs,jpegthumbnail,glycin-jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,glycin-svg,svgthumbnail,ffmpegthumbs
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
theme = Terminal Basic Dark
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -21,6 +21,7 @@
|
|||||||
[core]
|
[core]
|
||||||
excludesfile = /home/anoto/.gitignore_global
|
excludesfile = /home/anoto/.gitignore_global
|
||||||
editor = code --wait
|
editor = code --wait
|
||||||
|
symlinks = true
|
||||||
# pager = code --wait -
|
# pager = code --wait -
|
||||||
[diff]
|
[diff]
|
||||||
tool = vscode
|
tool = vscode
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# git config --global core.excludesfile ~/.gitignore_global
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
|
||||||
|
# Python
|
||||||
|
uv.lock
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
[ColorEffects:Disabled]
|
||||||
|
Color=30, 30, 46
|
||||||
|
ColorAmount=0.30000000000000004
|
||||||
|
ColorEffect=2
|
||||||
|
ContrastAmount=0.1
|
||||||
|
ContrastEffect=0
|
||||||
|
IntensityAmount=-1
|
||||||
|
IntensityEffect=0
|
||||||
|
|
||||||
|
[ColorEffects:Inactive]
|
||||||
|
ChangeSelectionColor=false
|
||||||
|
Color=30, 30, 46
|
||||||
|
ColorAmount=0.5
|
||||||
|
ColorEffect=3
|
||||||
|
ContrastAmount=0
|
||||||
|
ContrastEffect=0
|
||||||
|
Enable=true
|
||||||
|
IntensityAmount=0
|
||||||
|
IntensityEffect=0
|
||||||
|
|
||||||
|
[Colors:Button]
|
||||||
|
BackgroundAlternate=137, 180, 250
|
||||||
|
BackgroundNormal=49, 50, 68
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Complementary]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Header]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Selection]
|
||||||
|
BackgroundAlternate=137, 180, 250
|
||||||
|
BackgroundNormal=137, 180, 250
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundInactive=17, 17, 27
|
||||||
|
ForegroundActive=17, 17, 27
|
||||||
|
ForegroundLink=17, 17, 27
|
||||||
|
ForegroundNegative=17, 17, 27
|
||||||
|
ForegroundNeutral=17, 17, 27
|
||||||
|
ForegroundNormal=17, 17, 27
|
||||||
|
ForegroundPositive=17, 17, 27
|
||||||
|
ForegroundVisited=17, 17, 27
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Tooltip]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=30, 30, 46
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:View]
|
||||||
|
BackgroundAlternate=24, 24, 37
|
||||||
|
BackgroundNormal=30, 30, 46
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Window]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=137, 180, 250
|
||||||
|
DecorationHover=137, 180, 250
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=137, 180, 250
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[General]
|
||||||
|
ColorScheme=CatppuccinMochaBlue
|
||||||
|
Name=Catppuccin Mocha Blue
|
||||||
|
accentActiveTitlebar=false
|
||||||
|
shadeSortColumn=true
|
||||||
|
|
||||||
|
|
||||||
|
[KDE]
|
||||||
|
contrast=4
|
||||||
|
|
||||||
|
|
||||||
|
[WM]
|
||||||
|
activeBackground=30, 30, 46
|
||||||
|
activeBlend=205, 214, 244
|
||||||
|
activeForeground=205, 214, 244
|
||||||
|
inactiveBackground=17, 17, 27
|
||||||
|
inactiveBlend=166, 173, 200
|
||||||
|
inactiveForeground=166, 173, 200
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
[ColorEffects:Disabled]
|
||||||
|
Color=30, 30, 46
|
||||||
|
ColorAmount=0.30000000000000004
|
||||||
|
ColorEffect=2
|
||||||
|
ContrastAmount=0.1
|
||||||
|
ContrastEffect=0
|
||||||
|
IntensityAmount=-1
|
||||||
|
IntensityEffect=0
|
||||||
|
|
||||||
|
[ColorEffects:Inactive]
|
||||||
|
ChangeSelectionColor=false
|
||||||
|
Color=30, 30, 46
|
||||||
|
ColorAmount=0.5
|
||||||
|
ColorEffect=3
|
||||||
|
ContrastAmount=0
|
||||||
|
ContrastEffect=0
|
||||||
|
Enable=true
|
||||||
|
IntensityAmount=0
|
||||||
|
IntensityEffect=0
|
||||||
|
|
||||||
|
[Colors:Button]
|
||||||
|
BackgroundAlternate=148, 226, 213
|
||||||
|
BackgroundNormal=49, 50, 68
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Complementary]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Header]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Selection]
|
||||||
|
BackgroundAlternate=148, 226, 213
|
||||||
|
BackgroundNormal=148, 226, 213
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundInactive=17, 17, 27
|
||||||
|
ForegroundActive=17, 17, 27
|
||||||
|
ForegroundLink=17, 17, 27
|
||||||
|
ForegroundNegative=17, 17, 27
|
||||||
|
ForegroundNeutral=17, 17, 27
|
||||||
|
ForegroundNormal=17, 17, 27
|
||||||
|
ForegroundPositive=17, 17, 27
|
||||||
|
ForegroundVisited=17, 17, 27
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Tooltip]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=30, 30, 46
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:View]
|
||||||
|
BackgroundAlternate=24, 24, 37
|
||||||
|
BackgroundNormal=30, 30, 46
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[Colors:Window]
|
||||||
|
BackgroundAlternate=17, 17, 27
|
||||||
|
BackgroundNormal=24, 24, 37
|
||||||
|
DecorationFocus=148, 226, 213
|
||||||
|
DecorationHover=148, 226, 213
|
||||||
|
ForegroundActive=250, 179, 135
|
||||||
|
ForegroundInactive=166, 173, 200
|
||||||
|
ForegroundLink=148, 226, 213
|
||||||
|
ForegroundNegative=243, 139, 168
|
||||||
|
ForegroundNeutral=249, 226, 175
|
||||||
|
ForegroundNormal=205, 214, 244
|
||||||
|
ForegroundPositive=166, 227, 161
|
||||||
|
ForegroundVisited=203, 166, 247
|
||||||
|
|
||||||
|
|
||||||
|
[General]
|
||||||
|
ColorScheme=CatppuccinMochaTeal
|
||||||
|
Name=Catppuccin Mocha Teal
|
||||||
|
accentActiveTitlebar=false
|
||||||
|
shadeSortColumn=true
|
||||||
|
|
||||||
|
|
||||||
|
[KDE]
|
||||||
|
contrast=4
|
||||||
|
|
||||||
|
|
||||||
|
[WM]
|
||||||
|
activeBackground=30, 30, 46
|
||||||
|
activeBlend=205, 214, 244
|
||||||
|
activeForeground=205, 214, 244
|
||||||
|
inactiveBackground=17, 17, 27
|
||||||
|
inactiveBlend=166, 173, 200
|
||||||
|
inactiveForeground=166, 173, 200
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
For KDE Plasma Desktop
|
||||||
|
https://github.com/catppuccin/kde#for-kde-plasma-desktop
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
DefaultProfile=bash.profile
|
||||||
|
|
||||||
|
[General]
|
||||||
|
ConfigVersion=1
|
||||||
|
|
||||||
|
[UiSettings]
|
||||||
|
ColorScheme=
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# konsole
|
||||||
|
|
||||||
|
Grab themes at https://github.com/catppuccin/konsole/
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[Appearance]
|
||||||
|
ColorScheme=catppuccin-mocha
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Icon=utilities-terminal-symbolic
|
||||||
|
Name=bash
|
||||||
|
Parent=FALLBACK/
|
||||||
|
TerminalColumns=128
|
||||||
|
|
||||||
|
[Keyboard]
|
||||||
|
KeyBindings=default
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
[Background]
|
||||||
|
Color=36,39,58
|
||||||
|
|
||||||
|
[BackgroundFaint]
|
||||||
|
Color=36,39,58
|
||||||
|
|
||||||
|
[BackgroundIntense]
|
||||||
|
Color=36,39,58
|
||||||
|
|
||||||
|
[Color0]
|
||||||
|
Color=110,115,141
|
||||||
|
|
||||||
|
[Color0Faint]
|
||||||
|
Color=110,115,141
|
||||||
|
|
||||||
|
[Color0Intense]
|
||||||
|
Color=110,115,141
|
||||||
|
|
||||||
|
[Color1]
|
||||||
|
Color=237,135,150
|
||||||
|
|
||||||
|
[Color1Faint]
|
||||||
|
Color=237,135,150
|
||||||
|
|
||||||
|
[Color1Intense]
|
||||||
|
Color=237,135,150
|
||||||
|
|
||||||
|
[Color2]
|
||||||
|
Color=166,218,149
|
||||||
|
|
||||||
|
[Color2Faint]
|
||||||
|
Color=166,218,149
|
||||||
|
|
||||||
|
[Color2Intense]
|
||||||
|
Color=166,218,149
|
||||||
|
|
||||||
|
[Color3]
|
||||||
|
Color=238,212,159
|
||||||
|
|
||||||
|
[Color3Faint]
|
||||||
|
Color=238,212,159
|
||||||
|
|
||||||
|
[Color3Intense]
|
||||||
|
Color=238,212,159
|
||||||
|
|
||||||
|
[Color4]
|
||||||
|
Color=138,173,244
|
||||||
|
|
||||||
|
[Color4Faint]
|
||||||
|
Color=138,173,244
|
||||||
|
|
||||||
|
[Color4Intense]
|
||||||
|
Color=138,173,244
|
||||||
|
|
||||||
|
[Color5]
|
||||||
|
Color=198,160,246
|
||||||
|
|
||||||
|
[Color5Faint]
|
||||||
|
Color=198,160,246
|
||||||
|
|
||||||
|
[Color5Intense]
|
||||||
|
Color=198,160,246
|
||||||
|
|
||||||
|
[Color6]
|
||||||
|
Color=145,215,227
|
||||||
|
|
||||||
|
[Color6Faint]
|
||||||
|
Color=145,215,227
|
||||||
|
|
||||||
|
[Color6Intense]
|
||||||
|
Color=145,215,227
|
||||||
|
|
||||||
|
[Color7]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[Color7Faint]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[Color7Intense]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[Foreground]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[ForegroundFaint]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[ForegroundIntense]
|
||||||
|
Color=202,211,245
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Blur=false
|
||||||
|
ColorRandomization=false
|
||||||
|
Description=Catppuccin Macchiato
|
||||||
|
Opacity=1
|
||||||
|
Wallpaper=
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
[Background]
|
||||||
|
Color=30,30,46
|
||||||
|
|
||||||
|
[BackgroundFaint]
|
||||||
|
Color=30,30,46
|
||||||
|
|
||||||
|
[BackgroundIntense]
|
||||||
|
Color=30,30,46
|
||||||
|
|
||||||
|
[Color0]
|
||||||
|
Color=108,112,134
|
||||||
|
|
||||||
|
[Color0Faint]
|
||||||
|
Color=108,112,134
|
||||||
|
|
||||||
|
[Color0Intense]
|
||||||
|
Color=108,112,134
|
||||||
|
|
||||||
|
[Color1]
|
||||||
|
Color=243,139,168
|
||||||
|
|
||||||
|
[Color1Faint]
|
||||||
|
Color=243,139,168
|
||||||
|
|
||||||
|
[Color1Intense]
|
||||||
|
Color=243,139,168
|
||||||
|
|
||||||
|
[Color2]
|
||||||
|
Color=166,227,161
|
||||||
|
|
||||||
|
[Color2Faint]
|
||||||
|
Color=166,227,161
|
||||||
|
|
||||||
|
[Color2Intense]
|
||||||
|
Color=166,227,161
|
||||||
|
|
||||||
|
[Color3]
|
||||||
|
Color=249,226,175
|
||||||
|
|
||||||
|
[Color3Faint]
|
||||||
|
Color=249,226,175
|
||||||
|
|
||||||
|
[Color3Intense]
|
||||||
|
Color=249,226,175
|
||||||
|
|
||||||
|
[Color4]
|
||||||
|
Color=137,180,250
|
||||||
|
|
||||||
|
[Color4Faint]
|
||||||
|
Color=137,180,250
|
||||||
|
|
||||||
|
[Color4Intense]
|
||||||
|
Color=137,180,250
|
||||||
|
|
||||||
|
[Color5]
|
||||||
|
Color=203,166,247
|
||||||
|
|
||||||
|
[Color5Faint]
|
||||||
|
Color=203,166,247
|
||||||
|
|
||||||
|
[Color5Intense]
|
||||||
|
Color=203,166,247
|
||||||
|
|
||||||
|
[Color6]
|
||||||
|
Color=137,220,235
|
||||||
|
|
||||||
|
[Color6Faint]
|
||||||
|
Color=137,220,235
|
||||||
|
|
||||||
|
[Color6Intense]
|
||||||
|
Color=137,220,235
|
||||||
|
|
||||||
|
[Color7]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[Color7Faint]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[Color7Intense]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[Foreground]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[ForegroundFaint]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[ForegroundIntense]
|
||||||
|
Color=205,214,244
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Blur=false
|
||||||
|
ColorRandomization=false
|
||||||
|
Description=Catppuccin Mocha
|
||||||
|
Opacity=1
|
||||||
|
Wallpaper=
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[Appearance]
|
||||||
|
ColorScheme=catppuccin-mocha
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Command=/usr/bin/zsh
|
||||||
|
Icon=utilities-terminal-symbolic
|
||||||
|
Name=zsh
|
||||||
|
Parent=FALLBACK/
|
||||||
|
StartInCurrentSessionDir=false
|
||||||
|
TerminalColumns=128
|
||||||
|
|
||||||
|
[Keyboard]
|
||||||
|
KeyBindings=default
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
################### File Generated by Goverlay ###################
|
||||||
|
legacy_layout=false
|
||||||
|
offset_x=0
|
||||||
|
offset_y=5 # move down a bit
|
||||||
|
|
||||||
|
|
||||||
|
horizontal=1
|
||||||
|
position=top-center
|
||||||
|
background_alpha=0.6
|
||||||
|
round_corners=10
|
||||||
|
background_alpha=0.6
|
||||||
|
background_color=000000
|
||||||
|
horizontal_stretch=0
|
||||||
|
|
||||||
|
font_size=24
|
||||||
|
text_color=FFFFFF
|
||||||
|
# position=top-center
|
||||||
|
toggle_hud=Shift_R+F4
|
||||||
|
pci_dev=0:01:00.0
|
||||||
|
table_columns=3
|
||||||
|
# frame_timing
|
||||||
|
gpu_text=GPU
|
||||||
|
gpu_stats
|
||||||
|
gpu_load_change
|
||||||
|
gpu_load_value=50,90
|
||||||
|
gpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
gpu_temp
|
||||||
|
gpu_power
|
||||||
|
gpu_color=2E9762
|
||||||
|
cpu_text=CPU
|
||||||
|
cpu_stats
|
||||||
|
|
||||||
|
cpu_load_change
|
||||||
|
cpu_load_value=50,90
|
||||||
|
cpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
cpu_temp
|
||||||
|
#cpu_power
|
||||||
|
cpu_color=2E97CB
|
||||||
|
# io_read
|
||||||
|
# io_write
|
||||||
|
# io_color=A491D3
|
||||||
|
time#
|
||||||
|
vram
|
||||||
|
vram_color=AD64C1
|
||||||
|
vram_color=AD64C1
|
||||||
|
ram
|
||||||
|
ram_color=C26693
|
||||||
|
# battery
|
||||||
|
# battery_color=00FF00
|
||||||
|
fps
|
||||||
|
# engine_version
|
||||||
|
engine_color=EB5B5B
|
||||||
|
|
||||||
|
frametime_color=FFFFFF
|
||||||
|
fps_limit_method=early
|
||||||
|
engine_short_names
|
||||||
|
toggle_fps_limit=Shift_L+F1
|
||||||
|
|
||||||
|
fps_limit=144
|
||||||
|
fps_color_change
|
||||||
|
fps_color=B22222,FDFD09,39F900
|
||||||
|
fps_value=30,60
|
||||||
|
# gpu_name
|
||||||
|
|
||||||
|
#offset=0
|
||||||
|
|
||||||
|
vsync=1
|
||||||
|
# gamemode
|
||||||
|
time_format=%F %T %Z
|
||||||
|
|
||||||
|
|
||||||
|
output_folder=/home/anoto/logs
|
||||||
|
log_duration=30
|
||||||
|
autostart_log=0
|
||||||
|
log_interval=100
|
||||||
|
blacklist=zenity,protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
|
||||||
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
################### File Generated by Goverlay ###################
|
||||||
|
legacy_layout=false
|
||||||
|
|
||||||
|
horizontal
|
||||||
|
background_alpha=0.6
|
||||||
|
round_corners=10
|
||||||
|
background_alpha=0.6
|
||||||
|
background_color=000000
|
||||||
|
|
||||||
|
font_size=24
|
||||||
|
text_color=FFFFFF
|
||||||
|
position=top-center
|
||||||
|
toggle_hud=Shift_R+F4
|
||||||
|
pci_dev=0:01:00.0
|
||||||
|
table_columns=3
|
||||||
|
gpu_text=GPU
|
||||||
|
gpu_stats
|
||||||
|
gpu_load_change
|
||||||
|
gpu_load_value=50,90
|
||||||
|
gpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
gpu_temp
|
||||||
|
gpu_color=2E9762
|
||||||
|
cpu_text=CPU
|
||||||
|
cpu_stats
|
||||||
|
|
||||||
|
cpu_load_change
|
||||||
|
cpu_load_value=50,90
|
||||||
|
cpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
cpu_temp
|
||||||
|
cpu_power
|
||||||
|
cpu_color=2E97CB
|
||||||
|
io_read
|
||||||
|
io_write
|
||||||
|
io_color=A491D3
|
||||||
|
vram
|
||||||
|
vram_color=AD64C1
|
||||||
|
vram_color=AD64C1
|
||||||
|
ram
|
||||||
|
ram_color=C26693
|
||||||
|
battery
|
||||||
|
battery_color=00FF00
|
||||||
|
fps
|
||||||
|
engine_version
|
||||||
|
engine_color=EB5B5B
|
||||||
|
gpu_name
|
||||||
|
vulkan_driver
|
||||||
|
frame_timing
|
||||||
|
frametime_color=FFFFFF
|
||||||
|
fps_limit_method=early
|
||||||
|
toggle_fps_limit=Shift_L+F1
|
||||||
|
|
||||||
|
fps_limit=0
|
||||||
|
fps_color_change
|
||||||
|
fps_color=B22222,FDFD09,39F900
|
||||||
|
fps_value=30,60
|
||||||
|
#offset=0
|
||||||
|
vsync=1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
output_folder=/home/anoto/logs
|
||||||
|
log_duration=30
|
||||||
|
autostart_log=0
|
||||||
|
log_interval=100
|
||||||
|
toggle_logging=Shift_L+F2
|
||||||
|
blacklist=zenity,protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
|
||||||
|
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
################### File Generated by Goverlay ###################
|
||||||
|
legacy_layout=false
|
||||||
|
offset_x=0
|
||||||
|
offset_y=5 # move down a bit
|
||||||
|
|
||||||
|
|
||||||
|
horizontal=1
|
||||||
|
position=top-center
|
||||||
|
background_alpha=0.6
|
||||||
|
round_corners=10
|
||||||
|
background_alpha=0.6
|
||||||
|
background_color=000000
|
||||||
|
horizontal_stretch=0
|
||||||
|
|
||||||
|
font_size=24
|
||||||
|
text_color=FFFFFF
|
||||||
|
# position=top-center
|
||||||
|
toggle_hud=Shift_R+F4
|
||||||
|
pci_dev=0:01:00.0
|
||||||
|
table_columns=3
|
||||||
|
|
||||||
|
# frame_timing
|
||||||
|
gpu_text=GPU
|
||||||
|
gpu_stats
|
||||||
|
gpu_load_change
|
||||||
|
gpu_load_value=50,90
|
||||||
|
gpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
gpu_temp
|
||||||
|
gpu_power
|
||||||
|
|
||||||
|
gpu_color=2E9762
|
||||||
|
cpu_text=CPU
|
||||||
|
cpu_stats
|
||||||
|
|
||||||
|
cpu_load_change
|
||||||
|
cpu_load_value=50,90
|
||||||
|
cpu_load_color=FFFFFF,FFAA7F,CC0000
|
||||||
|
cpu_temp
|
||||||
|
#cpu_power
|
||||||
|
cpu_color=2E97CB
|
||||||
|
# io_read
|
||||||
|
# io_write
|
||||||
|
# io_color=A491D3
|
||||||
|
|
||||||
|
vram
|
||||||
|
vram_color=AD64C1
|
||||||
|
vram_color=AD64C1
|
||||||
|
ram
|
||||||
|
ram_color=C26693
|
||||||
|
# battery
|
||||||
|
# battery_color=00FF00
|
||||||
|
fps
|
||||||
|
# engine_version
|
||||||
|
engine_color=EB5B5B
|
||||||
|
|
||||||
|
frametime_color=FFFFFF
|
||||||
|
fps_limit_method=early
|
||||||
|
engine_short_names
|
||||||
|
toggle_fps_limit=Shift_L+F1
|
||||||
|
|
||||||
|
fps_limit=144
|
||||||
|
fps_color_change
|
||||||
|
fps_color=B22222,FDFD09,39F900
|
||||||
|
fps_value=30,60
|
||||||
|
# gpu_name
|
||||||
|
|
||||||
|
time#
|
||||||
|
|
||||||
|
|
||||||
|
#offset=0
|
||||||
|
|
||||||
|
vsync=1
|
||||||
|
# gamemode
|
||||||
|
time_format=%F %T %Z
|
||||||
|
|
||||||
|
|
||||||
|
output_folder=/home/anoto/logs
|
||||||
|
log_duration=30
|
||||||
|
autostart_log=0
|
||||||
|
log_interval=100
|
||||||
|
blacklist=zenity,protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
-- Basic Neovim settings (converted from old .vimrc)
|
||||||
|
|
||||||
|
vim.opt.expandtab = true -- Convert tabs to spaces
|
||||||
|
vim.opt.tabstop = 4 -- Tab width
|
||||||
|
vim.opt.shiftwidth = 4 -- Indent width
|
||||||
|
vim.opt.softtabstop = 4 -- Backspace behavior
|
||||||
|
|
||||||
|
vim.opt.number = true -- Line numbers
|
||||||
|
vim.opt.cursorline = true -- Highlight current line
|
||||||
|
|
||||||
|
-- Quality of life
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
vim.opt.mouse = "a"
|
||||||
|
vim.opt.ignorecase = true
|
||||||
|
vim.opt.smartcase = true
|
||||||
|
vim.opt.wrap = false
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
vim.opt.signcolumn = "yes" -- Always show sign column
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# https://github.com/astral-sh/ruff/blob/main/docs/configuration.md#shell-autocompletion
|
||||||
|
|
||||||
|
cache-dir = "~/.cache/ruff"
|
||||||
|
indent-width = 4
|
||||||
|
line-length = 128
|
||||||
|
target-version = "py314"
|
||||||
|
|
||||||
|
# Exclude a variety of commonly ignored directories.
|
||||||
|
exclude = [
|
||||||
|
"__pypackages__",
|
||||||
|
"_build",
|
||||||
|
".bzr",
|
||||||
|
".direnv",
|
||||||
|
".eggs",
|
||||||
|
".git-rewrite",
|
||||||
|
".git",
|
||||||
|
".hg",
|
||||||
|
".ipynb_checkpoints",
|
||||||
|
".mypy_cache",
|
||||||
|
".nox",
|
||||||
|
".pants.d",
|
||||||
|
".pyenv",
|
||||||
|
".pytest_cache",
|
||||||
|
".pytype",
|
||||||
|
".ruff_cache",
|
||||||
|
".svn",
|
||||||
|
".tox",
|
||||||
|
".venv",
|
||||||
|
".vscode",
|
||||||
|
"buck-out",
|
||||||
|
"build",
|
||||||
|
"dist",
|
||||||
|
"node_modules",
|
||||||
|
"site-packages",
|
||||||
|
"venv",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[lint]
|
||||||
|
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
|
||||||
|
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
||||||
|
# McCabe complexity (`C901`) by default.
|
||||||
|
select = ["E4", "E7", "E9", "F", "TC", "FAST", "TD", "I"]
|
||||||
|
ignore = []
|
||||||
|
|
||||||
|
# Allow fix for all enabled rules (when `--fix`) is provided.
|
||||||
|
fixable = ["ALL"]
|
||||||
|
unfixable = []
|
||||||
|
|
||||||
|
[format]
|
||||||
|
# Like Black, use double quotes for strings.
|
||||||
|
quote-style = "double"
|
||||||
|
|
||||||
|
# Like Black, indent with spaces, rather than tabs.
|
||||||
|
indent-style = "space"
|
||||||
|
|
||||||
|
# Like Black, respect magic trailing commas.
|
||||||
|
skip-magic-trailing-comma = false
|
||||||
|
|
||||||
|
[lint.isort]
|
||||||
|
case-sensitive = true
|
||||||
|
combine-as-imports = true
|
||||||
|
force-single-line = true
|
||||||
|
force-sort-within-sections = true
|
||||||
|
lines-after-imports = 1
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
set expandtab " Convert tabs to spaces
|
||||||
|
set tabstop=4 " Display existing tab characters as 4 spaces wide
|
||||||
|
set shiftwidth=4 " Use 4 spaces for each indentation level (e.g., with >> or autoindent)
|
||||||
|
set softtabstop=4 " Pressing Tab inserts 4 spaces; Backspace deletes 4 spaces at once
|
||||||
|
set number
|
||||||
|
set cursorline
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
{
|
||||||
|
"workbench.editor.useModal": "off",
|
||||||
|
"workbench.settings.editor": "json",
|
||||||
|
"workbench.settings.useSplitJSON": false,
|
||||||
|
"editor.fontFamily": "Fira Code",
|
||||||
|
"editor.fontSize": 11,
|
||||||
|
"editor.fontLigatures": true,
|
||||||
|
"terminal.integrated.fontFamily": "Fira Code",
|
||||||
|
"terminal.integrated.profiles.linux": {
|
||||||
|
"grok": {
|
||||||
|
"path": "${userHome}/.grok/bin/grok",
|
||||||
|
"icon": "sparkle"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"terminal.integrated.defaultProfile.linux": "bash",
|
||||||
|
"terminal.integrated.inheritEnv": true,
|
||||||
|
"vsicons.dontShowNewVersionMessage": true,
|
||||||
|
"editor.minimap.enabled": false,
|
||||||
|
"workbench.iconTheme": "catppuccin-mocha",
|
||||||
|
"files.exclude": {
|
||||||
|
"**/__pycache__": true,
|
||||||
|
"**/.DS_Store": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.hg": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/CVS": true
|
||||||
|
},
|
||||||
|
"search.exclude": {
|
||||||
|
"**/__pycache__": true,
|
||||||
|
"**/.DS_Store": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.hg": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/CVS": true,
|
||||||
|
"**/.grok": true,
|
||||||
|
"**/.grok/worktrees": true,
|
||||||
|
"**/.grok/sessions": true,
|
||||||
|
"**/.grok/logs": true,
|
||||||
|
"**/.cursor": true,
|
||||||
|
"**/.cline": true,
|
||||||
|
"**/.continue": true,
|
||||||
|
"**/.aider*": true,
|
||||||
|
"**/.codex": true,
|
||||||
|
"**/.windsurf": true,
|
||||||
|
"**/.codeium": true,
|
||||||
|
"**/.roo": true,
|
||||||
|
"**/.openclaw": true,
|
||||||
|
"**/.factory": true,
|
||||||
|
"**/.augment": true
|
||||||
|
},
|
||||||
|
"[python]": {
|
||||||
|
"editor.defaultFormatter": "charliermarsh.ruff",
|
||||||
|
"editor.formatOnSave": false
|
||||||
|
},
|
||||||
|
"ruff.lineLength": 128,
|
||||||
|
"git.blame.editorDecoration.enabled": true,
|
||||||
|
"git.blame.editorDecoration.template": "${subject}, ${authorName} (${authorDateAgo})",
|
||||||
|
"git.blame.statusBarItem.enabled": true,
|
||||||
|
"diffEditor.ignoreTrimWhitespace": false,
|
||||||
|
"editor.renderWhitespace": "all",
|
||||||
|
"files.trimTrailingWhitespace": true,
|
||||||
|
"files.trimFinalNewlines": true,
|
||||||
|
"files.autoSave": "afterDelay",
|
||||||
|
"telemetry.feedback.enabled": true,
|
||||||
|
"[properties]": {
|
||||||
|
"editor.tabSize": 2
|
||||||
|
},
|
||||||
|
"[shellscript]": {
|
||||||
|
"editor.defaultColorDecorators": "never",
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
"files.eol": "\n"
|
||||||
|
},
|
||||||
|
"projectManager.showProjectNameInStatusBar": true,
|
||||||
|
"workbench.colorTheme": "Catppuccin Mocha",
|
||||||
|
"catppuccin.accentColor": "blue",
|
||||||
|
// use your accent (pink) on the statusBar as well
|
||||||
|
"catppuccin.customUIColors": {
|
||||||
|
"mocha": {
|
||||||
|
"statusBar.foreground": "accent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"catppuccin-icons.hidesExplorerArrows": false,
|
||||||
|
"catppuccin-icons.specificFolders": true,
|
||||||
|
"projectManager.git.baseFolders": [
|
||||||
|
"~/git",
|
||||||
|
"~/.dotfiles"
|
||||||
|
],
|
||||||
|
"projectManager.git.ignoredFolders": [
|
||||||
|
"node_modules",
|
||||||
|
"out",
|
||||||
|
"typings",
|
||||||
|
"test",
|
||||||
|
".haxelib",
|
||||||
|
"__pycache__",
|
||||||
|
".grok"
|
||||||
|
],
|
||||||
|
"chat.titleBar.signIn.enabled": false
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# VS Code extensions (one ID per line; # comments allowed)
|
||||||
|
# Install: bash ~/dotfiles/vscode-server/install-vscode-extensions.sh
|
||||||
|
|
||||||
|
# Remote / WSL (from settings)
|
||||||
|
ms-vscode-remote.remote-wsl
|
||||||
|
ms-python.python
|
||||||
|
ms-python.debugpy
|
||||||
|
ms-python.vscode-python-envs
|
||||||
|
charliermarsh.ruff
|
||||||
|
redhat.vscode-yaml
|
||||||
|
redhat.vscode-xml
|
||||||
|
ms-toolsai.jupyter
|
||||||
|
ms-toolsai.jupyter-renderers
|
||||||
|
ms-toolsai.vscode-jupyter-cell-tags
|
||||||
|
ms-toolsai.vscode-jupyter-slideshow
|
||||||
|
|
||||||
|
# UI
|
||||||
|
vscode-icons-team.vscode-icons
|
||||||
|
|
||||||
|
# Optional (uncomment if you use them)
|
||||||
|
# GitHub.copilot
|
||||||
|
# GitHub.copilot-chat
|
||||||
|
# formulahendry.acp-client
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Fedora / WSL Linux
|
||||||
|
if command -v dnf >/dev/null 2>&1; then
|
||||||
|
sudo dnf install -y fira-code-fonts
|
||||||
|
fc-cache -f
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Windows user fonts (when running under WSL)
|
||||||
|
if [[ -d /mnt/c/Users ]]; then
|
||||||
|
win_fonts="/mnt/c/Users/${USER}/AppData/Local/Microsoft/Windows/Fonts"
|
||||||
|
if [[ ! -d "$win_fonts" ]]; then
|
||||||
|
win_fonts="/mnt/c/Users/${USER}/AppData/Local/Microsoft/Windows/Fonts"
|
||||||
|
fi
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
curl -sL "https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip" -o "$tmp/FiraCode.zip"
|
||||||
|
unzip -q "$tmp/FiraCode.zip" -d "$tmp"
|
||||||
|
cp -f "$tmp/ttf/"*.ttf "$win_fonts/"
|
||||||
|
rm -rf "$tmp"
|
||||||
|
echo "Installed Fira Code to $win_fonts"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,159 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||||
|
EXT_FILE="${SCRIPT_DIR}/extensions.txt"
|
||||||
|
TARGET="remote"
|
||||||
|
FORCE=0
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<'EOF'
|
||||||
|
Usage: install-vscode-extensions.sh [options]
|
||||||
|
|
||||||
|
Install VS Code extensions from extensions.txt.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--local Install to Windows VS Code only
|
||||||
|
--remote Install to WSL remote VS Code (default)
|
||||||
|
--both Install to both local Windows and WSL remote
|
||||||
|
--list Print installed extension IDs (remote by default)
|
||||||
|
--export Write installed IDs to extensions.txt
|
||||||
|
--file PATH Use a different extension list file
|
||||||
|
--force Reinstall even if already present
|
||||||
|
-h, --help Show this help
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
bash install-vscode-extensions.sh
|
||||||
|
bash install-vscode-extensions.sh --both
|
||||||
|
bash install-vscode-extensions.sh --list
|
||||||
|
bash install-vscode-extensions.sh --export
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--local) TARGET="local" ;;
|
||||||
|
--remote) TARGET="remote" ;;
|
||||||
|
--both) TARGET="both" ;;
|
||||||
|
--list) TARGET="list" ;;
|
||||||
|
--export) TARGET="export" ;;
|
||||||
|
--file) shift; EXT_FILE="${1:?missing path for --file}" ;;
|
||||||
|
--force) FORCE=1 ;;
|
||||||
|
-h|--help) usage; exit 0 ;;
|
||||||
|
*) echo "Unknown option: $1" >&2; usage >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
find_code_cli() {
|
||||||
|
if command -v code >/dev/null 2>&1; then
|
||||||
|
command -v code
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
local candidate
|
||||||
|
for candidate in /mnt/c/Users/*/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code; do
|
||||||
|
if [[ -f "$candidate" ]]; then
|
||||||
|
echo "$candidate"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
remote_args() {
|
||||||
|
if [[ -n "${WSL_DISTRO_NAME:-}" ]]; then
|
||||||
|
printf '%s\0%s\0' --remote "wsl+${WSL_DISTRO_NAME,,}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run_code() {
|
||||||
|
"$CODE_CLI" "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
list_extensions() {
|
||||||
|
local scope=$1
|
||||||
|
local -a args=(--list-extensions)
|
||||||
|
if [[ "$scope" == "remote" ]]; then
|
||||||
|
local -a remote=()
|
||||||
|
while IFS= read -r -d '' arg; do
|
||||||
|
remote+=("$arg")
|
||||||
|
done < <(remote_args)
|
||||||
|
if [[ ${#remote[@]} -eq 0 ]]; then
|
||||||
|
echo "No WSL distro detected for remote listing." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
args+=("${remote[@]}")
|
||||||
|
fi
|
||||||
|
run_code "${args[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_extensions() {
|
||||||
|
local scope=$1
|
||||||
|
local -a remote=()
|
||||||
|
if [[ "$scope" == "remote" ]]; then
|
||||||
|
while IFS= read -r -d '' arg; do
|
||||||
|
remote+=("$arg")
|
||||||
|
done < <(remote_args)
|
||||||
|
if [[ ${#remote[@]} -eq 0 ]]; then
|
||||||
|
echo "No WSL distro detected; skipping remote install." >&2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
local line id installed=0 skipped=0 failed=0
|
||||||
|
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||||
|
line="${line%%#*}"
|
||||||
|
line="${line//[[:space:]]/}"
|
||||||
|
[[ -z "$line" ]] && continue
|
||||||
|
id="$line"
|
||||||
|
|
||||||
|
if [[ "$FORCE" -eq 0 ]] && list_extensions "$scope" | grep -Fxq "$id"; then
|
||||||
|
echo "skip [$scope] $id"
|
||||||
|
skipped=$((skipped + 1))
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "install [$scope] $id"
|
||||||
|
if [[ "$scope" == "remote" ]]; then
|
||||||
|
if run_code --install-extension "$id" "${remote[@]}" --force; then
|
||||||
|
installed=$((installed + 1))
|
||||||
|
else
|
||||||
|
echo "failed [$scope] $id" >&2
|
||||||
|
failed=$((failed + 1))
|
||||||
|
fi
|
||||||
|
elif run_code --install-extension "$id" --force; then
|
||||||
|
installed=$((installed + 1))
|
||||||
|
else
|
||||||
|
echo "failed [$scope] $id" >&2
|
||||||
|
failed=$((failed + 1))
|
||||||
|
fi
|
||||||
|
done < "$EXT_FILE"
|
||||||
|
|
||||||
|
echo "done [$scope]: installed=$installed skipped=$skipped failed=$failed"
|
||||||
|
[[ "$failed" -eq 0 ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
CODE_CLI=$(find_code_cli) || {
|
||||||
|
echo "VS Code CLI not found. Install VS Code and ensure 'code' is on PATH." >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$TARGET" in
|
||||||
|
list)
|
||||||
|
list_extensions remote
|
||||||
|
;;
|
||||||
|
export)
|
||||||
|
list_extensions remote > "$EXT_FILE"
|
||||||
|
echo "Wrote $(wc -l < "$EXT_FILE" | tr -d ' ') extensions to $EXT_FILE"
|
||||||
|
;;
|
||||||
|
local)
|
||||||
|
install_extensions local
|
||||||
|
;;
|
||||||
|
remote)
|
||||||
|
install_extensions remote
|
||||||
|
;;
|
||||||
|
both)
|
||||||
|
install_extensions local
|
||||||
|
install_extensions remote
|
||||||
|
;;
|
||||||
|
esac
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
../../../../vscode-server/.vscode-server/data/Machine/settings.json
|
||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
# .zshrc
|
||||||
|
|
||||||
|
[[ -f "$HOME/.var/app/com.visualstudio.code/data/../bin/env" ]] && . "$HOME/.var/app/com.visualstudio.code/data/../bin/env"
|
||||||
|
[[ -f "$HOME/.local/bin/env" ]] && . "$HOME/.local/bin/env"
|
||||||
|
|
||||||
|
export TIME_STYLE="long-iso"
|
||||||
|
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
export LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
|
if [[ ":$PATH:" != *":${HOME}/.local/bin:"* ]]; then
|
||||||
|
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
|
||||||
|
fi
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# Konsole-specific (optional)
|
||||||
|
export TERM=xterm-256color
|
||||||
|
|
||||||
|
# User specific aliases and functions
|
||||||
|
if [[ -d ~/.zshrc.d ]]; then
|
||||||
|
for rc in ~/.zshrc.d/*(N); do
|
||||||
|
[[ -f "$rc" ]] && source "$rc"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
unset rc
|
||||||
|
|
||||||
|
# >>> grok installer >>>
|
||||||
|
export PATH="$HOME/.grok/bin:$PATH"
|
||||||
|
fpath=("$HOME/.grok/completions/zsh" $fpath)
|
||||||
|
# <<< grok installer <<<
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ -o interactive ]] || return
|
||||||
|
|
||||||
|
# Delete key sends ESC[3~; without this binding zsh inserts "~" literally
|
||||||
|
[[ -n ${terminfo[kdch1]} ]] && bindkey "${terminfo[kdch1]}" delete-char
|
||||||
|
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/alias.bash
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/apt.bash
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/fonts.bash
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Git + colorful prompt
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
precmd_vcs_info() { vcs_info }
|
||||||
|
precmd_functions+=(precmd_vcs_info)
|
||||||
|
|
||||||
|
zstyle ':vcs_info:*' enable git
|
||||||
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
|
zstyle ':vcs_info:git:*' formats ' (%b%u%c)'
|
||||||
|
zstyle ':vcs_info:git:*' actionformats ' (%b%u%c)'
|
||||||
|
zstyle ':vcs_info:git:*' stagedstr ' +'
|
||||||
|
zstyle ':vcs_info:git:*' unstagedstr ' *'
|
||||||
|
|
||||||
|
setopt prompt_subst
|
||||||
|
# Bright green user@host (matches bash git.bash)
|
||||||
|
PROMPT='%B%F{46}%n@%m%b%f %F{51}%~%f%F{90}${vcs_info_msg_0_}%f $ '
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/mango.bash
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/ruff.bash
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/vscode.bash
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
../../bash/.bashrc.d/wsl.bash
|
||||||
Reference in New Issue
Block a user