add stuff
This commit is contained in:
@ -390,7 +390,7 @@
|
|||||||
"command": "-workbench.action.gotoLine"
|
"command": "-workbench.action.gotoLine"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "ctrl+g",
|
"key": "alt+space",
|
||||||
"command": "relative-goto.goto"
|
"command": "relative-goto.goto"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
//
|
"workbench.iconTheme": "Default Light Modern Icons",
|
||||||
// Appearance
|
"editor.fontFamily": "JetBrains Mono Semibold, Fira Code, Menlo, Monaco, 'Courier New', monospace",
|
||||||
"workbench.colorTheme": "Monokai Pro",
|
|
||||||
"workbench.iconTheme": "Monokai Pro Icons",
|
|
||||||
"editor.fontFamily": "Fira Code, Menlo, Monaco, 'Courier New', monospace",
|
|
||||||
"editor.fontSize": 18,
|
"editor.fontSize": 18,
|
||||||
"editor.fontWeight": "normal",
|
"editor.fontWeight": "normal",
|
||||||
"editor.fontLigatures": true,
|
"editor.fontLigatures": true,
|
||||||
@ -123,4 +120,13 @@
|
|||||||
"python.defaultInterpreterPath": "/home/paul/.pyenv/versions/3.12.5/envs/wasteside-tools",
|
"python.defaultInterpreterPath": "/home/paul/.pyenv/versions/3.12.5/envs/wasteside-tools",
|
||||||
"editor.lineNumbers": "relative",
|
"editor.lineNumbers": "relative",
|
||||||
"github.copilot.nextEditSuggestions.enabled": true,
|
"github.copilot.nextEditSuggestions.enabled": true,
|
||||||
|
"json.schemaDownload.trustedDomains": {
|
||||||
|
"https://schemastore.azurewebsites.net/": true,
|
||||||
|
"https://raw.githubusercontent.com/": true,
|
||||||
|
"https://www.schemastore.org/": true,
|
||||||
|
"https://json.schemastore.org/": true,
|
||||||
|
"https://json-schema.org/": true,
|
||||||
|
"https://vicinae.com/schemas/config.json": true
|
||||||
|
},
|
||||||
|
"workbench.colorTheme": "Monokai Pro",
|
||||||
}
|
}
|
||||||
1
.config/_default.jsonc
Symbolic link
1
.config/_default.jsonc
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
vicinae/_default.jsonc
|
||||||
1
.config/appeareance.jsonc
Symbolic link
1
.config/appeareance.jsonc
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
vicinae/appeareance.jsonc
|
||||||
@ -1,2 +1,2 @@
|
|||||||
--enable-features=UseOzonePlatform
|
# --enable-features=UseOzonePlatform
|
||||||
--ozone-platform=wayland
|
--ozone-platform=wayland
|
||||||
|
|||||||
3
.config/darkman/config.yaml
Normal file
3
.config/darkman/config.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
lat: 52.375893
|
||||||
|
lng: 9.732010
|
||||||
|
dbusserver: true
|
||||||
@ -4,7 +4,7 @@
|
|||||||
### Display ###
|
### Display ###
|
||||||
|
|
||||||
# Which monitor should the notifications be displayed on.
|
# Which monitor should the notifications be displayed on.
|
||||||
monitor = DP-2
|
monitor = DP-1
|
||||||
|
|
||||||
# Display notification on focused monitor. Possible modes are:
|
# Display notification on focused monitor. Possible modes are:
|
||||||
# mouse: follow mouse pointer
|
# mouse: follow mouse pointer
|
||||||
@ -196,7 +196,8 @@
|
|||||||
max_icon_size = 50
|
max_icon_size = 50
|
||||||
|
|
||||||
# Paths to default icons.
|
# Paths to default icons.
|
||||||
icon_path = /usr/share/icons/Adwaita/16x16/mimetypes/:/usr/share/icons/Papirus-Dark/16x16/actions/
|
icon_path = "/usr/share/icons/Adwaita/symbolic/actions:/home/paul/.config/dunst/icons"
|
||||||
|
# enable_recursive_icon_lookup = true
|
||||||
|
|
||||||
default_icon = "/home/paul/.config/dunst/default.svg"
|
default_icon = "/home/paul/.config/dunst/default.svg"
|
||||||
|
|
||||||
|
|||||||
1
.config/dunst/icons/homeassistant.svg
Normal file
1
.config/dunst/icons/homeassistant.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"/></svg>
|
||||||
|
After Width: | Height: | Size: 659 B |
1
.config/general.jsonc
Symbolic link
1
.config/general.jsonc
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
vicinae/general.jsonc
|
||||||
@ -16,8 +16,8 @@
|
|||||||
################
|
################
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
monitor=DP-2,3440x1440@144,auto,auto
|
monitor=DP-1,3440x1440@144,auto,auto
|
||||||
monitor=DP-3,1920x1080,-1080x-550,1,transform,1
|
monitor=DP-2,1920x1080,-1080x-550,1,transform,1
|
||||||
monitor=HDMI-A-1,3440x1440@144,auto,auto
|
monitor=HDMI-A-1,3440x1440@144,auto,auto
|
||||||
|
|
||||||
|
|
||||||
@ -31,6 +31,8 @@ monitor=HDMI-A-1,3440x1440@144,auto,auto
|
|||||||
$terminal = alacritty
|
$terminal = alacritty
|
||||||
$fileManager = nautilus --new-window
|
$fileManager = nautilus --new-window
|
||||||
$browser = firefox
|
$browser = firefox
|
||||||
|
$launcher = vicinae toggle
|
||||||
|
# $launcher = tofi-drun | xargs hyprctl dispatch exec --
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
@ -44,14 +46,17 @@ exec-once = hyprpaper
|
|||||||
exec-once = hypridle
|
exec-once = hypridle
|
||||||
exec-once = systemctl --user start hyprpolkitagent
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
exec-once = dunst
|
exec-once = dunst
|
||||||
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
# exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||||
exec-once = waybar
|
exec-once = waybar
|
||||||
|
exec-once = darkman run
|
||||||
|
exec-once = vicinae server
|
||||||
|
|
||||||
# Open programs on special workspaces
|
# Open programs on special workspaces
|
||||||
exec-once = [ workspace special:term silent] $terminal
|
exec-once = [ workspace special:term silent] $terminal
|
||||||
exec-once = [ workspace special:browser silent] $browser "https://web.whatsapp.com" "https://mail.google.com/mail/u/0/\##inbox/\##wasteside\##container-wasteside"
|
exec-once = [ workspace special:browser silent] $browser "ext+container:name=Meta&url=https://web.whatsapp.com" "ext+container:name=Wasteside&url=https://mail.google.com"
|
||||||
exec-once = [ workspace special:browser silent] gnome-calendar
|
exec-once = [ workspace special:browser silent] gnome-calendar
|
||||||
exec-once = [ workspace special:music silent] $terminal -e spotify_player
|
exec-once = [ workspace special:music silent] $terminal -e spotify_player
|
||||||
|
exec-once = [ workspace special:music silent] $terminal -e wiremix
|
||||||
exec-once = [ workspace special:todo silent] clickup
|
exec-once = [ workspace special:todo silent] clickup
|
||||||
exec-once = [ workspace special:files silent] $fileManager
|
exec-once = [ workspace special:files silent] $fileManager
|
||||||
exec-once = [ workspace special:files silent] localsend
|
exec-once = [ workspace special:files silent] localsend
|
||||||
@ -66,6 +71,9 @@ exec-once = ratbagctl list
|
|||||||
exec-once = hyprpm enable Hyprspace
|
exec-once = hyprpm enable Hyprspace
|
||||||
exec-once = hyprpm reload
|
exec-once = hyprpm reload
|
||||||
|
|
||||||
|
# Custom scripts
|
||||||
|
exec-once = ~/code/ha-notifications/ha-notifications
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
#############################
|
#############################
|
||||||
@ -74,10 +82,7 @@ exec-once = hyprpm reload
|
|||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
env = XCURSOR_SIZE,24
|
||||||
env = HYPRCURSOR_SIZE,24
|
env = HYPRCURSOR_SIZE,24
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = XDG_SESSION_TYPE,wayland
|
env = XDG_SESSION_TYPE,wayland
|
||||||
env = GBM_BACKEND,nvidia-drm
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
env = HYPRSHOT_DIR,/home/paul/screenshots
|
env = HYPRSHOT_DIR,/home/paul/screenshots
|
||||||
|
|
||||||
cursor {
|
cursor {
|
||||||
@ -119,7 +124,7 @@ decoration {
|
|||||||
active_opacity = 1.0
|
active_opacity = 1.0
|
||||||
inactive_opacity = 1.0
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
dim_special = 0.9
|
dim_special = 0.7
|
||||||
|
|
||||||
# Deprecated v0.45 ?
|
# Deprecated v0.45 ?
|
||||||
# drop_shadow = true
|
# drop_shadow = true
|
||||||
@ -143,15 +148,16 @@ animations {
|
|||||||
|
|
||||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
bezier = bz, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
animation = windows, 1, 7, myBezier
|
animation = windows, 1, 4, bz
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
animation = windowsOut, 1, 4, default, popin 80%
|
||||||
animation = border, 1, 10, default
|
animation = border, 1, 10, default
|
||||||
animation = borderangle, 1, 8, default
|
animation = borderangle, 1, 8, default
|
||||||
animation = fade, 1, 7, default
|
animation = fade, 1, 7, default
|
||||||
animation = workspaces, 1, 6, default
|
animation = workspaces, 1, 3, default
|
||||||
animation = specialWorkspaceIn, 1, 2, default
|
|
||||||
|
animation = specialWorkspace, 1, 2, default, fade
|
||||||
}
|
}
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
@ -169,6 +175,8 @@ master {
|
|||||||
misc {
|
misc {
|
||||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
|
||||||
|
close_special_on_empty = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -183,14 +191,11 @@ input {
|
|||||||
kb_model =
|
kb_model =
|
||||||
kb_options =
|
kb_options =
|
||||||
kb_rules =
|
kb_rules =
|
||||||
|
numlock_by_default = true
|
||||||
|
|
||||||
follow_mouse = 2
|
follow_mouse = 2
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
@ -205,6 +210,10 @@ device {
|
|||||||
sensitivity = -0.5
|
sensitivity = -0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
hide_special_on_workspace_change = true
|
||||||
|
}
|
||||||
|
|
||||||
# cursor {
|
# cursor {
|
||||||
# no_warps = true
|
# no_warps = true
|
||||||
# }
|
# }
|
||||||
@ -220,14 +229,15 @@ $mainMod = SUPER # Sets "Windows" key as main modifier
|
|||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
bind = $mainMod, T, exec, $terminal
|
bind = $mainMod, T, exec, $terminal
|
||||||
bind = $mainMod, B, exec, $browser
|
bind = $mainMod, B, exec, $browser
|
||||||
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
bind = $mainMod, Return, exec, $launcher
|
||||||
bind = $mainMod, Q, killactive,
|
bind = $mainMod, Q, killactive,
|
||||||
bind = $mainMod, F, fullscreen,
|
bind = $mainMod, F, fullscreen,
|
||||||
bind = $mainMod, M, splitratio, exact 0.6,
|
bind = $mainMod, M, splitratio, exact 0.6,
|
||||||
bind = $mainMod, mouse_down, splitratio, 0.1
|
bind = $mainMod, mouse_down, splitratio, 0.1
|
||||||
bind = $mainMod, mouse_up, splitratio, -0.1
|
bind = $mainMod, mouse_up, splitratio, -0.1
|
||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
# bind = $mainMod, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history
|
||||||
bind = $mainMod, X, togglefloating,
|
bind = $mainMod, X, togglefloating,
|
||||||
bind = $mainMod, P, pin, active
|
bind = $mainMod, P, pin, active
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
@ -250,7 +260,7 @@ bind = $mainMod SHIFT, right, movewindow, r
|
|||||||
bind = $mainMod SHIFT, up, movewindow, u
|
bind = $mainMod SHIFT, up, movewindow, u
|
||||||
bind = $mainMod SHIFT, down, movewindow, d
|
bind = $mainMod SHIFT, down, movewindow, d
|
||||||
|
|
||||||
# Switch workspaces of primary monitor with mainMod + [1-9]
|
# Switch workspaces of primary monitor with mainMod + [1-7]
|
||||||
bind = $mainMod, 1, workspace, 1
|
bind = $mainMod, 1, workspace, 1
|
||||||
bind = $mainMod, 2, workspace, 2
|
bind = $mainMod, 2, workspace, 2
|
||||||
bind = $mainMod, 3, workspace, 3
|
bind = $mainMod, 3, workspace, 3
|
||||||
@ -260,7 +270,7 @@ bind = $mainMod, 6, workspace, 6
|
|||||||
bind = $mainMod, 7, workspace, 7
|
bind = $mainMod, 7, workspace, 7
|
||||||
bind = $mainMod, 8, workspace, 8
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
|
||||||
# Switch workspaces of secondary monitor with mainMod + [F1-9]
|
# Switch workspaces of secondary monitor with mainMod + [F1-7]
|
||||||
bind = $mainMod, F1, workspace, 11
|
bind = $mainMod, F1, workspace, 11
|
||||||
bind = $mainMod, F2, workspace, 12
|
bind = $mainMod, F2, workspace, 12
|
||||||
bind = $mainMod, F3, workspace, 13
|
bind = $mainMod, F3, workspace, 13
|
||||||
@ -268,9 +278,8 @@ bind = $mainMod, F4, workspace, 14
|
|||||||
bind = $mainMod, F5, workspace, 15
|
bind = $mainMod, F5, workspace, 15
|
||||||
bind = $mainMod, F6, workspace, 16
|
bind = $mainMod, F6, workspace, 16
|
||||||
bind = $mainMod, F7, workspace, 17
|
bind = $mainMod, F7, workspace, 17
|
||||||
bind = $mainMod, F8, workspace, 18
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [1-9] (primary monitor)
|
# Move active window to a workspace with mainMod + SHIFT + [1-7] (primary monitor)
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
@ -279,7 +288,7 @@ bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|||||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [F1-F9] (secondary monitor)
|
# Move active window to a workspace with mainMod + SHIFT + [F1-F7] (secondary monitor)
|
||||||
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
||||||
bind = $mainMod SHIFT, F2, movetoworkspace, 12
|
bind = $mainMod SHIFT, F2, movetoworkspace, 12
|
||||||
bind = $mainMod SHIFT, F3, movetoworkspace, 13
|
bind = $mainMod SHIFT, F3, movetoworkspace, 13
|
||||||
@ -289,14 +298,20 @@ bind = $mainMod SHIFT, F6, movetoworkspace, 16
|
|||||||
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
||||||
|
|
||||||
# Special workspaces (scratchpad)
|
# Special workspaces (scratchpad)
|
||||||
|
# Special workspaces should only be opened on the primary monitor.
|
||||||
|
bind = $mainMod, F12, focusmonitor, DP-1
|
||||||
bind = $mainMod, F12, togglespecialworkspace, term
|
bind = $mainMod, F12, togglespecialworkspace, term
|
||||||
bind = $mainMod SHIFT, F12, movetoworkspace, special:term
|
bind = $mainMod SHIFT, F12, movetoworkspace, special:term
|
||||||
|
bind = $mainMod, F11, focusmonitor, DP-1
|
||||||
bind = $mainMod, F11, togglespecialworkspace, browser
|
bind = $mainMod, F11, togglespecialworkspace, browser
|
||||||
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
||||||
|
bind = $mainMod, F10, focusmonitor, DP-1
|
||||||
bind = $mainMod, F10, togglespecialworkspace, music
|
bind = $mainMod, F10, togglespecialworkspace, music
|
||||||
bind = $mainMod SHIFT, F10, movetoworkspace, special:music
|
bind = $mainMod SHIFT, F10, movetoworkspace, special:music
|
||||||
|
bind = $mainMod, F9, focusmonitor, DP-1
|
||||||
bind = $mainMod, F9, togglespecialworkspace, todo
|
bind = $mainMod, F9, togglespecialworkspace, todo
|
||||||
bind = $mainMod SHIFT, F9, movetoworkspace, special:todo
|
bind = $mainMod SHIFT, F9, movetoworkspace, special:todo
|
||||||
|
bind = $mainMod, F8, focusmonitor, DP-1
|
||||||
bind = $mainMod, F8, togglespecialworkspace, files
|
bind = $mainMod, F8, togglespecialworkspace, files
|
||||||
bind = $mainMod SHIFT, F8, movetoworkspace, special:files
|
bind = $mainMod SHIFT, F8, movetoworkspace, special:files
|
||||||
|
|
||||||
@ -314,8 +329,8 @@ bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
|||||||
|
|
||||||
# Requires playerctl
|
# Requires playerctl
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
bindl = , XF86AudioPause, exec, playerctl play-pause -a
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
bindl = , XF86AudioPlay, exec, playerctl play-pause -a
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
@ -326,49 +341,103 @@ bindl = , XF86AudioPrev, exec, playerctl previous
|
|||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
windowrulev2 = suppressevent maximize, class:.*
|
windowrule = match:class .*, suppress_event maximize
|
||||||
|
|
||||||
# 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
|
||||||
|
|
||||||
# Window rules to assign windows to workspaces
|
# Window rules to assign windows to workspaces
|
||||||
windowrulev2 = float,title:^(.*Extension: Bitwarden.*)$
|
windowrule = match:title ^(.*Extension: Bitwarden.*)$, float 1
|
||||||
|
|
||||||
# Always center ClickUp command bar
|
# Always center ClickUp command bar
|
||||||
windowrulev2 = center, title:ClickUp Command Bar
|
windowrule = match:title ClickUp Command Bar, center 1
|
||||||
|
|
||||||
# Dont use floating mode for freerdp
|
# Dont use floating mode for freerdp
|
||||||
windowrulev2 = tile, class:xfreerdp
|
windowrule = match:class ^(xfreerdp)$, tile 1
|
||||||
|
|
||||||
# Open audio settings in floating mode
|
# Open audio settings in floating mode
|
||||||
windowrulev2 = float, class:org.pulseaudio.pavucontrol
|
windowrule = match:class org.pulseaudio.pavucontrol, float 1, size 500 1000, move 2841 61, pin 1
|
||||||
windowrulev2 = size 500 1000, class:org.pulseaudio.pavucontrol
|
|
||||||
windowrulev2 = move 2841 61, class:org.pulseaudio.pavucontrol
|
|
||||||
windowrulev2 = pin, class:org.pulseaudio.pavucontrol
|
|
||||||
|
|
||||||
# Same for bluetooth settings
|
# Same for bluetooth settings
|
||||||
windowrulev2 = float, initialTitle:overskride
|
windowrule = match:title overskride, float 1, size 765 765, move 2653 44, pin 1
|
||||||
windowrulev2 = size 765 765, initialTitle:overskride
|
|
||||||
windowrulev2 = move 2653 44, initialTitle:overskride
|
|
||||||
windowrulev2 = pin, initialTitle:overskride
|
|
||||||
|
|
||||||
# Change border color of pinned windows
|
# Change border color of pinned windows
|
||||||
windowrulev2 = bordercolor rgb(CC34A4) rgb(4B2D70), pinned:1
|
windowrule = match:pin 1, border_color rgb(CC34A4) rgb(4B2D70)
|
||||||
|
|
||||||
|
# Share Picker is always floating
|
||||||
|
windowrule = match:class com.paulaumann.hyprland-share-picker, float 1, center 1
|
||||||
|
|
||||||
|
# Waydroid is always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "waydroid"
|
||||||
|
match:initial_class = Waydroid
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
size = 576 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
# Vicinae is always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "vicinae"
|
||||||
|
match:initial_class = vicinae-server
|
||||||
|
float = 1
|
||||||
|
pin = 1
|
||||||
|
stay_focused = on
|
||||||
|
dim_around = on
|
||||||
|
no_anim = on
|
||||||
|
}
|
||||||
|
|
||||||
# Notification animation style
|
# Notification animation style
|
||||||
layerrule = animation slide, notifications
|
layerrule = match:namespace notifications, animation slide
|
||||||
|
|
||||||
|
# Fixes black border around screenshots due to animation after selection
|
||||||
|
layerrule {
|
||||||
|
name = no_anim_for_selection
|
||||||
|
match:namespace = selection
|
||||||
|
no_anim = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# Blur behind certain layers
|
||||||
|
layerrule {
|
||||||
|
name = blur_waybar
|
||||||
|
match:namespace = waybar
|
||||||
|
blur = on
|
||||||
|
}
|
||||||
|
|
||||||
|
layerrule {
|
||||||
|
name = blur_tofi
|
||||||
|
match:namespace = launcher
|
||||||
|
blur = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# layerrule {
|
||||||
|
# name = blur_vicinae
|
||||||
|
# match:namespace = vicinae
|
||||||
|
# blur = on
|
||||||
|
# ignore_alpha = on
|
||||||
|
# dim_around = on
|
||||||
|
# }
|
||||||
|
|
||||||
|
# layerrule {
|
||||||
|
# name = no_animation_for_vicinae
|
||||||
|
# match:namespace = vicinae
|
||||||
|
# no_anim = on
|
||||||
|
# }
|
||||||
|
|
||||||
# Workspace rules to assign workspaces to monitors
|
# Workspace rules to assign workspaces to monitors
|
||||||
workspace = 1, monitor:DP-2, default:true
|
workspace = 1, monitor:DP-1, default:true
|
||||||
workspace = 2, monitor:DP-2
|
workspace = 2, monitor:DP-1
|
||||||
workspace = 3, monitor:DP-2
|
workspace = 3, monitor:DP-1
|
||||||
workspace = 4, monitor:DP-2
|
workspace = 4, monitor:DP-1
|
||||||
workspace = 5, monitor:DP-2
|
workspace = 5, monitor:DP-1
|
||||||
workspace = 11, monitor:DP-3, default:true
|
workspace = 11, monitor:DP-2, default:true
|
||||||
workspace = 12, monitor:DP-3
|
workspace = 12, monitor:DP-2
|
||||||
workspace = 13, monitor:DP-3
|
workspace = 13, monitor:DP-2
|
||||||
workspace = 14, monitor:DP-3
|
workspace = 14, monitor:DP-2
|
||||||
workspace = 15, monitor:DP-3
|
workspace = 15, monitor:DP-2
|
||||||
|
|
||||||
workspace = special:music, gapsout:40 1800 50 50
|
workspace = special:term, gapsout:64
|
||||||
workspace = special:music, monitor:DP-2
|
workspace = special:browser, gapsout:64
|
||||||
|
workspace = special:music, gapsout:64
|
||||||
|
workspace = special:todo, gapsout:64
|
||||||
|
workspace = special:files, gapsout:64
|
||||||
@ -1,2 +1,13 @@
|
|||||||
preload = ~/.config/hypr/img/gnome-background.webp
|
wallpaper {
|
||||||
wallpaper = , ~/.config/hypr/img/gnome-background.webp
|
monitor = DP-1
|
||||||
|
path = ~/.config/hypr/img/gnome-background.webp
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
|
||||||
|
wallpaper {
|
||||||
|
monitor = DP-2
|
||||||
|
path = ~/.config/hypr/img/gnome-background.webp
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
|
||||||
|
splash = false
|
||||||
1
.config/settings.json
Symbolic link
1
.config/settings.json
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
vicinae/settings.json
|
||||||
51
.config/spotify-player/app.toml
Normal file
51
.config/spotify-player/app.toml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
theme = "dracula"
|
||||||
|
client_id = "7fed45e8d6ec4ff1b50e5464852fe136"
|
||||||
|
client_port = 8080
|
||||||
|
login_redirect_uri = "http://127.0.0.1:8989/login"
|
||||||
|
playback_format = """
|
||||||
|
{status} {track} • {artists} {liked}
|
||||||
|
{album}
|
||||||
|
{metadata}"""
|
||||||
|
notify_timeout_in_secs = 0
|
||||||
|
tracks_playback_limit = 50
|
||||||
|
app_refresh_duration_in_ms = 32
|
||||||
|
playback_refresh_duration_in_ms = 0
|
||||||
|
page_size_in_rows = 20
|
||||||
|
play_icon = "▶"
|
||||||
|
pause_icon = "▌▌"
|
||||||
|
liked_icon = "♥"
|
||||||
|
border_type = "Plain"
|
||||||
|
progress_bar_type = "Rectangle"
|
||||||
|
cover_img_length = 9
|
||||||
|
cover_img_width = 5
|
||||||
|
cover_img_scale = 1.0
|
||||||
|
cover_img_pixels = 64
|
||||||
|
enable_media_control = true
|
||||||
|
enable_streaming = "Always"
|
||||||
|
enable_notify = true
|
||||||
|
enable_cover_image_cache = true
|
||||||
|
default_device = "spotify-player"
|
||||||
|
notify_streaming_only = false
|
||||||
|
seek_duration_secs = 5
|
||||||
|
sort_artist_albums_by_type = false
|
||||||
|
|
||||||
|
[notify_format]
|
||||||
|
summary = "{track} • {artists}"
|
||||||
|
body = "{album}"
|
||||||
|
|
||||||
|
[layout]
|
||||||
|
playback_window_position = "Top"
|
||||||
|
playback_window_height = 6
|
||||||
|
|
||||||
|
[layout.library]
|
||||||
|
playlist_percent = 40
|
||||||
|
album_percent = 40
|
||||||
|
|
||||||
|
[device]
|
||||||
|
name = "spotify-player"
|
||||||
|
device_type = "speaker"
|
||||||
|
volume = 70
|
||||||
|
bitrate = 320
|
||||||
|
audio_cache = false
|
||||||
|
normalization = false
|
||||||
|
autoplay = false
|
||||||
11
.config/vicinae/.vscode/settings.json
vendored
Normal file
11
.config/vicinae/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"[json]": {
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll": "explicit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"[jsonc]": {
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
}
|
||||||
186
.config/vicinae/_default.jsonc
Normal file
186
.config/vicinae/_default.jsonc
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
|
||||||
|
// A list of paths pointed to separate configuration files to source during loading.
|
||||||
|
// Note that values defined in the main configuration file always take precedence over imported
|
||||||
|
// files.
|
||||||
|
// Relative paths are accepted, and are relative to the configuration directory in which the importing configuration file is located.
|
||||||
|
"imports": [],
|
||||||
|
|
||||||
|
// Whether root search should also search files directly.
|
||||||
|
// File search is performed asynchrounously: files may take an instant to appear after a query is entered.
|
||||||
|
// Turning this on results in an increase in CPU usage when searching.
|
||||||
|
// Note that vicinae has a built-in file search command that can be used to perform file search in isolation, accompanied with
|
||||||
|
// rich content preview. This should be more than enough for most users.
|
||||||
|
"search_files_in_root": false,
|
||||||
|
|
||||||
|
// What vicinae should do when the "escape" key is pressed
|
||||||
|
// Supports "navigate_back" or "close_window"
|
||||||
|
"escape_key_behavior": "navigate_back",
|
||||||
|
|
||||||
|
// If the layer shell protocol is used to position the window and the keyboard interactivity is
|
||||||
|
// set to "exclusive" (the default) then this setting will have no effect. Either switch to "on_demand" interactivity
|
||||||
|
// or disable layer shell.
|
||||||
|
"close_on_focus_loss": false,
|
||||||
|
|
||||||
|
// Whether IME preedit strings should be searched in real time.
|
||||||
|
"consider_preedit": false,
|
||||||
|
|
||||||
|
// Reset the navigation state every time the window is closed
|
||||||
|
"pop_to_root_on_close": false,
|
||||||
|
|
||||||
|
// What favicon service to use when loading favicons is needed.
|
||||||
|
// Available values are: 'twenty' | 'google' | 'none'
|
||||||
|
// If this is set to 'none', favicon loading is disabled and a placeholder icon will be used when a favicon is expected.
|
||||||
|
"favicon_service": "twenty",
|
||||||
|
|
||||||
|
// EXPERIMENTAL!
|
||||||
|
// Enable specific editing motions in the main search bar and during navigation.
|
||||||
|
// This will probably be changed in future updates.
|
||||||
|
// Supports: 'default' | 'emacs'
|
||||||
|
"keybinding": "default",
|
||||||
|
|
||||||
|
"font": {
|
||||||
|
// The font family to use for the general vicinae UI.
|
||||||
|
// "auto" (recommended): uses the bundled Inter font
|
||||||
|
// "system": uses the system/platform default font
|
||||||
|
// Or specify any font family name (e.g. "Fira Sans")
|
||||||
|
"normal": {
|
||||||
|
"family": "auto",
|
||||||
|
// The point size of the font (unlike pixel size, the point size scales with resolution)
|
||||||
|
"size": 10.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// The general vicinae theme as well as the system icon theme (used for applications and file icons) can be customized
|
||||||
|
// according to the system appearance.
|
||||||
|
// When editing the current theme through the vicinae GUI, it will modify the value that maps to the current system appearance.
|
||||||
|
"theme": {
|
||||||
|
"light": {
|
||||||
|
"name": "vicinae-light",
|
||||||
|
"icon_theme": "auto"
|
||||||
|
},
|
||||||
|
"dark": {
|
||||||
|
"name": "vicinae-dark",
|
||||||
|
"icon_theme": "auto"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"launcher_window": {
|
||||||
|
// Control the opacity of the main window.
|
||||||
|
// Opacity for other surfaces are controlled by the active theme.
|
||||||
|
"opacity": 0.95,
|
||||||
|
|
||||||
|
// Blur the window background.
|
||||||
|
// Only suported on Hyprland for now.
|
||||||
|
// May require a server restart to disable properly.
|
||||||
|
"blur": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
|
||||||
|
// Dims everything behind the vicinae window.
|
||||||
|
// Only supported on Hyprland for now.
|
||||||
|
// May require a server restart to disable properly.
|
||||||
|
"dim_around": true,
|
||||||
|
|
||||||
|
// You can turn client side decorations off if you want to let your compositor draw the rounded
|
||||||
|
// borders and such. This usually gives better results, but is more complicated to setup, if at all possible.
|
||||||
|
"client_side_decorations": {
|
||||||
|
"enabled": true,
|
||||||
|
"rounding": 10,
|
||||||
|
"border_width": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
// In compact mode, vicinae only shows a search bar in the root search if no query is entered, only expanding to its full size when searching.
|
||||||
|
// WARNING: compact mode works best when vicinae is rendered as a layer surface (the default if available), as opposed to a regular floating window.
|
||||||
|
// That's because the part that is not rendered in compact mode is still part of the full window size, allowing the window to be gracefully expanded without having to deal
|
||||||
|
// with a compositor window resize which can generate a lot of visual noise. Server side borders and blur will look notably out of place.
|
||||||
|
"compact_mode": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// The vicinae UI is designed to work best at the default size. If you change this it is highly recommended
|
||||||
|
// that you preserve a similar aspect ratio.
|
||||||
|
"size": {
|
||||||
|
"width": 770,
|
||||||
|
"height": 480
|
||||||
|
},
|
||||||
|
|
||||||
|
// EXPERIMENTAL - X11 ONLY!
|
||||||
|
// The name of the screen (as provided by a tool like xrandr) on which the vicinae window
|
||||||
|
// needs to be shown.
|
||||||
|
// e.g "eDP1", "DP-1"
|
||||||
|
"screen": "auto",
|
||||||
|
|
||||||
|
// Only for wayland compositors that support the 'wlr-layer-shell' protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
|
||||||
|
// NOTE: layer shell support for the cosmic compositor is explicitly disabled as it is currently broken
|
||||||
|
"layer_shell": {
|
||||||
|
"enabled": true,
|
||||||
|
|
||||||
|
// 'exclusive' | 'on_demand'
|
||||||
|
// WARNING: 'exclusive' is known to break mouse stuff on popups (such as the action panel) on Hyprland
|
||||||
|
"keyboard_interactivity": "on_demand",
|
||||||
|
|
||||||
|
// either 'overlay' or 'top'.
|
||||||
|
// Other layers are not supported as they are unsuitable for a launcher.
|
||||||
|
// 'top' is recommended as using 'overlay' will make the vicinae window appear on top of IME popovers in some scenarios.
|
||||||
|
"layer": "top"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// How much memory (in MB) can be used to cache small image assets in memory directly
|
||||||
|
// The higher this value is the more memory vicinae will use. In exchange for this, you get lower cpu usage.
|
||||||
|
"pixmap_cache_mb": 50,
|
||||||
|
|
||||||
|
// Keybinds are serialized using a custom format.
|
||||||
|
// It is recommended to edit them through the settings GUI, which will write them to this file.
|
||||||
|
"keybinds": {
|
||||||
|
// common shortcuts
|
||||||
|
"open-search-filter": "control+P",
|
||||||
|
"open-settings": "control+,",
|
||||||
|
"toggle-action-panel": "control+B",
|
||||||
|
|
||||||
|
// used to assign shortcuts to generic actions
|
||||||
|
// if an extension provides a specific kind of action, it is encouraged to use shortcuts as defined here.
|
||||||
|
"action.copy": "control+shift+C",
|
||||||
|
"action.copy-name": "control+shift+.",
|
||||||
|
"action.copy-path": "control+shift+,",
|
||||||
|
"action.dangerous-remove": "control+shift+X",
|
||||||
|
"action.duplicate": "control+D",
|
||||||
|
"action.edit": "control+E",
|
||||||
|
"action.edit-secondary": "control+shift+E",
|
||||||
|
"action.move-down": "control+shift+ARROWDOWN",
|
||||||
|
"action.move-up": "control+shift+ARROWUP",
|
||||||
|
"action.new": "control+N",
|
||||||
|
"action.open": "control+O",
|
||||||
|
"action.pin": "control+shift+P",
|
||||||
|
"action.refresh": "control+R",
|
||||||
|
"action.remove": "control+X",
|
||||||
|
"action.save": "control+S"
|
||||||
|
},
|
||||||
|
|
||||||
|
// List of entrypoints that are tagged as "favorite".
|
||||||
|
// They show up on the very top of the root search when no search query is active.
|
||||||
|
// Each value is a serialized entrypoint ID.
|
||||||
|
"favorites": [
|
||||||
|
"clipboard:history"
|
||||||
|
],
|
||||||
|
|
||||||
|
// List of entrypoints to suggest as a fallback when no result matches the
|
||||||
|
// provided search query.
|
||||||
|
// Each value is a serialized entrypoint ID.
|
||||||
|
"fallbacks": [
|
||||||
|
"files:search"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Every item that can be activated from the vicinae root search is referred as an entrypoint, or sometimes, in the case of extensions, as a "command".
|
||||||
|
// Entrypoints are always grouped under a provider.
|
||||||
|
// e,g applications entrypoints are all grouped under the "applications" provider
|
||||||
|
//
|
||||||
|
// The best way to interact with providers and entrypoints is through the graphical interface provided by the
|
||||||
|
// settings window ("extensions" tab). Every time a change is made through this GUI, the relevant values will be
|
||||||
|
// written to the "providers" object below (password preferences excluded).
|
||||||
|
//
|
||||||
|
// The exact list of available providers depends on what extensions have been installed.
|
||||||
|
"providers": {}
|
||||||
|
}
|
||||||
22
.config/vicinae/appeareance.jsonc
Normal file
22
.config/vicinae/appeareance.jsonc
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
"launcher_window": {
|
||||||
|
// You can turn client side decorations off if you want to let your compositor draw the rounded
|
||||||
|
// borders and such. This usually gives better results, but is more complicated to setup, if at all possible.
|
||||||
|
"client_side_decorations": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
// Only for wayland compositors that support the 'wlr-layer-shell' protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
|
||||||
|
// NOTE: layer shell support for the cosmic compositor is explicitly disabled as it is currently broken
|
||||||
|
"layer_shell": {
|
||||||
|
"enabled": false,
|
||||||
|
// 'exclusive' | 'on_demand'
|
||||||
|
// WARNING: 'exclusive' is known to break mouse stuff on popups (such as the action panel) on Hyprland
|
||||||
|
"keyboard_interactivity": "on_demand",
|
||||||
|
// either 'overlay' or 'top'.
|
||||||
|
// Other layers are not supported as they are unsuitable for a launcher.
|
||||||
|
// 'top' is recommended as using 'overlay' will make the vicinae window appear on top of IME popovers in some scenarios.
|
||||||
|
"layer": "top"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.config/vicinae/general.jsonc
Normal file
7
.config/vicinae/general.jsonc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
// If the layer shell protocol is used to position the window and the keyboard interactivity is
|
||||||
|
// set to "exclusive" (the default) then this setting will have no effect. Either switch to "on_demand" interactivity
|
||||||
|
// or disable layer shell.
|
||||||
|
"close_on_focus_loss": false
|
||||||
|
}
|
||||||
17
.config/vicinae/settings.json
Normal file
17
.config/vicinae/settings.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// This configuration is merged with the default vicinae configuration file, which you can obtain by running the `vicinae config default` command.
|
||||||
|
// Every item defined in this file takes precedence over the values defined in the default config or any other imported file.
|
||||||
|
//
|
||||||
|
// You can make manual edits to this file, however you should keep in mind that this file may be written to by vicinae when a configuration change is made through the GUI.
|
||||||
|
// When that happens, any custom comments or formatting will be lost.
|
||||||
|
//
|
||||||
|
// If you want to maintain a configuration file with your own comments and formatting, you should create a separate file and add it to the 'imports' array.
|
||||||
|
//
|
||||||
|
// Learn more about configuration at https://docs.vicinae.com/config
|
||||||
|
|
||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
"imports": [
|
||||||
|
"appeareance.jsonc",
|
||||||
|
"general.jsonc"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"output": "DP-2",
|
"output": "DP-1",
|
||||||
"modules-left": [
|
"modules-left": [
|
||||||
"custom/power",
|
"custom/power",
|
||||||
"hyprland/workspaces",
|
"hyprland/workspaces",
|
||||||
|
|||||||
51
.config/winapps/compose.yaml
Normal file
51
.config/winapps/compose.yaml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# For documentation, FAQ, additional configuration options and technical help, visit: https://github.com/dockur/windows
|
||||||
|
|
||||||
|
name: "winapps" # Docker Compose Project Name.
|
||||||
|
# volumes:
|
||||||
|
# Create Volume 'data'.
|
||||||
|
# Located @ '/var/lib/docker/volumes/winapps_data/_data' (Docker).
|
||||||
|
# Located @ '/var/lib/containers/storage/volumes/winapps_data/_data' or '~/.local/share/containers/storage/volumes/winapps_data/_data' (Podman).
|
||||||
|
# data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
windows:
|
||||||
|
image: ghcr.io/dockur/windows:latest
|
||||||
|
container_name: winapps # Created Docker VM Name.
|
||||||
|
environment:
|
||||||
|
# Version of Windows to configure. For valid options, visit:
|
||||||
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-version
|
||||||
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-install-a-custom-image
|
||||||
|
VERSION: "11"
|
||||||
|
RAM_SIZE: "8G" # RAM allocated to the Windows VM.
|
||||||
|
CPU_CORES: "4" # CPU cores allocated to the Windows VM.
|
||||||
|
DISK_SIZE: "64G" # Size of the primary hard disk.
|
||||||
|
# DISK2_SIZE: "32G" # Uncomment to add an additional hard disk to the Windows VM. Ensure it is mounted as a volume below.
|
||||||
|
USERNAME: "paul" # Edit here to set a custom Windows username. The default is 'MyWindowsUser'.
|
||||||
|
PASSWORD: "nicerdicer" # Edit here to set a password for the Windows user. The default is 'MyWindowsPassword'.
|
||||||
|
HOME: "${HOME}" # Set path to Linux user home folder.
|
||||||
|
ARGUMENTS: "-cpu host,arch_capabilities=off"
|
||||||
|
ports:
|
||||||
|
- 8006:8006 # Map '8006' on Linux host to '8006' on Windows VM --> For VNC Web Interface @ http://127.0.0.1:8006.
|
||||||
|
- 3389:3389/tcp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
||||||
|
- 3389:3389/udp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN # Add network permission
|
||||||
|
stop_grace_period: 120s # Wait 120 seconds before sending SIGTERM when attempting to shut down the Windows VM.
|
||||||
|
restart: on-failure # Restart the Windows VM if the exit code indicates an error.
|
||||||
|
volumes:
|
||||||
|
- ~/.winapps:/storage # Mount local folder 'data' to use as Windows 'C:' drive.
|
||||||
|
- ${HOME}:/shared # Mount Linux user home directory @ '\\host.lan\Data'.
|
||||||
|
#- /path/to/second/hard/disk:/storage2 # Uncomment to create a virtual second hard disk and mount it within the Windows VM. Ensure 'DISK2_SIZE' is specified above.
|
||||||
|
- ./oem:/oem # Enables automatic post-install execution of 'oem/install.bat', applying Windows registry modifications contained within 'oem/RDPApps.reg'.
|
||||||
|
#- /path/to/windows/install/media.iso:/custom.iso # Uncomment to use a custom Windows ISO. If specified, 'VERSION' (e.g. 'tiny11') will be ignored.
|
||||||
|
devices:
|
||||||
|
- /dev/kvm # Enable KVM.
|
||||||
|
- /dev/net/tun # Enable tuntap
|
||||||
|
# Uncomment to mount a disk directly within the Windows VM.
|
||||||
|
# WARNING: /dev/sdX paths may change after reboot. Use persistent identifiers!
|
||||||
|
# NOTE: 'disk1' will be mounted as the main drive. THIS DISK WILL BE FORMATTED BY DOCKER.
|
||||||
|
# All following disks (disk2, ...) WILL NOT BE FORMATTED.
|
||||||
|
# - /dev/disk/by-id/<id>:/disk1
|
||||||
|
# - /dev/disk/by-id/<id>:/disk2
|
||||||
|
# group_add: # uncomment this line and the next one for using rootless podman containers
|
||||||
|
# - keep-groups # to make /dev/kvm work with podman. needs "crun" installed, "runc" will not work! Add your user to the 'kvm' group or another that can access /dev/kvm.
|
||||||
1794
.config/winapps/setup.sh
Executable file
1794
.config/winapps/setup.sh
Executable file
File diff suppressed because it is too large
Load Diff
139
.config/winapps/winapps.conf
Normal file
139
.config/winapps/winapps.conf
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
##################################
|
||||||
|
# WINAPPS CONFIGURATION FILE #
|
||||||
|
##################################
|
||||||
|
|
||||||
|
# INSTRUCTIONS
|
||||||
|
# - Leading and trailing whitespace are ignored.
|
||||||
|
# - Empty lines are ignored.
|
||||||
|
# - Lines starting with '#' are ignored.
|
||||||
|
# - All characters following a '#' are ignored.
|
||||||
|
|
||||||
|
# [WINDOWS USERNAME]
|
||||||
|
RDP_USER="paul"
|
||||||
|
|
||||||
|
# [WINDOWS PASSWORD]
|
||||||
|
# NOTES:
|
||||||
|
# - If using FreeRDP v3.9.0 or greater, you *have* to set a password
|
||||||
|
RDP_PASS="nicerdicer"
|
||||||
|
|
||||||
|
# [WINDOWS DOMAIN]
|
||||||
|
# DEFAULT VALUE: '' (BLANK)
|
||||||
|
RDP_DOMAIN=""
|
||||||
|
|
||||||
|
# [WINDOWS IPV4 ADDRESS]
|
||||||
|
# NOTES:
|
||||||
|
# - If using 'libvirt', 'RDP_IP' will be determined by WinApps at runtime if left unspecified.
|
||||||
|
# DEFAULT VALUE:
|
||||||
|
# - 'docker': '127.0.0.1'
|
||||||
|
# - 'podman': '127.0.0.1'
|
||||||
|
# - 'libvirt': '' (BLANK)
|
||||||
|
RDP_IP="127.0.0.1"
|
||||||
|
|
||||||
|
# [VM NAME]
|
||||||
|
# NOTES:
|
||||||
|
# - Only applicable when using 'libvirt'
|
||||||
|
# - The libvirt VM name must match so that WinApps can determine VM IP, start the VM, etc.
|
||||||
|
# DEFAULT VALUE: 'RDPWindows'
|
||||||
|
VM_NAME="RDPWindows"
|
||||||
|
|
||||||
|
# [WINAPPS BACKEND]
|
||||||
|
# DEFAULT VALUE: 'docker'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'docker'
|
||||||
|
# - 'podman'
|
||||||
|
# - 'libvirt'
|
||||||
|
# - 'manual'
|
||||||
|
WAFLAVOR="docker"
|
||||||
|
|
||||||
|
# [DISPLAY SCALING FACTOR]
|
||||||
|
# NOTES:
|
||||||
|
# - If an unsupported value is specified, a warning will be displayed.
|
||||||
|
# - If an unsupported value is specified, WinApps will use the closest supported value.
|
||||||
|
# DEFAULT VALUE: '100'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - '100'
|
||||||
|
# - '140'
|
||||||
|
# - '180'
|
||||||
|
RDP_SCALE="100"
|
||||||
|
|
||||||
|
# [MOUNTING REMOVABLE PATHS FOR FILES]
|
||||||
|
# NOTES:
|
||||||
|
# - By default, `udisks` (which you most likely have installed) uses /run/media for mounting removable devices.
|
||||||
|
# This improves compatibility with most desktop environments (DEs).
|
||||||
|
# ATTENTION: The Filesystem Hierarchy Standard (FHS) recommends /media instead. Verify your system's configuration.
|
||||||
|
# - To manually mount devices, you may optionally use /mnt.
|
||||||
|
# REFERENCE: https://wiki.archlinux.org/title/Udisks#Mount_to_/media
|
||||||
|
REMOVABLE_MEDIA="/run/media"
|
||||||
|
|
||||||
|
# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]
|
||||||
|
# NOTES:
|
||||||
|
# - You can try adding /network:lan to these flags in order to increase performance, however, some users have faced issues with this.
|
||||||
|
# DEFAULT VALUE: '/cert:tofu /sound /microphone +home-drive'
|
||||||
|
# VALID VALUES: See https://github.com/awakecoding/FreeRDP-Manuals/blob/master/User/FreeRDP-User-Manual.markdown
|
||||||
|
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"
|
||||||
|
|
||||||
|
# [DEBUG WINAPPS]
|
||||||
|
# NOTES:
|
||||||
|
# - Creates and appends to ~/.local/share/winapps/winapps.log when running WinApps.
|
||||||
|
# DEFAULT VALUE: 'true'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'true'
|
||||||
|
# - 'false'
|
||||||
|
DEBUG="true"
|
||||||
|
|
||||||
|
# [AUTOMATICALLY PAUSE WINDOWS]
|
||||||
|
# NOTES:
|
||||||
|
# - This is currently INCOMPATIBLE with 'docker' and 'manual'.
|
||||||
|
# - See https://github.com/dockur/windows/issues/674
|
||||||
|
# DEFAULT VALUE: 'off'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'on'
|
||||||
|
# - 'off'
|
||||||
|
AUTOPAUSE="off"
|
||||||
|
|
||||||
|
# [AUTOMATICALLY PAUSE WINDOWS TIMEOUT]
|
||||||
|
# NOTES:
|
||||||
|
# - This setting determines the duration of inactivity to tolerate before Windows is automatically paused.
|
||||||
|
# - This setting is ignored if 'AUTOPAUSE' is set to 'off'.
|
||||||
|
# - The value must be specified in seconds (to the nearest 10 seconds e.g., '30', '40', '50', etc.).
|
||||||
|
# - For RemoteApp RDP sessions, there is a mandatory 20-second delay, so the minimum value that can be specified here is '20'.
|
||||||
|
# - Source: https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566
|
||||||
|
# DEFAULT VALUE: '300'
|
||||||
|
# VALID VALUES: >=20
|
||||||
|
AUTOPAUSE_TIME="300"
|
||||||
|
|
||||||
|
# [FREERDP COMMAND]
|
||||||
|
# NOTES:
|
||||||
|
# - WinApps will attempt to automatically detect the correct command to use for your system.
|
||||||
|
# DEFAULT VALUE: '' (BLANK)
|
||||||
|
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
|
||||||
|
FREERDP_COMMAND=""
|
||||||
|
|
||||||
|
# [TIMEOUTS]
|
||||||
|
# NOTES:
|
||||||
|
# - These settings control various timeout durations within the WinApps setup.
|
||||||
|
# - Increasing the timeouts is only necessary if the corresponding errors occur.
|
||||||
|
# - Ensure you have followed all the Troubleshooting Tips in the error message first.
|
||||||
|
|
||||||
|
# PORT CHECK
|
||||||
|
# - The maximum time (in seconds) to wait when checking if the RDP port on Windows is open.
|
||||||
|
# - Corresponding error: "NETWORK CONFIGURATION ERROR" (exit status 13).
|
||||||
|
# DEFAULT VALUE: '5'
|
||||||
|
PORT_TIMEOUT="5"
|
||||||
|
|
||||||
|
# RDP CONNECTION TEST
|
||||||
|
# - The maximum time (in seconds) to wait when testing the initial RDP connection to Windows.
|
||||||
|
# - Corresponding error: "REMOTE DESKTOP PROTOCOL FAILURE" (exit status 14).
|
||||||
|
# DEFAULT VALUE: '30'
|
||||||
|
RDP_TIMEOUT="30"
|
||||||
|
|
||||||
|
# APPLICATION SCAN
|
||||||
|
# - The maximum time (in seconds) to wait for the script that scans for installed applications on Windows to complete.
|
||||||
|
# - Corresponding error: "APPLICATION QUERY FAILURE" (exit status 15).
|
||||||
|
# DEFAULT VALUE: '60'
|
||||||
|
APP_SCAN_TIMEOUT="60"
|
||||||
|
|
||||||
|
# WINDOWS BOOT
|
||||||
|
# - The maximum time (in seconds) to wait for the Windows VM to boot if it is not running, before attempting to launch an application.
|
||||||
|
# DEFAULT VALUE: '120'
|
||||||
|
BOOT_TIMEOUT="120"
|
||||||
30
.local/share/darkman/gtk-theme.py
Executable file
30
.local/share/darkman/gtk-theme.py
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser(description="GTK theme switcher")
|
||||||
|
parser.add_argument(
|
||||||
|
"mode",
|
||||||
|
help="The mode to switch the GTK theme to (e.g., 'dark' or 'light')",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.mode not in ["dark", "light"]:
|
||||||
|
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
gtk_theme = "Adwaita-dark" if args.mode == "dark" else "Adwaita"
|
||||||
|
color_scheme = "prefer-dark" if args.mode == "dark" else "prefer-light"
|
||||||
|
|
||||||
|
# Set the GTK theme using gsettings
|
||||||
|
subprocess.run(
|
||||||
|
["gsettings", "set", "org.gnome.desktop.interface", "gtk-theme", gtk_theme],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
subprocess.run(
|
||||||
|
["gsettings", "set", "org.gnome.desktop.interface", "color-scheme", color_scheme],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
39
.local/share/darkman/vscode-theme.py
Executable file
39
.local/share/darkman/vscode-theme.py
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser(description="VS Code theme switcher")
|
||||||
|
parser.add_argument(
|
||||||
|
"mode",
|
||||||
|
help="The mode to switch the VS Code theme to (e.g., 'dark' or 'light')",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.mode not in ["dark", "light"]:
|
||||||
|
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
settings = Path.home() / ".config/Code/User/settings.json"
|
||||||
|
|
||||||
|
if not settings.exists():
|
||||||
|
print(f"VS Code settings file not found at {settings}")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
# We just replace the theme name in the settings file using regex,
|
||||||
|
# this way we don't have to worry about jsonc parsing.
|
||||||
|
theme = "Monokai Pro" if args.mode == "dark" else "Monokai Pro Light"
|
||||||
|
|
||||||
|
with settings.open("r") as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
new_content = re.sub(
|
||||||
|
r'"workbench\.colorTheme"\s*:\s*".*?"',
|
||||||
|
f'"workbench.colorTheme": "{theme}"',
|
||||||
|
content,
|
||||||
|
)
|
||||||
|
|
||||||
|
with settings.open("w") as f:
|
||||||
|
f.write(new_content)
|
||||||
7
.zshrc
7
.zshrc
@ -142,13 +142,14 @@ alias open="xdg-open"
|
|||||||
alias lg="lazygit"
|
alias lg="lazygit"
|
||||||
alias ccat="pygmentize -g -O style=monokai,linenos=1"
|
alias ccat="pygmentize -g -O style=monokai,linenos=1"
|
||||||
alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash"
|
alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash"
|
||||||
alias explain="gh copilot explain"
|
alias explain="copilot explain"
|
||||||
alias csv="csvlens"
|
alias csv="csvlens"
|
||||||
|
|
||||||
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
|
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
|
||||||
|
|
||||||
alias R="R --no-save"
|
alias R="R --no-save"
|
||||||
|
|
||||||
|
|
||||||
# Python tkinter stuff
|
# Python tkinter stuff
|
||||||
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
||||||
|
|
||||||
@ -158,6 +159,8 @@ export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
|||||||
# ws shortcuts
|
# ws shortcuts
|
||||||
alias wsproddb="psql -h ep-shiny-brook-a23l5gzv-pooler.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
alias wsproddb="psql -h ep-shiny-brook-a23l5gzv-pooler.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
alias wsdevdb="psql -h ep-bitter-queen-a2jgwcaj-pooler.eu-central-1.aws.neon.tech -d verceldb -U default"
|
alias wsdevdb="psql -h ep-bitter-queen-a2jgwcaj-pooler.eu-central-1.aws.neon.tech -d verceldb -U default"
|
||||||
|
alias wsrecupdb="psql -h ep-icy-dew-aggbrr4l-pooler.c-2.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
alias wsrecupdevdb="psql -h ep-broad-base-ag8vy0hl-pooler.c-2.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
|
||||||
# Fix ls colors for synology directories
|
# Fix ls colors for synology directories
|
||||||
LS_COLORS+=':ow=01;33'
|
LS_COLORS+=':ow=01;33'
|
||||||
@ -170,6 +173,8 @@ HISTFILE=~/.histfile
|
|||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
SAVEHIST=10000
|
SAVEHIST=10000
|
||||||
|
|
||||||
|
export XDG_DATA_DIRS="$HOME/.local/share:$XDG_DATA_DIRS"
|
||||||
|
|
||||||
# Android tools
|
# Android tools
|
||||||
export ANDROID_SDK_ROOT="$HOME/.local/opt/android-sdk"
|
export ANDROID_SDK_ROOT="$HOME/.local/opt/android-sdk"
|
||||||
export ANDROID_HOME="$ANDROID_SDK_ROOT"
|
export ANDROID_HOME="$ANDROID_SDK_ROOT"
|
||||||
|
|||||||
Reference in New Issue
Block a user