Update 2022-12-04 23:38 OpenBSD/amd64

This commit is contained in:
c0dev0id 2022-12-04 23:38:14 +01:00
parent 090aa5276f
commit b0cd2fe369
6 changed files with 657 additions and 0 deletions

287
.config/luakit/rc.lua Normal file
View File

@ -0,0 +1,287 @@
-----------------------------------------------------------------------
-- luakit configuration file, more information at http://luakit.org/ --
-----------------------------------------------------------------------
require "lfs"
local unique_instance = require "unique_instance"
unique_instance.open_links_in_new_window = true
-- Set the number of web processes to use. A value of 0 means 'no limit'.
luakit.process_limit = 8
-- Load library of useful functions for luakit
local lousy = require "lousy"
-- Cookie acceptance policy
soup.accept_policy = "always" -- always, never, no_third_party
-- Cookie storage location
soup.cookies_storage = luakit.data_dir .. "/cookies.db"
-- Load users theme
lousy.theme.init(lousy.util.find_config("theme.lua"))
assert(lousy.theme.get(), "failed to load theme")
-- Load users window class
local window = require "window"
-- Load users webview class
local webview = require "webview"
-- Add luakit://log/ chrome page
local log_chrome = require "log_chrome"
window.add_signal("build", function (w)
local widgets, l, r = require "lousy.widget", w.sbar.l, w.sbar.r
-- Left-aligned status bar widgets
l.layout:pack(widgets.zoom())
l.layout:pack(widgets.uri())
l.layout:pack(widgets.hist())
l.layout:pack(widgets.progress())
-- Right-aligned status bar widgets
r.layout:pack(widgets.buf())
r.layout:pack(log_chrome.widget())
r.layout:pack(widgets.ssl())
r.layout:pack(widgets.tabi())
r.layout:pack(widgets.scroll())
end)
-- Load luakit binds and modes
local modes = require "modes"
local binds = require "binds"
-- Settings (the commented ones do not [yet] work)
local settings = require "settings"
local settings_chrome = require "settings_chrome"
settings.window.home_page = "luakit://newtab"
settings.window.scroll_step = 20
settings.window.zoom_step = 0.2
settings.webview.zoom_level = 150
settings.window.close_with_last_tab = true
-- search engines
settings.window.search_engines.duckduckgo = "https://duckduckgo.com/?q=%s"
settings.window.search_engines.default = settings.window.search_engines.duckduckgo
----------------------------------
-- Optional user script loading --
----------------------------------
-- Add adblock
-- local adblock = require "adblock"
-- local adblock_chrome = require "adblock_chrome"
-- Enable Developer Tools
local webinspector = require "webinspector"
-- Add uzbl-like form filling
-- local formfiller = require "formfiller"
-- formfiller.extend({
-- pass = function(s) return io.popen("pass " .. s):read() end
-- })
-- Add proxy support & manager
local proxy = require "proxy"
-- Add quickmarks support & manager
-- local quickmarks = require "quickmarks"
-- Add session saving/loading support
-- local session = require "session"
-- Enable Gopher protocol support
local gopher = require "gopher"
-- Delete website data
local clear_data = require "clear_data"
-- Add command to list closed tabs & bind to open closed tabs
local undoclose = require "undoclose"
-- Add command to list tab history items
local tabhistory = require "tabhistory"
-- Add greasemonkey-like javascript userscript support
local userscripts = require "userscripts"
-- Add bookmarks support
local bookmarks = require "bookmarks"
local bookmarks_chrome = require "bookmarks_chrome"
-- Add download support
local downloads = require "downloads"
local downloads_chrome = require "downloads_chrome"
downloads.default_dir = os.getenv("HOME") .. "/Downloads"
-- Add automatic PDF downloading and opening
local viewpdf = require "viewpdf"
-- Add vimperator-like link hinting & following
local follow = require "follow"
-- Add command history
local cmdhist = require "cmdhist"
-- Add search mode & binds
local search = require "search"
-- Add ordering of new tabs
local taborder = require "taborder"
-- Save web history
local history = require "history"
local history_chrome = require "history_chrome"
-- :help pages
local help_chrome = require "help_chrome"
local binds_chrome = require "binds_chrome"
-- Add command completion
local completion = require "completion"
-- Press Control-E while in insert mode to edit the contents of the currently
-- focused <textarea> or <input> element, using `xdg-open`
local open_editor = require "open_editor"
local editor = require "editor"
editor.editor_cmd = "hterm vim {file}"
-- NoScript plugin, toggle scripts and or plugins on a per-domain basis.
-- `,ts` to toggle scripts, `,tp` to toggle plugins, `,tr` to reset.
-- If you use this module, don't use any site-specific `enable_scripts` or
-- `enable_plugins` settings, as these will conflict.
require "noscript"
local follow_selected = require "follow_selected"
local go_input = require "go_input"
local go_next_prev = require "go_next_prev"
local go_up = require "go_up"
-- Filter Referer HTTP header if page domain does not match Referer domain
require_web_module("referer_control_wm")
local error_page = require "error_page"
-- Add userstyles loader
local styles = require "styles"
follow.stylesheet = follow.stylesheet .. [===[
#luakit_select_overlay .hint_label {
background-color: #f8f8f8;
border: 1px solid #f00;
padding: 1px;
color: #181818;
font-size: 18px;
opacity: 1;
}
]===]
-- Hide scrollbars on all pages
-- local hide_scrollbars = require "hide_scrollbars"
-- local vertical_tabs = require "vertical_tabs"
-- Add a stylesheet when showing images
local image_css = require "image_css"
-- Add a new tab page
local newtab_chrome = require "newtab_chrome"
newtab_chrome.new_tab_src = [==[
<html>
<head><title>New Tab</title></head>
<body bgcolor=black></body>
</html>
]==]
-- Add tab favicons mod
-- local tab_favicons = require "tab_favicons"
-- local tab = require("lousy.widget.tab")
-- tab.label_format = ""
-- Add :view-source command
local view_source = require "view_source"
-- Use "asdfqwerzxcv" for generating labels
local select = require "select"
select.label_maker = function (s)
return s.trim(s.sort(s.reverse(s.charset("qwertzuiopasfghjklyxcvbnm"))))
end
follow.pattern_maker = follow.pattern_styles.match_label
-- social media enhancer
local webview = require "webview"
webview.add_signal('init', function (view)
view:add_signal('navigation-request', function(v, uri)
if v.uri:match('https://www.reddit.com') then
v.uri = v.uri:gsub('%www.reddit.com', 'libreddit.kylrth.com')
return true
end
if v.uri:match('https://old.reddit.com') then
v.uri = v.uri:gsub('%old.reddit.com', 'libreddit.kylrth.com')
return true
end
if v.uri:match('https://old.reddit.com') then
v.uri = v.uri:gsub('%old.reddit.com', 'libreddit.kylrth.com')
return true
end
if v.uri:match('https://www.twitter.com') then
v.uri = v.uri:gsub('%www.twitter.com', 'nitter.net')
return true
end
if v.uri:match('https://twitter.com') then
v.uri = v.uri:gsub('%twitter.com', 'nitter.net')
return true
end
if v.uri:match('https://www.youtube.com') then
v.uri = v.uri:gsub('%www.youtube.com', 'tube.cadence.moe')
return true
end
if v.uri:match('https://youtube.com') then
v.uri = v.uri:gsub('%youtube.com', 'tube.cadence.moe')
return true
end
if v.uri:match('https://youtu.be') then
v.uri = v.uri:gsub('%youtu.be/', 'tube.cadence.moe/watch?v=')
return true
end
end)
end)
-- social media blocker
local webview = require "webview"
webview.add_signal('init', function (view)
view:add_signal('navigation-request', function(v, uri)
local blocklist_pattern = {
"facebook.com",
".fb.com",
".fbcdn.com",
".fbsbx.com",
".fbcdn.net",
".tfbnw.net",
"whatsapp.com",
"online-metrix.net",
".fb.me",
"facebook-web-clients.appspot.com",
"fbcdn-profile-a.akamaihd.net"
}
for key,value in ipairs(blocklist_pattern)
do
if v.uri:match(value) then
print("Navigation request to " .. v.uri .. " blocked.")
return false
end
end
end)
end)
-----------------------------
-- End user script loading --
-----------------------------
-- Open window
window.new(uris)
-- vim: et:sw=4:ts=8:sts=4:tw=80

