2 Commits

19 changed files with 105 additions and 88 deletions
Split View
  1. +3
    -1
      common/bin/dotfiles-link-environments
  2. +5
    -0
      common/bin/kubfn
  3. +1
    -1
      common/fish/aliases.fish
  4. +0
    -4
      common/fish/config.fish
  5. +26
    -5
      common/fish/key-bindings.fish
  6. +5
    -1
      common/git/config
  7. +16
    -3
      common/htop/rc
  8. +0
    -3
      common/kitty/kitty.conf
  9. +6
    -0
      common/neovim/init.vim
  10. +6
    -2
      common/tmux/conf
  11. +0
    -32
      os/linux/arch/provision.d/00-add-user.bash
  12. +5
    -0
      os/linux/arch/provision.d/20-install-packages.bash
  13. +0
    -0
      os/linux/arch/provision.d/optional/amd-cpu.bash
  14. +2
    -2
      os/linux/arch/provision.d/optional/amd-gpu.bash
  15. +12
    -13
      os/linux/arch/provision.d/optional/ui-packages.bash
  16. +3
    -14
      os/linux/kanshi/config
  17. +4
    -4
      os/linux/kanshi/desktop-H-workspaces.sh
  18. +3
    -2
      os/linux/sway/config
  19. +8
    -1
      os/linux/sway/init

+ 3
- 1
common/bin/dotfiles-link-environments View File

@ -7,7 +7,9 @@ function files
end
end
files $dfp/common/envs | \
fzf -m --prompt "Select applicable environments (multi-select w/ TAB): " | \
fzf --multi --prompt "Select applicable environments (multi-select w/ TAB): " \
--preview-window="up:50%:noborder" \
--preview="ls -la --color=always {}" | \
string trim | \
read -a -d \n -z lines
for l in $lines


+ 5
- 0
common/bin/kubfn View File

@ -1,4 +1,9 @@
#!/usr/bin/env sh
has_command kubectl || {
echo "kubectl command not found"
exit 1
}
kubectl get namespaces --show-labels | \
uniq | \
sort | \


+ 1
- 1
common/fish/aliases.fish View File

@ -98,7 +98,7 @@ alias sctl "sudo systemctl"
alias sctlu "systemctl --user"
alias bt "sctl start bluetooth && sudo bluetoothctl"
alias btctl "bt"
alias resrc "source $XDG_CONFIG_HOME/fish/config.fish"
alias resrc "source $XDG_CONFIG_HOME/fish/config.fish; fish_user_key_bindings"
alias sc "sc-im"
alias scs "sc-im $NOTES_PATH/_scratch.sc"
alias disks "lsblk && df -h"


+ 0
- 4
common/fish/config.fish View File

@ -32,10 +32,6 @@ set -Ux VISUAL nvim
set -Ux PAGER less
set -Ux MANPAGER 'env MANWIDTH="" nvim --cmd "let g:prosession_on_startup=0" +Man!'
# has_command fd && set -Ux FZF_DEFAULT_COMMAND 'fd --type f --hidden --follow --exclude .git'
test -f ~/.fzf/shell/key-bindings.fish && source ~/.fzf/shell/key-bindings.fish
function fish_greeting;
set_color -b black brblack
printf "%s@%s %s\n" $USER (hostname) (date)


+ 26
- 5
common/fish/key-bindings.fish View File

@ -1,22 +1,26 @@
#!/usr/bin/env fish
function fish_user_key_bindings
# has_command fd && set -Ux FZF_DEFAULT_COMMAND 'fd --type f --hidden --follow --exclude .git'
test -f $HOME/.fzf/shell/key-bindings.fish && source $HOME/.fzf/shell/key-bindings.fish
fzf_key_bindings
fish_vi_key_bindings insert --no-erase
set vi_esc "if commandline -P; commandline -f cancel; else; set fish_bind_mode default; commandline -f backward-char force-repaint; end"
bind -M insert jk $vi_esc
bind -M insert jK $vi_esc
bind -M insert Jk $vi_esc
bind -M insert JK $vi_esc
bind -M insert jj $vi_esc
bind -M insert jJ $vi_esc
bind -M insert Jj $vi_esc
bind -M insert JJ $vi_esc
bind -M insert JJ $vi_esc
bind -M insert \cp up-or-search
bind -M insert \cn down-or-search
bind -M insert \cs fzf-cd-widget
bind -M insert \ce end-of-line
bind -M insert \ca beginning-of-line
bind -M insert \cw forward-word
@ -29,9 +33,26 @@ function fish_user_key_bindings
bind -M default \ee false
bind -M default \ev false
bind --erase \ct
bind -M insert --erase \ct
bind -M default --erase \ct
bind --erase \c\t
bind --erase \cs
bind --erase btab
bind \ct 'tmux new-session'
bind --erase --preset -M visual -k btab
bind --erase --preset -M insert -k btab
bind --erase --preset -M default -k btab
bind --erase --preset -k btab
bind --erase -M visual -k btab
bind --erase -M insert -k btab
bind --erase -M default -k btab
bind --erase -k btab
bind --erase \cs
bind --erase -M insert \cs
bind --erase -M default \cs
bind -M insert \cs 'tmux info && tmux attach -t default || tmux new-session -s default'
bind -M default \cs 'tmux info && tmux attach -t default || tmux new-session -s default'
bind -M insert \ct 'tmux info && tmux new-window -t default || tmux new-session -s default'
bind -M default \ct 'tmux info && tmux new-window -t default || tmux new-session -s default'
end

