Personal dotfiles for Linux, mostly for Nixpkgs/NixOS-based and Termux setups. Mirrored using GitLab's push mirroring feature. gitlab.com/andreijiroh-dev/dotfiles
linux dotfiles

Compare changes

Choose any two refs to compare.

Changed files
+2960 -2543
.abuild
.byobu
.config
.gnupg
.local
share
devbox
global
yadm
.ssh
.termux
.trunk
.vscode
bin
+3
.abuild/abuild.conf
··· 1 + PACKAGER_PRIVKEY="/home/ajhalili2006/.abuild/releases@andreijiroh.eu.org.rsa" 2 + PACKAGER="Andrei Jiroh Eugenio Halili <ajhalili2006@andreijiroh.eu.org>" 3 + MAINTAINER=${PACKAGER}
+14
.abuild/releases@andreijiroh.eu.org.rsa.pub
··· 1 + -----BEGIN PUBLIC KEY----- 2 + MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApu7MTCq8sErwOzlwDRQq 3 + 63qs4REUM6d0Al8HGlYcke0h5RitvzIcr6oWpeKIW76TPSsyh5Tt50q7hKhdgogU 4 + IApz+p0PNVgjyEosXuF6L/1GAbeNFNLf2Twwl+SH+3MlpJwRp7Gw7DdYBb1lm03q 5 + I6WnGxcvQXdpVryesp04qzxR4wFVF4BVwBzLow3hbQ+CAwcP30e9MNHj+sqaJSzH 6 + 3QmMleWFtaAgZxEQ2D+xbpG48CjXF9ghp72DwfAK7vr1QAkRmBw/0zvcbHp9sw/j 7 + d6wLR7AxKQ3nIg79xCHKAINfwhvXjbydw69jkIh5JU8FRGwQqOmWWh9rg1zFYEZt 8 + 5tGngGRdUmXw7UPRAGWzJrqfozqNYMBiwefx5Ic9MhURViaV3IjgCKSEL4VLttnH 9 + W7XgJTFOsHwgCF96C5wN7ERxyEOZaeXtVSYYV4bc3p3jOLlkY78gITBke/2OnlkC 10 + AVQHi0mxYVPvlqjOnlD9WKRUPWAbCrahOw8GGIEL2oNEilfGxVvcTaygOFux04IT 11 + CpEpmbHAakkkgO2ALyOuFWY5mn3E6e6ufFE3yqHPqrW1sqoCcUIcWNTfAvH0GYY9 12 + C0VFydGh8/0CUUTUvFBTi9//4Zvd5LEHZcHv0zXnkL4YClCHJzL7drJeQZfMle4T 13 + lPJFZe/wkYhQyvp9VzG7A5sCAwEAAQ== 14 + -----END PUBLIC KEY-----
+14
.abuild/releases@recaptime.eu.org.rsa.pub
··· 1 + -----BEGIN PUBLIC KEY----- 2 + MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtqqqI9kglbZKvC1iplJj 3 + I5IfvaKdiHZjbZn4WyyJKsn2zUOdibBuPtenw4riH5GpkIYjRLO+rYataFl4JP3D 4 + bPXtIiOxLs2CYPnIlPd/QS1bulqomxbz1W+fCGAmhZB/Z4ogUU7ntCdQJJpaCnLz 5 + 0BgqwkXW4aof5pvYBuS2Q30NL42FCxdNL09DAdPNC4T/h0pmT8vB5ZoKc69Okh/Y 6 + 3yyXq2V4FTlOSaio2NEsE4fGgPw3oYOtT2alJU3GQsLQ+uF7AO0+XYTPFdLhMjIm 7 + vsB0ZZnpHLUtyiyuJYHRf2AJWTMQYG0xcHRdBjILv0IJSTJJ6lfcKGdg2MTe/Ixj 8 + Hi2sasF0Up1A1oHe8rxJsTSMVyj2oGs8HNBFBwLhZnTQz3loZAhVINU/MFFu6i97 9 + U6JBC8D9+2qthjHXQaklaZ8HrQklwGnmLPctFHdx3J9VD8+fAz8OrhcPHCyWP0Jk 10 + m3XxpuUGXV87dcOMzXmnqr8tbN8x811gKzzvRJGHuWQE5Dt8EYmLweupTZ1TCZtt 11 + cx60ODu0ttYxGTKHc2a0QHDJmzQHVA8IJjs8+XsKN/U3zUY3u+5uvp7kRRfW45cx 12 + iVYPkjpfwYgLk0oDpxs4+NigSIeNcWNvbJjAlHlTdZ54oTdojlhAbA1tQVCHQCaa 13 + 2NxNzpEeQlFhrDXuMjw5znECAwEAAQ== 14 + -----END PUBLIC KEY-----
+76
.bash_login
··· 1 + #!/data/data/com.termux/files/usr/bin/env bash 2 + # shellcheck disable=SC2046,SC1091,SC2155 3 + 4 + # This is a minimal bash login scrupt for loading local 5 + # configs as well as hooking in byobu on login. 6 + 7 + # source local vars 8 + # TODO: Hook up with dotenvx for decrypting encrypted secrets 9 + source "$HOME/.env" 10 + if [[ -f "$HOME/.env.local" ]]; then 11 + source "$HOME/.env.local" 12 + export LOCAL_DOTENV_LOADED=true 13 + fi 14 + 15 + # how about detecting local configs 16 + if [ -f "$HOME/.config/localconfig.env" ]; then 17 + . "$HOME/.config/localconfig.env" 18 + fi 19 + 20 + # Load bash 21 + # shellcheck source=./.bashrc 22 + source ./.bashrc 23 + 24 + # set PATH so it includes user's private bin if it exists 25 + if [ -d "$HOME/bin" ] ; then 26 + PATH="$HOME/bin:$PATH" 27 + fi 28 + 29 + # set PATH so it includes user's private bin if it exists 30 + if [ -d "$HOME/.local/bin" ] ; then 31 + PATH="$HOME/.local/bin:$PATH" 32 + fi 33 + 34 + export PATH="/usr/local/bin:$HOME/.local/bin:$HOME/bin${PATH:+:}$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts" # ~vern specifics and more 35 + mesg n 2> /dev/null || true 36 + 37 + # then import the rest 38 + source "$HOME/.env" 39 + source "$HOME/.config/aliases" 40 + export POSIX_PROFILE_SOURCED=true 41 + 42 + # how about detecting local configs 43 + if [ -f "$HOME/.config/localconfig.env" ]; then 44 + . "$HOME/.config/localconfig.env" 45 + fi 46 + 47 + ########################################################################################## 48 + # Code snippets from https://git.sr.ht/~sircmpwn/dotfiles/tree/db5945a4/item/.env 49 + ########################################################################################## 50 + if ls --version 2>&1 | grep -i gnu >/dev/null 51 + then 52 + alias ls='ls --color=auto ' 53 + elif ls --version 2>&1 | grep -i busybox >/dev/null 54 + then 55 + alias ls='ls --color=auto ' 56 + fi 57 + 58 + alias recent='ls -ltch' 59 + 60 + # Add optmizations for multicore builds 61 + if [ $(uname) = "Linux" ] 62 + then 63 + nproc=$(grep '^processor' /proc/cpuinfo | wc -l) 64 + if [ $nproc -gt 4 ] 65 + then 66 + # Reserve two cores 67 + nproc=$((nproc - 2)) 68 + fi 69 + export MAKEFLAGS="-j$nproc" 70 + export SAMUFLAGS="-j$nproc" 71 + fi 72 + ########################################################################################## 73 + 74 + if [[ $FF_BYOBU_ON_LOGIN == "true" || $LC_BYOBU == "1" ]]; then 75 + _byobu_sourced=1 . /data/data/com.termux/files/usr/bin/byobu-launch 2>/dev/null || true 76 + fi
+6
.bash_logout
··· 1 + # ~/.bash_logout: executed by bash(1) when login shell exits. 2 + 3 + # when leaving the console clear the screen to increase privacy 4 + if [ "$SHLVL" = 1 ]; then 5 + command -v clear_console && clear_console -q 6 + fi
+81
.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + # This is my meta bashrc file, with oh-my-posh instead of zsh-specific 4 + # oh-my-zsh, although I still use zsh as my default shell. Sorry for a 5 + # lot of personal commentary and links hellscape here, it's there for 6 + # in-code docs and for future me to not dig through 'git log' hell. 7 + # SPDX-License-Identifier: MIT AND MPL-2.0 8 + 9 + ## Stage 0: Init keychain + GPG_TTY for pinentry hellscapes in TUI. ## 10 + ## This stage also initalizes oh-my-posh or custom 11 + ## PSI here. ## 12 + export KEYCHAIN_PATH=$(command -v keychain) 13 + 14 + if [[ $TERMUX_APP__PACKAGE_NAME ]]; then 15 + eval $(keychain --agents ssh --eval) 16 + else 17 + # shellcheck disable=SC2155 18 + eval $(keychain --agents gpg,ssh --eval) 19 + fi 20 + # shellcheck disable=SC2155 21 + export GPG_TTY=$(tty) 22 + 23 + # how about detecting local configs 24 + if [ -f "$HOME/.config/localconfig.env" ]; then 25 + . "$HOME/.config/localconfig.env" 26 + fi 27 + 28 + if command -v oh-my-posh >>/dev/null && [[ $FF_USE_OHMYPOSH != "false" ]]; then 29 + eval "$(oh-my-posh init bash)" 30 + else 31 + if [[ $PROMPT_THEME == "disabled" ]]; then 32 + true 33 + elif [[ -f "$HOME/.config/bash/shell-prompts/${PROMPT_THEME}.bashrc" ]]; then 34 + # shellcheck disable=SC1090 35 + source "$HOME/.config/bash/shell-prompts/${PROMPT_THEME}.bashrc" 36 + else 37 + source "$HOME/.config/bash/shell-prompts/vern.bashrc" 38 + fi 39 + fi 40 + 41 + ## Stage 1: Init custom vars and shortcuts before anything else ## 42 + ## Note that ~/.env and ~/.env.local should be loaded eariler on ## 43 + # Dotfiles stuff, maybe should be on ~/.env? 44 + #export DOTFILES_HOME="$HOME/.dotfiles" 45 + export DOTFILES_BIN="$DOTFILES_HOME/bin" 46 + # gopath should be on ~/.local/share/go to not fuck up with local install 47 + # at ~/go if exists 48 + export GOPATH="$HOME/.local/share/go" 49 + # Shut up, VS Code (not the OSS distributions off github:microsoft/vscode). 50 + # Don't let me pay for JetBrains IDEs or go nuts with nvim (or emacs, since 51 + # I'm both a bit neutral and off the rails at Vim vs Emacs debate). Also RIP 52 + # to my first editor after Notepad that started my web dev + Linux journey, 53 + # Atom (https://github.com/atom). 54 + export EDITOR=nano 55 + # Context: https://git.sr.ht/~sircmpwn/dotfiles/tree/master/item/.profile#L13-15 56 + # and https://drewdevault.com/2021/08/06/goproxy-breaks-go.html 57 + export GOPROXY=direct GOSUMDB=off 58 + # nix profile install nixpkgs#glibcLocale 59 + export LOCALE_ARCHIVE="$HOME/.nix-profile/lib/locale/locale-archive" 60 + 61 + ## Stage 2: Source literally everything else ## 62 + if [[ -d "$HOME/.bashbox" ]]; then 63 + # shellcheck disable=SC1091 64 + source "$HOME/.bashbox/env" 65 + fi 66 + 67 + # Formerly: handle hostname generation for importing host-specific configs 68 + # TODO: Handle detection across distributions without chaos, especially where 69 + # Nix is installed (not NixOS) 70 + if [[ $WSL_DISTRO_NAME ]] && [[ $WSL_INTEROP ]]; then 71 + HOSTNAME_BASH="$(cat /etc/hostname)-wsl-${WSL_DISTRO_NAME}" 72 + export WSL=1 # similar to CODESPACES and GITPOD_WORKSPACE_ID vars 73 + else 74 + HOSTNAME_BASH="$(cat /etc/hostname)" 75 + fi 76 + export HOSTNAME_BASH 77 + 78 + for file in "$HOME/.config/bash/hosts/${HOSTNAME_BASH}.bashrc" "${HOME}/.config/bash/bashrc"; do 79 + # shellcheck disable=SC1090 80 + [ -f "$file" ] && . "$file" 81 + done
.byobu/.screenrc

This is a binary file and will not be displayed.

+30
.byobu/.tmux.conf
··· 1 + # make sure we can magically source config changes via <prefix>+R shortcut. 2 + bind r source-file ~/.byobu/.tmux.conf 3 + 4 + # split to either horizontally or vertically 5 + bind h splitw -h 6 + bind v splitw -v 7 + ## Quick shortcuts btw for some tools as new windows ## 8 + bind -n M-h new-window htop 9 + bind -n M-m new-window mocp 10 + bind -n M-l new-window lynx 11 + # Since M-p is parked for something else, we add Ctrl before Alt/Meta as a workaround. 12 + bind -n C-M-p new-window pamix 13 + bind -n M-n new-window nano 14 + # also works via the default <prefix>+c 15 + bind -n M-z new-window 16 + bind t select-layout tiled 17 + 18 + # adopt some bloody shortcuts from Terminator 19 + bind -n M-Left select-pane -L 20 + bind -n M-Right select-pane -R 21 + bind -n M-Up select-pane -U 22 + bind -n M-Down select-pane -D 23 + 24 + # activity monitoring 25 + setw -g monitor-activity on 26 + set -g visual-activity on 27 + 28 + # use mouse on tmux, and a bit to tweaks, since I'm using an terminal emulator/gotty most of the time 29 + set -g mouse on 30 + #set -g mouse-select-pane on
.byobu/.welcome-displayed

This is a binary file and will not be displayed.

+1
.byobu/backend
··· 1 + BYOBU_BACKEND=tmux
+3
.byobu/color
··· 1 + BACKGROUND=k 2 + FOREGROUND=w 3 + MONOCHROME=0
+4
.byobu/color.tmux
··· 1 + BYOBU_DARK="\#333333" 2 + BYOBU_LIGHT="\#EEEEEE" 3 + BYOBU_ACCENT="\#75507B" 4 + BYOBU_HIGHLIGHT="\#DD4814"
+2
.byobu/datetime.tmux
··· 1 + BYOBU_DATE="%Y-%m-%d " 2 + BYOBU_TIME=
+1
.byobu/keybindings
··· 1 + source $BYOBU_PREFIX/share/byobu/keybindings/common
+4
.byobu/keybindings.tmux
··· 1 + unbind-key -n C-a 2 + set -g prefix ^A 3 + set -g prefix2 F12 4 + bind a send-prefix
+1
.byobu/profile
··· 1 + source $BYOBU_PREFIX/share/byobu/profiles/common
+1
.byobu/profile.tmux
··· 1 + source $BYOBU_PREFIX/share/byobu/profiles/tmux
+1
.byobu/prompt
··· 1 + [ -r /usr/share/byobu/profiles/bashrc ] && . /usr/share/byobu/profiles/bashrc #byobu-prompt#
+37
.byobu/status
··· 1 + # status - Byobu's default status enabled/disabled settings 2 + # 3 + # Override these in $BYOBU_CONFIG_DIR/status 4 + # where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined, 5 + # and $HOME/.byobu otherwise. 6 + # 7 + # Copyright (C) 2009-2011 Canonical Ltd. 8 + # 9 + # Authors: Dustin Kirkland <kirkland@byobu.org> 10 + # 11 + # This program is free software: you can redistribute it and/or modify 12 + # it under the terms of the GNU General Public License as published by 13 + # the Free Software Foundation, version 3 of the License. 14 + # 15 + # This program is distributed in the hope that it will be useful, 16 + # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 + # GNU General Public License for more details. 19 + # 20 + # You should have received a copy of the GNU General Public License 21 + # along with this program. If not, see <http://www.gnu.org/licenses/>. 22 + 23 + # Status beginning with '#' are disabled. 24 + 25 + # Screen has two status lines, with 4 quadrants for status 26 + screen_upper_left="color" 27 + screen_upper_right="color whoami hostname ip_address menu" 28 + screen_lower_left="color logo distro release #arch session" 29 + screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time" 30 + 31 + # Tmux has one status line, with 2 halves for status 32 + tmux_left=" logo #distro release arch session" 33 + # You can have as many tmux right lines below here, and cycle through them using Shift-F5 34 + tmux_right=" network #disk_io #custom entropy #raid reboot_required updates_available #apport #services #mail #users uptime #fan_speed #cpu_temp #battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk whoami hostname #ip_address time_utc date #time" 35 + #tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time" 36 + #tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time" 37 + #tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"
+78
.byobu/statusrc
··· 1 + # statusrc - Byobu's default status configurations 2 + # 3 + # Override these in $BYOBU_CONFIG_DIR/statusrc 4 + # where BYOBU_CONFIG_DIR is XDG_CONFIG_HOME if defined, 5 + # and $HOME/.byobu otherwise. 6 + # 7 + # Copyright (C) 2009-2011 Canonical Ltd. 8 + # 9 + # Authors: Dustin Kirkland <kirkland@byobu.org> 10 + # 11 + # This program is free software: you can redistribute it and/or modify 12 + # it under the terms of the GNU General Public License as published by 13 + # the Free Software Foundation, version 3 of the License. 14 + # 15 + # This program is distributed in the hope that it will be useful, 16 + # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 + # GNU General Public License for more details. 19 + # 20 + # You should have received a copy of the GNU General Public License 21 + # along with this program. If not, see <http://www.gnu.org/licenses/>. 22 + 23 + # Configurations that you can override; if you leave these commented out, 24 + # Byobu will try to auto-detect them. 25 + 26 + # This should be auto-detected for most distro, but setting it here will save 27 + # some call to lsb_release and the like. 28 + #BYOBU_DISTRO=Ubuntu 29 + 30 + # Default: depends on the distro (which is either auto-detected, either set 31 + # via $DISTRO) 32 + #LOGO="\o/" 33 + 34 + # Abbreviate the release to N characters 35 + # By default, this is disabled. But if you set RELEASE_ABBREVIATED=1 36 + # and your lsb_release is "precise", only "p" will be displayed 37 + #RELEASE_ABBREVIATED=1 38 + 39 + # Default: / 40 + #MONITORED_DISK=/ 41 + 42 + # Minimum disk throughput that triggers the notification (in kB/s) 43 + # Default: 50 44 + #DISK_IO_THRESHOLD=50 45 + 46 + # Default: eth0 47 + #MONITORED_NETWORK=eth0 48 + 49 + # Unit used for network throughput (either bits per second or bytes per second) 50 + # Default: bits 51 + #NETWORK_UNITS=bytes 52 + 53 + # Minimum network throughput that triggers the notification (in kbit/s) 54 + # Default: 20 55 + #NETWORK_THRESHOLD=20 56 + 57 + # You can add an additional source of temperature here 58 + #MONITORED_TEMP=/proc/acpi/thermal_zone/THM0/temperature 59 + 60 + # Default: C 61 + #TEMP=F 62 + 63 + #SERVICES="eucalyptus-nc|NC eucalyptus-cloud|CLC eucalyptus-walrus eucalyptus-cc|CC eucalyptus-sc|SC" 64 + 65 + #FAN=$(find /sys -type f -name fan1_input | head -n1) 66 + 67 + # You can set this to 1 to report your external/public ip address 68 + # Default: 0 69 + #IP_EXTERNAL=0 70 + 71 + # The users notification normally counts ssh sessions; set this configuration to '1' 72 + # to instead count number of distinct users logged onto the system 73 + # Default: 0 74 + #USERS_DISTINCT=0 75 + 76 + # Set this to zero to hide seconds int the time display 77 + # Default 1 78 + #TIME_SECONDS=0
.byobu/windows

This is a binary file and will not be displayed.

.byobu/windows.tmux

This is a binary file and will not be displayed.

