This commit is contained in:
Christoffer Martinsson 2024-12-09 22:44:32 +01:00
commit 9a624967cd
7 changed files with 125 additions and 69 deletions

View File

@ -10,7 +10,7 @@ listener {
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
} }
listener { # listener {
timeout = 1800 # 30min # timeout = 1800 # 30min
on-timeout = systemctl suspend # suspend pc # on-timeout = systemctl suspend # suspend pc
} # }

View File

@ -1,15 +1,21 @@
################ ################
### MONITORS ### ### MONITORS ###
################ ################
monitor=,preferred,auto,auto # monitor=,1920x1200,auto,auto
monitor=desc:Lenovo Group Limited P24h-10 0x01010101,2560x1440,auto,1
# xwayland {
# force_zero_scaling = true
# }
# env = GDK_SCALE,1.333333
# env = XCURSOR_SIZE,49
################### ###################
### MY PROGRAMS ### ### MY PROGRAMS ###
################### ###################
$terminal = kitty $terminal = kitty
$fileManager = dolphin $fileManager = dolphin
$browser = brave $browser = brave --new-window --hide-crash-restore-bubble
$menu = rofi -show drun
################# #################
### AUTOSTART ### ### AUTOSTART ###
@ -22,9 +28,10 @@ exec-once = waybar
exec-once = hypridle exec-once = hypridle
exec-once = /usr/local/bin/pypr --debug /tmp/pypr.log exec-once = /usr/local/bin/pypr --debug /tmp/pypr.log
exec-once = systemctl --user start sunshine exec-once = systemctl --user start sunshine
exec-once = input-remapper-control --command autoload
exec-once = org.remmina.Remmina -i
exec-once = [workspace 1 silent] $terminal exec-once = [workspace 1] $terminal
exec-once = [workspace 2 silent] $browser
############################# #############################
### ENVIRONMENT VARIABLES ### ### ENVIRONMENT VARIABLES ###
@ -117,8 +124,8 @@ misc {
vfr = true vfr = true
vrr = 0 vrr = 0
animate_manual_resizes = true animate_manual_resizes = true
mouse_move_focuses_monitor = true mouse_move_focuses_monitor = false
enable_swallow = true enable_swallow = false
swallow_regex = ^(wezterm)$ swallow_regex = ^(wezterm)$
} }
@ -131,10 +138,9 @@ input {
kb_model = kb_model =
kb_rules = kb_rules =
kb_options = ctrl:nocaps, fkeys:basic_13-24 kb_options = ctrl:nocaps, fkeys:basic_13-24
follow_mouse = 0
follow_mouse = 1 sensitivity = 0.4 # -1.0 - 1.0, 0 means no modification.
accel_profile = flat
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad { touchpad {
natural_scroll = false natural_scroll = false
@ -146,8 +152,15 @@ gestures {
} }
device { device {
name = epic-mouse-v1 name = elecom-trackball-mouse-deft-pro-trackball-1
sensitivity = -0.5 # sensitivity = -0.4
# accel_profile = adaptive
}
device {
name = input-remapper-elecom-trackball-mouse-deft-pro-trackball-forwarded
# sensitivity = -0.4
# accel_profile = adaptive
} }
################### ###################
@ -155,16 +168,12 @@ device {
################### ###################
$mainMod = SHIFT ALT $mainMod = SHIFT ALT
bind = $mainMod, Q, exec, wlogout
bind = $mainMod, T, exec, [float] $terminal
bind = $mainMod, X, fullscreen bind = $mainMod, X, fullscreen
bind = $mainMod, C, killactive, bind = $mainMod, C, killactive,
bind = $mainMod, M, exit, bind = $mainMod, Z, togglefloating,
bind = $mainMod, G, exec, flatpak run com.moonlight_stream.Moonlight bind = ALT, Tab, workspace, e+1
bind = $mainMod, R, exec, flatpak run org.remmina.Remmina
bind = $mainMod, F, togglefloating,
bind = ALT, Tab, workspace, m+1
bind = ALT SHIFT, Tab, workspace, emptyn bind = ALT SHIFT, Tab, workspace, emptyn
bind = $mainMod, DEL, exit,
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l bind = $mainMod, left, movefocus, l
@ -200,7 +209,8 @@ bind = $mainMod SUPER, 0, movetoworkspace, 10
bind = $mainMod, S, togglespecialworkspace, scratchpad bind = $mainMod, S, togglespecialworkspace, scratchpad
bind = $mainMod, B, togglespecialworkspace, btop bind = $mainMod, B, togglespecialworkspace, btop
bind = $mainMod, D, togglespecialworkspace, discord bind = $mainMod, D, togglespecialworkspace, discord
# bind = $mainMod, R, togglespecialworkspace, remmina bind = $mainMod, W, togglespecialworkspace, web
bind = $mainMod, F, togglespecialworkspace, fzfmenu
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
@ -236,32 +246,39 @@ windowrulev2 = float, onworkspace:special:scratchpad
windowrulev2 = size 80% 80%, onworkspace:special:scratchpad windowrulev2 = size 80% 80%, onworkspace:special:scratchpad
workspace = special:scratchpad, on-created-empty:kitty workspace = special:scratchpad, on-created-empty:kitty
# FzfMenu
windowrulev2 = float, onworkspace:special:fzfmenu
windowrulev2 = size 30% 80%, onworkspace:special:fzfmenu
workspace = special:fzfmenu, on-created-empty:kitty fzfmenu
# Btop # Btop
windowrulev2 = float, onworkspace:special:btop windowrulev2 = float, onworkspace:special:btop
windowrulev2 = size 80% 80%, onworkspace:special:btop windowrulev2 = size 80% 80%, onworkspace:special:btop
workspace = special:btop, on-created-empty:kitty btop workspace = special:btop, on-created-empty:kitty btop
# Remmina # Web
# windowrulev2 = float, onworkspace:special:remmina windowrulev2 = size 450 253, initialTitle:^(Picture in picture)$
# windowrulev2 = size 80% 80%, onworkspace:special:remmina windowrulev2 = float, onworkspace:special:web
# workspace = special:remmina, on-created-empty:flatpak run org.remmina.Remmina windowrulev2 = size 80% 80%, onworkspace:special:web
# windowrulev2 = float, initialClass:^(.*Remmina.*)$ windowrulev2 = center, onworkspace:special:web
# windowrulev2 = dimaround, initialClass:^(.*Remmina.*)$ workspace = special:web, on-created-empty:$browser
# windowrulev2 = size 80% 80%, $initialClass:^(.*Remmina.*)$ windowrulev2 = opacity 1.0 0.9, initialTitle:^(Picture in picture)$
windowrulev2 = workspace 6, $initialClass:^(.*Remmina.*)$ windowrulev2 = float, initialTitle:^(Picture in picture)$
windowrulev2 = move 100%-w-20 50, initialTitle:^(Picture in picture)$
windowrulev2 = workspace e+0, initialTitle:^(Picture in picture)$
# Discord # Discord
windowrulev2 = opacity 1.0 0.7, initialTitle:^(Discord Popout)$
windowrulev2 = float, initialTitle:^(Discord Popout)$
windowrulev2 = size 450 253, initialTitle:^(Discord Popout)$ windowrulev2 = size 450 253, initialTitle:^(Discord Popout)$
windowrulev2 = move 100%-w-20 50, initialTitle:^(Discord Popout)$
windowrulev2 = workspace e+0, initialTitle:^(Discord Popout)$
windowrulev2 = float, onworkspace:special:discord windowrulev2 = float, onworkspace:special:discord
windowrulev2 = size 80% 80%, onworkspace:special:discord windowrulev2 = size 80% 80%, onworkspace:special:discord
workspace = special:discord, on-created-empty:flatpak run io.github.equicord.equibop workspace = special:discord, on-created-empty:flatpak run io.github.equicord.equibop
windowrulev2 = workspace special:discord, initialTitle:^(.*• Discord.*)$ windowrulev2 = workspace special:discord, initialTitle:^(.*Discord.*)$
windowrulev2 = float, initialTitle:^(.*• Discord.*)$ windowrulev2 = float, initialTitle:^(.*Discord.*)$
windowrulev2 = size 80% 80%, initialTitle:^(.*• Discord.*)$ windowrulev2 = size 80% 80%, initialTitle:^(.*Discord.*)$
windowrulev2 = opacity 1.0 0.9, initialTitle:^(Discord Popout)$
windowrulev2 = float, initialTitle:^(Discord Popout)$
windowrulev2 = move 100%-w-20 50, initialTitle:^(Discord Popout)$
windowrulev2 = workspace e+0, initialTitle:^(Discord Popout)$
# Pipewire # Pipewire
windowrulev2 = float, title:^(volume control)$ windowrulev2 = float, title:^(volume control)$
@ -269,21 +286,23 @@ windowrulev2 = dimaround, title:^(Volume Control)$
windowrulev2 = float, title:^(Helvum - Pipewire Patchbay)$ windowrulev2 = float, title:^(Helvum - Pipewire Patchbay)$
windowrulev2 = dimaround, title:^(Helvum - Pipewire Patchbay)$ windowrulev2 = dimaround, title:^(Helvum - Pipewire Patchbay)$
# Kicad # Moonlight
windowrulev2 = workspace 4, class:^(.*kicad.*)$ windowrulev2 = workspace 2, class:^(.*moonlight.*)$
# FreeCad
windowrulev2 = workspace 4, class:^(.*org.freecad.FreeCAD.*)$
# KiCad
windowrulev2 = workspace 3, class:^(.*kicad.*)$
windowrulev2 = float, initialTitle:^(3D Viewer)$ windowrulev2 = float, initialTitle:^(3D Viewer)$
windowrulev2 = dimaround, initialTitle:^(3D Viewer)$ windowrulev2 = dimaround, initialTitle:^(3D Viewer)$
windowrulev2 = size 80% 80%, $initialTitle:^(3D Viewer)$ windowrulev2 = size 80% 80%, $initialTitle:^(3D Viewer)$
# Moonlight # Remmina
windowrulev2 = workspace 3, class:^(.*moonlight.*)$ windowrulev2 = workspace 5, $initialClass:^(.*Remmina.*)$
# FreeCad
windowrulev2 = workspace 5, class:^(.*org.freecad.FreeCAD.*)$
# Ignore maximize requests from apps. You'll probably like this. # Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.* windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

View File

@ -157,6 +157,19 @@ require('lazy').setup({
-- 'zbirenbaum/copilot-cmp', -- 'zbirenbaum/copilot-cmp',
-- config = function() require('copilot_cmp').setup() end, -- config = function() require('copilot_cmp').setup() end,
-- }, -- },
{
"ahmedkhalf/project.nvim",
config = function()
require("project_nvim").setup {
sync_root_with_cwd = true,
respect_buf_cwd = true,
update_focused_file = {
enable = true,
update_root = true
},
}
end
},
{ {
-- Highlight, edit, and navigate code -- Highlight, edit, and navigate code

View File

@ -20,7 +20,6 @@
"modules-left": [ "modules-left": [
"hyprland/workspaces", "hyprland/workspaces",
"hyprland/window",
], ],
"modules-center": [ "modules-center": [
"clock", "clock",
@ -35,7 +34,6 @@
"memory", "memory",
"custom/separator", "custom/separator",
"cpu", "cpu",
"custom/separator",
], ],
@ -99,7 +97,9 @@
"hyprland/workspaces": { "hyprland/workspaces": {
"all-outputs": false, "all-outputs": false,
"disable-scroll": true, "disable-scroll": true,
"format": "{name}", "sort-by-name": true,
"sort-by-coordinates": false,
"format": " {name} ",
}, },
"tray": { "tray": {

View File

@ -163,6 +163,6 @@ command)
command="${PARAMS[0]}" command="${PARAMS[0]}"
;; ;;
esac esac
hyprctl dispatch togglespecialworkspace scratchpad hyprctl dispatch togglespecialworkspace fzfmenu
hyprctl dispatch exec "$command" hyprctl dispatch exec "$command"
# hyprctl dispatch killactive # hyprctl dispatch killactive

View File

@ -1,17 +1,36 @@
#!/bin/bash #!/bin/bash
if [ "$(dpkg -l | awk '/ubuntu-desktop/ {print }'|wc -l)" -ge 1 ]; then if [ -f /etc/os-release ]; then
while [ ! -f /media/$USER/RPI-RP2/INFO_UF2.TXT ]; do . /etc/os-release
sleep 1 OS=$NAME
done
set -e
cargo run --release
else else
sudo umount /mnt/usb OS="none"
while [ ! -f /mnt/usb/INFO_UF2.TXT ]; do fi
sudo mount /dev/sda1 /mnt/usb -o umask=000
sleep 1 if [ "$OS" == "Ubuntu" ]; then
done if [ "$(dpkg -l | awk '/ubuntu-desktop/ {print }' | wc -l)" -ge 1 ]; then
set -e while [ ! -f /media/$USER/RPI-RP2/INFO_UF2.TXT ]; do
cargo run --release sleep 1
sudo umount /mnt/usb done
set -e
cargo run --release
else
sudo umount /mnt/usb
while [ ! -f /mnt/usb/INFO_UF2.TXT ]; do
sudo mount /dev/sda1 /mnt/usb -o umask=000
sleep 1
done
set -e
cargo run --release
sudo umount /mnt/usb
fi
elif [ "$OS" == "Arch Linux" ]; then
sudo umount /mnt/usb
while [ ! -f /mnt/usb/INFO_UF2.TXT ]; do
sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb -o umask=000
sleep 1
done
set -e
cargo run --release
sudo umount /mnt/usb
fi fi

View File

@ -68,7 +68,7 @@ ln -sf ~/code_server/gitconfig ~/.gitconfig
# Install hyprland # Install hyprland
printf -- '\033[33m Installing hyprland\n\033[37m' printf -- '\033[33m Installing hyprland\n\033[37m'
sudo pacman --noconfirm --needed -S plymouth dracut dunst hypridle hyprland hyprlock xdg-desktop-portal-hyprland polkit-gnome xorg-xhost gnome-keyring qt5ct qt6ct gnome-themes-extra qt5-wayland qt6-wayland lxappearance sudo pacman --noconfirm --needed -S usbutils plymouth dracut dunst hypridle hyprland hyprlock xdg-desktop-portal-hyprland polkit-gnome xorg-xhost gnome-keyring qt5ct qt6ct gnome-themes-extra qt5-wayland qt6-wayland lxappearance
yay --noconfirm -S --needed --aur adwaita-qt5-git yay --noconfirm -S --needed --aur adwaita-qt5-git
yay --noconfirm -S --needed --aur adwaita-qt6-git yay --noconfirm -S --needed --aur adwaita-qt6-git
@ -93,6 +93,11 @@ ln -sf ~/code_server/config/waybar/style.css ~/.config/waybar/style.css
printf -- '\033[33m Installing Audio\n\033[37m' printf -- '\033[33m Installing Audio\n\033[37m'
sudo pacman --noconfirm --needed -S pipewire pipewire-pulse pavucontrol helvum sudo pacman --noconfirm --needed -S pipewire pipewire-pulse pavucontrol helvum
# Install input-remapper
printf -- '\033[33m Installing input-remapper\n\033[37m'
yay --noconfirm -S --needed --aur input-remapper-git
sudo systemctl enable --now input-remapper
# Install networkmanager # Install networkmanager
printf -- '\033[33m Installing networkmanager\n\033[37m' printf -- '\033[33m Installing networkmanager\n\033[37m'
sudo pacman --noconfirm --needed -S network-manager-applet sudo pacman --noconfirm --needed -S network-manager-applet
@ -136,8 +141,8 @@ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install --all ~/.fzf/install --all
source ~/.fzf.bash source ~/.fzf.bash
# # Install VirtualHere server # Install VirtualHere server
# curl https://raw.githubusercontent.com/virtualhere/script/main/install_server | sudo sh curl https://raw.githubusercontent.com/virtualhere/script/main/install_server | sudo sh
# Install VirtualHere client # Install VirtualHere client
printf -- '\033[33m Installing VirtualHere client\n\033[37m' printf -- '\033[33m Installing VirtualHere client\n\033[37m'