+ 5
- 1
common/git/config View File

@ -36,7 +36,9 @@
d = diff
ds = diff --staged
dt = difftool
l = log --pretty=format:'%h %ad%x09%an%x09%s' --date=short
f = fetch
l = log --pretty=format:'%h %ad%x09%an%x09%s' --date=short --decorate
graph = log --graph --abbrev-commit --decorate --oneline --all
ls = ls-files
mm = merge master
p = push
@ -84,3 +86,5 @@
path = /home/daniel/.home/.netlify/helper/git-config
[init]
defaultBranch = master
[branch]
autoSetupMerge = always

+ 16
- 3
common/htop/rc View File

@ -1,9 +1,10 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_key=47
sort_direction=1
hide_threads=0
tree_sort_key=0
tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=0
@ -12,15 +13,27 @@ show_program_path=0
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
cpu_count_from_one=1
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
delay=15
left_meters=LeftCPUs2 Memory Swap
left_meter_modes=1 1 1
right_meters=RightCPUs2 Tasks LoadAverage Uptime
right_meter_modes=1 2 2 2
hide_function_bar=0

+ 0
- 3
common/kitty/kitty.conf View File

@ -23,7 +23,6 @@ url_style single
strip_trailing_spaces smart
kitty_mod ctrl+shift+alt
open_url_modifiers ctrl
background #111111
@ -76,7 +75,5 @@ color18 #333333
#
# color18 #cccccc
kitty_mod ctrl+shift+alt
open_url_modifiers ctrl
wheel_scroll_multiplier 5.0
touch_scroll_multiplier 5.0

+ 6
- 0
common/neovim/init.vim View File

@ -94,7 +94,13 @@ call matchadd('TooLongColorColumn', '\%121v', 200)
command! W write
inoremap jj <Esc>
inoremap jJ <Esc>
inoremap Jj <Esc>
inoremap JJ <Esc>
inoremap jk <Esc>
inoremap jK <Esc>
inoremap Jk <Esc>
inoremap JK <Esc>
nnoremap <C-q> :qa<CR>
inoremap <C-q> <Esc><C-q>


+ 6
- 2
common/tmux/conf View File

@ -5,13 +5,17 @@ bind-key s send-prefix
bind-key v split-window -h
bind-key b split-window
bind-key T source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf"
bind-key O display-message "#(~/.config/lytedev-dotfiles/bin/tmux-save-buffer #S)"
bind-key O display-message "#(tmux-save-buffer '#S')"
bind-key H set -s status
bind-key -n C-l select-pane -R
bind-key -n C-k select-pane -U
bind-key -n C-j select-pane -D
bind-key -n C-h select-pane -L
bind s run "tmux split-window -l 12 'sh -c ~/.config/lytedev-dotfiles/bin/tmuxswitcher'"
bind-key -n C-t new-window
bind-key Tab next-window
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
bind s run "tmux split-window -l 12 'tmuxswitcher'"
bind M-l source-file "$XDG_CONFIG_HOME/tmux/layouts/dev.tmux"


+ 0
- 32
os/linux/arch/provision.d/00-add-user.bash View File

@ -1,32 +0,0 @@
#!/usr/bin/env bash
u=daniel
ud="/home/$u"
# user exists - we will assume setup has already run
if getent passwd "$u"; then exit 0; fi
pacman -S --needed --noconfirm sudo fish git
groupadd admin 2>/dev/null
echo '%admin ALL=(ALL) ALL' >> /etc/sudoers.d/admin-group-sudoers
mkdir --parents "$ud/.home" "$ud/dl"
useradd --home-dir "$ud/.home" \
--groups "admin,users,uucp,lock" \
--shell "/bin/bash" \
"$u"
chown --recursive "$u:$u" "$ud"
chsh --shell /bin/fish
echo "Setting password for user '$u'"
# enforce that a password is set
# we need one for sudo commands in later scripts
while true; do
passwd "$u"
ee=$!
echo $ee
if [ "$ee" -eq 0 ]; then
break
fi
sleep 2
done
echo $!

+ 5
- 0
os/linux/arch/provision.d/20-install-packages.bash View File