-63
.config/1Password/ssh/agent.toml
··· 1 - # SPDX-License-Identifier: MPL-2.0 2 - # This is the 1Password SSH agent config file, which allows you to customize the 3 - # behavior of the SSH agent running on this machine. 4 - # 5 - # You can use it to: 6 - # * Enable keys from other vaults than the Private vault 7 - # * Control the order in which keys are offered to SSH servers 8 - # 9 - # EXAMPLE 10 - # 11 - # By default, all keys in your Private vault(s) are enabled: 12 - # 13 - # [[ssh-keys]] 14 - # vault = "Private" 15 - # 16 - # You can enable more keys by adding more `[[ssh-keys]]` entries. 17 - # For example, to first enable item "My SSH Key" from "My Custom Vault": 18 - # 19 - # [[ssh-keys]] 20 - # item = "My SSH Key" 21 - # vault = "My Custom Vault" 22 - # 23 - # [[ssh-keys]] 24 - # vault = "Private" 25 - # 26 - # You can test the result by running: 27 - # 28 - # SSH_AUTH_SOCK=~/.1password/agent.sock ssh-add -l 29 - # 30 - # More examples can be found here: 31 - # https://developer.1password.com/docs/ssh/agent/config 32 - "$schema" = "https://developer.1password.com/schema/ssh-agent-config.json" 33 - 34 - ## Personal ## 35 - # releases 36 - [[ssh-keys]] 37 - vault = "sah2xx3ps2rfhyi2svj5yzv2qu" 38 - item = "snnlyiqrvnfqycon7ackffb3ty" 39 - account = "https://andreijiroh-dev.1password.com" 40 - 41 - # main key since 2022 42 - [[ssh-keys]] 43 - vault = "apwipwtqx6l4eqa27su7hlczey" 44 - item = "47mdejtly5eebvh74h3vvxr2ki" 45 - account = "https://andreijiroh-dev.1password.com" 46 - 47 - # launchpad.net 48 - [[ssh-keys]] 49 - vault = "apwipwtqx6l4eqa27su7hlczey" 50 - item = "npdvnvxih5gsr3cxlonbkayoy4" 51 - account = "https://andreijiroh-dev.1password.com" 52 - 53 - [[ssh-keys]] 54 - vault = "fykuds2mmz7iletnsxkl47slbi" 55 - item = "ylcrbks3tkxtsgkc5gadm2dyqa" 56 - account = "https://andreijiroh-dev.1password.com" 57 - 58 - ## RecapTime.dev ## 59 - # crew.recaptime.dev 60 - [[ssh-keys]] 61 - vault = "Employee" 62 - item = "wklfmur3fegpajjhrx4acwcscm" 63 - account = "https://recaptime-dev.1password.com"
+1
.config/Code/User/profiles/-1f1e8b58/extensions.json
··· 1 + [{"identifier":{"id":"github.github-vscode-theme","uuid":"7328a705-91fc-49e6-8293-da6f112e482d"},"version":"6.3.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/github.github-vscode-theme-6.3.4","scheme":"file"},"relativeLocation":"github.github-vscode-theme-6.3.4","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"7328a705-91fc-49e6-8293-da6f112e482d","publisherId":"7c1c19cd-78eb-4dfb-8999-99caf7679002","publisherDisplayName":"GitHub","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"arcanis.vscode-zipfs","uuid":"b14d47f6-5230-4a65-9366-82edc70d5dfd"},"version":"3.0.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/arcanis.vscode-zipfs-3.0.0","scheme":"file"},"relativeLocation":"arcanis.vscode-zipfs-3.0.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"b14d47f6-5230-4a65-9366-82edc70d5dfd","publisherId":"659f24e1-7f98-4a8d-9904-b5f9064a1343","publisherDisplayName":"Maรซl Nison","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"socheatsok78-lab.dotenv-vscode-stripped","uuid":"3fe501a7-ae34-4706-b2d9-d05e65fdbe3c"},"version":"0.24.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/socheatsok78-lab.dotenv-vscode-stripped-0.24.0","scheme":"file"},"relativeLocation":"socheatsok78-lab.dotenv-vscode-stripped-0.24.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"3fe501a7-ae34-4706-b2d9-d05e65fdbe3c","publisherId":"ca374c13-597b-4ca6-9f1b-ea5ea16b6711","publisherDisplayName":"Socheat's Lab","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"esbenp.prettier-vscode","uuid":"96fa4707-6983-4489-b7c5-d5ffdfdcce90"},"version":"10.4.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/esbenp.prettier-vscode-10.4.0","scheme":"file"},"relativeLocation":"esbenp.prettier-vscode-10.4.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"96fa4707-6983-4489-b7c5-d5ffdfdcce90","publisherId":"d16f4e39-2ffb-44e3-9c0d-79d873570e3a","publisherDisplayName":"Prettier","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"xabikos.javascriptsnippets","uuid":"a2cec723-5349-460d-9de9-0fd1f8d3456f"},"version":"1.8.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/xabikos.javascriptsnippets-1.8.0","scheme":"file"},"relativeLocation":"xabikos.javascriptsnippets-1.8.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"a2cec723-5349-460d-9de9-0fd1f8d3456f","publisherId":"8961c3fe-3ec6-429d-886a-50b5af362a88","publisherDisplayName":"charalampos karypidis","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.github-markdown-preview","uuid":"9f5a5fc9-8b23-4484-85c4-1438b82d8634"},"version":"0.3.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.github-markdown-preview-0.3.0","scheme":"file"},"relativeLocation":"bierner.github-markdown-preview-0.3.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"9f5a5fc9-8b23-4484-85c4-1438b82d8634","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"github.vscode-pull-request-github","uuid":"69ddd764-339a-4ecc-97c1-9c4ece58e36d"},"version":"0.92.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/github.vscode-pull-request-github-0.92.0","scheme":"file"},"relativeLocation":"github.vscode-pull-request-github-0.92.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"69ddd764-339a-4ecc-97c1-9c4ece58e36d","publisherId":"7c1c19cd-78eb-4dfb-8999-99caf7679002","publisherDisplayName":"GitHub","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-footnotes","uuid":"8c379296-feca-4544-853d-f085a1fc638f"},"version":"0.1.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-footnotes-0.1.1","scheme":"file"},"relativeLocation":"bierner.markdown-footnotes-0.1.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"8c379296-feca-4544-853d-f085a1fc638f","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-checkbox","uuid":"b0db4123-c5d9-4f45-bd2e-70738ebbb304"},"version":"0.4.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-checkbox-0.4.0","scheme":"file"},"relativeLocation":"bierner.markdown-checkbox-0.4.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"b0db4123-c5d9-4f45-bd2e-70738ebbb304","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"orta.vscode-jest","uuid":"7997a8ae-1fae-4022-b834-12f6318aeffd"},"version":"6.2.5","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/orta.vscode-jest-6.2.5","scheme":"file"},"relativeLocation":"orta.vscode-jest-6.2.5","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"7997a8ae-1fae-4022-b834-12f6318aeffd","publisherId":"c22b4001-1af3-48d1-87ed-490c6c3b747f","publisherDisplayName":"Orta","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"pkief.material-product-icons","uuid":"f797dacd-4e80-4f33-8b63-d665c0956013"},"version":"1.7.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/pkief.material-product-icons-1.7.1","scheme":"file"},"relativeLocation":"pkief.material-product-icons-1.7.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"f797dacd-4e80-4f33-8b63-d665c0956013","publisherId":"f9e5bc2f-fea1-4075-917f-d83e01e69f56","publisherDisplayName":"Philipp Kief","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-emoji","uuid":"f595c9c1-28b5-415e-a55f-2deb4a8c3abd"},"version":"0.3.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-emoji-0.3.0","scheme":"file"},"relativeLocation":"bierner.markdown-emoji-0.3.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"f595c9c1-28b5-415e-a55f-2deb4a8c3abd","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"mikestead.dotenv","uuid":"532533c9-a894-4a58-9eee-bbfbe7c06f71"},"version":"1.0.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mikestead.dotenv-1.0.1","scheme":"file"},"relativeLocation":"mikestead.dotenv-1.0.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"532533c9-a894-4a58-9eee-bbfbe7c06f71","publisherId":"b6aa9b98-56e5-4846-b7d2-600d45fc63fc","publisherDisplayName":"mikestead","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"dbaeumer.vscode-eslint","uuid":"583b2b34-2c1e-4634-8c0b-0b82e283ea3a"},"version":"3.0.10","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/dbaeumer.vscode-eslint-3.0.10","scheme":"file"},"relativeLocation":"dbaeumer.vscode-eslint-3.0.10","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"583b2b34-2c1e-4634-8c0b-0b82e283ea3a","publisherId":"29859a75-d81b-4f0e-8578-2c80ecee6f99","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-preview-github-styles","uuid":"5cbdf58a-694a-4aba-af08-61d00842eb03"},"version":"2.0.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-preview-github-styles-2.0.4","scheme":"file"},"relativeLocation":"bierner.markdown-preview-github-styles-2.0.4","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"5cbdf58a-694a-4aba-af08-61d00842eb03","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"wakatime.vscode-wakatime","uuid":"f2fd462f-f1bd-4c62-b54f-59a4e5ffc6a3"},"version":"24.6.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/wakatime.vscode-wakatime-24.6.0","scheme":"file"},"relativeLocation":"wakatime.vscode-wakatime-24.6.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"f2fd462f-f1bd-4c62-b54f-59a4e5ffc6a3","publisherId":"27977793-9e84-451b-8977-744ce63f3d70","publisherDisplayName":"WakaTime","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"christian-kohler.npm-intellisense","uuid":"dff6b801-247e-40e9-82e8-8c9b1d19d1b8"},"version":"1.4.5","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/christian-kohler.npm-intellisense-1.4.5","scheme":"file"},"relativeLocation":"christian-kohler.npm-intellisense-1.4.5","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"dff6b801-247e-40e9-82e8-8c9b1d19d1b8","publisherId":"a892fb38-060b-475f-9e73-2e06a8a17a68","publisherDisplayName":"Christian Kohler","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"humao.rest-client","uuid":"dda49fd5-1f3b-4d25-bf61-4fc41905ede5"},"version":"0.25.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/humao.rest-client-0.25.1","scheme":"file"},"relativeLocation":"humao.rest-client-0.25.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"dda49fd5-1f3b-4d25-bf61-4fc41905ede5","publisherId":"aa260071-fe15-4a92-8990-7b8753d9cbc7","publisherDisplayName":"Huachao Mao","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"editorconfig.editorconfig","uuid":"f60a60a6-95ba-42d4-b41c-3d24c1b89588"},"version":"0.16.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/editorconfig.editorconfig-0.16.4","scheme":"file"},"relativeLocation":"editorconfig.editorconfig-0.16.4","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"f60a60a6-95ba-42d4-b41c-3d24c1b89588","publisherId":"1ed869e4-8588-4af4-a51e-9c1c86b034b9","publisherDisplayName":"EditorConfig","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"redhat.vscode-yaml","uuid":"2061917f-f76a-458a-8da9-f162de22b97e"},"version":"1.15.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/redhat.vscode-yaml-1.15.0","scheme":"file"},"relativeLocation":"redhat.vscode-yaml-1.15.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"2061917f-f76a-458a-8da9-f162de22b97e","publisherId":"eed56242-9699-4317-8bc7-e9f4b9bdd3ff","publisherDisplayName":"Red Hat","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-yaml-preamble","uuid":"b872af63-f9e1-438e-9462-0315abe9d3aa"},"version":"0.1.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-yaml-preamble-0.1.0","scheme":"file"},"relativeLocation":"bierner.markdown-yaml-preamble-0.1.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"b872af63-f9e1-438e-9462-0315abe9d3aa","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode.vscode-github-issue-notebooks","uuid":"3be1cece-c179-4cd6-b59b-3bae29e1a166"},"version":"0.0.130","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode.vscode-github-issue-notebooks-0.0.130","scheme":"file"},"relativeLocation":"ms-vscode.vscode-github-issue-notebooks-0.0.130","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"3be1cece-c179-4cd6-b59b-3bae29e1a166","publisherId":"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-azuretools.vscode-docker","uuid":"0479fc1c-3d67-49f9-b087-fb9069afe48f"},"version":"1.29.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-azuretools.vscode-docker-1.29.1","scheme":"file"},"relativeLocation":"ms-azuretools.vscode-docker-1.29.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"0479fc1c-3d67-49f9-b087-fb9069afe48f","publisherId":"52b787f2-79a9-4f32-99b4-393afe3005d3","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-mermaid","uuid":"f8d0ffc4-66bb-4a9c-8149-ef8f043691a1"},"version":"1.23.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-mermaid-1.23.1","scheme":"file"},"relativeLocation":"bierner.markdown-mermaid-1.23.1","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"f8d0ffc4-66bb-4a9c-8149-ef8f043691a1","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"pkief.material-icon-theme","uuid":"5db78037-f674-459f-a236-db622c427c5b"},"version":"5.5.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/pkief.material-icon-theme-5.5.0","scheme":"file"},"relativeLocation":"pkief.material-icon-theme-5.5.0","metadata":{"installedTimestamp":1721062992095,"pinned":false,"source":"gallery","id":"5db78037-f674-459f-a236-db622c427c5b","publisherId":"f9e5bc2f-fea1-4075-917f-d83e01e69f56","publisherDisplayName":"Philipp Kief","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"tamasfe.even-better-toml","uuid":"b2215d5f-675e-4a2b-b6ac-1ca737518b78"},"version":"0.19.2","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/tamasfe.even-better-toml-0.19.2","scheme":"file"},"relativeLocation":"tamasfe.even-better-toml-0.19.2","metadata":{"installedTimestamp":1721065217294,"pinned":false,"source":"gallery","id":"b2215d5f-675e-4a2b-b6ac-1ca737518b78","publisherId":"78c2102e-13a2-49ea-ac79-8d1bbacbbf0e","publisherDisplayName":"tamasfe","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"codiium.wrangler","uuid":"3f62fc02-a5b7-48bd-8505-01a70338cf88"},"version":"0.0.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/codiium.wrangler-0.0.1","scheme":"file"},"relativeLocation":"codiium.wrangler-0.0.1","metadata":{"installedTimestamp":1721065234240,"pinned":false,"source":"gallery","id":"3f62fc02-a5b7-48bd-8505-01a70338cf88","publisherId":"684ef619-d4c1-4efb-ad1f-c76758dc36ad","publisherDisplayName":"Fisher","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"eamodio.gitlens","uuid":"4de763bd-505d-4978-9575-2b7696ecf94e"},"version":"15.2.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/eamodio.gitlens-15.2.0","scheme":"file"},"relativeLocation":"eamodio.gitlens-15.2.0","metadata":{"installedTimestamp":1721065950971,"pinned":false,"source":"gallery","id":"4de763bd-505d-4978-9575-2b7696ecf94e","publisherId":"678d198b-9b2e-49d3-96ff-6d801c9575df","publisherDisplayName":"GitKraken","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode-remote.remote-containers","uuid":"93ce222b-5f6f-49b7-9ab1-a0463c6238df"},"version":"0.375.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode-remote.remote-containers-0.375.1","scheme":"file"},"relativeLocation":"ms-vscode-remote.remote-containers-0.375.1","metadata":{"installedTimestamp":1721111493438,"pinned":false,"source":"gallery","id":"93ce222b-5f6f-49b7-9ab1-a0463c6238df","publisherId":"ac9410a2-0d75-40ec-90de-b59bb705801d","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"devfile.vscode-devfile","uuid":"70d17879-b4b4-490a-9b0e-d53eea36cb09"},"version":"0.0.2","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/devfile.vscode-devfile-0.0.2","scheme":"file"},"relativeLocation":"devfile.vscode-devfile-0.0.2","metadata":{"installedTimestamp":1721111518491,"pinned":false,"source":"gallery","id":"70d17879-b4b4-490a-9b0e-d53eea36cb09","publisherId":"0024dde8-60ee-4c45-bf62-236dbb9c13a5","publisherDisplayName":"Devfile","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"vivaxy.vscode-conventional-commits","uuid":"b6b26bce-33f4-4bce-bf92-89812388ed0a"},"version":"1.25.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/vivaxy.vscode-conventional-commits-1.25.0","scheme":"file"},"relativeLocation":"vivaxy.vscode-conventional-commits-1.25.0","metadata":{"installedTimestamp":1721148775087,"pinned":false,"source":"gallery","id":"b6b26bce-33f4-4bce-bf92-89812388ed0a","publisherId":"cd0bc23b-0195-4718-a6dd-c6611ee1c8bf","publisherDisplayName":"vivaxy","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"samdev.arcade-vsc","uuid":"e33b7e18-c35b-4c08-a34d-657e6ab28bc1"},"version":"0.6.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/samdev.arcade-vsc-0.6.4","scheme":"file"},"relativeLocation":"samdev.arcade-vsc-0.6.4","metadata":{"installedTimestamp":1721285662373,"pinned":false,"source":"gallery","id":"e33b7e18-c35b-4c08-a34d-657e6ab28bc1","publisherId":"06985fcc-99d2-463a-a49e-b8d30bd85394","publisherDisplayName":"samdev","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"github.vscode-github-actions","uuid":"04f49bfc-8330-4eee-8237-ea938fb755ef"},"version":"0.26.3","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/github.vscode-github-actions-0.26.3","scheme":"file"},"relativeLocation":"github.vscode-github-actions-0.26.3","metadata":{"installedTimestamp":1721292342494,"source":"gallery","id":"04f49bfc-8330-4eee-8237-ea938fb755ef","publisherId":"7c1c19cd-78eb-4dfb-8999-99caf7679002","publisherDisplayName":"GitHub","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"mtxr.sqltools","uuid":"6a2bbab0-d8f0-43fa-9b26-e6a3b7892a0b"},"version":"0.28.3","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mtxr.sqltools-0.28.3","scheme":"file"},"relativeLocation":"mtxr.sqltools-0.28.3","metadata":{"installedTimestamp":1721674837616,"pinned":false,"source":"gallery","id":"6a2bbab0-d8f0-43fa-9b26-e6a3b7892a0b","publisherId":"952fc94a-735a-4caa-92ce-e1011fbc9780","publisherDisplayName":"Matheus Teixeira","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"mtxr.sqltools-driver-sqlite","uuid":"5862e2aa-ace9-476d-8b10-3b72fa494604"},"version":"0.5.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mtxr.sqltools-driver-sqlite-0.5.1","scheme":"file"},"relativeLocation":"mtxr.sqltools-driver-sqlite-0.5.1","metadata":{"installedTimestamp":1721674862383,"pinned":false,"source":"gallery","id":"5862e2aa-ace9-476d-8b10-3b72fa494604","publisherId":"952fc94a-735a-4caa-92ce-e1011fbc9780","publisherDisplayName":"Matheus Teixeira","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"isApplicationScoped":false}},{"identifier":{"id":"mtxr.sqltools-driver-pg","uuid":"ff850146-c38e-4afe-8a34-705074ae16e2"},"version":"0.5.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mtxr.sqltools-driver-pg-0.5.4","scheme":"file"},"relativeLocation":"mtxr.sqltools-driver-pg-0.5.4","metadata":{"installedTimestamp":1721674864405,"pinned":false,"source":"gallery","id":"ff850146-c38e-4afe-8a34-705074ae16e2","publisherId":"952fc94a-735a-4caa-92ce-e1011fbc9780","publisherDisplayName":"Matheus Teixeira","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"mtxr.sqltools-driver-mysql","uuid":"45e19ef7-c10a-44ce-8413-0d9edfbbdcaa"},"version":"0.6.3","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mtxr.sqltools-driver-mysql-0.6.3","scheme":"file"},"relativeLocation":"mtxr.sqltools-driver-mysql-0.6.3","metadata":{"installedTimestamp":1721963860602,"pinned":false,"source":"gallery","id":"45e19ef7-c10a-44ce-8413-0d9edfbbdcaa","publisherId":"952fc94a-735a-4caa-92ce-e1011fbc9780","publisherDisplayName":"Matheus Teixeira","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"zamerick.vscode-caddyfile-syntax","uuid":"25ffd2ea-ef5b-4f40-9616-092c91332b2f"},"version":"1.0.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/zamerick.vscode-caddyfile-syntax-1.0.4","scheme":"file"},"relativeLocation":"zamerick.vscode-caddyfile-syntax-1.0.4","metadata":{"installedTimestamp":1722597317798,"pinned":false,"source":"gallery","id":"25ffd2ea-ef5b-4f40-9616-092c91332b2f","publisherId":"a3b54daa-6c4d-48a5-ae99-2d23a86d7d58","publisherDisplayName":"zamerick","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"matthewpi.caddyfile-support","uuid":"c1d1ec36-b62e-4046-b2e6-0e49df95a9f8"},"version":"0.4.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/matthewpi.caddyfile-support-0.4.0","scheme":"file"},"relativeLocation":"matthewpi.caddyfile-support-0.4.0","metadata":{"installedTimestamp":1722597317795,"pinned":false,"source":"gallery","id":"c1d1ec36-b62e-4046-b2e6-0e49df95a9f8","publisherId":"c4b57b1c-ba77-4527-8d3a-85be2eee3f08","publisherDisplayName":"matthewpi","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"prisma.prisma","uuid":"33ce9d6b-41cf-4972-a62b-386f7201981d"},"version":"5.18.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/prisma.prisma-5.18.0","scheme":"file"},"relativeLocation":"prisma.prisma-5.18.0","metadata":{"isApplicationScoped":false,"isMachineScoped":false,"isBuiltin":false,"installedTimestamp":1723272479974,"pinned":false,"source":"gallery","id":"33ce9d6b-41cf-4972-a62b-386f7201981d","publisherId":"2397d6f3-c7f1-4b03-9029-414f731a68ec","publisherDisplayName":"Prisma","targetPlatform":"undefined","updated":true,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"preRelease":false}},{"identifier":{"id":"bradlc.vscode-tailwindcss","uuid":"4db62a7c-7d70-419c-96d2-6c3a4dc77ea5"},"version":"0.12.6","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bradlc.vscode-tailwindcss-0.12.6","scheme":"file"},"relativeLocation":"bradlc.vscode-tailwindcss-0.12.6","metadata":{"isApplicationScoped":false,"isMachineScoped":false,"isBuiltin":false,"installedTimestamp":1723272479968,"pinned":false,"source":"gallery","id":"4db62a7c-7d70-419c-96d2-6c3a4dc77ea5","publisherId":"84722833-669b-4c7d-920e-b60e43fae19a","publisherDisplayName":"Tailwind Labs","targetPlatform":"undefined","updated":true,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"preRelease":false}},{"identifier":{"id":"coolbear.systemd-unit-file","uuid":"fe20f03a-2abf-470a-ab23-d671ec38ce42"},"version":"1.0.6","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/coolbear.systemd-unit-file-1.0.6","scheme":"file"},"relativeLocation":"coolbear.systemd-unit-file-1.0.6","metadata":{"installedTimestamp":1723381910404,"pinned":false,"source":"gallery","id":"fe20f03a-2abf-470a-ab23-d671ec38ce42","publisherId":"73aa15f5-fc31-45ec-ab42-e339b1dee6b6","publisherDisplayName":"coolbear","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"hangxingliu.vscode-systemd-support","uuid":"422d9344-2afe-4ddb-8b9d-f21339087d60"},"version":"2.2.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/hangxingliu.vscode-systemd-support-2.2.0","scheme":"file"},"relativeLocation":"hangxingliu.vscode-systemd-support-2.2.0","metadata":{"installedTimestamp":1723381910421,"pinned":false,"source":"gallery","id":"422d9344-2afe-4ddb-8b9d-f21339087d60","publisherId":"43f8445f-f00e-4e08-ab0f-21e398616231","publisherDisplayName":"Liu Yue","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"denoland.vscode-deno","uuid":"91881318-cfd0-4905-adb7-f4e431ca1ead"},"version":"3.38.2","location":{"$mid":1,"fsPath":"/home/gildedguy/.vscode/extensions/denoland.vscode-deno-3.38.2","external":"file:///home/gildedguy/.vscode/extensions/denoland.vscode-deno-3.38.2","path":"/home/gildedguy/.vscode/extensions/denoland.vscode-deno-3.38.2","scheme":"file"},"relativeLocation":"denoland.vscode-deno-3.38.2","metadata":{"isApplicationScoped":false,"isMachineScoped":false,"isBuiltin":false,"installedTimestamp":1723571285975,"pinned":false,"source":"gallery","id":"91881318-cfd0-4905-adb7-f4e431ca1ead","publisherId":"d9844221-d0e6-438e-adcd-4f37f93f23b4","publisherDisplayName":"denoland","targetPlatform":"undefined","updated":true,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"preRelease":false}}]
+43
.config/Code/User/profiles/-1f1e8b58/settings.json
··· 1 + { 2 + "editor.formatOnPaste": true, 3 + "git.autofetch": true, 4 + "[markdown]": { 5 + "editor.wordWrap": "on", 6 + "editor.defaultFormatter": "esbenp.prettier-vscode" 7 + }, 8 + "[json]": { 9 + "editor.defaultFormatter": "esbenp.prettier-vscode" 10 + }, 11 + "[jsonc]": { 12 + "editor.defaultFormatter": "vscode.json-language-features" 13 + }, 14 + "[html]": { 15 + "editor.defaultFormatter": "esbenp.prettier-vscode" 16 + }, 17 + "[javascript]": { 18 + "editor.defaultFormatter": "esbenp.prettier-vscode" 19 + }, 20 + "[typescript]": { 21 + "editor.defaultFormatter": "esbenp.prettier-vscode" 22 + }, 23 + "editor.tokenColorCustomizations": { 24 + "textMateRules": [] 25 + }, 26 + "workbench.colorTheme": "GitHub Dark Colorblind (Beta)", 27 + "workbench.productIconTheme": "material-product-icons", 28 + "workbench.iconTheme": "material-icon-theme", 29 + "git.confirmSync": false, 30 + "arcade-vsc.slackID": "U07CAPBB9B5", 31 + "[typescriptreact]": { 32 + "editor.defaultFormatter": "vscode.typescript-language-features" 33 + }, 34 + "workbench.editor.editorActionsLocation": "titleBar", 35 + "diffEditor.ignoreTrimWhitespace": false, 36 + "[yaml]": { 37 + "editor.defaultFormatter": "redhat.vscode-yaml" 38 + }, 39 + "sqltools.useNodeRuntime": true, 40 + "sqltools.connections": [], 41 + "arcade-vsc.notifications.startReminder": true, 42 + "caddyfile.executable": "/home/gildedguy/.local/bin/caddy" 43 + }
+1
.config/Code/User/profiles/-388e6ead/extensions.json
··· 1 + [{"identifier":{"id":"bierner.markdown-footnotes","uuid":"8c379296-feca-4544-853d-f085a1fc638f"},"version":"0.1.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-footnotes-0.1.1","scheme":"file"},"relativeLocation":"bierner.markdown-footnotes-0.1.1","metadata":{"installedTimestamp":1722010916238,"source":"gallery","id":"8c379296-feca-4544-853d-f085a1fc638f","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-yaml-preamble","uuid":"b872af63-f9e1-438e-9462-0315abe9d3aa"},"version":"0.1.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-yaml-preamble-0.1.0","scheme":"file"},"relativeLocation":"bierner.markdown-yaml-preamble-0.1.0","metadata":{"installedTimestamp":1722010916254,"source":"gallery","id":"b872af63-f9e1-438e-9462-0315abe9d3aa","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-emoji","uuid":"f595c9c1-28b5-415e-a55f-2deb4a8c3abd"},"version":"0.3.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-emoji-0.3.0","scheme":"file"},"relativeLocation":"bierner.markdown-emoji-0.3.0","metadata":{"installedTimestamp":1722010916289,"source":"gallery","id":"f595c9c1-28b5-415e-a55f-2deb4a8c3abd","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-checkbox","uuid":"b0db4123-c5d9-4f45-bd2e-70738ebbb304"},"version":"0.4.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-checkbox-0.4.0","scheme":"file"},"relativeLocation":"bierner.markdown-checkbox-0.4.0","metadata":{"installedTimestamp":1722010916271,"source":"gallery","id":"b0db4123-c5d9-4f45-bd2e-70738ebbb304","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-preview-github-styles","uuid":"5cbdf58a-694a-4aba-af08-61d00842eb03"},"version":"2.0.4","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-preview-github-styles-2.0.4","scheme":"file"},"relativeLocation":"bierner.markdown-preview-github-styles-2.0.4","metadata":{"installedTimestamp":1722010916274,"source":"gallery","id":"5cbdf58a-694a-4aba-af08-61d00842eb03","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode.wordcount","uuid":"03bcac69-2a42-4fd3-ac6e-928090766003"},"version":"0.1.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode.wordcount-0.1.0","scheme":"file"},"relativeLocation":"ms-vscode.wordcount-0.1.0","metadata":{"installedTimestamp":1722010916224,"source":"gallery","id":"03bcac69-2a42-4fd3-ac6e-928090766003","publisherId":"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"bierner.markdown-mermaid","uuid":"f8d0ffc4-66bb-4a9c-8149-ef8f043691a1"},"version":"1.23.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/bierner.markdown-mermaid-1.23.1","scheme":"file"},"relativeLocation":"bierner.markdown-mermaid-1.23.1","metadata":{"installedTimestamp":1722010916227,"source":"gallery","id":"f8d0ffc4-66bb-4a9c-8149-ef8f043691a1","publisherId":"f164f116-e2aa-496b-84dc-2451248e8beb","publisherDisplayName":"Matt Bierner","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"davidanson.vscode-markdownlint","uuid":"daf8b44d-8aae-4da2-80c5-1f770219f643"},"version":"0.55.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/davidanson.vscode-markdownlint-0.55.0","scheme":"file"},"relativeLocation":"davidanson.vscode-markdownlint-0.55.0","metadata":{"installedTimestamp":1722010916211,"source":"gallery","id":"daf8b44d-8aae-4da2-80c5-1f770219f643","publisherId":"2e4d1cda-6ef0-4e42-a352-ab540afe8ff0","publisherDisplayName":"David Anson","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"streetsidesoftware.code-spell-checker","uuid":"f6dbd813-b0a0-42c1-90ea-10dde9d925a7"},"version":"3.0.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/streetsidesoftware.code-spell-checker-3.0.1","scheme":"file"},"relativeLocation":"streetsidesoftware.code-spell-checker-3.0.1","metadata":{"installedTimestamp":1722010916293,"source":"gallery","id":"f6dbd813-b0a0-42c1-90ea-10dde9d925a7","publisherId":"67600ca7-88fb-4104-9f7e-dd51c00facf2","publisherDisplayName":"Street Side Software","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"printfn.gemini-improved","uuid":"aa33ee8a-1957-4f94-bd6e-1d2185224fe9"},"version":"1.0.6","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/printfn.gemini-improved-1.0.6","scheme":"file"},"relativeLocation":"printfn.gemini-improved-1.0.6","metadata":{"installedTimestamp":1722010947204,"pinned":false,"source":"gallery","id":"aa33ee8a-1957-4f94-bd6e-1d2185224fe9","publisherId":"a3b804cc-19d0-415a-9dd6-2d81f233f47d","publisherDisplayName":"printfn","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"devantler.git-extension-pack-new","uuid":"550e094f-21e1-4b03-998c-afd220b6ff5b"},"version":"1.0.2","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/devantler.git-extension-pack-new-1.0.2","scheme":"file"},"relativeLocation":"devantler.git-extension-pack-new-1.0.2","metadata":{"installedTimestamp":1722016900616,"pinned":false,"source":"gallery","id":"550e094f-21e1-4b03-998c-afd220b6ff5b","publisherId":"3ec68d32-353b-4e25-8f10-0b56f08ed437","publisherDisplayName":"devantler","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"codezombiech.gitignore","uuid":"3e891cf9-53cb-49a3-8d01-8f0b1f0afb29"},"version":"0.9.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/codezombiech.gitignore-0.9.0","scheme":"file"},"relativeLocation":"codezombiech.gitignore-0.9.0","metadata":{"installedTimestamp":1722016900634,"pinned":false,"source":"gallery","id":"3e891cf9-53cb-49a3-8d01-8f0b1f0afb29","publisherId":"930310c4-ca8b-4e80-9d19-2b1507b2af61","publisherDisplayName":"CodeZombie","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"gitlab.gitlab-workflow","uuid":"01826860-d71c-4734-9cf8-dc1c07baa5f9"},"version":"5.4.0","location":{"$mid":1,"fsPath":"/home/gildedguy/.vscode/extensions/gitlab.gitlab-workflow-5.4.0","external":"file:///home/gildedguy/.vscode/extensions/gitlab.gitlab-workflow-5.4.0","path":"/home/gildedguy/.vscode/extensions/gitlab.gitlab-workflow-5.4.0","scheme":"file"},"relativeLocation":"gitlab.gitlab-workflow-5.4.0","metadata":{"isApplicationScoped":false,"isMachineScoped":false,"isBuiltin":false,"installedTimestamp":1723132879062,"pinned":false,"source":"gallery","id":"01826860-d71c-4734-9cf8-dc1c07baa5f9","publisherId":"11e0db43-01fa-42a2-aa75-d40835a05df7","publisherDisplayName":"GitLab","targetPlatform":"undefined","updated":true,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"preRelease":false}}]
+17
.config/Code/User/profiles/-388e6ead/settings.json
··· 1 + { 2 + "workbench.colorTheme": "Default Light Modern", 3 + "editor.minimap.enabled": false, 4 + "breadcrumbs.enabled": false, 5 + "editor.glyphMargin": false, 6 + "explorer.decorations.badges": false, 7 + "explorer.decorations.colors": false, 8 + "editor.fontLigatures": true, 9 + "files.autoSave": "afterDelay", 10 + "git.enableSmartCommit": true, 11 + "window.commandCenter": true, 12 + "editor.renderWhitespace": "none", 13 + "workbench.editor.untitled.hint": "hidden", 14 + "markdown.validate.enabled": true, 15 + "markdown.updateLinksOnFileMove.enabled": "prompt", 16 + "workbench.startupEditor": "none" 17 + }
+1
.config/Code/User/profiles/.gitignore
··· 1 + **/globalStorage/*
+1
.config/Code/User/profiles/5c2930e8/extensions.json
··· 1 + [{"identifier":{"id":"mtxr.sqltools","uuid":"6a2bbab0-d8f0-43fa-9b26-e6a3b7892a0b"},"version":"0.28.3","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/mtxr.sqltools-0.28.3","scheme":"file"},"relativeLocation":"mtxr.sqltools-0.28.3","metadata":{"installedTimestamp":1723205232033,"pinned":false,"source":"gallery","id":"6a2bbab0-d8f0-43fa-9b26-e6a3b7892a0b","publisherId":"952fc94a-735a-4caa-92ce-e1011fbc9780","publisherDisplayName":"Matheus Teixeira","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"golang.go","uuid":"d6f6cfea-4b6f-41f4-b571-6ad2ab7918da"},"version":"0.42.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/golang.go-0.42.0","scheme":"file"},"relativeLocation":"golang.go-0.42.0","metadata":{"installedTimestamp":1723205854713,"source":"gallery","id":"d6f6cfea-4b6f-41f4-b571-6ad2ab7918da","publisherId":"dbf6ae0a-da75-4167-ac8b-75b4512f2153","publisherDisplayName":"Go Team at Google","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode-remote.remote-ssh","uuid":"607fd052-be03-4363-b657-2bd62b83d28a"},"version":"0.113.1","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode-remote.remote-ssh-0.113.1","scheme":"file"},"relativeLocation":"ms-vscode-remote.remote-ssh-0.113.1","metadata":{"installedTimestamp":1723222602589,"pinned":false,"source":"gallery","id":"607fd052-be03-4363-b657-2bd62b83d28a","publisherId":"ac9410a2-0d75-40ec-90de-b59bb705801d","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode.remote-explorer","uuid":"11858313-52cc-4e57-b3e4-d7b65281e34b"},"version":"0.4.3","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode.remote-explorer-0.4.3","scheme":"file"},"relativeLocation":"ms-vscode.remote-explorer-0.4.3","metadata":{"installedTimestamp":1723222602590,"pinned":false,"source":"gallery","id":"11858313-52cc-4e57-b3e4-d7b65281e34b","publisherId":"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"ms-vscode-remote.remote-ssh-edit","uuid":"bfeaf631-bcff-4908-93ed-fda4ef9a0c5c"},"version":"0.86.0","location":{"$mid":1,"path":"/home/gildedguy/.vscode/extensions/ms-vscode-remote.remote-ssh-edit-0.86.0","scheme":"file"},"relativeLocation":"ms-vscode-remote.remote-ssh-edit-0.86.0","metadata":{"installedTimestamp":1723222602709,"pinned":false,"source":"gallery","id":"bfeaf631-bcff-4908-93ed-fda4ef9a0c5c","publisherId":"ac9410a2-0d75-40ec-90de-b59bb705801d","publisherDisplayName":"Microsoft","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}},{"identifier":{"id":"denoland.vscode-deno","uuid":"91881318-cfd0-4905-adb7-f4e431ca1ead"},"version":"3.38.2","location":{"$mid":1,"fsPath":"/home/gildedguy/.vscode/extensions/denoland.vscode-deno-3.38.2","path":"/home/gildedguy/.vscode/extensions/denoland.vscode-deno-3.38.2","scheme":"file"},"relativeLocation":"denoland.vscode-deno-3.38.2","metadata":{"installedTimestamp":1723719325151,"pinned":false,"source":"gallery","id":"91881318-cfd0-4905-adb7-f4e431ca1ead","publisherId":"d9844221-d0e6-438e-adcd-4f37f93f23b4","publisherDisplayName":"denoland","targetPlatform":"undefined","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false}}]
+79
.config/Code/User/settings.json
··· 1 + { 2 + "workbench.colorTheme": "GitHub Dark Colorblind (Beta)", 3 + "editor.tokenColorCustomizations": { 4 + "textMateRules": [ 5 + { 6 + "scope": "keyword.other.dotenv", 7 + "settings": { 8 + "foreground": "#FF000000" 9 + } 10 + } 11 + ] 12 + }, 13 + "workbench.iconTheme": "material-icon-theme", 14 + "workbench.productIconTheme": "material-product-icons", 15 + "application.shellEnvironmentResolutionTimeout": 30, 16 + "arcade-vsc.slackID": "U07CAPBB9B5", 17 + "explorer.confirmDragAndDrop": false, 18 + "[yaml]": { 19 + "editor.defaultFormatter": "redhat.vscode-yaml" 20 + }, 21 + "git.confirmSync": false, 22 + "git.autofetch": true, 23 + "window.customTitleBarVisibility": "auto", 24 + "window.confirmBeforeClose": "never", 25 + "window.titleBarStyle": "custom", 26 + "window.menuBarVisibility": "visible", 27 + "gpgIndicator.enablePassphraseCache": true, 28 + "cSpell.userWords": [ 29 + "Infinix", 30 + "Yubikey" 31 + ], 32 + "workbench.experimental.enableNewProfilesUI": true, 33 + "editor.codeActionsOnSave": {}, 34 + "sqltools.useNodeRuntime": true, 35 + "files.watcherExclude": { 36 + "**/.git/objects/**": true, 37 + "**/.git/subtree-cache/**": true, 38 + "**/node_modules/*/**": true, 39 + "**/.cache/**": true 40 + }, 41 + "git.alwaysSignOff": true, 42 + "git.checkoutType": [ 43 + "local", 44 + "remote", 45 + "tags" 46 + ], 47 + "gitlens.autolinks": [ 48 + { 49 + "ignoreCase": true, 50 + "prefix": "LAUNCHPAD-", 51 + "url": "https://youtrack.andreijiroh.xyz/issue/LAUNCHPAD-<num>" 52 + }, 53 + { 54 + "ignoreCase": true, 55 + "prefix": "LAUNCHPAD-T", 56 + "url": "https://youtrack.andreijiroh.xyz/issue/LAUNCHPAD-<num>" 57 + }, 58 + { 59 + "ignoreCase": true, 60 + "prefix": "META-", 61 + "url": "https://youtrack.recaptime.dev/issue/META-<num>" 62 + }, 63 + { 64 + "ignoreCase": true, 65 + "prefix": "META-T-", 66 + "url": "https://youtrack.recaptime.dev/issue/META-<num>" 67 + } 68 + ], 69 + "settingsSync.ignoredSettings": [ 70 + "caddyfile.executable" 71 + ], 72 + "redhat.telemetry.enabled": true, 73 + "window.autoDetectColorScheme": true, 74 + "workbench.preferredDarkColorTheme": "GitHub Dark Colorblind (Beta)", 75 + "workbench.preferredHighContrastColorTheme": "GitHub Dark High Contrast", 76 + "workbench.preferredHighContrastLightColorTheme": "GitHub Light High Contrast", 77 + "workbench.preferredLightColorTheme": "GitHub Light Colorblind (Beta)", 78 + "workbench.trustedDomains.promptInTrustedWorkspace": true 79 + }
+80
.config/aliases
··· 1 + #!/bin/env sh 2 + 3 + # Aliases across shells. Note that this is only tested on Bash and Zsh, with a bit of testing 4 + # on ash. 5 + 6 + # basic git commands 7 + alias clone="git clone" 8 + alias stats="git status" 9 + 10 + ## shortcuts to creating commits 11 + alias commit="git commit --signoff --gpg-sign" 12 + alias commit-nogpg="git commit --signoff --no-gpg-sign" 13 + alias new-checkpoint="commit" 14 + alias new-checkpoint-nogpg="commit-nogpg" 15 + 16 + ## shortcuts to creating tags 17 + alias tag-checkpoint="git tag --gpg-sign" 18 + alias tag-checkpoint-nogpg="git tag --no-gpg-sign" 19 + alias new-tag="tag-checkpoint" 20 + alias new-tag-nogpg="tag-checkpoint-nogpg" 21 + 22 + ## shortcuts to managing yiff stash 23 + alias stash="git stash push --keep-index" 24 + alias pop-stash="git stash pop" 25 + alias apply-stash="git stash apply" 26 + alias yeet-stash="git stash drop" 27 + 28 + ## staging stuff 29 + alias stage="git add" 30 + alias unstage="git restore --staged" 31 + alias nuke-from-index="git rm" 32 + 33 + # branch management 34 + alias rename-branch="git branch -m" 35 + alias set-upstream-remote="git branch -u" 36 + 37 + # remote management 38 + alias change-origin="git remote set-url origin" 39 + alias change-upstream="git remote set-url upstream" 40 + alias add-remote="git remote add" 41 + alias change-remote-url="git remote set-url" 42 + alias nuke-remote="git remote remove" 43 + alias remove-remote="nuke-remote" 44 + 45 + # git push 46 + alias push="git push" 47 + ## add main:master since Git assumes local branch to 48 + ## remote branch when running this alias 49 + alias deploy-divio="git push divio" 50 + 51 + # fetch / pull 52 + alias fetch="git fetch --all" 53 + ## depending on remote branch at upstream, 54 + ## assumes its same branch. 55 + alias pull-upstream="fetch && git pull upstream" 56 + alias pull-origin="fetch && git pull origin" 57 + 58 + # history-cleanup like scripts 59 + alias clean-shellhis="history -c && clear" 60 + 61 + # test SSH connections 62 + alias test-gh-ssh="ssh -p 22 git@github.com" 63 + alias test-gl-ssh="ssh -p 22 git@gitlab.com" 64 + 65 + # ssh-agent stuff 66 + ## quock shortcut into add-ssh-keys stuff 67 + #alias add-ssh-key="$HOME/.dotfiles/bin/add-ssh-keys" 68 + 69 + # shortcuts to some functions 70 + alias edit-script="edit-script-file" 71 + 72 + # add a bit of test here 73 + alias guild-test="echo successfully imported owo" 74 + 75 + # shortcuts for rdp stuff 76 + alias bshq-cursed='rdesktop --user cursed-remote-user -r audio:local -x lan -r clipboard:PRIMARYCLIPBOARD -n guildedguy bullshit.hq' 77 + 78 + # manage submodules 79 + alias module="git submodule" 80 + alias update-module="git submodule update --remote --merge"
+13
.config/bash/README.md
··· 1 + # bashrc configurations 2 + 3 + Host-specifics (including in `~vern`), maybe bash-specific functions. 4 + Global configs are at [`~/.bashrc`](../../.bashrc), 5 + [`~/.bash_login`](../../.bash_login) and [POSIX-compliant `~/.profile`](../../.profile). 6 + 7 + ## Directories and files 8 + 9 + * `completions` 10 + * `hosts` 11 + * `shell-prompts` 12 + * `tools` 13 + * `aliases`
+37 -34
.config/bash/aliases
··· 1 - #!/usr/bin/env bash 2 - 3 - # enable color support of ls and also add handy aliases 4 - if [ -x /usr/bin/dircolors ]; then 5 - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 6 - alias ls='ls --color=auto' 7 - #alias dir='dir --color=auto' 8 - #alias vdir='vdir --color=auto' 9 - 10 - alias grep='grep --color=auto' 11 - alias fgrep='fgrep --color=auto' 12 - alias egrep='egrep --color=auto' 13 - fi 14 - 15 - alias ll='ls -alF' 16 - alias la='ls -A' 17 - alias l='ls -CF' 18 - 1 + # General 2 + alias clear="printf '\033c'" # faster than ncurses clear by a lot 3 + alias c='clear' 4 + alias bashrc="${EDITOR:-"nano"} ~/.bashrc && source ~/.bashrc" 5 + # LS 6 + alias ls='ls --color=auto -FAh' 7 + alias ll='ls -l' 8 + alias la='ls' 9 + alias l.='ls | egrep "^\."' 10 + alias l=ls 11 + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 12 + alias dir='dir --color=auto' 13 + alias vdir='vdir --color=auto' 14 + # GREP 15 + alias grep='grep --color=auto' 16 + alias egrep='egrep --color=auto' 17 + alias fgrep='fgrep --color=auto' 18 + # GIT 19 + alias ga='git add' 20 + alias gc='git commit' 21 + alias gp='git push' 22 + alias lc='fc -nl $HISTCMD' 23 + # CADDY 24 + alias rc='caddy reload --config ~/Caddyfile' 25 + alias ft='caddy fmt --overwrite ~/Caddyfile' 26 + alias vt='caddy validate --config ~/Caddyfile' 27 + # Navigation 19 28 alias ..='cd ..' 20 - alias ...='cd ../..' 21 - 22 - # git 23 - alias clone='git clone' 24 - alias status='git status' 25 - alias stats='git status' 26 - alias stash='git stash' 27 - alias commit='git commit' 28 - alias signoff='git commit --signoff' 29 - alias push='git push' 30 - alias fetch='git fetch' 31 - alias pull='git pull --rebase' 32 - alias remotes='git remote -v' 33 - alias switch-upstream='git branch -u' 34 - alias module="git submodule" 35 - alias update-module="git submodule update --remote --merge" 29 + alias ...='cd ../../' 30 + alias ....='cd ../../../' 31 + alias .....='cd ../../../../' 32 + # Readability 33 + alias cp="cp -iv" 34 + alias mv='mv -iv' 35 + alias rm='rm -iv' 36 + alias df='df -h' 37 + alias free='free -m' 38 + alias mkdir='mkdir -pv'
+84
.config/bash/bashrc
··· 1 + # ~/.bashrc: executed by bash(1) for non-login shells. 2 + # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) 3 + # for examples 4 + 5 + # If not running interactively, don't do anything 6 + #case $- in 7 + # *i*) ;; 8 + # *) return;; 9 + #esac 10 + 11 + # don't put duplicate lines or lines starting with space in the history. 12 + # See bash(1) for more options 13 + HISTCONTROL=ignoreboth 14 + 15 + # append to the history file, don't overwrite it 16 + shopt -s histappend 17 + 18 + # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) 19 + HISTSIZE=1000 20 + HISTFILESIZE=2000 21 + 22 + # check the window size after each command and, if necessary, 23 + # update the values of LINES and COLUMNS. 24 + shopt -s checkwinsize 25 + 26 + # If set, the pattern "**" used in a pathname expansion context will 27 + # match all files and zero or more directories and subdirectories. 28 + #shopt -s globstar 29 + 30 + # make less more friendly for non-text input files, see lesspipe(1) 31 + #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" 32 + 33 + # set a fancy prompt (non-color, unless we know we "want" color) 34 + case "$TERM" in 35 + xterm-color|*-256color) color_prompt=yes;; 36 + esac 37 + 38 + # uncomment for a colored prompt, if the terminal has the capability; turned 39 + # off by default to not distract the user: the focus in a terminal window 40 + # should be on the output of commands, not on the prompt 41 + #force_color_prompt=yes 42 + 43 + if [ -n "$force_color_prompt" ]; then 44 + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then 45 + # We have color support; assume it's compliant with Ecma-48 46 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such 47 + # a case would tend to support setf rather than setaf.) 48 + color_prompt=yes 49 + else 50 + color_prompt= 51 + fi 52 + fi 53 + 54 + # If this is an xterm set the title to user@host:dir 55 + case "$TERM" in 56 + xterm*|rxvt*) 57 + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" 58 + ;; 59 + *) 60 + ;; 61 + esac 62 + 63 + # colored GCC warnings and errors 64 + export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' 65 + 66 + # Alias definitions. 67 + # You may want to put all your additions into a separate file like 68 + # ~/.bash_aliases, instead of adding them here directly. 69 + # See /usr/share/doc/bash-doc/examples in the bash-doc package. 70 + 71 + source "${HOME}/.config/bash/aliases" 72 + source "${HOME}/.config/bash/tools/automated-deploy.bashrc" 73 + source "${HOME}/.config/bash/functions" 74 + 75 + # enable programmable completion features (you don't need to enable 76 + # this, if it's already enabled in /etc/bash.bashrc and /etc/profile 77 + # sources /etc/bash.bashrc). 78 + if ! shopt -oq posix; then 79 + if [ -f /usr/share/bash-completion/bash_completion ]; then 80 + . /usr/share/bash-completion/bash_completion 81 + elif [ -f /etc/bash_completion ]; then 82 + . /etc/bash_completion 83 + fi 84 + fi
+11
.config/bash/completions/gopass.bash
··· 1 + _gopass_bash_autocomplete() { 2 + local cur opts base 3 + COMPREPLY=() 4 + cur="${COMP_WORDS[COMP_CWORD]}" 5 + opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion ) 6 + local IFS=$'\n' 7 + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) 8 + return 0 9 + } 10 + 11 + complete -F _gopass_bash_autocomplete gopass
+53
.config/bash/functions
··· 1 + #!/usr/bin/env bash 2 + # shellcheck disable=SC2046 3 + 4 + # handle .env.keys detection 5 + _load_env_keys() { 6 + if [[ "$LAST_DOTENV_DIR" == "$PWD" ]]; then 7 + return 8 + elif [[ "$LAST_DOTENV_DIR" != "$PWD" ]] && [ -f "$LAST_DOTENV_DIR/.env.keys" ]; then 9 + return 10 + fi 11 + 12 + if [ -f "$PWD/.env.keys" ] && [[ "$LOADED_DOTENV_KEYS" != "1" ]]; then 13 + echo "dotenv-keys: loading up dotenv keys from this directory" 14 + export "$(grep -v '^#' .env.keys | xargs)" 15 + export DOTENV_KEYS_LOADED=1 LAST_DOTENV_DIR=$PWD DOTENV_KEYS_LOADER=auto 16 + elif [ ! -f "$PWD/.env.keys" ] && [[ "$LOADED_DOTENV_KEYS" == "1" ]]; then 17 + echo "dotenv-keys: unloading dotenv keys" 18 + unset "${!DOTENV_PRIVATE_KEYS*}" DOTENV_KEYS_LOADED DOTENV_KEYS_LOADER 19 + export LAST_DOTENV_DIR=$PWD 20 + fi 21 + } 22 + 23 + if [[ ";${PROMPT_COMMAND[*]:-};" != *";_load_env_keys;"* ]]; then 24 + if [[ "$(declare -p PROMPT_COMMAND 2>&1)" == "declare -a"* ]]; then 25 + PROMPT_COMMAND=(_load_env_keys "${PROMPT_COMMAND[@]}") 26 + else 27 + PROMPT_COMMAND="_load_env_keys${PROMPT_COMMAND:+;$PROMPT_COMMAND}" 28 + fi 29 + fi 30 + 31 + # Allow manual access to .env.keys, even without the keys autoloader. 32 + dotenv-keys() { 33 + if [[ $1 == "load" ]]; then 34 + if [ ! -f "$PWD/.env.keys" ]; then 35 + echo "error: missing dotenv encryption keys" 36 + return 1 37 + fi 38 + 39 + echo "dotenv-keys: loading up dotenv keys from this directory" 40 + export "$(grep -v '^#' .env.keys | xargs)" 41 + 42 + export LOADED_DOTENV_KEYS=$PWD DOTENV_KEYS_LOADER=manual DOTENV_KEYS_LOADED=1 43 + elif [[ $1 == "unload" ]]; then 44 + echo "dotenv-keys: manually unloading dotenv keys" 45 + unset "${!DOTENV_PRIVATE_KEY*}" DOTENV_KEYS_LOADED DOTENV_KEYS_LOADER DOTENV_KEYS_LOADED 46 + else 47 + echo "dotenv-keys - .env.keys manager for dotenvx" 48 + echo "" 49 + echo "Commands:" 50 + echo " load - load keys from .env.keys in current directory into shell session" 51 + echo " unload - unload keys from shell session" 52 + fi 53 + }
+7
.config/bash/hosts/btwscar-wsl-Alpine.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + alias rehash-and-build="abuild checksum && abuild -r" 4 + export GIT_EDITOR="code-insiders --wait" 5 + 6 + # handled locally via automated-deploy.bashrc 7 + #source "${HOME}/.config/bash/tools/nixpkgs.bashrc"
.config/bash/shell-prompts/.gitkeep

This is a binary file and will not be displayed.

+59
.config/bash/shell-prompts/psflt.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + __sig() { 4 + # Giant switch case for getting the name of the signal (`kill -l`) 5 + a=0 6 + for i in $@; do 7 + a=$((a+1)) 8 + case $i in 9 + 126) printf ACCES ;; 10 + 127) printf NOENT ;; 11 + 129) printf HUP ;; 12 + 130) printf INT ;; 13 + 131) printf QUIT ;; 14 + 132) printf ILL ;; 15 + 133) printf TRAP ;; 16 + 134) printf ABRT ;; 17 + 135) printf BUS ;; 18 + 136) printf FPE ;; 19 + 137) printf KILL ;; 20 + 138) printf USR1 ;; 21 + 139) printf SEGV ;; 22 + 140) printf USR2 ;; 23 + 141) printf PIPE ;; 24 + 142) printf ALRM ;; 25 + 143) printf TERM ;; 26 + 144) printf STKFLT ;; 27 + 145) printf CHLD ;; 28 + 146) printf CONT ;; 29 + 147) printf STOP ;; 30 + 148) printf TSTP ;; 31 + 149) printf TTIN ;; 32 + 150) printf TTOU ;; 33 + 151) printf URG ;; 34 + 152) printf XCPU ;; 35 + 153) printf XFSZ ;; 36 + 154) printf VTALRM ;; 37 + 155) printf PROF ;; 38 + 156) printf WINCH ;; 39 + 157) printf IO ;; 40 + 158) printf PWR ;; 41 + 159) printf SYS ;; 42 + 16[3-9]|1[7-8][0-9]|19[0-2]) printf RT$(($i-128)) ;; # Savagery 43 + *) printf $i ;; # Print exit code if not in list 44 + esac 45 + done 46 + } 47 + sig() { 48 + PLC=(${PIPESTATUS[@]}) 49 + printf "$(__sig ${PLC[@]})" 50 + } 51 + NO_COLOUR="\[\033[0m\]" 52 + # Bold Colours 53 + RED="\[\033[01;31m\]" 54 + GREEN="\[\033[01;32m\]" 55 + YELLOW="\[\033[01;33m\]" 56 + BLUE="\[\033[01;34m\]" 57 + 58 + PS1="[${RED}\$(sig)${NO_COLOUR}] [\t] [${RED}\u${NO_COLOUR}@${GREEN}\h${NO_COLOUR}|${BLUE}\w${NO_COLOUR}] [${YELLOW}#\#${NO_COLOUR}] ${GREEN}\$ ${NO_COLOUR}" 59 +
+171
.config/bash/shell-prompts/vern.bashrc
··· 1 + #!/bin/bash 2 + # shebang for syntax highlighting purposes 3 + 4 + # Colors 5 + _NON="\[\033[0m\]" 6 + _BLD="\[\033[1m\]" # YEP BALD 7 + _BLK="\[\033[30m\]" 8 + _RED="\[\033[31m\]" 9 + _GRN="\[\033[32m\]" 10 + _YLW="\[\033[33m\]" 11 + _BLU="\[\033[34m\]" 12 + _PRP="\[\033[35m\]" 13 + _CYN="\[\033[36m\]" 14 + _WHT="\[\033[37m\]" 15 + 16 + __debug_trap() { 17 + # Set necessary pre-command variables (PROMPT_COMMAND is a 18 + # command so its excluded here) 19 + if [[ "$BASH_COMMAND" != "$PROMPT_COMMAND" 20 + && "$LAST_BASH_COMMAND" == "$PROMPT_COMMAND" ]]; then 21 + INC_TIME=1 22 + LAST_RT="$EPOCHREALTIME" # This should be the last thing done in this function 23 + fi 24 + LAST_BASH_COMMAND="$BASH_COMMAND" 25 + } 26 + 27 + trap '__debug_trap' DEBUG 28 + 29 + __get_cmd_time() { 30 + # Set hours minutes seconds and remove preceding zeros 31 + local YEAR=$((10#0$(($(TZ=UTC printf '%(%Y)T' $CMD_TIME)))-1970)) 32 + local DAYS=$((10#0$(TZ=UTC printf '%(%j)T' $CMD_TIME))) 33 + local HOUR=$((10#0$(TZ=UTC printf '%(%H)T' $CMD_TIME))) 34 + local MINS=$((10#0$(TZ=UTC printf '%(%M)T' $CMD_TIME))) 35 + local SECS=$((10#0$(TZ=UTC printf '%(%S)T' $CMD_TIME))) 36 + 37 + # Choose whether or not to print hours minutes and seconds 38 + [[ $CMD_TIME -ge 31536000 ]] && printf '%sy ' ${YEAR} 39 + [[ $CMD_TIME -ge 86400 ]] && printf '%sd ' ${DAYS} 40 + [[ $CMD_TIME -ge 3600 ]] && printf '%sh ' ${HOUR} 41 + [[ $CMD_TIME -ge 60 ]] && printf '%sm ' ${MINS} 42 + [[ $CMD_TIME -ge 1 ]] && printf '%ss ' ${SECS} 43 + # If you want to have a limit uncomment the next line and replace somenum with 44 + # the minimum microseconds 45 + # [[ $CMD_US -ge somenum ]] && 46 + printf '%sฮผs' ${CMD_US:-0} 47 + } 48 + 49 + __sig() { 50 + # Giant switch case for getting the name of the signal (`kill -l`) 51 + j=0 52 + for i in $@; do 53 + if [[ $j != 0 ]]; then 54 + printf '%s|%s' "$_WHT" "$_RED" 55 + fi 56 + j=$((j+1)) 57 + case $i in 58 + 126) printf ACCES ;; 59 + 127) printf NOENT ;; 60 + 129) printf HUP ;; 61 + 130) printf INT ;; 62 + 131) printf QUIT ;; 63 + 132) printf ILL ;; 64 + 133) printf TRAP ;; 65 + 134) printf ABRT ;; 66 + 135) printf BUS ;; 67 + 136) printf FPE ;; 68 + 137) printf KILL ;; 69 + 138) printf USR1 ;; 70 + 139) printf SEGV ;; 71 + 140) printf USR2 ;; 72 + 141) printf PIPE ;; 73 + 142) printf ALRM ;; 74 + 143) printf TERM ;; 75 + 144) printf STKFLT ;; 76 + 145) printf CHLD ;; 77 + 146) printf CONT ;; 78 + 147) printf STOP ;; 79 + 148) printf TSTP ;; 80 + 149) printf TTIN ;; 81 + 150) printf TTOU ;; 82 + 151) printf URG ;; 83 + 152) printf XCPU ;; 84 + 153) printf XFSZ ;; 85 + 154) printf VTALRM ;; 86 + 155) printf PROF ;; 87 + 156) printf WINCH ;; 88 + 157) printf IO ;; 89 + 158) printf PWR ;; 90 + 159) printf SYS ;; 91 + 16[3-9]|1[7-8][0-9]|19[0-2]) printf RT$(($i-128)) ;; # Savagery 92 + *) printf $i ;; # Print exit code if not in list 93 + esac 94 + done 95 + } 96 + 97 + __ssh() { 98 + local CON=($SSH_CONNECTION) 99 + local SRV_IP="${CON[2]}" 100 + [[ -z "$SRV_IP" ]] && return 101 + local SRV_PORT="${CON[3]}" 102 + # 4 chars from startand 4 chars from end 103 + local SRV_IP_CUT="${_CYN}${SRV_IP}" 104 + [[ ${#SRV_IP} -gt 8 ]] && local SRV_IP_CUT="${_CYN}${SRV_IP:0:4}${_WHT}*${_CYN}${SRV_IP: -4}" 105 + 106 + printf '%s' "${_GRN}${_BLU}[${SRV_IP_CUT}${_PRP}${_BLD}:${_NON}${_CYN}${SRV_PORT}${_BLU}]${_NON}" 107 + } 108 + 109 + __prompt() { 110 + # Get exit code (must be first) 111 + local PLC=(${PIPESTATUS[@]}) 112 + 113 + # Reset time when prompt was first displayed after command 114 + # this contributes to the 40 microsecond difference in $CMD_US and the actual time it took 115 + if [[ "$INC_TIME" != 0 ]]; then 116 + PROMPT_RT="$EPOCHREALTIME" 117 + INC_TIME=0 118 + fi 119 + 120 + # *_RT may not be set 121 + LAST_RT="${LAST_RT:-$EPOCHREALTIME}" 122 + PROMPT_RT="${PROMPT_RT:-$EPOCHREALTIME}" 123 + 124 + # Get relative times 125 + 126 + # Remove decimal point, simulating multiplying by 1 million 127 + PROMPT_RT1M="${PROMPT_RT/.}" 128 + LAST_RT1M="${LAST_RT/.}" 129 + 130 + CMD_US="$(($PROMPT_RT1M-$LAST_RT1M))" 131 + 132 + CMD_TIME=0 133 + 134 + # Remove last 6 chars, simulating dividing by 1 million to get a more accurate difference 135 + [[ ${#CMD_US} -lt 6 ]] || CMD_TIME="${CMD_US::-6}" 136 + 137 + [[ ${#CMD_US} -lt 6 ]] || CMD_US="${CMD_US: -6}" 138 + CMD_US="$((10#0$CMD_US))" 139 + 140 + # Set prompt sections 141 + 142 + # Text 143 + 144 + # ssh detection and indicator 145 + [[ "$SSH_CONNECTION" ]] && local SSH="$(__ssh) " 146 + 147 + # [INT], [4], etc. 148 + local i 149 + for i in ${PLC[@]}; do 150 + if [[ $i > 0 ]]; then 151 + local SIG="$(printf '%s[%s%s%s] ' "$_BLU" "$_RED" "$(__sig ${PLC[@]})" "$_BLU")" 152 + break 153 + fi 154 + done 155 + 156 + # [user@homeserver:~] 157 + local COL="$([[ $UID == 0 ]] && printf '%s' "$_RED" || printf '%s' "$_YLW")" 158 + local UHD="${_BLD}${_BLU}[${COL}\u${_PRP}@${_CYN}\h${_PRP}:${_GRN}\w${_BLU}]" 159 + 160 + # 2y 351d 12m 43s 382969ฮผs 161 + local TIME="${_YLW}$(__get_cmd_time)" 162 + 163 + # Random colored $ or # 164 + _RAND256="\[\033[38;2;$((RANDOM%256));$((RANDOM%256));$((RANDOM%256))m\]" 165 + local IND="${_RAND256}\\$" 166 + 167 + # Set the prompt 168 + PS1="${_NON}${SSH}${SIG}${UHD} ${TIME} ${IND} ${_NON}" 169 + } 170 + 171 + PROMPT_COMMAND=__prompt
+7
.config/bash/tools/asdf.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + [ -s "$HOME/.asdf/asdf.sh" ] && source "$HOME/.asdf/asdf.sh" 4 + 5 + if [[ $ASDF_DIR ]]; then 6 + eval "$(direnv hook bash)" # Load up direnv hook after asdf 7 + fi
+10
.config/bash/tools/automated-deploy.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + for file in "${HOME}"/.config/bash/tools/*.bashrc; do 4 + if [ "$file" == "${HOME}/.config/bash/tools/automated-deploy.bashrc" ]; then 5 + [[ $DEBUG != "" ]] && echo "avoiding source loop, skipping $file" 6 + else 7 + [[ $DEBUG != "" ]] && echo "sourcing $file" 8 + source "$file" 9 + fi 10 + done
+5
.config/bash/tools/brew.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + export HOMEBREW_HOME=${HOMEBREW_HOME:-"/home/linuxbrew/.linuxbrew"} 4 + test -d "$HOMEBREW_HOME" && eval "$($HOMEBREW_HOME/bin/brew shellenv)" 5 + [[ -r "$HOMEBREW_HOME/etc/profile.d/bash_completion.sh" ]] && . "$HOMEBREW_HOME/etc/profile.d/bash_completion.sh"
+4
.config/bash/tools/deno.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + export DENO_INSTALL="$HOME/.deno" 4 + [ -d "$DENO_INSTALL/bin" ] && export PATH="$DENO_INSTALL/bin:$PATH"
+9
.config/bash/tools/nixpkgs.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + if [[ -d "$HOME/.nix-profile/etc/profile.d/nix.sh" ]] && [[ $FF_DISABLE_NIXPKGS != "true" ]]; then 4 + source "${HOME}/.nix-profile/etc/profile.d/nix.sh" 5 + fi 6 + 7 + if command -v devbox >> /dev/null; then 8 + eval "$(devbox global shellenv)" 9 + fi
+5
.config/bash/tools/nvm.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + export NVM_DIR="$HOME/.nvm" 4 + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 5 + [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
+5
.config/bash/tools/yadm.bashrc
··· 1 + #!/usr/bin/env bash 2 + 3 + if [ -f "$HOME/.yadm-project/yadm" ]; then 4 + export PATH="$HOME/.yadm-project:$PATH" 5 + fi
+248
.config/btop/btop.conf
··· 1 + #? Config file for btop v. 1.3.2 2 + 3 + #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. 4 + #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" 5 + color_theme = "Default" 6 + 7 + #* If the theme set background should be shown, set to False if you want terminal background transparency. 8 + theme_background = True 9 + 10 + #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. 11 + truecolor = True 12 + 13 + #* Set to true to force tty mode regardless if a real tty has been detected or not. 14 + #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. 15 + force_tty = False 16 + 17 + #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. 18 + #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. 19 + #* Use whitespace " " as separator between different presets. 20 + #* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" 21 + presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" 22 + 23 + #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. 24 + #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. 25 + vim_keys = False 26 + 27 + #* Rounded corners on boxes, is ignored if TTY mode is ON. 28 + rounded_corners = True 29 + 30 + #* Default symbols to use for graph creation, "braille", "block" or "tty". 31 + #* "braille" offers the highest resolution but might not be included in all fonts. 32 + #* "block" has half the resolution of braille but uses more common characters. 33 + #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. 34 + #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. 35 + graph_symbol = "braille" 36 + 37 + # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 38 + graph_symbol_cpu = "default" 39 + 40 + # Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". 41 + graph_symbol_gpu = "default" 42 + 43 + # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 44 + graph_symbol_mem = "default" 45 + 46 + # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 47 + graph_symbol_net = "default" 48 + 49 + # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 50 + graph_symbol_proc = "default" 51 + 52 + #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. 53 + shown_boxes = "cpu mem net proc" 54 + 55 + #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. 56 + update_ms = 200 57 + 58 + #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", 59 + #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. 60 + proc_sorting = "cpu lazy" 61 + 62 + #* Reverse sorting order, True or False. 63 + proc_reversed = False 64 + 65 + #* Show processes as a tree. 66 + proc_tree = True 67 + 68 + #* Use the cpu graph colors in the process list. 69 + proc_colors = True 70 + 71 + #* Use a darkening gradient in the process list. 72 + proc_gradient = True 73 + 74 + #* If process cpu usage should be of the core it's running on or usage of the total available cpu power. 75 + proc_per_core = True 76 + 77 + #* Show process memory as bytes instead of percent. 78 + proc_mem_bytes = True 79 + 80 + #* Show cpu graph for each process. 81 + proc_cpu_graphs = True 82 + 83 + #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) 84 + proc_info_smaps = False 85 + 86 + #* Show proc box on left side of screen instead of right. 87 + proc_left = False 88 + 89 + #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). 90 + proc_filter_kernel = False 91 + 92 + #* In tree-view, always accumulate child process resources in the parent process. 93 + proc_aggregate = False 94 + 95 + #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. 96 + #* Select from a list of detected attributes from the options menu. 97 + cpu_graph_upper = "Auto" 98 + 99 + #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. 100 + #* Select from a list of detected attributes from the options menu. 101 + cpu_graph_lower = "Auto" 102 + 103 + #* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". 104 + show_gpu_info = "Auto" 105 + 106 + #* Toggles if the lower CPU graph should be inverted. 107 + cpu_invert_lower = True 108 + 109 + #* Set to True to completely disable the lower CPU graph. 110 + cpu_single_graph = False 111 + 112 + #* Show cpu box at bottom of screen instead of top. 113 + cpu_bottom = False 114 + 115 + #* Shows the system uptime in the CPU box. 116 + show_uptime = True 117 + 118 + #* Show cpu temperature. 119 + check_temp = True 120 + 121 + #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. 122 + cpu_sensor = "Auto" 123 + 124 + #* Show temperatures for cpu cores also if check_temp is True and sensors has been found. 125 + show_coretemp = True 126 + 127 + #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. 128 + #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. 129 + #* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. 130 + #* Example: "4:0 5:1 6:3" 131 + cpu_core_map = "" 132 + 133 + #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". 134 + temp_scale = "celsius" 135 + 136 + #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. 137 + base_10_sizes = False 138 + 139 + #* Show CPU frequency. 140 + show_cpu_freq = True 141 + 142 + #* Draw a clock at top of screen, formatting according to strftime, empty string to disable. 143 + #* Special formatting: /host = hostname | /user = username | /uptime = system uptime 144 + clock_format = "%X" 145 + 146 + #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. 147 + background_update = True 148 + 149 + #* Custom cpu model name, empty string to disable. 150 + custom_cpu_name = "" 151 + 152 + #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". 153 + #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". 154 + disks_filter = "" 155 + 156 + #* Show graphs instead of meters for memory values. 157 + mem_graphs = True 158 + 159 + #* Show mem box below net box instead of above. 160 + mem_below_net = False 161 + 162 + #* Count ZFS ARC in cached and available memory. 163 + zfs_arc_cached = True 164 + 165 + #* If swap memory should be shown in memory box. 166 + show_swap = True 167 + 168 + #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. 169 + swap_disk = True 170 + 171 + #* If mem box should be split to also show disks info. 172 + show_disks = True 173 + 174 + #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. 175 + only_physical = True 176 + 177 + #* Read disks list from /etc/fstab. This also disables only_physical. 178 + use_fstab = True 179 + 180 + #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) 181 + zfs_hide_datasets = False 182 + 183 + #* Set to true to show available disk space for privileged users. 184 + disk_free_priv = False 185 + 186 + #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. 187 + show_io_stat = True 188 + 189 + #* Toggles io mode for disks, showing big graphs for disk read/write speeds. 190 + io_mode = False 191 + 192 + #* Set to True to show combined read/write io graphs in io mode. 193 + io_graph_combined = False 194 + 195 + #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". 196 + #* Example: "/mnt/media:100 /:20 /boot:1". 197 + io_graph_speeds = "" 198 + 199 + #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. 200 + net_download = 100 201 + 202 + net_upload = 100 203 + 204 + #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. 205 + net_auto = True 206 + 207 + #* Sync the auto scaling for download and upload to whichever currently has the highest scale. 208 + net_sync = False 209 + 210 + #* Starts with the Network Interface specified here. 211 + net_iface = "" 212 + 213 + #* Show battery stats in top right if battery is present. 214 + show_battery = True 215 + 216 + #* Which battery to use if multiple are present. "Auto" for auto detection. 217 + selected_battery = "Auto" 218 + 219 + #* Show power stats of battery next to charge indicator. 220 + show_battery_watts = True 221 + 222 + #* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". 223 + #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. 224 + log_level = "WARNING" 225 + 226 + #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. 227 + nvml_measure_pcie_speeds = True 228 + 229 + #* Horizontally mirror the GPU graph. 230 + gpu_mirror_graph = True 231 + 232 + #* Custom gpu0 model name, empty string to disable. 233 + custom_gpu_name0 = "" 234 + 235 + #* Custom gpu1 model name, empty string to disable. 236 + custom_gpu_name1 = "" 237 + 238 + #* Custom gpu2 model name, empty string to disable. 239 + custom_gpu_name2 = "" 240 + 241 + #* Custom gpu3 model name, empty string to disable. 242 + custom_gpu_name3 = "" 243 + 244 + #* Custom gpu4 model name, empty string to disable. 245 + custom_gpu_name4 = "" 246 + 247 + #* Custom gpu5 model name, empty string to disable. 248 + custom_gpu_name5 = ""
+22
.config/gh/config.yml
··· 1 + # The current version of the config schema 2 + version: 1 3 + # What protocol to use when performing git operations. Supported values: ssh, https 4 + git_protocol: https 5 + # What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. 6 + editor: 7 + # When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled 8 + prompt: enabled 9 + # A pager program to send command output to, e.g. "less". If blank, will refer to environment. Set the value to "cat" to disable the pager. 10 + pager: 11 + # Aliases allow you to create nicknames for gh commands 12 + aliases: 13 + co: pr checkout 14 + login: auth login 15 + logout: auth logout 16 + clone: repo clone 17 + mr: pr 18 + fork: repo fork 19 + # The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. 20 + http_unix_socket: 21 + # What web browser gh should use when opening URLs. If blank, will refer to environment. 22 + browser:
.config/git/.gitkeep

This is a binary file and will not be displayed.

+12
.config/git/recaptime-dev.include.gitconfig
··· 1 + [user] 2 + name = Andrei Jiroh Halili (RecapTime.dev) 3 + email = ajhalili2006@crew.recaptime.dev 4 + signingkey = 52B6B65187A7469A 5 + [commit] 6 + template = ~/.config/git/commit-message-templates/recaptime-dev 7 + [url "ssh://git@git.jetbrains.space/recaptime/"] 8 + pushInsteadOf = "https://git.jetbrains.space/recaptime/" 9 + insteadOf = "https://git.jetbrains.space/recaptime/" 10 + [url "ssh://git@git.jetbrains.space/lorebooksdotwiki/"] 11 + pushInsteadOf = "https://git.jetbrains.space/lorebooksdotwiki/" 12 + insteadOf = "https://git.jetbrains.space/lorebooksdotwiki/"
+4
.config/glab-cli/aliases.yml
··· 1 + ci: pipeline ci 2 + co: mr checkout 3 + clone: repo clone 4 + pr: mr
+61
.config/htop/htoprc
··· 1 + # Beware! This file is rewritten by htop when settings are changed in the interface. 2 + # The parser is also very primitive, and not human-friendly. 3 + htop_version=3.3.0 4 + config_reader_min_version=3 5 + fields=0 48 17 18 38 39 40 2 46 47 49 1 6 + hide_kernel_threads=1 7 + hide_userland_threads=0 8 + hide_running_in_container=0 9 + shadow_other_users=1 10 + show_thread_names=1 11 + show_program_path=1 12 + highlight_base_name=1 13 + highlight_deleted_exe=1 14 + shadow_distribution_path_prefix=0 15 + highlight_megabytes=1 16 + highlight_threads=1 17 + highlight_changes=0 18 + highlight_changes_delay_secs=5 19 + find_comm_in_cmdline=1 20 + strip_exe_from_cmdline=1 21 + show_merged_command=1 22 + header_margin=1 23 + screen_tabs=0 24 + detailed_cpu_time=1 25 + cpu_count_from_one=1 26 + show_cpu_usage=1 27 + show_cpu_frequency=1 28 + update_process_names=1 29 + account_guest_in_cpu_meter=1 30 + color_scheme=0 31 + enable_mouse=1 32 + delay=5 33 + hide_function_bar=0 34 + header_layout=two_50_50 35 + column_meters_0=AllCPUs Memory Swap DiskIO NetworkIO 36 + column_meter_modes_0=1 1 1 1 1 37 + column_meters_1=Hostname Tasks LoadAverage Uptime DateTime 38 + column_meter_modes_1=2 2 2 2 2 39 + tree_view=1 40 + sort_key=46 41 + tree_sort_key=47 42 + sort_direction=-1 43 + tree_sort_direction=-1 44 + tree_view_always_by_pid=0 45 + all_branches_collapsed=0 46 + screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command 47 + .sort_key=PERCENT_CPU 48 + .tree_sort_key=PERCENT_MEM 49 + .tree_view_always_by_pid=0 50 + .tree_view=1 51 + .sort_direction=-1 52 + .tree_sort_direction=-1 53 + .all_branches_collapsed=0 54 + screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE Command 55 + .sort_key=IO_RATE 56 + .tree_sort_key=PID 57 + .tree_view_always_by_pid=0 58 + .tree_view=0 59 + .sort_direction=-1 60 + .tree_sort_direction=1 61 + .all_branches_collapsed=0
-14
.config/nix/nix.conf
··· 1 - # Technically shared/meta-configs.nix but as a user-wise config, to be used on home-manager. 2 - extra-experimental-features = nix-command flakes auto-allocate-uids blake3-hashes ca-derivations cgroups configurable-impure-env dynamic-derivations external-builders fetch-closure fetch-tree git-hashing impure-derivations local-overlay-store mounted-ssh-store no-url-literals pipe-operators read-only-local-store verified-fetches 3 - extra-platforms = aarch64-linux x86_64-linux 4 - 5 - # adjust based on CPU cores 6 - max-jobs = auto 7 - 8 - # substituters and pubkeys 9 - extra-substituters = https://cache.nixos.org https://cache.flakehub.com https://nix-community.cachix.org https://devenv.cachix.org 10 - extra-trusted-substituters = https://cache.nixos.org https://cache.flakehub.com https://nix-community.cachix.org https://andreijiroh-dev.cachix.org https://ajhalili2006-nixos-builds.cachix.org https://recaptime-dev.cachix.org 11 - extra-trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM= cache.flakehub.com-4:Asi8qIv291s0aYLyH6IOnr5Kf6+OF14WVjkE6t3xMio= cache.flakehub.com-5:zB96CRlL7tiPtzA9/WKyPkp3A2vqxqgdgyTVNGShPDU= cache.flakehub.com-6:W4EGFwAGgBj3he7c5fNh9NkOXw0PUVaxygCVKeuvaqU= cache.flakehub.com-7:mvxJ2DZVHn/kRxlIaxYNMuDG1OvMckZu32um1TadOR8= cache.flakehub.com-8:moO+OVS0mnTjBTcOUh2kYLQEd59ExzyoW1QgQ8XAARQ= cache.flakehub.com-9:wChaSeTI6TeCuV/Sg2513ZIM9i0qJaYsF+lZCXg0J6o= cache.flakehub.com-10:2GqeNlIp6AKp4EF2MVbE1kBOp9iBSyo0UPR9KoR0o1Y= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= ajhalili2006-nixos-builds.cachix.org-1:fA8HXvGR1i792D+CxL2iW/TQzUcyoW7zPUmC9Q4mQLg= andreijiroh-dev.cachix.org-1:7Jd0STdBOLiNu5fiA+AKwcMqQD2PA1j9zLDGyDkuyBo= recaptime-dev.cachix.org-1:b0UBO1zONf6ceTIoR06AKhgid4ZOl5kxB/gOIdZ9J6g= 12 - 13 - # instead of using nixpkgs-weekly at flakehub, we'll go straight to the source 14 - extra-nix-path = nixpkgs=https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/*.tar.gz home-manager=flake:github:nix-community/home-manager nur=flake:github:nix-community/NUR
-421
.config/nixos/flake.lock
··· 1 - { 2 - "nodes": { 3 - "determinate": { 4 - "inputs": { 5 - "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", 6 - "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", 7 - "determinate-nixd-x86_64-darwin": [ 8 - "determinate", 9 - "determinate-nixd-aarch64-darwin" 10 - ], 11 - "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", 12 - "nix": "nix", 13 - "nixpkgs": "nixpkgs_3" 14 - }, 15 - "locked": { 16 - "lastModified": 1733950326, 17 - "narHash": "sha256-nUTutqzg/Z0eEXrC1ACTa4a9Ik5Iyxgqo8uL9DYib7I=", 18 - "rev": "657395244a854da1bc71e38454958ecd57c0e241", 19 - "revCount": 165, 20 - "type": "tarball", 21 - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.165%2Brev-657395244a854da1bc71e38454958ecd57c0e241/0193b781-6c27-7703-bca6-fc9648fca81d/source.tar.gz" 22 - }, 23 - "original": { 24 - "type": "tarball", 25 - "url": "https://flakehub.com/f/DeterminateSystems/determinate/0.1" 26 - } 27 - }, 28 - "determinate-nixd-aarch64-darwin": { 29 - "flake": false, 30 - "locked": { 31 - "narHash": "sha256-I03XaJRNQHh/N3ea2qpMU78DahTm7tSfF+urRABhKiQ=", 32 - "type": "file", 33 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/macOS" 34 - }, 35 - "original": { 36 - "type": "file", 37 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/macOS" 38 - } 39 - }, 40 - "determinate-nixd-aarch64-linux": { 41 - "flake": false, 42 - "locked": { 43 - "narHash": "sha256-yxF7hyInOc+S1BEaxjLBLHUFjSAjC0bRKh0glUt4ilo=", 44 - "type": "file", 45 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/aarch64-linux" 46 - }, 47 - "original": { 48 - "type": "file", 49 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/aarch64-linux" 50 - } 51 - }, 52 - "determinate-nixd-x86_64-linux": { 53 - "flake": false, 54 - "locked": { 55 - "narHash": "sha256-/LPSCwR/ueorahCcyUSVym3y3lnRXkc6pqWwW2T/yT8=", 56 - "type": "file", 57 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/x86_64-linux" 58 - }, 59 - "original": { 60 - "type": "file", 61 - "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/x86_64-linux" 62 - } 63 - }, 64 - "flake-compat": { 65 - "flake": false, 66 - "locked": { 67 - "lastModified": 1696426674, 68 - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 69 - "owner": "edolstra", 70 - "repo": "flake-compat", 71 - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 72 - "type": "github" 73 - }, 74 - "original": { 75 - "owner": "edolstra", 76 - "repo": "flake-compat", 77 - "type": "github" 78 - } 79 - }, 80 - "flake-parts": { 81 - "inputs": { 82 - "nixpkgs-lib": [ 83 - "determinate", 84 - "nix", 85 - "nix", 86 - "nixpkgs" 87 - ] 88 - }, 89 - "locked": { 90 - "lastModified": 1719994518, 91 - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", 92 - "owner": "hercules-ci", 93 - "repo": "flake-parts", 94 - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", 95 - "type": "github" 96 - }, 97 - "original": { 98 - "owner": "hercules-ci", 99 - "repo": "flake-parts", 100 - "type": "github" 101 - } 102 - }, 103 - "flake-utils": { 104 - "inputs": { 105 - "systems": "systems" 106 - }, 107 - "locked": { 108 - "lastModified": 1681202837, 109 - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", 110 - "owner": "numtide", 111 - "repo": "flake-utils", 112 - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", 113 - "type": "github" 114 - }, 115 - "original": { 116 - "owner": "numtide", 117 - "repo": "flake-utils", 118 - "type": "github" 119 - } 120 - }, 121 - "git-hooks-nix": { 122 - "inputs": { 123 - "flake-compat": [ 124 - "determinate", 125 - "nix", 126 - "nix" 127 - ], 128 - "gitignore": [ 129 - "determinate", 130 - "nix", 131 - "nix" 132 - ], 133 - "nixpkgs": [ 134 - "determinate", 135 - "nix", 136 - "nix", 137 - "nixpkgs" 138 - ], 139 - "nixpkgs-stable": [ 140 - "determinate", 141 - "nix", 142 - "nix", 143 - "nixpkgs" 144 - ] 145 - }, 146 - "locked": { 147 - "lastModified": 1721042469, 148 - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", 149 - "owner": "cachix", 150 - "repo": "git-hooks.nix", 151 - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", 152 - "type": "github" 153 - }, 154 - "original": { 155 - "owner": "cachix", 156 - "repo": "git-hooks.nix", 157 - "type": "github" 158 - } 159 - }, 160 - "home-manager": { 161 - "inputs": { 162 - "nixpkgs": "nixpkgs_4" 163 - }, 164 - "locked": { 165 - "lastModified": 1735735907, 166 - "narHash": "sha256-/AOGn9qJMjrZQyWYbObHTKmWDUP0q9+0TAXOJnq6ik0=", 167 - "owner": "nix-community", 168 - "repo": "home-manager", 169 - "rev": "59a4c43e9ba6db24698c112720a58a334117de83", 170 - "type": "github" 171 - }, 172 - "original": { 173 - "owner": "nix-community", 174 - "ref": "master", 175 - "repo": "home-manager", 176 - "type": "github" 177 - } 178 - }, 179 - "libgit2": { 180 - "flake": false, 181 - "locked": { 182 - "lastModified": 1715853528, 183 - "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=", 184 - "owner": "libgit2", 185 - "repo": "libgit2", 186 - "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96", 187 - "type": "github" 188 - }, 189 - "original": { 190 - "owner": "libgit2", 191 - "ref": "v1.8.1", 192 - "repo": "libgit2", 193 - "type": "github" 194 - } 195 - }, 196 - "nix": { 197 - "inputs": { 198 - "nix": "nix_2", 199 - "nixpkgs": "nixpkgs_2" 200 - }, 201 - "locked": { 202 - "lastModified": 1733248733, 203 - "narHash": "sha256-rOFE8TSwWoup+LPNbmtTs6oLy7lYZ12L9GN+aZuQQaA=", 204 - "rev": "98bbabc68ac8c897c2ad873c3557125691c45120", 205 - "revCount": 108, 206 - "type": "tarball", 207 - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix/2.25.3/01939864-5191-788c-b898-163d916a3333/source.tar.gz" 208 - }, 209 - "original": { 210 - "type": "tarball", 211 - "url": "https://flakehub.com/f/DeterminateSystems/nix/2.0" 212 - } 213 - }, 214 - "nix_2": { 215 - "inputs": { 216 - "flake-compat": "flake-compat", 217 - "flake-parts": "flake-parts", 218 - "git-hooks-nix": "git-hooks-nix", 219 - "libgit2": "libgit2", 220 - "nixpkgs": "nixpkgs", 221 - "nixpkgs-23-11": "nixpkgs-23-11", 222 - "nixpkgs-regression": "nixpkgs-regression" 223 - }, 224 - "locked": { 225 - "lastModified": 1732881227, 226 - "narHash": "sha256-T+wFMm3cj8pGJSwXmPuxG5pz+1gRDJoToF9OBxtzocA=", 227 - "rev": "218cd6c16c0981cc32a45e3a15be1d3c1a68eb85", 228 - "revCount": 18724, 229 - "type": "tarball", 230 - "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.25.3/01938786-bc70-79e3-b7ee-bb61f8e7f238/source.tar.gz" 231 - }, 232 - "original": { 233 - "type": "tarball", 234 - "url": "https://flakehub.com/f/NixOS/nix/%3D2.25.3" 235 - } 236 - }, 237 - "nixos-hardware": { 238 - "locked": { 239 - "lastModified": 1735388221, 240 - "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", 241 - "owner": "NixOS", 242 - "repo": "nixos-hardware", 243 - "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", 244 - "type": "github" 245 - }, 246 - "original": { 247 - "owner": "NixOS", 248 - "ref": "master", 249 - "repo": "nixos-hardware", 250 - "type": "github" 251 - } 252 - }, 253 - "nixpkgs": { 254 - "locked": { 255 - "lastModified": 1723688146, 256 - "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", 257 - "owner": "NixOS", 258 - "repo": "nixpkgs", 259 - "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", 260 - "type": "github" 261 - }, 262 - "original": { 263 - "owner": "NixOS", 264 - "ref": "nixos-24.05", 265 - "repo": "nixpkgs", 266 - "type": "github" 267 - } 268 - }, 269 - "nixpkgs-23-11": { 270 - "locked": { 271 - "lastModified": 1717159533, 272 - "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", 273 - "owner": "NixOS", 274 - "repo": "nixpkgs", 275 - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 276 - "type": "github" 277 - }, 278 - "original": { 279 - "owner": "NixOS", 280 - "repo": "nixpkgs", 281 - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 282 - "type": "github" 283 - } 284 - }, 285 - "nixpkgs-regression": { 286 - "locked": { 287 - "lastModified": 1643052045, 288 - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", 289 - "owner": "NixOS", 290 - "repo": "nixpkgs", 291 - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 292 - "type": "github" 293 - }, 294 - "original": { 295 - "owner": "NixOS", 296 - "repo": "nixpkgs", 297 - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 298 - "type": "github" 299 - } 300 - }, 301 - "nixpkgs_2": { 302 - "locked": { 303 - "lastModified": 1733120037, 304 - "narHash": "sha256-En+gSoVJ3iQKPDU1FHrR6zIxSLXKjzKY+pnh9tt+Yts=", 305 - "rev": "f9f0d5c5380be0a599b1fb54641fa99af8281539", 306 - "revCount": 710194, 307 - "type": "tarball", 308 - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.710194%2Brev-f9f0d5c5380be0a599b1fb54641fa99af8281539/01938be8-64ce-75c6-94d4-dbc2e4d547fe/source.tar.gz" 309 - }, 310 - "original": { 311 - "type": "tarball", 312 - "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" 313 - } 314 - }, 315 - "nixpkgs_3": { 316 - "locked": { 317 - "lastModified": 1733686850, 318 - "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", 319 - "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", 320 - "revCount": 719099, 321 - "type": "tarball", 322 - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.719099%2Brev-dd51f52372a20a93c219e8216fe528a648ffcbf4/0193af12-b91a-77b9-9c72-3172a023752d/source.tar.gz" 323 - }, 324 - "original": { 325 - "type": "tarball", 326 - "url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/0.1.tar.gz" 327 - } 328 - }, 329 - "nixpkgs_4": { 330 - "locked": { 331 - "lastModified": 1735471104, 332 - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", 333 - "owner": "NixOS", 334 - "repo": "nixpkgs", 335 - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", 336 - "type": "github" 337 - }, 338 - "original": { 339 - "owner": "NixOS", 340 - "ref": "nixos-unstable", 341 - "repo": "nixpkgs", 342 - "type": "github" 343 - } 344 - }, 345 - "nixpkgs_5": { 346 - "locked": { 347 - "lastModified": 1735471104, 348 - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", 349 - "owner": "NixOS", 350 - "repo": "nixpkgs", 351 - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", 352 - "type": "github" 353 - }, 354 - "original": { 355 - "owner": "NixOS", 356 - "ref": "nixos-unstable", 357 - "repo": "nixpkgs", 358 - "type": "github" 359 - } 360 - }, 361 - "nixpkgs_6": { 362 - "locked": { 363 - "lastModified": 1682134069, 364 - "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", 365 - "owner": "NixOS", 366 - "repo": "nixpkgs", 367 - "rev": "fd901ef4bf93499374c5af385b2943f5801c0833", 368 - "type": "github" 369 - }, 370 - "original": { 371 - "id": "nixpkgs", 372 - "type": "indirect" 373 - } 374 - }, 375 - "root": { 376 - "inputs": { 377 - "determinate": "determinate", 378 - "home-manager": "home-manager", 379 - "nixos-hardware": "nixos-hardware", 380 - "nixpkgs": "nixpkgs_5", 381 - "vscode-server": "vscode-server" 382 - } 383 - }, 384 - "systems": { 385 - "locked": { 386 - "lastModified": 1681028828, 387 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 388 - "owner": "nix-systems", 389 - "repo": "default", 390 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 391 - "type": "github" 392 - }, 393 - "original": { 394 - "owner": "nix-systems", 395 - "repo": "default", 396 - "type": "github" 397 - } 398 - }, 399 - "vscode-server": { 400 - "inputs": { 401 - "flake-utils": "flake-utils", 402 - "nixpkgs": "nixpkgs_6" 403 - }, 404 - "locked": { 405 - "lastModified": 1729422940, 406 - "narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", 407 - "owner": "nix-community", 408 - "repo": "nixos-vscode-server", 409 - "rev": "8b6db451de46ecf9b4ab3d01ef76e59957ff549f", 410 - "type": "github" 411 - }, 412 - "original": { 413 - "owner": "nix-community", 414 - "repo": "nixos-vscode-server", 415 - "type": "github" 416 - } 417 - } 418 - }, 419 - "root": "root", 420 - "version": 7 421 - }
-35
.config/nixos/flake.nix
··· 1 - { 2 - description = "Andrei Jiroh's NixOS configurations"; 3 - 4 - # try to be in-sync with the nix-channels 5 - inputs = { 6 - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 7 - home-manager.url = "github:nix-community/home-manager/master"; 8 - nixos-hardware.url = "github:NixOS/nixos-hardware/master"; 9 - determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1"; 10 - vscode-server.url = "github:nix-community/nixos-vscode-server"; 11 - }; 12 - 13 - outputs = { 14 - self, 15 - nixpkgs, 16 - home-manager, 17 - nixos-hardware, 18 - determinate, 19 - vscode-server 20 - }: { 21 - nixosConfigurations = { 22 - stellapent-cier = nixpkgs.lib.nixosSystem { 23 - system = "x86_64-linux"; 24 - modules = [ 25 - ./hosts/stellapent-cier/configuration.nix 26 - 27 - # load Determinate Nix and the rest 28 - determinate.nixosModules.default 29 - vscode-server.nixosModules.default 30 - home-manager.nixosModules.home-manager 31 - ]; 32 - }; 33 - }; 34 - }; 35 - }
-136
.config/nixos/hosts/stellapent-cier/configuration.nix
··· 1 - # Edit this configuration file to define what should be installed on 2 - # your system. Help is available in the configuration.nix(5) man page 3 - # and in the NixOS manual (accessible by running โ€˜nixos-helpโ€™). 4 - 5 - { config, pkgs, lib, ... }: 6 - 7 - { 8 - imports = 9 - [ 10 - ./hardware-configuration.nix 11 - ../../shared/meta-configs.nix 12 - ../../shared/systemd.nix 13 - ../../shared/networking.nix 14 - ../../shared/locale.nix 15 - ../../shared/server/tailscale.nix 16 - ../../shared/server/ssh.nix 17 - ../../shared/desktop/kde-plasma.nix 18 - ../../shared/desktop/bluetooth.nix 19 - ../../shared/desktop/firewall.nix 20 - ]; 21 - 22 - # Bootloader. 23 - boot.loader.systemd-boot.enable = true; 24 - boot.loader.efi.canTouchEfiVariables = true; 25 - 26 - networking.hostName = "stellapent-cier"; # Define your hostname. 27 - #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 28 - 29 - # Configure network proxy if necessary 30 - # networking.proxy.default = "http://user:password@proxy:port/"; 31 - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 32 - 33 - # Enable networking via networkmanager 34 - networking.networkmanager.enable = true; 35 - 36 - # Enable the X11 windowing system. 37 - # You can disable this if you're only using the Wayland session. 38 - services.xserver.enable = true; 39 - 40 - # Configure keymap in X11 41 - services.xserver.xkb = { 42 - layout = "us"; 43 - variant = ""; 44 - }; 45 - 46 - # Enable CUPS to print documents. 47 - services.printing.enable = true; 48 - 49 - # Enable sound with pipewire. 50 - #hardware.pulseaudio = { 51 - # enable = true; 52 - # package = pkgs.pulseaudioFull; 53 - #}; 54 - #hardware.pulseaudio.extraConfig = " 55 - # load-module module-switch-on-connect 56 - #"; 57 - 58 - security.rtkit.enable = true; 59 - services.pipewire = { 60 - enable = true; 61 - alsa.enable = true; 62 - alsa.support32Bit = true; 63 - pulse.enable = true; 64 - # If you want to use JACK applications, uncomment this 65 - #jack.enable = true; 66 - 67 - # use the example session manager (no others are packaged yet so this is enabled by default, 68 - # no need to redefine it in your config for now) 69 - #media-session.enable = true; 70 - }; 71 - 72 - # firmware configurations 73 - #hardware.firmware = with pkgs; [ 74 - # (pkgs.fetchurl { 75 - # url = "https://raw.githubusercontent.com/winterheart/broadcom-bt-firmware/refs/heads/master/brcm/BCM43142A0-0a5c-216d.hcd"; 76 - # sha256 = "9ac1e0fac850eec21cda47977858039ffc774d0cfffc6688093a722efc5a3ec0"; 77 - # }) 78 - #]; 79 - 80 - # Enable touchpad support (enabled default in most desktopManager). 81 - # services.xserver.libinput.enable = true; 82 - 83 - # Define a user account. Don't forget to set a password with โ€˜passwdโ€™. 84 - # Might be obvious to some since I'm technically roleplaying as 85 - users.users.gildedguy = { 86 - isNormalUser = true; 87 - description = "Gildedguy (Michael Moy)"; 88 - extraGroups = [ "networkmanager" "wheel" ]; 89 - packages = with pkgs; [ 90 - kdePackages.kate 91 - thunderbird 92 - ]; 93 - }; 94 - 95 - # home-manager specifics 96 - home-manager.useUserPackages = true; 97 - home-manager.useGlobalPkgs = true; 98 - home-manager.users.gildedguy = import ./users/gildedguy.nix; 99 - #programs.home-manager.enable = true; # allow home-manager to manage itself 100 - 101 - # Install firefox. 102 - programs.firefox.enable = true; 103 - 104 - # List packages installed in system profile. To search, run: 105 - # $ nix search wget 106 - environment.systemPackages = with pkgs; [ 107 - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. 108 - wget 109 - dig 110 - broadcom-bt-firmware 111 - btop 112 - htop 113 - google-chrome 114 - direnv 115 - cachix 116 - ]; 117 - 118 - # Some programs need SUID wrappers, can be configured further or are 119 - # started in user sessions. 120 - programs.mtr.enable = true; 121 - 122 - # enable gpg-agent with SSH support 123 - programs.gnupg.agent = { 124 - enable = true; 125 - enableSSHSupport = true; 126 - }; 127 - 128 - # This value determines the NixOS release from which the default 129 - # settings for stateful data, like file locations and database versions 130 - # on your system were taken. Itโ€˜s perfectly fine and recommended to leave 131 - # this value at the release version of the first install of this system. 132 - # Before changing this value read the documentation for this option 133 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 134 - system.stateVersion = "24.11"; # Did you read the comment? 135 - 136 - }
-54
.config/nixos/hosts/stellapent-cier/hardware-configuration.nix
··· 1 - # Do not modify this file! It was generated by โ€˜nixos-generate-configโ€™ 2 - # and may be overwritten by future invocations. Please make changes 3 - # to /etc/nixos/configuration.nix instead. 4 - { config, lib, pkgs, modulesPath, ... }: 5 - 6 - { 7 - imports = 8 - [ (modulesPath + "/installer/scan/not-detected.nix") 9 - ]; 10 - 11 - boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; 12 - boot.initrd.kernelModules = [ ]; 13 - boot.kernelModules = [ "kvm-intel" ]; 14 - boot.extraModulePackages = [ ]; 15 - 16 - fileSystems."/" = 17 - { device = "/dev/disk/by-uuid/e3397457-41d2-4bed-9689-27a9ff3ccb51"; 18 - fsType = "ext4"; 19 - }; 20 - 21 - fileSystems."/boot" = 22 - { device = "/dev/disk/by-uuid/EC7C-6A58"; 23 - fsType = "vfat"; 24 - options = [ "fmask=0077" "dmask=0077" ]; 25 - }; 26 - 27 - fileSystems."/home" = 28 - { device = "/dev/disk/by-uuid/22a6f5ea-79d1-4919-b165-50063fd782f5"; 29 - fsType = "ext4"; 30 - }; 31 - 32 - fileSystems."/var/lib/docker" = 33 - { device = "/dev/disk/by-uuid/299133b8-2585-42a4-b7d1-c995d4fc9e19"; 34 - fsType = "ext4"; 35 - }; 36 - 37 - fileSystems."/workspaces" = 38 - { device = "/dev/disk/by-uuid/a8d0810e-4bbf-479d-baea-28b1441ad68f"; 39 - fsType = "ext4"; 40 - }; 41 - 42 - swapDevices = [ ]; 43 - 44 - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 45 - # (the default) this is the recommended approach. When using systemd-networkd it's 46 - # still possible to use this option, but it's recommended to use it in conjunction 47 - # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 48 - networking.useDHCP = lib.mkDefault true; 49 - # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true; 50 - # networking.interfaces.wlp0s20u3.useDHCP = lib.mkDefault true; 51 - 52 - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 53 - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 54 - }
-12
.config/nixos/hosts/stellapent-cier/users/gildedguy.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - imports = [ 5 - ../../../shared/home-manager/main.nix 6 - ]; 7 - 8 - config = { 9 - home.username = "gildedguy"; 10 - home.homeDirectory = "/home/gildedguy"; 11 - }; 12 - }
-10
.config/nixos/shared/desktop/bluetooth.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - hardware.bluetooth.enable = true; 5 - hardware.bluetooth.settings = { 6 - General = { 7 - Enable = "Source,Sink,Media,Socket"; 8 - }; 9 - }; 10 - }
-25
.config/nixos/shared/desktop/firewall.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - # Open ports in the firewall. 5 - networking.firewall.allowedTCPPortRanges = [ 6 - { from = 1714; to = 1764; } # used by KDE Connect 7 - { from = 3000; to = 3999; } 8 - { from = 8000; to = 8999; } 9 - ]; 10 - networking.firewall.allowedUDPPortRanges = [ 11 - { from = 1714; to = 1764; } # used by KDE Connect 12 - { from = 3000; to = 3999; } 13 - { from = 8000; to = 8999; } 14 - ]; 15 - networking.firewall.allowedTCPPorts = [ 16 - 22 17 - 80 18 - 443 19 - ]; 20 - networking.firewall.allowedUDPPorts = [ 21 - 22 22 - 80 23 - 443 24 - ]; 25 - }
-10
.config/nixos/shared/desktop/kde-plasma.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - # Enable the KDE Plasma Desktop Environment. 5 - services.displayManager.sddm.enable = true; 6 - services.desktopManager.plasma6.enable = true; 7 - 8 - # Also enable KDE Connect 9 - programs.kdeconnect.enable = true; 10 - }
-193
.config/nixos/shared/home-manager/main.nix
··· 1 - # This is the meta configuration for my dotfiles with home-manager, except 2 - # some home.{username,userDirectory} configs to ensure portability between 3 - # hosts 4 - 5 - { config, pkgs, lib, ... }: 6 - 7 - { 8 - # https://fnordig.de/til/nix/home-manager-allow-unfree.html 9 - nixpkgs = { 10 - config = { 11 - allowUnfree = true; 12 - # https://github.com/nix-community/home-manager/issues/2942 13 - allowUnfreePredicate = (_: true); 14 - }; 15 - }; 16 - 17 - # This value determines the Home Manager release that your configuration is 18 - # compatible with. This helps avoid breakage when a new Home Manager release 19 - # introduces backwards incompatible changes. 20 - # 21 - # You should not change this value, even if you update Home Manager. If you do 22 - # want to update the value, then make sure to first check the Home Manager 23 - # release notes. 24 - home.stateVersion = "24.11"; # Please read the comment before changing. 25 - 26 - # The home.packages option allows you to install Nix packages into your 27 - # environment. 28 - home.packages = with pkgs; [ 29 - # # Adds the 'hello' command to your environment. It prints a friendly 30 - # # "Hello, world!" when run. 31 - # pkgs.hello 32 - 33 - # # It is sometimes useful to fine-tune packages, for example, by applying 34 - # # overrides. You can do that directly here, just don't forget the 35 - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of 36 - # # fonts? 37 - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) 38 - 39 - # # You can also create simple shell scripts directly inside your 40 - # # configuration. For example, this adds a command 'my-hello' to your 41 - # # environment: 42 - # (pkgs.writeShellScriptBin "my-hello" '' 43 - # echo "Hello, ${config.home.username}!" 44 - # '') 45 - 46 - ## devtools ## 47 - # https://httpie.io 48 - httpie 49 - # https://devenv.sh 50 - devenv 51 - # https://cli.github.com 52 - gh 53 - # bet we'll going to have a field day since Copilot is now available for free 54 - # (this is seperate from the gh copilot extension for those asking) 55 - # context: https://github.blog/news-insights/product-news/github-copilot-in-vscode-free/ 56 - github-copilot-cli 57 - # markdownlint 58 - markdownlint-cli 59 - # https://doppler.com 60 - doppler 61 - direnv 62 - shellcheck 63 - hadolint 64 - 65 - ## programming languages 66 - deno 67 - nodejs_22 68 - python313 69 - pipx 70 - pipenv 71 - 72 - ## language servers ## 73 - # nix language server - https://github.com/oxalica/nil 74 - nil 75 - # https://github.com/alesbrelih/gitlab-ci-ls 76 - gitlab-ci-ls 77 - ]; 78 - 79 - home.sessionPath = [ 80 - "${config.home.homeDirectory}/bin" 81 - ]; 82 - 83 - # Home Manager is pretty good at managing dotfiles. The primary way to manage 84 - # plain files is through 'home.file'. 85 - home.file = { 86 - # # Building this configuration will create a copy of 'dotfiles/screenrc' in 87 - # # the Nix store. Activating the configuration will then make '~/.screenrc' a 88 - # # symlink to the Nix store copy. 89 - # ".screenrc".source = dotfiles/screenrc; 90 - 91 - # # You can also set the file content immediately. 92 - # ".gradle/gradle.properties".text = '' 93 - # org.gradle.console=verbose 94 - # org.gradle.daemon.idletimeout=3600000 95 - # ''; 96 - }; 97 - 98 - # Home Manager can also manage your environment variables through 99 - # 'home.sessionVariables'. These will be explicitly sourced when using a 100 - # shell provided by Home Manager. If you don't want to manage your shell 101 - # through Home Manager then you have to manually source 'hm-session-vars.sh' 102 - # located at either 103 - # 104 - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh 105 - # 106 - # or 107 - # 108 - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh 109 - # 110 - # or 111 - # 112 - # /etc/profiles/per-user/gildedguy/etc/profile.d/hm-session-vars.sh 113 - # 114 - home.sessionVariables = { 115 - EDITOR = "nano"; 116 - NIXOS_ALLOW_UNFREE = "1"; # for impure builds 117 - GIT_EDITOR = "code --wait"; 118 - VISUAL = "code --wait"; 119 - DOCKER_BUILDKIT = "1"; 120 - }; 121 - 122 - # Let Home Manager install and manage itself. 123 - programs.home-manager.enable = true; 124 - 125 - # let me cook with the configs, starting with git 126 - programs.git = { 127 - enable = true; 128 - package = pkgs.gitAndTools.gitFull; 129 - lfs = { 130 - enable = true; 131 - }; 132 - userName = "Andrei Jiroh Halili"; 133 - userEmail = "ajhalili2006@andreijiroh.dev"; 134 - aliases = { 135 - signoff = "commit --signoff"; 136 - amend = "commit -a --amend"; 137 - remotes = "remote -v"; 138 - root = "rev-parse --show-toplevel"; 139 - unstage = "restore --staged"; 140 - stats = "status"; 141 - }; 142 - extraConfig = { 143 - format = { 144 - signOff = true; 145 - }; 146 - init = { 147 - defaultBranch = "main"; 148 - }; 149 - 150 - # https://groups.google.com/g/binary-transparency/c/f-BI4o8HZW0 151 - transfer = { 152 - fsckobjects = true; 153 - }; 154 - fetch = { 155 - fsckobjects = true; 156 - }; 157 - receive = { 158 - fsckobjects = true; 159 - }; 160 - push = { 161 - autoSetupRemote = true; 162 - }; 163 - 164 - 165 - }; 166 - }; 167 - 168 - programs.vscode = { 169 - enable = true; 170 - package = pkgs.vscode; 171 - enableExtensionUpdateCheck = true; 172 - mutableExtensionsDir = true; 173 - # userSettings = { 174 - # "nix.enableLanguageServer" = true; 175 - # "nix.serverPath" = "nil"; 176 - # "window.customTitleBarVisibility" = "auto"; 177 - # "window.titleBarStyle" = "custom"; 178 - # "window.menuBarVisibility" = "classic"; 179 - # "redhat.telemetry.enabled" = true; 180 - # "github.copilot.editor.enableAutoCompletions" = false; 181 - # "github.copilot.chat.followUps" = "always"; 182 - # "github.copilot.chat.terminalChatLocation" = "terminal"; 183 - # "git.confirmSync" = false; 184 - # "microsoft-authentication.implementation" = "msal"; 185 - # "workbench.colorTheme" = "GitHub Dark Colorblind (Beta)"; 186 - # "workbench.iconTheme" = "material-icon-theme"; 187 - # "workbench.productIconTheme" = "material-product-icons"; 188 - # }; 189 - # We're importing what's generated from nix4vscode here as a workaround 190 - # for now. 191 - #extensions = lib.attrsets.mapAttrsToList (_: v: v) vscExts; 192 - }; 193 - }
-20
.config/nixos/shared/locale.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - # Set your time zone. 5 - time.timeZone = "Asia/Manila"; 6 - 7 - # Select internationalisation properties. 8 - i18n.defaultLocale = "en_PH.UTF-8"; 9 - i18n.extraLocaleSettings = { 10 - LC_ADDRESS = "en_PH.UTF-8"; 11 - LC_IDENTIFICATION = "en_PH.UTF-8"; 12 - LC_MEASUREMENT = "en_PH.UTF-8"; 13 - LC_MONETARY = "en_PH.UTF-8"; 14 - LC_NAME = "en_PH.UTF-8"; 15 - LC_NUMERIC = "en_PH.UTF-8"; 16 - LC_PAPER = "en_PH.UTF-8"; 17 - LC_TELEPHONE = "en_PH.UTF-8"; 18 - LC_TIME = "en_PH.UTF-8"; 19 - }; 20 - }
-70
.config/nixos/shared/meta-configs.nix
··· 1 - # This is the meta config file for nixpkgs and nix cli itself, including 2 - # trusted keys for cachnix caches 3 - 4 - { config, pkgs, lib, ... }: 5 - 6 - { 7 - # Adopted from https://fnordig.de/til/nix/home-manager-allow-unfree.html, 8 - # but we'll also enable it system-wide too. 9 - nixpkgs = { 10 - config = { 11 - allowUnfree = true; 12 - # https://github.com/nix-community/home-manager/issues/2942 13 - allowUnfreePredicate = (_: true); 14 - }; 15 - }; 16 - 17 - nix = { 18 - settings = { 19 - # See https://nix.dev/manual/nix/latest/development/experimental-features 20 - # for latest supported feature flags. 21 - experimental-features = [ 22 - "nix-command" 23 - "flakes" 24 - "ca-derivations" 25 - "cgroups" 26 - "impure-derivations" 27 - "git-hashing" 28 - "fetch-tree" 29 - "fetch-closure" 30 - "local-overlay-store" 31 - "mounted-ssh-store" 32 - # "verified-fetches" 33 - ]; 34 - 35 - trusted-users = [ 36 - "root" 37 - "gildedguy" 38 - "ajhalili2006" 39 - ]; 40 - 41 - # just sync with trusted-users, but w/o root 42 - allowed-users = [ 43 - "gildedguy" 44 - "ajhalili2006" 45 - ]; 46 - 47 - trusted-public-keys = [ 48 - # devenv.sh 49 - "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" 50 - 51 - # my caches for nixos and nixpkgs related builds (including devenvs) 52 - "ajhalili2006-nixos-builds.cachix.org-1:fA8HXvGR1i792D+CxL2iW/TQzUcyoW7zPUmC9Q4mQLg=" 53 - 54 - # the main cache itself 55 - "andreijiroh-dev.cachix.org-1:7Jd0STdBOLiNu5fiA+AKwcMqQD2PA1j9zLDGyDkuyBo=" 56 - 57 - # recaptime.dev cache 58 - "recaptime-dev.cachix.org-1:b0UBO1zONf6ceTIoR06AKhgid4ZOl5kxB/gOIdZ9J6g=" 59 - ]; 60 - 61 - # also list them all too 62 - trusted-substituters = [ 63 - "https://devenv.cachix.org" 64 - "https://andreijiroh-dev.cachix.org" 65 - "https://ajhalili2006-nixos-builds.cachix.org" 66 - "https://recaptime-dev.cachix.org" 67 - ]; 68 - }; 69 - }; 70 - }
-18
.config/nixos/shared/networking.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - # Do a lot of systemd-resolved related chores 5 - config.networking.nameservers = [ 6 - "45.90.28.0#c393f6.dns.nextdns.io" 7 - "45.90.30.0#c393f6.dns.nextdns.io" 8 - ]; 9 - 10 - config.services.resolved = { 11 - enable = true; 12 - dnssec = "false"; # https://superuser.com/a/1493674 13 - domains = [ "~." "fawn-cod.ts.net" ]; 14 - # Use Cloudflare DNS resolver as fallback if things go wrong. 15 - fallbackDns = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ]; 16 - dnsovertls = "true"; 17 - }; 18 - }
-22
.config/nixos/shared/server/firewall.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - { 4 - networking.firewall.allowedTCPPortRanges = [ 5 - { from = 3000; to = 3999; } 6 - { from = 8000; to = 8999; } 7 - ]; 8 - networking.firewall.allowedUDPPortRanges = [ 9 - { from = 3000; to = 3999; } 10 - { from = 8000; to = 8999; } 11 - ]; 12 - networking.firewall.allowedTCPPorts = [ 13 - 22 14 - 80 15 - 443 16 - ]; 17 - networking.firewall.allowedUDPPorts = [ 18 - 22 19 - 80 20 - 443 21 - ]; 22 - }
-15
.config/nixos/shared/server/ssh.nix
··· 1 - # To use this shared NixOS configuration for OpenSSH, just import this file 2 - # on your NixOS configuration. 3 - 4 - { config, pkgs, lib, ... }: 5 - 6 - { 7 - services.openssh = { 8 - enable = true; 9 - settings = { 10 - PermitRootLogin = "prohibit-password"; 11 - }; 12 - }; 13 - 14 - programs.mosh.enable = true; 15 - }
-17
.config/nixos/shared/server/tailscale.nix
··· 1 - # This Nix file contains the Tailscale configuration here 2 - # in NixOS, mostly on the side of the daemon and its related 3 - # configurations. 4 - 5 - { config, pkgs, lib, ... }: 6 - 7 - { 8 - services.tailscale = { 9 - enable = true; 10 - useRoutingFeatures = "both"; 11 - openFirewall = true; 12 - disableTaildrop = false; 13 - extraDaemonFlags = [ 14 - "--verbose 3" 15 - ]; 16 - }; 17 - }
-12
.config/nixos/shared/ssh-keys.nix
··· 1 - { 2 - personal = { 3 - y2022 = ""; 4 - }; 5 - rp_ssh_keys = { 6 - gildedguy = ""; 7 - }; 8 - 9 - recaptime-dev = { 10 - tbd = ""; 11 - }; 12 - }
-19
.config/nixos/shared/systemd.nix
··· 1 - { ... }: 2 - 3 - { 4 - services.timesyncd = { 5 - enable = true; 6 - servers = [ 7 - # https://pubfiles.pagasa.dost.gov.ph/tamss/oras/time_synchronization_for_windows_7_and_8.pdf 8 - "ntp.pagasa.dost.gov.ph" 9 - # https://www.cloudflare.com/time/ 10 - "time.cloudflare.com" 11 - ]; 12 - fallbackServers = [ 13 - "0.asia.pool.ntp.org" 14 - "1.asia.pool.ntp.org" 15 - "2.asia.pool.ntp.org" 16 - "3.asia.pool.ntp.org" 17 - ]; 18 - }; 19 - }
-443
.config/nixos/shared/vscode/extensions.nix
··· 1 - { pkgs, lib }: 2 - 3 - let 4 - inherit (pkgs.stdenv) isDarwin isLinux isi686 isx86_64 isAarch32 isAarch64; 5 - vscode-utils = pkgs.vscode-utils; 6 - merge = lib.attrsets.recursiveUpdate; 7 - in 8 - merge 9 - (merge 10 - (merge 11 - (merge 12 - { 13 - "ms-python"."vscode-pylance" = vscode-utils.extensionFromVscodeMarketplace { 14 - name = "vscode-pylance"; 15 - publisher = "ms-python"; 16 - version = "2024.12.100"; 17 - sha256 = "167cj9r476whfjg474s4nf7zi8v7cj58vrqiw86y4vcgl57v4h50"; 18 - }; 19 - "esbenp"."prettier-vscode" = vscode-utils.extensionFromVscodeMarketplace { 20 - name = "prettier-vscode"; 21 - publisher = "esbenp"; 22 - version = "11.0.0"; 23 - sha256 = "1fcz8f4jgnf24kblf8m8nwgzd5pxs2gmrv235cpdgmqz38kf9n54"; 24 - }; 25 - "ms-azuretools"."vscode-docker" = vscode-utils.extensionFromVscodeMarketplace { 26 - name = "vscode-docker"; 27 - publisher = "ms-azuretools"; 28 - version = "1.29.3"; 29 - sha256 = "1j35yr8f0bqzv6qryw0krbfigfna94b519gnfy46sr1licb6li6g"; 30 - }; 31 - "dbaeumer"."vscode-eslint" = vscode-utils.extensionFromVscodeMarketplace { 32 - name = "vscode-eslint"; 33 - publisher = "dbaeumer"; 34 - version = "3.0.13"; 35 - sha256 = "0yjrylvkw5q9w7kjigndm5m66qn8nranrm0m7qna8ggi0f2nz5cp"; 36 - }; 37 - "eamodio"."gitlens" = vscode-utils.extensionFromVscodeMarketplace { 38 - name = "gitlens"; 39 - publisher = "eamodio"; 40 - version = "2024.12.2404"; 41 - sha256 = "0wc0hqaxf5sh9wjsx29mnl6i8bf2jhsi4a1hshwiwm08p6lhg4fv"; 42 - }; 43 - "pkief"."material-icon-theme" = vscode-utils.extensionFromVscodeMarketplace { 44 - name = "material-icon-theme"; 45 - publisher = "pkief"; 46 - version = "5.16.0"; 47 - sha256 = "0ggwj2y84dyqhzl9kisddx64559bkhnfv94zxz6zcqyfq0vpycng"; 48 - }; 49 - "github"."vscode-pull-request-github" = vscode-utils.extensionFromVscodeMarketplace { 50 - name = "vscode-pull-request-github"; 51 - publisher = "github"; 52 - version = "0.103.2024121117"; 53 - sha256 = "0k90870ra85np0dg19mx2blr1yg9i2sk25mx08bblqh0hh0s5941"; 54 - }; 55 - "github"."copilot" = vscode-utils.extensionFromVscodeMarketplace { 56 - name = "copilot"; 57 - publisher = "github"; 58 - version = "1.254.1278"; 59 - sha256 = "0n55apya8q87l4ijfvj3qqwg6sij1k9is99zc2wffgmghqb9fv7l"; 60 - }; 61 - "wakatime"."vscode-wakatime" = vscode-utils.extensionFromVscodeMarketplace { 62 - name = "vscode-wakatime"; 63 - publisher = "wakatime"; 64 - version = "25.0.0"; 65 - sha256 = "1c5ilsj8zvcrhvh3gb9wbgz8llfkjgxnv39r12a3iyy3fvdg5zlz"; 66 - }; 67 - "github"."copilot-chat" = vscode-utils.extensionFromVscodeMarketplace { 68 - name = "copilot-chat"; 69 - publisher = "github"; 70 - version = "0.24.2024121201"; 71 - sha256 = "14cs1ncbv0fib65m1iv6njl892p09fmamjkfyxrsjqgks2hisz5z"; 72 - }; 73 - "xabikos"."javascriptsnippets" = vscode-utils.extensionFromVscodeMarketplace { 74 - name = "javascriptsnippets"; 75 - publisher = "xabikos"; 76 - version = "1.8.0"; 77 - sha256 = "19xg24alxsvq8pvafprshg7qxzx8p37bzk7qz6kjgkpvandrdpl6"; 78 - }; 79 - "github"."github-vscode-theme" = vscode-utils.extensionFromVscodeMarketplace { 80 - name = "github-vscode-theme"; 81 - publisher = "github"; 82 - version = "6.3.5"; 83 - sha256 = "0jj7bp5iadrm2h75pdn96z0wzygv0sfa93karvlqlwagh2hrvrkl"; 84 - }; 85 - "golang"."go" = vscode-utils.extensionFromVscodeMarketplace { 86 - name = "go"; 87 - publisher = "golang"; 88 - version = "0.45.0"; 89 - sha256 = "1ihy5pd5ymxarcgnq8ky7nfa9kk9x3hdazajirrh5f1m4cwgizn3"; 90 - }; 91 - "donjayamanne"."githistory" = vscode-utils.extensionFromVscodeMarketplace { 92 - name = "githistory"; 93 - publisher = "donjayamanne"; 94 - version = "0.6.20"; 95 - sha256 = "0x9q7sh5l1frpvfss32ypxk03d73v9npnqxif4fjwcfwvx5mhiww"; 96 - }; 97 - "streetsidesoftware"."code-spell-checker" = vscode-utils.extensionFromVscodeMarketplace { 98 - name = "code-spell-checker"; 99 - publisher = "streetsidesoftware"; 100 - version = "4.0.29"; 101 - sha256 = "1vx7qs66vbkshig029qgxmcx1shg5hkjkj7bd693hzfhz8702krs"; 102 - }; 103 - "editorconfig"."editorconfig" = vscode-utils.extensionFromVscodeMarketplace { 104 - name = "editorconfig"; 105 - publisher = "editorconfig"; 106 - version = "0.16.4"; 107 - sha256 = "0fa4h9hk1xq6j3zfxvf483sbb4bd17fjl5cdm3rll7z9kaigdqwg"; 108 - }; 109 - "bradlc"."vscode-tailwindcss" = vscode-utils.extensionFromVscodeMarketplace { 110 - name = "vscode-tailwindcss"; 111 - publisher = "bradlc"; 112 - version = "0.13.64"; 113 - sha256 = "14962pavlbdmqki6m7y7k9nvz1pcicrn3dw10lrcq8vxbj2bc416"; 114 - }; 115 - "davidanson"."vscode-markdownlint" = vscode-utils.extensionFromVscodeMarketplace { 116 - name = "vscode-markdownlint"; 117 - publisher = "davidanson"; 118 - version = "0.57.0"; 119 - sha256 = "1gsc3xsvy4qbz75frk6jjf2f95b0frmbclhgxi1j49zbh16y2b76"; 120 - }; 121 - "mikestead"."dotenv" = vscode-utils.extensionFromVscodeMarketplace { 122 - name = "dotenv"; 123 - publisher = "mikestead"; 124 - version = "1.0.1"; 125 - sha256 = "0rs57csczwx6wrs99c442qpf6vllv2fby37f3a9rhwc8sg6849vn"; 126 - }; 127 - "github"."codespaces" = vscode-utils.extensionFromVscodeMarketplace { 128 - name = "codespaces"; 129 - publisher = "github"; 130 - version = "1.17.3"; 131 - sha256 = "1g4b7gd24cifmh62v1dj1b79yp5z6jbffmwh2nlymjbqf9h4bll9"; 132 - }; 133 - "mtxr"."sqltools" = vscode-utils.extensionFromVscodeMarketplace { 134 - name = "sqltools"; 135 - publisher = "mtxr"; 136 - version = "0.28.3"; 137 - sha256 = "0zs8gdfar6g7j1mybdrpx7rmydlb1smqicw9438hrfzw301cffkd"; 138 - }; 139 - "codezombiech"."gitignore" = vscode-utils.extensionFromVscodeMarketplace { 140 - name = "gitignore"; 141 - publisher = "codezombiech"; 142 - version = "0.9.0"; 143 - sha256 = "0ww0x28m83fv5zdqkmz108rsxb60fyy5y0ksknb2xchirzwhayi0"; 144 - }; 145 - "github"."remotehub" = vscode-utils.extensionFromVscodeMarketplace { 146 - name = "remotehub"; 147 - publisher = "github"; 148 - version = "0.65.2024112101"; 149 - sha256 = "0mbw1nzvf8ch55vq0lsf0qpfl1dgyk5y80pca81j9dplyz4vrgax"; 150 - }; 151 - "ms-vscode"."remote-repositories" = vscode-utils.extensionFromVscodeMarketplace { 152 - name = "remote-repositories"; 153 - publisher = "ms-vscode"; 154 - version = "0.43.2024112101"; 155 - sha256 = "1mss2fkpx21dm5rlnbhqw7japxz4k22grrv66ja34fl9fbqli9zw"; 156 - }; 157 - "github"."vscode-github-actions" = vscode-utils.extensionFromVscodeMarketplace { 158 - name = "vscode-github-actions"; 159 - publisher = "github"; 160 - version = "0.27.0"; 161 - sha256 = "0sk8cgnk4pyjxwfi3hr3qrajffvdncvq3xbjn73g3jz0ygakg7xi"; 162 - }; 163 - "ms-vscode"."azure-repos" = vscode-utils.extensionFromVscodeMarketplace { 164 - name = "azure-repos"; 165 - publisher = "ms-vscode"; 166 - version = "0.41.2024112101"; 167 - sha256 = "1dgyr1zmrl1aihlsfn0grrysmzf4g47m968zdn7fyc17hl857r59"; 168 - }; 169 - "orta"."vscode-jest" = vscode-utils.extensionFromVscodeMarketplace { 170 - name = "vscode-jest"; 171 - publisher = "orta"; 172 - version = "6.4.0"; 173 - sha256 = "0asjg2ycq20qg2zyxybnmas2br08mjwhsw03y0qz24g8rkn9a7s4"; 174 - }; 175 - "tamasfe"."even-better-toml" = vscode-utils.extensionFromVscodeMarketplace { 176 - name = "even-better-toml"; 177 - publisher = "tamasfe"; 178 - version = "0.21.2"; 179 - sha256 = "0208cms054yj2l8pz9jrv3ydydmb47wr4i0sw8qywpi8yimddf11"; 180 - }; 181 - "bierner"."markdown-mermaid" = vscode-utils.extensionFromVscodeMarketplace { 182 - name = "markdown-mermaid"; 183 - publisher = "bierner"; 184 - version = "1.27.0"; 185 - sha256 = "1c9nvi2r3frbyi2ygff2zh3ylvr4df585mb6b5r8n6g5aa9kzp6k"; 186 - }; 187 - "prisma"."prisma" = vscode-utils.extensionFromVscodeMarketplace { 188 - name = "prisma"; 189 - publisher = "prisma"; 190 - version = "6.1.0"; 191 - sha256 = "1m4i60hm62m1bl6nn4pk0l54ph7zf0c3ppvx4qc4bwpqv82k7xv1"; 192 - }; 193 - "bierner"."markdown-preview-github-styles" = vscode-utils.extensionFromVscodeMarketplace { 194 - name = "markdown-preview-github-styles"; 195 - publisher = "bierner"; 196 - version = "2.1.0"; 197 - sha256 = "1fn9gdf3xj1drch4djn6c9lg94i2r9yjpfrf1a0y4v8q2zjk8sz8"; 198 - }; 199 - "gitlab"."gitlab-workflow" = vscode-utils.extensionFromVscodeMarketplace { 200 - name = "gitlab-workflow"; 201 - publisher = "gitlab"; 202 - version = "5.26.0"; 203 - sha256 = "1xb8a834bgblc4zcrdc9v3by3wv3fls3bz3bm7rxaqyvszlpb42d"; 204 - }; 205 - "bierner"."markdown-emoji" = vscode-utils.extensionFromVscodeMarketplace { 206 - name = "markdown-emoji"; 207 - publisher = "bierner"; 208 - version = "0.3.1"; 209 - sha256 = "0409sks7zz0lp1a0x6nxsh11yfnnb36s802q6dwfwjnblp049xw1"; 210 - }; 211 - "denoland"."vscode-deno" = vscode-utils.extensionFromVscodeMarketplace { 212 - name = "vscode-deno"; 213 - publisher = "denoland"; 214 - version = "3.43.1"; 215 - sha256 = "0lna1znrbsdggzp6mx079461p21ngwgqz6mb7i3d0bnpxb844x3a"; 216 - }; 217 - "bierner"."markdown-checkbox" = vscode-utils.extensionFromVscodeMarketplace { 218 - name = "markdown-checkbox"; 219 - publisher = "bierner"; 220 - version = "0.4.0"; 221 - sha256 = "0jbfi0av84ixwhcpysh9gyrsfxpy65igiidrdarn7vgsvxsdr0q2"; 222 - }; 223 - "unifiedjs"."vscode-mdx" = vscode-utils.extensionFromVscodeMarketplace { 224 - name = "vscode-mdx"; 225 - publisher = "unifiedjs"; 226 - version = "1.8.12"; 227 - sha256 = "0afzx5i6bw7hmm4f8vdvx6a6mx053gmvc0gn78fz94b6fyaijsl7"; 228 - }; 229 - "bierner"."emojisense" = vscode-utils.extensionFromVscodeMarketplace { 230 - name = "emojisense"; 231 - publisher = "bierner"; 232 - version = "0.10.0"; 233 - sha256 = "14rb8licb32rh04g7lq73lmfx4pk2p4x63427l3s9fw9idsiwgrw"; 234 - }; 235 - "bierner"."markdown-yaml-preamble" = vscode-utils.extensionFromVscodeMarketplace { 236 - name = "markdown-yaml-preamble"; 237 - publisher = "bierner"; 238 - version = "0.1.0"; 239 - sha256 = "1xlb6dvrsy2sp92lax1nq01xcrax1nm256ns9b4vvkq7p4njpqp5"; 240 - }; 241 - "bierner"."markdown-footnotes" = vscode-utils.extensionFromVscodeMarketplace { 242 - name = "markdown-footnotes"; 243 - publisher = "bierner"; 244 - version = "0.1.1"; 245 - sha256 = "1pp64x8cn4vmpscmzv2dg6bakjhnwd36rms2wl6bs5laq29k5wl7"; 246 - }; 247 - "bierner"."github-markdown-preview" = vscode-utils.extensionFromVscodeMarketplace { 248 - name = "github-markdown-preview"; 249 - publisher = "bierner"; 250 - version = "0.3.0"; 251 - sha256 = "124vsg5jxa90j3mssxi18nb3wn6fji6b0mnnkasa89rgx3jfb5pf"; 252 - }; 253 - "pkief"."material-product-icons" = vscode-utils.extensionFromVscodeMarketplace { 254 - name = "material-product-icons"; 255 - publisher = "pkief"; 256 - version = "1.7.1"; 257 - sha256 = "1g75m55fc6nnfazpgmjxc48kw8abv85sglmmmjglwwgwi0di2xlj"; 258 - }; 259 - "vivaxy"."vscode-conventional-commits" = vscode-utils.extensionFromVscodeMarketplace { 260 - name = "vscode-conventional-commits"; 261 - publisher = "vivaxy"; 262 - version = "1.26.0"; 263 - sha256 = "1n414wwd6my4xjmh55b6l0s8bqadnq35ya1isxvdi6yabapbwg9f"; 264 - }; 265 - "coolbear"."systemd-unit-file" = vscode-utils.extensionFromVscodeMarketplace { 266 - name = "systemd-unit-file"; 267 - publisher = "coolbear"; 268 - version = "1.0.6"; 269 - sha256 = "0sc0zsdnxi4wfdlmaqwb6k2qc21dgwx6ipvri36x7agk7m8m4736"; 270 - }; 271 - "ms-vscode"."wordcount" = vscode-utils.extensionFromVscodeMarketplace { 272 - name = "wordcount"; 273 - publisher = "ms-vscode"; 274 - version = "0.1.0"; 275 - sha256 = "164s721bqbw2lh770vli9vij8q79033nd5k1acxwadmlf99hmgj1"; 276 - }; 277 - "ms-vscode"."vscode-github-issue-notebooks" = vscode-utils.extensionFromVscodeMarketplace { 278 - name = "vscode-github-issue-notebooks"; 279 - publisher = "ms-vscode"; 280 - version = "0.0.130"; 281 - sha256 = "0g82z1qpj1abfykflk0yq0j40mqwfkxk7sx0ms9q7wa2yblwj1fk"; 282 - }; 283 - "exiasr"."hadolint" = vscode-utils.extensionFromVscodeMarketplace { 284 - name = "hadolint"; 285 - publisher = "exiasr"; 286 - version = "1.1.2"; 287 - sha256 = "00x6bnjm0yk0fcw91c47g8c5shgbcvxyyz49r4y23q4gqizvaqz8"; 288 - }; 289 - "drknoxy"."eslint-disable-snippets" = vscode-utils.extensionFromVscodeMarketplace { 290 - name = "eslint-disable-snippets"; 291 - publisher = "drknoxy"; 292 - version = "1.4.1"; 293 - sha256 = "1djjknfg81cjbn4bcalc7gg9fha5lzwmpmmrzm68n87qvld58hs4"; 294 - }; 295 - "leighlondon"."eml" = vscode-utils.extensionFromVscodeMarketplace { 296 - name = "eml"; 297 - publisher = "leighlondon"; 298 - version = "0.4.0"; 299 - sha256 = "180gis04nisccr9l4ibks5fn2gp327b9bmwjiap81lir859kkrzv"; 300 - }; 301 - "jnoortheen"."nix-ide" = vscode-utils.extensionFromVscodeMarketplace { 302 - name = "nix-ide"; 303 - publisher = "jnoortheen"; 304 - version = "0.3.5"; 305 - sha256 = "12sg67mn3c8mjayh9d6y8qaky00vrlnwwx58v1f1m4qrbdjqab46"; 306 - }; 307 - "matthewpi"."caddyfile-support" = vscode-utils.extensionFromVscodeMarketplace { 308 - name = "caddyfile-support"; 309 - publisher = "matthewpi"; 310 - version = "0.4.0"; 311 - sha256 = "1fjhirybvb92frqj1ssh49a73q497ny69z9drdjlkpaccpbvb0r7"; 312 - }; 313 - "ultram4rine"."vscode-choosealicense" = vscode-utils.extensionFromVscodeMarketplace { 314 - name = "vscode-choosealicense"; 315 - publisher = "ultram4rine"; 316 - version = "0.9.4"; 317 - sha256 = "1hs8sjbq9rvs8wkaxx9nh9swbdca9rfkamf2mcvp3gyw7d5park2"; 318 - }; 319 - "tailscale"."vscode-tailscale" = vscode-utils.extensionFromVscodeMarketplace { 320 - name = "vscode-tailscale"; 321 - publisher = "tailscale"; 322 - version = "1.0.0"; 323 - sha256 = "0j41xbz6zangq7i4mj4xgdpsswss3jnznyd9v3943yvfhmkq5a1h"; 324 - }; 325 - "wdhongtw"."gpg-indicator" = vscode-utils.extensionFromVscodeMarketplace { 326 - name = "gpg-indicator"; 327 - publisher = "wdhongtw"; 328 - version = "0.7.2"; 329 - sha256 = "0sfn2lvj2a7kwkbjpswbl9hwhpcv053gnxny5x5rhsqcsq2nx8yk"; 330 - }; 331 - "r3inbowari"."gomodexplorer" = vscode-utils.extensionFromVscodeMarketplace { 332 - name = "gomodexplorer"; 333 - publisher = "r3inbowari"; 334 - version = "0.3.18"; 335 - sha256 = "1k0assbxwakbsxfp5d2kcq1pfg3rzdmzc96d7qgrhrp9lx22n8p9"; 336 - }; 337 - "doppler"."doppler-vscode" = vscode-utils.extensionFromVscodeMarketplace { 338 - name = "doppler-vscode"; 339 - publisher = "doppler"; 340 - version = "0.0.10"; 341 - sha256 = "1cqaxnf45in44i4za36diirgh1q5rkmk27is9h6zgnmgl2i9awa7"; 342 - }; 343 - "yahyabatulu"."vscode-markdown-alert" = vscode-utils.extensionFromVscodeMarketplace { 344 - name = "vscode-markdown-alert"; 345 - publisher = "yahyabatulu"; 346 - version = "0.0.4"; 347 - sha256 = "1b4ngq3hn362ngdybjazr0x73whr7p5sbxms80s8mdd7yhq949kl"; 348 - }; 349 - "martellaj"."license-injector" = vscode-utils.extensionFromVscodeMarketplace { 350 - name = "license-injector"; 351 - publisher = "martellaj"; 352 - version = "0.0.2"; 353 - sha256 = "09d9bbd5drp3krla2q37dp4rrz4mb20mnsrkjpb00n1mvf7q1fps"; 354 - }; 355 - "codiium"."wrangler" = vscode-utils.extensionFromVscodeMarketplace { 356 - name = "wrangler"; 357 - publisher = "codiium"; 358 - version = "0.0.1"; 359 - sha256 = "1g2wx6ln2kym2daqgc3nxw995rb1c1n7j3gqj0vfbk520qp4vhfx"; 360 - }; 361 - "joel-harkes"."emlviewer" = vscode-utils.extensionFromVscodeMarketplace { 362 - name = "emlviewer"; 363 - publisher = "joel-harkes"; 364 - version = "0.0.4"; 365 - sha256 = "08rh5j50jkhcywkngf493cdim15f6vbj08av6m1cvp0v3ha21vdq"; 366 - }; 367 - "aikebang"."mkdocs-syntax-highlight" = vscode-utils.extensionFromVscodeMarketplace { 368 - name = "mkdocs-syntax-highlight"; 369 - publisher = "aikebang"; 370 - version = "0.2.1"; 371 - sha256 = "1gpcjdcf9yr263cql14wwyw2f5fsq06i2bsr8nja0izyw76g8wvm"; 372 - }; 373 - "devfile"."vscode-devfile" = vscode-utils.extensionFromVscodeMarketplace { 374 - name = "vscode-devfile"; 375 - publisher = "devfile"; 376 - version = "0.0.2"; 377 - sha256 = "156vq1gr7x94nrjlgv1a5qz0r8k5vh9y9hz1f0jaxcjcynjp4ijs"; 378 - }; 379 - } 380 - (lib.attrsets.optionalAttrs (isLinux && (isi686 || isx86_64)) { 381 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 382 - name = "python"; 383 - publisher = "ms-python"; 384 - version = "2024.23.2024121901"; 385 - sha256 = "01wfhbaq9v2wvnndh6dphq1f6c04dg0yx9p7637v9bl124zm0qw7"; 386 - arch = "linux-x64"; 387 - }; 388 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 389 - name = "shellcheck"; 390 - publisher = "timonwong"; 391 - version = "0.37.1"; 392 - sha256 = "13gdyiafqla7dra17q842d8a7vrgmf0im4z6qm6xzgim71qzcqhy"; 393 - arch = "linux-x64"; 394 - }; 395 - })) 396 - (lib.attrsets.optionalAttrs (isLinux && (isAarch32 || isAarch64)) { 397 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 398 - name = "python"; 399 - publisher = "ms-python"; 400 - version = "2024.23.2024121901"; 401 - sha256 = "1qs14aca323yqc93rrnwvp7v40k9z2500lj9pkh5sa2pfm9cl68x"; 402 - arch = "linux-arm64"; 403 - }; 404 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 405 - name = "shellcheck"; 406 - publisher = "timonwong"; 407 - version = "0.37.1"; 408 - sha256 = "1xp4qyrs8rcaba94nm26da0lf0qjbchp218jm4iyczg5dpgvp6hk"; 409 - arch = "linux-arm64"; 410 - }; 411 - })) 412 - (lib.attrsets.optionalAttrs (isDarwin && (isi686 || isx86_64)) { 413 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 414 - name = "python"; 415 - publisher = "ms-python"; 416 - version = "2024.23.2024121901"; 417 - sha256 = "0jh7rkh5j2l8irb2d43hy9n5kw59czyijsiq5f9641rfl6yvakzh"; 418 - arch = "darwin-x64"; 419 - }; 420 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 421 - name = "shellcheck"; 422 - publisher = "timonwong"; 423 - version = "0.37.1"; 424 - sha256 = "0jvi9pzw80ga47p9zy92wy43prci5dj8lfa5syxl5cvchd3848v1"; 425 - arch = "darwin-x64"; 426 - }; 427 - })) 428 - (lib.attrsets.optionalAttrs (isDarwin && (isAarch32 || isAarch64)) { 429 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 430 - name = "python"; 431 - publisher = "ms-python"; 432 - version = "2024.23.2024121901"; 433 - sha256 = "1d0w7ih58bg1smmjp3i798qbf08maqa3m263ygvllyawy3kl03qr"; 434 - arch = "darwin-arm64"; 435 - }; 436 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 437 - name = "shellcheck"; 438 - publisher = "timonwong"; 439 - version = "0.37.1"; 440 - sha256 = "0l72fmphy7v86jdlbk4xclaxm6g2mc2cd3jcydwrnwyfagh2n9di"; 441 - arch = "darwin-arm64"; 442 - }; 443 - })
-16
.config/oh-my-posh/meta.omp.json
··· 1 - { 2 - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", 3 - "blocks": [ 4 - { 5 - "alignment": "left", 6 - "segments": [ 7 - { 8 - 9 - } 10 - ], 11 - "type": "prompt" 12 - } 13 - ], 14 - "final_space": true, 15 - "version": 3 16 - }
-67
.config/oh-my-posh/thirdparty/agnoster.omp.json
··· 1 - { 2 - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", 3 - "blocks": [ 4 - { 5 - "alignment": "left", 6 - "segments": [ 7 - { 8 - "background": "#ffe9aa", 9 - "foreground": "#100e23", 10 - "powerline_symbol": "\ue0b0", 11 - "style": "powerline", 12 - "template": " \uf0e7 ", 13 - "type": "root" 14 - }, 15 - { 16 - "background": "#ffffff", 17 - "foreground": "#100e23", 18 - "powerline_symbol": "\ue0b0", 19 - "style": "powerline", 20 - "template": " {{ .UserName }}@{{ .HostName }} ", 21 - "type": "session" 22 - }, 23 - { 24 - "background": "#91ddff", 25 - "foreground": "#100e23", 26 - "powerline_symbol": "\ue0b0", 27 - "properties": { 28 - "folder_icon": "\uf115", 29 - "folder_separator_icon": " \ue0b1 ", 30 - "home_icon": "\ueb06", 31 - "style": "agnoster" 32 - }, 33 - "style": "powerline", 34 - "template": " {{ .Path }} ", 35 - "type": "path" 36 - }, 37 - { 38 - "background": "#95ffa4", 39 - "foreground": "#193549", 40 - "powerline_symbol": "\ue0b0", 41 - "style": "powerline", 42 - "template": " {{ .HEAD }} ", 43 - "type": "git" 44 - }, 45 - { 46 - "background": "#906cff", 47 - "foreground": "#100e23", 48 - "powerline_symbol": "\ue0b0", 49 - "style": "powerline", 50 - "template": " \ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ if .Venv }}{{ .Venv }} {{ end }}{{ .Full }}{{ end }} ", 51 - "type": "python" 52 - }, 53 - { 54 - "background": "#ff8080", 55 - "foreground": "#ffffff", 56 - "powerline_symbol": "\ue0b0", 57 - "style": "powerline", 58 - "template": " {{ reason .Code }} ", 59 - "type": "status" 60 - } 61 - ], 62 - "type": "prompt" 63 - } 64 - ], 65 - "final_space": true, 66 - "version": 3 67 - }
.config/systemd/.gitkeep

This is a binary file and will not be displayed.

+14
.config/systemd/user/tildeverse-vern-caddy.service
··· 1 + [Unit] 2 + Description=Make proxied services available under *-ajhalili2006.vern.cc via Caddy 3 + 4 + [Service] 5 + WorkingDirectory=/home/ajhalili2006/projects/andreijiroh.dev/tilde 6 + # in case of power loss and we still need to do this 7 + #ExecStartPre="/run/current-system/sw/bin/rm -f /home/ajhalili2006/.webserver.sock" 8 + ExecStart=/run/current-system/sw/bin/bash /home/ajhalili2006/projects/andreijiroh.dev/tilde/start-caddy-tildeserv.sh 9 + Restart=on-failure 10 + StartLimitBurst=3 11 + StartLimitInterval=90 12 + 13 + [Install] 14 + WantedBy=default.target
+12
.config/systemd/user/tildeverse-web-devpreview.service
··· 1 + [Unit] 2 + Description=mkdocs serve over port 18034 3 + 4 + [Service] 5 + WorkingDirectory=/home/ajhalili2006/projects/andreijiroh.dev/tilde 6 + ExecStart=/home/ajhalili2006/.local/bin/mkdocs serve --watch-theme -a 127.0.0.1:18034 7 + StartLimitBurst=3 8 + StartLimitInterval=60 9 + 10 + [Install] 11 + WantedBy=default.target tildeverse-vern-caddy.service 12 +
+31
.config/yadm/bootstrap
··· 1 + #!/bin/bash 2 + 3 + # Save this file as ~/.config/yadm/bootstrap and make it executable. It will 4 + # execute all executable files (excluding templates and editor backups) in the 5 + # ~/.config/yadm/bootstrap.d directory when run. 6 + 7 + # Source: https://raw.githubusercontent.com/TheLocehiliosan/yadm/master/contrib/bootstrap/bootstrap-in-dir 8 + 9 + set -eu 10 + 11 + if [[ $DEBUG != "" ]]; then 12 + set -x 13 + fi 14 + 15 + # Directory to look for bootstrap executables in 16 + BOOTSTRAP_D="${BASH_SOURCE[0]}.d" 17 + 18 + if [[ ! -d "$BOOTSTRAP_D" ]]; then 19 + echo "[bootstrap] Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2 20 + exit 1 21 + fi 22 + 23 + find -L "$BOOTSTRAP_D" -type f | sort | while IFS= read -r bootstrap; do 24 + if [[ -x "$bootstrap" && ! "$bootstrap" =~ "##" && ! "$bootstrap" =~ "~$" ]]; then 25 + echo "[bootstrap] running $bootstrap" 26 + if ! "$bootstrap"; then 27 + echo "[bootstrap] Error: bootstrap '$bootstrap' failed" >&2 28 + exit 1 29 + fi 30 + fi 31 + done
+20
.config/yadm/bootstrap.d/00-post-clone-repo.sh
··· 1 + #!/usr/bin/env bash 2 + 3 + if [ $DEBUG != "" ]; then 4 + set -x 5 + fi 6 + 7 + if [ ! -d "$HOME/.git" ] && [ -d "$HOME/.local/share/yadm/repo.git" ]; then 8 + echo "[git-symlinks] Symlinking ~/.git to ~/.local/share/yadm/repo.git for compatibility" 9 + ln -s ~/.local/share/yadm/repo.git ~/.git 10 + elif [ -d "$HOME/.git" ] && [ ! -d "$HOME/.local/share/yadm/repo.git" ]; then 11 + echo "[git-symlinks] Symlinking ~/.local/share/yadm/repo.git to ~/.git for compatibility" 12 + ln -s ~/.git ~/.local/share/yadm/repo.git 13 + else 14 + echo "[git-symlinks] Looks like everything is all clear on git" 15 + fi 16 + 17 + echo "[git-remotes] Setting git remote URLs to SSH" 18 + git remote set-url --add --push hut ssh://git@git.sr.ht/~ajhalili2006/dotfiles \ 19 + || git remote add hut https://git.sr.ht/~ajhalili2006/dotfiles \ 20 + && git remote set-url --add --push hut ssh://git@git.sr.ht/~ajhalili2006/dotfiles
+5
.config/yadm/encrypt
··· 1 + .config/gh/hosts.yml 2 + .config/glab-cli/config.yml 3 + .ssh/personal-2023 4 + .ssh/google_compute_engine 5 + .ssh/launchpad
+14
.config/zed/keymap.json
··· 1 + [ 2 + { 3 + "bindings": { 4 + "ctrl-alt-q": "zed::Quit" // Ctrl-Q is reserved for Nano 5 + } 6 + }, 7 + { 8 + "context": "Workspace", 9 + "bindings": { 10 + "ctrl-shift-s": "workspace::Save", 11 + "ctrl-alt-s": "workspace::SaveAs" 12 + } 13 + } 14 + ]
+35
.config/zed/settings.json
··· 1 + // Zed settings 2 + // 3 + // For information on how to configure Zed, see the Zed 4 + // documentation: https://zed.dev/docs/configuring-zed 5 + // 6 + // To see all of Zed's default settings without changing your 7 + // custom settings, run the `open default settings` command 8 + // from the command palette or from `Zed` application menu. 9 + { 10 + "features": { 11 + "inline_completion_provider": "none", 12 + "copilot": false 13 + }, 14 + "ui_font_size": 16, 15 + "buffer_font_size": 16, 16 + "theme": { 17 + "mode": "dark", 18 + "light": "One Light", 19 + "dark": "Material Dark" 20 + }, 21 + "git": { 22 + "git_gutter": "tracked_files", 23 + "gutter_debounce": 5, 24 + "inline_blame": { 25 + "enabled": true, 26 + "delay_ms": 3000 27 + } 28 + }, 29 + "toolbar": { 30 + "breadcrumbs": true, 31 + "selections_menu": true, 32 + "quick_actions": true 33 + }, 34 + "base_keymap": "VSCode" 35 + }
+9
.env
··· 1 + # TODO: Hook things up with dotenvx later. 2 + # https://packaging.ubuntu.com/html/getting-set-up.html#configure-your-shell 3 + DEBFULLNAME="Andrei Jiroh Halili" 4 + DEBEMAIL="releases@andreijiroh.xyz" 5 + # Hardcode timezone to PHT unless otherwise specified in ~/.env.local. 6 + # You might need tzdata installed on Alpine per https://wiki.alpinelinux.org/wiki/Setting_the_timezone 7 + TZ=Asia/Manila 8 + 9 + export DEBFULLNAME DEBMAIL
+111
.gitconfig
··· 1 + # This is the default configuration for Git 2 + [user] 3 + name = Andrei Jiroh Halili 4 + email = ajhalili2006@andreijiroh.xyz 5 + signingkey = 67BFC91B3DA12BE8 6 + 7 + [commit] 8 + gpgSign = true 9 + template = ~/.config/git/commit-message-templates/default 10 + [tag] 11 + gpgSign = true 12 + forceSignAnnotated = true 13 + 14 + [format] 15 + signOff = true 16 + 17 + # https://groups.google.com/g/binary-transparency/c/f-BI4o8HZW0 18 + [transfer] 19 + fsckobjects = true 20 + [fetch] 21 + fsckobjects = true 22 + [receive] 23 + fsckObjects = true 24 + 25 + # authentication hellscape 26 + [credential "https://github.com"] 27 + helper = 28 + helper = !gh auth git-credential 29 + [credential "https://gist.github.com"] 30 + helper = 31 + helper = !gh auth git-credential 32 + [credential "https://gitlab.com"] 33 + helper = 34 + helper = !glab auth git-credential 35 + [credential "https://mau.dev"] 36 + helper = 37 + helper = !glab auth git-credential 38 + [credential "https://gitlab.alpinelinux.org"] 39 + helper = 40 + helper = !glab auth git-credential 41 + 42 + # sendemail stuff (https://go.recaptime.eu.org/sendgmail) 43 + #[sendemail] 44 + # smtpServer = /home/ajhalili2006/go/bin/sendgmail 45 + # smtpServerOption = -sender=ajhalili2006@gmail.com 46 + 47 + # repo init chores 48 + [init] 49 + defaultBranch = main 50 + 51 + # aliases 52 + [url "git@git.sr.ht:"] 53 + insteadOf = https://git.sh.rt 54 + pushInsteadOf = https://git.sh.rt 55 + # TODO: Set up aliases for ther Git hosts, like in Launchpad.net 56 + 57 + # aliases 58 + [alias] 59 + #change-commits = "!f() { VAR=$1; OLD=$2; NEW=$3; shift 3; git filter-branch --env-filter \"if [[ \\\"$`echo $VAR`\> signoff = "commit --signoff" 60 + ammend = "commit --amend" 61 + #stage = "add" 62 + unstage = "restore --staged" 63 + stats = "status" 64 + sdiff = !git diff && git submodule foreach 'git diff' 65 + spush = push --recurse-submodules=on-demand 66 + supdate = submodule update --remote --merge 67 + skip-ci = push -o ci.skip -o skip-ci 68 + root = rev-parse --show-toplevel 69 + signoff-commit = commit --signoff 70 + signoff = signoff-commit 71 + remotes = remote -v 72 + [filter "lfs"] 73 + clean = git-lfs clean -- %f 74 + smudge = git-lfs smudge -- %f 75 + process = git-lfs filter-process 76 + required = true 77 + [core] 78 + # editor = flatpak run re.sonny.Commit 79 + 80 + # project-specific configurations 81 + #[includeIf "gitdir/i:~/git-projects/sandbox"] 82 + # path = ~/.config/git/ajhalili2006-experiments.include.gitconfig 83 + #[includeIf "gitdir/i:~/projects/labs.andreijiroh.dev"] 84 + # path = ~/.config/git/ajhalili2006-experiments.include.gitconfig 85 + #[includeIf "gitdir/i:~/git-projects/recaptime.dev/"] 86 + # path = ~/.config/git/recaptime-dev.include.gitconfig 87 + [includeIf "gitdir/i:~/projects/recaptime.dev/"] 88 + path = ~/.config/git/recaptime-dev.include.gitconfig 89 + [includeIf "gitdir/i:/workspaces/recaptime.dev/"] 90 + path = ~/.config/git/recaptime-dev.include.gitconfig 91 + [includeIf "gitdir/i:~/projects/recaptime-dev/"] 92 + path = ~/.config/git/recaptime-dev.include.gitconfig 93 + [includeIf "gitdir/i:/workspaces/recaptime-dev/"] 94 + path = ~/.config/git/recaptime-dev.include.gitconfig 95 + [includeIf "gitdir/i:/var/git/recaptime-dev/"] 96 + path = ~/.config/git/recaptime-dev.include.gitconfig 97 + [includeIf "gitdir/i:/workspaces/lorebooks.wiki/"] 98 + path = ~/.config/git/recaptime-dev.include.gitconfig 99 + [includeIf "gitdir/i:/workspaces/lorebooks-wiki/"] 100 + path = ~/.config/git/recaptime-dev.include.gitconfig 101 + #[includeIf "gitdir/i:~projects/"] 102 + # path = ~/.config/git/ajhalili2006.include.gitconfig 103 + [trailer "sign"] 104 + key = "Signed-off-by: " 105 + ifmissing = add 106 + ifexists = doNothing 107 + command = echo \"$(git config user.name) <$(git config user.email)>\" 108 + [push] 109 + autoSetupRemote = true 110 + [safe] 111 + directory = /storage/emulated/0/Documents/git/recaptime-dev/proxyparty
+5 -1
.gitignore
··· 1 - * 1 + # Safety ops, because I don't want to fuck things up and leak my hentai 2 + # (not necessary NSFW bullshit, but SSH keys and unencrypted GPG key backups). 3 + # This isn't one-file file due to mandatory self docs, but see ~sircmpwn's post for 4 + # the deets: https://drewdevault.com/2019/12/30/dotfiles.html 5 + *
+10
.gitmodules
··· 1 + [submodule "asdf-vm"] 2 + path = .asdf 3 + url = https://github.com/asdf-vm/asdf.git 4 + branch = master 5 + [submodule ".yadm-project"] 6 + path = .yadm-project 7 + url = https://github.com/TheLocehiliosan/yadm 8 + [submodule "nvm"] 9 + path = .nvm 10 + url = https://github.com/nvm-sh/nvm.git
+21
.gnupg/gnupg.conf
··· 1 + # Documentation is available online at https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html#gpg_002doption-_002d_002doptions 2 + 3 + # Make sure to use my new PGP key instead of the old one. 4 + # TODO: Schedule key expiration for the old one soonish. 5 + default-key 67BFC91B3DA12BE8 6 + 7 + # Go abit like Keybase, but keep the WoT parts. 8 + trust-model tofu+pgp 9 + 10 + # use keys.openpgp.org instead of keyserver.ubuntu.com or whatever 11 + keyserver hkps://keys.openpgp.org 12 + 13 + # long fpr + 0x prefix 14 + keyid-format 0xlong 15 + 16 + # From the docs: This is dummy option. gpg always requires the agent. 17 + #use-agent 18 + 19 + # kgpg specifics 20 + group squad = A715100E58CF60500EE159652F384539C700B263 21 + group andreijiroh.dev = 51D2F9710A20AAE56DC9A9AB77D63E4A0C267204 18C97CF46F06176E7EC43BDC7E4E0EF8B968A952 0527234A430387EA5695D824A30EBE40AD856D88 4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8 5D69E717C5BC95731C2AD8BD120C218ED2291996 EA957E7086E934F8DB9CAD21940047813E9D641C
+9
.gnupg/gpg-agent.conf
··· 1 + # Cache passphrases for 15m by default up to 3 hours. 2 + default-cache-ttl 900 3 + max-cache-ttl 10800 4 + default-cache-ttl-ssh 900 5 + max-cache-ttl-ssh 10800 6 + 7 + # Let's be serious about our password hygenine 8 + min-passphrase-len 12 9 + min-passphrase-nonalpha 3
+1
.gnupg/gpg.conf
··· 1 + gnupg.conf
+18
.local/share/devbox/global/default/devbox.json
··· 1 + { 2 + "packages": [ 3 + "gita@latest", 4 + "shfmt@latest", 5 + "hadolint@latest", 6 + "python@3.12.0" 7 + ], 8 + "shell": { 9 + "init_hook": [ 10 + "echo 'Welcome to devbox!' > /dev/null" 11 + ], 12 + "scripts": { 13 + "test": [ 14 + "echo \"Error: no test specified\" && exit 1" 15 + ] 16 + } 17 + } 18 + }
+44
.local/share/devbox/global/default/devbox.lock
··· 1 + { 2 + "lockfile_version": "1", 3 + "packages": { 4 + "gita@latest": { 5 + "last_modified": "2023-06-30T04:44:22Z", 6 + "resolved": "github:NixOS/nixpkgs/3c614fbc76fc152f3e1bc4b2263da6d90adf80fb#gita", 7 + "source": "devbox-search", 8 + "version": "0.11.9" 9 + }, 10 + "hadolint@latest": { 11 + "last_modified": "2023-07-23T03:35:12Z", 12 + "resolved": "github:NixOS/nixpkgs/af8cd5ded7735ca1df1a1174864daab75feeb64a#hadolint", 13 + "source": "devbox-search", 14 + "version": "2.12.0" 15 + }, 16 + "python@3.12.0": { 17 + "last_modified": "2023-10-03T09:29:46Z", 18 + "plugin_version": "0.0.1", 19 + "resolved": "github:NixOS/nixpkgs/e2b8feae8470705c3f331901ae057da3095cea10#python312", 20 + "source": "devbox-search", 21 + "version": "3.12.0", 22 + "systems": { 23 + "aarch64-darwin": { 24 + "store_path": "/nix/store/4w9xnvsbw0b3nyzc64alz7nv7ay4a88j-python3-3.12.0" 25 + }, 26 + "aarch64-linux": { 27 + "store_path": "/nix/store/dgg6kzpv7yg3h83m6aa5vnplvfghcdyq-python3-3.12.0" 28 + }, 29 + "x86_64-darwin": { 30 + "store_path": "/nix/store/grmb7mw4ixqrbrp87yqigmxiaydnqcg0-python3-3.12.0" 31 + }, 32 + "x86_64-linux": { 33 + "store_path": "/nix/store/7gldca15px30wpk6bfrscn19sdg755q8-python3-3.12.0" 34 + } 35 + } 36 + }, 37 + "shfmt@latest": { 38 + "last_modified": "2023-08-08T03:07:33Z", 39 + "resolved": "github:NixOS/nixpkgs/844ffa82bbe2a2779c86ab3a72ff1b4176cec467#shfmt", 40 + "source": "devbox-search", 41 + "version": "3.7.0" 42 + } 43 + } 44 + }
.local/share/yadm/archive

This is a binary file and will not be displayed.

+84
.nanorc
··· 1 + # This is my user-wide settings for nano, similar to VS Code and friends. 2 + # Feel free to use it on your own, as long as you keep the copyright information 3 + # below intact. 4 + # SPDX-License-Identifier: MIT AND MPL-2.0 (excluding third party code) 5 + 6 + # Display line numbers to the left (and any anchors in the margin). 7 + #set linenumbers 8 + 9 + # Enable vim-style lock-files. This is just to let a vim user know you 10 + # are editing a file [s]he is trying to edit and vice versa. There are 11 + # no plans to implement vim-style undo state in these files. 12 + set locking 13 + 14 + # Display a "scrollbar" on the righthand side of the edit window. 15 + set indicator 16 + 17 + # This was set to 80 to match VS Code settings. 18 + set guidestripe 80 19 + 20 + ## Enable mouse support, if available for your system. When enabled, 21 + ## mouse clicks can be used to place the cursor, set the mark (with a 22 + ## double click), and execute shortcuts. The mouse will work in the 23 + ## X Window System, and on the console when gpm is running. 24 + #set mouse 25 + 26 + # Switch on multiple file buffers (inserting a file will put it into a 27 + # separate buffer). 28 + set multibuffer 29 + 30 + ## Don't convert files from DOS/Mac format. 31 + set noconvert 32 + 33 + # Spread overlong lines over multiple screen lines. 34 + set softwrap 35 + 36 + ## Use this tab size instead of the default; it must be greater than 0. 37 + set tabsize 4 38 + 39 + ## Convert each typed tab to the fitting number of spaces. 40 + set tabstospaces 41 + 42 + ## Snip whitespace at the end of lines when justifying or hard-wrapping. 43 + set trimblanks 44 + 45 + # import included syntax highlighting for nano 46 + # TODO: Load them via ~/.local/share/nano for portability 47 + #include "/usr/share/nano/*.nanorc" 48 + # actually commented out since it is included by default on 49 + # the bootstrap process 50 + #include "/usr/share/nano/*.nanorc" 51 + 52 + # Make regularly-used features have more usual shortcuts 53 + bind M-Z suspend main 54 + bind ^X cut main 55 + bind ^C copy main 56 + bind ^V paste all 57 + bind ^Q exit all 58 + bind ^S savefile main 59 + #bind ^W writeout main 60 + #bind ^O insert main 61 + #set multibuffer 62 + bind ^H help all 63 + bind ^H exit help 64 + #bind ^F whereis all 65 + #bind ^G findnext all 66 + #bind ^B wherewas all 67 + #bind ^D findprevious all 68 + #bind ^R replace main 69 + unbind ^U all 70 + #unbind ^N main 71 + #unbind ^Y all 72 + #unbind M-J main 73 + #unbind M-T main 74 + bind ^A mark main 75 + #bind ^P location main 76 + bind ^T gotoline main 77 + bind ^T gotodir browser 78 + #bind ^T cutrestoffile execute 79 + #bind ^L linter execute 80 + bind ^E execute main 81 + #bind ^K "{mark}{end}{zap}" main 82 + #bind ^U "{mark}{home}{zap}" main 83 + bind ^Z undo main 84 + bind ^Y redo main
-2
.nix-channels
··· 1 - https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager 2 - https://channels.nixos.org/nixos-unstable nixos
-230
.nix4vscode.toml
··· 1 - # SPDX-License-Identifier: MPL-2.0 2 - # To use thhis configuration, you must have nix4vscode installed, either via "cargo build" 3 - # or good old "nix develop" from a local clone of the tooling's sources. This is currently 4 - # manually managed to be in sync with code --list-extensions while Settings Sync is enabled. 5 - 6 - # TODO: Bump this on every VS Code release here. 7 - vscode_version = "1.96.0" 8 - 9 - ## theming 10 - [[extensions]] 11 - publisher_name = "pkief" 12 - extension_name = "material-icon-theme" 13 - [[extensions]] 14 - publisher_name = "pkief" 15 - extension_name = "material-product-icons" 16 - [[extensions]] 17 - publisher_name = "github" 18 - extension_name = "github-vscode-theme" 19 - 20 - # utils 21 - [[extensions]] 22 - publisher_name = "wakatime" 23 - extension_name = "vscode-wakatime" 24 - [[extensions]] 25 - publisher_name = "doppler" 26 - extension_name = "doppler-vscode" 27 - [[extensions]] 28 - publisher_name = "eamodio" 29 - extension_name = "gitlens" 30 - [[extensions]] 31 - publisher_name = "vivaxy" 32 - extension_name = "vscode-conventional-commits" 33 - [[extensions]] 34 - publisher_name = "gitlab" 35 - extension_name = "gitlab-workflow" 36 - [[extensions]] 37 - publisher_name = "exiasr" 38 - extension_name = "hadolint" 39 - [[extensions]] 40 - publisher_name = "editorconfig" 41 - extension_name = "editorconfig" 42 - [[extensions]] 43 - publisher_name = "donjayamanne" 44 - extension_name = "githistory" 45 - [[extensions]] 46 - publisher_name = "devfile" 47 - extension_name = "vscode-devfile" 48 - [[extensions]] 49 - publisher_name = "tailscale" 50 - extension_name = "vscode-tailscale" 51 - [[extensions]] 52 - publisher_name = "timonwong" 53 - extension_name = "shellcheck" 54 - 55 - # github 56 - [[extensions]] 57 - publisher_name = "github" 58 - extension_name = "copilot" 59 - [[extensions]] 60 - publisher_name = "github" 61 - extension_name = "vscode-github-actions" 62 - [[extensions]] 63 - publisher_name = "github" 64 - extension_name = "remotehub" 65 - [[extensions]] 66 - publisher_name = "github" 67 - extension_name = "copilot-chat" 68 - [[extensions]] 69 - publisher_name = "github" 70 - extension_name = "codespaces" 71 - [[extensions]] 72 - publisher_name = "github" 73 - extension_name = "vscode-pull-request-github" 74 - 75 - # markdown 76 - [[extensions]] 77 - publisher_name = "aikebang" 78 - extension_name = "mkdocs-syntax-highlight" 79 - [[extensions]] 80 - publisher_name = "bierner" 81 - extension_name = "emojisense" 82 - [[extensions]] 83 - publisher_name = "bierner" 84 - extension_name = "markdown-checkbox" 85 - [[extensions]] 86 - publisher_name = "bierner" 87 - extension_name = "github-markdown-preview" 88 - [[extensions]] 89 - publisher_name = "bierner" 90 - extension_name = "markdown-emoji" 91 - [[extensions]] 92 - publisher_name = "bierner" 93 - extension_name = "markdown-footnotes" 94 - [[extensions]] 95 - publisher_name = "bierner" 96 - extension_name = "markdown-mermaid" 97 - [[extensions]] 98 - publisher_name = "bierner" 99 - extension_name = "markdown-preview-github-styles" 100 - [[extensions]] 101 - publisher_name = "bierner" 102 - extension_name = "markdown-yaml-preamble" 103 - 104 - # microsoft 105 - [[extensions]] 106 - publisher_name = "ms-azuretools" 107 - extension_name = "vscode-docker" 108 - # temporarily commented out per https://github.com/nix-community/nix4vscode/issues/135 109 - #[[extensions]] 110 - #publisher_name = "ms-python" 111 - #extension_name = "debugpy" 112 - [[extensions]] 113 - publisher_name = "ms-python" 114 - extension_name = "python" 115 - [[extensions]] 116 - publisher_name = "ms-python" 117 - extension_name = "vscode-pylance" 118 - [[extensions]] 119 - publisher_name = "ms-vscode" 120 - extension_name = "azure-repos" 121 - [[extensions]] 122 - publisher_name = "ms-vscode" 123 - extension_name = "remote-repositories" 124 - [[extensions]] 125 - publisher_name = "ms-vscode" 126 - extension_name = "vscode-github-issue-notebooks" 127 - [[extensions]] 128 - publisher_name = "ms-vscode" 129 - extension_name = "wordcount" 130 - 131 - # programming languages + IntelliSense 132 - [[extensions]] 133 - publisher_name = "denoland" 134 - extension_name = "vscode-deno" 135 - [[extensions]] 136 - publisher_name = "jnoortheen" 137 - extension_name = "nix-ide" 138 - [[extensions]] 139 - publisher_name = "redhat" 140 - extension_name = "vscode-yaml" 141 - [[extensions]] 142 - publisher_name = "unifiedjs" 143 - extension_name = "vscode-mdx" 144 - [[extensions]] 145 - publisher_name = "davidanson" 146 - extension_name = "vscode-markdownlint" 147 - [[extensions]] 148 - publisher_name = "golang" 149 - extension_name = "go" 150 - [[extensions]] 151 - publisher_name = "mikestead" 152 - extension_name = "dotenv" 153 - [[extensions]] 154 - publisher_name = "joel-harkes" 155 - extension_name = "emlviewer" 156 - [[extensions]] 157 - publisher_name = "leighlondon" 158 - extension_name = "eml" 159 - [[extensions]] 160 - publisher_name = "matthewpi" 161 - extension_name = "caddyfile-support" 162 - [[extensions]] 163 - publisher_name = "bradlc" 164 - extension_name = "vscode-tailwindcss" 165 - [[extensions]] 166 - publisher_name = "christan-kohler" 167 - extension_name = "npm-intellisense" 168 - [[extensions]] 169 - publisher_name = "codezombiech" 170 - extension_name = "gitignore" 171 - [[extensions]] 172 - publisher_name = "codiium" 173 - extension_name = "wrangler" 174 - [[extensions]] 175 - publisher_name = "coolbear" 176 - extension_name = "systemd-unit-file" 177 - [[extensions]] 178 - publisher_name = "dbaeumer" 179 - extension_name = "vscode-eslint" 180 - [[extensions]] 181 - publisher_name = "drknoxy" 182 - extension_name = "eslint-disable-snippets" 183 - [[extensions]] 184 - publisher_name = "esbenp" 185 - extension_name = "prettier-vscode" 186 - [[extensions]] 187 - publisher_name = "martellaj" 188 - extension_name = "license-injector" 189 - [[extensions]] 190 - publisher_name = "mtxr" 191 - extension_name = "sqltools" 192 - [[extensions]] 193 - publisher_name = "mtxr" 194 - extension_name = "sqltools-mysql" 195 - [[extensions]] 196 - publisher_name = "mtxr" 197 - extension_name = "sqltools-pg" 198 - [[extensions]] 199 - publisher_name = "mtxr" 200 - extension_name = "sqltools-sqlite" 201 - [[extensions]] 202 - publisher_name = "orta" 203 - extension_name = "vscode-jest" 204 - [[extensions]] 205 - publisher_name = "prisma" 206 - extension_name = "prisma" 207 - [[extensions]] 208 - publisher_name = "r3inbowari" 209 - extension_name = "gomodexplorer" 210 - [[extensions]] 211 - publisher_name = "socheatsok78" 212 - extension_name = "dotenv-vscode-stripped" 213 - [[extensions]] 214 - publisher_name = "streetsidesoftware" 215 - extension_name = "code-spell-checker" 216 - [[extensions]] 217 - publisher_name = "tamasfe" 218 - extension_name = "even-better-toml" 219 - [[extensions]] 220 - publisher_name = "ultram4rine" 221 - extension_name = "vscode-choosealicense" 222 - [[extensions]] 223 - publisher_name = "wdhongtw" 224 - extension_name = "gpg-indicator" 225 - [[extensions]] 226 - publisher_name = "xabikos" 227 - extension_name = "javascriptsnippets" 228 - [[extensions]] 229 - publisher_name = "yahyabatulu" 230 - extension_name = "vscode-markdown-alert"
+72
.profile
··· 1 + #!/usr/bin/env sh 2 + # ~/.profile: executed by the command interpreter for login shells. 3 + # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 4 + # exists. 5 + # see /usr/share/doc/bash/examples/startup-files for examples. 6 + # the files are located in the bash-doc package. 7 + 8 + # the default umask is set in /etc/profile; for setting the umask 9 + # for ssh logins, install and configure the libpam-umask package. 10 + #umask 022 11 + 12 + # if running bash (probably as seen in Debian) 13 + if [ -n "$BASH_VERSION" ]; then 14 + # include .bashrc if it exists 15 + if [ -f "$HOME/.bashrc" ]; then 16 + . "$HOME/.bashrc" 17 + fi 18 + fi 19 + 20 + # set PATH so it includes user's private bin if it exists 21 + if [ -d "$HOME/bin" ] ; then 22 + PATH="$HOME/bin:$PATH" 23 + fi 24 + 25 + # set PATH so it includes user's private bin if it exists 26 + if [ -d "$HOME/.local/bin" ] ; then 27 + PATH="$HOME/.local/bin:$PATH" 28 + fi 29 + 30 + #export PATH="/usr/local/bin:$HOME/.local/bin:$HOME/bin${PATH:+:}$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts" # ~vern specifics and more 31 + mesg n 2> /dev/null || true 32 + 33 + # then import the rest 34 + source "$HOME/.env" 35 + source "$HOME/.config/aliases" 36 + export POSIX_PROFILE_SOURCED=true 37 + 38 + # how about detecting local configs 39 + if [ -f "$HOME/.config/localconfig.env" ]; then 40 + . "$HOME/.config/localconfig.env" 41 + fi 42 + 43 + ########################################################################################## 44 + # Code snippets from https://git.sr.ht/~sircmpwn/dotfiles/tree/db5945a4/item/.env 45 + ########################################################################################## 46 + if ls --version 2>&1 | grep -i gnu >/dev/null 47 + then 48 + alias ls='ls --color=auto ' 49 + elif ls --version 2>&1 | grep -i busybox >/dev/null 50 + then 51 + alias ls='ls --color=auto ' 52 + fi 53 + 54 + alias recent='ls -ltch' 55 + 56 + # Add optmizations for multicore builds 57 + if [ $(uname) = "Linux" ] 58 + then 59 + nproc=$(grep '^processor' /proc/cpuinfo | wc -l) 60 + if [ $nproc -gt 4 ] 61 + then 62 + # Reserve two cores 63 + nproc=$((nproc - 2)) 64 + fi 65 + export MAKEFLAGS="-j$nproc" 66 + export SAMUFLAGS="-j$nproc" 67 + fi 68 + ########################################################################################## 69 + 70 + if [[ $FF_BYOBU_ON_LOGIN == "true" || $LC_BYOBU == "1" ]]; then 71 + _byobu_sourced=1 . /data/data/com.termux/files/usr/bin/byobu-launch 2>/dev/null || true 72 + fi
+7 -5
.ssh/authorized_keys
··· 1 - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 ajhalili2006@andreijiroh.dev 2 - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDUnTexcVQTGT+UhX8MRPkMvM6FPuskbY2Dn0ScZ3+ot ~ajhalili2006 [passwordless key for sshfs] 3 - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDEYDna7HlVN6FL+Mxaof+WH5EoVmaUrM7GFAdQSveTJ ajhalili2006@crew.recaptime.dev 4 - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= gildedguy@andreijiroh 5 - 1 + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= gildedguy@andreijiroh 2 + ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFTNV8nJ6ClJ2XmEDl4wJYUANt46SsZgSl7MYBza6VxbpozLhBsc+CSzXnCJpBMZH+5WaPRCVLgIAHyxZJh/v0s= ajhalili2006.srht - Gitpod use 3 + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKHIPrafF5WcCuTQDTmoR6O5z9yB6c67uWyFbcr0fYV sr.ht/~ajhalili2006 - ajhalili2006@gmail.com 4 + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCeAJ4l2WxXrO7SShNsl5BP+EHmhamkT9UFunKeBV16bMeultud9jJILoaeCTZO86Q6LNy+EjtgABehiozi6iQTh0EnJLzOsdOi4IDvrE/ijVk+7mG4d83Mn6MGKDdrWwf6EJxQqQSnHFwKOrlqF9n32jYvwDnyW3uqiYXAl2cro42GPVtWDSApRRkKWZhYpIyVp5/txg40Z/L9U6PbdTegTSxzxCe9dKruw/rdreGm9AbJ9BmYBEVlD3Tjju7JXN/G9/Odm/n2adymFSY9rf4kg3warB+J8d0UGe1cTZv4ruYoGMJEpM9z4KDgSuiRn7Ful5vd19w4gMQcr4l1xPuFT1SPmwN3ydBNkq65hjhmBWYe/ZegMiVOKPuuuFSgi5p3Tlh3kUwAPBRaFNpMuWM9t1fi9PMRlNo8ylC4olkdl7qumFEua4pXYDQ4ECV7VHJRWCBGXo1jO5EbCPNojpYv3JxwQ3LlOJfWQiDqMH78G6VqMWKa59lNX6kcAudof7LWANQAcF3753dYSBUQGlCfQNNk9ipZnLY9FYTv9SdblcM/nOgyN2i6eR+USRb/Cw3uUDuHNzdAmUcbnyB/sgbzOuojCUYTT6rG+n86S9j40bbeU+0emKt+0VGfMnNuUhWU6bg5vpIbNwm8oDW5RFTZIxfxHRl5ubnp+9HUTMiUQ== ajhalili2006-main-gpg 5 + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDUnTexcVQTGT+UhX8MRPkMvM6FPuskbY2Dn0ScZ3+ot ~ajhalili2006 [passwordless key for sshfs] 6 + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFrrYRVtV3OvgLzXMedNVITzoHnHd5wMVe53h16xxVWs ajhalili2006+passwordless@github.tailnet 7 + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 ajhalili2006@andreijiroh.eu.org
-14
.ssh/config
··· 1 - # This is my SSH client configuration I use for both Nix-based and non-Nix systems, 2 - #mainly because I am not yet ready to codify them into home-manager at the moment. 3 - #Note that we might need to hack around the 1Password CLI for headless setups like tildes 4 - # and agent forwarding. 5 - 6 - Include ~/.ssh/configs/* 7 - 8 - # iykyk 9 - Host den 10 - HostName hack.kim 11 - User ajhalili2006 12 - 13 - # load 1Password-specifics here 14 - Include ~/.ssh/1Password/config
-24
.ssh/configs/homelab
··· 1 - # infra on tailnet 2 - Host homelab 3 - Hostname lairland 4 - User ajhalili2006 5 - Host aether 6 - HostName rpi-aether 7 - User ajhalili2006 8 - Host stellapent 9 - Hostname stellapent-cier 10 - User gildedguy 11 - Host devlabs-infraops 12 - HostName devlabs-infraops 13 - User ajhalili2006 14 - 15 - # uberspace.de 16 - Host ub 17 - HostName aegir.uberspace.de 18 - User lairland 19 - Host lairland.uberspace.de 20 - HostName aegir.uberspace.de 21 - User lairland 22 - Host ajhalili.ub 23 - HostName aegir.uberspace.de 24 - User lairland
-11
.ssh/configs/recaptime-dev
··· 1 - # RecapTime.dev infra specifics 2 - 3 - # Hack Club Nest 4 - Host rtdev.nest 5 - Host hackclub.app 6 - User recaptime-dev 7 - 8 - # Technically speaking 9 - Host proxypartylab 10 - Hostname proxypartylab-azure 11 - User ajhalili2006
-13
.ssh/configs/tilde
··· 1 - # SSH hosts for tildes in the tildeverse 2 - Host nest 3 - HostName hackclub.app 4 - User ajhalili2006 5 - Host psf 6 - HostName p.psf.lt 7 - User ajhalili2006 8 - Host ctrl-c 9 - HostName ctrl-c.clib 10 - User ajhalili2006 11 - Host hashbang 12 - HostName de1.hashbang.sh 13 - User ajhalili2006
-16
.ssh/git/allowed_signers
··· 1 - #### @ajhalili2006 #### 2 - # personal addresses 3 - ajhalili2006@andreijiroh.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 SSH Key - main personal key, circa 2022 4 - ajhalili2006@andreijiroh.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= SSH Key - ajhalili2006@launchpad.net 5 - ajhalili2006@gmail.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXuD3hJwInlcHs3wkXWAWNo8es3bPAd2e8ipjyqgGp2 SSH Key - main personal key, circa 2022 6 - ajhalili2006@gmail.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzMlrUe7qMA1P0lP56lq2dKTrwFU6CrVltQ9um+PhOMLkoi31kAlujHtWF6mqGRLXcK0Ao/0Wqug++r82Zu0u7dpAv8LCExtaRRMzagwPkEe4OOqUBOpS6mggfsik8mNA+1UtpkXJ+ZiB4cXtNKEZC0jtxWOTXSV67qgkSxuO+YBWB+7pnESkB0KorqwOoWGGUVfYQtbKUAt6VqM4s6dn7saXqwmN0tCPO6a+4L4mazkYjFD11HhktYsjP9dvnxYSOtMrSFb9JOXRST2LdiIJgwg+HTqBSWGO7aBRHMJaTF3ajlbMtKDQI/EcNQLyGgX6yFdjjzz9DRY+2oU0vPTytdqM2BKsfLlR0GVg7BVL7TZPaLJ1lgpCl4Z1oClW9FOzhnYJVT0W+IKPsnYsFPfv/BVgjWF7YtLdc5zqFJ31PULtikCyd0I6Kt95YD0HdrlR2faWcBHI8KKEAwCCanodGnK/xTOxisTX2dXOxx3mvR/L3Wil2ca5hnD+vt500/o8= SSH Key - ajhalili2006@launchpad.net 7 - 8 - # release signing keys 9 - releases@andreijiroh.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHzLVfKtq8vBYeSrrVhwFwkpfu6TDLFgyjb3UmB+Jdhl 10 - releases@recaptime.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO0+1KY7/oVd+umDYBKfxmeQ6689365dlfk28MNiAl4e 11 - 12 - # crew.recaptime.dev specific 13 - ajhalili2006@crew.recaptime.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDEYDna7HlVN6FL+Mxaof+WH5EoVmaUrM7GFAdQSveTJ RecapTIme.dev Crew SSH Key - @ajhalili2006 14 - 15 - # school specifics 16 - halili.459491@meycauayan.sti.edu.ph ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFI1Mj7gTG1IwnxPyr2AsXDq2kBq98hnijhgkGklkhWH
.ssh/keys/.keep

This is a binary file and will not be displayed.

+147
.termux/termux.properties
··· 1 + ### After making changes and saving you need to run `termux-reload-settings` 2 + ### to update the terminal. All information here can also be found on the 3 + ### wiki: https://wiki.termux.com/wiki/Terminal_Settings 4 + 5 + ############### 6 + # General 7 + ############### 8 + 9 + ### Allow external applications to execute arbitrary commands within Termux. 10 + ### This potentially could be a security issue, so option is disabled by 11 + ### default. Uncomment to enable. 12 + # allow-external-apps = true 13 + 14 + ### Default working directory that will be used when launching the app. 15 + # default-working-directory = /data/data/com.termux/files/home 16 + 17 + ### Uncomment to disable toasts shown on terminal session change. 18 + disable-terminal-session-change-toast = true 19 + 20 + ### Uncomment to not show soft keyboard on application start. 21 + hide-soft-keyboard-on-startup = true 22 + 23 + ### Uncomment to let keyboard toggle button to enable or disable software 24 + ### keyboard instead of showing/hiding it. 25 + # soft-keyboard-toggle-behaviour = enable/disable 26 + 27 + ### Adjust terminal scrollback buffer. Max is 50000. May have negative 28 + ### impact on performance. 29 + terminal-transcript-rows = 5000 30 + 31 + ### Uncomment to use volume keys for adjusting volume and not for the 32 + ### extra keys functionality. 33 + # volume-keys = volume 34 + 35 + ############### 36 + # Fullscreen mode 37 + ############### 38 + 39 + ### Uncomment to let Termux start in full screen mode. 40 + fullscreen = true 41 + 42 + ### Uncomment to attempt workaround layout issues when running in 43 + ### full screen mode. 44 + #use-fullscreen-workaround = true 45 + 46 + ############### 47 + # Cursor 48 + ############### 49 + 50 + ### Cursor blink rate. Values 0, 100 - 2000. 51 + # terminal-cursor-blink-rate = 0 52 + 53 + ### Cursor style: block, bar, underline. 54 + # terminal-cursor-style = block 55 + 56 + ############### 57 + # Extra keys 58 + ############### 59 + 60 + ### Settings for choosing which set of symbols to use for illustrating keys. 61 + ### Choose between default, arrows-only, arrows-all, all and none 62 + extra-keys-style = arrows-all 63 + 64 + ### Force capitalize all text in extra keys row button labels. 65 + # extra-keys-text-all-caps = true 66 + 67 + ### Default extra-key configuration 68 + # extra-keys = [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]] 69 + 70 + ### Two rows with more keys 71 + extra-keys = [ \ 72 + ['ESC', {key: '-', popout: '|'},'/','HOME','UP','END','PGUP','DEL'], \ 73 + ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','BKSP'] \ 74 + ] 75 + 76 + ### Configuration with additional popup keys (swipe up from an extra key) 77 + # extra-keys = [[ \ 78 + # {key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, \ 79 + # {key: CTRL, popup: {macro: "CTRL f BKSP", display: "tmux โ†"}}, \ 80 + # {key: ALT, popup: {macro: "CTRL f TAB", display: "tmux โ†’"}}, \ 81 + # {key: TAB, popup: {macro: "ALT a", display: A-a}}, \ 82 + # {key: LEFT, popup: HOME}, \ 83 + # {key: DOWN, popup: PGDN}, \ 84 + # {key: UP, popup: PGUP}, \ 85 + # {key: RIGHT, popup: END}, \ 86 + # {macro: "ALT j", display: A-j, popup: {macro: "ALT g", display: A-g}}, \ 87 + # {key: KEYBOARD, popup: {macro: "CTRL d", display: exit}} \ 88 + # ]] 89 + 90 + ############### 91 + # Colors/themes 92 + ############### 93 + 94 + ### Force black colors for drawer and dialogs 95 + use-black-ui = true 96 + 97 + ############### 98 + # HW keyboard shortcuts 99 + ############### 100 + 101 + ### Disable hardware keyboard shortcuts. 102 + # disable-hardware-keyboard-shortcuts = true 103 + 104 + ### Open a new terminal with ctrl + t (volume down + t) 105 + # shortcut.create-session = ctrl + t 106 + 107 + ### Go one session down with (for example) ctrl + 2 108 + # shortcut.next-session = ctrl + 2 109 + 110 + ### Go one session up with (for example) ctrl + 1 111 + # shortcut.previous-session = ctrl + 1 112 + 113 + ### Rename a session with (for example) ctrl + n 114 + # shortcut.rename-session = ctrl + n 115 + 116 + ############### 117 + # Bell key 118 + ############### 119 + 120 + ### Vibrate device (default). 121 + # bell-character = vibrate 122 + 123 + ### Beep with a sound. 124 + # bell-character = beep 125 + 126 + ### Ignore bell character. 127 + # bell-character = ignore 128 + 129 + ############### 130 + # Back key 131 + ############### 132 + 133 + ### Send the Escape key. 134 + # back-key=escape 135 + 136 + ### Hide keyboard or leave app (default). 137 + # back-key=back 138 + 139 + ############### 140 + # Keyboard issue workarounds 141 + ############### 142 + 143 + ### Letters might not appear until enter is pressed on Samsung devices 144 + # enforce-char-based-input = true 145 + 146 + ### ctrl+space (for marking text in emacs) does not work on some devices 147 + # ctrl-space-workaround = true
+6
.tool-versions
··· 1 + nodejs 20.12.2 2 + deno 1.45.5 3 + direnv 2.34.0 4 + python 3.12.3 5 + glab 1.45.0 6 + golang 1.22.6
+7
.trunk/.gitignore
··· 1 + *out 2 + *logs 3 + *actions 4 + *notifications 5 + plugins 6 + user_trunk.yaml 7 + user.yaml
+12
.trunk/trunk.yaml
··· 1 + version: 0.1 2 + cli: 3 + version: 1.3.1 4 + plugins: 5 + sources: 6 + - id: trunk 7 + ref: v0.0.8 8 + uri: https://github.com/trunk-io/plugins 9 + lint: 10 + enabled: 11 + - shfmt@3.5.0 12 + - shellcheck@0.7.2
+6
.vscode/extensions.json
··· 1 + { 2 + "recommendations": [ 3 + "mads-hartmann.bash-ide-vscode", 4 + "jetpack-io.devbox" 5 + ] 6 + }
+48
.vscode/settings.json
··· 1 + { 2 + "git.alwaysSignOff": true, 3 + "gitlens.remotes": [ 4 + { 5 + "domain": "mau.dev", 6 + "type": "GitLab" 7 + }, 8 + { 9 + "domain": "tildegit.com", 10 + "type": "Gitea" 11 + }, 12 + { 13 + "domain": "git.vern.cc", 14 + "type": "Gitea" 15 + } 16 + ], 17 + "gitlens.heatmap.ageThreshold": 60, 18 + "gitlens.views.commitDetails.files.layout": "tree", 19 + "gitlens.views.repositories.includeWorkingTree": true, 20 + "gitlens.views.repositories.showIncomingActivity": true, 21 + "gitlens.views.fileHistory.files.layout": "tree", 22 + "gitlens.autolinks": [ 23 + { 24 + "ignoreCase": true, 25 + "prefix": "LAUNCHPAD-", 26 + "url": "https://youtrack.andreijiroh.xyz/issue/LAUNCHPAD-<num>" 27 + } 28 + ], 29 + "gitlens.defaultTimeFormat": "HH:mm", 30 + "gitlens.defaultDateShortFormat": "YYYY-MM-D", 31 + "gitlens.defaultDateFormat": "YYYY-MM-D HH:mm", 32 + "shellcheck.customArgs": [ 33 + "--external-sources", 34 + "-x" 35 + ], 36 + "files.watcherExclude": { 37 + "**/.git/objects/**": true, 38 + "**/.git/subtree-cache/**": true, 39 + "**/node_modules/*/**": true, 40 + "**/.cache/**": true 41 + }, 42 + "dotenv.enableAutocloaking": false, 43 + "search.exclude": { 44 + "**/.cache": true 45 + }, 46 + "search.useGlobalIgnoreFiles": true, 47 + "search.useParentIgnoreFiles": true 48 + }
-1
.wakatime-project
··· 1 - @andreijiroh-dev/dotfiles
+7 -370
LICENSE
··· 1 - Mozilla Public License Version 2.0 2 - ================================== 3 - 4 - 1. Definitions 5 - -------------- 6 - 7 - 1.1. "Contributor" 8 - means each individual or legal entity that creates, contributes to 9 - the creation of, or owns Covered Software. 10 - 11 - 1.2. "Contributor Version" 12 - means the combination of the Contributions of others (if any) used 13 - by a Contributor and that particular Contributor's Contribution. 14 - 15 - 1.3. "Contribution" 16 - means Covered Software of a particular Contributor. 17 - 18 - 1.4. "Covered Software" 19 - means Source Code Form to which the initial Contributor has attached 20 - the notice in Exhibit A, the Executable Form of such Source Code 21 - Form, and Modifications of such Source Code Form, in each case 22 - including portions thereof. 23 - 24 - 1.5. "Incompatible With Secondary Licenses" 25 - means 26 - 27 - (a) that the initial Contributor has attached the notice described 28 - in Exhibit B to the Covered Software; or 29 - 30 - (b) that the Covered Software was made available under the terms of 31 - version 1.1 or earlier of the License, but not also under the 32 - terms of a Secondary License. 33 - 34 - 1.6. "Executable Form" 35 - means any form of the work other than Source Code Form. 1 + MIT License + Mozilla Public License 2.0 36 2 37 - 1.7. "Larger Work" 38 - means a work that combines Covered Software with other material, in 39 - a separate file or files, that is not Covered Software. 3 + Copyright (c) 2022-present Andrei Jiroh Halili and contributors 40 4 41 - 1.8. "License" 42 - means this document. 5 + The contents of this repository, including external contributions is licensed under both MIT 6 + and MPL-2.0, and this LICENSE file serves as placeholder for git hosting services that don't 7 + support miltiple license files. This license doesn't include code that copied over from 8 + third-parties and even Git submodules checked in. 43 9 44 - 1.9. "Licensable" 45 - means having the right to grant, to the maximum extent possible, 46 - whether at the time of the initial grant or subsequently, any and 47 - all of the rights conveyed by this License. 48 - 49 - 1.10. "Modifications" 50 - means any of the following: 51 - 52 - (a) any file in Source Code Form that results from an addition to, 53 - deletion from, or modification of the contents of Covered 54 - Software; or 55 - 56 - (b) any new file in Source Code Form that contains any Covered 57 - Software. 58 - 59 - 1.11. "Patent Claims" of a Contributor 60 - means any patent claim(s), including without limitation, method, 61 - process, and apparatus claims, in any patent Licensable by such 62 - Contributor that would be infringed, but for the grant of the 63 - License, by the making, using, selling, offering for sale, having 64 - made, import, or transfer of either its Contributions or its 65 - Contributor Version. 66 - 67 - 1.12. "Secondary License" 68 - means either the GNU General Public License, Version 2.0, the GNU 69 - Lesser General Public License, Version 2.1, the GNU Affero General 70 - Public License, Version 3.0, or any later versions of those 71 - licenses. 72 - 73 - 1.13. "Source Code Form" 74 - means the form of the work preferred for making modifications. 75 - 76 - 1.14. "You" (or "Your") 77 - means an individual or a legal entity exercising rights under this 78 - License. For legal entities, "You" includes any entity that 79 - controls, is controlled by, or is under common control with You. For 80 - purposes of this definition, "control" means (a) the power, direct 81 - or indirect, to cause the direction or management of such entity, 82 - whether by contract or otherwise, or (b) ownership of more than 83 - fifty percent (50%) of the outstanding shares or beneficial 84 - ownership of such entity. 85 - 86 - 2. License Grants and Conditions 87 - -------------------------------- 88 - 89 - 2.1. Grants 90 - 91 - Each Contributor hereby grants You a world-wide, royalty-free, 92 - non-exclusive license: 93 - 94 - (a) under intellectual property rights (other than patent or trademark) 95 - Licensable by such Contributor to use, reproduce, make available, 96 - modify, display, perform, distribute, and otherwise exploit its 97 - Contributions, either on an unmodified basis, with Modifications, or 98 - as part of a Larger Work; and 99 - 100 - (b) under Patent Claims of such Contributor to make, use, sell, offer 101 - for sale, have made, import, and otherwise transfer either its 102 - Contributions or its Contributor Version. 103 - 104 - 2.2. Effective Date 105 - 106 - The licenses granted in Section 2.1 with respect to any Contribution 107 - become effective for each Contribution on the date the Contributor first 108 - distributes such Contribution. 109 - 110 - 2.3. Limitations on Grant Scope 111 - 112 - The licenses granted in this Section 2 are the only rights granted under 113 - this License. No additional rights or licenses will be implied from the 114 - distribution or licensing of Covered Software under this License. 115 - Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 - Contributor: 117 - 118 - (a) for any code that a Contributor has removed from Covered Software; 119 - or 120 - 121 - (b) for infringements caused by: (i) Your and any other third party's 122 - modifications of Covered Software, or (ii) the combination of its 123 - Contributions with other software (except as part of its Contributor 124 - Version); or 125 - 126 - (c) under Patent Claims infringed by Covered Software in the absence of 127 - its Contributions. 128 - 129 - This License does not grant any rights in the trademarks, service marks, 130 - or logos of any Contributor (except as may be necessary to comply with 131 - the notice requirements in Section 3.4). 132 - 133 - 2.4. Subsequent Licenses 134 - 135 - No Contributor makes additional grants as a result of Your choice to 136 - distribute the Covered Software under a subsequent version of this 137 - License (see Section 10.2) or under the terms of a Secondary License (if 138 - permitted under the terms of Section 3.3). 139 - 140 - 2.5. Representation 141 - 142 - Each Contributor represents that the Contributor believes its 143 - Contributions are its original creation(s) or it has sufficient rights 144 - to grant the rights to its Contributions conveyed by this License. 145 - 146 - 2.6. Fair Use 147 - 148 - This License is not intended to limit any rights You have under 149 - applicable copyright doctrines of fair use, fair dealing, or other 150 - equivalents. 151 - 152 - 2.7. Conditions 153 - 154 - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 - in Section 2.1. 156 - 157 - 3. Responsibilities 158 - ------------------- 159 - 160 - 3.1. Distribution of Source Form 161 - 162 - All distribution of Covered Software in Source Code Form, including any 163 - Modifications that You create or to which You contribute, must be under 164 - the terms of this License. You must inform recipients that the Source 165 - Code Form of the Covered Software is governed by the terms of this 166 - License, and how they can obtain a copy of this License. You may not 167 - attempt to alter or restrict the recipients' rights in the Source Code 168 - Form. 169 - 170 - 3.2. Distribution of Executable Form 171 - 172 - If You distribute Covered Software in Executable Form then: 173 - 174 - (a) such Covered Software must also be made available in Source Code 175 - Form, as described in Section 3.1, and You must inform recipients of 176 - the Executable Form how they can obtain a copy of such Source Code 177 - Form by reasonable means in a timely manner, at a charge no more 178 - than the cost of distribution to the recipient; and 179 - 180 - (b) You may distribute such Executable Form under the terms of this 181 - License, or sublicense it under different terms, provided that the 182 - license for the Executable Form does not attempt to limit or alter 183 - the recipients' rights in the Source Code Form under this License. 184 - 185 - 3.3. Distribution of a Larger Work 186 - 187 - You may create and distribute a Larger Work under terms of Your choice, 188 - provided that You also comply with the requirements of this License for 189 - the Covered Software. If the Larger Work is a combination of Covered 190 - Software with a work governed by one or more Secondary Licenses, and the 191 - Covered Software is not Incompatible With Secondary Licenses, this 192 - License permits You to additionally distribute such Covered Software 193 - under the terms of such Secondary License(s), so that the recipient of 194 - the Larger Work may, at their option, further distribute the Covered 195 - Software under the terms of either this License or such Secondary 196 - License(s). 197 - 198 - 3.4. Notices 199 - 200 - You may not remove or alter the substance of any license notices 201 - (including copyright notices, patent notices, disclaimers of warranty, 202 - or limitations of liability) contained within the Source Code Form of 203 - the Covered Software, except that You may alter any license notices to 204 - the extent required to remedy known factual inaccuracies. 205 - 206 - 3.5. Application of Additional Terms 207 - 208 - You may choose to offer, and to charge a fee for, warranty, support, 209 - indemnity or liability obligations to one or more recipients of Covered 210 - Software. However, You may do so only on Your own behalf, and not on 211 - behalf of any Contributor. You must make it absolutely clear that any 212 - such warranty, support, indemnity, or liability obligation is offered by 213 - You alone, and You hereby agree to indemnify every Contributor for any 214 - liability incurred by such Contributor as a result of warranty, support, 215 - indemnity or liability terms You offer. You may include additional 216 - disclaimers of warranty and limitations of liability specific to any 217 - jurisdiction. 218 - 219 - 4. Inability to Comply Due to Statute or Regulation 220 - --------------------------------------------------- 221 - 222 - If it is impossible for You to comply with any of the terms of this 223 - License with respect to some or all of the Covered Software due to 224 - statute, judicial order, or regulation then You must: (a) comply with 225 - the terms of this License to the maximum extent possible; and (b) 226 - describe the limitations and the code they affect. Such description must 227 - be placed in a text file included with all distributions of the Covered 228 - Software under this License. Except to the extent prohibited by statute 229 - or regulation, such description must be sufficiently detailed for a 230 - recipient of ordinary skill to be able to understand it. 231 - 232 - 5. Termination 233 - -------------- 234 - 235 - 5.1. The rights granted under this License will terminate automatically 236 - if You fail to comply with any of its terms. However, if You become 237 - compliant, then the rights granted under this License from a particular 238 - Contributor are reinstated (a) provisionally, unless and until such 239 - Contributor explicitly and finally terminates Your grants, and (b) on an 240 - ongoing basis, if such Contributor fails to notify You of the 241 - non-compliance by some reasonable means prior to 60 days after You have 242 - come back into compliance. Moreover, Your grants from a particular 243 - Contributor are reinstated on an ongoing basis if such Contributor 244 - notifies You of the non-compliance by some reasonable means, this is the 245 - first time You have received notice of non-compliance with this License 246 - from such Contributor, and You become compliant prior to 30 days after 247 - Your receipt of the notice. 248 - 249 - 5.2. If You initiate litigation against any entity by asserting a patent 250 - infringement claim (excluding declaratory judgment actions, 251 - counter-claims, and cross-claims) alleging that a Contributor Version 252 - directly or indirectly infringes any patent, then the rights granted to 253 - You by any and all Contributors for the Covered Software under Section 254 - 2.1 of this License shall terminate. 255 - 256 - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 - end user license agreements (excluding distributors and resellers) which 258 - have been validly granted by You or Your distributors under this License 259 - prior to termination shall survive termination. 260 - 261 - ************************************************************************ 262 - * * 263 - * 6. Disclaimer of Warranty * 264 - * ------------------------- * 265 - * * 266 - * Covered Software is provided under this License on an "as is" * 267 - * basis, without warranty of any kind, either expressed, implied, or * 268 - * statutory, including, without limitation, warranties that the * 269 - * Covered Software is free of defects, merchantable, fit for a * 270 - * particular purpose or non-infringing. The entire risk as to the * 271 - * quality and performance of the Covered Software is with You. * 272 - * Should any Covered Software prove defective in any respect, You * 273 - * (not any Contributor) assume the cost of any necessary servicing, * 274 - * repair, or correction. This disclaimer of warranty constitutes an * 275 - * essential part of this License. No use of any Covered Software is * 276 - * authorized under this License except under this disclaimer. * 277 - * * 278 - ************************************************************************ 279 - 280 - ************************************************************************ 281 - * * 282 - * 7. Limitation of Liability * 283 - * -------------------------- * 284 - * * 285 - * Under no circumstances and under no legal theory, whether tort * 286 - * (including negligence), contract, or otherwise, shall any * 287 - * Contributor, or anyone who distributes Covered Software as * 288 - * permitted above, be liable to You for any direct, indirect, * 289 - * special, incidental, or consequential damages of any character * 290 - * including, without limitation, damages for lost profits, loss of * 291 - * goodwill, work stoppage, computer failure or malfunction, or any * 292 - * and all other commercial damages or losses, even if such party * 293 - * shall have been informed of the possibility of such damages. This * 294 - * limitation of liability shall not apply to liability for death or * 295 - * personal injury resulting from such party's negligence to the * 296 - * extent applicable law prohibits such limitation. Some * 297 - * jurisdictions do not allow the exclusion or limitation of * 298 - * incidental or consequential damages, so this exclusion and * 299 - * limitation may not apply to You. * 300 - * * 301 - ************************************************************************ 302 - 303 - 8. Litigation 304 - ------------- 305 - 306 - Any litigation relating to this License may be brought only in the 307 - courts of a jurisdiction where the defendant maintains its principal 308 - place of business and such litigation shall be governed by laws of that 309 - jurisdiction, without reference to its conflict-of-law provisions. 310 - Nothing in this Section shall prevent a party's ability to bring 311 - cross-claims or counter-claims. 312 - 313 - 9. Miscellaneous 314 - ---------------- 315 - 316 - This License represents the complete agreement concerning the subject 317 - matter hereof. If any provision of this License is held to be 318 - unenforceable, such provision shall be reformed only to the extent 319 - necessary to make it enforceable. Any law or regulation which provides 320 - that the language of a contract shall be construed against the drafter 321 - shall not be used to construe this License against a Contributor. 322 - 323 - 10. Versions of the License 324 - --------------------------- 325 - 326 - 10.1. New Versions 327 - 328 - Mozilla Foundation is the license steward. Except as provided in Section 329 - 10.3, no one other than the license steward has the right to modify or 330 - publish new versions of this License. Each version will be given a 331 - distinguishing version number. 332 - 333 - 10.2. Effect of New Versions 334 - 335 - You may distribute the Covered Software under the terms of the version 336 - of the License under which You originally received the Covered Software, 337 - or under the terms of any subsequent version published by the license 338 - steward. 339 - 340 - 10.3. Modified Versions 341 - 342 - If you create software not governed by this License, and you want to 343 - create a new license for such software, you may create and use a 344 - modified version of this License if you rename the license and remove 345 - any references to the name of the license steward (except to note that 346 - such modified license differs from this License). 347 - 348 - 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 - Licenses 350 - 351 - If You choose to distribute Source Code Form that is Incompatible With 352 - Secondary Licenses under the terms of this version of the License, the 353 - notice described in Exhibit B of this License must be attached. 354 - 355 - Exhibit A - Source Code Form License Notice 356 - ------------------------------------------- 357 - 358 - This Source Code Form is subject to the terms of the Mozilla Public 359 - License, v. 2.0. If a copy of the MPL was not distributed with this 360 - file, You can obtain one at https://mozilla.org/MPL/2.0/. 361 - 362 - If it is not possible or desirable to put the notice in a particular 363 - file, then You may include the notice in a location (such as a LICENSE 364 - file in a relevant directory) where a recipient would be likely to look 365 - for such a notice. 366 - 367 - You may add additional accurate notices of copyright ownership. 368 - 369 - Exhibit B - "Incompatible With Secondary Licenses" Notice 370 - --------------------------------------------------------- 371 - 372 - This Source Code Form is "Incompatible With Secondary Licenses", as 373 - defined by the Mozilla Public License, v. 2.0. 10 + See LICENSE-MIT and LICENSE-MPL-2.0 for the legalese text in plaintext.
+21
LICENSE-MIT
··· 1 + MIT License 2 + 3 + Copyright (c) 2022-present Andrei Jiroh Halili and contributors 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy 6 + of this software and associated documentation files (the "Software"), to deal 7 + in the Software without restriction, including without limitation the rights 8 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 + copies of the Software, and to permit persons to whom the Software is 10 + furnished to do so, subject to the following conditions: 11 + 12 + The above copyright notice and this permission notice shall be included in all 13 + copies or substantial portions of the Software. 14 + 15 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 + SOFTWARE.
+373
LICENSE-MPL-2.0
··· 1 + Mozilla Public License Version 2.0 2 + ================================== 3 + 4 + 1. Definitions 5 + -------------- 6 + 7 + 1.1. "Contributor" 8 + means each individual or legal entity that creates, contributes to 9 + the creation of, or owns Covered Software. 10 + 11 + 1.2. "Contributor Version" 12 + means the combination of the Contributions of others (if any) used 13 + by a Contributor and that particular Contributor's Contribution. 14 + 15 + 1.3. "Contribution" 16 + means Covered Software of a particular Contributor. 17 + 18 + 1.4. "Covered Software" 19 + means Source Code Form to which the initial Contributor has attached 20 + the notice in Exhibit A, the Executable Form of such Source Code 21 + Form, and Modifications of such Source Code Form, in each case 22 + including portions thereof. 23 + 24 + 1.5. "Incompatible With Secondary Licenses" 25 + means 26 + 27 + (a) that the initial Contributor has attached the notice described 28 + in Exhibit B to the Covered Software; or 29 + 30 + (b) that the Covered Software was made available under the terms of 31 + version 1.1 or earlier of the License, but not also under the 32 + terms of a Secondary License. 33 + 34 + 1.6. "Executable Form" 35 + means any form of the work other than Source Code Form. 36 + 37 + 1.7. "Larger Work" 38 + means a work that combines Covered Software with other material, in 39 + a separate file or files, that is not Covered Software. 40 + 41 + 1.8. "License" 42 + means this document. 43 + 44 + 1.9. "Licensable" 45 + means having the right to grant, to the maximum extent possible, 46 + whether at the time of the initial grant or subsequently, any and 47 + all of the rights conveyed by this License. 48 + 49 + 1.10. "Modifications" 50 + means any of the following: 51 + 52 + (a) any file in Source Code Form that results from an addition to, 53 + deletion from, or modification of the contents of Covered 54 + Software; or 55 + 56 + (b) any new file in Source Code Form that contains any Covered 57 + Software. 58 + 59 + 1.11. "Patent Claims" of a Contributor 60 + means any patent claim(s), including without limitation, method, 61 + process, and apparatus claims, in any patent Licensable by such 62 + Contributor that would be infringed, but for the grant of the 63 + License, by the making, using, selling, offering for sale, having 64 + made, import, or transfer of either its Contributions or its 65 + Contributor Version. 66 + 67 + 1.12. "Secondary License" 68 + means either the GNU General Public License, Version 2.0, the GNU 69 + Lesser General Public License, Version 2.1, the GNU Affero General 70 + Public License, Version 3.0, or any later versions of those 71 + licenses. 72 + 73 + 1.13. "Source Code Form" 74 + means the form of the work preferred for making modifications. 75 + 76 + 1.14. "You" (or "Your") 77 + means an individual or a legal entity exercising rights under this 78 + License. For legal entities, "You" includes any entity that 79 + controls, is controlled by, or is under common control with You. For 80 + purposes of this definition, "control" means (a) the power, direct 81 + or indirect, to cause the direction or management of such entity, 82 + whether by contract or otherwise, or (b) ownership of more than 83 + fifty percent (50%) of the outstanding shares or beneficial 84 + ownership of such entity. 85 + 86 + 2. License Grants and Conditions 87 + -------------------------------- 88 + 89 + 2.1. Grants 90 + 91 + Each Contributor hereby grants You a world-wide, royalty-free, 92 + non-exclusive license: 93 + 94 + (a) under intellectual property rights (other than patent or trademark) 95 + Licensable by such Contributor to use, reproduce, make available, 96 + modify, display, perform, distribute, and otherwise exploit its 97 + Contributions, either on an unmodified basis, with Modifications, or 98 + as part of a Larger Work; and 99 + 100 + (b) under Patent Claims of such Contributor to make, use, sell, offer 101 + for sale, have made, import, and otherwise transfer either its 102 + Contributions or its Contributor Version. 103 + 104 + 2.2. Effective Date 105 + 106 + The licenses granted in Section 2.1 with respect to any Contribution 107 + become effective for each Contribution on the date the Contributor first 108 + distributes such Contribution. 109 + 110 + 2.3. Limitations on Grant Scope 111 + 112 + The licenses granted in this Section 2 are the only rights granted under 113 + this License. No additional rights or licenses will be implied from the 114 + distribution or licensing of Covered Software under this License. 115 + Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 + Contributor: 117 + 118 + (a) for any code that a Contributor has removed from Covered Software; 119 + or 120 + 121 + (b) for infringements caused by: (i) Your and any other third party's 122 + modifications of Covered Software, or (ii) the combination of its 123 + Contributions with other software (except as part of its Contributor 124 + Version); or 125 + 126 + (c) under Patent Claims infringed by Covered Software in the absence of 127 + its Contributions. 128 + 129 + This License does not grant any rights in the trademarks, service marks, 130 + or logos of any Contributor (except as may be necessary to comply with 131 + the notice requirements in Section 3.4). 132 + 133 + 2.4. Subsequent Licenses 134 + 135 + No Contributor makes additional grants as a result of Your choice to 136 + distribute the Covered Software under a subsequent version of this 137 + License (see Section 10.2) or under the terms of a Secondary License (if 138 + permitted under the terms of Section 3.3). 139 + 140 + 2.5. Representation 141 + 142 + Each Contributor represents that the Contributor believes its 143 + Contributions are its original creation(s) or it has sufficient rights 144 + to grant the rights to its Contributions conveyed by this License. 145 + 146 + 2.6. Fair Use 147 + 148 + This License is not intended to limit any rights You have under 149 + applicable copyright doctrines of fair use, fair dealing, or other 150 + equivalents. 151 + 152 + 2.7. Conditions 153 + 154 + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 + in Section 2.1. 156 + 157 + 3. Responsibilities 158 + ------------------- 159 + 160 + 3.1. Distribution of Source Form 161 + 162 + All distribution of Covered Software in Source Code Form, including any 163 + Modifications that You create or to which You contribute, must be under 164 + the terms of this License. You must inform recipients that the Source 165 + Code Form of the Covered Software is governed by the terms of this 166 + License, and how they can obtain a copy of this License. You may not 167 + attempt to alter or restrict the recipients' rights in the Source Code 168 + Form. 169 + 170 + 3.2. Distribution of Executable Form 171 + 172 + If You distribute Covered Software in Executable Form then: 173 + 174 + (a) such Covered Software must also be made available in Source Code 175 + Form, as described in Section 3.1, and You must inform recipients of 176 + the Executable Form how they can obtain a copy of such Source Code 177 + Form by reasonable means in a timely manner, at a charge no more 178 + than the cost of distribution to the recipient; and 179 + 180 + (b) You may distribute such Executable Form under the terms of this 181 + License, or sublicense it under different terms, provided that the 182 + license for the Executable Form does not attempt to limit or alter 183 + the recipients' rights in the Source Code Form under this License. 184 + 185 + 3.3. Distribution of a Larger Work 186 + 187 + You may create and distribute a Larger Work under terms of Your choice, 188 + provided that You also comply with the requirements of this License for 189 + the Covered Software. If the Larger Work is a combination of Covered 190 + Software with a work governed by one or more Secondary Licenses, and the 191 + Covered Software is not Incompatible With Secondary Licenses, this 192 + License permits You to additionally distribute such Covered Software 193 + under the terms of such Secondary License(s), so that the recipient of 194 + the Larger Work may, at their option, further distribute the Covered 195 + Software under the terms of either this License or such Secondary 196 + License(s). 197 + 198 + 3.4. Notices 199 + 200 + You may not remove or alter the substance of any license notices 201 + (including copyright notices, patent notices, disclaimers of warranty, 202 + or limitations of liability) contained within the Source Code Form of 203 + the Covered Software, except that You may alter any license notices to 204 + the extent required to remedy known factual inaccuracies. 205 + 206 + 3.5. Application of Additional Terms 207 + 208 + You may choose to offer, and to charge a fee for, warranty, support, 209 + indemnity or liability obligations to one or more recipients of Covered 210 + Software. However, You may do so only on Your own behalf, and not on 211 + behalf of any Contributor. You must make it absolutely clear that any 212 + such warranty, support, indemnity, or liability obligation is offered by 213 + You alone, and You hereby agree to indemnify every Contributor for any 214 + liability incurred by such Contributor as a result of warranty, support, 215 + indemnity or liability terms You offer. You may include additional 216 + disclaimers of warranty and limitations of liability specific to any 217 + jurisdiction. 218 + 219 + 4. Inability to Comply Due to Statute or Regulation 220 + --------------------------------------------------- 221 + 222 + If it is impossible for You to comply with any of the terms of this 223 + License with respect to some or all of the Covered Software due to 224 + statute, judicial order, or regulation then You must: (a) comply with 225 + the terms of this License to the maximum extent possible; and (b) 226 + describe the limitations and the code they affect. Such description must 227 + be placed in a text file included with all distributions of the Covered 228 + Software under this License. Except to the extent prohibited by statute 229 + or regulation, such description must be sufficiently detailed for a 230 + recipient of ordinary skill to be able to understand it. 231 + 232 + 5. Termination 233 + -------------- 234 + 235 + 5.1. The rights granted under this License will terminate automatically 236 + if You fail to comply with any of its terms. However, if You become 237 + compliant, then the rights granted under this License from a particular 238 + Contributor are reinstated (a) provisionally, unless and until such 239 + Contributor explicitly and finally terminates Your grants, and (b) on an 240 + ongoing basis, if such Contributor fails to notify You of the 241 + non-compliance by some reasonable means prior to 60 days after You have 242 + come back into compliance. Moreover, Your grants from a particular 243 + Contributor are reinstated on an ongoing basis if such Contributor 244 + notifies You of the non-compliance by some reasonable means, this is the 245 + first time You have received notice of non-compliance with this License 246 + from such Contributor, and You become compliant prior to 30 days after 247 + Your receipt of the notice. 248 + 249 + 5.2. If You initiate litigation against any entity by asserting a patent 250 + infringement claim (excluding declaratory judgment actions, 251 + counter-claims, and cross-claims) alleging that a Contributor Version 252 + directly or indirectly infringes any patent, then the rights granted to 253 + You by any and all Contributors for the Covered Software under Section 254 + 2.1 of this License shall terminate. 255 + 256 + 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 + end user license agreements (excluding distributors and resellers) which 258 + have been validly granted by You or Your distributors under this License 259 + prior to termination shall survive termination. 260 + 261 + ************************************************************************ 262 + * * 263 + * 6. Disclaimer of Warranty * 264 + * ------------------------- * 265 + * * 266 + * Covered Software is provided under this License on an "as is" * 267 + * basis, without warranty of any kind, either expressed, implied, or * 268 + * statutory, including, without limitation, warranties that the * 269 + * Covered Software is free of defects, merchantable, fit for a * 270 + * particular purpose or non-infringing. The entire risk as to the * 271 + * quality and performance of the Covered Software is with You. * 272 + * Should any Covered Software prove defective in any respect, You * 273 + * (not any Contributor) assume the cost of any necessary servicing, * 274 + * repair, or correction. This disclaimer of warranty constitutes an * 275 + * essential part of this License. No use of any Covered Software is * 276 + * authorized under this License except under this disclaimer. * 277 + * * 278 + ************************************************************************ 279 + 280 + ************************************************************************ 281 + * * 282 + * 7. Limitation of Liability * 283 + * -------------------------- * 284 + * * 285 + * Under no circumstances and under no legal theory, whether tort * 286 + * (including negligence), contract, or otherwise, shall any * 287 + * Contributor, or anyone who distributes Covered Software as * 288 + * permitted above, be liable to You for any direct, indirect, * 289 + * special, incidental, or consequential damages of any character * 290 + * including, without limitation, damages for lost profits, loss of * 291 + * goodwill, work stoppage, computer failure or malfunction, or any * 292 + * and all other commercial damages or losses, even if such party * 293 + * shall have been informed of the possibility of such damages. This * 294 + * limitation of liability shall not apply to liability for death or * 295 + * personal injury resulting from such party's negligence to the * 296 + * extent applicable law prohibits such limitation. Some * 297 + * jurisdictions do not allow the exclusion or limitation of * 298 + * incidental or consequential damages, so this exclusion and * 299 + * limitation may not apply to You. * 300 + * * 301 + ************************************************************************ 302 + 303 + 8. Litigation 304 + ------------- 305 + 306 + Any litigation relating to this License may be brought only in the 307 + courts of a jurisdiction where the defendant maintains its principal 308 + place of business and such litigation shall be governed by laws of that 309 + jurisdiction, without reference to its conflict-of-law provisions. 310 + Nothing in this Section shall prevent a party's ability to bring 311 + cross-claims or counter-claims. 312 + 313 + 9. Miscellaneous 314 + ---------------- 315 + 316 + This License represents the complete agreement concerning the subject 317 + matter hereof. If any provision of this License is held to be 318 + unenforceable, such provision shall be reformed only to the extent 319 + necessary to make it enforceable. Any law or regulation which provides 320 + that the language of a contract shall be construed against the drafter 321 + shall not be used to construe this License against a Contributor. 322 + 323 + 10. Versions of the License 324 + --------------------------- 325 + 326 + 10.1. New Versions 327 + 328 + Mozilla Foundation is the license steward. Except as provided in Section 329 + 10.3, no one other than the license steward has the right to modify or 330 + publish new versions of this License. Each version will be given a 331 + distinguishing version number. 332 + 333 + 10.2. Effect of New Versions 334 + 335 + You may distribute the Covered Software under the terms of the version 336 + of the License under which You originally received the Covered Software, 337 + or under the terms of any subsequent version published by the license 338 + steward. 339 + 340 + 10.3. Modified Versions 341 + 342 + If you create software not governed by this License, and you want to 343 + create a new license for such software, you may create and use a 344 + modified version of this License if you rename the license and remove 345 + any references to the name of the license steward (except to note that 346 + such modified license differs from this License). 347 + 348 + 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 + Licenses 350 + 351 + If You choose to distribute Source Code Form that is Incompatible With 352 + Secondary Licenses under the terms of this version of the License, the 353 + notice described in Exhibit B of this License must be attached. 354 + 355 + Exhibit A - Source Code Form License Notice 356 + ------------------------------------------- 357 + 358 + This Source Code Form is subject to the terms of the Mozilla Public 359 + License, v. 2.0. If a copy of the MPL was not distributed with this 360 + file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 + 362 + If it is not possible or desirable to put the notice in a particular 363 + file, then You may include the notice in a location (such as a LICENSE 364 + file in a relevant directory) where a recipient would be likely to look 365 + for such a notice. 366 + 367 + You may add additional accurate notices of copyright ownership. 368 + 369 + Exhibit B - "Incompatible With Secondary Licenses" Notice 370 + --------------------------------------------------------- 371 + 372 + This Source Code Form is "Incompatible With Secondary Licenses", as 373 + defined by the Mozilla Public License, v. 2.0.
+22 -68
README.md
··· 1 - # `@andreijiroh-dev/dotfiles@nixos` - @ajhalili2006's dotfiles under nixos + nixpkgs! 1 + # ~ajhalili2006's dotfiles in Termux 2 2 3 - Yup, I'm starting a fresh for my dotfiles for 2025 and beyond, now with 4 - [nixpkgs](https://nixos.org) and [home-manager](https://nix-community.github.io/home-manager) 5 - in mind. Backwards-compatible with non-nixpkgs setups via `yadm`. 3 + > [!note] 4 + > For the main documentation itself, [see the README on the main branch](https://mau.dev/andreijiroh-dev/dotfiles/blob/main/README.md). 6 5 7 - ## Usage 6 + My dotfiles, customized for [Termux](https://termux.dev) and friends (context: Android OS). 7 + Based off <https://drewdevault.com/2019/12/30/dotfiles.html>, but uses `yadm` to manage home directory's version control 8 + as if I do prefixing commands with `git -C ~`. 8 9 9 - ### Plain dotfiles 10 - 11 - Make sure Git is installed in your non NixOS/nixpkgs setup for the setup to work. 10 + ## Quick deploy / Speedrun 12 11 13 12 ```bash 14 - cd ~ 15 - git init 16 - git remote add origin https://mau.dev/andreijiroh-dev/dotfiles 17 - git checkout -f main 18 - ln -s ./.git ./.local/share/yadm/repo.git # so that we can use yadm later 13 + # The script should detect that we're inside Termux, although we can force it 14 + # with the --termux flag. 15 + curl -fsSL https://scripts.andreijiroh.xyz/dotfiles/setup.sh | bash -s --termux 19 16 ``` 20 17 21 - If you prefer to cook up with `yadm` first: 18 + Alternatively: 22 19 23 20 ```bash 24 - yadm clone https://github.com/andreijiroh-dev/dotfiles 25 - ln -s ./.local/share/yadm/repo.git ./.git # so that we can normally use git here 26 - ``` 27 - 28 - ### Using nix flakes + home-manager 29 - 30 - ```bash 31 - # A quick home-manager switch should do the trick 32 - nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config 33 - 34 - # otherwise a quick copy paste configs should fix 'em if you use a different username 35 - # (not different home directory yet!) 21 + pkg install git git-lfs yadm gh glab-cli openssh 22 + git init -m main 23 + git remote add lab https://mau.dev/andreijiroh-dev/dotfiles 24 + git fetch --all 25 + git switch lab/termux 26 + yadm bootstrap 36 27 ``` 37 28 38 - #### Updating `authorized_keys` with Nix 39 - 40 - 1. Update [`shared/ssh-keys.nix`][ssh-keys] and `users.users.<gildedguy|ajhalili2006>.openssh.authorizedKeys.keys` 41 - 2. Run `nixos-rebuild switch` to regenerate `/etc/ssh/authorized_keys.d/<gildedguy|ajhalili2006>`. 42 - 3. Copy that file back to `.ssh/authorized_keys`. Commit changes and push. 43 - 4. On the affected machines, just `git pull` away. 44 - 45 - ### Using 1Password SSH Agent integration 29 + ## Differences from main branch 46 30 47 - > [!WARNING] 48 - > 1Password Desktop app must be installed and enabled `Use SSH Agent` in 49 - > **Settings** -> **Developer** -> **SSH Agent** after signing in. 50 - 51 - Note that this should work on most desktop apps, although if you're in Nest (and friends 52 - with RDP access), connect to there first and authenicate. You may need to adjust security 53 - settings in the desktop app to ensure nothing go wrong. 54 - 55 - Alternatively, you can export the private keys with password encryption 56 - 57 - ## Directory + File Map 58 - 59 - ### Essientials 60 - 61 - * [`.config/nixos`](./.config/nixos/) - my NixOS configuration as a flake, including system tools, 62 - usually in sync (TODO: Swap into Git module of <https://github.com/andreijiroh-dev/nixops-config> soon) 63 - * [`.config/home-manager`](./.config/home-manager/) - Home-manager configs, mostly CLI and desktop apps go here 64 - * [`bin`](./bin) - Shell scripts! (because Nix looks like Haskell to me) 65 - 66 - ## Related repositories 67 - 68 - * [`@andreijiroh-dev/nixops-config`][nixops-config] - my NixOS + home-manager configs, with flake support (TODO: turn `.config/nixos` into submodule) 69 - * [`@andreijiroh-dev/infraops`][infraops] - the homelab config in pure Docker Compose insanity, alongside DNS records YAML files for octoDNS 70 - * [`@recaptime-dev/infra`][rtdev-infra] - @recaptime-dev's infra configurations and home for our Infra Issue Tracker 71 - * [`@recaptime-dev/infra-internals`][rtdev-infra-internals] - @recaptime-dev's infra configs for Portainer (the public repo version only have `stack.env` files removed via `git-filter-repo`) 72 - 73 - ## License 74 - 75 - MPL-2.0 76 - 77 - [nixops-config]: https://github.com/andreijiroh-dev/nixops-config 78 - [infraops]: https://github.com/andreijiroh-dev/infraops 79 - [rtdev-infra]: https://github.com/recaptime-dev/infra 80 - [rtdev-infra-internals]: https://github.com/internal-recaptime-dev/infra-internals-public 31 + * Termux app customizations are stored in [`.termux/termux.properties`](.termux/termux.properties) file. 32 + * Heavy usage of `safe.storage` in Git user config for cross-app storage access, especially for Git repos via Obsidian. 33 + * Shell shebang patches via `termux-fix-shebang` 34 + * Some workarounds for using `keychain`
+149
bin/backup-pgp-keys
··· 1 + #!/usr/bin/env bash 2 + 3 + # a script to generate backups for my GPG keys 4 + 5 + # Literally all of active keys I use for different purposes. For things like shared keys, 6 + # I override them via PUBLIC_KEYS AND PRIVATE_KEYS variables at runtime. 7 + DEFAULT_PRIVATE_KEYS="0527234A430387EA5695D824A30EBE40AD856D88 4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8 EA957E7086E934F8DB9CAD21940047813E9D641C 5D69E717C5BC95731C2AD8BD120C218ED2291996 2CFF8721393487AEEF2C38987067DB4C7768552F 18C97CF46F06176E7EC43BDC7E4E0EF8B968A952 51D2F9710A20AAE56DC9A9AB77D63E4A0C267204" 8 + DEFAULT_PUBLIC_KEYS="0527234A430387EA5695D824A30EBE40AD856D88 4D5E631758CB9CC45941B1CE67BFC91B3DA12BE8 EA957E7086E934F8DB9CAD21940047813E9D641C 5D69E717C5BC95731C2AD8BD120C218ED2291996" 9 + 10 + # allow anybody to automate this via envvars 11 + PRIVATE_KEYS="${PRIVATE_KEYS:-"$DEFAULT_PRIVATE_KEYS"}" 12 + PUBLIC_KEYS="${PUBLIC_KEYS:-"$DEFAULT_PUBLIC_KEYS"}" 13 + 14 + # Command snippet taken from OpenKeychain FAQs 15 + # https://www.openkeychain.org/faq/#what-is-the-best-way-to-transfer-my-own-key-to-openkeychain 16 + BACKUP_FILE_PASSWORD=$(gpg --armor --gen-random 1 20) 17 + TIMESTAMP=$(date +%s) 18 + 19 + generate_pubkey_bak() { 20 + echo "[Stage 1]: Export all public keys per PUBLIC_KEYS to '$EXPORT_DIR/pubkeys-$TIMESTAMP.asc'" 21 + echo 22 + sleep 3 23 + 24 + if [[ $_arg_secretkeys_only == "true" ]]; then 25 + echo "warning: Skipping because --only-secret flag is used" 26 + return 27 + fi 28 + 29 + for key in $PUBLIC_KEYS; do 30 + echo "Exporting keyid $key's public key" 31 + if [[ $_arg_dryrun == "true" ]]; then 32 + echo "+ gpg --armor --export \"$key\" >> \"$EXPORT_DIR/pubkeys-$TIMESTAMP.asc\"" 33 + else 34 + gpg --armor --export "$key" >> "$EXPORT_DIR/pubkeys-$TIMESTAMP.asc" 35 + fi 36 + sleep 3 37 + done 38 + echo 39 + } 40 + 41 + generate_privkey_bak() { 42 + echo "[Stage 2]: Export all private keys per PRIVATE_KEYS to '$EXPORT_DIR/gpg-keys-backup-$TIMESTAMP.asc'" 43 + echo 44 + sleep 3 45 + 46 + if [[ $_arg_pubkeys_only == "true" ]]; then 47 + echo "warning: Skipping because --only-public flag is used" 48 + return 49 + fi 50 + 51 + if [[ $_arg_dryrun == "true" ]]; then 52 + for key in $PRIVATE_KEYS; do 53 + echo "Exporting keyid $key with private key" 54 + echo "+ gpg --armor --export-secret-keys $key >> $EXPORT_DIR/gpg-keys-backup-$TIMESTAMP.asc" 55 + sleep 5 56 + done 57 + echo "+ gpg --armor --batch --passphrase ${BACKUP_FILE_PASSWORD} --symmetric --output ${EXPORT_DIR}/gpg-keys-encrypted-backup-${TIMESTAMP} < ${EXPORT_DIR}/gpg-keys-backup-${TIMESTAMP}.asc" 58 + return 59 + fi 60 + 61 + for key in $PRIVATE_KEYS; do 62 + echo "Exporting keyid $key with private key" 63 + gpg --armor --export-secret-keys "$key" >> "${EXPORT_DIR}/gpg-keys-backup-${TIMESTAMP}.asc" 64 + sleep 5 65 + done 66 + echo "[private-keys-backup] Here's the encrypted passphrase for ${BACKUP_FILE_PASSWORD}" 67 + sleep 10 68 + gpg --armor --batch --passphrase "${BACKUP_FILE_PASSWORD}" --symmetric --output "${EXPORT_DIR}/gpg-keys-encrypted-backup-${TIMESTAMP}" < "${EXPORT_DIR}/gpg-keys-backup-${TIMESTAMP}.asc" 69 + echo 70 + } 71 + 72 + check_export_dir() { 73 + echo "[Stage 0]: Check if the \$EXPORT_DIR exists and create if necessary" 74 + echo 75 + sleep 3 76 + # dry-run 77 + if [[ $_arg_dryrun == "true" ]]; then 78 + echo "+ mkdir $EXPORT_DIR" 79 + return 80 + fi 81 + 82 + if [[ ! -d "$EXPORT_DIR" ]]; then 83 + echo "warning: Directory $EXPORT_DIR doesn't exist, attempting to create dir..." 84 + if mkdir "$EXPORT_DIR"; then 85 + true 86 + else 87 + error_code=$? 88 + echo "error: Something gone horribly wrong while creating export directory." 89 + echo "error: Check the logs, fix perms with chmod/chown/sudo and try again." 90 + exit $error_code 91 + fi 92 + else 93 + echo "info: export directory exists, contiuning..." 94 + fi 95 + } 96 + 97 + usage() { 98 + echo "Usage: $0 [--only-public | --only-secret | --dry-run]" 99 + echo 100 + echo "Available params:" 101 + echo " --dry-run, -d Run a simultation of commands" 102 + echo " --help Show this help page" 103 + echo " --only-secret, -s Only export secret keys" 104 + echo " --only-public, -p Only export public keys" 105 + echo 106 + echo "Supported variables to override defaults:" 107 + echo " DEBUG Set to any value to enable debug logging (via 'set -x')" 108 + echo " EXPORT_DIR Directory for storing exports" 109 + echo " PUBLIC_KEYS List of GPG keys for exporting public keys, seperated by spaces" 110 + echo " PRIVATE_KEYS List of GPG keys for exporting private keys, seperated by spaces" 111 + } 112 + 113 + main() { 114 + if [[ $DEBUG != "" ]]; then 115 + set -x 116 + fi 117 + 118 + _arg_pubkeys_only=false 119 + _arg_secretkeys_only=false 120 + _arg_dryrun=false 121 + EXPORT_DIR=${EXPORT_DIR:-"$HOME/.export-toolkit"} 122 + 123 + # arg parser goes here 124 + for _arg in "${@}"; do { 125 + if test "$_arg" != "--" && [[ "$_arg" == -* ]]; then { 126 + case "$_arg" in 127 + --help | -h) 128 + usage; exit 0 129 + ;; 130 + --pubkeys | --only-public | -p) 131 + _arg_pubkeys_only=true 132 + ;; 133 + --secretkeys | --only-secret | -s) 134 + _arg_secretkeys_only=true 135 + ;; 136 + --dryrun | --dry-run | -d) 137 + _arg_dryrun=true 138 + ;; 139 + esac 140 + shift; 141 + } fi 142 + } done 143 + 144 + check_export_dir 145 + generate_pubkey_bak 146 + generate_privkey_bak 147 + } 148 + 149 + main "$@"
-1
bin/code-tunnel
··· 1 - code-tunnel-wrapper
-23
bin/code-tunnel-wrapper
··· 1 - #!/usr/bin/env bash 2 - 3 - _vscode_cli_path_detection=$(command -v code) 4 - VSCODE_CLI_PATH=${VSCODE_CLI_PATH:-$_vscode_cli_path_detection} 5 - PARAMS="$*" 6 - 7 - error() { 8 - echo "error: $*" 9 - } 10 - 11 - if [[ "$VSCODE_CLI_PATH" == "" ]]; then 12 - error VS Code CLI is not installed or is not on PATH yet, see 13 - error https://code.visualstudio.com/docs/remote/tunnels for setup instructions 14 - exit 1 15 - fi 16 - 17 - if [[ $PARAMS == "" ]]; then 18 - echo "running code tunnel directly" 19 - exec code tunnel 20 - fi 21 - 22 - echo "passing params to 'code tunnel': $PARAMS" 23 - exec code --verbose tunnel $PARAMS
-4
bin/docker-credential-glab
··· 1 - #!/bin/sh -eu 2 - # Wrapper script for GitLab CLI's Docker auth helper 3 - 4 - glab auth docker-helper "$@"
+25
bin/fix-wrong-emails
··· 1 + #!/bin/bash 2 + 3 + if [[ $1 != "" ]]; then 4 + git filter-branch --env-filter ' 5 + WRONG_EMAIL=$1 6 + NEW_NAME="Andrei Jiroh Eugenio Halili" 7 + NEW_EMAIL="andreijiroh@madebythepins.tk" 8 + 9 + if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ] 10 + then 11 + export GIT_COMMITTER_NAME="$NEW_NAME" 12 + export GIT_COMMITTER_EMAIL="$NEW_EMAIL" 13 + fi 14 + if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ] 15 + then 16 + export GIT_AUTHOR_NAME="$NEW_NAME" 17 + export GIT_AUTHOR_EMAIL="$NEW_EMAIL" 18 + fi 19 + ' --tag-name-filter cat -- --branches --tags 20 + else 21 + echo "Usage $0 <wrong-email@host.me>" 22 + echo "Easily fix wrong emails in Git commit history. It is advised to use this script only" 23 + echo "on non-public commits, since this might be distaterous for forks to pull any changes" 24 + echo "in the public commits." 25 + fi
+53
bin/handle-pinentry
··· 1 + #!/usr/bin/env bash 2 + # SPDX-License-Identifier: MIT AND MPL-2.0 3 + # This is bit chaotic at best, per https://unix.stackexchange.com/a/116694. 4 + # Maybe we should aggressively detect more desktop environments, even non-DEs 5 + # as per https://askubuntu.com/a/227669. 6 + 7 + set -e 8 + if [[ $DEBUG != "" ]]; then 9 + set -x 10 + fi 11 + 12 + GPG_TTY=$(tty) 13 + 14 + error() { 15 + echo "error: $*" 16 + } 17 + 18 + warn() { 19 + echo "warn: $*" 20 + } 21 + 22 + detect_env() { 23 + if [ "$XDG_CURRENT_DESKTOP" = "" ] 24 + then 25 + desktop=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/') 26 + else 27 + desktop=$XDG_CURRENT_DESKTOP 28 + fi 29 + desktop=${desktop,,} # convert to lower case 30 + } 31 + 32 + path_detection() { 33 + if [[ $desktop == "kde" ]]; then 34 + if command -v pinentry-qt >> /dev/null; then 35 + target_bin=pinentry-qt 36 + else 37 + error "pinentry-qt isn't installed on your system or not found on PATH" 38 + exit 1 39 + fi 40 + else 41 + if command -v pinentry-curses >> /dev/null; then 42 + target_bin=pinentry-curses 43 + else 44 + error "pinentry-curses isn't installed on your system or not found on PATH" 45 + exit 1 46 + fi 47 + fi 48 + } 49 + 50 + detect_env 51 + path_detection 52 + export GPG_TTY 53 + exec $target_bin "$@"
-15
bin/nix4vscode-config-builder
··· 1 - #!/usr/bin/env bash 2 - 3 - # Output the VSCode version 4 - echo 'vscode_version = "'$(code --version | head -n1)'"' 5 - echo 6 - 7 - # Loop through each installed extension 8 - code --list-extensions | while read extension; do 9 - publisher_name=$(echo "$extension" | cut -d '.' -f 1) 10 - extension_name=$(echo "$extension" | cut -d '.' -f 2-) 11 - echo '[[extensions]]' 12 - echo 'publisher_name = "'$publisher_name'"' 13 - echo 'extension_name = "'$extension_name'"' 14 - echo 15 - done
-12
bin/nix4vscode-generator
··· 1 - #!/usr/bin/env bash 2 - set -o pipefail 3 - 4 - if [[ $DEBUG != "" ]]; then 5 - set -x 6 - fi 7 - 8 - NIX4VSCODE_PATH=$(command -v nix4vscode) 9 - NIX4VSCODE=${NIX4VSCODE:-"$HOME/bin/nix4vscode"} 10 - 11 - "$NIX4VSCODE" --output "$HOME/.config/nixos/shared/vscode-extensions.nix" "$HOME/.nix4vscode.toml" 12 - "$NIX4VSCODE" --openvsx --output "$HOME/.config/nixos/shared/openvsx-extensions.nix" "$HOME/.nix4vscode.toml" || true
+92
bin/open-editor
··· 1 + #!/bin/env bash 2 + 3 + # SPDX-License-Identifier: MPL-2.0 4 + # An bloody script for opening text editors from the command line via $EDITOR and 5 + # command flags, work in progress and probably abandoned. 6 + 7 + # shellcheck disable=SC2034 8 + VSCODE_PATH=$(command -v code) # TODO: Add PATH detection for VS Code Desktop+Server/OpenVSCode Server/VSCodium/code-server 9 + NANO_PATH=$(command -v nano) 10 + VI_PATH=$(command -v vi) # maybe neovim? 11 + OPEN_EDITOR_LOCKFILE=$HOME/.dotfiles/config/open-editor 12 + 13 + if [[ $1 == "" ]]; then 14 + echo "open-editor: Want to learn more how to use me? Use the '--help' flag to see the docs." 15 + exit 16 + fi 17 + 18 + # Stack Overflow: https://stackoverflow.com/questions/7069682/how-to-get-arguments-with-flags-in-bash#21128172 19 + while test $# -gt 0; do 20 + case "$1" in 21 + -h|--help) 22 + echo "$0 - shortcut to open editors within and from command line" 23 + echo "By default, the script will attempt to guess what text editor to use as much" 24 + echo "as possible. You can lock with the ~/.dotfiles/config/open-editor file." 25 + echo 26 + echo "$0 [options] filename" 27 + echo " " 28 + echo "options:" 29 + echo "-h, --help show brief help" 30 + echo "-c, --use-code use Visual Studio Code, with the 'wait' flag" 31 + echo "-n, --use-nano use GNU Nano" 32 + echo "--lockfile Generate a lockfile within your home directory" 33 + echo " or edit if found." 34 + exit 0 35 + ;; 36 + -c|--use-code) 37 + shift 38 + echo "open-editor: Firing up your editor, please wait..." 39 + sleep 3 40 + if test $# -gt 0; then 41 + # shellcheck disable=SC2086 42 + code --wait $1 43 + else 44 + echo "error: no file specified, aborting..." 45 + exit 1 46 + fi 47 + shift 48 + ;; 49 + -n|--use-nano) 50 + shift 51 + echo "open-editor: Firing up your editor, please wait..." 52 + sleep 3 53 + if test $# -gt 0; then 54 + # shellcheck disable=SC2086 55 + nano $1 56 + exit 57 + fi 58 + shift 59 + ;; 60 + --lockfile) 61 + shift 62 + if test $# -gt 0; then 63 + export OUTPUT=$1 64 + else 65 + echo "no output dir specified" 66 + exit 1 67 + fi 68 + shift 69 + ;; 70 + -*) 71 + echo "open-editor: Unsupported flag, edit the script file to customize." 72 + exit 1 73 + ;; 74 + esac 75 + done 76 + 77 + if [[ $VSCODE_PATH != "" ]]; then 78 + echo "open-editor: Firing up your editor, please wait..." 79 + sleep 3 80 + code --wait "$1" 81 + exit 82 + elif [[ $NANO_PATH != "" ]]; then 83 + echo "open-editor: Firing up your editor, please wait..." 84 + sleep 3 85 + nano "$1" 86 + exit 87 + else 88 + echo "open-editor: Firing up your editor, please wait..." 89 + sleep 3 90 + vi "$1" 91 + exit 92 + fi
+39
bin/setup-chroot
··· 1 + #!/usr/bin/bash 2 + # SPDX-License-Identifier: MPL-2.0 3 + # A mini scirpt to handle chrooting into different environments, 4 + # especially for Alpine Linux devenv on chroots instead of containers/VMs. 5 + 6 + # Chroot command is optional and assume login binary 7 + CHROOT_COMMAND=${2:-"/usr/bin/login"} 8 + TARGET_DIR=$1 9 + 10 + if [[ $TARGET_DIR == "" ]]; then 11 + echo "Usage: $0 TARGET_DIR [CHROOT_COMMAND]" 12 + exit 1 13 + fi 14 + 15 + if [ $EUID != "0" ]; then 16 + echo "error: Must be root to proceed!" 17 + exit 1 18 + fi 19 + 20 + echo "===> Mounting required parts for chroot operation..." 21 + mount -o bind /dev "$TARGET_DIR/dev" 22 + mount -t proc none "$TARGET_DIR/proc" 23 + mount -o bind /sys "$TARGET_DIR/sys" 24 + echo " Kernel and device mount setup done!" 25 + sleep 3 26 + 27 + if [[ -f "$TARGET_DIR/setup-chroot-env.sh" ]]; then 28 + echo "===> Preparing chroot environment..." 29 + if ! bash "$TARGET_DIR/setup-chroot-env.sh"; then 30 + echo "! Chroot env setup failed, please proceed at your own risk." 31 + else 32 + echo " Setup done!" 33 + fi 34 + sleep 3 35 + fi 36 + 37 + echo "===> Teleporting to the chroot environment in 3 seconds..." 38 + sleep 3 39 + exec chroot "$TARGET_DIR" "${CHROOT_COMMAND}"
+9
bin/sign-tarball
··· 1 + #!/bin/sh 2 + project="$(basename $(pwd))" 3 + version="$(git describe)" 4 + key="${RELEASE_SIGNING_KEY:-\"940047813E9D641C\"}" 5 + 6 + git archive --format=tar.gz --prefix="$project-$version/" "$version" \ 7 + >"$project-$version.tar.gz" 8 + gpg --detach-sign "$@" --default-key "$key" "$project-$version.tar.gz" \ 9 + >/tmp/"$project-$version".tar.gz.sig
+8
bin/update-discord
··· 1 + #!/bin/bash 2 + set -e 3 + 4 + # An script to automate upgrading Discord via the deb download link. 5 + # TODO:Implement checks and flags to support for rpms and tar.gz setups 6 + 7 + wget "https://discord.com/api/download?platform=linux&format=deb" -O /tmp/discord-linux-amd64.deb 8 + sudo apt install /tmp/discord-linux-amd64.deb
+1
bin/yadm
··· 1 + /home/ajhalili2006/.yadm-project/yadm
+6 -7
meta-info.toml
··· 1 - # Mainly used by p.psf.lt for profile metadata. 2 1 fullname = "Andrei Jiroh Halili" 3 - #gemini = "gemini.andreijiroh.xyz" 4 - website = "https://andreijiroh.dev" 5 - description = "Building OSS at RecapTime.dev, also Autistic Filipino and Hack Clubber" 6 - email = "ajhalili2006@andreijiroh.dev" 7 - matrix = "@ajhalili2006:andreijiroh.dev" 2 + gemini = "gemini.andreijiroh.xyz" 3 + website = "https://andreijiroh.xyz" 4 + description = "Open-source maintainer and web dev at Recap Time Squad, sometimes NixOS + Alpine Linux user, #ActuallyAutistic" 5 + email = "ajhalili2006@andreijiroh.xyz" 6 + matrix = "@ajhalili2006:envs.net" 8 7 fediverse = "tilde.zone/@ajhalili2006" 9 - location = "Marilao, Bulacan, Philippines" 8 + location = "Marilao, Bulacan, Philippines"