My super cool nixos dots yay!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

:D

+585 -788
-199
assets/config/swayimgrc
··· 1 - # Swayimg configuration file. 2 - # vim: filetype=dosini 3 - 4 - ################################################################################ 5 - # General configuration 6 - ################################################################################ 7 - [general] 8 - # Mode at startup (viewer/gallery) 9 - mode = viewer 10 - # Window position (parent or absolute coordinates, e.g. 100,200) 11 - position = parent 12 - # Window size (fullscreen/parent/image, or absolute size, e.g. 800,600) 13 - size = parent 14 - # Action performed by SIGUSR1 signal (same format as for key bindings) 15 - sigusr1 = reload 16 - # Action performed by SIGUSR2 signal (same format as for key bindings) 17 - sigusr2 = next_file 18 - # Application ID and window class name 19 - app_id = swayimg 20 - 21 - ################################################################################ 22 - # Viewer mode configuration 23 - ################################################################################ 24 - [viewer] 25 - # Window background color (RGBA) 26 - window = #101010ff 27 - # Background for transparent images (grid/RGBA) 28 - transparency = grid 29 - # Default image scale (optimal/fit/width/height/fill/real) 30 - scale = optimal 31 - # Fix position of the image on the window surface (yes/no) 32 - fixed = yes 33 - # Anti-aliasing (yes/no) 34 - antialiasing = no 35 - # Run slideshow at startup (yes/no) 36 - slideshow = no 37 - # Slideshow image display time (seconds) 38 - slideshow_time = 3 39 - # Number of previously viewed images to store in cache 40 - history = 1 41 - # Number of preloaded images (read ahead) 42 - preload = 1 43 - 44 - ################################################################################ 45 - # Gallery mode configuration 46 - ################################################################################ 47 - [gallery] 48 - # Max size of the thumbnail (pixels) 49 - size = 200 50 - # Max number of thumbnails in cache, 0 to unlimit 51 - cache = 100 52 - # Fill the entire tile with thumbnail (yes/no) 53 - fill = yes 54 - # Use anti-aliasing for thumbnails (yes/no) 55 - antialiasing = no 56 - # Background color of the window (RGBA) 57 - window = #101010ff 58 - # Background color of the tile (RGBA) 59 - background = #202020ff 60 - # Background color of the selected tile (RGBA) 61 - select = #404040ff 62 - # Border color of the selected tile (RGBA) 63 - border = #101010ff 64 - # Shadow color of the selected tile (RGBA) 65 - shadow = #101010ff 66 - 67 - ################################################################################ 68 - # Image list configuration 69 - ################################################################################ 70 - [list] 71 - # Default order (none/alpha/reverse/random) 72 - order = alpha 73 - # Looping list of images (yes/no) 74 - loop = no 75 - # Read directories recursively (yes/no) 76 - recursive = no 77 - # Open all files in the start directory (yes/no) 78 - all = yes 79 - 80 - ################################################################################ 81 - # Font configuration 82 - ################################################################################ 83 - [font] 84 - # Font name 85 - name = monospace 86 - # Font size (pt) 87 - size = 14 88 - # Font color (RGBA) 89 - color = #ccccccff 90 - # Shadow color (RGBA) 91 - shadow = #000000a0 92 - 93 - ################################################################################ 94 - # Image meta info scheme (format, size, EXIF, etc) 95 - ################################################################################ 96 - [info] 97 - # Show on startup (yes/no) 98 - show = no 99 - # Timeout to hide info (seconds, 0 to always show) 100 - info_timeout = 5 101 - # Timeout to hide status message (seconds) 102 - status_timeout = 3 103 - 104 - # Display scheme for viewer mode (position = content) 105 - [info.viewer] 106 - top_left = +name,+format,+filesize,+imagesize,+exif 107 - top_right = index 108 - bottom_left = scale,frame 109 - bottom_right = status 110 - 111 - # Display scheme for gallery mode (position = content) 112 - [info.gallery] 113 - top_left = none 114 - top_right = none 115 - bottom_left = none 116 - bottom_right = name,status 117 - 118 - ################################################################################ 119 - # Viewer mode key binding configuration: key = action [parameters] 120 - ################################################################################ 121 - [keys.viewer] 122 - k = prev_file 123 - j = next_file 124 - F1 = help 125 - Home = first_file 126 - End = last_file 127 - Prior = prev_file 128 - Next = next_file 129 - Shift+d = prev_dir 130 - d = next_dir 131 - Shift+o = prev_frame 132 - o = next_frame 133 - c = skip_file 134 - Shift+s = slideshow 135 - s = animation 136 - f = fullscreen 137 - Return = mode 138 - Left = step_left 10 139 - Right = step_right 10 140 - Up = step_up 10 141 - Down = step_down 10 142 - Equal = zoom +10 143 - Plus = zoom +10 144 - Minus = zoom -10 145 - w = zoom width 146 - Shift+w = zoom height 147 - z = zoom fit 148 - Shift+z = zoom fill 149 - 0 = zoom real 150 - BackSpace = zoom optimal 151 - bracketleft = rotate_left 152 - bracketright = rotate_right 153 - m = flip_vertical 154 - Shift+m = flip_horizontal 155 - a = antialiasing 156 - r = reload 157 - i = info 158 - Shift+d = exec rm "%"; skip_file 159 - Escape = exit 160 - q = exit 161 - # Mouse related 162 - ScrollLeft = step_right 5 163 - ScrollRight = step_left 5 164 - ScrollUp = step_up 5 165 - ScrollDown = step_down 5 166 - Ctrl+ScrollUp = zoom +10 167 - Ctrl+ScrollDown = zoom -10 168 - Shift+ScrollUp = prev_file 169 - Shift+ScrollDown = next_file 170 - Alt+ScrollUp = prev_frame 171 - Alt+ScrollDown = next_frame 172 - 173 - ################################################################################ 174 - # Gallery mode key binding configuration: key = action [parameters] 175 - ################################################################################ 176 - [keys.gallery] 177 - F1 = help 178 - Home = first_file 179 - End = last_file 180 - Left = step_left 181 - Right = step_right 182 - Up = step_up 183 - Down = step_down 184 - Prior = page_up 185 - Next = page_down 186 - c = skip_file 187 - f = fullscreen 188 - Return = mode 189 - a = antialiasing 190 - r = reload 191 - i = info 192 - Shift+Delete = exec rm "%"; skip_file 193 - Escape = exit 194 - q = exit 195 - # Mouse related 196 - ScrollLeft = step_right 197 - ScrollRight = step_left 198 - ScrollUp = step_up 199 - ScrollDown = step_down
+325
assets/misc/bemoji
··· 1 + #!/usr/bin/env bash 2 + 3 + bm_version=0.4.0 4 + # Emoji default database location 5 + bm_db_location=${BEMOJI_DB_LOCATION:-"${XDG_DATA_HOME:-$HOME/.local/share}/bemoji"} 6 + # Setting custom emoji list file location: 7 + # BEMOJI_CUSTOM_LIST=/my/location/emojis.txt 8 + # Setting custom recent emoji history: 9 + # BEMOJI_HISTORY_LOCATION=/path/to/my/recents/directory 10 + bm_state_dir="${BEMOJI_HISTORY_LOCATION:-${XDG_STATE_HOME:-$HOME/.local/state}}" 11 + bm_history_file="${bm_state_dir}/bemoji-history.txt" 12 + 13 + # Command to run after user chooses an emoji 14 + bm_default_cmd="$BEMOJI_DEFAULT_CMD" 15 + 16 + # Newline after echo 17 + bm_echo_newline=${BEMOJI_ECHO_NEWLINE:-true} 18 + # Do not save choices 19 + bm_private_mode=${BEMOJI_PRIVATE_MODE:-false} 20 + # Do not sort results 21 + bm_limit_recent="$BEMOJI_LIMIT_RECENT" 22 + 23 + declare -A default_pickers=( 24 + ["bemenu"]="bemenu -p 🔍 -i -l 20" 25 + ["wofi"]="wofi -p 🔍 -i --show dmenu" 26 + ["rofi"]="rofi -p 🔍 -i -dmenu --kb-custom-1 "Alt+1" --kb-custom-2 "Alt+2"" 27 + ["dmenu"]="dmenu -p 🔍 -i -l 20" 28 + ["wmenu"]="wmenu -p 🔍 -i -l 20" 29 + ["ilia"]="ilia -n -p textlist -l 'Emoji' -i desktop-magnifier" 30 + ["fuzzel"]="fuzzel -d -p '🔍 '" 31 + ) 32 + 33 + # Report usage 34 + usage() { 35 + echo "Usage: $(basename "$0") [-t | -c | -e] [-f <filepath> ] [-p] [-P] [-D <choices>]" 1>&2 36 + echo 37 + echo "A simple emoji picker. Runs on bemenu/wofi/rofi/dmenu by default." 38 + echo "Invoked without arguments sends the picked emoji to the clipboard." 39 + echo 40 + echo " Command options (can be combined):" 41 + echo " -t, --type Simulate typing the emoji choice with the keyboard." 42 + echo " -c, --clip Send emoji choice to the clipboard. (default)" 43 + echo " -e, --echo Only echo out the picked emoji." 44 + echo "" 45 + echo " Other options:" 46 + echo " -n, --noline Do not print a newline after the picked emoji." 47 + echo " -p, --private Do not save picked emoji to recent history." 48 + echo " -P, --hist-limit <number> Limit number of recent emoji to display." 49 + echo " -D, --download <choice> Choose from default lists to download." 50 + echo " Valid choices: all|none|emoji|math|nerd (multiple choices possible)." 51 + echo " -f, --file <filepath> Use a custom emoji database. Can be a url which will be retrieved." 52 + echo " -v, --version Display current program version and directory configuration." 53 + echo " -h, --help Show this help." 54 + echo 55 + exit "$1" 56 + } 57 + 58 + version() { 59 + printf "v%s\ndatabase=%s\nhistory=%s\n" "$bm_version" "$bm_db_location" "$bm_history_file" 60 + exit 61 + } 62 + 63 + msg() { 64 + # Outputs a message to stderr, to be used for info, warning and error messages. 65 + printf "%s\n" "$1" >&2 66 + } 67 + 68 + parse_cli() { 69 + while getopts cD:ef:hnpP:tv-: arg "$@"; do 70 + case "$arg" in 71 + c) bm_cmds+=(_clipper) ;; 72 + D) _opt_set_download_list "${OPTARG}" ;; 73 + e) bm_cmds+=(cat) ;; 74 + f) _opt_set_custom_list "${OPTARG}" ;; 75 + h) usage 0 ;; 76 + n) bm_echo_newline=false ;; 77 + p) bm_private_mode=true ;; 78 + P) _opt_set_hist_limit "${OPTARG}" ;; 79 + t) bm_cmds+=(_typer) ;; 80 + v) version ;; 81 + -) 82 + LONG_OPTARG="${OPTARG#*=}" 83 + case "$OPTARG" in 84 + clip) bm_cmds+=(_clipper) ;; 85 + download=?*) _opt_set_download_list "${LONG_OPTARG}" ;; 86 + download*) 87 + _opt_set_download_list "${*:$OPTIND:1}" 88 + OPTIND=$((OPTIND + 1)) 89 + ;; 90 + echo) bm_cmds+=(cat) ;; 91 + file=?*) _opt_set_custom_list "${LONG_OPTARG}" ;; 92 + file*) 93 + _opt_set_custom_list "${*:$OPTIND:1}" 94 + OPTIND=$((OPTIND + 1)) 95 + ;; 96 + help) usage 0 ;; 97 + noline) bm_echo_newline=false ;; 98 + private) bm_private_mode=true ;; 99 + hist-limit=?*) _opt_set_hist_limit "${LONG_OPTARG}" ;; 100 + hist-limit*) 101 + _opt_set_hist_limit "${*:$OPTIND:1}" 102 + OPTIND=$((OPTIND + 1)) 103 + ;; 104 + type) bm_cmds+=(_typer) ;; 105 + version) version ;; 106 + '') break ;; 107 + *) 108 + echo "Unknown option: ${OPTARG}" 1>&2 109 + usage 1 110 + ;; 111 + esac 112 + ;; 113 + \?) exit 2 ;; 114 + esac 115 + done 116 + shift $((OPTIND - 1)) 117 + OPTIND=1 118 + } 119 + 120 + _opt_set_custom_list() { 121 + BEMOJI_CUSTOM_LIST="$1" 122 + } 123 + _opt_set_download_list() { 124 + BEMOJI_DOWNLOAD_LIST="$1" 125 + } 126 + _opt_set_hist_limit() { 127 + bm_limit_recent="$1" 128 + } 129 + 130 + prepare_db() { 131 + # Create list directory 132 + if [ ! -d "$bm_db_location" ]; then 133 + mkdir -p "$bm_db_location" 134 + fi 135 + 136 + if [ -n "$BEMOJI_DOWNLOAD_LIST" ]; then 137 + # Populate default lists 138 + if echo "$BEMOJI_DOWNLOAD_LIST" | grep -q -e 'none'; then 139 + msg "Not downloading a default emoji list." 140 + return 141 + elif echo "$BEMOJI_DOWNLOAD_LIST" | grep -q -e 'all'; then 142 + dl_default_emoji 143 + dl_math_symbols 144 + dl_nerd_symbols 145 + return 146 + else 147 + if echo "$BEMOJI_DOWNLOAD_LIST" | grep -q -e 'emoji'; then 148 + dl_default_emoji 149 + fi 150 + if echo "$BEMOJI_DOWNLOAD_LIST" | grep -q -e 'math'; then 151 + dl_math_symbols 152 + fi 153 + if echo "$BEMOJI_DOWNLOAD_LIST" | grep -q -e 'nerd'; then 154 + dl_nerd_symbols 155 + fi 156 + fi 157 + fi 158 + if [ -n "$(find "$bm_db_location" -maxdepth 0 -type d -empty 2>/dev/null)" ]; then 159 + dl_default_emoji 160 + fi 161 + } 162 + 163 + dl_default_emoji() { 164 + local emojis 165 + emojis=$(curl -sSL "https://unicode.org/Public/emoji/latest/emoji-test.txt") 166 + printf "%s" "$emojis" | sed -ne 's/^.*; fully-qualified.*# \(\S*\) \S* \(.*$\)/\1 \2/gp' >"$bm_db_location/emojis.txt" 167 + msg "Downloaded default emoji set." 168 + } 169 + dl_math_symbols() { 170 + curl -sSL "https://unicode.org/Public/math/latest/MathClassEx-15.txt" | 171 + grep -ve '^#' | cut -d';' -f3,7 | sed -e 's/;/ /' >"$bm_db_location/math.txt" 172 + msg "Downloaded math symbols set." 173 + } 174 + dl_nerd_symbols() { 175 + local nerd all 176 + nerd=$(curl -sSL "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/css/nerd-fonts-generated.css") 177 + all+=$(printf "%s" "$nerd" | sed -ne '/\.nf-/p' -e '/\s*[^_]content:/p' | sed -e 'N;s/^\.nf-\(.*\):before.* content: \"\\\(.*\)\";/\\U\2 \1/') 178 + echo -e "$all" >"$bm_db_location/nerdfont.txt" 179 + msg "Downloaded nerdfont symbols set." 180 + } 181 + 182 + gather_emojis() { 183 + local result 184 + if [ -n "$BEMOJI_CUSTOM_LIST" ] && [ -f "$BEMOJI_CUSTOM_LIST" ]; then 185 + result=$(cat "$BEMOJI_CUSTOM_LIST") 186 + elif [ -n "$BEMOJI_CUSTOM_LIST" ] && curl -fsSI "$BEMOJI_CUSTOM_LIST" >/dev/null 2>&1; then 187 + result=$(curl -sSL "$BEMOJI_CUSTOM_LIST") 188 + else 189 + result=$(cat "$bm_db_location"/*.txt) 190 + fi 191 + 192 + if [ -n "$bm_limit_recent" ] && [ "$bm_limit_recent" -eq 0 ]; then 193 + printf "%s" "$result" 194 + return 195 + fi 196 + 197 + printf "%s\n%s" "$(get_most_recent "$bm_limit_recent")" "$result" | cat -n - | sort -uk2 | sort -n | cut -f2- 198 + } 199 + 200 + get_most_recent() { 201 + local limit=${1} 202 + local recent_file="$bm_history_file" 203 + if [ ! -f "$recent_file" ]; then 204 + touch "$recent_file" 205 + fi 206 + # TODO: improve this messy line 207 + local result 208 + result=$(sed -e '/^$/d' "$recent_file" | 209 + sort | 210 + uniq -c | 211 + sort -k1rn | 212 + sed -e 's/^\s*//' | 213 + cut -d' ' -f2-) 214 + if [ -z "$limit" ]; then 215 + echo "$result" 216 + else 217 + echo "$result" | head -n "$limit" 218 + fi 219 + } 220 + 221 + add_to_recent() { 222 + if [ -z "$1" ]; then return; fi 223 + if [ ! -d "$bm_state_dir" ]; then 224 + mkdir -p "$bm_state_dir" 225 + fi 226 + echo "$1" >>"$bm_history_file" 227 + } 228 + 229 + # Set default clipboard util 230 + _clipper() { 231 + if [ -n "$BEMOJI_CLIP_CMD" ]; then 232 + # shellcheck disable=SC2068 233 + ${BEMOJI_CLIP_CMD[@]} 234 + elif [ -n "$WAYLAND_DISPLAY" ] && command -v wl-copy >/dev/null 2>&1; then 235 + wl-copy 236 + elif [ -n "$DISPLAY" ] && command -v xclip >/dev/null 2>&1; then 237 + xclip -selection clipboard 238 + elif [ -n "$DISPLAY" ] && command -v xsel >/dev/null 2>&1; then 239 + xsel -b 240 + else 241 + msg "No suitable clipboard tool found." 242 + exit 1 243 + fi 244 + } 245 + 246 + # Set default typing util 247 + _typer() { 248 + local totype 249 + totype=$(cat -) 250 + 251 + if [ -n "$BEMOJI_TYPE_CMD" ]; then 252 + # shellcheck disable=SC2068 253 + ${BEMOJI_TYPE_CMD[@]} "$totype" 254 + return 255 + fi 256 + 257 + if [ -n "$WAYLAND_DISPLAY" ] && command -v wl-ime-type >/dev/null 2>&1; then 258 + wl-ime-type "$totype" 259 + elif [ -n "$DISPLAY" ] && command -v xdotool >/dev/null 2>&1; then 260 + xdotool type --delay 30 "$totype" 261 + else 262 + msg "No suitable typing tool found." 263 + exit 1 264 + fi 265 + } 266 + 267 + # Set default picker util 268 + _picker() { 269 + if [ -n "$BEMOJI_PICKER_CMD" ]; then 270 + eval "${BEMOJI_PICKER_CMD[*]}" 271 + return 272 + fi 273 + 274 + for tool in "${!default_pickers[@]}"; do 275 + if command -v "$tool" >/dev/null 2>&1; then 276 + eval "${default_pickers[$tool]}" 277 + return 278 + fi 279 + done 280 + 281 + msg "No suitable picker tool found." 282 + exit 1 283 + } 284 + 285 + parse_cli "$@" 286 + 287 + [ -n "$BEMOJI_CUSTOM_LIST" ] || prepare_db 288 + result=$(gather_emojis | _picker) 289 + exit_value="$?" 290 + [ "$bm_private_mode" = true ] || add_to_recent "$result" 291 + result=$(echo "$result" | grep -o '^\S\+' | tr -d '\n') 292 + 293 + printout() { # $1=emoji 294 + if [ "$bm_echo_newline" = true ]; then 295 + printf "%s\n" "$*" 296 + else 297 + printf "%s" "$*" 298 + fi 299 + } 300 + 301 + case "$exit_value" in 302 + 1) 303 + exit 1 304 + ;; 305 + 0) 306 + if [ ${#bm_cmds[@]} -eq 0 ]; then 307 + if [ -n "$bm_default_cmd" ]; then 308 + # shellcheck disable=SC2068 309 + printout "$result" | ${bm_default_cmd[@]} 310 + exit 311 + fi 312 + bm_cmds+=(_clipper) 313 + fi 314 + for cmd in "${bm_cmds[@]}"; do 315 + printout "$result" | "$cmd" 316 + done 317 + ;; 318 + 10) 319 + printout "$result" | _clipper 320 + ;; 321 + 11) 322 + printout "$result" | _typer 323 + ;; 324 + esac 325 + exit
+112 -129
flake.lock
··· 49 49 "base16-fish": { 50 50 "flake": false, 51 51 "locked": { 52 - "lastModified": 1622559957, 53 - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", 52 + "lastModified": 1754405784, 53 + "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", 54 54 "owner": "tomyun", 55 55 "repo": "base16-fish", 56 - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", 56 + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", 57 57 "type": "github" 58 58 }, 59 59 "original": { 60 60 "owner": "tomyun", 61 61 "repo": "base16-fish", 62 + "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", 62 63 "type": "github" 63 64 } 64 65 }, ··· 95 96 "type": "github" 96 97 } 97 98 }, 98 - "elephant": { 99 - "inputs": { 100 - "nixpkgs": "nixpkgs", 101 - "systems": "systems" 102 - }, 103 - "locked": { 104 - "lastModified": 1760122338, 105 - "narHash": "sha256-pv3yvfJ3MHhBrG6W+BYI+wuEl6FOdw6uYFqq4gYD4U4=", 106 - "owner": "abenz1267", 107 - "repo": "elephant", 108 - "rev": "1bc6a4075f129674b0980beadc0b3b506a335dc7", 109 - "type": "github" 110 - }, 111 - "original": { 112 - "owner": "abenz1267", 113 - "repo": "elephant", 114 - "type": "github" 115 - } 116 - }, 117 99 "firefox-gnome-theme": { 118 100 "flake": false, 119 101 "locked": { ··· 130 112 "type": "github" 131 113 } 132 114 }, 115 + "fjordlauncher": { 116 + "inputs": { 117 + "libnbtplusplus": "libnbtplusplus", 118 + "nixpkgs": "nixpkgs" 119 + }, 120 + "locked": { 121 + "lastModified": 1755977907, 122 + "narHash": "sha256-OekJhGvxoSqOeHcbP8+N9cbLuG4EGVnePuYcE7oI8PM=", 123 + "owner": "hero-persson", 124 + "repo": "FjordLauncherUnlocked", 125 + "rev": "f41634f748b3922ce00e7e90bf206a990cca2fde", 126 + "type": "github" 127 + }, 128 + "original": { 129 + "owner": "hero-persson", 130 + "repo": "FjordLauncherUnlocked", 131 + "type": "github" 132 + } 133 + }, 133 134 "flake-compat": { 134 135 "flake": false, 135 136 "locked": { 136 - "lastModified": 1747046372, 137 - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 137 + "lastModified": 1761588595, 138 + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", 138 139 "owner": "edolstra", 139 140 "repo": "flake-compat", 140 - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 141 + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", 141 142 "type": "github" 142 143 }, 143 144 "original": { ··· 207 208 ] 208 209 }, 209 210 "locked": { 210 - "lastModified": 1760130406, 211 - "narHash": "sha256-GKMwBaFRw/C1p1VtjDz4DyhyzjKUWyi1K50bh8lgA2E=", 211 + "lastModified": 1763228015, 212 + "narHash": "sha256-1rYieMVUyZ3kK/cBIr8mOusxrOEJ1/+2MsOg0oJ7b3A=", 212 213 "owner": "nix-community", 213 214 "repo": "home-manager", 214 - "rev": "d305eece827a3fe317a2d70138f53feccaf890a1", 215 + "rev": "96156a9e86281c4bfc451236bc2ddfe4317e6f39", 215 216 "type": "github" 216 217 }, 217 218 "original": { ··· 228 229 ] 229 230 }, 230 231 "locked": { 231 - "lastModified": 1752603129, 232 - "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", 232 + "lastModified": 1762964643, 233 + "narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=", 233 234 "owner": "nix-community", 234 235 "repo": "home-manager", 235 - "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", 236 + "rev": "827f2a23373a774a8805f84ca5344654c31f354b", 236 237 "type": "github" 237 238 }, 238 239 "original": { ··· 241 242 "type": "github" 242 243 } 243 244 }, 245 + "libnbtplusplus": { 246 + "flake": false, 247 + "locked": { 248 + "lastModified": 1699286814, 249 + "narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=", 250 + "owner": "PrismLauncher", 251 + "repo": "libnbtplusplus", 252 + "rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad", 253 + "type": "github" 254 + }, 255 + "original": { 256 + "owner": "PrismLauncher", 257 + "repo": "libnbtplusplus", 258 + "type": "github" 259 + } 260 + }, 244 261 "niri": { 245 262 "inputs": { 246 263 "niri-stable": "niri-stable", ··· 251 268 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 252 269 }, 253 270 "locked": { 254 - "lastModified": 1760121522, 255 - "narHash": "sha256-8SGgpcZsMZIqFU+J/1OwebC/px8sgx5YYHNw1XkBM98=", 271 + "lastModified": 1763126448, 272 + "narHash": "sha256-LVYJJObvkWwR8QB/Srr6Rks+Fw2lYvnRNOH0etV9DM8=", 256 273 "owner": "sodiboo", 257 274 "repo": "niri-flake", 258 - "rev": "17dbedb88a21142c41d120f139e2870bc56bb5f4", 275 + "rev": "add7bcf2925547e180cc2fe6d5f4b5e7c579d086", 259 276 "type": "github" 260 277 }, 261 278 "original": { ··· 284 301 "niri-unstable": { 285 302 "flake": false, 286 303 "locked": { 287 - "lastModified": 1759395653, 288 - "narHash": "sha256-sv9J1z6CrTPf9lRJLyCN90fZVdQz7LFeX7pIlInH8BQ=", 304 + "lastModified": 1763014447, 305 + "narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=", 289 306 "owner": "YaLTeR", 290 307 "repo": "niri", 291 - "rev": "ba6e5e082a79901dc89b0d49c5da1b769d652aec", 308 + "rev": "a52df533c4694b5ed0a04140af60fd26146df911", 292 309 "type": "github" 293 310 }, 294 311 "original": { ··· 305 322 ] 306 323 }, 307 324 "locked": { 308 - "lastModified": 1759833546, 309 - "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=", 325 + "lastModified": 1762908663, 326 + "narHash": "sha256-HqdYfzBaidYX+EYAcXDFCggXJPZBv2fusMwhc7/4+cI=", 310 327 "owner": "nix-community", 311 328 "repo": "NixOS-WSL", 312 - "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730", 329 + "rev": "debc562c48c445f9f08778ecb9fc6b35197623ad", 313 330 "type": "github" 314 331 }, 315 332 "original": { ··· 321 338 }, 322 339 "nixpkgs": { 323 340 "locked": { 324 - "lastModified": 1757068644, 325 - "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", 341 + "lastModified": 1743583204, 342 + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", 326 343 "owner": "NixOS", 327 344 "repo": "nixpkgs", 328 - "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", 345 + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", 329 346 "type": "github" 330 347 }, 331 348 "original": { ··· 337 354 }, 338 355 "nixpkgs-stable": { 339 356 "locked": { 340 - "lastModified": 1759994382, 341 - "narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=", 357 + "lastModified": 1763049705, 358 + "narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=", 342 359 "owner": "NixOS", 343 360 "repo": "nixpkgs", 344 - "rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7", 361 + "rev": "3acb677ea67d4c6218f33de0db0955f116b7588c", 345 362 "type": "github" 346 363 }, 347 364 "original": { ··· 369 386 }, 370 387 "nixpkgs_2": { 371 388 "locked": { 372 - "lastModified": 1760038930, 373 - "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=", 389 + "lastModified": 1762977756, 390 + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", 374 391 "owner": "NixOS", 375 392 "repo": "nixpkgs", 376 - "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", 393 + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", 377 394 "type": "github" 378 395 }, 379 396 "original": { ··· 385 402 }, 386 403 "nixpkgs_3": { 387 404 "locked": { 388 - "lastModified": 1760038930, 389 - "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=", 405 + "lastModified": 1762977756, 406 + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", 390 407 "owner": "NixOS", 391 408 "repo": "nixpkgs", 392 - "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", 409 + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", 393 410 "type": "github" 394 411 }, 395 412 "original": { ··· 417 434 }, 418 435 "nixpkgs_5": { 419 436 "locked": { 420 - "lastModified": 1754340878, 421 - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 437 + "lastModified": 1761236834, 438 + "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", 422 439 "owner": "nixos", 423 440 "repo": "nixpkgs", 424 - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 441 + "rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1", 425 442 "type": "github" 426 443 }, 427 444 "original": { ··· 433 450 }, 434 451 "nixpkgs_6": { 435 452 "locked": { 436 - "lastModified": 1757068644, 437 - "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", 453 + "lastModified": 1760038930, 454 + "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=", 438 455 "owner": "NixOS", 439 456 "repo": "nixpkgs", 440 - "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", 457 + "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", 441 458 "type": "github" 442 459 }, 443 460 "original": { ··· 449 466 }, 450 467 "nixpkgs_7": { 451 468 "locked": { 452 - "lastModified": 1756787288, 453 - "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", 454 - "owner": "NixOS", 469 + "lastModified": 1754340878, 470 + "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", 471 + "owner": "nixos", 455 472 "repo": "nixpkgs", 456 - "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", 473 + "rev": "cab778239e705082fe97bb4990e0d24c50924c04", 457 474 "type": "github" 458 475 }, 459 476 "original": { 460 - "owner": "NixOS", 461 - "ref": "nixos-unstable", 477 + "owner": "nixos", 478 + "ref": "nixpkgs-unstable", 462 479 "repo": "nixpkgs", 463 480 "type": "github" 464 481 } 465 482 }, 466 483 "nixpkgs_8": { 467 484 "locked": { 468 - "lastModified": 1755615617, 469 - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", 485 + "lastModified": 1762977756, 486 + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", 470 487 "owner": "nixos", 471 488 "repo": "nixpkgs", 472 - "rev": "20075955deac2583bb12f07151c2df830ef346b4", 489 + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", 473 490 "type": "github" 474 491 }, 475 492 "original": { ··· 519 536 "root": { 520 537 "inputs": { 521 538 "apple-fonts": "apple-fonts", 522 - "elephant": "elephant", 539 + "fjordlauncher": "fjordlauncher", 523 540 "home-manager": "home-manager", 524 541 "niri": "niri", 525 542 "nixos-wsl": "nixos-wsl", ··· 527 544 "nixpkgs-stable": "nixpkgs-stable_2", 528 545 "stylix": "stylix", 529 546 "treefmt-nix": "treefmt-nix", 530 - "walker": "walker", 531 547 "wallpapers": "wallpapers", 532 548 "wl-ime-type": "wl-ime-type", 533 549 "zen-browser": "zen-browser" ··· 628 644 "gnome-shell": "gnome-shell", 629 645 "nixpkgs": "nixpkgs_4", 630 646 "nur": "nur", 631 - "systems": "systems_2", 647 + "systems": "systems", 632 648 "tinted-foot": "tinted-foot", 633 649 "tinted-kitty": "tinted-kitty", 634 650 "tinted-schemes": "tinted-schemes", ··· 636 652 "tinted-zed": "tinted-zed" 637 653 }, 638 654 "locked": { 639 - "lastModified": 1759690047, 640 - "narHash": "sha256-Vlpa0d1xOgPO9waHwxJNi6LcD2PYqB3EjwLRtSxXlHc=", 655 + "lastModified": 1762264356, 656 + "narHash": "sha256-QVfC53Ri+8n3e7Ujx9kq6all3+TLBRRPRnc6No5qY5w=", 641 657 "owner": "danth", 642 658 "repo": "stylix", 643 - "rev": "09022804b2bcd217f3a41a644d26b23d30375d12", 659 + "rev": "647bb8dd96a206a1b79c4fd714affc88b409e10b", 644 660 "type": "github" 645 661 }, 646 662 "original": { ··· 651 667 }, 652 668 "systems": { 653 669 "locked": { 654 - "lastModified": 1689347949, 655 - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 656 - "owner": "nix-systems", 657 - "repo": "default-linux", 658 - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 659 - "type": "github" 660 - }, 661 - "original": { 662 - "owner": "nix-systems", 663 - "repo": "default-linux", 664 - "type": "github" 665 - } 666 - }, 667 - "systems_2": { 668 - "locked": { 669 670 "lastModified": 1681028828, 670 671 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 671 672 "owner": "nix-systems", ··· 679 680 "type": "github" 680 681 } 681 682 }, 682 - "systems_3": { 683 - "locked": { 684 - "lastModified": 1689347949, 685 - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 686 - "owner": "nix-systems", 687 - "repo": "default-linux", 688 - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 689 - "type": "github" 690 - }, 691 - "original": { 692 - "owner": "nix-systems", 693 - "repo": "default-linux", 694 - "type": "github" 695 - } 696 - }, 697 683 "tinted-foot": { 698 684 "flake": false, 699 685 "locked": { ··· 780 766 "nixpkgs": "nixpkgs_5" 781 767 }, 782 768 "locked": { 783 - "lastModified": 1760120816, 784 - "narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=", 769 + "lastModified": 1762938485, 770 + "narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=", 785 771 "owner": "numtide", 786 772 "repo": "treefmt-nix", 787 - "rev": "761ae7aff00907b607125b2f57338b74177697ed", 773 + "rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", 788 774 "type": "github" 789 775 }, 790 776 "original": { ··· 793 779 "type": "github" 794 780 } 795 781 }, 796 - "walker": { 782 + "treefmt-nix_2": { 797 783 "inputs": { 798 - "elephant": [ 799 - "elephant" 800 - ], 801 - "nixpkgs": "nixpkgs_6", 802 - "systems": "systems_3" 784 + "nixpkgs": "nixpkgs_7" 803 785 }, 804 786 "locked": { 805 - "lastModified": 1760002616, 806 - "narHash": "sha256-oUgvmPai5TXdKGAvmXO7+flopqptWccrohJjTmXJUfQ=", 807 - "owner": "abenz1267", 808 - "repo": "walker", 809 - "rev": "98671afb9e27ef34f30d991a147e190907a0bf9f", 787 + "lastModified": 1760120816, 788 + "narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=", 789 + "owner": "numtide", 790 + "repo": "treefmt-nix", 791 + "rev": "761ae7aff00907b607125b2f57338b74177697ed", 810 792 "type": "github" 811 793 }, 812 794 "original": { 813 - "owner": "abenz1267", 814 - "repo": "walker", 795 + "owner": "numtide", 796 + "repo": "treefmt-nix", 815 797 "type": "github" 816 798 } 817 799 }, ··· 832 814 }, 833 815 "wl-ime-type": { 834 816 "inputs": { 835 - "nixpkgs": "nixpkgs_7" 817 + "nixpkgs": "nixpkgs_6", 818 + "treefmt-nix": "treefmt-nix_2" 836 819 }, 837 820 "locked": { 838 - "lastModified": 1757195406, 839 - "narHash": "sha256-D8KeRPEnrJ8O3y7mZSvfp0/zn7cYdjw5/gX46Wve6j8=", 821 + "lastModified": 1760180368, 822 + "narHash": "sha256-IOj3Os7j+iSpouruRcc5X1neEBH3gQu8uO3UKYX++Yc=", 840 823 "owner": "psynyde", 841 824 "repo": "wl-ime-type", 842 - "rev": "85e13a31f56b1af149f7b6701b1fd8c4cfab0bb7", 825 + "rev": "3868360001ded4689853db25c34964879b23fed8", 843 826 "type": "github" 844 827 }, 845 828 "original": { ··· 868 851 "xwayland-satellite-unstable": { 869 852 "flake": false, 870 853 "locked": { 871 - "lastModified": 1759707084, 872 - "narHash": "sha256-0pkftKs6/LReNvxw7DVTN2AJEheZVgyeK0Aarbagi70=", 854 + "lastModified": 1762747449, 855 + "narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=", 873 856 "owner": "Supreeeme", 874 857 "repo": "xwayland-satellite", 875 - "rev": "a9188e70bd748118b4d56a529871b9de5adb9988", 858 + "rev": "6338574bc5c036487486acde264f38f39ea15fad", 876 859 "type": "github" 877 860 }, 878 861 "original": { ··· 887 870 "nixpkgs": "nixpkgs_8" 888 871 }, 889 872 "locked": { 890 - "lastModified": 1759965431, 891 - "narHash": "sha256-HvXr+rOkSZeseOYCruuMKMAUedcDkHOuYpFbnlIPs8Y=", 873 + "lastModified": 1763214567, 874 + "narHash": "sha256-BDRSWvXGoKq1oHSjl+HLAq7I8ZL90ZhW3fDB3cl7LJk=", 892 875 "owner": "0xc000022070", 893 876 "repo": "zen-browser-flake", 894 - "rev": "391a133511ad7e09651b9c3939d8cf8d379766b1", 877 + "rev": "0bfb3939813d5da9e198de6d4cc1e2afc38a7021", 895 878 "type": "github" 896 879 }, 897 880 "original": {
+5 -11
flake.nix
··· 2 2 inputs = { 3 3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 4 4 nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11"; 5 + treefmt-nix.url = "github:numtide/treefmt-nix"; 6 + 5 7 home-manager = { 6 8 url = "github:nix-community/home-manager"; 7 9 inputs.nixpkgs.follows = "nixpkgs"; 8 10 }; 9 11 stylix.url = "github:danth/stylix"; 10 - treefmt-nix.url = "github:numtide/treefmt-nix"; 11 - 12 - zen-browser.url = "github:0xc000022070/zen-browser-flake"; 13 - 14 - elephant.url = "github:abenz1267/elephant"; 15 - walker = { 16 - url = "github:abenz1267/walker"; 17 - inputs.elephant.follows = "elephant"; 18 - }; 19 - 20 12 niri.url = "github:sodiboo/niri-flake"; 13 + zen-browser.url = "github:0xc000022070/zen-browser-flake"; 14 + wl-ime-type.url = "github:psynyde/wl-ime-type"; 21 15 22 16 nixos-wsl = { 23 17 url = "github:nix-community/NixOS-WSL/main"; ··· 28 22 inputs.nixpkgs.follows = "nixpkgs"; 29 23 }; 30 24 31 - wl-ime-type.url = "github:psynyde/wl-ime-type"; 25 + fjordlauncher.url = "github:hero-persson/FjordLauncherUnlocked"; 32 26 wallpapers.url = "git+https://codeberg.org/psynyde/wallpapers"; 33 27 }; 34 28
+1
home/psynyde/cli/editors.nix
··· 48 48 }; 49 49 normal = { 50 50 "space"."w" = ":bc"; 51 + "K" = "hover"; 51 52 }; 52 53 }; 53 54 };
+13 -9
home/psynyde/cli/git.nix
··· 7 7 programs = { 8 8 git = { 9 9 enable = true; 10 - delta.enable = true; 11 - 12 - userName = "psynyde"; 13 - userEmail = "pxynyde@proton.me"; 14 - signing = { 15 - key = "75D559AB752F47CEB350BE2372BB0F6BBDB8A5C2"; 16 - signByDefault = true; 17 - }; 18 - extraConfig = { 10 + settings = { 11 + user = { 12 + name = "psynyde"; 13 + email = "pxynyde@proton.me"; 14 + }; 19 15 init = { 20 16 defaultBranch = "master"; 21 17 }; 22 18 core.editor = "nvim"; 23 19 pull.rebase = false; 24 20 }; 21 + signing = { 22 + key = "75D559AB752F47CEB350BE2372BB0F6BBDB8A5C2"; 23 + signByDefault = true; 24 + }; 25 + }; 26 + delta = { 27 + enable = true; 28 + enableGitIntegration = true; 25 29 }; 26 30 27 31 jujutsu = {
+37 -4
home/psynyde/cli/misc.nix
··· 1 1 { pkgs, config, ... }: 2 2 { 3 - stylix.targets.bat.enable = false; 3 + stylix.targets = { 4 + bat.enable = false; 5 + fzf.enable = false; 6 + }; 4 7 programs = { 5 8 eza.enable = true; 6 9 fd.enable = true; ··· 11 14 enable = true; 12 15 enableZshIntegration = true; 13 16 changeDirWidgetCommand = "fd --type d"; 17 + defaultOptions = [ 18 + "--border=rounded" 19 + "--border-label=''" 20 + "--preview-window=border-rounded" 21 + "--prompt='> '" 22 + "--marker='>'" 23 + "--pointer='◆'" 24 + "--separator='─'" 25 + "--scrollbar='│'" 26 + ]; 27 + colors = { 28 + fg = "#d0d0d0"; 29 + "fg+" = "#d0d0d0"; 30 + bg = "#101010"; 31 + "bg+" = "#151515"; 32 + hl = "#7788AA"; 33 + "hl+" = "#6f8595"; 34 + info = "#afaf87"; 35 + marker = "#789978"; 36 + prompt = "#e64a6b"; 37 + spinner = "#b86cd4"; 38 + pointer = "#b86cd4"; 39 + header = "#87afaf"; 40 + border = "#262626"; 41 + label = "#aeaeae"; 42 + query = "#d9d9d9"; 43 + }; 14 44 }; 15 45 bat = { 16 46 enable = true; ··· 37 67 sessionVariables = { 38 68 EZA_COLORS = "ex=38;2;120;153;120:fi=38;2;204;204;204:di=38;2;85;85;85:b0=38;2;230;74;107:or=38;2;230;74;107:ln=38;2;111;133;149:lp=38;2;111;133;149:lc=38;2;111;133;149:lm=38;2;111;133;149:bd=38;2;119;136;170:cd=38;2;119;136;170:pi=38;2;119;136;170:so=38;2;119;136;170:ur=38;2;122;122;122:uw=38;2;122;122;122:ux=38;2;122;122;122:ue=38;2;122;122;122:gr=38;2;122;122;122:gw=38;2;122;122;122:gx=38;2;122;122;122:tr=38;2;122;122;122:tw=38;2;122;122;122:tx=38;2;122;122;122:su=38;2;122;122;122:sf=38;2;122;122;122:xa=38;2;122;122;122:hd=38;2;68;68;68:bl=38;2;122;122;122:cc=38;2;122;122;122:da=38;2;122;122;122:in=38;2;122;122;122:xx=38;2;122;122;122:ga=38;2;120;153;120:gd=38;2;230;155;123:gm=38;2;119;136;170:gv=38;2;119;136;170:gt=38;2;119;136;170:df=38;2;122;122;122:ds=38;2;122;122;122:sb=38;2;85;85;85:sn=38;2;170;170;170:uu=38;2;85;85;85:un=38;2;85;85;85:gu=38;2;85;85;85:gn=38;2;85;85;85:sc=38;2;204;204;204:bu=38;2;204;204;204:cm=38;2;122;122;122:tm=38;2;122;122;122:co=38;2;122;122;122:do=38;2;122;122;122:cr=38;2;230;155;123:im=38;2;122;122;122:lo=38;2;122;122;122:mu=38;2;122;122;122:vi=38;2;122;122;122:mp=38;2;122;122;122"; 39 69 }; 40 - file.".config/swayimg/config".source = ./../../../assets/config/swayimgrc; 41 70 42 71 packages = with pkgs; [ 43 72 man-pages ··· 49 78 gpu-screen-recorder-gtk 50 79 51 80 gemini-cli 81 + opencode 52 82 53 83 typst 54 84 tinymist ··· 56 86 57 87 wget 58 88 unzip 59 - ouch 89 + (ouch.override { 90 + enableUnfree = true; 91 + }) 60 92 curl 61 93 # curl-impersonate 62 94 fastfetch ··· 66 98 htop 67 99 gping 68 100 activate-linux 69 - swayimg 101 + qimgv 70 102 71 103 moproxy 104 + (writeShellScriptBin "bemoji" (builtins.readFile ./../../../assets/misc/bemoji)) 72 105 (writeShellScriptBin "proxy-toggle" '' 73 106 RED='\033[0;31m' 74 107 GREEN='\033[0;32m'
+3 -3
home/psynyde/cli/zsh.nix
··· 85 85 86 86 plugins = [ 87 87 { 88 - name = "zsh-fast-syntax-highlighting"; 89 - src = pkgs.zsh-fast-syntax-highlighting; 90 - file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh"; 88 + name = "zsh-f-sy-h"; 89 + src = pkgs.zsh-f-sy-h; 90 + file = "share/zsh/site-functions/F-Sy-H.plugin.zsh"; 91 91 } 92 92 { 93 93 name = "zsh-autopair";
+2 -10
home/psynyde/home.nix
··· 14 14 15 15 nix.settings = { 16 16 # builders-use-substitutes = true; 17 + trusted-substituters = [ "https://unmojang.cachix.org" ]; 17 18 substituters = [ 18 19 "https://cache.nixos.org?priority=10" 19 20 "https://nix-community.cachix.org" 20 - "https://walker.cachix.org" 21 - "https://walker-git.cachix.org" 22 21 ]; 23 22 trusted-public-keys = [ 24 23 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 25 24 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" 26 - "walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM=" 27 - "walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM=" 28 - ]; 29 - extra-substituters = [ 30 - "https://anyrun.cachix.org" 31 - ]; 32 - extra-trusted-public-keys = [ 33 - "anyrun.cachix.org-1:pqbobmoji7nklsumv25u9qha9btjk65/c8vno3p346s=" 25 + "unmojang.cachix.org-1:OfHnbBNduZ6Smx9oNbLFbYyvOWSoxb2uPcnXPj4EDQY=" 34 26 ]; 35 27 }; 36 28
+6 -3
home/psynyde/programs/packages.nix
··· 42 42 keepassxc 43 43 qbittorrent 44 44 signal-desktop-bin 45 - obsidian 45 + # obsidian 46 46 telegram-desktop 47 47 equibop 48 + vesktop 48 49 (discord.override { 49 50 withOpenASAR = true; # can do this here too 50 51 withVencord = true; 51 52 }) 52 53 halloy 53 - calibre 54 + # calibre 54 55 55 56 # imhex 56 57 57 58 mindustry-wayland 58 59 59 - inputs.zen-browser.packages."${system}".default 60 + inputs.zen-browser.packages."${stdenv.hostPlatform.system}".default 60 61 brave 62 + 63 + inputs.fjordlauncher.packages.${stdenv.hostPlatform.system}.fjordlauncher 61 64 ]; 62 65 }; 63 66 }
+1 -1
home/psynyde/system/default.nix
··· 7 7 ./swaync.nix 8 8 ./theme.nix 9 9 ./waybar 10 - ./walker.nix 11 10 ./xdg.nix 12 11 ./niri 12 + ./fuzzel.nix 13 13 ]; 14 14 }
+1
home/psynyde/system/font.nix
··· 2 2 { 3 3 home.packages = with pkgs; [ 4 4 font-manager 5 + source-sans-pro 5 6 noto-fonts 6 7 noto-fonts-cjk-sans 7 8 fira-math
+46
home/psynyde/system/fuzzel.nix
··· 1 + { pkgs, ... }: 2 + { 3 + stylix.targets.fuzzel.enable = false; 4 + programs.fuzzel = { 5 + enable = true; 6 + settings = { 7 + main = { 8 + font = "Maple Mono NF:size=12"; 9 + icons-enabled = false; 10 + prompt = "\"$ \""; 11 + terminal = "${pkgs.foot}/bin/footclient -e"; 12 + dpi-aware = true; 13 + use-bold = false; 14 + inner-pad = 15; 15 + vertical-pad = 20; 16 + horizontal-pad = 40; 17 + anchor = "center"; 18 + }; 19 + 20 + border = { 21 + width = 5; 22 + radius = 0; 23 + }; 24 + 25 + colors = { 26 + background = "101010ff"; 27 + border = "151515ff"; 28 + text = "555555ff"; 29 + match = "6f8595ff"; 30 + selection = "151515ff"; 31 + selection-text = "deeeedff"; 32 + selection-match = "6f8595ff"; 33 + prompt = "666666ff"; 34 + input = "666666ff"; 35 + }; 36 + 37 + key-bindings = { 38 + delete-line-forward = "none"; 39 + next = "Down Control+j"; 40 + prev = "Up Control+k"; 41 + # next-page = "Right Control+l"; 42 + # prev-page = "Left Control+h"; 43 + }; 44 + }; 45 + }; 46 + }
+1 -1
home/psynyde/system/niri/applications.nix
··· 4 4 browser = "zen"; 5 5 terminal = "${pkgs.foot}/bin/footclient"; 6 6 fileManager = "${pkgs.xfce.thunar}/bin/thunar"; 7 - appLauncher = "walker"; 7 + appLauncher = "${pkgs.fuzzel}/bin/fuzzel"; 8 8 9 9 screenshotArea = "${pkgs.bash}/bin/bash -c '${pkgs.grim}/bin/grim -g \"\\\$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy'"; 10 10 screenshotWindow = "${pkgs.bash}/bin/bash -c '${pkgs.grim}/bin/grim -g \"\\\$(${pkgs.slurp}/bin/slurp -w)\" - | ${pkgs.wl-clipboard}/bin/wl-copy'";
+1 -1
home/psynyde/system/niri/autostart.nix
··· 3 3 { 4 4 home.packages = with pkgs; [ 5 5 swww 6 - inputs.wl-ime-type.packages."${system}".default 6 + inputs.wl-ime-type.packages."${stdenv.hostPlatform.system}".default 7 7 xwayland-satellite 8 8 wl-clipboard 9 9 libnotify
+21 -9
home/psynyde/system/niri/keybinds.nix
··· 54 54 "-t" 55 55 ]; 56 56 "super+v".action = spawn [ 57 - "walker" 58 - "-m" 59 - "clipboard" 57 + "sh" 58 + "-c" 59 + "cliphist list | fuzzel -d | cliphist decode | wl-ime-type" 60 + ]; 61 + "super+Shift+v".action = spawn [ 62 + "sh" 63 + "-c" 64 + "cliphist list | fuzzel -d | cliphist decode | wl-copy" 60 65 ]; 61 66 "super+Period".action = spawn [ 62 - "walker" 63 - "-m" 64 - "emojis" 67 + "bemoji" 68 + "-t" 69 + "-n" 65 70 ]; 66 - 71 + "super+Shift+Period".action = spawn [ 72 + "bemoji" 73 + "-n" 74 + ]; 67 75 "super+f".action = maximize-column; 68 76 "super+Shift+f".action = fullscreen-window; 69 77 "super+o".action = toggle-overview; 70 78 "super+space".action = toggle-window-floating; 71 79 72 - "super+Shift+s".action = screenshot; 73 - "Print".action = screenshot-window { write-to-disk = true; }; 80 + "super+Shift+s".action.screenshot = [ 81 + # write-to-disk = false; 82 + ]; 83 + "Print".action.screenshot-window = [ 84 + # write-to-disk = false; 85 + ]; 74 86 75 87 "super+h".action = focus-column-left; 76 88 "super+j".action = focus-workspace-down;
+1 -1
home/psynyde/system/theme.nix
··· 5 5 color: @dialog_fg_color; 6 6 } 7 7 ''; 8 - nixGL.vulkan.enable = true; 8 + # targets.genericLinux.nixGL.vulkan.enable = true; 9 9 home = { 10 10 pointerCursor = { 11 11 name = "macOS-White";
-394
home/psynyde/system/walker.nix
··· 1 - { inputs, ... }: 2 - { 3 - imports = [ 4 - inputs.walker.homeManagerModules.default 5 - ]; 6 - programs.walker = { 7 - enable = true; 8 - runAsService = true; 9 - 10 - # config = { 11 - # app_launch_prefix = "uwsm app -- "; 12 - # close_when_open = true; 13 - # theme = "nixos"; 14 - # monitor = ""; 15 - # hotreload_theme = false; 16 - # as_window = false; 17 - # timeout = 0; 18 - # disable_click_to_close = false; 19 - # force_keyboard_focus = false; 20 - 21 - # keys = { 22 - # accept_typeahead = [ "tab" ]; 23 - # next = [ "ctrl j" ]; 24 - # prev = [ "ctrl k" ]; 25 - # close = [ "esc" ]; 26 - # remove_from_history = [ "shift backspace" ]; 27 - # resume_query = [ "ctrl r" ]; 28 - # toggle_exact_search = [ "ctrl m" ]; 29 - 30 - # activation_modifiers = { 31 - # keep_open = "shift"; 32 - # alternate = "alt"; 33 - # }; 34 - # }; 35 - 36 - # list = { 37 - # dynamic_sub = true; 38 - # keyboard_scroll_style = "vim"; 39 - # max_entries = 50; 40 - # show_initial_entries = true; 41 - # single_click = true; 42 - # visibility_threshold = 20; 43 - # placeholder = "No Results"; 44 - # }; 45 - 46 - # search = { 47 - # argument_delimiter = "#"; 48 - # placeholder = "Search..."; 49 - # delay = 0; 50 - # resume_last_query = false; 51 - # }; 52 - 53 - # activation_mode.labels = ""; 54 - 55 - # builtins = { 56 - # hyprland_keybinds = { 57 - # show_sub_when_single = true; 58 - # weight = 5; 59 - # name = "hyprland_keybinds"; 60 - # placeholder = "Hyprland Keybinds"; 61 - # switcher_only = true; 62 - # }; 63 - 64 - # applications = { 65 - # weight = 5; 66 - # name = "applications"; 67 - # placeholder = "Applications"; 68 - # prioritize_new = true; 69 - # hide_actions_with_empty_query = true; 70 - # context_aware = true; 71 - # refresh = true; 72 - # show_sub_when_single = true; 73 - # show_icon_when_single = true; 74 - # show_generic = true; 75 - # history = true; 76 - # icon = "applications-other"; 77 - 78 - # actions = { 79 - # enabled = true; 80 - # hide_category = false; 81 - # hide_without_query = true; 82 - # }; 83 - # }; 84 - 85 - # bookmarks = { 86 - # weight = 5; 87 - # placeholder = "Bookmarks"; 88 - # name = "bookmarks"; 89 - # icon = "bookmark"; 90 - # switcher_only = true; 91 - 92 - # entries = [ 93 - # { 94 - # label = "github"; 95 - # url = "https://github.com/"; 96 - # keywords = [ "github" ]; 97 - # } 98 - # { 99 - # label = "Search nixpkgs"; 100 - # url = "https://search.nixos.com/"; 101 - # keywords = [ "nixpkgs" ]; 102 - # } 103 - # { 104 - # label = "twitter"; 105 - # url = "https://x.com/"; 106 - # keywords = [ "twitter" ]; 107 - # } 108 - # ]; 109 - # }; 110 - 111 - # xdph_picker = { 112 - # hidden = true; 113 - # weight = 5; 114 - # placeholder = "Screen/Window Picker"; 115 - # show_sub_when_single = true; 116 - # name = "xdphpicker"; 117 - # switcher_only = true; 118 - # }; 119 - 120 - # calc = { 121 - # require_number = true; 122 - # weight = 5; 123 - # name = "calc"; 124 - # icon = "accessories-calculator"; 125 - # placeholder = "Calculator"; 126 - # min_chars = 4; 127 - # }; 128 - 129 - # clipboard = { 130 - # always_put_new_on_top = true; 131 - # exec = "wl-copy"; 132 - # weight = 5; 133 - # name = "clipboard"; 134 - # avoid_line_breaks = true; 135 - # placeholder = "Clipboard"; 136 - # image_height = 300; 137 - # max_entries = 10; 138 - # switcher_only = true; 139 - # }; 140 - 141 - # commands = { 142 - # weight = 5; 143 - # icon = "utilities-terminal"; 144 - # switcher_only = true; 145 - # name = "commands"; 146 - # placeholder = "Commands"; 147 - # }; 148 - 149 - # emojis = { 150 - # exec = "sleep 0.5 && wl-ime-type %RESULT%"; 151 - # weight = 5; 152 - # name = "emojis"; 153 - # placeholder = "Emojis"; 154 - # switcher_only = true; 155 - # history = true; 156 - # typeahead = true; 157 - # show_unqualified = false; 158 - # prefix = ":"; 159 - # }; 160 - 161 - # symbols = { 162 - # exec = "sleep 0.5 && wl-ime-type %RESULT%"; 163 - # weight = 5; 164 - # name = "symbols"; 165 - # placeholder = "Symbols"; 166 - # switcher_only = true; 167 - # history = true; 168 - # typeahead = true; 169 - # }; 170 - 171 - # finder = { 172 - # use_fd = true; 173 - # fd_flags = "--ignore-vcs --type file --type directory"; 174 - # cmd_alt = "xdg-open $(dirname ~/%RESULT%)"; 175 - # weight = 5; 176 - # icon = "file"; 177 - # name = "finder"; 178 - # placeholder = "Finder"; 179 - # switcher_only = true; 180 - # ignore_gitignore = false; 181 - # refresh = true; 182 - # concurrency = 8; 183 - # show_icon_when_single = true; 184 - # preview_images = true; 185 - # }; 186 - 187 - # switcher = { 188 - # weight = 5; 189 - # name = "switcher"; 190 - # placeholder = "Switcher"; 191 - # prefix = "/"; 192 - # }; 193 - 194 - # websearch = { 195 - # keep_selection = true; 196 - # weight = 5; 197 - # icon = "applications-internet"; 198 - # name = "websearch"; 199 - # placeholder = "Websearch"; 200 - 201 - # entries = [ 202 - # { 203 - # name = "DuckDuckGo"; 204 - # url = "https://duckduckgo.com/?q=%TERM%"; 205 - # } 206 - # { 207 - # name = "Google"; 208 - # url = "https://www.google.com/search?q=%TERM%"; 209 - # switcher_only = true; 210 - # } 211 - # { 212 - # name = "Ecosia"; 213 - # url = "https://www.ecosia.org/search?q=%TERM%"; 214 - # switcher_only = true; 215 - # } 216 - # { 217 - # name = "Yandex"; 218 - # url = "https://yandex.com/search/?text=%TERM%"; 219 - # switcher_only = true; 220 - # } 221 - # ]; 222 - # }; 223 - 224 - # dmenu = { 225 - # hidden = true; 226 - # weight = 5; 227 - # name = "dmenu"; 228 - # placeholder = "Dmenu"; 229 - # switcher_only = true; 230 - # show_icon_when_single = true; 231 - # }; 232 - 233 - # translation = { 234 - # delay = 1000; 235 - # weight = 5; 236 - # name = "translation"; 237 - # icon = "accessories-dictionary"; 238 - # placeholder = "Translation"; 239 - # switcher_only = true; 240 - # provider = "googlefree"; 241 - # }; 242 - # }; 243 - 244 - # }; 245 - 246 - # theme.style = '' 247 - # @define-color foreground rgba(240, 240, 240, 1.0); 248 - # @define-color background rgba(16, 16, 16, 1.0); 249 - # @define-color color1 rgba(80, 80, 80, 1.0); 250 - # @define-color border rgba(21, 21, 21, 1.0); 251 - # @define-color muted rgba(176, 176, 176, 1.0); 252 - # @define-color transparent rgba(0, 0, 0, 0); 253 - # #window, 254 - # #box, 255 - # #aiScroll, 256 - # #aiList, 257 - # #search, 258 - # #password, 259 - # #input, 260 - # #prompt, 261 - # #clear, 262 - # #typeahead, 263 - # #list, 264 - # child, 265 - # scrollbar, 266 - # slider, 267 - # #item, 268 - # #text, 269 - # #label, 270 - # #bar, 271 - # #sub, 272 - # #activationlabel { 273 - # all: unset; 274 - # } 275 - # #cfgerr { 276 - # background: rgba(255, 0, 0, 0.4); 277 - # margin-top: 20px; 278 - # padding: 8px; 279 - # font-size: 1.2em; 280 - # } 281 - # #window { 282 - # color: @foreground; 283 - # background-color: @transparent; 284 - # font-family: "JetBrainsMono Nerd Font Propo"; 285 - # } 286 - # #box { 287 - # border-radius: 0px; 288 - # background: @background; 289 - # padding: 30px; 290 - # border: 3px solid @border; 291 - # box-shadow: none; 292 - # } 293 - # #search { 294 - # box-shadow: none; 295 - # background: @border; 296 - # padding: 8px; 297 - # border-radius: 0px; 298 - # } 299 - # #prompt { 300 - # margin-left: 4px; 301 - # margin-right: 12px; 302 - # color: @foreground; 303 - # opacity: 0.7; 304 - # } 305 - # #clear { 306 - # color: @foreground; 307 - # opacity: 0.8; 308 - # } 309 - # #password, 310 - # #input, 311 - # #typeahead { 312 - # border-radius: 0px; 313 - # } 314 - # #input { 315 - # background: @border; 316 - # border: none; 317 - # } 318 - # #password { 319 - # background: @border; 320 - # } 321 - # #spinner { 322 - # padding: 8px; 323 - # } 324 - # #typeahead { 325 - # color: @foreground; 326 - # opacity: 0.8; 327 - # } 328 - # #input placeholder { 329 - # opacity: 0.5; 330 - # color: #b0b0b0; 331 - # } 332 - # #list { 333 - # background-color: rgba(0, 0, 0, 0); 334 - # padding: 20px 27px; 335 - # } 336 - # child { 337 - # padding: 2.5px; 338 - # border-radius: 0px; 339 - # background: transparent; 340 - # } 341 - # child:selected, 342 - # child:hover { 343 - # background: transparent; 344 - # } 345 - # child:selected #text, 346 - # child:selected #label { 347 - # color: @foreground; 348 - # } 349 - # #item { 350 - # } 351 - # #icon { 352 - # margin-right: 8px; 353 - # } 354 - # #text { 355 - # color: #505050; 356 - # } 357 - # #label { 358 - # font-weight: 500; 359 - # color: #505050; 360 - # } 361 - # #sub { 362 - # opacity: 0.5; 363 - # font-size: 10px; 364 - # color: #b0b0b0; 365 - # } 366 - # #activationlabel { 367 - # } 368 - # #bar { 369 - # } 370 - # .barentry { 371 - # } 372 - # .activation #activationlabel { 373 - # } 374 - # .activation #text, 375 - # .activation #icon, 376 - # .activation #search { 377 - # opacity: 0.5; 378 - # } 379 - # .aiItem { 380 - # padding: 10px; 381 - # border-radius: 0px; 382 - # color: @foreground; 383 - # background: @background; 384 - # } 385 - # .aiItem.user { 386 - # padding-left: 0; 387 - # padding-right: 0; 388 - # } 389 - # .aiItem.assistant { 390 - # background: @border; 391 - # } 392 - # ''; 393 - }; 394 - }
+1 -1
home/psynyde/system/waybar/bar.nix
··· 126 126 "custom/launcher" = { 127 127 format = " "; 128 128 tooltip-format = "App Launcher"; 129 - on-click = "walker"; 129 + on-click = "fuzzel"; 130 130 }; 131 131 132 132 "custom/tray" = {
+1 -1
home/psynyde/system/xdg.nix
··· 51 51 fileManager = [ "thunar.desktop" ]; 52 52 editor = [ "nvim.desktop" ]; 53 53 player = [ "mpv.desktop" ]; 54 - img-viewer = [ "swayimg.desktop" ]; 54 + img-viewer = [ "qimgv.desktop" ]; 55 55 reader = [ "calibre-ebook-viewer.desktop" ]; 56 56 reader-alt = [ "org.pwmt.zathura.desktop" ]; 57 57 archive-viewer = [ "org.gnome.FileRoller.desktop" ];
+2 -5
hosts/orbit/configuration.nix
··· 356 356 "nix-command" 357 357 "flakes" 358 358 ]; 359 - 359 + trusted-substituters = [ "https://unmojang.cachix.org" ]; 360 360 substituters = [ 361 361 "https://cache.nixos.org?priority=10" 362 362 "https://nix-community.cachix.org" 363 - "https://walker.cachix.org" 364 - "https://walker-git.cachix.org" 365 363 ]; 366 364 trusted-public-keys = [ 367 365 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 368 366 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" 369 - "walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM=" 370 - "walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM=" 367 + "unmojang.cachix.org-1:OfHnbBNduZ6Smx9oNbLFbYyvOWSoxb2uPcnXPj4EDQY=" 371 368 ]; 372 369 builders-use-substitutes = true; 373 370 trusted-users = [
+1 -1
hosts/orbit/hardware-configuration.nix
··· 26 26 ]; 27 27 kernelModules = [ ]; 28 28 }; 29 - # kernelPackages = pkgs.linuxPackages_zen; 29 + kernelPackages = pkgs.linuxPackages_latest; 30 30 kernelModules = [ "kvm-intel" ]; 31 31 extraModulePackages = [ ]; 32 32 };
-1
hosts/wsl/configuration.nix
··· 93 93 #above stuff are for neovim to work :D 94 94 nil 95 95 # above stuffs are for nix-flake related stuff as i intend to use flake for every project :D 96 - fzf 97 96 eza 98 97 zoxide 99 98 ];
+4 -4
modules/stylix.nix
··· 42 42 name = "JetBrainsMono Nerd Font"; 43 43 }; 44 44 sansSerif = { 45 - package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd; 46 - name = "SFProText Nerd Font"; 45 + package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro; 46 + name = "SF Pro Text"; 47 47 }; 48 48 serif = { 49 - package = inputs.apple-fonts.packages.${pkgs.system}.ny-nerd; 50 - name = "New York Nerd Font"; 49 + package = inputs.apple-fonts.packages.${pkgs.system}.ny; 50 + name = "New York"; 51 51 }; 52 52 emoji = { 53 53 package = pkgs.apple-emoji-linux;