initial commit

This commit is contained in:
2023-04-10 13:05:53 -06:00
commit 8852818d8b
14 changed files with 2281 additions and 0 deletions

147
dotfiles/Caddyfile Executable file
View File

@@ -0,0 +1,147 @@
sonarr.danilo-reyes.com {
reverse_proxy localhost:8989
}
code.danilo-reyes.com {
reverse_proxy localhost:5538
}
radarr.danilo-reyes.com {
reverse_proxy localhost:7878
}
bazarr.danilo-reyes.com {
reverse_proxy localhost:6767
}
prowlarr.danilo-reyes.com {
reverse_proxy localhost:9696
}
flix.danilo-reyes.com {
reverse_proxy localhost:8096
}
library.danilo-reyes.com {
reverse_proxy localhost:5000
}
shiori.danilo-reyes.com {
reverse_proxy localhost:7680
}
start.danilo-reyes.com {
reverse_proxy localhost:5005
}
torrent.danilo-reyes.com {
reverse_proxy localhost:9091
}
kitchen.danilo-reyes.com {
reverse_proxy localhost:9925
}
vault.danilo-reyes.com {
log {
level INFO
output file /home/jawz/Development/Docker/vaultwarden/caddy.log {
roll_size 10MB
roll_keep 10
}
}
tls captainjawz@outlook.com
# comment if giving issues with firefox
encode gzip
@insecureadmin {
not remote_ip 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8
path /admin*
}
redir @insecureadmin /
reverse_proxy /notifications/hub localhost:3012
reverse_proxy localhost:7780 {
header_up X-Real-IP {remote_host}
}
}
searx.danilo-reyes.com {
log {
output discard
}
tls captainjawz@outlook.com
@api {
path /config
path /healthz
path /stats/errors
path /stats/checker
}
@static {
path /static/*
}
@notstatic {
not path /static/*
}
@imageproxy {
path /image_proxy
}
@notimageproxy {
not path /image_proxy
}
header {
# Enable HTTP Strict Transport Security (HSTS) to force clients to always connect via HTTPS
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# Enable cross-site filter (XSS) and tell browser to block detected attacks
X-XSS-Protection "1; mode=block"
# Prevent some browsers from MIME-sniffing a response away from the declared Content-Type
X-Content-Type-Options "nosniff"
# Disable some features
Permissions-Policy "accelerometer=(),ambient-light-sensor=(),autoplay=(),camera=(),encrypted-media=(),focus-without-user-activation=(),geolocation=(),gyroscope=(),magnetometer=(),microphone=(),midi=(),payment=(),picture-in-picture=(),speaker=(),sync-xhr=(),usb=(),vr=()"
# Disable some features (legacy)
Feature-Policy "accelerometer 'none';ambient-light-sensor 'none'; autoplay 'none';camera 'none';encrypted-media 'none';focus-without-user-activation 'none'; geolocation 'none';gyroscope 'none';magnetometer 'none';microphone 'none';midi 'none';payment 'none';picture-in-picture 'none'; speaker 'none';sync-xhr 'none';usb 'none';vr 'none'"
# Referer
Referrer-Policy "no-referrer"
# X-Robots-Tag
X-Robots-Tag "noindex, noarchive, nofollow"
# Remove Server header
-Server
}
header @api {
Access-Control-Allow-Methods "GET, OPTIONS"
Access-Control-Allow-Origin "*"
}
# Cache
header @static {
# Cache
Cache-Control "public, max-age=31536000"
defer
}
header @notstatic {
# No Cache
Cache-Control "no-cache, no-store"
Pragma "no-cache"
}
# CSP (see http://content-security-policy.com/ )
header @imageproxy {
Content-Security-Policy "default-src 'none'; img-src 'self' data:"
}
header @notimageproxy {
Content-Security-Policy "upgrade-insecure-requests; default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; form-action 'self'; font-src 'self'; frame-ancestors 'self'; base-uri 'self'; connect-src 'self' https://overpass-api.de; img-src 'self' data: https://*.tile.openstreetmap.org; frame-src https://www.youtube-nocookie.com https://player.vimeo.com https://www.dailymotion.com https://www.deezer.com https://www.mixcloud.com https://w.soundcloud.com https://embed.spotify.com"
}
# SearXNG
handle {
encode zstd gzip
reverse_proxy localhost:8080 {
header_up X-Forwarded-Port {http.request.port}
header_up X-Forwarded-Proto {http.request.scheme}
}
}
}

128
dotfiles/dconf.nix Executable file
View File

@@ -0,0 +1,128 @@
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
{ lib, ... }:
with lib.hm.gvariant;
{
dconf.settings = {
"com/gexperts/Tilix" = {
control-scroll-zoom = true;
copy-on-select = true;
new-instance-mode = "new-session";
terminal-title-style = "none";
theme-variant = "system";
};
"com/gexperts/Tilix/profiles" = {
list = [ "2b7c4080-0ddd-46c5-8f23-563fd3ba789d" ];
};
"com/gexperts/Tilix/profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d" = {
background-color = "#FAFAFAFAFAFA";
background-transparency-percent = 0;
badge-color = "#AC7EA8";
badge-color-set = false;
badge-position = "northeast";
badge-text = "";
badge-use-system-font = true;
bold-color-set = false;
bold-is-bright = false;
cursor-colors-set = false;
custom-command = "fish";
font = "SauceCodePro Nerd Font Mono 17";
foreground-color = "#444444444444";
highlight-colors-set = false;
login-shell = false;
notify-silence-enabled = false;
palette = [ "#777776767B7B" "#FFFF5F5F5F5F" "#8787AFAF5F5F" "#FFFFAFAF8787" "#5F5F9393FFFF" "#FFFF5F5FFFFF" "#5F5FE3E3FFFF" "#C0C0BFBFBCBC" "#5F5F5A5A6060" "#FFFF87878787" "#AFAFD7D78787" "#FFFFD7D7AFAF" "#8787AFAFFFFF" "#FFFF8787FFFF" "#8787EAEAFFFF" "#9A9A99999696" ];
scrollback-lines = 2147483647;
use-custom-command = false;
use-system-font = false;
use-theme-colors = false;
visible-name = "Light Theme";
};
"io/github/celluloid-player/celluloid" = {
dark-theme-enable = false;
mpv-config-enable = true;
mpv-config-file = "file:///home/jawz/.config/mpv/mpv.conf";
mpv-input-config-enable = true;
mpv-input-config-file = "file:///home/jawz/.config/mpv/input.conf";
settings-migrated = true;
};
"org/gnome/Weather" = {
locations = "[<(uint32 2, <('Querétaro', 'MMQT', true, [(0.35953782591083194, -1.752019674975877)], [(0.35953782591083194, -1.752019674975877)])>)>]";
};
"org/gnome/clocks" = {
world-clocks = "[{'location': <(uint32 2, <('Seattle', 'KBFI', true, [(0.82983133145337307, -2.134775231953554)], [(0.83088509144255718, -2.135097419733472)])>)>}, {'location': <(uint32 2, <('Dallas', 'KDAL', true, [(0.57338429251143708, -1.690448351049749)], [(0.57217226606568217, -1.6895950770317414)])>)>}, {'location': <(uint32 2, <('Cleveland', 'KBKL', true, [(0.72475767592128648, -1.4253910094957791)], [(0.72430282566492421, -1.4258538708134081)])>)>}, {'location': <(uint32 2, <('London', 'EGWU', false, [(0.89971722940307675, -0.007272211034407213)], [(0.89971722940307675, -0.007272211034407213)])>)>}, {'location': <(uint32 2, <('Auckland', 'NZAA', true, [(-0.64606271726433173, 3.0508355324860883)], [(-0.64344472338634029, 3.0502537618865206)])>)>}]";
};
"org/gnome/desktop/datetime" = {
automatic-timezone = true;
};
"org/gnome/desktop/input-sources" = {
sources = [ (mkTuple [ "xkb" "us" ]) ];
xkb-options = [ "compose:menu" ];
};
"org/gnome/desktop/interface" = {
icon-theme = "Papirus";
};
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
};
"org/gnome/desktop/peripherals/touchpad" = {
two-finger-scrolling-enabled = true;
};
"org/gnome/desktop/privacy" = {
disable-camera = true;
disable-microphone = true;
old-files-age = mkUint32 30;
recent-files-max-age = -1;
};
"org/gnome/desktop/search-providers" = {
sort-order = [ "org.gnome.Contacts.desktop" "org.gnome.Documents.desktop" "org.gnome.Nautilus.desktop" ];
};
"org/gnome/desktop/session" = {
idle-delay = mkUint32 900;
};
"org/gnome/desktop/wm/preferences" = {
action-middle-click-titlebar = "minimize";
};
"org/gnome/nautilus/preferences" = {
open-folder-on-dnd-hover = false;
};
"org/gnome/shell/weather" = {
automatic-location = true;
locations = "[<(uint32 2, <('Querétaro', 'MMQT', true, [(0.35953782591083194, -1.752019674975877)], [(0.35953782591083194, -1.752019674975877)])>)>]";
};
"org/gnome/shell/world-clocks" = {
locations = "[<(uint32 2, <('Seattle', 'KBFI', true, [(0.82983133145337307, -2.134775231953554)], [(0.83088509144255718, -2.135097419733472)])>)>, <(uint32 2, <('Dallas', 'KDAL', true, [(0.57338429251143708, -1.690448351049749)], [(0.57217226606568217, -1.6895950770317414)])>)>, <(uint32 2, <('Cleveland', 'KBKL', true, [(0.72475767592128648, -1.4253910094957791)], [(0.72430282566492421, -1.4258538708134081)])>)>, <(uint32 2, <('London', 'EGWU', false, [(0.89971722940307675, -0.007272211034407213)], [(0.89971722940307675, -0.007272211034407213)])>)>, <(uint32 2, <('Auckland', 'NZAA', true, [(-0.64606271726433173, 3.0508355324860883)], [(-0.64344472338634029, 3.0502537618865206)])>)>]";
};
"org/gnome/system/location" = {
enabled = true;
};
"org/gnome/tweaks" = {
show-extensions-notice = false;
};
"org/mpdevil/mpdevil" = {
mpris = false;
};
};
}

200
dotfiles/gallery-dl/config.json Executable file
View File

@@ -0,0 +1,200 @@
{
"extractor": {
"cookies": ["chrome", "Default", "gnomekeyring"],
"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
"retries": 10,
"sleep-request": 0,
"directlink": {
"directory": [],
"filename": "{filename}.{extension}"
},
"twitter": {
"directory": ["{user[name]}"],
"retweets": false,
"videos": true,
"logout": true
},
"flickr": {
"directory": ["{category}", "{owner[username]}"],
"size-max": "Original",
"access-token": "72157720849409732-e83af94a8ca145aa",
"access-token-secret": "0c7e86529694756a"
},
"instagram": {
"sleep-request": 5,
"directory": ["{username}"],
"parent-directory": true,
"highlights": {
"reverse": "true",
"directory": ["{username}"]
},
"stories": {
"reverse": "true",
"directory": ["{username}"]
},
"tagged": {
"directory": ["{tagged_username}", "tagged"]
}
},
"kemonoparty": {
"directory": ["{category}", "{user}"],
"retries": 10,
"timeout": 5,
"filename": "{id}_{filename}.{extension}"
},
"exhentai": {
"directory": ["{category}", "{title}"]
},
"tumblr": {
"directory": ["{blog_name}"],
"access-token": "NIbuc8UhR7ipT6Mqvy91TaFSnmDG0VnpElIyac8Lb36L7dAN3j",
"access-token-secret": "0YqHwyYFUH1JerYjS2N0snAA8xiB3OFSI6Z91skoBpuqs5SJAc",
"external": true,
"inline": true,
"posts": "all",
"reblogs": false,
"parent-directory": true,
"api-key": "uhBUtgPaX9gl7eaD8suGWW6ZInRedQoVT6xsZzopljy0jXHqm5",
"api-secret": "D3FDj1INyPzXikVpp4jmzSqjlC9czFUQ8oj2I883PSYJdqwURv"
},
"deviantart": {
"client-id": "20016",
"client-secret": "52e1f9b0cb26e673da36f69e2ddd0e9a",
"refresh-token": "4f9817b7c42671003e10dd5a5a48473855779359",
"directory": ["{username}"],
"include": "gallery,scraps",
"flat": true,
"original": true,
"mature": true,
"auto-watch": true,
"auto-unwatch": true
},
"furaffinity": {
"directory": ["{artist}"],
"include": ["scraps", "gallery"]
},
"patreon": {
"directory": [
"(Patreon) {creator[vanity]}",
"({date:%Y%m%d}) {title} ({id})"
],
"filename": "{filename}.{extension}"
},
"blogger": {
"directory": ["{blog[name]}", "{post[author]}"],
"filename": "{filename} - {num}.{extension}"
},
"artstation": {
"directory": ["{userinfo[username]}"],
"external": true
},
"gfycat": {
"format": "webm"
},
"reddit": {
"user-agent": "Python:gallery-dl:v1.0 (by /u/captainjawz)",
"client-id": "T7nZ6WZ3_onJWBhLP8r08g",
"refresh-token": "184157546842-lQ_NOSVjzJ6udAsvple9mftkOcs0rg",
"directory": ["{author}"],
"parent-directory": true
},
"redgifs": {
"directory": ["{userName}"]
},
"imgur": {
"mp4": true
},
"paheal": {
"directory": ["Husbands", "{search_tags}"]
},
"e621": {
"directory": ["Husbands", "{search_tags}"]
},
"pixiv": {
"refresh-token": "O4kc9tTzGItuuacDcfmevW6NELjm5CJdWiAbZdUv3Kk",
"directory": ["{user[account]} - {user[id]}"],
"ugoira": true,
"favorite": {
"directory": [
"{user_bookmark[account]} - {user_bookmark[id]}",
"Bookmarks"
]
},
"postprocessors": [
{
"name": "ugoira",
"extension": "webm",
"keep-files": false,
"whitelist": ["pixiv"],
"ffmpeg-twopass": true,
"ffmpeg-args": ["-c:v", "libvpx", "-crf", "4", "-b:v", "5000k", "-an"]
}
]
},
"readcomiconline": {
"chapter-reverse": true,
"directory": ["Comics", "{comic}", "{comic} #{issue}"],
"quality": "hq",
"captcha": "wait",
"postprocessors": ["cbz"]
},
"kissmanga": {
"chapter-reverse": true,
"directory": ["Manga", "{manga}", "{manga} Ch.{chapter}{chapter_minor}"],
"captcha": "wait",
"postprocessors": ["cbz"]
},
"mangahere": {
"chapter-reverse": true,
"directory": ["Manga", "{manga}", "{manga} Ch.{chapter}{chapter_minor}"],
"postprocessors": ["cbz"]
},
"mangadex": {
"chapter-reverse": true,
"chapter-filter": "lang == 'en'",
"directory": ["Manga", "{manga}", "{manga} Ch.{chapter}{chapter_minor}"],
"postprocessors": ["cbz"]
},
"mangareader": {
"chapter-reverse": true,
"directory": ["Manga", "{manga}", "{manga} Ch.{chapter}{chapter_minor}"],
"postprocessors": ["cbz"]
},
"mangapanda": {
"chapter-reverse": true,
"directory": ["Manga", "{manga}", "{manga} Ch.{chapter}{chapter_minor}"],
"postprocessors": ["cbz"]
},
"webtoons": {
"chapter-reverse": true,
"directory": ["Webtoons", "{comic}", "{comic} #{episode}"],
"postprocessors": ["cbz"]
}
},
"output": {
"mode": "auto"
},
"downloader": {
"part": true,
"part-directory": "/home/jawz/.cache/gallery-dl",
"ytdl": {
"logging": true,
"format": "bestvideo+bestaudio/best",
"forward-cookies": true
},
"http": {
"rate": null,
"retries": 5,
"timeout": 10.0,
"verify": true
}
},
"postprocessor": {
"cbz": {
"name": "zip",
"compression": "store",
"mode": "safe",
"extension": "cbz"
}
}
}

10
dotfiles/gopass/config.yml Executable file
View File

@@ -0,0 +1,10 @@
autoclip: true
autoimport: false
cliptimeout: 45
exportkeys: false
nopager: false
notifications: false
parsing: true
path: /home/jawz/.local/share/pass
safecontent: true
mounts: {}

61
dotfiles/htop/htoprc Executable file
View File

@@ -0,0 +1,61 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.2.1
config_reader_min_version=3
fields=18 0 123 124 46 47 38 50 1
hide_kernel_threads=0
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=0
highlight_base_name=1
highlight_deleted_exe=1
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=1
header_margin=1
screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=1
show_cpu_usage=1
show_cpu_frequency=1
show_cpu_temperature=1
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=3
enable_mouse=1
delay=15
hide_function_bar=0
header_layout=two_67_33
column_meters_0=LeftCPUs Swap Tasks NetworkIO Memory
column_meter_modes_0=1 1 2 2 2
column_meters_1=RightCPUs Hostname Uptime LoadAverage
column_meter_modes_1=1 2 2 2
tree_view=1
sort_key=38
tree_sort_key=0
sort_direction=-1
tree_sort_direction=1
tree_view_always_by_pid=1
all_branches_collapsed=1
screen:Main=NICE PID COMM EXE PERCENT_CPU PERCENT_MEM M_VIRT NLWP Command
.sort_key=M_VIRT
.tree_sort_key=PID
.tree_view=1
.tree_view_always_by_pid=1
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=1
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

4
dotfiles/mpdas/mpdasrc Executable file
View File

@@ -0,0 +1,4 @@
username = Dornisaurio
password = PUOghI][pd<nIfjNl|!P3+>Ux|1W>druS)Alxh]b{!B0QM~,u@SKRi>p?xb)3qEy
host = localhost
port = 6600

7
dotfiles/npm/npmrc Executable file
View File

@@ -0,0 +1,7 @@
user=0
unsafe-perm=true
prefix=${XDG_DATA_HOME}/npm
cache=${XDG_CACHE_HOME}/npm
tmp=${XDG_RUNTIME_DIR}/npm
init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js
store-dir=${XDG_DATA_HOME}/pnpm-store

View File

@@ -0,0 +1,4 @@
{
"optOut": false,
"lastUpdateCheck": 1646662583446
}

1
dotfiles/wget/wgetrc Executable file
View File

@@ -0,0 +1 @@
hsts-file = /home/jawz/.cache/wget-hsts