4 Commits

23 changed files with 198 additions and 35 deletions

View File

@@ -13,3 +13,6 @@
- Separate scripts that are used for configurations / store them somewhere aside
from `~/.local/bin`
- Remove system-d stuff (don't think it's needed).
- Clipse didn't work when installed on a new machine when I try to use the
config in the dotfiles, but works if I use the default config. Need to explore
why.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
assets/icons/oryx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@@ -38,10 +38,10 @@ source = ~/.config/hypr/autostart.conf
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 3
gaps_in = 5
gaps_out = 0, 5, 5, 5
border_size = 1
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
@@ -53,7 +53,7 @@ general {
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = master # dwindle or master
layout = dwindle # dwindle or master
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
@@ -117,9 +117,9 @@ dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + SHIFT + P in the keybinds section below
preserve_split = true # You probably want this
force_split = 2 # always split to the right or bottom
split_width_multiplier = 1.25
#split_width_multiplier = 1.25
use_active_for_splits = false
default_split_ratio = 1.25
#default_split_ratio = 1.25
split_bias = 0
}

View File

@@ -1,3 +1,3 @@
preload = /home/michael/.config/hypr/wallpaper.png
wallpaper = ,/home/michael/.config/hypr/wallpaper.png
preload = /home/michael/.dotfiles/assets/wallpapers/wall1.png
wallpaper = ,/home/michael/.dotfiles/assets/wallpapers/wall1.png
splash = true

View File

@@ -47,7 +47,7 @@ bind = $mainMod, N, exec, $terminal -e nvim
bind = $mainMod, P, exec, $pwa "https://pass.proton.me"
bind = $mainMod SHIFT, P, pseudo, # dwindle
bind = $mainMod, Y, exec, $pwa "https://youtube.com"
bind = $mainMod, V, exec, kitty --class clipse -e clipse
bind = $mainMod, V, exec, $terminal --class=com.ghostty.clipse -e clipse
bind = $mainMod, W, killactive,
bind = $mainMod SHIFT, R, exec, ~/.local/bin/waybar-restart
@@ -62,6 +62,7 @@ bind = $mainMod SHIFT ALT, 4, exec, hyprshot -m region -o ~/Pictures
bind = $mainMod SHIFT ALT, 3, exec, hyprshot -m window -o ~/Pictures
bind = CTRL, F, exec, ~/.local/bin/window-toggle-floating
#bind = CTRL, F, togglefloating,
# Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l

View File

@@ -5,6 +5,6 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor= ,preferred,auto,auto
#monitor = HDMI-A-1, preferred, 0x0, auto
monitor = HDMI-A-1, preferred, 0x0, 1.66667
#monitor = HDMI-A-1, preferred, 0x0, 1.66667

View File

@@ -10,9 +10,9 @@
windowrule = float, class:^(blueberry.py)$
# Clipboard history tui in floating window.
windowrule = float, class:(clipse)
windowrule = size 622 652, class:(clipse)
windowrule = stayfocused, class:(clipse)
windowrule = float, class:.*clipse.*
windowrule = size 622 652, class:.*clipse.*
windowrule = stayfocused, class:.*clipse.*
windowrule = float,class:^(float)$

View File

@@ -1,3 +1,15 @@
-- bootstrap lazy.nvim, LazyVim and your plugin
vim.g.netrw_browsex_viewer = "xdg-open"
require("config.lazy")
vim.filetype.add({
pattern = {
[".*"] = function(path, bufnr)
local first_line = vim.api.nvim_buf_get_lines(bufnr, 0, 1, false)[1] or ""
if first_line:match("^#!.*zsh") then
return "bash"
end
end,
},
})

View File

@@ -63,3 +63,13 @@ createCmd("TextYankPost", {
vim.highlight.on_yank()
end,
})
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
pattern = "*",
callback = function(args)
local first_line = vim.api.nvim_buf_get_lines(args.buf, 0, 1, false)[1] or ""
if first_line:match("^#!.*zsh") then
vim.bo[args.buf].filetype = "bash"
end
end,
})

