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.

+2549 -2960
-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.

+68
.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 + # infraops 54 + [[ssh-keys]] 55 + vault = "fykuds2mmz7iletnsxkl47slbi" 56 + item = "ylcrbks3tkxtsgkc5gadm2dyqa" 57 + account = "https://andreijiroh-dev.1password.com" 58 + 59 + [[ssh-keys]] 60 + item = "gj75ey6dr7scrckvjp33dqz3xi" 61 + account = "https://andreijiroh-dev.1password.com" 62 + 63 + ## RecapTime.dev ## 64 + # crew.recaptime.dev 65 + [[ssh-keys]] 66 + vault = "Employee" 67 + item = "wklfmur3fegpajjhrx4acwcscm" 68 + 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`
+34 -37
.config/bash/aliases
··· 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 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 + 28 19 alias ..='cd ..' 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' 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"
-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
+1 -5
.gitignore
··· 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 - * 1 + *
-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
+5 -7
.ssh/authorized_keys
··· 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 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 +
+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 janus.uberspace.de 18 + User ajhalili 19 + Host lairland.uberspace.de 20 + HostName aegir.uberspace.de 21 + User lairland 22 + Host ajhalili.ub 23 + HostName janus.uberspace.de 24 + User ajhalili
+12
.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 100.77.60.119 11 + User ajhalili2006 12 +
+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
+370 -7
LICENSE
··· 1 - MIT License + Mozilla Public License 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. 2 218 3 - Copyright (c) 2022-present Andrei Jiroh Halili and contributors 219 + 4. Inability to Comply Due to Statute or Regulation 220 + --------------------------------------------------- 4 221 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. 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. 9 231 10 - See LICENSE-MIT and LICENSE-MPL-2.0 for the legalese text in plaintext. 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.
-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.
+68 -22
README.md
··· 1 - # ~ajhalili2006's dotfiles in Termux 1 + # `@andreijiroh-dev/dotfiles@nixos` - @ajhalili2006's dotfiles under nixos + nixpkgs! 2 2 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). 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`. 5 6 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 ~`. 7 + ## Usage 8 + 9 + ### Plain dotfiles 9 10 10 - ## Quick deploy / Speedrun 11 + Make sure Git is installed in your non NixOS/nixpkgs setup for the setup to work. 11 12 12 13 ```bash 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 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 16 19 ``` 17 20 18 - Alternatively: 21 + If you prefer to cook up with `yadm` first: 19 22 20 23 ```bash 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 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 27 26 ``` 28 27 29 - ## Differences from main branch 28 + ### Using nix flakes + home-manager 30 29 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` 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!) 36 + ``` 37 + 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 46 + 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
-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
+7 -6
meta-info.toml
··· 1 + # Mainly used by p.psf.lt for profile metadata. 1 2 fullname = "Andrei Jiroh Halili" 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" 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" 7 8 fediverse = "tilde.zone/@ajhalili2006" 8 - location = "Marilao, Bulacan, Philippines" 9 + location = "Marilao, Bulacan, Philippines"