Skip to content

Instantly share code, notes, and snippets.

View jonppenny's full-sized avatar

Jonathan Penny jonppenny

View GitHub Profile
@jonppenny
jonppenny / vite.config.mjs
Created July 1, 2025 07:47
Basic Vite config file
import { defineConfig } from 'vite';
export default defineConfig({
build: {
outDir: 'dist', // Set the output directory per project
rollupOptions: {
input: {
mainJS: 'assets/js/main.js',
mainSCSS: 'assets/scss/main.scss',
}
@jonppenny
jonppenny / .tern-config
Created May 18, 2025 20:17
.tern-config
{
"plugins": {
"node": {},
"es_modules": {}
},
"libs": [
"ecma5",
"ecma6"
],
"ecmaVersion": 6
@jonppenny
jonppenny / setup.txt
Last active April 16, 2025 15:29
Jetbrains GIT setup
Disable "Advanced Settings -> Enable commit tool window". This merges the "commit" and "git" panels and restores the "preview diff" toggle button for the panel.
Disable "Git -> Enable Staging Area." This will display your uncommited changes as a single list instead of staged vs unstaged.
Enable "Advanced Settings -> Toggle Commit Controls." This will add a "commit" button to the panel which toggles the per-file git commit checkboxes and commit message box in-place. (Actually kind-of cool)
Open the "Git" panel
Presumably you might set the view mode to "windowed"
Enable "Preview Diff"
This is for versions >= 2025.1
# Bigger history
set -g history-limit 10000
# Reload key
unbind R
bind R source-file ~/.tmux.conf
set -g default-command /bin/fish
set -g default-shell /bin/fish
@jonppenny
jonppenny / config
Last active May 28, 2025 18:46
Ghostty Config file
window-decoration = true
window-theme = dark
background-opacity = 1
command = "/bin/fish"
font-family = JetBrains Mono
font-style = Medium
font-style-bold = SemiBold
font-style-italic = Medium Italic
font-style-bold-italic = SemiBold Italic
font-size = 11
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc
"here is a more exotic version of my original Kwbd script
"delete the buffer; keep windows; create a scratch buffer if no buffers left
function s:Kwbd(kwbdStage)
if(a:kwbdStage == 1)
if(&modified)
let answer = confirm("This buffer has been modified. Are you sure you want to delete it?", "&Yes\n&No", 2)
if(answer != 1)
return
endif
endif
Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt -Theme ys
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineKeyHandler -Chord "Ctrl+RightArrow" -Function ForwardWord
Set-PSReadLineKeyHandler -Chord "Ctrl+LeftArrow" -Function BackwardWord
if status is-interactive
# Commands to run in interactive sessions can go here
end
set normal (set_color normal)
set magenta (set_color magenta)
set yellow (set_color yellow)
set green (set_color green)
set red (set_color red)
set gray (set_color -o black)
@jonppenny
jonppenny / fedora_dev_packages
Last active April 21, 2025 08:33
Fedora packages for development
sudo yum install make automake gcc gcc-c++ gtk4 gtk+ gtk4-devel pkg-config kernel-devel libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel openal-soft-devel openal-soft.i686 openal-soft.x86_64 gtk4-devel
sudo dnf install libratbag-ratbagd joystick-support ncurses-compat-libs ncurses-c++-libs ncurses-devel compat-ffmpeg28 ffmpeg-libs java-latest-openjdk-devel.x86_64
# Build-essential for RPM distros
sudo dnf install make automake gcc gcc-c++ kernel-devel
sudo dnf install alsa-lib-devel cmake glew glew-devel libatomic libevdev-devel libudev-devel openal-devel qt6-qtbase-devel qt6-qtbase-private-devel vulkan-devel pipewire-jack-audio-connection-kit-devel qt6-qtmultimedia-devel qt6-qtsvg-devel
# This should install everything above and more, might be a better option, can also run both anyway
sudo dnf groupinstall "Development Tools" "Development Libraries"
sudo dnf install qt6-qtbase-devel