Compare commits

...

12 Commits

Author SHA1 Message Date
0b9b2d7399
git: use ssh signatures 2024-11-20 19:34:19 -05:00
1448a861dc
zathura: disable bar 2024-11-20 18:57:00 -05:00
ef7593d473
fish: darkmode/lightmode alias 2024-11-20 18:55:00 -05:00
6b8b86c7c0
fastfetch: replace neofetch 2024-11-18 21:59:07 -05:00
cd717c9cd4
nushell: remove deprecated option 2024-11-18 21:52:52 -05:00
6f7496ffa4
niri: layouting changes 2024-11-13 21:27:40 -05:00
9f75114293
fish: umask
because now fish isn't started at all as a login shell, bash is
2024-11-11 22:03:35 -05:00
6b1bb11906
nvim: disable lsp by default, reinstate manual typst watch bind
typst-lsp is horribly buggy (multiple instances linger after supposedly
exiting) and terrible on battery life

the old typst watch bind actually does things well
2024-11-11 22:00:38 -05:00
859fe68226 niri: fix up gnome portal stuff 2024-11-09 13:48:38 -05:00
1539c48508 niri: setup clipedit, bookmk binds 2024-11-08 21:34:15 -05:00
7e40fef321 dunst: fix up notifications 2024-11-08 21:26:46 -05:00
db5f0d9e0b nvim: make typst lsp not complain about special characters 2024-11-08 21:04:02 -05:00
19 changed files with 167 additions and 70 deletions

View File

@ -105,7 +105,7 @@ nss-mdns
python-pynvim
xorg-xinput
xorg-xbacklight
neofetch
fastfetch
cloc
aerc
@ -206,6 +206,8 @@ swaylock
swayidle
swaybg
waybar
# needed for niri screencasting
xdg-desktop-portal-gnome
# utilities
wlr-randr

View File

@ -1,6 +1,10 @@
{{- $systemprofilechoices := list "DEFAULT" "SLIM" "MINIMAL" -}}
{{- $systemprofile := promptChoiceOnce . "systemprofile" "Select a system profile (use capital letter)" $systemprofilechoices "MINIMAL" -}}
{{- $email := promptStringOnce . "email" "Email address for Git" -}}
{{- $fullname := promptStringOnce . "email" "Full name for Git" -}}
[data]
systemprofile = {{ $systemprofile | quote }}
email = {{ $email | quote }}
fullname = {{ $fullname | quote }}
opacity = "0.7"

View File

@ -6,6 +6,7 @@
{{- $fish_path = "/data/data/com.termux/files/usr/bin/fish" }}
{{- end }}
# Use fish in place of bash
# keep this line at the bottom of ~/.bashrc
[ -x {{ $fish_path }} ] && SHELL={{ $fish_path }} exec fish -l
# use fish interactively
[ -x {{ $fish_path }} ] && export SHELL={{ $fish_path }}
[[ -z $DISPLAY && $XDG_VTNR -eq 2 ]] && exec startx
[[ -z $WAYLAND_DISPLAY && $XDG_VTNR -eq 1 ]] && exec niri-session

View File

@ -9,9 +9,20 @@ function hide
end
end
function darkmode
niri msg action do-screen-transition
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
end
function lightmode
niri msg action do-screen-transition
gsettings set org.gnome.desktop.interface color-scheme 'default'
end
alias mpv='hide mpv mpv'
alias imvi='hide swayimg imgv.sh'
alias neofetch='fastfetch'
# prevent clobbering files
alias mv='mv -n'
alias cp='cp -n'

View File

@ -5,6 +5,8 @@ end
# Disable fish greeting
set fish_greeting ""
umask 007
if status --is-interactive
if not test $SYSTEM_PROFILE = "MINIMAL"
rem.sh show
@ -32,12 +34,3 @@ if status --is-interactive
zoxide init fish | source
end
end
if status is-login
if test -z "$DISPLAY" -a "$XDG_VTNR" = 1
exec startx
end
if test -z "$WAYLAND_DISPLAY" -a "$XDG_VTNR" = 2
exec niri --session
end
end

View File

@ -1,9 +0,0 @@
[user]
email = dogeystamp@disroot.org
name = dogeystamp
[gpg]
program = passphrase2pgp
[merge]
tool = nvimmerge
[mergetool "nvimmerge"]
cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""

View File

@ -0,0 +1,12 @@
[user]
email = {{ .email }}
name = {{ .fullname }}
signingkey = "~/.ssh/keys/sign.pub"
[gpg]
format = ssh
[gpg.ssh]
allowedSignersFile = "~/.ssh/allowed_signers"
[merge]
tool = nvimmerge
[mergetool "nvimmerge"]
cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""

View File