@ -26,6 +26,7 @@ yay -Sy --needed --noconfirm \
openssl `# Crypto` \
asdf-vm `# Runtime Version Manager` \
pass passff-host `# Password Management` \
hexyl `# CLI Hex Viewer` \
rsync `# File Transfer` \
neovim-nightly-bin `# Text Editors` \
sc-im `# Spreadsheets` \
@ -43,4 +44,8 @@ yay -Sy --needed --noconfirm \
fortune-mod fortune-mod-archlinux `# Fortune` \
oath-toolkit `# One-Time Passwords` \
sysstat `# System Statistics` \
reflector-simple `# Simplify Mirror Management` \
inetutils `# netutils` \
nnn `# CLI File Manager` \
ntfs-3g `# Windows filesystem stuff` \
man-db man-pages `# Come On, Man!`

+ 0
- 0
os/linux/arch/provision.d/optional/amd-cpu.bash View File


+ 2
- 2
os/linux/arch/provision.d/optional/amd-gpu.bash View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# TODO: vulkan?
yay -S \
xf86-video-amdgpu mesa \
xf86-video-amdgpu mesa lib32-mesa \
amdvlk lib32-amdvlk \
libva-mesa-driver mesa-vdpau libva-vdpau-driver libvdpau-va-gl `# Hardware Accelerated Video`

+ 12
- 13
os/linux/arch/provision.d/optional/ui-packages.bash View File

@ -7,42 +7,42 @@ else
sudo sh -c 'echo -e "\n\n[multilib]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf'
fi
# TODO: some of these may be laptop-only?
# TODO: switch to Nautilus?
yay -Sy \
xf86-input-libinput \
libinput libinput-gestures `# Trackpad Control` \
bluez bluez-libs bluez-utils bluez-tools `# Bluetooth` \
arc-gtk-theme `# GTK Theme` \
elementary-icon-theme `# GUI File Explorer Icons` \
thunar thunar-volman gvfs `# GUI File Explorer + Volume Management/Auto-Mount Disks)` \
ttf-opensans ttf-dejavu ttf-liberation `# Fonts` \
ttf-opensans `# Fonts` \
avr-libc avr-gcc dfu-programmer dfu-util `# Keyboard Programming Utilities` \
xorg-xbacklight `# Xorg Backlight Control` \
gimp inkscape krita `# Image/Vector Editing Applications` \
audacity `# Audio Editing Application` \
accountsservice `# Mainly for User Avatars with Display Manager` \
deluge deluge-gtk cairo python-cairo `# GUI Torrent Client` \
deluge deluge-gtk `# GUI Torrent Client` \
gdm `# Display Manager of choice` \
pigz `# Multi-core gzipping` \
samba `# Sharing Files with other (Windows) PCs` \
gvfs-smb `# Auto-Detect Samba Shares` \
gvfs-smb `# Auto-Detect Samba Shares?` \
cmake `# Cross-Platform Make` \
elixir nodejs erlang rustup \
elixir nodejs erlang rustup `# Langs` \
php `# PHP Language` \
nginx `# Web Server` \
postgresql pgcli `# RDBMS` \
neofetch `# swag` \
cloc `# For counting lines of code` \
noto-fonts noto-fonts-emoji `# Emoji` \
discord `# Chat` \
discord `# Voice Chat` \
steam steamcmd lutris `# Games` \
gnome-shell `# Guh-nome Guh-shell` \
vlc `# Video Viewer` \
zathura zathura-pdf-mupdf `# Document Viewer` \
libinput libinput-gestures `# Trackpad Control` \
glu mesa wxgtk2 libpng `# Various` \
glu mesa wxgtk2 libpng `# Graphical Libs` \
gammastep `# Redshift for Wayland` \
dmenu `# Application Launcher` \
python python-pip `# Python 3 Language` \
hexyl `# CLI Hex Viewer` \
firefox-developer-edition `# Default Web Browser` \
alsa-utils `# Audio Utilities` \
alsa-plugins `# Plugins for ALSA` \
@ -55,10 +55,9 @@ yay -Sy \
wofi `# Sway app launcher` \
waybar mako `# Sway Bar & Notifications` \
slurp grim wl-clipboard `# Sway Screen Selection & Clipping` \
pipewire pipewire-pulse libpipewire02 `# Pipewire` \
pipewire pipewire-pulse pipewire-media-session `# Pipewire` \
xdg-desktop-portal xdg-desktop-portal-wlr `# Screensharing` \
obs-studio-wayland obs-xdg-portal `# OBS` \
ttf-iosevka `# Primary Fonts` \
ttf-font-awesome `# Icon Font` \
diff-so-fancy `# Fancy Diffs` \
ripcord `# Discord and Slack Client`

+ 3
- 14
os/linux/kanshi/config View File