View File

@@ -0,0 +1,5 @@
#!/bin/zsh
wl-copy --clear && \
rm ~/.local/share/clipse/clipboard_history.json >/dev/null 2>&1

5
scripts/arch/close-all-windows Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
hyprctl clients -j | \
jq '.[] | .address' | \
xargs -I{} hyprctl dispatch closewindow address:{}

View File

@@ -4,7 +4,7 @@
# The percentage of the screen size for the floating window.
WIDTH_PERCENT=80
HEIGHT_PERCENT=80
HEIGHT_PERCENT=40
floating=$(hyprctl activewindow -j | jq '.floating')
@@ -14,11 +14,14 @@ else
monitor=$(hyprctl monitors -j | jq '.[] | select(.focused == true)')
mw=$(echo "$monitor" | jq '.width')
mh=$(echo "$monitor" | jq '.height')
ms=$(echo "$monitor" | jq '.scale')
neww=$((mw * $WIDTH_PERCENT / 100))
newh=$((mh * $HEIGHT_PERCENT / 100))
echo "scale: $ms"
hyprctl dispatch togglefloating \
&& hyprctl dispatch resizeactive exact $neww $newh \
&& hyprctl dispatch centerwindow
neww=$(echo "scale=6; (($mw / $ms) * $WIDTH_PERCENT / 100)" | bc)
newh=$(echo "scale=6; (($mh / $ms) * $HEIGHT_PERCENT / 100)" | bc)
hyprctl dispatch togglefloating &&
hyprctl dispatch resizeactive exact $neww $newh &&
hyprctl dispatch centerwindow
fi

View File

@@ -16,23 +16,30 @@ yay -S --noconfirm --needed \
asahi-desktop-meta \
base-devel \
bat \
bc \
btop \
catppuccin-gtk-theme-mocha \
eza \
fastfetch \
fzf \
git \
git-lfs \
github-cli \
gum \
hyprpaper \
hyrpidle \
hyprlock \
jq \
neovim \
nodejs \
npm \
nwg-look \
pcsc-controls \
pcsc-tools \
starship \
swaync \
tree-sitter-cli \
tmux \
yubikey-manger \
zoxide \
zsh
@@ -55,8 +62,7 @@ yay -S --noconfirm \
yay -S --noconfirm walker \
elephant \
elephant-calc \
elephant-symbols \
elephant-websearch
elephant-symbols
# Bluetooth management
yay -S --noconfirm blueberry-wayland
@@ -82,3 +88,6 @@ yay -S --noconfirm thunderbird
# Text expander
yay -S --noconfirm espanso-wayland-git
# Yubikey support
sudo sysetmctl enable --now pscsd.service

61
scripts/install-webapps.sh Executable file
View File

@@ -0,0 +1,61 @@
#!/bin/zsh
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Excalidraw" \
--url "https://draw.housh.dev" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/excalidraw.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Gitea" \
--url "https://git.housh.dev" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/gitea.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "GitHub" \
--url "https://github.com" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/github-light.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "HouseCall Pro" \
--url "https://pro.housecallpro.com" \
--icon "~/.dotfiles/assets/icons/housecallpro.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Hyprland Wiki" \
--url "https://https://wiki.hypr.land" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/hyprland.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Immich" \
--url "https://photos.housh.dev" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/immich.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Oryx" \
--url "https://configure.zsa.io/voyager/layouts/v9LLL/latest/0" \
--icon "~/.dotfiles/assets/icons/oryx.png"
#
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Proton Mail" \
--url "https://mail.proton.me" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/proton-mail.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Proton Pass" \
--url "https://pass.proton.me" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/proton-pass.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Unifi Drive" \
--url "https://192.168.10.105/drive/dashboard" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/unifi-drive.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "Unifi" \
--url "https://unifi.ui.com" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/unifi.png"
source ~/.dotfiles/scripts/arch/install-webapp \
--name "YouTube" \
--url "https://youtube.com" \
--icon "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/youtube.png"

