Compare commits

...

7 Commits

20 changed files with 145 additions and 82 deletions

View File

@ -28,16 +28,18 @@ dolphin-emu
dolphin-emu-tool
dracula-gtk-theme-git
dracula-kde-theme-git
dwarfs
elvish
expac
fd
firejail
fish
flyctl-bin
fuse-overlayfs
fwupd
fzf
gallery-dl
game-devices-udev
gdb
gifsicle
git
gitui
@ -46,6 +48,7 @@ gnome-power-manager
gron
hblock
httrack
hypnotix
ifuse
imagemagick
innoextract
@ -53,12 +56,12 @@ intel-media-driver
intel-ucode
inxi
jack2
jaq
jdupes
jless
jpegoptim
jq
keepassxc
kernel-headers-musl
kitty
kvantum
lagrange
@ -71,7 +74,6 @@ libva-intel-driver
linux-firmware
linux-hardened
lrzip
lxqt-archiver
ly
lynx
man-pages
@ -79,6 +81,7 @@ mandoc
megatools
meld
meson
miniflux
moreutils
mpv-mpris
msitools
@ -89,6 +92,7 @@ neovim
netsurf
network-manager-applet
networkmanager
networkmanager-openconnect
nicotine+
ninja
nnn
@ -99,13 +103,13 @@ opus-tools
oxipng
p7zip
parallel
pcmanfm-qt
pcmanfm-gtk3
perl-parallel-forkmanager
php
picocom
pipewire
pngquant
poppler
postgresql-libs
power-profiles-daemon
powertop
pulseaudio
@ -118,6 +122,7 @@ python-adblock
python-html2text
python-pip
python-pipx
python-pylint
python-readability-lxml
qownnotes
qpdf
@ -128,11 +133,13 @@ rclone
ripgrep-all
rofi
rsync
runc
rustup
smartmontools
sof-firmware
squashfs-tools
starship
stlink
steam
stow
sxiv
syncthing
@ -143,10 +150,10 @@ torsocks
ttf-dejavu
ttf-ubuntu-font-family
tuc
typst
unzip
upx
usbutils
valgrind
vulkan-intel
vulkan-radeon
w3m
@ -154,12 +161,14 @@ waifu2x-ncnn-vulkan
webp-pixbuf-loader
wget
wqy-microhei
xarchiver
xdelta3
xdg-utils
xf86-input-evdev
xf86-input-libinput
xorg-server
xorg-xinit
xreader
xsel
yay
yt-dlp

View File

@ -35,6 +35,7 @@ a l ls
a la 'l -A'
a launcher 'rofi -combi-modi drun,run,window -modi combi -show'
a listen 'pactl list | grep loop && set t un; pactl "$t"load-module module-loopback'
a lock 'budgie-screensaver-command -l'
a nix '. ~/.nix-profile/etc/profile.d/nix.fish; command nix'
a nsmd 'netsurf (md2html $argv | psub -s .html);:'
a nsp 'netsurf (pandoc $argv -s -t html | psub -s .html);:'
@ -57,7 +58,7 @@ a ydl 'yt-dlp'
a 7zstd '7z a -m0=zstd -mx22 -mmt=8 -mfb=273 -md=1536m -ms=on (realpath $argv[1]).7z'
a compress '7z a -m0=flzma2 -mx9 -mmt=8 -mfb=273 -md=1536m -ms=on (realpath $argv[1]).7z'
a dwarf 'mkdwarfs -i . -o $PWD.dwarfs -f'
a dwarf 'mkdwarfs -i . -o $PWD.dwarfs -f --categorize=pcmaudio -C pcmaudio/waveform::flac:level=8'
a dwarfmount 'dwarfs -f $argv (mktemp -d | tee /dev/tty /dev/stderr 2>| clip);:'
a dwarfs 'dwarfs -o offset=auto -o tidy_strategy=swap -o workers=(nproc)'
a dwarfs2null 'dwarfsextract -o /dev/null -f gnutar -i'
@ -67,6 +68,12 @@ a squash 'mksquashfs . $PWD.squashfs -comp zstd -b 1M -Xcompression-level 22'
a undwarfs 'mkdir dwarfs-root; dwarfsextract -o dwarfs-root -i'
a xcompress 'fxz -T0 -9 -k'
set junit '(git root)/src/main/java:(git root)/src/test/java:(git root)/../cp/\*'
a jacoco "javacp org.jacoco.cli.internal.Main report (git root)/report/coverage.exec --{class,source}files=(git root)/src/main/java --html report"
a javacp "java -cp $junit"
a junit "javacp -javaagent:(git root)/../cp/jacocoagent.jar=destfile=(git root)/report/coverage.exec org.junit.runner.JUnitCore"
a junitc "javac -cp $junit"
a catbox 'curl https://catbox.moe/user/api.php -F reqtype=fileupload -F fileToUpload=@$argv;:'
a temp 'curl temp.sh -T'
a tldr 'curl -s https://raw.githubusercontent.com/tldr-pages/tldr/main/pages/{common,linux}/$argv.md;:'