89
.config/luakit/theme.lua Normal file
View File

@ -0,0 +1,89 @@
--------------------------
-- Default luakit theme --
--------------------------
local theme = {}
-- Default settings
theme.font = "22px Terminus"
theme.fg = "#D8D8D8"
theme.bg = "#181818"
-- Genaral colours
theme.success_fg = "#00FF00"
theme.loaded_fg = "#33AADD"
theme.error_fg = "#CCCCCC"
theme.error_bg = "#FF0000"
-- Warning colours
theme.warning_fg = "#FF0000"
theme.warning_bg = "#FFFFFF"
-- Notification colours
theme.notif_fg = "#444444"
theme.notif_bg = "#FFFFFF"
-- Menu colours
theme.menu_fg = "#D8D8D8"
theme.menu_bg = "#001800"
theme.menu_selected_fg = "#181818"
theme.menu_selected_bg = "#FFFF00"
theme.menu_title_bg = "#D8D8D8"
theme.menu_primary_title_fg = "#FF0000"
theme.menu_secondary_title_fg = "#666666"
theme.menu_disabled_fg = "#999999"
theme.menu_disabled_bg = theme.menu_bg
theme.menu_enabled_fg = theme.menu_fg
theme.menu_enabled_bg = theme.menu_bg
theme.menu_active_fg = "#006600"
theme.menu_active_bg = theme.menu_bg
-- Proxy manager
theme.proxy_active_menu_fg = '#181818'
theme.proxy_active_menu_bg = '#CCCCCC'
theme.proxy_inactive_menu_fg = '#888888'
theme.proxy_inactive_menu_bg = '#CCCCCC'
-- Statusbar specific
theme.sbar_fg = "#D8D8D8"
theme.sbar_bg = "#181818"
-- Downloadbar specific
theme.dbar_fg = "#D8D8D8"
theme.dbar_bg = "#181818"
theme.dbar_error_fg = "#F00"
-- Input bar specific
theme.ibar_fg = "#D8D8D8"
theme.ibar_bg = "#181818"
-- Tab label
theme.tab_fg = "#888888"
theme.tab_bg = "#000000"
theme.tab_hover_bg = "#292929"
theme.tab_ntheme = "#DDDDDD"
theme.selected_fg = "#ff7800"
theme.selected_bg = "#1C1C1C"
theme.selected_ntheme = "#33AADD"
theme.loading_fg = "#33AADD"
theme.loading_bg = "#181818"
theme.selected_private_tab_bg = "#3D295B"
theme.private_tab_bg = "#22254A"
-- Trusted/untrusted ssl colours
theme.trust_fg = "#00FF00"
theme.notrust_fg = "#FF0000"
-- General colour pairings
theme.ok = { fg = "#FFFFFF", bg = "#181818" }
theme.warn = { fg = "#FFFF00", bg = "#181818" }
theme.error = { fg = "#FF0000", bg = "#181818" }
-- Gopher page style (override defaults)
theme.gopher_light = { bg = "#E8E8E8", fg = "#17181C", link = "#03678D" }
theme.gopher_dark = { bg = "#17181C", fg = "#E8E8E8", link = "#FF9900" }
-- vim: et:sw=4:ts=8:sts=4:tw=80
return theme