@ -1,34 +1,23 @@
profile desktop-1x4kside {
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 0,1200 scale 1 transform normal
output "Dell Inc. DELL U2720Q CWTM623" enable mode 3840x2160@60Hz position 3440,0 scale 1.5 transform 90
exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
}
profile desktop-1x4kside2 {
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 1440,800 scale 1 transform normal
output "Dell Inc. DELL U2720Q D3TM623" enable mode 3840x2160@60Hz position 0,0 scale 1.5 transform 270
exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
}
profile desktop-H-4k {
profile desktop-H-2x4kside2 {
output "Dell Inc. DELL U2720Q D3TM623" enable mode 3840x2160@60Hz position 0,0 scale 1.5 transform 270
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 1440,800 scale 1 transform normal
output "Dell Inc. DELL U2720Q CWTM623" enable mode 3840x2160@60Hz position 4880,0 scale 1.5 transform 90
exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
}
profile desktop-H {
output "Samsung Electric Company CF791 HTRJ500315" enable mode 3440x1440@100Hz position 1440,560 scale 1 transform normal
output "Dell Inc. DELL U2719DC 5DL4QS2" enable mode 2560x1440@60Hz position 0,0 scale 1 transform 270
output "Dell Inc. DELL U2719DC 9DL4QS2" enable mode 2560x1440@60Hz position 4880,0 scale 1 transform 90
exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
exec "$DOTFILES_PATH/os/linux/kanshi/desktop-H-workspaces.sh"
}
profile tv4k {
output "Samsung Electric Company CF791 HTRJ500315" disable
output "Dell Inc. DELL U2719DC 5DL4QS2" disable
output "Dell Inc. DELL U2719DC 9DL4QS2" disable
output "Samsung Electric Company SyncMaster H1AK500000" enable mode 4096x2160@60Hz position 0,0 scale 1 transform normal
# exec "$HOME/.config/lytedev-dotfiles/apps/de/kanshi/desktop-H-workspaces.sh"
}
profile desktop-ultrawide {


+ 4
- 4
os/linux/kanshi/desktop-H-workspaces.sh View File

@ -17,11 +17,11 @@ if ! [[ -f $LOCKFILE ]]; then
# setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 4 5 6
# setup_output 'Samsung Electric Company CF791 HTRJ500315' 1 2 3
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 9 8
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 6 5
setup_output 'Dell Inc. DELL U2720Q CWTM623' 9 8
setup_output 'Dell Inc. DELL U2720Q D3TM623' 6 5
setup_output 'Samsung Electric Company CF791 HTRJ500315' 3 2
setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 7
setup_output 'Dell Inc. DELL U2719DC 5DL4QS2' 4
setup_output 'Dell Inc. DELL U2720Q CWTM623' 7
setup_output 'Dell Inc. DELL U2720Q D3TM623' 4
setup_output 'Samsung Electric Company CF791 HTRJ500315' 1
# setup_output 'Dell Inc. DELL U2719DC 9DL4QS2' 8 9 7


+ 3
- 2
os/linux/sway/config View File

@ -7,6 +7,7 @@
set $mod Mod4
set $default_gap 0
xwayland enable
focus_wrapping no
gaps inner $default_gap
smart_borders on|no_gaps
@ -160,8 +161,6 @@ for_window [app_id="floating_terminal"] floating enable
for_window [class="floating_terminal"] floating enable
# for_window [class=".*"] layout splitv
output * bg $HOME/.wallpaper fill
client.focused #66d9ef #66d9ef #66d9ef #66d9ef #66d9ef
client.focused_inactive #111111 #111111 #ffffff #111111 #111111
client.unfocused #111111 #111111 #ffffff #111111 #111111
@ -179,4 +178,6 @@ bar {
exec gammastep -t 6500:3500 -l 39.0:-94.5
exec swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 000000'
output * bg $HOME/.wallpaper fill
include $XDG_CONFIG_HOME/lytedev-env/*/sway/config

+ 8
- 1
os/linux/sway/init View File

@ -10,6 +10,8 @@ set -q DOTFILES_PATH || begin
exit 1
end
# set -Ux QT_QPA_PLATFORM xcb
# set -Ux QT_QPA_PLATFORM_PLUGIN_PATH /usr/lib/qt/plugins
set -Ux CLUTTER_BACKEND wayland
set -Ux SDL_VIDEODRIVER wayland
set -Ux MOZ_ENABLE_WAYLAND 1
@ -19,4 +21,9 @@ for s in $ENV_PATH/*/sway-init.d.fish
source $s (dirname $s)
end
exec sway
set initstr "\n(date): Initializsing Sway WM"
set elogfile ~/.sway.error.log
set logfile ~/.sway.log
echo $initstr >> $logfile; echo $initstr >> $elogfile
exec sway >> $logfile 2>> $elogfile

Loading…
Cancel
Save