├── .stowrc
├── zsh
├── .zprofile
├── .zlogout
├── zshrc
│ ├── colors.zsh
│ ├── options.zsh
│ └── completions.zsh
├── .profile
└── .zshrc
├── bash
├── .bash_logout
├── .bashrc
└── .bash_profile
├── youtube-dl
└── .config
│ ├── yt-dlp
│ └── config
│ └── youtube-dl
│ └── config
├── gtk
├── .gtkrc-2.0.mine
├── .config
│ └── gtk-3.0
│ │ └── settings.ini
└── .gtkrc-2.0
├── bin
└── bin
│ ├── xclipargs
│ ├── beet2mpv
│ ├── text2unix_test
│ ├── aunpack-all
│ ├── text2unix
│ ├── inotifyrun
│ ├── watchdo
│ ├── rofi-yesno
│ ├── extract_links
│ ├── rtouch
│ ├── beet2mpd
│ ├── foobar
│ ├── aur-remove
│ ├── aur-remove-sync
│ ├── toggle-dark-mode
│ ├── lowercase
│ ├── share
│ ├── mons-primary
│ ├── aur-gc
│ ├── rmove
│ ├── share_clip
│ ├── video-to-gif
│ ├── btrfs-subvolumify
│ ├── ytdl-music
│ ├── arch-news
│ ├── mpris_now_playing
│ ├── follow_clip
│ ├── recently_used
│ └── i3lock-shot
├── mpv
└── .config
│ └── mpv
│ ├── script-opts
│ ├── convert_script.conf
│ ├── sponsorblock.conf
│ ├── osc.conf
│ ├── playlistmanager.conf
│ ├── thumbfast.conf
│ ├── quality-menu.conf
│ └── uosc.conf
│ ├── _get_default-input.sh
│ ├── _commit.sh
│ ├── .gitignore
│ ├── shaders
│ └── kyoani_fog.glsl
│ └── _update.sh
├── hexchat
└── .config
│ └── hexchat
│ ├── urlhandlers.conf
│ ├── ctcpreply.conf
│ ├── colors.conf
│ ├── commands.conf
│ └── keybindings.conf
├── fcitx
└── .config
│ └── fcitx
│ ├── data
│ ├── layout_override
│ └── QuickPhrase.mb
│ └── conf
│ ├── fcitx-quickphrase.config
│ ├── fcitx-keyboard.config
│ └── fcitx-classic-ui.config
├── xdg-desktop-portal
└── .config
│ ├── xdg-desktop-portal
│ └── portals.conf
│ └── systemd
│ └── user
│ └── xdg-desktop-portal.service.d
│ └── override.conf
├── xinit
├── .xserverrc
├── .xprofile
└── .xinitrc
├── gpg
└── .gnupg
│ ├── gpa.conf
│ └── gpg.conf
├── mpd
└── .config
│ └── systemd
│ └── user
│ ├── mpDris2.service.d
│ └── override.conf
│ └── mpd.service.d
│ └── override.conf
├── pulse
└── .config
│ └── pulse
│ ├── daemon.conf
│ └── default.pa
├── sublime-text
├── .config
│ └── sublime-text
│ │ └── Packages
│ │ ├── User
│ │ ├── Diff.sublime-settings
│ │ ├── Console Input Widget.sublime-settings
│ │ ├── Plain text.sublime-settings
│ │ ├── Shell-Unix-Generic.sublime-settings
│ │ ├── insert_date.sublime-settings
│ │ ├── PackageResourceViewer.sublime-settings
│ │ ├── Markdown.sublime-settings
│ │ ├── Terminal.sublime-settings
│ │ ├── Regex Replace Widget.sublime-settings
│ │ ├── sublime_jedi.sublime-settings
│ │ ├── Snippets
│ │ │ ├── LaTeX
│ │ │ │ ├── latex_item.sane-snippet
│ │ │ │ ├── latex_enum.sane-snippet
│ │ │ │ ├── latex_item.sane.sublime-snippet
│ │ │ │ └── latex_enum.sane.sublime-snippet
│ │ │ ├── url-file.sane-snippet
│ │ │ ├── ReST Headers
│ │ │ │ ├── h2.sane-snippet
│ │ │ │ ├── h4.sane-snippet
│ │ │ │ ├── h3.sane-snippet
│ │ │ │ ├── h1.sane-snippet
│ │ │ │ ├── h2.sane.sublime-snippet
│ │ │ │ ├── h3.sane.sublime-snippet
│ │ │ │ ├── h4.sane.sublime-snippet
│ │ │ │ └── h1.sane.sublime-snippet
│ │ │ ├── url-file.sane.sublime-snippet
│ │ │ └── Rust
│ │ │ │ └── pln.sublime-snippet
│ │ ├── LSP-basedpyright.sublime-settings
│ │ ├── Python
│ │ │ ├── Snippets
│ │ │ │ ├── self_setattr.sane-snippet
│ │ │ │ ├── docstring.sane-snippet
│ │ │ │ ├── pdb.sane-snippet
│ │ │ │ ├── shebang.sane-snippet
│ │ │ │ ├── self_setattr.sane.sublime-snippet
│ │ │ │ ├── docstring.sane.sublime-snippet
│ │ │ │ ├── pdb.sane.sublime-snippet
│ │ │ │ └── shebang.sane.sublime-snippet
│ │ │ ├── Python Windows Launcher.sublime-build
│ │ │ ├── Pylint.sublime-build
│ │ │ ├── Application Snippets
│ │ │ │ ├── hexchat_callback.sane-snippet
│ │ │ │ ├── sublime_text_event_listener.sane-snippet
│ │ │ │ ├── sublime_text_text_command.sane-snippet
│ │ │ │ ├── sublime_text_window_command.sane-snippet
│ │ │ │ ├── hexchat_callback.sane.sublime-snippet
│ │ │ │ ├── sublime_text_event_listener.sane.sublime-snippet
│ │ │ │ ├── sublime_text_text_command.sane.sublime-snippet
│ │ │ │ └── sublime_text_window_command.sane.sublime-snippet
│ │ │ ├── Python Virtualenv.sublime-build
│ │ │ ├── Flake8.sublime-build
│ │ │ └── pytest.sublime-build
│ │ ├── Delete Right and Move Right.sublime-macro
│ │ ├── INI.sublime-settings
│ │ ├── Default.sublime-commands
│ │ ├── dependencies.json
│ │ ├── GitGutter.sublime-settings
│ │ ├── Delete Left Right Twice.sublime-macro
│ │ ├── LSP-yaml.sublime-settings
│ │ ├── FichteMarkDown.sublime-settings
│ │ ├── scope_hunter.sublime-settings
│ │ ├── BracketGuard.sublime-settings
│ │ ├── LaTeX.sublime-settings
│ │ ├── MarkdownPreview.sublime-settings
│ │ ├── cycle_groups.py
│ │ ├── FileHistory.sublime-settings
│ │ ├── Zeal.sublime-settings
│ │ ├── AdvancedNewFile.sublime-settings
│ │ ├── PlainTasks.sublime-settings
│ │ ├── GitSavvy.sublime-settings
│ │ ├── LSP-ruff.sublime-settings
│ │ ├── LSP-typescript.sublime-settings
│ │ ├── Tubnil_mod.sublime-color-scheme
│ │ ├── LaTeXTools.sublime-settings
│ │ ├── TodoReview.sublime-settings
│ │ ├── relink_resource_file.py
│ │ ├── LSP-rust-analyzer.sublime-settings
│ │ ├── LSP.sublime-settings
│ │ ├── open_locate.py
│ │ ├── Fmt.sublime-settings
│ │ ├── python_print.py
│ │ ├── LSP-vue.sublime-settings
│ │ ├── Package Control.sublime-settings
│ │ ├── open_api.py
│ │ ├── ApplySyntax.sublime-settings
│ │ └── bh_core.sublime-settings
│ │ ├── Theme - Nil
│ │ ├── Regex Widget - Nil.sublime-settings
│ │ └── Widget - Nil.sublime-settings
│ │ ├── FileIcons
│ │ └── theme
│ │ │ └── Nil.sublime-theme
│ │ └── Default
│ │ └── Syntax Tests.sublime-syntax
└── bin
│ └── sublp
├── feh
└── .config
│ └── feh
│ ├── themes
│ └── keys
├── picom
└── .config
│ └── picom.conf
├── sublime-merge
└── .config
│ └── sublime-merge
│ └── Packages
│ └── User
│ ├── Tubnil_mod.sublime-color-scheme
│ ├── Commit Message (Read Only).sublime-settings
│ ├── Commit Message.sublime-settings
│ ├── Diff - Merge Dark.sublime-settings
│ ├── File Mode - Merge Dark.sublime-settings
│ ├── Commit Message - Merge Dark.sublime-settings
│ ├── Tag.sublime-menu
│ ├── Main.sublime-menu
│ ├── Diff Context.sublime-menu
│ ├── Preferences.sublime-settings
│ ├── Commit.sublime-menu
│ ├── Default.sublime-commands
│ └── Default (Linux).sublime-keymap
├── rofi
└── .config
│ └── rofi
│ └── config.rasi
├── BetterDiscord
└── .config
│ └── BetterDiscord
│ ├── _commit.sh
│ ├── data
│ └── stable
│ │ └── custom.css
│ ├── themes
│ └── Nox_tempfixes.theme.css
│ └── _update.sh
├── helix
└── .config
│ └── helix
│ ├── languages.toml
│ └── config.toml
├── ranger
└── .config
│ └── ranger
│ ├── pygments-style-tubnil
│ ├── install
│ ├── setup.py
│ └── tubnil.py
│ └── rc.conf
├── dunst
└── .config
│ ├── systemd
│ └── user
│ │ └── dunst.service
│ └── dunst
│ └── dunstrc
├── redshift
└── .config
│ └── redshift.conf
├── tools
├── .config
│ └── systemd
│ │ └── user
│ │ ├── dump-lutris-playtime.timer
│ │ └── dump-lutris-playtime.service
└── tools
│ ├── trackma2syncplay
│ └── example_config.yaml
│ ├── sub
│ ├── vertical_kanji.py
│ └── merge_qcs.py
│ ├── clone-root
│ ├── mpris_now_playing
│ ├── track_lutris_playtime
│ └── track_lutris_playtime.py
│ └── set_up_btrfs_drive
├── xbindkeys
└── .xbindkeysrc
├── openurl
├── .local
│ └── share
│ │ └── applications
│ │ └── openurl.desktop
└── .config
│ └── openurl.conf
├── system
└── .config
│ └── systemd
│ └── user
│ └── systembus-notify.service
├── lftp
└── .lftprc
├── git
├── bin
│ └── git-copy-commit-url
├── .gitignore_global
└── .gitconfig
├── polybar
└── .config
│ └── polybar
│ ├── scripts
│ ├── polyyadfile
│ ├── systemd-units
│ ├── pulse-sink-source
│ ├── wttr.py
│ └── polyyad.py
│ └── launch.sh
├── noisetorch
└── .config
│ └── systemd
│ └── user
│ └── noisetorch@.service
├── teiler
├── .config
│ └── teiler
│ │ ├── profiles
│ │ └── my-mp4-noaudio
│ │ └── config
└── bin
│ └── teiler_helper
├── lazydocker
└── .config
│ └── lazydocker
│ └── config.yml
├── readline
└── .inputrc
├── alacritty
└── .config
│ └── alacritty
│ ├── alacritty.toml
│ ├── keybindings.toml
│ └── colors.toml
├── .misc
└── FireFox
│ ├── OneeChan Tubnil.json
│ ├── web-scrobbler.json
│ ├── userChrome.css
│ ├── OneeChan v5.6.1 Settings.json
│ ├── vimium-options.json
│ └── treestyletab.css
├── .hooks
└── pre-push
├── parcellite
└── .config
│ └── parcellite
│ └── parcelliterc
├── termite
└── .config
│ └── termite
│ └── config
├── README.md
├── fontconfig
└── .config
│ └── fontconfig
│ └── fonts.conf
├── i3
├── .config
│ └── i3status
│ │ └── config
└── bin
│ ├── backlightctl
│ └── set-default-sink
├── aegisub
└── .aegisub
│ └── automation
│ ├── autoload
│ └── unapply_template.lua
│ └── include
│ └── op_overloads.lua
├── htop
└── .config
│ └── htop
│ └── htoprc
└── vesktop
└── .config
└── vesktop
└── settings
└── quickCss.css
/.stowrc:
--------------------------------------------------------------------------------
1 | --no-folding
2 | --verbose=1
3 |
--------------------------------------------------------------------------------
/zsh/.zprofile:
--------------------------------------------------------------------------------
1 | emulate sh -c '. ~/.profile'
2 |
--------------------------------------------------------------------------------
/bash/.bash_logout:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.bash_logout
3 | #
4 |
--------------------------------------------------------------------------------
/youtube-dl/.config/yt-dlp/config:
--------------------------------------------------------------------------------
1 | ../youtube-dl/config
--------------------------------------------------------------------------------
/gtk/.gtkrc-2.0.mine:
--------------------------------------------------------------------------------
1 | gtk-font-name = "DejaVu Sans 11"
2 |
--------------------------------------------------------------------------------
/bin/bin/xclipargs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 | $@ $(xsel -ob)
3 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/convert_script.conf:
--------------------------------------------------------------------------------
1 | use_same_dir=yes
2 |
--------------------------------------------------------------------------------
/bin/bin/beet2mpv:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | beet list -p $@ | mpv --playlist=-
4 |
--------------------------------------------------------------------------------
/hexchat/.config/hexchat/urlhandlers.conf:
--------------------------------------------------------------------------------
1 | NAME Open in mpv
2 | CMD !mpv "%s"
3 |
4 |
--------------------------------------------------------------------------------
/zsh/.zlogout:
--------------------------------------------------------------------------------
1 | # deactivate virtual env if any
2 | [ "$VIRTUAL_ENV" ] && deactivate
3 |
--------------------------------------------------------------------------------
/fcitx/.config/fcitx/data/layout_override:
--------------------------------------------------------------------------------
1 | default,de,neo_qwertz
2 | mozc,de,neo_qwertz
3 |
--------------------------------------------------------------------------------
/xdg-desktop-portal/.config/xdg-desktop-portal/portals.conf:
--------------------------------------------------------------------------------
1 | [preferred]
2 | default=gtk
3 |
--------------------------------------------------------------------------------
/xinit/.xserverrc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | exec /usr/bin/Xorg -nolisten tcp "$@" vt$XDG_VTNR
4 |
--------------------------------------------------------------------------------
/gpg/.gnupg/gpa.conf:
--------------------------------------------------------------------------------
1 | default-key 55A0C8DF0B754DC7951875E39FA3981C07CD83C5
2 | detailed-view
3 |
--------------------------------------------------------------------------------
/bin/bin/text2unix_test:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 | find "${1:-.}" -type f -exec file "{}" \; | grep "with CRLF"
3 |
--------------------------------------------------------------------------------
/mpd/.config/systemd/user/mpDris2.service.d/override.conf:
--------------------------------------------------------------------------------
1 | [Unit]
2 | After=mpd.service
3 | Requires=mpd.service
4 |
--------------------------------------------------------------------------------
/pulse/.config/pulse/daemon.conf:
--------------------------------------------------------------------------------
1 | default-fragments = 5
2 | default-fragment-size-msec = 2
3 | flat-volumes = no
4 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Diff.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "draw_white_space": "all",
3 | }
4 |
--------------------------------------------------------------------------------
/hexchat/.config/hexchat/ctcpreply.conf:
--------------------------------------------------------------------------------
1 | NAME TIME
2 | CMD nctcp %s TIME %t
3 |
4 | NAME PING
5 | CMD nctcp %s PING %d
6 |
7 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/sponsorblock.conf:
--------------------------------------------------------------------------------
1 | # Exclude 'filler'
2 | categories=sponsor,intro,outro,interaction,selfpromo
3 |
--------------------------------------------------------------------------------
/bin/bin/aunpack-all:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | for arg in "$@"; do
4 | aunpack -- "$arg"
5 | # 7z x -- "$arg"
6 | done
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Console Input Widget.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "auto_match_enabled": true,
3 | }
4 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Plain text.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "extensions":
3 | [
4 | "txt"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Shell-Unix-Generic.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "default_line_ending": "unix",
3 | }
4 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/insert_date.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "tz_in": "CET",
3 | "format": "%x",
4 | }
5 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/PackageResourceViewer.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "return_to_previous": true
3 | }
4 |
--------------------------------------------------------------------------------
/xdg-desktop-portal/.config/systemd/user/xdg-desktop-portal.service.d/override.conf:
--------------------------------------------------------------------------------
1 | [Service]
2 | Environment="XDG_CURRENT_DESKTOP=gtk"
3 |
--------------------------------------------------------------------------------
/feh/.config/feh/themes:
--------------------------------------------------------------------------------
1 | # default theme
2 | feh --scale-down \
3 | --action1 "[delete to trash] rofi-yesno 'delete %n?' && trash -- %F"
4 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/_get_default-input.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | perl -pe 's/^#(?!#|\s)//g' < /usr/share/doc/mpv/input.conf > default-input.conf
4 |
--------------------------------------------------------------------------------
/bin/bin/text2unix:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 | find "${1:-.}" -type f -exec file "{}" \; | grep "with CRLF" | awk -F ': ' '{ print $1 }' - | xargs -d "\n" -- dos2unix -k --
3 |
--------------------------------------------------------------------------------
/picom/.config/picom.conf:
--------------------------------------------------------------------------------
1 | # reference file at /etc/xdg/picom.conf
2 |
3 | backend = "xrender";
4 | vsync = true;
5 |
6 | shadow = false;
7 | fading = false;
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Markdown.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "rulers":
3 | [
4 | 80
5 | ],
6 | "draw_white_space": "all",
7 | }
8 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Tubnil_mod.sublime-color-scheme:
--------------------------------------------------------------------------------
1 | {
2 | "globals": {
3 | "background": "hsl(0, 0%, 9.5%)",
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/Theme - Nil/Regex Widget - Nil.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "syntax": "Packages/Regular Expressions/RegExp.tmLanguage"
3 | }
4 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Terminal.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "terminal": "alacritty",
3 | "parameters": ["--working-directory", "%CWD%"],
4 | }
5 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Commit Message (Read Only).sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "syntax": "Packages/Git Formats/Git Commit Message.sublime-syntax",
3 | }
4 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Regex Replace Widget.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "syntax": "Packages/PackageDev/Package/Regex Replacement.sublime-syntax",
3 | }
4 |
--------------------------------------------------------------------------------
/gpg/.gnupg/gpg.conf:
--------------------------------------------------------------------------------
1 | keyid-format LONG
2 | auto-key-retrieve
3 | no-greeting
4 | # this server is too restrictive and needs another as fallback
5 | # keyserver hkps://keys.openpgp.org
6 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/sublime_jedi.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "python_package_paths": ["/opt/sublime_text_3", "C:\\Program Files\\Sublime Text 3"]
3 | }
4 |
--------------------------------------------------------------------------------
/rofi/.config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration {
2 | terminal: "alacritty";
3 | drun-match-fields: "all";
4 | tokenize: true;
5 | }
6 |
7 | @theme "/usr/share/rofi/themes/Arc-Dark.rasi"
8 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Commit Message.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "syntax": "Packages/Git Formats/Git Commit Message.sublime-syntax",
3 | "rulers": [72, 50]
4 | }
5 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/osc.conf:
--------------------------------------------------------------------------------
1 | vidscale=no
2 | hidetimeout=1500
3 | seekbarstyle=bar
4 | timems=yes
5 | # box (default), slimbox, bottombar, topbar
6 | layout=bottombar
7 | minmousemove=2
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/LaTeX/latex_item.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Item
3 | tabTrigger: i
4 | scope: text.tex.latex
5 | ---
6 | \item $0
7 |
--------------------------------------------------------------------------------
/youtube-dl/.config/youtube-dl/config:
--------------------------------------------------------------------------------
1 | --force-ipv4
2 | --format=bestvideo[height<=?1440]+bestaudio/best
3 | --output="%(title)s_%(id)s.%(ext)s"
4 | --no-mtime
5 | --netrc
6 | --embed-chapters
7 |
--------------------------------------------------------------------------------
/bash/.bashrc:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.bashrc
3 | #
4 |
5 | # If not running interactively, don't do anything
6 | [[ $- != *i* ]] && return
7 |
8 | alias ls='ls --color=auto'
9 | PS1='[\u@\h \W]\$ '
10 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP-basedpyright.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "enabled": false,
3 | "settings": {
4 | "basedpyright.dev_environment": "sublime_text_38",
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/self_setattr.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: self.… = …
3 | tabTrigger: s
4 | scope: source.python
5 | ---
6 | self.$1 = $1
7 |
--------------------------------------------------------------------------------
/bin/bin/inotifyrun:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | FORMAT=$(echo -e "\n\033[1;33m ==> %w%f written\033[0m")
3 | "$@"
4 | while inotifywait -qre close_write --format "$FORMAT" . --exclude /target/
5 | do
6 | "$@"
7 | done
8 |
--------------------------------------------------------------------------------
/bin/bin/watchdo:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | # $1 - file to watch
4 | # $2 - commands to execute
5 |
6 | while true; do
7 | inotifywatch -e modify -t 1 "$1" 2>/dev/null | grep -q total && eval "$2";
8 | done
9 |
--------------------------------------------------------------------------------
/BetterDiscord/.config/BetterDiscord/_commit.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 | cd $DIR
5 |
6 | git add plugins/ themes/
7 | git commit -m "$(date -Iseconds)"
8 |
--------------------------------------------------------------------------------
/bash/.bash_profile:
--------------------------------------------------------------------------------
1 | #
2 | # ~/.bash_profile
3 | #
4 |
5 | [[ -f ~/.profile ]] && . ~/.profile
6 | # apparently .bashrc is only sourced in non-login (and interactive) shells
7 | [[ -f ~/.bashrc ]] && . ~/.bashrc
8 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/_commit.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 | cd $DIR
5 |
6 | git add scripts/ shaders/ fonts/ .gitignore
7 | git commit -m "$(date -Iseconds)"
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/docstring.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Doc String
3 | tabTrigger: doc
4 | scope: source.python
5 | ---
6 | """${1:$SELECTION}"""
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/pdb.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Invoke pdb
3 | tabTrigger: pdb
4 | scope: source.python
5 | ---
6 | import pdb; pdb.set_trace()
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/shebang.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Shebang
3 | tabTrigger: sb
4 | scope: source.python
5 | ---
6 | #!/usr/bin/env python${1:3}
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/url-file.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: URL file content
3 | tabTrigger: url
4 | scope: source.ini
5 | ---
6 | [InternetShortcut]
7 | URL=$1
8 |
--------------------------------------------------------------------------------
/helix/.config/helix/languages.toml:
--------------------------------------------------------------------------------
1 | [[language]]
2 | name = "rust"
3 |
4 | [language.auto-pairs]
5 | # add <> and remove ''
6 | '(' = ')'
7 | '{' = '}'
8 | '[' = ']'
9 | '"' = '"'
10 | '`' = '`'
11 | '<' = '>'
12 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Delete Right and Move Right.sublime-macro:
--------------------------------------------------------------------------------
1 | [
2 | { "command": "right_delete" },
3 | { "command": "move",
4 | "args": { "by": "characters", "forward": true } }
5 | ]
6 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/INI.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "extensions":
3 | [
4 | "ini.dist",
5 | "timer",
6 | ".npmrc",
7 | "service",
8 | "conf",
9 | "url",
10 | ],
11 | }
12 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/.gitignore:
--------------------------------------------------------------------------------
1 | /_commit.sh
2 | /_get_default-input.sh
3 | /_update.sh
4 | scripts/pitchcontrol.lua
5 | scripts/excerpt.lua
6 | watch_later/
7 | script-opts/
8 | /*.conf
9 | *.db
10 | sponsorblock.txt
11 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Diff - Merge Dark.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/Theme - Nil/Tubnil_mod.tmTheme",
3 | // "color_scheme": "Tubnil_mod.sublime-color-scheme",
4 | }
5 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/File Mode - Merge Dark.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/Theme - Nil/Tubnil_mod.tmTheme",
3 | // "color_scheme": "Tubnil_mod.sublime-color-scheme",
4 | }
5 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Default.sublime-commands:
--------------------------------------------------------------------------------
1 | [
2 | { "caption": "Developer: Open API Files", "command": "open_api_files" },
3 | { "caption": "Open Locate", "command": "open_locate" },
4 | ]
5 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/dependencies.json:
--------------------------------------------------------------------------------
1 | {
2 | "*": {
3 | "*": [
4 | "pathlib",
5 | "sublime_lib",
6 | "resumeback"
7 | ]
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/pygments-style-tubnil/install:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | usersite="$(python -c "import site; print(site.getusersitepackages())")"
4 | mkdir -p "$usersite"
5 | python setup.py develop --install-dir "$usersite"
6 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Commit Message - Merge Dark.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/Theme - Nil/Tubnil_mod.tmTheme",
3 | // "color_scheme": "Tubnil_mod.sublime-color-scheme",
4 | }
5 |
--------------------------------------------------------------------------------
/dunst/.config/systemd/user/dunst.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Dunst notification daemon
3 |
4 | [Service]
5 | ExecStart=/usr/bin/dunst
6 | Type=simple
7 | #Environment=DISPLAY=:0
8 |
9 | [Install]
10 | WantedBy=default.target
11 |
--------------------------------------------------------------------------------
/redshift/.config/redshift.conf:
--------------------------------------------------------------------------------
1 | ; https://wiki.archlinux.org/index.php/Redshift
2 | [redshift]
3 | temp-day=4900
4 | temp-night=3200
5 | adjustment-method=randr
6 | location-provider=manual
7 |
8 | [manual]
9 | ;lat=
10 | ;lon=
11 |
--------------------------------------------------------------------------------
/tools/.config/systemd/user/dump-lutris-playtime.timer:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Record playtimes in Lutris every day (at 0600)
3 |
4 | [Timer]
5 | OnCalendar=06:00
6 | Persistent=true
7 |
8 | [Install]
9 | WantedBy=timers.target
10 |
--------------------------------------------------------------------------------
/xbindkeys/.xbindkeysrc:
--------------------------------------------------------------------------------
1 | # Run `xbindkeys -d` to see an example configuration
2 |
3 | # Bind extra mouse buttons to page up & down
4 | # swapped for CSL mouse
5 | "xdotool key Prior"
6 | b:9
7 |
8 | "xdotool key Next"
9 | b:8
10 |
--------------------------------------------------------------------------------
/bin/bin/rofi-yesno:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 | #
3 | # Ask for confirmation with rofi. Returns non-zero exit code if declined.
4 | # Specify prompt with $1.
5 |
6 | echo -en "yes\nno" | rofi -dmenu -p "$1" | read -r answer
7 | [[ $answer == yes ]]
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/GitGutter.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "debounce_delay": 500,
3 | "show_markers_on_untracked_file": false,
4 | "show_line_annotation": false,
5 | "line_annotation_ruler": 2,
6 | }
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Python Windows Launcher.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "shell_cmd": "py -u \"$file\"",
3 | "file_regex": "^ *File \"(...*?)\", line ([0-9]*)",
4 | "selector": "source.python"
5 | }
6 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h2.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Heading 2
3 | tabTrigger: h2
4 | scope: text.html.markdown, text.restructuredtext
5 | ---
6 | ${1:Heading 2}
7 | ${1/./=/g}
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h4.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Heading 4
3 | tabTrigger: h3
4 | scope: text.html.markdown, text.restructuredtext
5 | ---
6 | ${1:Heading 4}
7 | ${1/./-/g}
8 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/playlistmanager.conf:
--------------------------------------------------------------------------------
1 | # https://github.com/jonniek/mpv-playlistmanager/blob/master/playlistmanager.conf
2 | style_ass_tags={\fnDejaVuSans\fs12}
3 | playlist_savepath=~/.local/share/mpv/playlists
4 | resolve_url_titles=yes
5 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Delete Left Right Twice.sublime-macro:
--------------------------------------------------------------------------------
1 | [
2 | {"command": "left_delete" },
3 | {"command": "right_delete" },
4 | {"command": "left_delete" },
5 | {"command": "right_delete" }
6 | ]
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP-yaml.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "settings": {
3 | "yaml.customTags": ["!reference sequence"],
4 | // "yaml.schemas": {
5 | // "kubernetes": ["chart/*.yaml"]
6 | // },
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h3.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Heading 3
3 | tabTrigger: h3
4 | scope: text.html.markdown, text.restructuredtext
5 | ---
6 | ${1:Heading 3}
7 | ${1/./\*/g}
8 |
--------------------------------------------------------------------------------
/xinit/.xprofile:
--------------------------------------------------------------------------------
1 | # https://wiki.archlinux.org/index.php/Xprofile
2 |
3 | # set steam to minimize to tray
4 | export STEAM_FRAME_FORCE_CLOSE=1
5 |
6 | # disable "bell" beeper
7 | xset b off
8 |
9 | # start applications
10 | # blabla &
11 |
--------------------------------------------------------------------------------
/bin/bin/extract_links:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # usage: extract_links [in_file] [out_file]
4 |
5 | exec grep -o -P 'https?://(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&/=]*)' \
6 | "${1:--}" > "${2:-/dev/stdout}"
7 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Tag.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "Delete remote tag from origin",
4 | "command": "git",
5 | "args": {"argv": ["push", "--delete", "origin", "$tag_name"]}
6 | }
7 | ]
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/FichteMarkDown.sublime-settings:
--------------------------------------------------------------------------------
1 | // These settings override both User and Default settings for the FichteMarkDown syntax
2 | {
3 | "color_scheme": "Packages/User/FichteMarkDown/Twilight-Fichte.tmTheme"
4 | }
5 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/Theme - Nil/Widget - Nil.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "color_scheme": "Packages/Theme - Nil/Tubnil_mod.tmTheme",
3 | // "color_scheme": "Packages/Theme - Nil/Widget - Nil.stTheme",
4 | "draw_shadows": false
5 | }
6 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h1.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Heading 1
3 | tabTrigger: h1
4 | scope: text.html.markdown, text.restructuredtext
5 | ---
6 | ${1/./=/g}
7 | ${1:Heading 1}
8 | ${1/./=/g}
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/scope_hunter.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "show_popup": false,
3 | "show_panel": true,
4 | "highlight_style": "outline",
5 | "selectors": true,
6 | "styling": true,
7 | "debug": true,
8 | }
9 |
--------------------------------------------------------------------------------
/bin/bin/rtouch:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 |
3 | # Recursively touch files by creating parent directories when necessary
4 |
5 | for file in "$@"; do
6 | if [[ "$file" = */* ]]; then
7 | mkdir -p "${file%/*}"
8 | fi;
9 |
10 | touch "$file";
11 | done
12 |
--------------------------------------------------------------------------------
/openurl/.local/share/applications/openurl.desktop:
--------------------------------------------------------------------------------
1 | # set this as the default handler in ~/.config/mimeapps.list
2 | [Desktop Entry]
3 | Exec=openurl %U
4 | MimeType=x-scheme-handler/http;x-scheme-handler/https;
5 | Name=openurl
6 | NoDisplay=true
7 | Type=Application
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Pylint.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "shell_cmd": "pylint \"$file\"",
3 | //"file_regex": "^\\*+ Module ().*",
4 | "line_regex": "^\\w: *(\\d+), *(\\d+): (.*)",
5 | "selector": "source.python"
6 | }
7 |
--------------------------------------------------------------------------------
/system/.config/systemd/user/systembus-notify.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Forward notifications for the system user to the current user
3 |
4 | [Service]
5 | ExecStart=/usr/bin/systembus-notify
6 | Type=simple
7 |
8 | [Install]
9 | WantedBy=default.target
10 |
--------------------------------------------------------------------------------
/bin/bin/beet2mpd:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | music_dir="$(rg -o '^music_directory\s+"([^"]+?)/?"' -r '$1' ~/.config/mpd/mpd.conf)"
4 |
5 | beet list $@ -f '$path' \
6 | | sed "s#^${music_dir}/##
7 | t
8 | d" \
9 | | sort | tee /dev/fd/2 \
10 | | mpc add
11 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/BracketGuard.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // If the current document has more characters automatic checking of brackets
3 | // is disabled.
4 | "file_length_threshold" : 1000000,
5 | "check_on_save" : true
6 | }
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LaTeX.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "auto_complete_triggers":
3 | [
4 | {
5 | "characters": "\\",
6 | "selector": "text.tex.latex"
7 | }
8 | ],
9 | "extensions":
10 | [
11 | "sty"
12 | ],
13 | "tab_size": 2
14 | }
15 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/MarkdownPreview.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "show_panel_on_build": true,
3 | "parser": "github",
4 | "github_inject_header_ids": true,
5 | "build_action": "browser",
6 | "file_path_conversions": "relative"
7 | }
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/hexchat_callback.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Hexchat Callback
3 | tabTrigger: hcc
4 | scope: source.python
5 | ---
6 | def ${1:event}_cb(word, word_eol, ${2:userdata}):
7 | ${3:pass}
8 |
--------------------------------------------------------------------------------
/feh/.config/feh/keys:
--------------------------------------------------------------------------------
1 | # rotate left (or right)
2 | orient_3 l
3 | orient_1 L
4 |
5 | # unbind "f" and then to toggle_fullscreen
6 | save_filelist
7 | toggle_fullscreen v f
8 |
9 | # Unbind default C-Delete action and replace with prompt to trash
10 | delete
11 | action_1 1 C-Delete
--------------------------------------------------------------------------------
/mpd/.config/systemd/user/mpd.service.d/override.conf:
--------------------------------------------------------------------------------
1 | # Work around issue with mpd not notifying systemd fast enough
2 | # so it times out before the database has been scanned.
3 | # https://github.com/MusicPlayerDaemon/MPD/issues/259
4 | [Service]
5 | #Type=simple
6 | TimeoutStartSec=180
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/LaTeX/latex_enum.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Enumeration (annotated)
3 | tabTrigger: enum
4 | scope: text.tex.latex
5 | ---
6 | \begin{enumerate}${1/(.+)/\[/}$1${1/(.+)/\]/}
7 | \item $0
8 | \end{enumerate}
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/LaTeX/latex_item.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | Item
6 | text.tex.latex
7 | i
8 |
9 |
--------------------------------------------------------------------------------
/lftp/.lftprc:
--------------------------------------------------------------------------------
1 | alias ll cls -lah --si --filesize --sortnocase --basename
2 | alias .. cd ..
3 | alias ... cd ../..
4 |
5 | set cmd:prompt '\nlftp \S\? \u\@\h\n >\e[35m\w\e[0m\n <\e[34m\l\e[0m\n$ '
6 | # .netrc is only used for the default protocol (idk why)
7 | set cmd:default-protocol sftp
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/self_setattr.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | self.… = …
6 | source.python
7 | s
8 |
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/docstring.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | Doc String
6 | source.python
7 | doc
8 |
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/pdb.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | Invoke pdb
6 | source.python
7 | pdb
8 |
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Snippets/shebang.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | Shebang
6 | source.python
7 | sb
8 |
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_event_listener.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Sublime Text EventListener
3 | tabTrigger: st_listener
4 | scope: source.python
5 | ---
6 | class ${1:TestListener}(sublime_plugin.EventListener):
7 | ${2:pass}
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/url-file.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | URL file content
7 | source.ini
8 | url
9 |
10 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/cycle_groups.py:
--------------------------------------------------------------------------------
1 | import sublime_plugin
2 |
3 |
4 | class CycleGroupsCommand(sublime_plugin.WindowCommand):
5 | def run(self):
6 | w = self.window
7 | w.focus_group((w.active_group() + 1) % w.num_groups())
8 | # TODO multiple selected tabs
9 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/shaders/kyoani_fog.glsl:
--------------------------------------------------------------------------------
1 | // interpolates luma from 16-235 to 0-235
2 |
3 | //!HOOK LUMA
4 | //!BIND HOOKED
5 | //!DESC Anti Kyoani Fog
6 |
7 | #define const_1 ( 16.0 / 235.0)
8 | #define const_2 (235.0 / 219.0)
9 |
10 | vec4 hook() {
11 | return (LUMA_tex(LUMA_pos) - const_1) * const_2;
12 | }
13 |
--------------------------------------------------------------------------------
/tools/.config/systemd/user/dump-lutris-playtime.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Fetch current lutris playtime and dump it to files
3 |
4 | [Service]
5 | Type=oneshot
6 | ExecStart=%h/tools/track_lutris_playtime/track_lutris_playtime.py
7 |
8 | # To be triggered by a timer
9 | # [Install]
10 | # WantedBy=default.target
11 |
--------------------------------------------------------------------------------
/bin/bin/foobar:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | export WINEPREFIX='/home/fichte/.wine32'
4 | export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
5 | exec wine 'C:\Program Files\foobar2000\foobar2000.exe' $@
6 | # wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/fichte/.wine32/dosdevices/c:/users/Public/Desktop/foobar2000.lnk $@
7 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_text_command.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Sublime Text TextCommand
3 | tabTrigger: st_text_cmd
4 | scope: source.python
5 | ---
6 | class ${1:TestCommand}Command(sublime_plugin.TextCommand):
7 | def run(self, edit):
8 | ${2:pass}
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_window_command.sane-snippet:
--------------------------------------------------------------------------------
1 | ---
2 | description: Sublime Text WindowCommand
3 | tabTrigger: st_win_cmd
4 | scope: source.python
5 | ---
6 | class ${1:TestCommand}Command(sublime_plugin.WindowCommand):
7 | def run(self):
8 | ${2:pass}
9 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h2.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | Heading 2
7 | text.html.markdown, text.restructuredtext
8 | h2
9 |
10 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h3.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | Heading 3
7 | text.html.markdown, text.restructuredtext
8 | h3
9 |
10 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h4.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | Heading 4
7 | text.html.markdown, text.restructuredtext
8 | h3
9 |
10 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Main.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "repository",
4 | "children": [
5 | {
6 | "caption": "Open Terminal…",
7 | "command": "git",
8 | "args": { "argv": ["terminal"] }
9 | },
10 | ],
11 | }
12 | ]
13 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Diff Context.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 | { "caption": "-" },
3 | {
4 | "caption": "File History",
5 | "command": "search", "args": { "query": "file:\"$path\"" }
6 | },
7 | {
8 | "caption": "Blame",
9 | "command": "blame", "args": { "path": "$path" }
10 | },
11 | ]
12 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/ReST Headers/h1.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | Heading 1
8 | text.html.markdown, text.restructuredtext
9 | h1
10 |
11 |
--------------------------------------------------------------------------------
/bin/bin/aur-remove:
--------------------------------------------------------------------------------
1 | #!/bin/sh --
2 | # aur-remove - remove listed packages from all local repositories
3 |
4 | if [ "$#" -eq 0 ]; then
5 | printf 'usage: aur remove package [package ...]\n' >&2
6 | exit 1
7 | fi
8 |
9 | aur repo --list-path | while read -r repo_path; do
10 | repo-remove "$repo_path" "$@"
11 | paccache -c "${repo_path%/*}" -rvk0 "$@"
12 | done
13 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/hexchat_callback.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | Hexchat Callback
7 | source.python
8 | hcc
9 |
10 |
--------------------------------------------------------------------------------
/bin/bin/aur-remove-sync:
--------------------------------------------------------------------------------
1 | #!/bin/sh --
2 | # aur-remove-sync - Remove listed packages from $AURDEST
3 |
4 | if [ "$#" -eq 0 ]; then
5 | printf 'usage: aur remove-sync package [package ...]\n' >&2
6 | exit 1
7 | fi
8 |
9 | XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
10 | AURDEST="${AURDEST:-$XDG_CACHE_HOME/aurutils/sync}"
11 |
12 | cd "$AURDEST"
13 | rm -vrf -- "$@"
14 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/LaTeX/latex_enum.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | Enumeration (annotated)
8 | text.tex.latex
9 | enum
10 |
11 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/FileHistory.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "debug": false,
3 | "monospace_font": false,
4 | "prettify_history": true,
5 | "remove_non_existent_files_on_preview": true,
6 | "timestamp_format": "%Y-%m-%d %H:%M:%S",
7 | "timestamp_mode": "history_access",
8 | "cleanup_on_startup": true,
9 | "reopen_file_in_current_group": false
10 | }
11 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Zeal.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "docsets_user": [
3 | { "name": "Sublime Text", "selector": "source.json.sublime, source.yaml.sublime, source.python" },
4 | { "name": "Docker", "selector": "source.dockerfile", "namespace": "docker" },
5 | { "name": "JavaScript", "selector": "source.ts" },
6 | ],
7 | "multi_match": "join",
8 | }
9 |
--------------------------------------------------------------------------------
/ranger/.config/ranger/pygments-style-tubnil/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup
2 |
3 | # install with:
4 | # $ python setup.py develop --install-dir "$HOME/.local/lib/python3.7/site-packages"
5 |
6 | setup(
7 | name="pygmentize-style-tubnil",
8 | version="0.1",
9 | entry_points="""
10 | [pygments.styles]
11 | tubnil = tubnil:TubnilStyle
12 | """,
13 | )
14 |
--------------------------------------------------------------------------------
/bin/bin/toggle-dark-mode:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | get_theme() {
4 | gsettings get org.gnome.desktop.interface color-scheme
5 | }
6 |
7 | set_theme() {
8 | gsettings set org.gnome.desktop.interface color-scheme $1
9 | }
10 |
11 | if [[ $(get_theme) == "'prefer-dark'" ]]; then
12 | set_theme 'prefer-light'
13 | else
14 | set_theme 'prefer-dark'
15 | fi
16 |
17 | get_theme
18 |
--------------------------------------------------------------------------------
/bin/bin/lowercase:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 | echo "lowercasing everything in $1"
3 | for SRC in `find $1 -depth`
4 | do
5 | DST=`dirname "${SRC}"`/`basename "${SRC}" | tr '[A-Z]' '[a-z]'`
6 | if [ "${SRC}" != "${DST}" ]
7 | then
8 | #[ ! -e "${DST}" ] && echo mv -T "${SRC}" "${DST}"
9 | [ ! -e "${DST}" ] && mv -T "${SRC}" "${DST}" || echo "${SRC} was not renamed"
10 | fi
11 | done
12 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_event_listener.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
6 | Sublime Text EventListener
7 | source.python
8 | st_listener
9 |
10 |
--------------------------------------------------------------------------------
/bin/bin/share:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | req_url='https://0x0.st/'
4 |
5 | echo "arg: $1"
6 | if [ -z "$1" ]; then
7 | curl -F "file=@/dev/stdin;filename=stdin.txt" $req_url | read -r url
8 | elif [ -f "$1" ]; then
9 | curl -F "file=@\"$1\"" $req_url | read -r url
10 | else
11 | echo "File $1 does not exist"
12 | exit 1
13 | fi
14 | echo -n "$url" | xsel -ib
15 | notify-send -a "share" "File uploaded" "$url"
16 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_text_command.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | Sublime Text TextCommand
8 | source.python
9 | st_text_cmd
10 |
11 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Application Snippets/sublime_text_window_command.sane.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | Sublime Text WindowCommand
8 | source.python
9 | st_win_cmd
10 |
11 |
--------------------------------------------------------------------------------
/git/bin/git-copy-commit-url:
--------------------------------------------------------------------------------
1 | #!/usr/bin/zsh
2 |
3 | sha="$1"
4 | [[ -z $sha ]] && echo "no commit sha given" && exit 1
5 |
6 | origin="$(git remote get-url origin)"
7 | base_url="https://${${${${origin#https://}#git@}%.git}/://}"
8 | if [[ "$base_url" == *github* ]]; then
9 | url="$base_url/commit/$sha";
10 | elif [[ "$base_url" == *bitbucket* ]]; then
11 | url="$base_url/commits/$sha";
12 | fi
13 | echo -n "$url" | xsel -ib
14 | echo "$url"
15 |
--------------------------------------------------------------------------------
/bin/bin/mons-primary:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 | #
3 | # Prompt for a monitor to make the primary.
4 |
5 | mons=$(mons)
6 | monitors=$(rg '^\d+.*' -o <<< $mons)
7 | rest=$(rg '^\d+.*' -v <<< $mons)
8 | echo -en "$monitors" \
9 | | rofi -dmenu -i -p "Specify the monitor to make the primary" -mesg "$rest" -l $(wc -l <<< $monitors) \
10 | | awk '{print $2}' \
11 | | read -r answer
12 | echo -n $answer
13 | [[ -n $answer ]] && mons --primary $answer
14 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Python Virtualenv.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "shell_cmd": "source ./.venv/bin/activate && python -u \"$file\"",
3 | "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
4 | "working_dir": "${project_path:${folder:$file_path}}",
5 | "selector": "source.python",
6 |
7 | "windows": {
8 | "shell_cmd": ".\\venv\\Scripts\\activate.bat & python -u \"$file\""
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/bin/bin/aur-gc:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Remove unused build files in aur-sync cache
4 | XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
5 | AURDEST=${AURDEST:-$XDG_CACHE_HOME/aurutils/sync}
6 |
7 | # Assumes build files were retrieved through git(1)
8 | find "$AURDEST" -name .git -execdir git clean -xf \;
9 |
10 | # Print directories which do not contain a PKGBUILD file
11 | for d in "$AURDEST"/*; do
12 | [[ -f $d/PKGBUILD ]] || printf '%s\n' "$d"
13 | done
14 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/thumbfast.conf:
--------------------------------------------------------------------------------
1 | # Maximum thumbnail size in pixels (scaled down to fit)
2 | #max_height=200
3 | #max_width=200
4 |
5 | # Thumbnail interval in seconds set to 0 to disable (warning: high cpu usage)
6 | #interval=6
7 |
8 | # Number of thumbnails
9 | #min_thumbnails=6
10 | #max_thumbnails=120
11 |
12 | # Spawn thumbnailer on file load for faster initial thumbnails
13 | #spawn_first=no
14 |
15 | # Enable on network playback
16 | #network=yes
17 |
--------------------------------------------------------------------------------
/polybar/.config/polybar/scripts/polyyadfile:
--------------------------------------------------------------------------------
1 | #!/usr/bin/zsh
2 |
3 | input_file=${1-/dev/stdin}
4 |
5 | tmp_file=$(mktemp)
6 | trap "rm -f '$tmp_file'" 0
7 |
8 | <$input_file tee "$tmp_file" | wc -lL | LFS=' ' read lines chars _
9 | echo "lines: $lines, chars: $chars"
10 |
11 | <$tmp_file \
12 | ~/.config/polybar/scripts/polyyad.py \
13 | --text-info --no-buttons --close-on-unfocus \
14 | --height $((lines * 19 + 10)) \
15 | --width $((chars * 10))
16 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/quality-menu.conf:
--------------------------------------------------------------------------------
1 | # https://github.com/christoph-heinrich/mpv-quality-menu/blob/master/quality-menu.conf
2 |
3 | # use youtube-dl to fetch a list of available formats (overrides quality_strings)
4 | #fetch_formats=yes
5 |
6 | # list of ytdl-format strings to choose from
7 | quality_strings_video=[ {"1440p" : "bestvideo[height<=?1440]"}, {"1080p" : "bestvideo[height<=?1080]"}, {"720p" : "bestvideo[height<=?720]"}, {"480p" : "bestvideo[height<=?480]"} ]
8 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/AdvancedNewFile.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "show_files": true,
3 | "completion_type": "nix",
4 | "rename_default": "",
5 | "append_extension_on_move": false,
6 | "copy_default": "",
7 | "append_extension_on_copy": false,
8 | "warn_overwrite_on_move": true,
9 | "rename_file_default_root": "current",
10 | "copy_file_default_root": "current",
11 | "cursor_before_extension": true
12 | }
13 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/PlainTasks.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // plugin settings
3 | "date_format": "(%Y-%m-%d %H:%M)",
4 | "show_remain_due": true,
5 | "before_date_space": "",
6 |
7 | // normal setting overrides
8 | "color_scheme": "Packages/Theme - Nil/Tubnil_mod.tmTheme",
9 | // "color_scheme": "Packages/PlainTasks/tasks-monokai.hidden-tmTheme",
10 | "line_numbers": true,
11 | "line_numbers": true,
12 | "draw_indent_guides": true,
13 | }
14 |
--------------------------------------------------------------------------------
/noisetorch/.config/systemd/user/noisetorch@.service:
--------------------------------------------------------------------------------
1 | # https://github.com/lawl/NoiseTorch/wiki/Start-automatically-with-Systemd#create-systemd-unit
2 | [Unit]
3 | Description=Noisetorch Noise Cancelling
4 | Requires=pipewire.socket
5 | StartLimitIntervalSec=35
6 | StartLimitBurst=9
7 |
8 | [Service]
9 | Type=simple
10 | RemainAfterExit=yes
11 | ExecStart=/usr/bin/noisetorch -i -s '%i'
12 | ExecStop=/usr/bin/noisetorch -u
13 | Restart=on-failure
14 | RestartSec=3
15 |
16 |
17 | [Install]
18 | WantedBy=default.target
19 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/GitSavvy.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "show_commit_diff": true,
3 | "inline_diff_auto_scroll": true,
4 | "fallback_encoding": "cp-850",
5 | "show_remotes_in_branch_dashboard": true,
6 | "show_remotes_in_tags_dashboard": true,
7 | "api_tokens": {
8 | // "github.com": "ADD YOUR TOKEN HERE"
9 | },
10 | "tab_order": [
11 | "status",
12 | "branch",
13 | "rebase",
14 | "graph"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/bin/bin/rmove:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # rsync-based move
4 | #
5 | # usage: rmove
6 | #
7 | # Copy files over using rsync (and showing its process indicator),
8 | # then remove source files.
9 | # Also need to remove empty directories since rsync doesn't,
10 | # but don't do that for now.
11 |
12 | rsync \
13 | --archive \
14 | -hhh \
15 | --verbose \
16 | --progress \
17 | --remove-source-files \
18 | "$@"
19 |
20 | # find "$1" -type d -empty -print -delete
21 |
--------------------------------------------------------------------------------
/teiler/.config/teiler/profiles/my-mp4-noaudio:
--------------------------------------------------------------------------------
1 | border="-show_region 1"
2 |
3 | # convert to yuv420p because browsers can't handle 444 subsampling
4 | # zscale requires --enable-libzimg
5 | # Alternatively: -pix_fmt yuv420p
6 | all_encopts="-r 30 -pix_fmt yuv420p -c:v libx264 -c:a libvorbis"
7 | #all_encopts="-r 30 -vf zscale=f=spline36:m=709,format=yuv420p -c:v libx264 -c:a libvorbis"
8 | encopts="$all_encopts -s $res -movflags +faststart"
9 | rect_encopts="$all_encopts -preset slow -crf 18"
10 | ext="mp4"
11 | ffaudio=""
12 |
--------------------------------------------------------------------------------
/lazydocker/.config/lazydocker/config.yml:
--------------------------------------------------------------------------------
1 | # https://github.com/jesseduffield/lazydocker/blob/master/docs/Config.md
2 | # https://pkg.go.dev/github.com/jesseduffield/lazydocker/pkg/config
3 |
4 | gui:
5 | expandFocusedSidePanel: true
6 | returnImmediately: true
7 |
8 | commandTemplates:
9 | dockerCompose: docker compose
10 |
11 | logs:
12 | tail: 500
13 |
14 | customCommands:
15 | containers:
16 | - name: bash
17 | attach: true
18 | command: 'docker exec -it {{ .Container.ID }} bash'
19 | serviceNames: []
20 |
--------------------------------------------------------------------------------
/fcitx/.config/fcitx/conf/fcitx-quickphrase.config:
--------------------------------------------------------------------------------
1 | [QuickPhrase]
2 | # Trigger Key for QuickPhrase
3 | # Available Value:
4 | # None
5 | # Semicolon
6 | # Grave
7 | QuickPhraseTriggerKey=None
8 | # Alternative Trigger Key for QuickPhrase
9 | AlternativeTriggerKey=ALT_SPACE
10 | # Choose key modifier
11 | # Available Value:
12 | # None
13 | # Alt
14 | # Ctrl
15 | # Shift
16 | #ChooseModifier=None
17 | # Do not show spell hint
18 | # Available Value:
19 | # True False
20 | #DisableSpell=False
21 | # Maximum hint length
22 | #MaximumHintLength=2
23 |
24 |
--------------------------------------------------------------------------------
/gtk/.config/gtk-3.0/settings.ini:
--------------------------------------------------------------------------------
1 | [Settings]
2 | gtk-theme-name=Arc-Dark-solid
3 | gtk-icon-theme-name=Adwaita
4 | gtk-font-name=DejaVu Sans 11
5 | # gtk-font-name=Cantarell 11
6 | gtk-cursor-theme-name=Adwaita
7 | gtk-cursor-theme-size=0
8 | gtk-toolbar-style=GTK_TOOLBAR_BOTH
9 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
10 | gtk-button-images=1
11 | gtk-menu-images=1
12 | gtk-enable-event-sounds=1
13 | gtk-enable-input-feedback-sounds=1
14 | gtk-xft-antialias=1
15 | gtk-xft-hinting=1
16 | gtk-xft-hintstyle=hintmedium
17 | gtk-xft-rgba=rgb
18 |
--------------------------------------------------------------------------------
/readline/.inputrc:
--------------------------------------------------------------------------------
1 | set editing-mode emacs
2 | set enable-bracketed-paste on
3 |
4 | # termite
5 | "\e[H": beginning-of-line
6 | "\e[F": end-of-line
7 | "\e[A":
8 | "\e[5~": history-search-backward
9 | "\e[6~": history-search-forward
10 |
11 | # alacritty
12 | "\e[OH": beginning-of-line
13 | "\e[OF": end-of-line
14 | "\e[1;5D": backward-word
15 | "\e[1;5C": forward-word
16 |
17 | # general
18 | "\e[[D": backward-char
19 | "\e[[C": forward-char
20 | "\e[[A": previous-history
21 | "\e[[B": next-history
22 | "\eH": backward-kill-word
23 | "\e[3;5~": kill-word
24 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP-ruff.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "initializationOptions":
3 | {
4 | "settings": {
5 | "lint.preview": true,
6 | "lint.ignore": [
7 | // ST cleans this automatically on save
8 | "W291", // Trailing whitespace
9 | "W292", // No newline at end of file
10 | "W293", // Blank line contains whitespace
11 | ],
12 | "format.preview": true,
13 | "lineLength": 120
14 | }
15 | },
16 | }
17 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/Flake8.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "cmd": ["flake8", "--exit-zero", "$file"],
3 | "file_regex": "^(.+):([0-9]+):(\\d+): (.*)",
4 | "working_dir": "${folder:${project_path:$file_path}}",
5 | "selector": "source.python",
6 |
7 | "variants": [
8 | {
9 | "name": "Project",
10 | "cmd": ["flake8", ".", "--exit-zero", "--exclude=.git,__pycache__,.venv*,node_modules"],
11 | "working_dir": "${folder:${project_path:$file_path}}"
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Python/pytest.sublime-build:
--------------------------------------------------------------------------------
1 | {
2 | "shell_cmd": "py.test --color no",
3 | "selector": "",
4 | "file_regex": "^(.*?):(\\d+):",
5 | "env": {
6 | "TINYCSS_SKIP_SPEEDUPS_TESTS": "a"
7 | },
8 |
9 | "variants": [
10 | {
11 | "name": "Run quiet",
12 | "shell_cmd": "py.test -q --color no"
13 | },
14 | {
15 | "name": "Project root",
16 | "working_dir": "${project_path:${folder}}"
17 | },
18 | ]
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP-typescript.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "initializationOptions": {
3 | "preferences": {
4 | // Addresses slowness in ST due to many, many completions.
5 | // https://github.com/sublimelsp/LSP-typescript/issues/129
6 | "includeCompletionsForModuleExports": false,
7 |
8 | // Ignore certain modules for auto-importable completions
9 | // because of their sheer amount causing delays in ST.
10 | "autoImportFileExcludePatterns": ["core-js"]
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/alacritty/.config/alacritty/alacritty.toml:
--------------------------------------------------------------------------------
1 | # Documentation:
2 | # - alacritty(5)
3 | # - https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
4 |
5 | [font]
6 | # * https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
7 | # * file:///usr/share/doc/fontconfig/fontconfig-user.html
8 | size = 10
9 | normal = { family = "Terminus" }
10 |
11 | [mouse]
12 | hide_when_typing = true
13 |
14 | [window]
15 | padding = { x = 2, y = 2 }
16 |
17 | [general]
18 | import = [
19 | "~/.config/alacritty/colors.toml",
20 | "~/.config/alacritty/keybindings.toml",
21 | ]
22 |
--------------------------------------------------------------------------------
/polybar/.config/polybar/scripts/systemd-units:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | num_failed() {
4 | systemctl $1 list-units --failed | rg '(\d+) loaded units listed.' -r '$1' -o
5 | }
6 |
7 | case $1 in
8 | count)
9 | failed=$(( $(num_failed --user) + $(num_failed --system) ))
10 | if ((failed)); then
11 | echo $failed
12 | fi
13 | ;;
14 | print)
15 | echo "SYSTEM"
16 | systemctl --system list-units --failed
17 | echo "\nUSER"
18 | systemctl --user list-units --failed
19 | ;;
20 | *)
21 | echo "Unknown command" >&2
22 | ;;
23 | esac
24 |
--------------------------------------------------------------------------------
/teiler/bin/teiler_helper:
--------------------------------------------------------------------------------
1 | #!/bin/zsh
2 | # original from /usr/bin/teiler_helper
3 |
4 | # source $HOME/.config/teiler/config
5 |
6 | # define uploaders
7 | # images
8 | uploadFile () {
9 | url=$(curl -F "file=@$1" https://0x0.st)
10 | echo -n "$url" | xclip -selection clipboard
11 | notify-send -a "teiler" "Image Uploaded" "$url"
12 | }
13 |
14 | # this is stupid, but it's what `teiler` calls this with
15 | if [[ $1 == "--upload" ]]; then
16 | if [[ $2 == "image" ]]; then uploadFile "$3"
17 | elif [[ $2 == "video" ]]; then uploadFile "$3"
18 | elif [[ $2 == "text" ]]; then uploadFile "$3"
19 | fi
20 | fi
21 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Snippets/Rust/pln.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | source.rust
9 | pln
10 | println!(…)
11 |
12 |
--------------------------------------------------------------------------------
/polybar/.config/polybar/launch.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo "Stopping running units …"
4 | systemctl --user stop polybar-\*
5 |
6 | # Launch bars, based on xrandr output
7 | i=0
8 | inputs=$(polybar --list-all-monitors)
9 | printf "Starting %d polybar units …\n" $(wc -l <<< $inputs)
10 | while IFS=: read -r output rest; do
11 | ((i = i+1))
12 | if [[ "$rest" == *primary* ]]; then
13 | bar=primary
14 | else
15 | bar=secondary
16 | fi
17 | systemd-run --user \
18 | -u "polybar-$bar-$output" \
19 | -E POLY_MONITOR="$output" \
20 | polybar $bar
21 | done <<< $inputs
22 |
23 | echo "Bars launched"
24 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/Tubnil_mod.sublime-color-scheme:
--------------------------------------------------------------------------------
1 | {
2 | // http://www.sublimetext.com/docs/3/color_schemes.html
3 | "variables": {
4 | },
5 | "globals": {
6 | "line_diff_width": "2",
7 | // "brackets_options": "glow bold underline",
8 | },
9 | "rules": [
10 | {
11 | "scope": "markup.underline",
12 | "font_style": "underline",
13 | },
14 | {
15 | // override color for some syntaxes using this non-standard scope
16 | "scope": "keyword.operator.accessor",
17 | "foreground": "#DAD6CD",
18 | }
19 | ],
20 | }
21 |
--------------------------------------------------------------------------------
/gtk/.gtkrc-2.0:
--------------------------------------------------------------------------------
1 | # DO NOT EDIT! This file will be overwritten by LXAppearance.
2 | # Any customization should be done in ~/.gtkrc-2.0.mine instead.
3 |
4 | include "/home/fichte/.gtkrc-2.0.mine"
5 | gtk-theme-name="Arc-Dark-solid"
6 | gtk-icon-theme-name="Adwaita"
7 | gtk-font-name="DejaVu Sans 11"
8 | gtk-cursor-theme-name="Adwaita"
9 | gtk-cursor-theme-size=0
10 | gtk-toolbar-style=GTK_TOOLBAR_BOTH
11 | gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
12 | gtk-button-images=1
13 | gtk-menu-images=1
14 | gtk-enable-event-sounds=1
15 | gtk-enable-input-feedback-sounds=1
16 | gtk-xft-antialias=1
17 | gtk-xft-hinting=1
18 | gtk-xft-hintstyle="hintmedium"
19 | gtk-xft-rgba="rgb"
20 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/FileIcons/theme/Nil.sublime-theme:
--------------------------------------------------------------------------------
1 | {
2 | "rules": [
3 | {
4 | "class": "icon_file_type",
5 | "layer0.tint": [255, 255, 255],
6 | "layer0.opacity": 0.85,
7 | "content_margin": [8, 8]
8 | },
9 | {
10 | "class": "icon_file_type",
11 | "parents": [{"class": "tree_row", "attributes": ["hover"]}],
12 | "layer0.opacity": 0.7
13 | },
14 | {
15 | "class": "icon_file_type",
16 | "parents": [{"class": "tree_row", "attributes": ["selected"]}],
17 | "layer0.opacity": 1.0
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/.misc/FireFox/OneeChan Tubnil.json:
--------------------------------------------------------------------------------
1 | {"name":"Tubnil","authorName":"FichteFoll","authorTrip":"","replyOp":"1.0","navOp":"0.9","mainColor":"0d1114","brderColor":"0b1316","inputColor":"090d0f","inputbColor":"0d1114","headerBGColor":"0d1114","headerColor":"f8f8f8","boardColor":"f8f8f8","bgColor":"090d0f","textColor":"f8f8f8","blinkColor":"4797cc","headerLColor":"53bdb1","headerLHColor":"3090b5","linkColor":"53bdb1","linkHColor":"3090b5","qlColor":"53bdb1","nameColor":"d63e34","tripColor":"d4b63c","titleColor":"b88cd1","quoteColor":"96c83b","unreadColor":"4270b2","postHLColor":"d4b63c","quotesYouHLColor":"d4b63c","ownPostHLColor":"d4b63c","threadHLColor":"b88cd1","replybgHLColor":"090d10","replyslctColor":"d4b63c"}
2 |
--------------------------------------------------------------------------------
/pulse/.config/pulse/default.pa:
--------------------------------------------------------------------------------
1 | .include /etc/pulse/default.pa
2 | unload-module module-role-cork
3 |
4 | # Stream setup
5 | # Add a remap sink to the default sink that is looped back to a recording sink,
6 | # along with a loopback for the mic whose monitor can be recorded.
7 | load-module module-remap-sink sink_name=default_record master=default sink_properties="device.description='Default+Record'"
8 |
9 | load-module module-null-sink sink_name=record sink_properties="device.description='Record'"
10 | load-module module-loopback source=default_record.monitor sink=record
11 | load-module module-loopback source="alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y77R9F80B6C053-00.analog-stereo" sink=record
12 |
--------------------------------------------------------------------------------
/polybar/.config/polybar/scripts/pulse-sink-source:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | pactl subscribe \
4 | | while :; do
5 | sinkicon=$(pactl info | rg -q --pcre2 'Default Sink:.*(alsa_output\.usb-Plantronics_Plantronics_Blackwire_5220_Series)' && echo -n "")
6 | sourceicon=$([[ "$(pactl get-source-mute "$(pactl get-default-source)")" = "Mute: yes" ]] && echo -n "")
7 | [[ -z "$sinkicon$sourceicon" ]] && echo || echo "$sourceicon $sinkicon"
8 | while
9 | # wait until something relevant changed
10 | read -r line && [[ ! "$line" =~ "on sink" ]] && [[ ! "$line" =~ "on source" ]] && [[ ! "$line" =~ "on server" ]]
11 | do :; done
12 | done
13 |
--------------------------------------------------------------------------------
/fcitx/.config/fcitx/conf/fcitx-keyboard.config:
--------------------------------------------------------------------------------
1 | [Keyboard]
2 | # Commit with extra space when choose candidate word
3 | # Available Value:
4 | # True False
5 | #CommitWithExtraSpace=False
6 | # Choose key modifier
7 | # Available Value:
8 | # None
9 | # Alt
10 | # Ctrl
11 | # Shift
12 | #ChooseModifier=Alt
13 | # Toggle the word hint
14 | #HotkeyToggleWordHint=CTRL_ALT_H
15 | # Minimum length to trigger word hint
16 | #MinimumHintLength=1
17 | # Maximum length of spell hint list
18 | MaximumHintLength=8
19 | # Use enter to commit the existing string
20 | # Available Value:
21 | # True False
22 | #UseEnterToCommit=False
23 | # Add current input buffer to user dictionary
24 | #HotkeyAddToUserDict=CTRL_ALT_N
25 |
26 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LaTeXTools.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "windows": {
3 | "texpath" : "",
4 | "distro" : "miktex",
5 | "sumatra": "c:\\Program Files (x86)\\SumatraPDF\\SumatraPDF.exe",
6 | "sublime_executable": "sublime_text.exe",
7 | "keep_focus_delay": 0.5
8 | },
9 | "builder_settings" : {
10 | "options": ["--shell-escape"]
11 | },
12 | "open_pdf_on_build": false,
13 | "keep_focus": false,
14 | "display_bad_boxes": true,
15 | "use_biblatex": true,
16 | "bibliography": "new",
17 | //"output_directory": "c:\\Users\\Fichte\\AppData\\Roaming\\LaTeXTools",
18 | //"aux_directory": "c:\\Users\\Fichte\\AppData\\Roaming\\LaTeXTools"
19 | }
20 |
--------------------------------------------------------------------------------
/fcitx/.config/fcitx/conf/fcitx-classic-ui.config:
--------------------------------------------------------------------------------
1 | [ClassicUI]
2 | # Status Panel Position X
3 | #MainWindowOffsetX=500
4 | # Status Panel Position Y
5 | #MainWindowOffsetY=40
6 | # Font Size
7 | #FontSize=0
8 | # Font
9 | #Font=Sans
10 | # Menu Font
11 | #MenuFont=Sans
12 | # Font Locale to display
13 | #FontLocale=zh_CN.UTF-8
14 | # Use System Tray Icon
15 | # Available Value:
16 | # True False
17 | #UseTray=True
18 | # Status Panel Hide Mode
19 | # Available Value:
20 | # Show
21 | # Auto
22 | # Hide when tray icon is available
23 | # Hide
24 | #MainWindowHideMode=Hide when tray icon is available
25 | # Vertical Candidate Word List
26 | # Available Value:
27 | # True False
28 | #VerticalList=False
29 | # Skin Name
30 | SkinType=dark
31 |
32 |
--------------------------------------------------------------------------------
/tools/tools/trackma2syncplay/example_config.yaml:
--------------------------------------------------------------------------------
1 | # This file is used by the `t2s` script.
2 | # The file MUST be named `config.yaml`.
3 | #
4 | # It MUST hold a mapping of 'identifiers' to a set of show names
5 | # that are treated as regular expressions,
6 | # joined with `|`
7 | # and used as inputs for the `--include` and `--exclude` parameters
8 | # of `trackma2syncplay.py` respectively.
9 | #
10 | # When multiple users share the same show,
11 | # they SHOULD also use identical patterns for them
12 | # for additional show info with other users to be useful.
13 | _never: !!set
14 | ? Attack on Titan
15 |
16 | user1: !!set
17 | ? Death Note
18 |
19 | user2: !!set
20 | ? ^Re:Zero
21 |
22 | user3: !!set
23 | ? ^Re:Zero
24 | ? Death Note
25 |
--------------------------------------------------------------------------------
/zsh/zshrc/colors.zsh:
--------------------------------------------------------------------------------
1 | alias diff='diff --color=auto'
2 | alias grep='grep --color=auto'
3 |
4 | # support colors in less
5 | export LESS_TERMCAP_mb=$'\E[01;31m' # begin bold
6 | export LESS_TERMCAP_md=$'\E[01;31m' # begin blink
7 | export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
8 | export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video
9 | export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
10 | export LESS_TERMCAP_us=$'\E[01;32m' # begin underline
11 | export LESS_TERMCAP_ue=$'\E[0m' # reset underline
12 |
13 | # requires 'source-highlight' package
14 | export LESSOPEN='| /usr/bin/source-highlight-esc.sh %s'
15 | export LESS='-R '
16 |
17 | export COLORTERM="yes" # ???
18 |
19 | # color setup for ls:
20 | eval $(dircolors -b)
21 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/TodoReview.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "patterns": {
3 | "TODO": "\\bTODO(:|\\s)+(?P.*)$",
4 | "TOCHECK": "\\b(TOCHECK|CHECK ?ME)(:|\\s)+(?P.*)$",
5 | "XXX": "\\bXXX(:|\\s)+(?P.*)$",
6 | "TOFIX": "\\b(TOFIX|FIX ?ME)(:|\\s)+(?P.*)$"
7 | },
8 | "patterns_weight": {
9 | "TOFIX": 1,
10 | "TODO": 2,
11 | "TOCHECK": 3,
12 | "XXX": 4
13 | },
14 | "render_header_date": "%A, %Y-%m-%d at %H:%M",
15 | "exclude_folders": [
16 | "*.git*",
17 | "*node_modules*",
18 | "*.venv*",
19 | "htmlcov"
20 | ],
21 | "render_include_folder": true,
22 | "render_folder_depth": "auto",
23 | }
24 |
--------------------------------------------------------------------------------
/alacritty/.config/alacritty/keybindings.toml:
--------------------------------------------------------------------------------
1 | # Documentation:
2 | # - alacritty(5)
3 | # - alacritty-bindings(5)
4 | # - https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
5 |
6 | [[keyboard.bindings]]
7 | key = "Home"
8 | mods = "Control"
9 | action = "ScrollToTop"
10 |
11 | [[keyboard.bindings]]
12 | key = "End"
13 | mods = "Control"
14 | action = "ScrollToBottom"
15 |
16 | [[keyboard.bindings]]
17 | key = "Up"
18 | mods = "Control|Shift"
19 | action = "ScrollLineUp"
20 |
21 | [[keyboard.bindings]]
22 | key = "Down"
23 | mods = "Control|Shift"
24 | action = "ScrollLineDown"
25 |
26 | [[keyboard.bindings]]
27 | key = "T"
28 | mods = "Control|Shift"
29 | action = "SpawnNewInstance"
30 |
31 | [[keyboard.bindings]]
32 | key = "Delete"
33 | mods = "Control"
34 | chars = "\u001B[3;5~"
35 |
--------------------------------------------------------------------------------
/dunst/.config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | # documentation: dunst(5)
2 | # system config: /etc/dunst/dunstrc
3 |
4 | [global]
5 | font = Monospace 10
6 | markup = full
7 | # The format of the message. Possible variables are:
8 | # %a appname
9 | # %s summary
10 | # %b body
11 | # %i iconname (including its path)
12 | # %I iconname (without its path)
13 | # %p progress value if set ([ 0%] to [100%]) or nothing
14 | # %n progress value if set without any extra characters
15 | # Markup is allowed
16 | format = "%s %p (%a)\n%b"
17 | width = 400
18 | idle_threshold = 120
19 | monitor = 1
20 | #follow = keyboard
21 | history_length = 30
22 | dmenu = /usr/bin/rofi -dmenu -p dunst:
23 | mouse_right_click = context
24 | max_icon_size = 64
25 |
--------------------------------------------------------------------------------
/.hooks/pre-push:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # See .git/hooks/pre-push.sample for documentation.
4 |
5 | remote="$1"
6 | url="$2"
7 |
8 | z40=0000000000000000000000000000000000000000
9 |
10 | while read local_ref local_sha remote_ref remote_sha
11 | do
12 | if [[ "$local_ref" == *private* ]]; then
13 | # prevent pushing "private" refs
14 | echo >&2 "$local_ref is a private ref, not pushing"
15 | exit 1
16 | fi
17 |
18 | if [ "$remote_sha" = $z40 ]; then
19 | # New branch, examine all commits
20 | range="$local_sha"
21 | else
22 | # Update to existing branch, examine new commits
23 | range="$remote_sha..$local_sha"
24 | fi
25 |
26 | commit=`git rev-list -n 1 --grep '^!!' "$range"`
27 | if [ -n "$commit" ]; then
28 | echo >&2 "Found local-only commit in $local_ref, not pushing"
29 | exit 1
30 | fi
31 | done
32 |
33 | exit 0
34 |
--------------------------------------------------------------------------------
/bin/bin/share_clip:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | req_url='https://0x0.st/'
4 |
5 | targets=$(xclip -t TARGETS -o)
6 | if { grep image/png -q <<< "$targets" }; then
7 | xclip -o -t image/png | curl -F "file=@-;filename=.png" $req_url | read -r url
8 |
9 | elif { grep UTF8_STRING -q <<< "$targets" }; then
10 | xsel -ob | read -rd '' clip
11 |
12 | if [ -f "$clip" ]; then
13 | echo "Detected path to an existing file; uploading the file's contents instead"
14 | exec share "$clip"
15 | fi
16 |
17 | # set filename with .txt so that x0.at sends a content-type header
18 | curl -F "file=@-;filename=.txt" $req_url <<< "$clip" | read -r url
19 |
20 | else
21 | notify-send -a "share" "Clipboard was empty"
22 | exit 1
23 | fi
24 |
25 | echo -n "$url" | xsel -ib
26 | notify-send -a "share" "Clipboard uploaded" "$url"
27 |
--------------------------------------------------------------------------------
/sublime-merge/.config/sublime-merge/Packages/User/Preferences.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "added_words":
3 | [
4 | "fixup",
5 | "Changelog",
6 | "online",
7 | "plugin",
8 | "plugins",
9 | "namespace",
10 | "intransparent",
11 | "changelog",
12 | ],
13 | "always_show_commit_graph": true,
14 | "diff_style": "auto",
15 | "draw_white_space": "all",
16 | "editor_wait_args": "--wait --new-window",
17 | "font_face": "Atkinson Hyperlegible Mono Regular",
18 | "font_size": 10,
19 | "log_commands": true,
20 | "log_control_tree": false,
21 | "log_input": false,
22 | "remember_workspace": false,
23 | "theme": "Merge Dark.sublime-theme",
24 | "time_format": "24h",
25 | "translate_tabs_to_spaces": true,
26 | "side_bar_layout": "commit_graph_as_column",
27 | "update_check": false,
28 | "display_author_date": true,
29 | "diff_algorithm": "match_git",
30 | }
31 |
--------------------------------------------------------------------------------
/sublime-text/bin/sublp:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # This script is a wrapper for the `subl` command
4 | # that ensures a project file exists for a folder
5 | # and opens that when provided with a folder path.
6 | #
7 | # If no folder is provided,
8 | # it falls back to the current working directory.
9 |
10 | path="${1-.}"
11 | path="$(realpath "$path")"
12 | folder_name="$(basename "$path")"
13 |
14 | if [[ ! -d "$path" ]]; then
15 | echo >/dev/stderr "error: $path is not a folder"
16 | exit 1
17 | fi
18 |
19 | project_path="$path/$folder_name.sublime-project"
20 |
21 | if [[ ! -f "$project_path" ]]; then
22 | cat > "$project_path" << JSON
23 | {
24 | "folders": [
25 | {
26 | "path": ".",
27 | },
28 | ],
29 | }
30 | JSON
31 | fi
32 |
33 | echo "opening $project_path ..."
34 | subl --background --project "$project_path"
35 |
--------------------------------------------------------------------------------
/helix/.config/helix/config.toml:
--------------------------------------------------------------------------------
1 | # https://docs.helix-editor.com/editor.html
2 | [editor]
3 | line-number = "relative"
4 | cursorline = true
5 | bufferline = "multiple"
6 | color-modes = true
7 |
8 | [editor.lsp]
9 | display-inlay-hints = true
10 |
11 | [editor.file-picker]
12 | hidden = false
13 |
14 | [editor.whitespace.render]
15 | # space = "all"
16 | tab = "all"
17 | nbsp = "all"
18 | nnbsp = "all"
19 |
20 | [editor.indent-guides]
21 | render = true
22 | # character = "│" # Examples: "│" "▏", "┆", "┊", "⸽"
23 | skip-levels = 1
24 |
25 | # alacritty supports the Enhanced Keyboard protocol
26 | [keys.normal]
27 | tab = "move_parent_node_end"
28 | S-tab = "move_parent_node_start"
29 | A-minus = "flip_selections"
30 |
31 | [keys.insert]
32 | S-tab = "move_parent_node_start"
33 |
34 | [keys.select]
35 | tab = "extend_parent_node_end"
36 | S-tab = "extend_parent_node_start"
37 |
--------------------------------------------------------------------------------
/mpv/.config/mpv/script-opts/uosc.conf:
--------------------------------------------------------------------------------
1 | # https://github.com/tomasklaen/uosc/blob/main/script-opts/uosc.conf
2 |
3 | # general
4 | opacity=speed=0.25,menu=0.6,curtain=0.6,title=0.4,playlist_position=0.6,thumbnail=0.4,tooltip=0.4
5 | proximity_in=40
6 | proximity_out=100
7 | stream_quality_options=1440,1080,720,480
8 | use_trash=yes
9 | languages=en
10 | menu_type_to_search=no
11 |
12 | speed_step=1.1
13 | speed_step_is_factor=yes
14 |
15 | top_bar=always
16 | top_bar_persistency=audio
17 | top_bar_size=56
18 | top_bar_controls=no
19 | top_bar_alt_title=${?demuxer-via-network==yes:${path}}${?demuxer-via-network==no:${filename}}${!sub-delay==0 ms: | Sub Delay: ${sub-delay}}
20 | top_bar_flash_on=audio,video,image
21 |
22 | timeline_persistency=audio
23 | timeline_style=bar
24 | timeline_step=0
25 |
26 | # Should be enough to read the top bar / file name
27 | flash_duration=2000
28 |
--------------------------------------------------------------------------------
/bin/bin/video-to-gif:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | # parse args
4 | _fps=(--fps 10)
5 | zparseopts -D -E -K -fps:=_fps i:=_input o:=_output
6 | fps=$_fps[2]
7 | input=$_input[2]
8 | output=$_output[2]
9 | params=($@)
10 |
11 | if [[ -z $1 || $1 == --help || $1 == -h || -z "$input" || -z "$output" ]]; then
12 | echo "params:"
13 | echo " --fps n (optional)"
14 | echo " -i input"
15 | echo " -o output"
16 | exit 1
17 | fi
18 |
19 | # calculate delay setting for convert
20 | # -r x => 1/x
21 | # -delay AxB => A/B
22 | # delay=$(( 1000 / $fps ))
23 | # echo "fps: $fps; delay: $delay"
24 |
25 | tmpdir=$(mktemp -d)
26 |
27 | ffmpeg -i "$input" -r $fps $params "$tmpdir/out_%04d.png"
28 | # convert $tmpdir/out_*.png -delay $delay -loop 0 -colors 32 -layers optimize "$output"
29 | convert $tmpdir/out_*.png -colors 32 -delay 1x$fps -loop 0 -layers optimize "$output"
30 | # gifsicle
31 |
32 | rm -r $tmpdir
33 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/relink_resource_file.py:
--------------------------------------------------------------------------------
1 | import re
2 | import os
3 |
4 | import sublime
5 | import sublime_plugin
6 |
7 |
8 | class RelinkResourceFileListener(sublime_plugin.EventListener):
9 |
10 | def on_post_save_async(self, view):
11 | path = view.file_name()
12 | if not path:
13 | return
14 | packages_path = sublime.packages_path()
15 | merge_packages_path = re.sub(r"sublime-text(-3)?", "sublime-merge", packages_path)
16 | # TODO Windows/macOS
17 |
18 | is_resource_file = path.startswith(packages_path) or path.startswith(merge_packages_path)
19 | if is_resource_file and os.path.islink(path):
20 | self._relink(path)
21 |
22 | def _relink(self, path):
23 | link_path = os.readlink(path)
24 | print("relinking", path, link_path)
25 | os.remove(path)
26 | os.symlink(link_path, path)
27 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP-rust-analyzer.sublime-settings:
--------------------------------------------------------------------------------
1 | // Settings in here override those in "LSP-rust-analyzer/LSP-rust-analyzer.sublime-settings"
2 | {
3 | "settings": {
4 | "rust-analyzer.diagnostics.disabled": ["unresolved-proc-macro"],
5 | "rust-analyzer.hover.actions.run.enable": false,
6 | "rust-analyzer.hover.documentation.keywords.enable": false,
7 | "rust-analyzer.inlayHints.parameterHints.enable": true,
8 | "rust-analyzer.inlayHints.typeHints.hideClosureInitialization": true,
9 | "rust-analyzer.lens.debug.enable": false,
10 | "rust-analyzer.lens.run.enable": false,
11 | "rust-analyzer.completion.snippets.custom": {
12 | "println!": {
13 | "postfix": "pln",
14 | "body": "println!(\"${receiver}\");",
15 | "scope": "expr"
16 | },
17 | },
18 | },
19 | }
20 |
--------------------------------------------------------------------------------
/parcellite/.config/parcellite/parcelliterc:
--------------------------------------------------------------------------------
1 | [rc]
2 | RCVersion=1
3 | use_copy=true
4 | use_primary=false
5 | synchronize=false
6 | save_history=true
7 | history_pos=false
8 | history_x=1
9 | history_y=1
10 | history_limit=25
11 | data_size=0
12 | item_size=5
13 | automatic_paste=true
14 | auto_key=true
15 | auto_mouse=false
16 | key_input=false
17 | restore_empty=true
18 | rc_edit=false
19 | type_search=false
20 | case_search=false
21 | ignore_whiteonly=true
22 | trim_wspace_begend=false
23 | trim_newline=false
24 | hyperlinks_only=false
25 | confirm_clear=true
26 | current_on_top=true
27 | single_line=true
28 | reverse_history=false
29 | item_length=50
30 | persistent_history=true
31 | persistent_separate=true
32 | persistent_on_top=false
33 | persistent_delim=\\n
34 | nonprint_disp=true
35 | ellipsize=2
36 | multi_user=true
37 | icon_name=parcellite
38 | menu_key=
39 | history_key=Y
40 | phistory_key=Y
41 | actions_key=A
42 |
--------------------------------------------------------------------------------
/sublime-text/.config/sublime-text/Packages/User/LSP.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "clients": {
3 | "haskell-language-server": {
4 | "enabled": true,
5 | "command": ["haskell-language-server-wrapper", "--lsp"],
6 | "selector": "source.haskell"
7 | },
8 | "helm-ls": {
9 | // Requires https://github.com/mrjosh/helm-ls
10 | // and https://github.com/redhat-developer/yaml-language-server.
11 | "enabled": true,
12 | "command": ["helm_ls", "serve"],
13 | "selector": "source.yaml.go",
14 | },
15 | },
16 | "diagnostics_highlight_style": "box",
17 | "inhibit_snippet_completions": false,
18 | "log_debug": true,
19 | // "log_server": [""],
20 | "refactoring_auto_save": "preserve",
21 | "show_code_actions": "bulb",
22 | "show_diagnostics_count_in_view_status": true,
23 | "show_diagnostics_panel_on_save": 2,
24 | "show_diagnostics_severity_level": 4,
25 | "show_inlay_hints": true,
26 | "diagnostics_panel_include_severity_level": 4,
27 | }
28 |
--------------------------------------------------------------------------------
/termite/.config/termite/config:
--------------------------------------------------------------------------------
1 | [options]
2 | # bitmap fonts are broken
3 | #font = xos4 Terminus 10
4 | #font = Misc Fixed 10
5 | font = Operator Mono 10
6 | font = Monospace 10
7 |
8 | allow_bold = true
9 | mouse_autohide = true
10 | scrollback_lines = 7000
11 |
12 | [colors]
13 | background = #0a0a0a
14 | foreground = #eaeaea
15 | foreground_bold = #ffffff
16 |
17 | # black
18 | color0 = #000000
19 | # bright_black
20 | color8 = #666666
21 | # red
22 | color1 = #d54e53
23 | # bright_red
24 | color9 = #ff3334
25 | # green
26 | color2 = #9ec400
27 | # bright_green
28 | color10 = #b6f430
29 | # yellow
30 | color3 = #e6c547
31 | # bright_yellow
32 | color11 = #e7c547
33 | # blue
34 | color4 = #7aa6da
35 | # bright_blue
36 | color12 = #7aa6da
37 | # magenta
38 | color5 = #c397d8
39 | # bright_magenta
40 | color13 = #b77ee0
41 | # cyan
42 | color6 = #70c0ba
43 | # bright_cyan
44 | color14 = #54ced6
45 | # white
46 | color7 = #ffffff
47 | # bright_white
48 | color15 = #ffffff
49 |
--------------------------------------------------------------------------------
/bin/bin/btrfs-subvolumify:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Turn an existing directory into a btrfs subvolume
4 | # by renaming it temporarily,
5 | # creating the subvolume
6 | # and moving files back over.
7 |
8 | path="$(realpath "${1?path missing}")"
9 | if [ ! -d "$path" ]; then
10 | echo "$path is not a directory!"
11 | exit 1
12 | fi
13 |
14 | echo "Checking if $path is already a btrfs subvolume …"
15 | if sudo btrfs subvolume show "$path" >/dev/null 2>/dev/null; then
16 | echo "$path is already a btrfs subvolume! Nothing to do."
17 | exit
18 | fi
19 |
20 | tmppath="${path}__"
21 | if [ -e "$tmppath" ]; then
22 | echo "Temporary path $tmppath already exists! Aborting …"
23 | exit 2
24 | fi
25 |
26 | mv -v "$path" "$tmppath"
27 |
28 | btrfs subvolume create "$path"
29 |
30 | echo "Moving files into subvolume …"
31 | mv "$tmppath"/* "$path"
32 |
33 | echo "Removing temporary folder recursively …"
34 | find "$tmppath" -type d -empty -print -delete
35 |
36 | echo "Done."
37 |
--------------------------------------------------------------------------------
/xinit/.xinitrc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | userresources=$HOME/.Xresources
4 | usermodmap=$HOME/.Xmodmap
5 | sysresources=/etc/X11/xinit/.Xresources
6 | sysmodmap=/etc/X11/xinit/.Xmodmap
7 |
8 | # merge in defaults and keymaps
9 | if [ -f $sysresources ]; then
10 | xrdb -merge $sysresources
11 | fi
12 |
13 | if [ -f $sysmodmap ]; then
14 | xmodmap $sysmodmap
15 | fi
16 |
17 | if [ -f "$userresources" ]; then
18 | xrdb -merge "$userresources"
19 | fi
20 |
21 | if [ -f "$usermodmap" ]; then
22 | xmodmap "$usermodmap"
23 | fi
24 |
25 | # config fcitx
26 | export GTK_IM_MODULE=fcitx
27 | export QT_IM_MODULE=fcitx
28 | export XMODIFIERS=@im=fcitx
29 |
30 | # Source xprofile
31 | [ -f /etc/xprofile ] && . /etc/xprofile
32 | [ -f ~/.xprofile ] && . ~/.xprofile
33 |
34 | # source xinitrc.d files
35 | if [ -d /etc/X11/xinit/xinitrc.d ] ; then
36 | for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
37 | [ -x "$f" ] && . "$f"
38 | done
39 | unset f
40 | fi
41 |
42 | # finally, start WM
43 | exec i3
44 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FichteFoll's dotfiles
2 |
3 | These are my dotfiles
4 | as I use them on Arch Linux.
5 |
6 | The files are primaritly managed with *stow*,
7 | the GNU software package installation manager.
8 | See [here][stow-guide] for an introduction.
9 |
10 | In short,
11 | clone the repo into your home folder,
12 | cd into it and run `stow pkgnames…`.
13 |
14 | [stow-guide]: http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html
15 |
16 | I have different branches for my machine-specific overrides.
17 |
18 |
19 | ## License
20 |
21 | Unless otherwise noted in the file or parent folder,
22 | all files in this repository are licensed under [CC-0][].
23 |
24 | [][CC-0]
25 |
26 | To the extent possible under law,
27 | FichteFoll has waived all copyright and related or neighboring rights
28 | to FichteFoll's dotfiles.
29 | This work is published from: Germany.
30 |
31 | [CC-0]: https://creativecommons.org/publicdomain/zero/1.0/
32 |
--------------------------------------------------------------------------------
/.misc/FireFox/web-scrobbler.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "search": {
4 | "album": "(.*) - Single"
5 | },
6 | "replace": {
7 | "album": "$1"
8 | }
9 | },
10 | {
11 | "search": {
12 | "album": "(.*) - EP"
13 | },
14 | "replace": {
15 | "album": "$1"
16 | }
17 | },
18 | {
19 | "search": {
20 | "artist": "(.*) - Topic"
21 | },
22 | "replace": {
23 | "artist": "$1"
24 | }
25 | },
26 | {
27 | "search": {
28 | "track": "\\s*\\(?Lyrics? Video\\)?"
29 | },
30 | "replace": {
31 | "track": ""
32 | }
33 | },
34 | {
35 | "search": {
36 | "track": "\\s*- Lyrics"
37 | },
38 | "replace": {
39 | "track": ""
40 | }
41 | },
42 | {
43 | "search": {
44 | "track": "\\s*- HQ"
45 | },
46 | "replace": {
47 | "track": ""
48 | }
49 | },
50 | {
51 | "search": {
52 | "track": "\\s*\\(?Original( Mix)?\\)?"
53 | },
54 | "replace": {
55 | "track": ""
56 | }
57 | }
58 | ]
59 |
--------------------------------------------------------------------------------
/fontconfig/.config/fontconfig/fonts.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | monospace
6 |
7 | DejaVu Sans Mono
8 |
9 |
10 |
11 | sans
12 |
13 | DejaVu Sans
14 |
15 |
16 |
17 | sans-serif
18 |
19 | DejaVu Sans
20 |
21 |
22 |
28 |
29 |
37 |
38 |
--------------------------------------------------------------------------------
/git/.gitignore_global:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 | *.pyc
10 |
11 | # Packages #
12 | ############
13 | # it's better to unpack these files and commit the raw source
14 | # git has its own built in compression methods
15 | *.7z
16 | *.dmg
17 | *.gz
18 | *.iso
19 | *.jar
20 | *.rar
21 | *.tar
22 | *.zip
23 | *.sublime-package
24 |
25 | # Logs and databases #
26 | ######################
27 | *.log
28 | *.sqlite
29 |
30 | # OS generated files #
31 | ######################
32 | .DS_Store
33 | .DS_Store?
34 | ._*
35 | .Spotlight-V100
36 | .Trashes
37 | ehthumbs.db
38 | Thumbs.db
39 |
40 | # Cache directories #
41 | #####################
42 | __pycache__/
43 | .mypy_cache/
44 | .cache/
45 | .ruff_cache/
46 |
47 | # Virtual Environments #
48 | ########################
49 | .venv/
50 | venv/
51 |
52 | # Tool-specific files #
53 | #######################
54 | .idea/
55 | *.iml
56 | *.sublime-project
57 | *.sublime-workspace
58 | .java-version
59 | pyrightconfig.json
60 |
61 | # Environment/Secret files #
62 | ############################
63 | /.env
64 | secrets/
65 |
--------------------------------------------------------------------------------
/bin/bin/ytdl-music:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | cd /data/audio/\!download/ytdl
4 |
5 | # https://regex101.com/r/tb0qw7/1
6 | read -rd '' metadata_regex <.+?) \ +[-/]\ +)?
11 | ((?P