dotfiles

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.margiolis.net/dotfiles.git
Log | Files | Refs | README | LICENSE

commit b863cf334f5313b8e1a920530eebe727af511a8e
Author: Christos Margiolis <christos@margiolis.net>
Date:   Thu,  8 Jul 2021 03:21:22 +0300

initial commit

Diffstat:
A.gitignore | 9+++++++++
ALICENSE | 20++++++++++++++++++++
AREADME | 24++++++++++++++++++++++++
AX/.config/X11/Xresources | 98+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AX/.xinitrc | 2++
AX/.xprofile | 8++++++++
Afreebsd/.login_conf | 8++++++++
Afreebsd/DESKTOP_KERN | 369+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Afreebsd/THINKPAD_KERN | 370+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Afreebsd/doas.conf | 2++
Afreebsd/loader.conf.desktop | 6++++++
Afreebsd/rc.conf.desktop | 16++++++++++++++++
Afreebsd/rc.conf.laptop | 10++++++++++
Amailcap/.mailcap | 1+
Ampd/.config/mpd/mpd.conf | 26++++++++++++++++++++++++++
Ancmpcpp/.config/ncmpcpp/config | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anewsboat/.config/newsboat/config | 42++++++++++++++++++++++++++++++++++++++++++
Anvim/.config/nvim/colors/christos.vim | 114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/.config/nvim/init.vim | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
Ascripts/.local/bin/albumsplit | 38++++++++++++++++++++++++++++++++++++++
Ascripts/.local/bin/batnfy | 10++++++++++
Ascripts/.local/bin/bmr | 9+++++++++
Ascripts/.local/bin/chsnd | 7+++++++
Ascripts/.local/bin/dash2undscr | 5+++++
Ascripts/.local/bin/extr | 38++++++++++++++++++++++++++++++++++++++
Ascripts/.local/bin/fontupd | 11+++++++++++
Ascripts/.local/bin/irssi_torconf | 13+++++++++++++
Ascripts/.local/bin/mdpdf | 3+++
Ascripts/.local/bin/newsboat_bookmark | 3+++
Ascripts/.local/bin/screencast | 8++++++++
Ascripts/.local/bin/se | 3+++
Ascripts/.local/bin/setscreens | 2++
Ascripts/.local/bin/sysact | 11+++++++++++
Ascripts/.local/bin/tag | 64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ascripts/.local/bin/texpdf | 5+++++
Ascripts/.local/bin/unix | 26++++++++++++++++++++++++++
Ascripts/.local/bin/upd | 34++++++++++++++++++++++++++++++++++
Ascripts/.local/bin/vdq | 18++++++++++++++++++
Ascripts/.local/bin/vds | 14++++++++++++++
Ascripts/.local/bin/walset | 6++++++
Ascripts/.local/bin/wttr | 3+++
Ash/.profile | 34++++++++++++++++++++++++++++++++++
Ash/.shrc | 12++++++++++++
Asxiv/.config/sxiv/exec/key-handler | 20++++++++++++++++++++
Axbindkeys/.xbindkeysrc.scm | 3+++
Azathura/.config/zathura/zathurarc | 13+++++++++++++
46 files changed, 1646 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,9 @@ +aliasrc/ +irssi/ +mbsync/ +mpd/.config/mpd/* +!mpd/.config/mpd/mpd.conf +mutt/ +ncmpcpp/.config/ncmpcpp/* +!ncmpcpp/.config/ncmpcpp/config +newsboat/.config/newsboat/urls diff --git a/LICENSE b/LICENSE @@ -0,0 +1,20 @@ +MIT License + +(c) 2019-Present Christos Margiolis <christos@christosmarg.xyz> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the “Software”), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README b/README @@ -0,0 +1,24 @@ +Christos' dotfiles +================== + +Dependencies +------------ +- stow +- the programs each config directory needs + +Deployment +---------- + $ cd ~ + $ git clone git://git.christosmarg.xyz/dotfiles.git + $ cd dotfiles + $ stow dir... + +where `dir...` the directories to be deployed. + +The following directories contain system specific configurations +and should be deployed using + +Note +---- +On FreeBSD, all the files in `freebsd` need to be copied, +not symlinked with or without stow. diff --git a/X/.config/X11/Xresources b/X/.config/X11/Xresources @@ -0,0 +1,98 @@ +*.alpha: 0.95 + +!! Set a default font and font size as below: +!*.font: monospace:size=14 + +!*.background: #2c2c2c +!*.foreground: #99b7d5 + +!name dark light +!black 0 8 +!red 1 9 +!green 2 10 +!yellow 3 11 +!blue 4 12 +!purple 5 13 +!cyan 6 14 +!white 7 15 + +!! xterm +*.color0: #000000 +*.color1: #cd0000 +*.color2: #00cd00 +*.color3: #cdcd00 +*.color4: #0000cd +*.color5: #cd00cd +*.color6: #00cdcd +*.color7: #e5e5e5 +*.color8: #4d4d4d +*.color9: #ff0000 +*.color10: #00ff00 +*.color11: #ffff00 +*.color12: #0000ff +*.color13: #ff00ff +*.color14: #00ffff +*.color15: #aabac8 +*.background: #000000 + +!! gruvbox: +!*.color0: #1d2021 +!*.color1: #cc241d +!*.color2: #98971a +!*.color3: #d79921 +!*.color4: #458588 +!*.color5: #b16286 +!*.color6: #689d6a +!*.color7: #a89984 +!*.color8: #928374 +!*.color9: #fb4934 +!*.color10: #b8bb26 +!*.color11: #fabd2f +!*.color12: #83a598 +!*.color13: #d3869b +!*.color14: #8ec07c +!*.color15: #ebdbb2 +!*.color256: #1d2021 +!*.color257: #ebdbb2 + +! base16 +!*.color0: #181818 +!*.color1: #ab4642 +!*.color2: #a1b56c +!*.color3: #f7ca88 +!*.color4: #7cafc2 +!*.color5: #ba8baf +!*.color6: #86c1b9 +!*.color7: #d8d8d8 +!*.color8: #585858 +!*.color9: #ab4642 +!*.color10: #a1b56c +!*.color11: #f7ca88 +!*.color12: #7cafc2 +!*.color13: #ba8baf +!*.color14: #86c1b9 +!*.color15: #f8f8f8 + +! Dracula */ +!*.foreground: #F8F8F2 +!*.background: #282A36 +!*.color0: #000000 +!*.color8: #4D4D4D +!*.color1: #FF5555 +!*.color9: #FF6E67 +!*.color2: #50FA7B +!*.color10: #5AF78E +!*.color3: #F1FA8C +!*.color11: #F4F99D +!*.color4: #BD93F9 +!*.color12: #CAA9FA +!*.color5: #FF79C6 +!*.color13: #FF92D0 +!*.color6: #8BE9FD +!*.color14: #9AEDFE +!*.color7: #BFBFBF +!*.color15: #E6E6E6 + +!*.background: .color0 +!*.color256: #1d2021 +!*.color257: #ebdbb2 diff --git a/X/.xinitrc b/X/.xinitrc @@ -0,0 +1,2 @@ +test -f ~/.xprofile && . ~/.xprofile +exec dwm diff --git a/X/.xprofile b/X/.xprofile @@ -0,0 +1,8 @@ +#!/bin/sh + +xset r rate 300 50 & +slstatus & +setxkbmap -layout 'ca(multix),ee,ru(phonetic),gr' -option 'grp:shift_caps_toggle' & +musicpd & +chsnd uaudio +setscreens & diff --git a/freebsd/.login_conf b/freebsd/.login_conf @@ -0,0 +1,8 @@ +# $FreeBSD: releng/12.1/share/skel/dot.login_conf 77995 2001-06-10 17:08:53Z ache $ +# +# see login.conf(5) +# +me:\ + :charset=UTF-8:\ + :lang=en_US.UTF-8:\ + :setenv=LC_COLLATE=C: diff --git a/freebsd/DESKTOP_KERN b/freebsd/DESKTOP_KERN @@ -0,0 +1,369 @@ +# +# GENERIC -- Generic kernel configuration file for FreeBSD/amd64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD: releng/12.2/sys/amd64/conf/GENERIC 365733 2020-09-14 22:42:17Z erj $ + +cpu HAMMER +ident DESKTOP_KERN + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support + +options SCHED_ULE # ULE scheduler +options NUMA # Non-Uniform Memory Architecture support +options PREEMPTION # Enable kernel thread preemption +options VIMAGE # Subsystem virtualization, e.g. VNET +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options IPSEC # IP (v4/v6) security +options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options TCP_OFFLOAD # TCP offload +options TCP_BLACKBOX # Enhanced TCP event logging +options TCP_HHOOK # hhook(9) framework for TCP +options TCP_RFC7413 # TCP Fast Open +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +#options UFS_ACL # Support for access control lists +#options UFS_DIRHASH # Improve performance on big directories +#options UFS_GJOURNAL # Enable gjournal-based UFS journaling +#options QUOTA # Enable disk quotas for UFS +options MD_ROOT # MD is a potential root device +#options NFSCL # Network Filesystem Client +#options NFSD # Network Filesystem Server +#options NFSLOCKD # Network Lock Manager +#options NFS_ROOT # NFS usable as /, requires NFSCL +#options MSDOSFS # MSDOS Filesystem +#options CD9660 # ISO 9660 Filesystem +#options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +#options GEOM_RAID # Soft RAID functionality. +#options GEOM_LABEL # Provides labelization +#options EFIRT # EFI Runtime Services support +options COMPAT_FREEBSD32 # Compatible with i386 binaries +#options COMPAT_FREEBSD4 # Compatible with FreeBSD4 +#options COMPAT_FREEBSD5 # Compatible with FreeBSD5 +#options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +#options COMPAT_FREEBSD7 # Compatible with FreeBSD7 +options COMPAT_FREEBSD9 # Compatible with FreeBSD9 +options COMPAT_FREEBSD10 # Compatible with FreeBSD10 +options COMPAT_FREEBSD11 # Compatible with FreeBSD11 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options STACK # stack(9) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options AUDIT # Security event auditing +options CAPABILITY_MODE # Capsicum capability mode +options CAPABILITIES # Capsicum capabilities +options MAC # TrustedBSD MAC Framework +options KDTRACE_FRAME # Ensure frames are compiled in +options KDTRACE_HOOKS # Kernel DTrace hooks +options DDB_CTF # Kernel ELF linker loads CTF data +options INCLUDE_CONFIG_FILE # Include this file in kernel +options RACCT # Resource accounting framework +options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default +options RCTL # Resource limits + +# Debugging support. Always need this: +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. + +# Kernel dump features. +options EKCD # Support for encrypted kernel dumps +options GZIO # gzip-compressed kernel and user dumps +options ZSTDIO # zstd-compressed kernel and user dumps +options NETDUMP # netdump(4) client support + +# Make an SMP-capable kernel by default +options SMP # Symmetric MultiProcessor Kernel +options EARLY_AP_STARTUP + +# CPU frequency control +device cpufreq + +# Bus support. +device acpi +options ACPI_DMAR +device pci +options PCI_HP # PCI-Express native HotPlug +options PCI_IOV # PCI SR-IOV support + +# Floppy drives +#device fdc + +# ATA controllers +device ahci # AHCI-compatible SATA controllers +device ata # Legacy ATA/SATA controllers +#device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA +#device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA + +# SCSI Controllers +#device ahc # AHA2940 and onboard AIC7xxx devices +#device ahd # AHA39320/29320 and onboard AIC79xx devices +#device esp # AMD Am53C974 (Tekram DC-390(T)) +#device hptiop # Highpoint RocketRaid 3xxx series +#device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module +#device mpt # LSI-Logic MPT-Fusion +#device mps # LSI-Logic MPT-Fusion 2 +#device mpr # LSI-Logic MPT-Fusion 3 +#device ncr # NCR/Symbios Logic +#device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') +#device trm # Tekram DC395U/UW/F DC315U adapters +#device isci # Intel C600 SAS controller +#device ocs_fc # Emulex FC adapters + +# ATA/SCSI peripherals +device scbus # SCSI bus (required for ATA/SCSI) +device ch # SCSI media changers +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct ATA/SCSI access) +device ses # Enclosure Services (SES and SAF-TE) +#device ctl # CAM Target Layer + +# RAID controllers interfaced to the SCSI subsystem +#device amr # AMI MegaRAID +#device arcmsr # Areca SATA II RAID +#device ciss # Compaq Smart RAID 5* +#device dpt # DPT Smartcache III, IV - See NOTES for options +#device hptmv # Highpoint RocketRAID 182x +#device hptnr # Highpoint DC7280, R750 +#device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx +#device hpt27xx # Highpoint RocketRAID 27xx +#device iir # Intel Integrated RAID +#device ips # IBM (Adaptec) ServeRAID +#device mly # Mylex AcceleRAID/eXtremeRAID +#device twa # 3ware 9000 series PATA/SATA RAID +#device smartpqi # Microsemi smartpqi driver +#device tws # LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller + +# RAID controllers +#device aac # Adaptec FSA RAID +#device aacp # SCSI passthrough for aac (requires CAM) +#device aacraid # Adaptec by PMC RAID +#device ida # Compaq Smart RAID +#device mfi # LSI MegaRAID SAS +#device mlx # Mylex DAC960 family +#device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s +#device pmspcv # PMC-Sierra SAS/SATA Controller driver +#XXX pointer/int warnings +#device pst # Promise Supertrak SX6000 +#device twe # 3ware ATA RAID + +# NVM Express (NVMe) support +#device nvme # base NVMe driver +#device nvd # expose NVMe namespaces as disks, depends on nvme + +# atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc # AT keyboard controller +device atkbd # AT keyboard +device psm # PS/2 mouse + +device kbdmux # keyboard multiplexer + +device vga # VGA video card driver +options VESA # Add support for VESA BIOS Extensions (VBE) + +#device splash # Splash screen and screen saver support + +# syscons is the default console driver, resembling an SCO console +device sc +options SC_PIXEL_MODE # add support for the raster text mode + +# vt is the new video console driver +device vt +device vt_vga +device vt_efifb + +device agp # support several AGP chipsets + +# PCCARD (PCMCIA) support +# PCMCIA and cardbus bridge support +#device cbb # cardbus (yenta) bridge +#device pccard # PC Card (16-bit) bus +#device cardbus # CardBus (32-bit) bus + +# Serial (COM) ports +device uart # Generic UART driver + +# Parallel port +#device ppc +#device ppbus # Parallel port bus (required) +#device lpt # Printer +#device ppi # Parallel port interface device +#device vpo # Requires scbus and da + +#device puc # Multi I/O cards and multi-channel UARTs + +# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure +#device iflib +#device em # Intel PRO/1000 Gigabit Ethernet Family +#device ix # Intel PRO/10GbE PCIE PF Ethernet +#device ixv # Intel PRO/10GbE PCIE VF Ethernet +#device ixl # Intel 700 Series Physical Function +#device iavf # Intel Adaptive Virtual Function +#device ice # Intel 800 Series Physical Function +#device vmx # VMware VMXNET3 Ethernet + +# PCI Ethernet NICs. +#device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE +#device de # DEC/Intel DC21x4x (``Tulip'') +#device le # AMD Am7900 LANCE and Am79C9xx PCnet +#device ti # Alteon Networks Tigon I/II gigabit Ethernet +#device txp # 3Com 3cR990 (``Typhoon'') +#device vx # 3Com 3c590, 3c595 (``Vortex'') + +# PCI Ethernet NICs that use the common MII bus controller code. +# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! +device miibus # MII bus support +#device ae # Attansic/Atheros L2 FastEthernet +#device age # Attansic/Atheros L1 Gigabit Ethernet +#device alc # Atheros AR8131/AR8132 Ethernet +#device ale # Atheros AR8121/AR8113/AR8114 Ethernet +#device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet +#device bfe # Broadcom BCM440x 10/100 Ethernet +#device bge # Broadcom BCM570xx Gigabit Ethernet +#device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn +#device dc # DEC/Intel 21143 and various workalikes +#device et # Agere ET1310 10/100/Gigabit Ethernet +#device fxp # Intel EtherExpress PRO/100B (82557, 82558) +#device gem # Sun GEM/Sun ERI/Apple GMAC +#device hme # Sun HME (Happy Meal Ethernet) +#device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet +#device lge # Level 1 LXT1001 gigabit Ethernet +#device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +#device nfe # nVidia nForce MCP on-board Ethernet +#device nge # NatSemi DP83820 gigabit Ethernet +#device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') +device re # RealTek 8139C+/8169/8169S/8110S +#device rl # RealTek 8129/8139 +#device sf # Adaptec AIC-6915 (``Starfire'') +#device sge # Silicon Integrated Systems SiS190/191 +#device sis # Silicon Integrated Systems SiS 900/SiS 7016 +#device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet +#device ste # Sundance ST201 (D-Link DFE-550TX) +#device stge # Sundance/Tamarack TC9021 gigabit Ethernet +#device tl # Texas Instruments ThunderLAN +#device tx # SMC EtherPower II (83c170 ``EPIC'') +#device vge # VIA VT612x gigabit Ethernet +#device vr # VIA Rhine, Rhine II +#device wb # Winbond W89C840F +#device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') + +# Wireless NIC cards +device wlan # 802.11 support +options IEEE80211_DEBUG # enable debug msgs +options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's +options IEEE80211_SUPPORT_MESH # enable 802.11s draft support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # AMRR transmit rate control algorithm +#device an # Aironet 4500/4800 802.11 wireless NICs. +#device ath # Atheros NICs +#device ath_pci # Atheros pci/cardbus glue +#device ath_hal # pci/cardbus chip support +#options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +#options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation +#options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later +#device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +#device ipw # Intel 2100 wireless NICs. +#device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +#device iwn # Intel 4965/1000/5000/6000 wireless NICs. +#device malo # Marvell Libertas wireless NICs. +#device mwl # Marvell 88W8363 802.11n wireless NICs. +#device ral # Ralink Technology RT2500 wireless NICs. +#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device wpi # Intel 3945ABG wireless NICs. + +# Pseudo devices. +device crypto # core crypto support +device loop # Network loopback +device random # Entropy device +device padlock_rng # VIA Padlock RNG +device rdrand_rng # Intel Bull Mountain RNG +device ether # Ethernet support +device vlan # 802.1Q VLAN support +device tuntap # Packet tunnel. +device md # Memory "disks" +#device gif # IPv6 and IPv4 tunneling +device firmware # firmware assist module + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# USB support +options USB_DEBUG # enable debug msgs +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +device ehci # EHCI PCI->USB interface (USB 2.0) +device xhci # XHCI PCI->USB interface (USB 3.0) +device usb # USB Bus (required) +device ukbd # Keyboard +device umass # Disks/Mass storage - Requires scbus and da + +# Sound support +device sound # Generic sound driver (required) +#device snd_cmi # CMedia CMI8338/CMI8738 +#device snd_csa # Crystal Semiconductor CS461x/428x +#device snd_emu10kx # Creative SoundBlaster Live! and Audigy +#device snd_es137x # Ensoniq AudioPCI ES137x +#device snd_hda # Intel High Definition Audio +#device snd_ich # Intel, NVidia and other ICH AC'97 Audio +#device snd_via8233 # VIA VT8233x Audio + +# MMC/SD +#device mmc # MMC/SD bus +#device mmcsd # MMC/SD memory card +#device sdhci # Generic PCI SD Host Controller + +# VirtIO support +device virtio # Generic VirtIO bus (required) +#device virtio_pci # VirtIO PCI device +#device vtnet # VirtIO Ethernet device +#device virtio_blk # VirtIO Block device +#device virtio_scsi # VirtIO SCSI device +#device virtio_balloon # VirtIO Memory Balloon device + +# HyperV drivers and enhancement support +#device hyperv # HyperV drivers + +# Xen HVM Guest Optimizations +# NOTE: XENHVM depends on xenpci. They must be added or removed together. +#options XENHVM # Xen HVM kernel infrastructure +#device xenpci # Xen HVM Hypervisor services driver + +# Netmap provides direct access to TX/RX rings on supported NICs +device netmap # netmap(4) support + +# evdev interface +options EVDEV_SUPPORT # evdev support in legacy drivers +device evdev # input event device support +device uinput # install /dev/uinput cdev diff --git a/freebsd/THINKPAD_KERN b/freebsd/THINKPAD_KERN @@ -0,0 +1,370 @@ +# +# GENERIC -- Generic kernel configuration file for FreeBSD/amd64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +cpu HAMMER +ident THINKPAD_KERNEL + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support + +options SCHED_ULE # ULE scheduler +options NUMA # Non-Uniform Memory Architecture support +options PREEMPTION # Enable kernel thread preemption +options VIMAGE # Subsystem virtualization, e.g. VNET +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options TCP_OFFLOAD # TCP offload +options TCP_BLACKBOX # Enhanced TCP event logging +options TCP_HHOOK # hhook(9) framework for TCP +options TCP_RFC7413 # TCP Fast Open +options SCTP_SUPPORT # Allow kldload of SCTP +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options MD_ROOT # MD is a potential root device +#options NFSCL # Network Filesystem Client +#options NFSD # Network Filesystem Server +#options NFSLOCKD # Network Lock Manager +#options NFS_ROOT # NFS usable as /, requires NFSCL +#options MSDOSFS # MSDOS Filesystem +#options CD9660 # ISO 9660 Filesystem +#options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +#options TMPFS # Efficient memory filesystem +#options GEOM_RAID # Soft RAID functionality. +#options GEOM_LABEL # Provides labelization +#options EFIRT # EFI Runtime Services support +options COMPAT_FREEBSD32 # Compatible with i386 binaries +#options COMPAT_FREEBSD4 # Compatible with FreeBSD4 +#options COMPAT_FREEBSD5 # Compatible with FreeBSD5 +#options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +#options COMPAT_FREEBSD7 # Compatible with FreeBSD7 +options COMPAT_FREEBSD9 # Compatible with FreeBSD9 +options COMPAT_FREEBSD10 # Compatible with FreeBSD10 +options COMPAT_FREEBSD11 # Compatible with FreeBSD11 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options STACK # stack(9) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options AUDIT # Security event auditing +options CAPABILITY_MODE # Capsicum capability mode +options CAPABILITIES # Capsicum capabilities +options MAC # TrustedBSD MAC Framework +options KDTRACE_FRAME # Ensure frames are compiled in +options KDTRACE_HOOKS # Kernel DTrace hooks +options DDB_CTF # Kernel ELF linker loads CTF data +options INCLUDE_CONFIG_FILE # Include this file in kernel +options RACCT # Resource accounting framework +options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default +options RCTL # Resource limits + +# Debugging support. Always need this: +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. + +# Kernel dump features. +options EKCD # Support for encrypted kernel dumps +options GZIO # gzip-compressed kernel and user dumps +options ZSTDIO # zstd-compressed kernel and user dumps +options NETDUMP # netdump(4) client support + +# Make an SMP-capable kernel by default +options SMP # Symmetric MultiProcessor Kernel +options EARLY_AP_STARTUP + +# CPU frequency control +device cpufreq + +# Bus support. +device acpi +options ACPI_DMAR +device pci +options PCI_HP # PCI-Express native HotPlug +options PCI_IOV # PCI SR-IOV support + +# Floppy drives +#device fdc + +# ATA controllers +device ahci # AHCI-compatible SATA controllers +device ata # Legacy ATA/SATA controllers +#device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA +#device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA + +# SCSI Controllers +#device ahc # AHA2940 and onboard AIC7xxx devices +#device ahd # AHA39320/29320 and onboard AIC79xx devices +#device esp # AMD Am53C974 (Tekram DC-390(T)) +#device hptiop # Highpoint RocketRaid 3xxx series +#device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module +#device mpt # LSI-Logic MPT-Fusion +#device mps # LSI-Logic MPT-Fusion 2 +#device mpr # LSI-Logic MPT-Fusion 3 +#device ncr # NCR/Symbios Logic +#device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') +#device trm # Tekram DC395U/UW/F DC315U adapters +#device isci # Intel C600 SAS controller +#device ocs_fc # Emulex FC adapters + +# ATA/SCSI peripherals +device scbus # SCSI bus (required for ATA/SCSI) +device ch # SCSI media changers +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct ATA/SCSI access) +device ses # Enclosure Services (SES and SAF-TE) +#device ctl # CAM Target Layer + +# RAID controllers interfaced to the SCSI subsystem +#device amr # AMI MegaRAID +#device arcmsr # Areca SATA II RAID +#device ciss # Compaq Smart RAID 5* +#device dpt # DPT Smartcache III, IV - See NOTES for options +#device hptmv # Highpoint RocketRAID 182x +#device hptnr # Highpoint DC7280, R750 +#device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx +#device hpt27xx # Highpoint RocketRAID 27xx +#device iir # Intel Integrated RAID +#device ips # IBM (Adaptec) ServeRAID +#device mly # Mylex AcceleRAID/eXtremeRAID +#device twa # 3ware 9000 series PATA/SATA RAID +#device smartpqi # Microsemi smartpqi driver +#device tws # LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller + +# RAID controllers +#device aac # Adaptec FSA RAID +#device aacp # SCSI passthrough for aac (requires CAM) +#device aacraid # Adaptec by PMC RAID +#device ida # Compaq Smart RAID +#device mfi # LSI MegaRAID SAS +#device mlx # Mylex DAC960 family +#device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s +#device pmspcv # PMC-Sierra SAS/SATA Controller driver +#XXX pointer/int warnings +#device pst # Promise Supertrak SX6000 +#device twe # 3ware ATA RAID + +# NVM Express (NVMe) support +device nvme # base NVMe driver +device nvd # expose NVMe namespaces as disks, depends on nvme + +# atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc # AT keyboard controller +device atkbd # AT keyboard +device psm # PS/2 mouse + +device kbdmux # keyboard multiplexer + +device vga # VGA video card driver +options VESA # Add support for VESA BIOS Extensions (VBE) + +#device splash # Splash screen and screen saver support + +# syscons is the default console driver, resembling an SCO console +device sc +options SC_PIXEL_MODE # add support for the raster text mode + +# vt is the new video console driver +device vt +device vt_vga +device vt_efifb + +device agp # support several AGP chipsets + +# PCCARD (PCMCIA) support +# PCMCIA and cardbus bridge support +#device cbb # cardbus (yenta) bridge +#device pccard # PC Card (16-bit) bus +#device cardbus # CardBus (32-bit) bus + +# Serial (COM) ports +device uart # Generic UART driver + +# Parallel port +#device ppc +#device ppbus # Parallel port bus (required) +#device lpt # Printer +#device ppi # Parallel port interface device +#device vpo # Requires scbus and da + +#device puc # Multi I/O cards and multi-channel UARTs + +# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure +#device iflib +#device em # Intel PRO/1000 Gigabit Ethernet Family +#device ix # Intel PRO/10GbE PCIE PF Ethernet +#device ixv # Intel PRO/10GbE PCIE VF Ethernet +#device ixl # Intel 700 Series Physical Function +#device iavf # Intel Adaptive Virtual Function +#device ice # Intel 800 Series Physical Function +#device vmx # VMware VMXNET3 Ethernet + +# PCI Ethernet NICs. +#device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE +#device de # DEC/Intel DC21x4x (``Tulip'') +#device le # AMD Am7900 LANCE and Am79C9xx PCnet +#device ti # Alteon Networks Tigon I/II gigabit Ethernet +#device txp # 3Com 3cR990 (``Typhoon'') +#device vx # 3Com 3c590, 3c595 (``Vortex'') + +# PCI Ethernet NICs that use the common MII bus controller code. +# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! +device miibus # MII bus support +#device ae # Attansic/Atheros L2 FastEthernet +#device age # Attansic/Atheros L1 Gigabit Ethernet +#device alc # Atheros AR8131/AR8132 Ethernet +#device ale # Atheros AR8121/AR8113/AR8114 Ethernet +#device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet +#device bfe # Broadcom BCM440x 10/100 Ethernet +#device bge # Broadcom BCM570xx Gigabit Ethernet +#device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn +#device dc # DEC/Intel 21143 and various workalikes +#device et # Agere ET1310 10/100/Gigabit Ethernet +#device fxp # Intel EtherExpress PRO/100B (82557, 82558) +#device gem # Sun GEM/Sun ERI/Apple GMAC +#device hme # Sun HME (Happy Meal Ethernet) +#device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet +#device lge # Level 1 LXT1001 gigabit Ethernet +#device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +#device nfe # nVidia nForce MCP on-board Ethernet +#device nge # NatSemi DP83820 gigabit Ethernet +#device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') +device re # RealTek 8139C+/8169/8169S/8110S +#device rl # RealTek 8129/8139 +#device sf # Adaptec AIC-6915 (``Starfire'') +#device sge # Silicon Integrated Systems SiS190/191 +#device sis # Silicon Integrated Systems SiS 900/SiS 7016 +#device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet +#device ste # Sundance ST201 (D-Link DFE-550TX) +#device stge # Sundance/Tamarack TC9021 gigabit Ethernet +#device tl # Texas Instruments ThunderLAN +#device tx # SMC EtherPower II (83c170 ``EPIC'') +#device vge # VIA VT612x gigabit Ethernet +#device vr # VIA Rhine, Rhine II +#device wb # Winbond W89C840F +#device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') + +# Wireless NIC cards +device wlan # 802.11 support +options IEEE80211_DEBUG # enable debug msgs +options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's +options IEEE80211_SUPPORT_MESH # enable 802.11s draft support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # AMRR transmit rate control algorithm +#device an # Aironet 4500/4800 802.11 wireless NICs. +#device ath # Atheros NICs +#device ath_pci # Atheros pci/cardbus glue +#device ath_hal # pci/cardbus chip support +#options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +#options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation +#options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later +#device ath_rate_sample # SampleRate tx rate control for ath +#device bwi # Broadcom BCM430x/BCM431x wireless NICs. +#device bwn # Broadcom BCM43xx wireless NICs. +#device ipw # Intel 2100 wireless NICs. +#device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. +device iwn # Intel 4965/1000/5000/6000 wireless NICs. +#device malo # Marvell Libertas wireless NICs. +#device mwl # Marvell 88W8363 802.11n wireless NICs. +#device ral # Ralink Technology RT2500 wireless NICs. +#device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device wpi # Intel 3945ABG wireless NICs. + +# Pseudo devices. +device crypto # core crypto support +device loop # Network loopback +device random # Entropy device +device padlock_rng # VIA Padlock RNG +device rdrand_rng # Intel Bull Mountain RNG +device ether # Ethernet support +#device vlan # 802.1Q VLAN support +#device tuntap # Packet tunnel. +device md # Memory "disks" +#device gif # IPv6 and IPv4 tunneling +device firmware # firmware assist module + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# USB support +options USB_DEBUG # enable debug msgs +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +device ehci # EHCI PCI->USB interface (USB 2.0) +device xhci # XHCI PCI->USB interface (USB 3.0) +device usb # USB Bus (required) +device ukbd # Keyboard +device umass # Disks/Mass storage - Requires scbus and da + +# Sound support +device sound # Generic sound driver (required) +#device snd_cmi # CMedia CMI8338/CMI8738 +#device snd_csa # Crystal Semiconductor CS461x/428x +#device snd_emu10kx # Creative SoundBlaster Live! and Audigy +#device snd_es137x # Ensoniq AudioPCI ES137x +#device snd_hda # Intel High Definition Audio +#device snd_ich # Intel, NVidia and other ICH AC'97 Audio +#device snd_via8233 # VIA VT8233x Audio +#device snd_uadio # USB Audio + +# MMC/SD +#device mmc # MMC/SD bus +#device mmcsd # MMC/SD memory card +#device sdhci # Generic PCI SD Host Controller + +# VirtIO support +#device virtio # Generic VirtIO bus (required) +#device virtio_pci # VirtIO PCI device +#device vtnet # VirtIO Ethernet device +#device virtio_blk # VirtIO Block device +#device virtio_scsi # VirtIO SCSI device +#device virtio_balloon # VirtIO Memory Balloon device + +# HyperV drivers and enhancement support +#device hyperv # HyperV drivers + +# Xen HVM Guest Optimizations +# NOTE: XENHVM depends on xenpci. They must be added or removed together. +#options XENHVM # Xen HVM kernel infrastructure +#device xenpci # Xen HVM Hypervisor services driver + +# Netmap provides direct access to TX/RX rings on supported NICs +device netmap # netmap(4) support + +# evdev interface +options EVDEV_SUPPORT # evdev support in legacy drivers +device evdev # input event device support +device uinput # install /dev/uinput cdev diff --git a/freebsd/doas.conf b/freebsd/doas.conf @@ -0,0 +1,2 @@ +#permit persist keepenv :wheel +permit nopass keepenv :wheel diff --git a/freebsd/loader.conf.desktop b/freebsd/loader.conf.desktop @@ -0,0 +1,6 @@ +kern.vty="YES" +zfs_load="YES" +nvidia_name="nvidia" +nvidia_modeset_load="YES" +nvidia_modeset_name="nvidia-modeset" +vmm_load="YES" diff --git a/freebsd/rc.conf.desktop b/freebsd/rc.conf.desktop @@ -0,0 +1,16 @@ +hostname="pleb" +keymap="us.kbd" +ifconfig_re0="DHCP" +sshd_enable="YES" +dumpdev="AUTO" +zfs_enable="YES" +kld_list="linux nvidia nvidia modeset fuse sound snd_hda snd_ich snd_uadio" +sndiod_enable="YES" +tor_enable="NO" + +# bhyve shit +if_bridge_load="YES" +if_tap_load="YES" +cloned_interfaces="bridge0 tap0" +ifconfig_bridge0="DHCP addm re0 addm tap0" +ifconfig_bridge0_alias0="inet 10.0.0.1/24" diff --git a/freebsd/rc.conf.laptop b/freebsd/rc.conf.laptop @@ -0,0 +1,10 @@ +hostname="knob" +wlans_iwm0="wlan0" +ifconfig_wlan0="WPA DHCP" +#ifconfig_wlan0_ipv6="inet6 accept_rtadv" +sshd_enable="YES" +# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable +dumpdev="AUTO" +kld_list="cuse snd_hda /boot/modules/i915kms.ko" +webcamd_enable="YES" +tor_enable="YES" diff --git a/mailcap/.mailcap b/mailcap/.mailcap @@ -0,0 +1 @@ +text/html; w3m -dump -T text/html %s | less diff --git a/mpd/.config/mpd/mpd.conf b/mpd/.config/mpd/mpd.conf @@ -0,0 +1,26 @@ +db_file "~/.config/mpd/database" +log_file "~/.config/mpd/log" +music_directory "~/.config/mpd/music" +playlist_directory "~/.config/mpd/playlists" +pid_file "~/.config/mpd/pid" +state_file "~/.config/mpd/state" +sticker_file "~/.config/mpd/sticker.sql" + +auto_update "yes" +bind_to_address "127.0.0.1" +restore_paused "yes" +max_output_buffer_size "16384" + +audio_output { + type "oss" + name "oss" + mixer_type "software" + mixer_device "/dev/mixer" +} + +audio_output { + type "fifo" + name "toggle_visualizer" + path "/tmp/mpd.fifo" + format "44100:16:2" +} diff --git a/ncmpcpp/.config/ncmpcpp/config b/ncmpcpp/.config/ncmpcpp/config @@ -0,0 +1,56 @@ +ncmpcpp_directory="~/.config/ncmpcpp" + +mpd_music_dir = "~/.config/mpd/music" +mpd_crossfade_time = "2" +mpd_port = "6600" + +# Visualizer +visualizer_fifo_path = "/tmp/mpd.fifo" +visualizer_output_name = "fifo" +visualizer_sync_interval= "30" +visualizer_in_stereo = yes +visualizer_look = "xx" + +# Playlist +song_columns_list_format = "(6f)[blue]{l} (25)[red]{a} (40)[green]{t|f} (30)[yellow]{b}" +now_playing_prefix = "$b$5»$7»$1» " +now_playing_suffix = "$/b" +playlist_display_mode = "columns" (classic/columns) +autocenter_mode = "yes" +centered_cursor = "yes" + +# Bars +song_status_format = "$2%a $1• $3%t $1• $4%b {(Disc %d) }$1• $5%y$1" +progressbar_look = "─╼·" +titles_visibility = "no" + +# Browser +browser_playlist_prefix = "$2plist »$9 " +browser_display_mode = "columns" (classic/columns) + +# Colors +discard_colors_if_item_is_selected = "yes" +header_window_color = "white" +volume_color = "cyan" +state_line_color = "green" +state_flags_color = "yellow" +main_window_color = "white" +color1 = "default" +color2 = "green" +#main_window_highlight_color = "red" +current_item_prefix = "$(red)$r" +current_item_suffix = "$/r$(end)" +progressbar_color = "yellow" +statusbar_color = "white" +#active_column_color = "red" +current_item_inactive_column_prefix = "$(red)$r" +current_item_inactive_column_suffix = "$/r$(end)" + +lyrics_fetchers = genius + +# Others +song_window_title_format = "{%a - }{%t}{ [%b{ Disc %d}]}" +search_engine_display_mode = "columns" (classic/columns) +follow_now_playing_lyrics = "yes" +allow_for_physical_item_deletion = "yes" +#display_screens_numbers_on_start = "no" diff --git a/newsboat/.config/newsboat/config b/newsboat/.config/newsboat/config @@ -0,0 +1,42 @@ +#show-read-feeds no +auto-reload yes +# add to playlist file +bookmark-cmd newsboat_bookmark + +bind-key j down +bind-key k up +bind-key j next articlelist +bind-key k prev articlelist +bind-key J next-feed articlelist +bind-key K prev-feed articlelist +bind-key G end +bind-key g home +bind-key d pagedown +bind-key u pageup +bind-key l open +bind-key h quit +bind-key a toggle-article-read +bind-key n next-unread +bind-key N prev-unread +bind-key D pb-download +bind-key U show-urls +bind-key x pb-delete + +macro , open-in-browser +# stream locally +macro v set browser "setsid -f mpv %u"; open-in-browser +# open in browser +macro w set browser "firefox %u"; open-in-browser + +highlight all "---.*---" yellow +highlight feedlist ".*(0/0))" black +highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold +highlight article "(^Link:.*|^Date:.*)" default default +highlight article "https?://[^ ]+" green default +highlight article "^(Title):.*$" blue default +highlight article "\\[[0-9][0-9]*\\]" magenta default bold +highlight article "\\[image\\ [0-9]+\\]" green default bold +highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold +highlight article ":.*\\(link\\)$" cyan default +highlight article ":.*\\(image\\)$" blue default +highlight article ":.*\\(embedded flash\\)$" magenta default diff --git a/nvim/.config/nvim/colors/christos.vim b/nvim/.config/nvim/colors/christos.vim @@ -0,0 +1,114 @@ +hi clear + +if exists("syntax on") +syntax reset +endif + +set t_Co=256 +let g:colors_name = "christos" + +" Define reusable color variables. +let s:bg="#0e2a2e" +let s:fg="#d9c177" + +let s:bg2=s:bg +let s:bg3=s:bg +let s:bg4=s:fg + +let s:fg2=s:fg +let s:fg3=s:bg +let s:fg4=s:bg + +let s:visbg="#1d27e0" +let s:match="#EF8F8F" + +let s:keyword="#cffff3" +let s:builtin="#9cffe5" +let s:const= "#45ffce" +let s:comment="#11cc11" +let s:func="#fade8a" +let s:str="#6cd4d4" +let s:type="#9af781" +let s:var="#fade8a" +let s:warning="#00e2ff" +let s:warning2="#ff8800" + +exe 'hi Visual guibg='s:visbg +exe 'hi Normal guifg='s:fg' guibg='s:bg +exe 'hi Cursor guifg='s:bg' guibg='s:fg +exe 'hi CursorLine guibg='s:bg2 +exe 'hi CursorLineNr guifg='s:str' guibg='s:bg +exe 'hi CursorColumn guibg='s:bg +exe 'hi ColorColumn guibg='s:bg2 +exe 'hi LineNr guifg='s:fg2' guibg='s:bg2 +exe 'hi VertSplit guifg='s:fg' guibg='s:bg3 +exe 'hi MatchParen guifg='s:fg +exe 'hi StatusLine guifg='s:bg' guibg='s:fg' gui=bold' +exe 'hi Pmenu guifg='s:fg' guibg='s:bg +exe 'hi PmenuSel guifg='s:bg' guibg='s:fg +exe 'hi IncSearch guifg='s:bg' guibg='s:keyword +exe 'hi Search gui=underline guibg='s:match +exe 'hi Directory guifg='s:const +exe 'hi Folded guifg='s:fg4' guibg='s:bg +exe 'hi WildMenu guifg='s:str' guibg='s:bg + +exe 'hi Boolean guifg='s:const +exe 'hi Character guifg='s:const +exe 'hi Comment guifg='s:comment +exe 'hi Conditional guifg='s:keyword +exe 'hi Constant guifg='s:const +exe 'hi Todo guibg='s:comment +exe 'hi Define guifg='s:keyword +exe 'hi DiffAdd guifg=#fafafa guibg=#123d0f gui=bold' +exe 'hi DiffDelete guibg='s:bg2 +exe 'hi DiffChange guibg=#151b3c guifg=#fafafa' +exe 'hi DiffText guifg=#ffffff guibg=#ff0000 gui=bold' +exe 'hi ErrorMsg guifg='s:warning' guibg='s:bg2' gui=bold' +exe 'hi WarningMsg guifg='s:str +exe 'hi Float guifg='s:const +exe 'hi Function guifg='s:func +exe 'hi Identifier guifg='s:type +exe 'hi Keyword guifg='s:keyword +exe 'hi Label guifg='s:var +exe 'hi NonText guifg='s:bg4' guibg='s:bg2 +exe 'hi Number guifg='s:const +exe 'hi Operater guifg='s:keyword +exe 'hi PreProc guifg='s:type +exe 'hi Special guifg='s:fg +exe 'hi SpecialKey guifg='s:fg2' guibg='s:bg2 +exe 'hi Statement guifg='s:keyword +exe 'hi StorageClass guifg='s:keyword +exe 'hi String guifg='s:str +exe 'hi Structure guifg='s:keyword +exe 'hi Tag guifg='s:keyword +exe 'hi Title guifg='s:fg +exe 'hi Todo guifg='s:fg2' gui=inverse,bold' +exe 'hi Type guifg='s:type +exe 'hi Underlined gui=underline' +exe 'hi Macro guifg='s:keyword + +" Neovim Terminal Mode +let g:terminal_color_0 = s:bg +let g:terminal_color_1 = s:warning +let g:terminal_color_2 = s:keyword +let g:terminal_color_3 = s:bg4 +let g:terminal_color_4 = s:func +let g:terminal_color_5 = s:builtin +let g:terminal_color_6 = s:fg3 +let g:terminal_color_7 = s:str +let g:terminal_color_8 = s:bg2 +let g:terminal_color_9 = s:warning2 +let g:terminal_color_10 = s:fg2 +let g:terminal_color_11 = s:var +let g:terminal_color_12 = s:type +let g:terminal_color_13 = s:const +let g:terminal_color_14 = s:fg4 +let g:terminal_color_15 = s:comment + +" HTML Highlighting +exe 'hi htmlLink guifg='s:var' gui=underline' +exe 'hi htmlStatement guifg='s:keyword +exe 'hi htmlSpecialTagName guifg='s:keyword + +" Markdown Highlighting +exe 'hi mkdCode guifg='s:builtin diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim @@ -0,0 +1,52 @@ +syntax on +set number! +set tabstop=8 shiftwidth=8 noexpandtab +set softtabstop=8 +set noautoindent +set guicursor=n-v-c-i:block-Cursor +set termguicolors +set background=dark +set t_Co=256 +"hi! Normal ctermbg=NONE guibg=NONE +colorscheme christos + +nmap <C-n> :NERDTreeToggle<CR> +vmap ++ <plug>NERDCommenterToggle +nmap ++ <plug>NERDCommenterToggle +noremap <Space><Space> <Esc>/<++><CR><Esc>ca> + +"HTML +autocmd FileType html noremap ;h1 i<h1></h1><Enter><Enter><++><Esc>2ka +autocmd FileType html noremap ;h2 i<h2></h2><Enter><Enter><++><Esc>2ka +autocmd FileType html noremap ;h3 i<h3></h3><Enter><Enter><++><Esc>2ka +autocmd FileType html noremap ;i i<i></i><Space><++><Esc>4ba +autocmd FileType html noremap ;b i<b></b><Space><++><Esc>4ba +autocmd FileType html noremap ;a i<a href=""><++></a><Space><++><Esc>4bla +autocmd FileType html noremap ;ul i<ul><Enter></ul><Enter><Enter><++><Esc>2kO +autocmd FileType html noremap ;li i<li></li><Enter><++><Esc>ka +autocmd FileType html noremap ;pp i<p></p><Enter><Enter><++><Esc>2kha +autocmd FileType html noremap ;pc i<pre><Enter><Enter></pre><Enter><Enter><++><Esc>3k0 + +"Tex +autocmd FileType *tex noremap ;i i\textit{}<Space><++><Esc>2ba +autocmd FileType *tex noremap ;b i\textbf{}<Space><++><Esc>2ba +autocmd FileType *tex noremap ;s i\section{}<Enter><Enter><++><Esc>2k$i +autocmd FileType *tex noremap ;ss i\subsection{}<Enter><Enter><++><Esc>2k$i +autocmd FileType *tex noremap ;sss i\subsubsection{}<Enter><Enter><++><Esc>2k$i +autocmd FileType *tex noremap ;c i\begin{center}<Enter><Enter>\end{center}<Enter><Enter><++><Esc>3ki +autocmd FileType *tex noremap ;t i\begin{tabular}{}<Enter><++><Enter>\end{tabular}<Enter><Enter><++><Esc>4k$i +autocmd FileType *tex noremap ;f i\begin{figure}[]<Enter><Enter>\end{figure}<Enter><Enter><++><Esc>4k$i +autocmd FileType *tex noremap ;wf i\begin{wrapfigure}[]<Enter><++><Enter>\end{wrapfigure}<Enter><Enter><++><Esc>4k$i +autocmd FileType *tex noremap ;ig i\includegraphics[]{<++>}<Space><++><Esc>2ba +autocmd FileType *tex noremap ;up i\usepackage{}<Enter><++><Esc>k$i + +set nocompatible " be iMproved, required +filetype off " required +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() +Plugin 'VundleVim/Vundle.vim' +Plugin 'preservim/nerdtree' +Plugin 'scrooloose/nerdcommenter' +Plugin 'ap/vim-css-color' +call vundle#end() " required +filetype plugin indent on " required diff --git a/scripts/.local/bin/albumsplit b/scripts/.local/bin/albumsplit @@ -0,0 +1,38 @@ +#!/bin/sh + +# Requires ffmpeg (audio splitting) and my `tag` wrapper script. +[ ! -f "$2" ] && printf "The first file should be the audio, the second should be the timecodes.\\n" && exit +echo "Enter the album/book title:"; read -r albumtitle +echo "Enter the artist/author:"; read -r author +echo "Enter the publication year:"; read -r year + +inputaudio="$1" + +# Get a safe file name from the book. +escbook="$(echo "$albumtitle" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")" +mkdir -p "$escbook" || echo "Do you have write access in this directory?" && exit 1 + +# As long as the extension is in the tag script, it'll work. +ext="mp3" +#ext="${1#*.}" + +# Get the total number of tracks from the number of lines. +total="$(wc -l < "$2")" +while read -r x; do + end="$(echo "$x" | cut -d' ' -f1)" + [ -n "$start" ] && + echo "From $start to $end; $track $title" + file="$escbook/$(printf "%.2d" "$track")-$esctitle.$ext" + [ -n "$start" ] && echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -to "$end" -vn "$file" && + echo "Tagging \"$title\"..." && tag -a "$author" -A "$albumtitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file" + title="$(echo "$x" | cut -d' ' -f 2-)" + esctitle="$(echo "$title" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")" + track="$((track+1))" + start="$end" +done < "$2" + +# The last track must be done outside the loop. +echo "From $start to the end: $title" +file="$escbook/$(printf "%.2d" "$track")-$esctitle.$ext" +echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -vn "$file" && + echo "Tagging \"$title\"..." && tag -a "$author" -A "$albumtitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file" diff --git a/scripts/.local/bin/batnfy b/scripts/.local/bin/batnfy @@ -0,0 +1,10 @@ +#!/bin/sh + +export DISPLAY=":0.0" # cron cannot open the display without this. +perc=$(sysctl -n hw.acpi.battery.life) +charg=$(sysctl -n hw.acpi.battery.state) +if [ ${perc} -le 10 ] && [ ${charg} -ne 2 ]; then + nfy "Low battery" +elif [ ${perc} -ge 99 ] && [ ${charg} -eq 2 ]; then + nfy "Battery fully charged" +fi diff --git a/scripts/.local/bin/bmr b/scripts/.local/bin/bmr @@ -0,0 +1,9 @@ +#!/bin/sh + +# TODO: edit, delete, add +foo="${HOME}/shit/bmr" +while [ -d ${foo} ]; do + cd ${foo} + foo=$(ls | dmenu -l 30) +done +cat ${foo} | expand -t8 | dmenu -l 30 | awk '{print $NF}' | xargs ${BROWSER} diff --git a/scripts/.local/bin/chsnd b/scripts/.local/bin/chsnd @@ -0,0 +1,7 @@ +#!/bin/sh + +case $1 in + uaudio) sysctl hw.snd.default_unit=8 ;; + pcm) sysctl hw.snd.default_unit=0 ;; + *) echo "${0##*/} {uaudio | pcm}" +esac diff --git a/scripts/.local/bin/dash2undscr b/scripts/.local/bin/dash2undscr @@ -0,0 +1,5 @@ +#!/bin/sh + +for file in $(find .); do + mv ${file} $(echo ${file} | tr '-' '_') +done diff --git a/scripts/.local/bin/extr b/scripts/.local/bin/extr @@ -0,0 +1,38 @@ +#!/bin/sh + +while getopts "hc" o; do case "${o}" in + c) extracthere="True" ;; + *) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit ;; +esac done + +if [ -z "$extracthere" ]; then + archive="$(readlink -f "$*")" && + directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" && + mkdir -p "$directory" && + cd "$directory" || exit +else + archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)")" +fi + +[ -z "$archive" ] && printf "Give archive to extract as argument.\\n" && exit + +if [ -f "$archive" ] ; then + case "$archive" in + *.tar.bz2|*.tbz2) tar xvjf "$archive" ;; + *.tar.xz) tar -xf "$archive" ;; + *.tar.gz|*.tgz) tar xvzf "$archive" ;; + *.lzma) unlzma "$archive" ;; + *.bz2) bunzip2 "$archive" ;; + *.rar) unrar x -ad "$archive" ;; + *.gz) gunzip "$archive" ;; + *.tar) tar xvf "$archive" ;; + *.zip) unzip "$archive" ;; + *.Z) uncompress "$archive" ;; + *.7z) 7z x "$archive" ;; + *.xz) unxz "$archive" ;; + *.exe) cabextract "$archive" ;; + *) printf "extract: '%s' - unknown archive method\\n" "$archive" ;; + esac +else + printf "File \"%s\" not found.\\n" "$archive" +fi diff --git a/scripts/.local/bin/fontupd b/scripts/.local/bin/fontupd @@ -0,0 +1,11 @@ +#!/bin/sh + +dir=${HOME}/.fonts + +mkdir -p ${dir} +chmod 755 ${dir} +cd ${dir} +chmod 644 * +mkfontdir +xset fp+ ${dir} +xset fp rehash diff --git a/scripts/.local/bin/irssi_torconf b/scripts/.local/bin/irssi_torconf @@ -0,0 +1,13 @@ +#!/bin/sh + +echo "mapaddress 10.40.40.40 ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion" >> /usr/local/etc/tor/torrc +service tor restart +mkdir -p ~/.irssi/certs && cd ~/.irssi/certs +openssl req -x509 -sha256 -new -newkey rsa:4096 -days 1000 -nodes -out freenode.pem -keyout freenode.pem +printf "/msg NickServ CERT ADD " +openssl x509 -in ~/.irssi/certs/freenode.pem -outform der | sha1 | cut -d' ' -f1 +echo "/network add -sasl_username crm -sasl_password crmsasl -sasl_mechanism EXTERNAL FreenodeTor" +echo "/server add -ssl -ssl_cert ~/.irssi/certs/freenode.pem -net FreenodeTor 10.40.40.40 6697" +echo "/ignore * CTCPS" +echo "/save" +echo "/quit" diff --git a/scripts/.local/bin/mdpdf b/scripts/.local/bin/mdpdf @@ -0,0 +1,3 @@ +#!/bin/sh + +pandoc $1.md --pdf-engine=xelatex -V mainfont=Arial -o $1.pdf diff --git a/scripts/.local/bin/newsboat_bookmark b/scripts/.local/bin/newsboat_bookmark @@ -0,0 +1,3 @@ +#!/bin/sh + +printf "%s\t%s\n" "$1" "$2" | expand -t8 >> "${HOME}/shit/playlist" diff --git a/scripts/.local/bin/screencast b/scripts/.local/bin/screencast @@ -0,0 +1,8 @@ +#!/bin/sh + +ffmpeg -y \ + -f x11grab \ + -s $(xrandr | grep "connected primary" | awk '{print $4}' | sed 's/+0+0//') \ + -i :0.0 \ + -c:v libx264 -r 30 -c:a mp3 ${1} + #-f oss -i default \ diff --git a/scripts/.local/bin/se b/scripts/.local/bin/se @@ -0,0 +1,3 @@ +#!/bin/sh + +du -a ~/.local/bin/* | awk '{print $2}' | fzf | xargs -r $EDITOR diff --git a/scripts/.local/bin/setscreens b/scripts/.local/bin/setscreens @@ -0,0 +1,2 @@ +#!/bin/sh +xrandr --output DVI-I-0 --mode 1280x1024 --pos 1920x56 --rotate normal --output HDMI-0 --off --output DVI-D-0 --primary --mode 1920x1080 --pos 0x0 --rotate normal diff --git a/scripts/.local/bin/sysact b/scripts/.local/bin/sysact @@ -0,0 +1,11 @@ +#!/bin/sh + +cmds="\ +lock slock +leave_dwm kill -TERM $(pidof -s dwm) +renew_dwm kill -HUP $(pidof -s dwm) +reboot ${reb:-doas reboot} +shutdown ${shut:-doas shutdown -p now}" + +choice="$(echo "$cmds" | cut -d ' ' -f 1 | dmenu)" || exit 1 +`echo "$cmds" | grep "^$choice" | cut -d ' ' -f2-` diff --git a/scripts/.local/bin/tag b/scripts/.local/bin/tag @@ -0,0 +1,64 @@ +#!/bin/sh + +err() { echo "Usage: + tag [OPTIONS] file +Options: + -a: artist/author + -t: song/chapter title + -A: album/book title + -n: track/chapter number + -N: total number of tracks/chapters + -d: year of publication + -g: genre + -c: comment +You will be prompted for title, artist, album and track if not given." && exit 1 ;} + +while getopts "a:t:A:n:N:d:g:c:f:" o; do case "${o}" in + a) artist="${OPTARG}" ;; + t) title="${OPTARG}" ;; + A) album="${OPTARG}" ;; + n) track="${OPTARG}" ;; + N) total="${OPTARG}" ;; + d) date="${OPTARG}" ;; + g) genre="${OPTARG}" ;; + c) comment="${OPTARG}" ;; + f) file="${OPTARG}" ;; + *) printf "Invalid option: -%s\\n" "$OPTARG" && err ;; +esac done + +shift $((OPTIND - 1)) + +file="$1" + +[ ! -f "$file" ] && echo "Provide file to tag." && err +[ -z "$title" ] && echo "Enter a title." && read -r title +[ -z "$artist" ] && echo "Enter an artist." && read -r artist +[ -z "$album" ] && echo "Enter an album." && read -r album +[ -z "$track" ] && echo "Enter a track number." && read -r track + +case "$file" in + *.mp3) echo "Title=$title +Artist=$artist +Album=$album +Track=$track +Total=$total +Date=$date +Genre=$genre +Comment=$comment + *.mp3) echo "Title=$title +Artist=$artist +Album=$album +Track=$track +Total=$total +Date=$date +Genre=$genre +Comment=$comment ;; + *.mp3) eyeD3 -Q --remove-all \ + -a "$artist" \ + -A "$album" \ + -t "$title" \ + -n "$track" \ + -N "$total" \ + -Y "$date" "$file" ;; + *) echo "File type not implemented yet." ;; +esac diff --git a/scripts/.local/bin/texpdf b/scripts/.local/bin/texpdf @@ -0,0 +1,5 @@ +#!/bin/sh + +# TODO: add bib option +#pdflatex $1.tex && biber $1 && pdflatex $1.tex -o $1.pdf +pdflatex $1.tex diff --git a/scripts/.local/bin/unix b/scripts/.local/bin/unix @@ -0,0 +1,26 @@ +#!/bin/sh + +#original artwork by http://www.sanderfocus.nl/#/portfolio/tech-heroes +#converted to shell by #nixers @ irc.unix.chat + +cat << 'eof' + ,_ ,_==▄▂ + , ▂▃▄▄▅▅▅▂▅¾. / / + ▄▆<´ "»▓▓▓%\ / / / / + ,▅7" ´>▓▓▓% / / > / >/% + ▐¶▓ ,»▓▓¾´ /> %/%// / / + ▓▃▅▅▅▃,,▄▅▅▅Æ\// ///>// />/ / + V║«¼.;→ ║<«.,`=// />//%/% / / + //╠<´ -²,)(▓~"-╝/¾/ %/>/ /> + / / / ▐% -./▄▃▄▅▐, /7//;//% / / + / ////`▌▐ %zWv xX▓▇▌//&;% / / + / / / %//%/¾½´▌▃▄▄▄▄▃▃▐¶\/& / + </ /</%//`▓!%▓%╣[38;5;255;╣WY<Y)y&/`\ + / / %/%//</%//\i7; ╠N>)VY>7; \_ UNIX IS VERY SIMPLE IT JUST NEEDS A + / /</ //<///<_/%\▓ V%W%£)XY _/%‾\_, GENIUS TO UNDERSTAND ITS SIMPLICITY + / / //%/_,=--^/%/%%\¾%¶%%} /%%%%%%;\, + %/< /_/ %%%%%;X%%\%%;, _/%%%;, \ + / / %%%%%%;, \%%l%%;// _/%;, dmr + / %%%;, <;\-=-/ / + ;, l +eof diff --git a/scripts/.local/bin/upd b/scripts/.local/bin/upd @@ -0,0 +1,34 @@ +#!/bin/sh + +# FIXME: trim random symbols +case $1 in + www) src="${HOME}/src/margiolis.net/" + dst="master@margiolis.net:/var/www/htdocs/margiolis.net" + ;; + ftp) src="${2}" + dst="master@margiolis.net:/var/www/htdocs/ftp.margiolis.net/${3}" + ;; + vps) src="${2}" + dst="master@margiolis.net:${3}" + ;; + lap) src="${2}" + dst="knob:${3}" + ;; + desk) src="${2}" + dst="pleb:${3}" + ;; + old) src="${2}" + dst="old:${3}" + ;; + foo) src="${2}" + dst="foo:${3}" + ;; + # add disk, storage, all + *) echo "usage: ${0##*/} {www | ftp | vps | lap | desk | old | foo} src dst" 1>&2 && exit 1 ;; +esac +test -z "${src}" && echo "${0##*/}: src is empty" 1>&2 && exit 1 +test -z "${dst}" && echo "${0##*/}: dest is empty" 1>&2 && exit 1 + +# add directory error check +read -erp "${0##*/}: transfer '${src}' to '${dst}' (y/N)? " act +test "${act}" = "y" && rsync -Purv --delete-after "${src}" "${dst}" diff --git a/scripts/.local/bin/vdq b/scripts/.local/bin/vdq @@ -0,0 +1,18 @@ +#!/bin/sh + +QUEUE="${HOME}/shit/queue" +while getopts a:dfv arg; do +case "${arg}" in + a) echo "${OPTARG}" >> ${QUEUE} + exit 0 ;; + d) rm ${QUEUE} + exit 0 ;; + f) echo ${QUEUE} + exit 0 ;; + v) cat ${QUEUE} | dmenu -l 30 + exit 0 ;; + *) echo "usage: ${0##*/} [-dfv] [-a url]" 1>&2 + exit 1 ;; +esac +done +cat ${QUEUE} | awk '{print $1}' | xargs mpv diff --git a/scripts/.local/bin/vds b/scripts/.local/bin/vds @@ -0,0 +1,14 @@ +#!/bin/sh + +PLAYLIST="${HOME}/shit/playlist" +QUEUE="$(vdq -f)" +while getopts p:q arg; do +case "${arg}" in + p) PLAYLIST="${OPTARG}" ;; + q) vdq -a "$(cat ${PLAYLIST} | dmenu -l 30)" + exit 0 ;; + *) echo "usage: ${0##*/} [-q] [-p playlist]" 1>&2 + exit 1 ;; +esac +done +cat ${PLAYLIST} | dmenu -l 30 | awk '{print $1}' | xargs mpv diff --git a/scripts/.local/bin/walset b/scripts/.local/bin/walset @@ -0,0 +1,6 @@ +#!/bin/sh + +bgloc="$HOME/.local/share/bg" +[ -f "$1" ] && ln -sf "$(readlink -f "$1")" "$bgloc" && + nfy "$bgloc" "Changing wallpaper..." +xwallpaper --zoom "$(readlink -f "$bgloc")" >/dev/null diff --git a/scripts/.local/bin/wttr b/scripts/.local/bin/wttr @@ -0,0 +1,3 @@ +#!/bin/sh + +curl https://wttr.in/Athens+Greece | less -R diff --git a/sh/.profile b/sh/.profile @@ -0,0 +1,34 @@ +# $FreeBSD: releng/12.1/share/skel/dot.profile 337497 2018-08-08 19:24:20Z asomers $ +# +# .profile - Bourne Shell startup script for login shells +# +# see also sh(1), environ(7). +# + +# These are normally set through /etc/login.conf. You may override them here +# if wanted. +# PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$HOME/bin; export PATH +# BLOCKSIZE=K; export BLOCKSIZE +export PATH="$PATH:$(du "$HOME/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" + +# Setting TERM is normally done through /etc/ttys. Do only override +# if you're sure that you'll never log in via telnet or xterm or a +# serial line. +# TERM=xterm; export TERM +export EDITOR="nvim" +export TERMINAL="st" +export BROWSER="firefox" +export READER="zathura" +export FILE="sfm" +export PAGER="less" + +export FZF_DEFAULT_OPTS="--layout=reverse --height 40%" + +# set ENV to a file invoked each time sh is started for interactive use. +export ENV="$HOME/.shrc" + +# Query terminal size; useful for serial lines. +if [ -x /usr/bin/resizewin ] ; then /usr/bin/resizewin -z ; fi + +# Display a random cookie on each login. +if [ -x /usr/bin/fortune ] ; then /usr/bin/fortune freebsd-tips ; fi diff --git a/sh/.shrc b/sh/.shrc @@ -0,0 +1,12 @@ +# .shrc - bourne shell startup file + +# go into visual mode. +set -o vi +. .config/aliasrc + +# set prompt +PS1="`whoami`@`hostname | sed 's/\..*//'`" +case `id -u` in + 0) PS1="${PS1}# ";; + *) PS1="${PS1}$ ";; +esac diff --git a/sxiv/.config/sxiv/exec/key-handler b/sxiv/.config/sxiv/exec/key-handler @@ -0,0 +1,20 @@ +#!/bin/sh +while read file +do + case "$1" in + "w") walset "$file" & ;; + "c") [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" + [ -z "$destdir" ] && exit + cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." & ;; + "m") [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" + [ -z "$destdir" ] && exit + mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." & ;; + "r") convert -rotate 90 "$file" "$file" ;; + "R") convert -rotate -90 "$file" "$file" ;; + "f") convert -flop "$file" "$file" ;; + "y") echo -n "$file" | xclip -selection clipboard && notify-send "$file copied to clipboard" & ;; + "Y") readlink -f "$file" | xclip -selection clipboard && notify-send "$(readlink -f "$file") copied to clipboard" & ;; + "d") [ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;; + "g") ifinstalled gimp && gimp "$file" & ;; + esac +done diff --git a/xbindkeys/.xbindkeysrc.scm b/xbindkeys/.xbindkeysrc.scm @@ -0,0 +1,3 @@ +(xbindkey '("XF86AudioMute") "mixer_prog vol.mute=^") +(xbindkey '("XF86AudioRaiseVolume") "mixer_prog vol.volume=+0.1") +(xbindkey '("XF86AudioLowerVolume") "mixer_prog vol.volume=-0.1") diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc @@ -0,0 +1,13 @@ +set statusbar-h-padding 0 +set statusbar-v-padding 0 +set page-padding 1 +map u scroll half-up +map d scroll half-down +map D toggle_page_mode +map r reload +map R rotate +map + zoom in +map - zoom out +map i recolor +map p print +set selection-clipboard clipboard