20
.config/spectrwm/shellbar.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/ksh
out() { printf '%s/1000/1000\n' "$1" | bc; }
while true
do
set -A _SYSV -- $(sysctl -n hw.sensors.cpu0.temp0 \
hw.sensors.acpithinkpad0.fan0 \
hw.cpuspeed \
| cut -d" " -f1)
_TMP="$(sysctl -n hw.sensors.cpu{0,1,2,3,4,5,6,7,8,9,10,11}.frequency0 \
| cut -d. -f1)"
AVG="$(printf '(%s)/12' "$_TMP" | tr '\n' '+')"
printf " %s%%   %2s°C   %4sRPM   %4sMhz (~%4sMhz)  \n" \
"$(apm -l)" "${_SYSV[0]}" "${_SYSV[1]}" "${_SYSV[2]}" "$(out $AVG)";
sleep 5
done

View File

@ -0,0 +1,70 @@
# Window Decoration
border_width = 2
color_focus = rgb:99/99/99
color_focus_maximized = rgb:28/28/28
color_unfocus = rgb:47/47/47
region_padding = 8
tile_gap = 12
# Bar Settings
bar_border_width = 4
bar_border = rgb:18/18/18
bar_border_unfocus = rgb:18/18/18
bar_color = rgb:18/18/18
bar_color_selected = rgb:18/24/28
bar_font_color = rgb:99/99/99
bar_font_color_selected = rgb:ff/ff/ff
bar_font = FuraCodeNerdFont-11
bar_font_pua = FuraCodeNerdFont-13
bar_action = ~/.config/spectrwm/shellbar.sh
bar_format = +S +L  +N   +I   +M  +W +|1R +A %Y-%m-%d %H:%M
workspace_indicator = listall,markcurrent,markactive,markempty,noindexes
workspace_mark_current = ''
workspace_mark_active = ''
workspace_mark_empty = ''
workspace_mark_urgent = ''
stack_mark_horizontal = ''
stack_mark_horizontal_flip = ''
stack_mark_vertical = ''
stack_mark_vertical_flip = ''
stack_mark_max = ''
# Custom Quirks
quirk[IPMIView20-IPMIView20:IPMIView20-IPMIView20] = FLOAT + ANYWHERE
# Window Manager Keys
keyboard_mapping = ~/.config/spectrwm/spectrwm_map.conf
# Custom Programs
program[sterm] = sterm
bind[sterm] = MOD+Return
program[bterm] = bterm
bind[bterm] = MOD+Shift+Return
program[exec] = dexec
bind[exec] = MOD+D
program[ssh] = dexec_ssh
bind[ssh] = MOD+S
program[apps] = dexec_apps
bind[apps] = MOD+A
program[browser] = dexec_browser
bind[browser] = MOD+Shift+F
program[pass] = dexec_pass
bind[pass] = MOD+Shift+P
program[pim] = dexec_pim
bind[pim] = MOD+P
# OTHERS
program[sshot] = sshot
bind[sshot] = Print
program[xpick] = xpick_copy
bind[xpick] = MOD+Print
program[lock] = /usr/bin/false

