Skip to content

Instantly share code, notes, and snippets.

View cesalazar's full-sized avatar
👾
404 - Status not found

Carlos E. Salazar cesalazar

👾
404 - Status not found
View GitHub Profile
@cesalazar
cesalazar / bash_strict_mode.md
Created April 22, 2024 23:58 — forked from mohanpedala/bash_strict_mode.md
set -e, -u, -o, -x pipefail explanation
@cesalazar
cesalazar / c
Created April 21, 2024 12:35
Open config files in $EDITOR
#!/bin/bash
#
# Provides easy access to editing config files.
files=
list_configs() {
printf "%s\n" "Configs available:" " "
sed -n '/case $i in/,/esac/p' "$0" \
@cesalazar
cesalazar / config.yaml
Last active April 23, 2024 08:06
My github-cli config with aliases
# The current version of the config schema
version: 1
# What protocol to use when performing git operations.
# Supported values: ssh, https
git_protocol: https
# What editor gh should run when creating issues, pull requests, etc.
# If blank, will refer to environment.
editor:
@cesalazar
cesalazar / .gitaliases
Last active April 21, 2024 12:13
My git aliases
# Use in ~/.gitconfig like this:
#
# [include]
# path = ~/.gitaliases
[alias]
# Attempt to write to the clipboard using xsel or xclip; fails silently
set-clipboard = !xsel -ib &> /dev/null || \
xclip -selection clipboard -in &> /dev/null
@cesalazar
cesalazar / config.js
Last active April 23, 2024 07:53
clipbread config
const { getClipboard } = require(`${process.mainModule.path}/utils`)
const { execSync } = require('child_process')
// Modify to your hearth's content!
// Function to run a command and return the output or error
const runCmd = (command) => {
try {
const output = execSync(command, { encoding: 'utf8' })
return output
@cesalazar
cesalazar / fix-qt.sh
Last active October 13, 2023 15:39
Fix qt after upgrading packages
#!/bin/bash
#
# Packages installed from AUR that use anything Qt related, fail to start after
# upgrading.
#
# So far this seems to be the solution, that I had googled now at least 3 times
# after breaking some apps:
# "Reinstall qt5-styleplugins from scratch. Do NOT use the cached download"
yay -S --answerclean All --answerdiff None --answeredit None \
@cesalazar
cesalazar / user-overrides.js
Created August 6, 2022 11:37 — forked from MagicalDrizzle/user-overrides.js
my personal overrides for every new firefox profile
/* my overrides */
// https://github.com/arkenfox/user.js/
/* override recipe: enable session restore ***/
/* 0102: set startup page [SETUP-CHROME]
* 0=blank, 1=home, 2=last visited page, 3=resume previous session
* [NOTE] Session Restore is cleared with history (2811, 2812), and not used in Private Browsing mode
* [SETTING] General>Startup>Restore previous session ***/
user_pref("browser.startup.page", 3);
/* 1003: disable storing extra session data [SETUP-CHROME]
@cesalazar
cesalazar / switch-screenlayout.sh
Last active March 22, 2022 17:39
Switch the layout of the connected monitors
#!/bin/bash
#
# ╔═════╗ ╔═══╗
# ║ S ║ ║ V ║ Screen Layout Switcher
# ╚═════╝ ║ ║
# ╔═════╗ ╚═══╝ Handle switching the layout of the connected monitors:
# ║ P ║ (S)econdary, (V)ertical, and (P)rimary
# ╚═════╝ Usage: ./switch-screenlayout.sh [1-4]
# Debug options
@cesalazar
cesalazar / auto-switch-node-version.zsh
Last active December 7, 2021 22:44
Automatically changes NodeJS version using `n` node package in zsh
# hooks onto `chpwd` with the official util `add-zsh-hook`
# `export N=false` to disable auto-switching versions
function auto-switch-node-version() {
# track if the version changed
local changed=false
# exit early
[[ ${N} == false || ! $(command -v n) ]] && return
# attempt to change the version based on the "engine" entry in package.json
@cesalazar
cesalazar / playerctl-notification.sh
Created August 30, 2021 00:37
Display playerctl's metadata in a notification
#!/bin/bash
#
# Display playerctl's metadata in a notification
# Debug options
# set -euxo pipefail
metadata=$(playerctl metadata)
notification_icon=${1}