23
bin/qtcurl Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env python3
import sys
from PyQt6.QtCore import QUrl
from PyQt6.QtWidgets import QApplication
from PyQt6.QtWebEngineWidgets import QWebEngineView
def save_html(html):
if len(sys.argv) > 2 and sys.argv[2] == '-f':
filename = sys.argv[3] if len(sys.argv) > 3 else "dump.html"
with open(filename, 'w') as f:
f.write(html)
else:
print(html)
sys.exit()
if __name__ == '__main__':
app = QApplication(sys.argv)
wv = QWebEngineView()
wv.loadFinished.connect(lambda: wv.page().toHtml(save_html))
wv.load(QUrl.fromUserInput(sys.argv[1]))
app.exec()

View File

@ -15,6 +15,7 @@ echo kernel.core_pattern=/dev/null | s tee -a /etc/sysctl.d/50-coredump.conf
echo options i915 enable_rc6=1 enable_fbc=1 lvds_downclock=1 enable__psr=1 | s tee -a /etc/modprobe.d/i915.conf
echo options lsm=landlock,lockdown,yama,integrity,apparmor,bpf | s tee -a /boot/loader/entries/*.conf
mkdir -p ~/.parallel/will-cite
stow --no-folding -d ~/.dotfiles -t ~/.config .
fish -c "aliases"
@ -32,12 +33,6 @@ nvim +PaqInstall +q
g g p:appdwarf ~/.local/appdwarf
g g p:haiku-icons ~/.local/share/icons/Haiku
mkdir -p ~/.parallel/will-cite
parallel gsettings set org.gnome.desktop.interface {}-theme Haiku ::: cursor icon
gsettings set org.gnome.desktop.interface gtk-theme Dracula
gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing false
for i in ~/.dotfiles/dconf/*; do
dconf reset -f "$(basename "$i" | tr : /)"
#shellcheck disable=SC2094

View File

@ -1,5 +1,5 @@
[budgie-panel]
builtin-theme=true
builtin-theme=false
confirm-remove-applet=false
dark-theme=true
migration-level=1

View File

@ -0,0 +1,8 @@
[/]
color-scheme='prefer-dark'
cursor-theme='Haiku'
enable-animations=false
gtk-theme='Dracula'
icon-theme='Haiku'
show-battery-percentage=true
text-scaling-factor=1.25

View File

@ -0,0 +1,2 @@
[/]
disable-while-typing=false

View File

@ -1,6 +1,6 @@
fish_add_path -g ~/{.dotfiles,.local{/appdwarf,},Games}/bin /usr/lib64/ccache/bin
export EDITOR=nvim MANPAGER='nvim +Man!' USE_CCACHE=1 PAGER=nvimpager
export QT_STYLE_OVERRIDE=kvantum
export QT_STYLE_OVERRIDE=kvantum GTK_THEME=Dracula
export NNN_PLUG='f:fzcd;i:imgur;j:autojump;m:nmount;s:imgview'
set fish_greeting

View File

@ -1,6 +1,6 @@
function ytflux
set cat 3
set entries (eval curl (cat ~/.config/miniflux)/entries?status=unread\&category_id=$cat | jq -r .entries[].url)
eval curl -X PUT (cat ~/.config/miniflux)/categories/$cat/mark-all-as-read
parallel -u yt-dlp ::: $entries
set cat (cat ~/.config/miniflux)/categories/3
set entries (eval curl $cat/entries?status=unread | jq -r .entries[].url)
eval curl -X PUT $cat/mark-all-as-read
parallel -u yt-dlp $argv ::: $entries
end

View File

@ -46,7 +46,7 @@
caa = ca -a
ch = checkout
cl = gc --aggressive --prune=now
d = difftool
d = diff
g = clone
gr = clone --recursive
l = log

View File

@ -1,5 +0,0 @@
[Settings]
gtk-theme-name=Ant-Dracula
gtk-cursor-theme-name=Haiku
gtk-icon-theme-name=Haiku
gtk-font-name = Clear Sans 13

1
gtk-4.0/gtk.css Symbolic link
View File

@ -0,0 +1 @@
../gtk-3.0/gtk.css

View File

@ -3,6 +3,7 @@ require "paq" {
'dense-analysis/ale',
'echasnovski/mini.nvim',
'dracula/vim',
'kaarmu/typst.vim',
'lervag/vimtex',
'lewis6991/gitsigns.nvim',
'lukas-reineke/indent-blankline.nvim',
@ -10,6 +11,7 @@ require "paq" {
'neovim/nvim-lspconfig',
'nvim-lua/plenary.nvim',
'nvimtools/none-ls.nvim',
'stevearc/aerial.nvim',
'tpope/vim-sleuth',
'vim-airline/vim-airline',
{ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate' },
@ -28,12 +30,14 @@ require "paq" {
{ 'williamboman/mason.nvim', build = ':MasonUpdate' },
}
vim.cmd("PaqSync")
require("aerial").setup()
require("gitsigns").setup()
require("ibl").setup()
require("nnn").setup()
require("nvim-treesitter.configs").setup({highlight = {enable = true}})
require("mason").setup()
require("mason-lspconfig").setup()
require("nnn").setup()
require("nvim-treesitter.configs").setup({highlight = {enable = true}})
local null_ls = require("null-ls")
null_ls.setup({sources = {
@ -103,12 +107,14 @@ vim.keymap.set('', '<F7>', 'mzgg=G`z')
vim.keymap.set('', 'r', '"_d')
vim.g.mapleader = " "
vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", { buffer = bufnr })
vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", { buffer = bufnr })
vim.keymap.set('n', '<leader>a', "<cmd>AerialToggle!<CR>")
vim.keymap.set('n', '<leader>f', function() vim.lsp.buf.code_action() end)
vim.keymap.set('n', '<leader>h', function() vim.lsp.buf.hover() end)
vim.keymap.set('n', '<leader>r', function() vim.lsp.buf.rename() end)
vim.cmd [[
PaqSync
colorscheme dracula
command Q q!
let b:ale_linters = {'c': [''], 'sh': [''], 'php': ['']}

View File

@ -1,5 +1,6 @@
a=c.aliases
a['re'] = 'restart'
a['idk'] = 'spawn -u wikidns'
a['css-reload'] = 'set content.user_stylesheets user.css'
a['scss-reload'] = 'spawn -u /bin/bash -c "sass $QUTE_CONFIG_DIR/user.{s,}css"'
a['remove-sticky'] = 'jseval -q document.querySelectorAll("*").forEach(e=>{["sticky","fixed"].includes(getComputedStyle(e).position)&&e.parentNode.removeChild(e)})'
@ -38,7 +39,7 @@ bind = {
'E': 'config-cycle -p content.javascript.enabled ;; reload',
's1': 'download-open',
'sa': 'open -t archive.is/submit/?url={url}',
'sb': 'open splashblr.fly.dev/?u={url}',
'sb': 'open tumblash.fly.dev/?u={url}',
'sc': 'toggle-dark',
'sd': "spawn fish -c 'dl; open (ls -a | rofi -dmenu -b -i || exit 0)'",
'sg': 'debug-dump-page ~/Downloads/dump.html',

View File

@ -3,23 +3,12 @@ c.content.fullscreen.window = True
c.content.user_stylesheets = ['adblock.css', 'dracula.css', 'user.css']
c.confirm_quit = ['downloads']
c.downloads.location.directory = '~/Downloads'
c.qt.workarounds.remove_service_workers = True
c.url.searchengines['!'] = 'farside.link/librey/search.php?q=!{}'
c.url.searchengines['4'] = 'farside.link/4get/web?s={}'
c.url.searchengines['a'] = 'annas-archive.org/search?q={}'
c.url.searchengines['l'] = 'farside.link/librey/search.php?q={}'
c.url.searchengines['m'] = 'https://search.marginalia.nu/search?query={}'
c.url.searchengines['s'] = 'farside.link/searxng/search?q={}'
c.url.searchengines['x'] = 'aldeid.com/wiki/X86-assembly/Instructions/{}'
c.url.searchengines['y'] = 'farside.link/invidious/search?q={}'
c.url.searchengines['z'] = 'zeldawiki.wiki/wiki/{}'
c.url.searchengines['DEFAULT'] = c.url.searchengines['4']
c.url.start_pages = c.url.default_page = 'minifocs.fly.dev'
config.source('adblock.py')
config.source('bindings.py')
config.source('redirects.py')
config.source('search.py')
config.source('sites.py')
config.source('theme.py')

View File

@ -2,3 +2,5 @@ discord canary.discord.com/app
outlook outlook.office.com/mail
submitty submitty.cs.rpi.edu
tuta app.tuta.com
brightspace brightspace.albany.edu
piazza piazza.com

View File

@ -5,7 +5,6 @@ import operator
o = operator.methodcaller
s = 'setHost'
i = interceptor
def farside(url: QUrl, i) -> bool:
url.setHost('farside.link')
@ -13,71 +12,79 @@ def farside(url: QUrl, i) -> bool:
url.setPath(urljoin(i, p))
return True
def nitter(url: QUrl) -> bool:
def twitter(url: QUrl) -> bool:
return farside(url, '/nitter/')
def rimgo(url: QUrl) -> bool:
def imgur(url: QUrl) -> bool:
return farside(url, '/rimgo/')
def scribe(url: QUrl) -> bool:
def medium(url: QUrl) -> bool:
return farside(url, '/scribe/')
def invid(url: QUrl) -> bool:
def youtube(url: QUrl) -> bool:
return farside(url, '/invidious/')
def reddit(url: QUrl) -> bool:
return farside(url, '/libreddit/')
def bibliogram(url: QUrl) -> bool:
return farside(url, '/bibliogram/')
def simplytranslate(url: QUrl) -> bool:
def instagram(url: QUrl) -> bool:
return farside(url, '/proxigram/')
def translate(url: QUrl) -> bool:
return farside(url, '/simplytranslate/')
def proxitok(url: QUrl) -> bool:
def tiktok(url: QUrl) -> bool:
return farside(url, '/proxitok/')
def querte (url: QUrl) -> bool:
def quora (url: QUrl) -> bool:
return farside(url, '/querte/')
def breezewiki (url: QUrl) -> bool:
def fandom(url: QUrl) -> bool:
return farside(url, '/breezewiki/')
def dumb (url: QUrl) -> bool:
def genius(url: QUrl) -> bool:
return farside(url, '/dumb/')
def anonymousoverflow (url: QUrl) -> bool:
def stackoverflow (url: QUrl) -> bool:
return farside(url, '/anonymousoverflow/')
def wikipedia(url: QUrl) -> bool:
return farside(url, '/wikiless/')
def github(url: QUrl) -> bool:
return farside(url, '/gothub/')
map = {
m = {
"reddit.com": reddit,
"www.reddit.com": reddit,
"old.reddit.com": reddit,
"youtu.be": invid,
"youtube.com": invid,
"www.youtube.com": invid,
"music.youtube.com": invid,
"youtu.be": youtube,
"youtube.com": youtube,
"www.youtube.com": youtube,
"music.youtube.com": youtube,
"twitter.com": nitter,
"mobile.twitter.com": nitter,
"twitter.com": twitter,
"mobile.twitter.com": twitter,
"x.com": twitter,
"imgur.com" : rimgo,
"medium.com" : scribe,
"www.instagram.com": bibliogram,
"translate.google.com" : simplytranslate,
"vm.tiktok.com" : proxitok,
"www.tiktok.com" : proxitok,
"www.quora.com": querte,
"fandom.com": breezewiki,
"www.fandom.com": breezewiki,
"genius.com" : dumb,
"stackoverflow.com" : anonymousoverflow,
"imgur.com" : imgur,
"medium.com" : medium,
"www.instagram.com": instagram,
"translate.google.com" : translate,
"vm.tiktok.com" : tiktok,
"www.tiktok.com" : tiktok,
"www.quora.com": quora,
"fandom.com": fandom,
"www.fandom.com": fandom,
"genius.com" : genius,
"stackoverflow.com" : stackoverflow,
"en.wikipedia.org" : wikipedia,
"gothub.com" : github,
"www.twitch.tv" : o(s, 'm.twitch.tv'),
"www.twitch.tv" : o(s, 'twineo.exozy.me'),
"discord.com" : o(s, 'canary.discord.com'),
"tumblr.com" : o(s, 'splashblr.fly.dev'),
"www.tumblr.com" : o(s, 'splashblr.fly.dev'),
"tumblr.com" : o(s, 'tumblash.fly.dev'),
"www.tumblr.com" : o(s, 'priviblur.fly.dev'),
"www.npr.org" : o(s, 'text.npr.org'),
"www.goodreads.com" : o(s, 'bl.vern.cc'),
"zelda.fandom.com" : o(s, 'zeldawiki.wiki'),
"news.ycombinator.com" : o(s, 'news.workers.tools')
"news.ycombinator.com" : o(s, 'news.workers.tools'),
"www.pixiv.net" : o(s, 'pixivfe.exozy.me'),
}
def f(info: i.Request):
if (info.resource_type != i.ResourceType.main_frame or
def rewrite(info: interceptor.Request):
if (info.resource_type != interceptor.ResourceType.main_frame or
info.request_url.scheme() in {"data", "blob"}):
return
url = info.request_url
redir = map.get(url.host())
redir = m.get(url.host())
if redir is not None and redir(url) is not False:
info.redirect(url)
i.register(f)
interceptor.register(rewrite)

13
qutebrowser/search.py Normal file
View File

@ -0,0 +1,13 @@
c.url.searchengines['!'] = 'farside.link/librey/search.php?q=!{}'
c.url.searchengines['4'] = 'farside.link/4get/web?s={}'
c.url.searchengines['4'] = '4get.fly.dev/web?s={}'
c.url.searchengines['a'] = 'annas-archive.org/search?q={}'
c.url.searchengines['aw'] = 'wiki.archlinux.org/title/{}'
c.url.searchengines['l'] = 'farside.link/librey/search.php?q={}'
c.url.searchengines['l'] = 'search.ahwx.org/search.php?q={}'
c.url.searchengines['m'] = 'search.marginalia.nu/search?query={}'
c.url.searchengines['s'] = 'farside.link/searxng/search?q={}'
c.url.searchengines['w'] = 'farside.link/wikiless/wiki/{}?lang=en'
c.url.searchengines['y'] = 'farside.link/invidious/search?q={}'
c.url.searchengines['z'] = 'zeldawiki.wiki/wiki/{}'
c.url.searchengines['DEFAULT'] = c.url.searchengines['4']

View File

@ -46,7 +46,7 @@ cct.selected.odd.fg = 'black'
cc.messages.warning.bg = 'red'
cc.messages.warning.border = 'red'
#cc.webpage.darkmode.enabled = True
cc.webpage.darkmode.enabled = True
cc.webpage.preferred_color_scheme = 'dark'
cc.webpage.darkmode.policy.images = 'never'

View File

@ -0,0 +1,5 @@
#!/bin/sh
search=$(echo "$@" | tr ' ' +)
query='https://en.wikipedia.org/w/api.php?action=query&list=search&format=json&srsearch='
wikiurl="https://en.wikipedia.org/wiki/$(curl "$query$search"| jq -r .query.search[0].title | sed 's/ /%20/')"
echo open "$(curl -L "$wikiurl" | pup '.infobox .url a.external attr{href}' | tail -n1)" >> "$QUTE_FIFO"