View File

@ -0,0 +1,79 @@
# BAR
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
# LAYOUT
bind[cycle_layout] = MOD+l
bind[flip_layout] = MOD+Shift+l
bind[float_toggle] = MOD+space
# FOCUS
bind[focus_main] = MOD+m
bind[focus_next] = MOD+Down
bind[focus_next] = MOD+Tab
bind[focus_prev] = MOD+Up
bind[focus_prev] = MOD+Shift+Tab
bind[focus_urgent] = MOD+u
# ICONFIY / HIDE
bind[iconify] = MOD+Shift+i
bind[uniconify] = MOD+i
# MASTER
bind[master_add] = MOD+comma
bind[master_del] = MOD+period
bind[master_grow] = MOD+Right
bind[master_shrink] = MOD+Left
bind[stack_dec] = MOD+Shift+comma
bind[stack_inc] = MOD+Shift+period
bind[stack_reset] = MOD+Shift+space
bind[maximize_toggle] = MOD+f
# WS NAVIGATION
bind[ws_1] = MOD+1
bind[ws_2] = MOD+2
bind[ws_3] = MOD+3
bind[ws_4] = MOD+4
bind[ws_5] = MOD+5
bind[ws_6] = MOD+6
bind[ws_7] = MOD+7
bind[ws_8] = MOD+8
bind[ws_9] = MOD+9
bind[ws_10] = MOD+0
bind[ws_next_all] = MOD+Page_Down
bind[ws_prev_all] = MOD+Page_Up
# MOVE WINDOW TO OTHER WS
bind[mvrg_1] = MOD+Shift+KP_End
bind[mvrg_2] = MOD+Shift+KP_Down
bind[mvrg_3] = MOD+Shift+KP_Next
bind[mvrg_4] = MOD+Shift+KP_Left
bind[mvrg_5] = MOD+Shift+KP_Begin
bind[mvrg_6] = MOD+Shift+KP_Right
bind[mvrg_7] = MOD+Shift+KP_Home
bind[mvrg_8] = MOD+Shift+KP_Up
bind[mvrg_9] = MOD+Shift+KP_Prior
bind[mvws_1] = MOD+Shift+1
bind[mvws_2] = MOD+Shift+2
bind[mvws_3] = MOD+Shift+3
bind[mvws_4] = MOD+Shift+4
bind[mvws_5] = MOD+Shift+5
bind[mvws_6] = MOD+Shift+6
bind[mvws_7] = MOD+Shift+7
bind[mvws_8] = MOD+Shift+8
bind[mvws_9] = MOD+Shift+9
bind[mvws_10] = MOD+Shift+0
# RENAME WS
bind[name_workspace] = MOD+r
# MOVE WINDOW WITHIN WS
bind[swap_main] = MOD+M
bind[swap_next] = MOD+Shift+Down
bind[swap_prev] = MOD+Shift+Up
# DELETE WINDOW
bind[wind_del] = MOD+q
bind[wind_kill] = MOD+Shift+q
bind[restart] = MOD+Shift+r

