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 - Separate scripts that are used for configurations / store them somewhere aside
from `~/.local/bin` from `~/.local/bin`
- Remove system-d stuff (don't think it's needed). - 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 # https://wiki.hyprland.org/Configuring/Variables/#general
general { general {
gaps_in = 3 gaps_in = 5
gaps_out = 0, 5, 5, 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 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg 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 # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false allow_tearing = false
layout = master # dwindle or master layout = dwindle # dwindle or master
} }
# https://wiki.hyprland.org/Configuring/Variables/#decoration # 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 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 preserve_split = true # You probably want this
force_split = 2 # always split to the right or bottom 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 use_active_for_splits = false
default_split_ratio = 1.25 #default_split_ratio = 1.25
split_bias = 0 split_bias = 0
} }

View File

@@ -1,3 +1,3 @@
preload = /home/michael/.config/hypr/wallpaper.png preload = /home/michael/.dotfiles/assets/wallpapers/wall1.png
wallpaper = ,/home/michael/.config/hypr/wallpaper.png wallpaper = ,/home/michael/.dotfiles/assets/wallpapers/wall1.png
splash = true 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, P, exec, $pwa "https://pass.proton.me"
bind = $mainMod SHIFT, P, pseudo, # dwindle bind = $mainMod SHIFT, P, pseudo, # dwindle
bind = $mainMod, Y, exec, $pwa "https://youtube.com" 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, W, killactive,
bind = $mainMod SHIFT, R, exec, ~/.local/bin/waybar-restart 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 = $mainMod SHIFT ALT, 3, exec, hyprshot -m window -o ~/Pictures
bind = CTRL, F, exec, ~/.local/bin/window-toggle-floating bind = CTRL, F, exec, ~/.local/bin/window-toggle-floating
#bind = CTRL, F, togglefloating,
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l

View File

@@ -5,6 +5,6 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor= ,preferred,auto,auto monitor= ,preferred,auto,auto
#monitor = HDMI-A-1, preferred, 0x0, 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)$ windowrule = float, class:^(blueberry.py)$
# Clipboard history tui in floating window. # Clipboard history tui in floating window.
windowrule = float, class:(clipse) windowrule = float, class:.*clipse.*
windowrule = size 622 652, class:(clipse) windowrule = size 622 652, class:.*clipse.*
windowrule = stayfocused, class:(clipse) windowrule = stayfocused, class:.*clipse.*
windowrule = float,class:^(float)$ windowrule = float,class:^(float)$

View File

@@ -1,3 +1,15 @@
-- bootstrap lazy.nvim, LazyVim and your plugin -- bootstrap lazy.nvim, LazyVim and your plugin
vim.g.netrw_browsex_viewer = "xdg-open" vim.g.netrw_browsex_viewer = "xdg-open"
require("config.lazy") 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() vim.highlight.on_yank()
end, 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

@@ -19,10 +19,10 @@ return {
"TmuxNavigatorProcessList", "TmuxNavigatorProcessList",
}, },
keys = { keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" }, { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" }, { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" }, { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" }, { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" }, { "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
}, },
}, },

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

View File

@@ -16,23 +16,30 @@ yay -S --noconfirm --needed \
asahi-desktop-meta \ asahi-desktop-meta \
base-devel \ base-devel \
bat \ bat \
bc \
btop \ btop \
catppuccin-gtk-theme-mocha \ catppuccin-gtk-theme-mocha \
eza \ eza \
fastfetch \ fastfetch \
fzf \ fzf \
git \ git \
git-lfs \
github-cli \ github-cli \
gum \ gum \
hyprpaper \ hyprpaper \
hyrpidle \ hyrpidle \
hyprlock \ hyprlock \
jq \
neovim \ neovim \
nodejs \
npm \
nwg-look \ nwg-look \
pcsc-controls \ pcsc-tools \
starship \ starship \
swaync \ swaync \
tree-sitter-cli \
tmux \ tmux \
yubikey-manger \
zoxide \ zoxide \
zsh zsh
@@ -55,8 +62,7 @@ yay -S --noconfirm \
yay -S --noconfirm walker \ yay -S --noconfirm walker \
elephant \ elephant \
elephant-calc \ elephant-calc \
elephant-symbols \ elephant-symbols
elephant-websearch
# Bluetooth management # Bluetooth management
yay -S --noconfirm blueberry-wayland yay -S --noconfirm blueberry-wayland
@@ -82,3 +88,6 @@ yay -S --noconfirm thunderbird
# Text expander # Text expander
yay -S --noconfirm espanso-wayland-git 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. # Set up clipse (clipboard history) storage directories / files.
mkdir -p ~/.local/share/clipse/tmp_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-family: JetbrainsMono Nerd Font;
font-size: 15px; font-size: 15px;
min-height: 0; min-height: 0;
padding-right: 2px; margin: 0px;
padding-left: 2px;
padding-bottom: 0px;
} }
#waybar { #waybar {
@@ -23,16 +21,16 @@
} }
#workspaces { #workspaces {
border-radius: 10px;
background: @background; background: @background;
margin-right: 5px; border-radius: 10px;
margin-left: 1rem; margin-top: 5px;
margin-bottom: 5px;
margin-left: 0.4rem;
} }
#workspaces button { #workspaces button {
color: @foreground; color: @foreground;
border-radius: 5px; border-radius: 5px;
padding: 0.4rem;
} }
#workspaces button.active { #workspaces button.active {
@@ -123,6 +121,7 @@
#custom-lock { #custom-lock {
border-radius: 10px; border-radius: 10px;
color: @yellow; color: @yellow;
margin-right: 0.4rem;
} }
#custom-power { #custom-power {