@ -37,6 +37,13 @@ layout {
default-column-width { proportion 0.5; }
preset-window-heights {
proportion 0.0
proportion 0.33333
proportion 0.5
proportion 0.66667
}
focus-ring {
// off
@ -49,7 +56,7 @@ layout {
spawn-at-startup "waybar"
spawn-at-startup "wallpaper"
spawn-at-startup "swayidle" "-w" "timeout" "600" "swaylock -f & niri msg action power-off-monitors" "before-sleep" "swaylock -f" "lock" "swaylock -f"
spawn-at-startup "swayidle" "-w" "timeout" "550" "notify-send -a lock 'Idle, preparing to lock.'" "timeout" "600" "swaylock -f & niri msg action power-off-monitors" "before-sleep" "swaylock -f" "lock" "swaylock -f"
// no client side decoration
prefer-no-csd
@ -59,6 +66,11 @@ prefer-no-csd
// You can also set this to null to disable saving screenshots to disk.
screenshot-path null
window-rule {
geometry-corner-radius 5
clip-to-geometry true
}
window-rule {
match app-id=r#"qutebrowser"#
opacity 0.8
@ -125,7 +137,37 @@ window-rule {
block-out-from "screen-capture"
}
workspace "chat" {
open-on-output "HDMI-A-1"
}
window-rule {
match title="discord"
open-on-workspace "chat"
open-maximized true
}
binds {
Alt+1 { focus-workspace 1; }
Alt+2 { focus-workspace 2; }
Alt+3 { focus-workspace 3; }
Alt+4 { focus-workspace 4; }
Alt+5 { focus-workspace 5; }
Alt+6 { focus-workspace 6; }
Alt+7 { focus-workspace 7; }
Alt+8 { focus-workspace 8; }
Alt+9 { focus-workspace 9; }
Alt+0 { focus-workspace "chat"; }
Alt+Shift+1 { move-column-to-workspace 1; }
Alt+Shift+2 { move-column-to-workspace 2; }
Alt+Shift+3 { move-column-to-workspace 3; }
Alt+Shift+4 { move-column-to-workspace 4; }
Alt+Shift+5 { move-column-to-workspace 5; }
Alt+Shift+6 { move-column-to-workspace 6; }
Alt+Shift+7 { move-column-to-workspace 7; }
Alt+Shift+8 { move-column-to-workspace 8; }
Alt+Shift+9 { move-column-to-workspace 9; }
Alt+Shift+0 { move-column-to-workspace "chat"; }
Alt+Shift+Slash { show-hotkey-overlay; }
Alt+Shift+Return { spawn "newterm.sh"; }
@ -135,6 +177,9 @@ binds {
Alt+Shift+D { spawn "qbprof" "dsc"; }
Ctrl+Alt+L { spawn "swaylock"; }
Alt+Shift+Z { spawn "clipedit.sh"; }
Alt+Z { spawn "newterm.sh" "-e" "bookmk"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
@ -168,22 +213,25 @@ binds {
Alt+H { focus-monitor-left; }
Alt+L { focus-monitor-right; }
Win+M { spawn "dunstctl" "close"; }
Win+N { spawn "dunstctl" "history-pop"; }
Alt+Shift+H { move-column-to-monitor-left; }
Alt+Shift+L { move-column-to-monitor-right; }
Alt+Page_Down { focus-workspace-down; }
Alt+Page_Up { focus-workspace-up; }
Alt+U { focus-workspace-down; }
Alt+I { focus-workspace-up; }
Alt+U { focus-workspace-up; }
Alt+I { focus-workspace-down; }
Alt+Ctrl+Page_Down { move-column-to-workspace-down; }
Alt+Ctrl+Page_Up { move-column-to-workspace-up; }
Alt+Ctrl+U { move-column-to-workspace-down; }
Alt+Ctrl+I { move-column-to-workspace-up; }
Alt+Ctrl+U { move-column-to-workspace-up; }
Alt+Ctrl+I { move-column-to-workspace-down; }
Alt+Shift+Page_Down { move-workspace-down; }
Alt+Shift+Page_Up { move-workspace-up; }
Alt+Shift+U { move-workspace-down; }
Alt+Shift+I { move-workspace-up; }
Alt+Shift+Page_Down { move-workspace-to-monitor-right; }
Alt+Shift+Page_Up { move-workspace-to-monitor-left; }
Alt+Shift+I { move-workspace-down; }
Alt+Shift+U { move-workspace-up; }
// You can bind mouse wheel scroll ticks using the following syntax.
// These binds will change direction based on the natural-scroll setting.
@ -209,28 +257,7 @@ binds {
// Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
// Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
Alt+1 { focus-workspace 1; }
Alt+2 { focus-workspace 2; }
Alt+3 { focus-workspace 3; }
Alt+4 { focus-workspace 4; }
Alt+5 { focus-workspace 5; }
Alt+6 { focus-workspace 6; }
Alt+7 { focus-workspace 7; }
Alt+8 { focus-workspace 8; }
Alt+9 { focus-workspace 9; }
Alt+0 { focus-workspace 10; }
Alt+Shift+1 { move-column-to-workspace 1; }
Alt+Shift+2 { move-column-to-workspace 2; }
Alt+Shift+3 { move-column-to-workspace 3; }
Alt+Shift+4 { move-column-to-workspace 4; }
Alt+Shift+5 { move-column-to-workspace 5; }
Alt+Shift+6 { move-column-to-workspace 6; }
Alt+Shift+7 { move-column-to-workspace 7; }
Alt+Shift+8 { move-column-to-workspace 8; }
Alt+Shift+9 { move-column-to-workspace 9; }
Alt+Shift+0 { move-column-to-workspace 10; }
Mod+Tab { focus-workspace-previous; }
Alt+Tab { focus-workspace-previous; }
Alt+Ctrl+Comma { consume-window-into-column; }
Alt+Ctrl+Period { expel-window-from-column; }

View File

@ -74,7 +74,6 @@ $env.config = {
vi_normal: block
}
use_grid_icons: true
footer_mode: 25 # always, never, number_of_rows, auto
float_precision: 2 # the precision for displaying floats in tables
use_ansi_coloring: true

View File

@ -23,6 +23,16 @@ function GitRoot()
return fnamemodify(finddir('.git', ";"), ":h")
endfunc
" compile typst doc on write
function TypstWatch()
vsp
vertical resize 20
exec 'terminal ' .. 'typst watch --root ' .. GitRoot() .. " " .. expand("%:")
exec "norm \<c-w>h"
endfunc
nnoremap <silent> <leader>fc :call TypstWatch()<cr>
nnoremap <silent><leader>fr :silent exec "!zathura --fork " . expand("%:p:r") . ".pdf &"<cr>
let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '$':'$', "```" : "```", "`": "`"}

View File

@ -93,6 +93,11 @@ local on_attach = function(client, bufnr)
client.server_capabilities.hoverProvider = false
end
if client.name == "typst_lsp" then
-- this breaks on special characters outside english
client.server_capabilities.semanticTokensProvider = false
end
-- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
@ -188,11 +193,12 @@ local servers = {
},
},
},
typst_lsp = {
settings = {
exportPdf = "onSave" -- alternatively onType / never
}
},
-- too battery intensive
-- typst_lsp = {
-- settings = {
-- exportPdf = "onSave", -- alternatively onType / never
-- }
-- },
nushell = {},
}
local capabilities = vim.lsp.protocol.make_client_capabilities()

View File

@ -0,0 +1,42 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
// "type": "small",
"padding": {
"left": 1,
},
},
"display": {
"separator": " ",
},
"modules": [
"title",
"separator",
{
"type": "os",
"key": "os",
},
{
"type": "packages",
"key": "pk",
},
{
"type": "shell",
"key": "sh",
},
{
"type": "wm",
"key": "wm",
},
{
"type": "terminal",
"key": "tm",
},
"break",
{
"type": "colors",
"symbol": "square",
},
"break",
]
}

View File

@ -72,10 +72,6 @@ if [ -r "$XDG_CONFIG_HOME"/identity ]; then
. "$XDG_CONFIG_HOME"/identity
fi
if command -v gsettings > /dev/null; then
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
fi
# Profile to enable/disable features on certain devices
export SYSTEM_PROFILE={{ .systemprofile | quote }}

View File

@ -21,6 +21,10 @@ set inputbar-fg "#CCCCCC"
set statusbar-bg rgba(0,0,0,1)
set statusbar-fg "#CCCCCC"
# disable statusbar, and enable vertical scrollbar
# press ctrl-n to toggle status bar at runtime
set guioptions "v"
set render-loading false
set selection-clipboard clipboard

View File

@ -5,12 +5,7 @@ TMPFILE="$(mktemp)"
cb > "$TMPFILE"
newterm() {
alacritty msg create-window "$@" ||
alacritty "$@"
}
newterm \
newterm.sh \
-o 'window.class = { instance = "popup-bottom-center", general="popup-bottom-center" }' \
-o 'window.opacity = 1.0' \
-o 'window.dimensions = { columns = 84, lines = 10 }' \

View File

@ -9,4 +9,4 @@ if [ "$DUNST_APP_NAME" = "prod" ]; then
exit
fi
paplay ~/.local/bin/deskutils/notif.mp3
paplay ~/.local/bin/deskutils/notif.wav

Binary file not shown.

View File

@ -0,0 +1,4 @@
#!/bin/sh
# wrapper to either start alacritty or just create a new window
alacritty msg create-window "$@" || alacritty "$@"