57
scripts/link-config.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
ln -sfv ~/.dotfiles/clipse ~/.config
ln -sfv ~/.dotfiles/eza ~/.config
ln -sfv ~/.dotfiles/ghostty ~/.config
ln -sfv ~/.dotfiles/git ~/.config
# TODO: Remove kitty.
ln -sfv ~/.dotfiles/kitty ~/.config
ln -sfv ~/.dotfiles/npm ~/.config
ln -sfv ~/.dotfiles/nvim/lazynvim ~/.config
ln -sfv ~/.dotfiles/starship ~/.config
ln -sfv ~/.dotfiles/systemd ~/.config
ln -sfv ~/.dotfiles/tree-sitter ~/.config
ln -sfv ~/.dotfiles/walker ~/.config
ln -sfv ~/.dotfiles/waybar ~/.config
# Espanso
espanso service stop
rm -rf ~/.config/espanso >/dev/null 2>&1
ln -sfV ~/.dotfiles/espanso ~/.config
espanso service start
# Hyprland
rm -rf ~/.config/hypr >/dev/null 2>&1
ln -sfv ~/.dotfiles/hypr ~/.config
# GPG
mkdir ~/.gnupg
chmod 700 ~/.gnupg
ln -sfv ~/.dotfiles/gpg/gpg-agent.conf ~/.gnupg/gpg-agent.conf
ln -sfv ~/.dotfiles/gpg/gpg.conf ~/.gnupg/gpg.conf
ln -sfv ~/.dotfiles/gpg/scdaemon.conf ~/.gnupg/scdaemon.conf
# yazi
mkdir ~/.config/yazi
ln -sfv ~/.dotfiles/yazi/theme.toml ~/.config/yazi/theme.toml
ln -sfv ~/.dotfiles/yazi/yazi.toml ~/.config/yazi/yazi.toml
# tmux
mkdir -p ~/.config/tmux/plugins
ln -sfv ~/.dotfiles/tmux/tmux.conf ~/.config/tmux/tmux.conf
# scripts
mkdir -p ~/.local/share
ln -sfv ~/.dotfiles/scripts/arch ~/.local/bin
ln -sfv ~/.dotfiles/scripts/scripts ~/.local/share/scripts
# zsh
mkdir -p ~/.config/zsh/plugins
ln -sfv ~/.dotfiles/zsh/.zshenv ~/.zshenv
ln -sfv ~/.dotfiles/zsh/config/.zshenv ~/.config/zsh/.zshenv
ln -sfv ~/.dotfiles/zsh/config/.zshrc ~/.config/zsh/.zshrc
ln -sfv ~/.dotfiles/zsh/config/functions ~/.config/zsh/functions
ln -sfv ~/.dotfiles/zsh/config/zsh-functions ~/.config/zsh/zsh-functions
touch ~/.config/zsh/history
chmod 600 ~/.config/zsh/history
chsh -s $(which zsh)

View File

@@ -2,7 +2,5 @@
# Set up clipse (clipboard history) storage directories / files.
mkdir -p ~/.local/share/clipse/tmp_files
touch ~/.local/share/clipse/clipboard_history.json
chmod 600 ~/.local/share/clipse/clipboard_history.json
mkdir ~/Pictures >/dev/null 2>&1

View File

@@ -11,9 +11,7 @@
font-family: JetbrainsMono Nerd Font;
font-size: 15px;
min-height: 0;
padding-right: 2px;
padding-left: 2px;
padding-bottom: 0px;
margin: 0px;
}
#waybar {
@@ -23,16 +21,16 @@
}
#workspaces {
border-radius: 10px;
background: @background;
margin-right: 5px;
margin-left: 1rem;
border-radius: 10px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0.4rem;
}
#workspaces button {
color: @foreground;
border-radius: 5px;
padding: 0.4rem;
}
#workspaces button.active {
@@ -123,6 +121,7 @@
#custom-lock {
border-radius: 10px;
color: @yellow;
margin-right: 0.4rem;
}
#custom-power {