mirror of
https://github.com/bgrolleman/dotfiles.git
synced 2026-08-09 12:41:43 +02:00
Compare commits
3
Commits
865a1923f5
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be54b6b0ec | ||
|
|
f52815cc65 | ||
|
|
0835211ae9 |
@@ -0,0 +1,15 @@
|
|||||||
|
# Start keychain and source SSH agent variables for all private keys in ~/.ssh
|
||||||
|
if status is-interactive
|
||||||
|
if type -q keychain
|
||||||
|
set -l _ssh_keys
|
||||||
|
for _pub in ~/.ssh/*.pub
|
||||||
|
set -l _key (string replace -r '\.pub$' '' $_pub)
|
||||||
|
if test -f $_key
|
||||||
|
set -a _ssh_keys $_key
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if test (count $_ssh_keys) -gt 0
|
||||||
|
keychain --eval --quiet $_ssh_keys | source
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Machine-specific config (secrets, local overrides) — not tracked in dotfiles
|
||||||
|
if test -f ~/.config/fish/local.fish
|
||||||
|
source ~/.config/fish/local.fish
|
||||||
|
end
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
profile ultrawide-hdmi {
|
||||||
|
output "DP-1" mode 5120x1440 position 0,0 scale 1
|
||||||
|
output "HDMI-A-1" mode 1920x1080 position 1600,1440 scale 1
|
||||||
|
}
|
||||||
|
|
||||||
|
profile ultrawide {
|
||||||
|
output "DP-1" mode 5120x1440 position 0,0 scale 1
|
||||||
|
}
|
||||||
@@ -2,3 +2,4 @@
|
|||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
|
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
|
||||||
|
|
||||||
spawn-sh-at-startup "qs -c noctalia-shell"
|
spawn-sh-at-startup "qs -c noctalia-shell"
|
||||||
|
spawn-at-startup "kanshi"
|
||||||
|
|||||||
+13
-13
@@ -9,7 +9,7 @@ binds {
|
|||||||
//Mod+Shift+ESCAPE { show-hotkey-overlay; }
|
//Mod+Shift+ESCAPE { show-hotkey-overlay; }
|
||||||
|
|
||||||
Mod+h { show-hotkey-overlay; }
|
Mod+h { show-hotkey-overlay; }
|
||||||
Mod+Shift+S { spawn-sh "flameshot gui"; }
|
Mod+Shift+S { spawn-sh "grim -g \"$(slurp)\" - | satty --filename - -o ~/Pictures/Screenshots/satty-%Y%m%d-%H%M%S.png --copy-command wl-copy --actions-on-enter save-to-clipboard --save-after-copy"; }
|
||||||
|
|
||||||
// ─── Applications ───
|
// ─── Applications ───
|
||||||
Alt+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; }
|
Alt+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; }
|
||||||
@@ -102,22 +102,22 @@ binds {
|
|||||||
// Mod+CTRL+Shift+WheelScrollDown { move-column-right; }
|
// Mod+CTRL+Shift+WheelScrollDown { move-column-right; }
|
||||||
// Mod+CTRL+Shift+WheelScrollUp { move-column-left; }
|
// Mod+CTRL+Shift+WheelScrollUp { move-column-left; }
|
||||||
|
|
||||||
Alt+1 { focus-workspace 1; }
|
Alt+1 { focus-workspace "1"; }
|
||||||
Alt+2 { focus-workspace 2; }
|
Alt+2 { focus-workspace "2"; }
|
||||||
Alt+3 { focus-workspace 3; }
|
Alt+3 { focus-workspace "3"; }
|
||||||
Alt+4 { focus-workspace 4; }
|
Alt+4 { focus-workspace "4"; }
|
||||||
Alt+5 { focus-workspace 5; }
|
Alt+5 { focus-workspace "5"; }
|
||||||
Alt+6 { focus-workspace 6; }
|
Alt+6 { focus-workspace "6"; }
|
||||||
Alt+7 { focus-workspace 7; }
|
Alt+7 { focus-workspace 7; }
|
||||||
Alt+8 { focus-workspace 8; }
|
Alt+8 { focus-workspace 8; }
|
||||||
Alt+9 { focus-workspace 9; }
|
Alt+9 { focus-workspace 9; }
|
||||||
|
|
||||||
Alt+Shift+1 { move-column-to-workspace 1; }
|
Alt+Shift+1 { move-column-to-workspace "1"; }
|
||||||
Alt+Shift+2 { move-column-to-workspace 2; }
|
Alt+Shift+2 { move-column-to-workspace "2"; }
|
||||||
Alt+Shift+3 { move-column-to-workspace 3; }
|
Alt+Shift+3 { move-column-to-workspace "3"; }
|
||||||
Alt+Shift+4 { move-column-to-workspace 4; }
|
Alt+Shift+4 { move-column-to-workspace "4"; }
|
||||||
Alt+Shift+5 { move-column-to-workspace 5; }
|
Alt+Shift+5 { move-column-to-workspace "5"; }
|
||||||
Alt+Shift+6 { move-column-to-workspace 6; }
|
Alt+Shift+6 { move-column-to-workspace "6"; }
|
||||||
Alt+Shift+7 { move-column-to-workspace 7; }
|
Alt+Shift+7 { move-column-to-workspace 7; }
|
||||||
Alt+Shift+8 { move-column-to-workspace 8; }
|
Alt+Shift+8 { move-column-to-workspace 8; }
|
||||||
Alt+Shift+9 { move-column-to-workspace 9; }
|
Alt+Shift+9 { move-column-to-workspace 9; }
|
||||||
|
|||||||
+18
-2
@@ -1,2 +1,18 @@
|
|||||||
workspace "browser"
|
workspace "1" {
|
||||||
workspace "chat"
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
workspace "2" {
|
||||||
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
workspace "3" {
|
||||||
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
workspace "4" {
|
||||||
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
workspace "5" {
|
||||||
|
open-on-output "DP-1"
|
||||||
|
}
|
||||||
|
workspace "6" {
|
||||||
|
open-on-output "HDMI-A-1"
|
||||||
|
}
|
||||||
|
|||||||
+17
-4
@@ -60,6 +60,7 @@
|
|||||||
"middleClickCommand": "",
|
"middleClickCommand": "",
|
||||||
"middleClickFollowMouse": false,
|
"middleClickFollowMouse": false,
|
||||||
"monitors": [
|
"monitors": [
|
||||||
|
"DP-1"
|
||||||
],
|
],
|
||||||
"mouseWheelAction": "none",
|
"mouseWheelAction": "none",
|
||||||
"mouseWheelWrap": true,
|
"mouseWheelWrap": true,
|
||||||
@@ -149,7 +150,7 @@
|
|||||||
"hideUnoccupied": false,
|
"hideUnoccupied": false,
|
||||||
"iconScale": 0.8,
|
"iconScale": 0.8,
|
||||||
"id": "Workspace",
|
"id": "Workspace",
|
||||||
"labelMode": "index",
|
"labelMode": "name",
|
||||||
"occupiedColor": "secondary",
|
"occupiedColor": "secondary",
|
||||||
"pillSize": 0.6,
|
"pillSize": 0.6,
|
||||||
"showApplications": false,
|
"showApplications": false,
|
||||||
@@ -182,6 +183,18 @@
|
|||||||
"pinned": [
|
"pinned": [
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"displayMode": "onhover",
|
||||||
|
"iconColor": "none",
|
||||||
|
"id": "Network",
|
||||||
|
"textColor": "none"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"displayMode": "onhover",
|
||||||
|
"iconColor": "none",
|
||||||
|
"id": "Bluetooth",
|
||||||
|
"textColor": "none"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"hideWhenZero": false,
|
"hideWhenZero": false,
|
||||||
"hideWhenZeroUnread": false,
|
"hideWhenZeroUnread": false,
|
||||||
@@ -341,7 +354,7 @@
|
|||||||
"groupClickAction": "cycle",
|
"groupClickAction": "cycle",
|
||||||
"groupContextMenuMode": "extended",
|
"groupContextMenuMode": "extended",
|
||||||
"groupIndicatorStyle": "dots",
|
"groupIndicatorStyle": "dots",
|
||||||
"inactiveIndicators": false,
|
"inactiveIndicators": true,
|
||||||
"indicatorColor": "primary",
|
"indicatorColor": "primary",
|
||||||
"indicatorOpacity": 0.6,
|
"indicatorOpacity": 0.6,
|
||||||
"indicatorThickness": 3,
|
"indicatorThickness": 3,
|
||||||
@@ -475,8 +488,8 @@
|
|||||||
"bluetoothRssiPollIntervalMs": 60000,
|
"bluetoothRssiPollIntervalMs": 60000,
|
||||||
"bluetoothRssiPollingEnabled": false,
|
"bluetoothRssiPollingEnabled": false,
|
||||||
"disableDiscoverability": false,
|
"disableDiscoverability": false,
|
||||||
"networkPanelView": "wifi",
|
"networkPanelView": "ethernet",
|
||||||
"wifiDetailsViewMode": "grid"
|
"wifiDetailsViewMode": "list"
|
||||||
},
|
},
|
||||||
"nightLight": {
|
"nightLight": {
|
||||||
"autoSchedule": true,
|
"autoSchedule": true,
|
||||||
|
|||||||
@@ -14,6 +14,20 @@ link() {
|
|||||||
ln -s "$2" "$1"
|
ln -s "$2" "$1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
# Like link(), but backs up existing regular files instead of skipping them
|
||||||
|
smartlink() {
|
||||||
|
local target="$1" source="$2"
|
||||||
|
echo "Linking $target to $source"
|
||||||
|
if [ -L "$target" ]; then
|
||||||
|
: # already a symlink, nothing to do
|
||||||
|
elif [ -e "$target" ]; then
|
||||||
|
mv "$target" "${target}.bak"
|
||||||
|
echo " Backed up existing file to ${target}.bak"
|
||||||
|
ln -s "$source" "$target"
|
||||||
|
else
|
||||||
|
ln -s "$source" "$target"
|
||||||
|
fi
|
||||||
|
}
|
||||||
configlink() {
|
configlink() {
|
||||||
link ~/.config/$1 ~/.dotfiles/$1
|
link ~/.config/$1 ~/.dotfiles/$1
|
||||||
}
|
}
|
||||||
@@ -29,6 +43,20 @@ configlink polybar
|
|||||||
configlink picom.conf
|
configlink picom.conf
|
||||||
configlink niri
|
configlink niri
|
||||||
configlink noctalia
|
configlink noctalia
|
||||||
|
configlink kanshi
|
||||||
|
|
||||||
checkdir ~/.claude
|
checkdir ~/.claude
|
||||||
link ~/.claude/settings.json ~/.dotfiles/claude/settings.json
|
link ~/.claude/settings.json ~/.dotfiles/claude/settings.json
|
||||||
|
|
||||||
|
# Fish shell config
|
||||||
|
checkdir ~/.config/fish
|
||||||
|
checkdir ~/.config/fish/conf.d
|
||||||
|
smartlink ~/.config/fish/config.fish ~/.dotfiles/fish/config.fish
|
||||||
|
link ~/.config/fish/conf.d/ssh-keychain.fish ~/.dotfiles/fish/conf.d/ssh-keychain.fish
|
||||||
|
|
||||||
|
# Migrate BW_SESSION and other machine-specific fish vars to local.fish
|
||||||
|
if [ -f ~/.config/fish/config.fish.bak ] && [ ! -f ~/.config/fish/local.fish ]; then
|
||||||
|
echo " Migrating machine-specific config from config.fish.bak to local.fish"
|
||||||
|
grep -v '^#' ~/.config/fish/config.fish.bak | grep -v '^\s*$' > ~/.config/fish/local.fish
|
||||||
|
echo " Review ~/.config/fish/local.fish and remove anything now handled by dotfiles"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user