112
.tmux.conf Normal file
View File

@ -0,0 +1,112 @@
# tmux config
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set -g prefix C-a
bind-key C-a last-window
bind-key C-n next-window
bind-key C-p previous-window
bind a send-prefix
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
#set-option -g lock-after-time 3600
unbind-key C-S-Up
unbind-key C-S-Down
unbind-key C-M-Up
unbind-key C-M-Down
unbind-key S-Up
unbind-key S-Down
unbind-key C-Up
unbind-key C-Down
unbind-key C-Left
unbind-key C-Right
# prefix + arrow creates pane in direction
bind Left split-window -h -b
bind Right split-window -h
bind Up split-window -v -b
bind Down split-window -v
unbind '"'
unbind %
# select panes using Ctrl-Arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# resize panes
bind -n C-Left resize-pane -L 1
bind -n C-Right resize-pane -R 1
bind -n C-Down resize-pane -D 1
bind -n C-Up resize-pane -U 1
# zoom/fullscreen
bind -n M-f resize-pane -Z
# move pain up/down the stack with Shift-Alt+Arrow
#bind -n C-PgUp swap-pane -U
#bind -n C-PgDown swap-pane -D
# kill pane
bind C-Q kill-pane
# Disable mouse for proper copy & paste
set -g mouse off
set-window-option -g xterm-keys on
set -g xterm-keys on
# count windows from 1
set -g base-index 1
# don't rename windows automatically
set-option -g allow-rename off
# don't set the window title
set -g set-titles off
# No delay for escape key press
set -sg escape-time 30
set -g default-terminal "screen-256color"
# we can do utf lines
set -as terminal-overrides ",*:U8=0"
set -g aggressive-resize off
set -g alternate-screen on
######################
### DESIGN CHANGES ###
######################
# quiet
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none
## panes
set -g pane-border-style 'bg=colour0 fg=colour202'
set -g pane-active-border-style 'bg=colour0 fg=colour202'
#
## statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'fg=colour246'
set -g status-right ''
set -g status-left ' '
set -g status-right-length 10
set -g status-left-length 10
#
setw -g window-status-current-style ''
setw -g window-status-current-format '#[fg=colour246]#I:#[fg=colour202]#W'
#
setw -g window-status-style ''
setw -g window-status-format '#[fg=colour246]#I:#W'