mirror of
https://github.com/bgrolleman/dotfiles.git
synced 2026-05-10 17:11:14 +02:00
Compare commits
13 Commits
d874988a3e
..
TF
| Author | SHA1 | Date | |
|---|---|---|---|
| ea63981752 | |||
| 9c31c06ba5 | |||
| 18818fad92 | |||
| b8284c9c44 | |||
| a2a957c052 | |||
| 2c2399308f | |||
| 7c62c0f379 | |||
| 38855d6a3b | |||
| f2f7054011 | |||
| db7af6c6f2 | |||
| 13c65548dc | |||
| 3875cb32c5 | |||
| 6aee231663 |
@@ -1 +1,2 @@
|
|||||||
|
.DS_Store
|
||||||
lazy-lock.json
|
lazy-lock.json
|
||||||
+196
@@ -0,0 +1,196 @@
|
|||||||
|
after-startup-command = ['exec-and-forget sketchybar']
|
||||||
|
|
||||||
|
# Notify Sketchybar about workspace change
|
||||||
|
exec-on-workspace-change = ['/bin/bash', '-c',
|
||||||
|
'sketchybar --trigger aerospace_workspace_change FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE',
|
||||||
|
# 'exec-and-forget borders active_color=0xffe1e3e4 inactive_color=0xff494d64 width=5.0'
|
||||||
|
]
|
||||||
|
|
||||||
|
# Start AeroSpace at login
|
||||||
|
start-at-login = true
|
||||||
|
|
||||||
|
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
|
||||||
|
enable-normalization-flatten-containers = true
|
||||||
|
enable-normalization-opposite-orientation-for-nested-containers = true
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
|
||||||
|
# The 'accordion-padding' specifies the size of accordion padding
|
||||||
|
# You can set 0 to disable the padding feature
|
||||||
|
accordion-padding = 40
|
||||||
|
|
||||||
|
# Possible values: tiles|accordion
|
||||||
|
default-root-container-layout = 'tiles'
|
||||||
|
|
||||||
|
# Possible values: horizontal|vertical|auto
|
||||||
|
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
|
||||||
|
# tall monitor (anything higher than wide) gets vertical orientation
|
||||||
|
default-root-container-orientation = 'auto'
|
||||||
|
|
||||||
|
# Mouse follows focus when focused monitor changes
|
||||||
|
# Drop it from your config, if you don't like this behavior
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
|
||||||
|
# Fallback value (if you omit the key): on-focused-monitor-changed = []
|
||||||
|
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
|
||||||
|
|
||||||
|
# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag
|
||||||
|
# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key
|
||||||
|
# Also see: https://nikitabobko.github.io/AeroSpace/goodness#disable-hide-app
|
||||||
|
automatically-unhide-macos-hidden-apps = false
|
||||||
|
|
||||||
|
# [[on-window-detected]]
|
||||||
|
# if.app-id = 'com.apple.systempreferences'
|
||||||
|
# if.app-name-regex-substring = 'settings'
|
||||||
|
# if.window-title-regex-substring = 'substring'
|
||||||
|
# if.workspace = 'workspace-name'
|
||||||
|
# if.during-aerospace-startup = true
|
||||||
|
# check-further-callbacks = true
|
||||||
|
# run = ['layout floating', 'move-node-to-workspace S'] # The callback itself
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-name-regex-substring = 'finder'
|
||||||
|
run = 'layout floating'
|
||||||
|
#if.app-name-regex-substring = 'teams'
|
||||||
|
#run = ['layout floating','move-node-to-workspace 3']
|
||||||
|
#if.app-name-regex-substring = 'outlook'
|
||||||
|
#run = ['move-node-to-workspace 4']
|
||||||
|
|
||||||
|
|
||||||
|
# Possible values: (qwerty|dvorak)
|
||||||
|
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
|
||||||
|
[key-mapping]
|
||||||
|
preset = 'qwerty'
|
||||||
|
|
||||||
|
# Gaps between windows (inner-*) and between monitor edges (outer-*).
|
||||||
|
# Possible values:
|
||||||
|
# - Constant: gaps.outer.top = 8
|
||||||
|
# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
|
||||||
|
# In this example, 24 is a default value when there is no match.
|
||||||
|
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
|
||||||
|
[gaps]
|
||||||
|
inner.horizontal = 5
|
||||||
|
inner.vertical = 5
|
||||||
|
outer.left = 5
|
||||||
|
outer.bottom = 5
|
||||||
|
outer.top = 5
|
||||||
|
outer.right = 5
|
||||||
|
|
||||||
|
# 'main' binding mode declaration
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
# 'main' binding mode must be always presented
|
||||||
|
# Fallback value (if you omit the key): mode.main.binding = {}
|
||||||
|
[mode.main.binding]
|
||||||
|
|
||||||
|
# All possible keys:
|
||||||
|
# - Letters. a, b, c, ..., z
|
||||||
|
# - Numbers. 0, 1, 2, ..., 9
|
||||||
|
# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9
|
||||||
|
# - F-keys. f1, f2, ..., f20
|
||||||
|
# - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick,
|
||||||
|
# leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab
|
||||||
|
# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual,
|
||||||
|
# keypadMinus, keypadMultiply, keypadPlus
|
||||||
|
# - Arrows. left, down, up, right
|
||||||
|
|
||||||
|
# All possible modifiers: cmd, alt, ctrl, shift
|
||||||
|
|
||||||
|
# All possible commands: https://nikitabobko.github.io/AeroSpace/commands
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
|
||||||
|
# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3)
|
||||||
|
alt-enter = '''exec-and-forget open -na iTerm'''
|
||||||
|
alt-space = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
|
||||||
|
# alt-enter = '''exec-and-forget osascript -e '
|
||||||
|
# tell application "Terminal"
|
||||||
|
# do script
|
||||||
|
# activate
|
||||||
|
# end tell'
|
||||||
|
# '''
|
||||||
|
|
||||||
|
alt-ctrl-shift-f = 'fullscreen'
|
||||||
|
alt-ctrl-f = 'layout floating'
|
||||||
|
|
||||||
|
#alt-shift-left = 'join-with left'
|
||||||
|
#alt-shift-down = 'join-with down'
|
||||||
|
#alt-shift-up = 'join-with up'
|
||||||
|
#alt-shift-right = 'join-with right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
|
||||||
|
cmd-alt-slash = 'layout tiles horizontal vertical'
|
||||||
|
cmd-alt-shift-slash = 'layout accordion horizontal vertical'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
|
||||||
|
alt-h = 'focus left'
|
||||||
|
alt-j = 'focus down'
|
||||||
|
alt-k = 'focus up'
|
||||||
|
alt-l = 'focus right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move
|
||||||
|
alt-shift-h = 'move left'
|
||||||
|
alt-shift-j = 'move down'
|
||||||
|
alt-shift-k = 'move up'
|
||||||
|
alt-shift-l = 'move right'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#resize
|
||||||
|
cmd-shift-minus = 'resize smart -200'
|
||||||
|
cmd-shift-equal = 'resize smart +200'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
|
||||||
|
alt-1 = 'workspace 1'
|
||||||
|
alt-2 = 'workspace 2'
|
||||||
|
alt-3 = 'workspace 3'
|
||||||
|
alt-4 = 'workspace 4'
|
||||||
|
alt-5 = 'workspace 5'
|
||||||
|
alt-6 = 'workspace 6'
|
||||||
|
alt-7 = 'workspace 7'
|
||||||
|
alt-8 = 'workspace 8'
|
||||||
|
# Allow switching to extra screen
|
||||||
|
alt-0 = 'workspace 10'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
|
||||||
|
# Removing --focus-follows-window
|
||||||
|
alt-shift-1 = 'move-node-to-workspace 1'
|
||||||
|
alt-shift-2 = 'move-node-to-workspace 2'
|
||||||
|
alt-shift-3 = 'move-node-to-workspace 3'
|
||||||
|
alt-shift-4 = 'move-node-to-workspace 4'
|
||||||
|
alt-shift-5 = 'move-node-to-workspace 5'
|
||||||
|
alt-shift-6 = 'move-node-to-workspace 6'
|
||||||
|
alt-shift-7 = 'move-node-to-workspace 7'
|
||||||
|
alt-shift-8 = 'move-node-to-workspace 8'
|
||||||
|
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
|
||||||
|
alt-shift-semicolon = 'mode service'
|
||||||
|
alt-r = 'mode resize'
|
||||||
|
|
||||||
|
# 'service' binding mode declaration.
|
||||||
|
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
|
||||||
|
[mode.service.binding]
|
||||||
|
esc = ['reload-config', 'mode main']
|
||||||
|
r = ['flatten-workspace-tree', 'mode main'] # reset layout
|
||||||
|
f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
|
||||||
|
m = ['workspace 1','layout accordion horizontal vertical','workspace 2','layout accordion horizontal vertical','workspace 3','layout accordion horizontal vertical','workspace 4','layout accordion horizontal vertical','workspace 5','layout accordion horizontal vertical','workspace 6','layout accordion horizontal vertical']
|
||||||
|
d = ['workspace 1','layout tiles horizontal vertical','workspace 2','layout tiles horizontal vertical','workspace 3','layout tiles horizontal vertical','workspace 4','layout tiles horizontal vertical','workspace 5','layout tiles horizontal vertical','workspace 6','layout tiles horizontal vertical']
|
||||||
|
backspace = ['close-all-windows-but-current', 'mode main']
|
||||||
|
|
||||||
|
[mode.resize.binding]
|
||||||
|
1 = ['resize width 250','mode main']
|
||||||
|
2 = ['resize width 1000','mode main']
|
||||||
|
3 = ['resize width 2000','mode main']
|
||||||
|
4 = ['resize width 4000','mode main']
|
||||||
|
h = 'resize width -100'
|
||||||
|
j = 'resize height +100'
|
||||||
|
k = 'resize height -100'
|
||||||
|
l = 'resize width +100'
|
||||||
|
enter = 'mode main'
|
||||||
|
esc = 'mode main'
|
||||||
|
|
||||||
|
[workspace-to-monitor-force-assignment]
|
||||||
|
1 = 'main'
|
||||||
|
2 = 'main'
|
||||||
|
3 = 'main'
|
||||||
|
4 = 'main'
|
||||||
|
5 = 'main'
|
||||||
|
6 = 'secondary'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -8,7 +8,6 @@
|
|||||||
- git
|
- git
|
||||||
- tmux
|
- tmux
|
||||||
- kitty
|
- kitty
|
||||||
- zoxide
|
|
||||||
|
|
||||||
- name: Install i3 packages
|
- name: Install i3 packages
|
||||||
become: true
|
become: true
|
||||||
@@ -22,7 +21,6 @@
|
|||||||
- playerctl
|
- playerctl
|
||||||
- blueman
|
- blueman
|
||||||
- pavucontrol
|
- pavucontrol
|
||||||
- picom
|
|
||||||
|
|
||||||
- name: Development Environment
|
- name: Development Environment
|
||||||
become: true
|
become: true
|
||||||
@@ -46,8 +44,3 @@
|
|||||||
args:
|
args:
|
||||||
creates: /usr/bin/brave-browser
|
creates: /usr/bin/brave-browser
|
||||||
|
|
||||||
- name: Streamdeck
|
|
||||||
community.general.flatpak:
|
|
||||||
name: com.core447.StreamController
|
|
||||||
state: present
|
|
||||||
method: user
|
|
||||||
|
|||||||
@@ -1,21 +1,26 @@
|
|||||||
# Personal i3 Configuration
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
# Bas Grolleman
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
# Some reason system boots wrong resolution
|
# i3 config file (v4)
|
||||||
exec --no-startup-id ~/bin/set_display_ultrawide
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
# t
|
# Alt
|
||||||
set $mod Mod1
|
set $mod Mod1
|
||||||
# Win
|
# Win
|
||||||
set $win Mod4
|
set $win Mod4
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
# is used in the bar {} block below.
|
# is used in the bar {} block below.
|
||||||
#font pango:monospace 8
|
font pango:monospace 8
|
||||||
|
|
||||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
font pango:DejaVu Sans Mono 8
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
# Start XDG autostart .desktop files using dex. See also
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
@@ -26,7 +31,7 @@ exec --no-startup-id dex --autostart --environment i3
|
|||||||
|
|
||||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork -i ~/Documents/Resources/Backgrounds/51202139522_fbf4788f42_o.png
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
@@ -49,8 +54,6 @@ floating_modifier $mod
|
|||||||
|
|
||||||
# start a terminal
|
# start a terminal
|
||||||
bindsym $mod+Return exec kitty
|
bindsym $mod+Return exec kitty
|
||||||
bindsym $win+e exec /usr/bin/nautilus /home/bgrolleman
|
|
||||||
bindsym $win+b exec /opt/helium/helium
|
|
||||||
|
|
||||||
# kill focused window
|
# kill focused window
|
||||||
bindsym $mod+Shift+q kill
|
bindsym $mod+Shift+q kill
|
||||||
@@ -59,45 +62,62 @@ bindsym $mod+Shift+q kill
|
|||||||
#bindsym $mod+d exec --no-startup-id dmenu_run
|
#bindsym $mod+d exec --no-startup-id dmenu_run
|
||||||
# A more modern dmenu replacement is rofi:
|
# A more modern dmenu replacement is rofi:
|
||||||
bindcode $win+65 exec "rofi -modi drun,run -show drun"
|
bindcode $win+65 exec "rofi -modi drun,run -show drun"
|
||||||
#bindcode $mod+65 exec "rofi -show window"
|
bindcode $mod+65 exec "rofi -show window"
|
||||||
#bindcode $win+v exec 'rofi -modi "clipboard:greenclip print" -show clipboard -run-command "{cmd}"'
|
|
||||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||||
#bindsym $win+l exec "i3lock -i ~/Documents/Resources/Backgrounds/51202139522_fbf4788f42_o.png"
|
bindsym $win+l exec "i3lock -i ~/Documents/Resources/Backgrounds/51202139522_fbf4788f42_o.png"
|
||||||
#bindsym $win+l exec "/usr/bin/gdmflexiserver"
|
|
||||||
bindsym $win+$mod+q exec "/usr/bin/gdmflexiserver"
|
|
||||||
|
|
||||||
# change focus
|
# change focus
|
||||||
bindsym $mod+h focus left
|
bindsym $mod+j focus left
|
||||||
bindsym $mod+j focus down
|
bindsym $mod+k focus down
|
||||||
bindsym $mod+k focus up
|
bindsym $mod+l focus up
|
||||||
bindsym $mod+l focus right
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
# move focused window
|
# move focused window
|
||||||
bindsym $mod+Shift+h move left
|
bindsym $mod+Shift+j move left
|
||||||
bindsym $mod+Shift+j move down
|
bindsym $mod+Shift+k move down
|
||||||
bindsym $mod+Shift+k move up
|
bindsym $mod+Shift+l move up
|
||||||
bindsym $mod+Shift+l move right
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
# split in horizontal orientation
|
# split in horizontal orientation
|
||||||
bindsym $mod+semicolon split h
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
# enter fullscreen mode for the focused container
|
||||||
bindsym $mod+f fullscreen toggle
|
bindsym $mod+f fullscreen toggle
|
||||||
bindsym $mod+y floating enable; resize set 55ppt 95ppt; move position center
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
#bindsym $mod+s layout stacking
|
bindsym $mod+s layout stacking
|
||||||
#bindsym $mod+w layout tabbed
|
bindsym $mod+w layout tabbed
|
||||||
#bindsym $mod+e layout toggle split
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
# toggle tiling / floating
|
# toggle tiling / floating
|
||||||
bindsym $mod+space floating toggle
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
# change focus between tiling / floating windows
|
||||||
#bindsym $mod+space focus mode_toggle
|
#bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
set $ws1 "1"
|
set $ws1 "1"
|
||||||
@@ -150,10 +170,10 @@ mode "resize" {
|
|||||||
# Pressing right will grow the window’s width.
|
# Pressing right will grow the window’s width.
|
||||||
# Pressing up will shrink the window’s height.
|
# Pressing up will shrink the window’s height.
|
||||||
# Pressing down will grow the window’s height.
|
# Pressing down will grow the window’s height.
|
||||||
bindsym h resize shrink width 10 px or 10 ppt
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
bindsym j resize grow height 10 px or 10 ppt
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
bindsym k resize shrink height 10 px or 10 ppt
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
bindsym l resize grow width 10 px or 10 ppt
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
# same bindings, but for the arrow keys
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
@@ -168,29 +188,16 @@ mode "resize" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
bindsym $mod+Right resize grow width 30px
|
|
||||||
bindsym $mod+Left resize shrink width 30px
|
|
||||||
|
|
||||||
|
|
||||||
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
||||||
|
|
||||||
default_border pixel 3px
|
default_border normal 5px
|
||||||
smart_borders on
|
|
||||||
# This needs a newer verison of i3 then I have on my desktop right now
|
# This needs a newer verison of i3 then I have on my desktop right now
|
||||||
gaps inner 5px
|
#gaps inner 5px
|
||||||
|
|
||||||
# Turn off my screen after 10 min of in-activity
|
# Turn off my screen after 10 min of in-activity
|
||||||
exec --no-startup-id xset dpms 600
|
exec --no-startup-id xset dpms 600
|
||||||
exec --no-startup-id /usr/bin/blueman-applet
|
exec --no-startup-id /usr/bin/blueman-applet
|
||||||
exec --no-startup-id nitrogen --restore
|
exec --no-startup-id nitrogen --restore
|
||||||
exec --no-startup-id greenclip deamon
|
|
||||||
exec --no-startup-id flatpak run com.core447.StreamController -b
|
|
||||||
exec --no-startup-id picom
|
|
||||||
exec --no-startup-id ~/bin/stack-v5.3.1-20240731-x86_64.AppImage
|
|
||||||
|
|
||||||
bindsym $win+period exec flatpak run it.mijorus.smile
|
|
||||||
|
|
||||||
#exec --no-startup-id i3-msg "workspace 6; append_layout ~/.config/i3/workspace-6.json"
|
|
||||||
|
|
||||||
client.focused #ffff00 #ffff00 #000000 #ffff00 #ffff00
|
|
||||||
|
|
||||||
|
bindcode $win+. exec flatpak run it.mijorus.smile
|
||||||
|
|||||||
+28
-29
@@ -1,49 +1,48 @@
|
|||||||
// vim:ts=4:sw=4:et
|
// vim:ts=4:sw=4:et
|
||||||
{
|
{
|
||||||
"name": "Todoist",
|
// splith split container with 3 children
|
||||||
"percent": 0.15,
|
"border": "normal",
|
||||||
|
"floating": "auto_off",
|
||||||
|
"layout": "splith",
|
||||||
|
"marks": [],
|
||||||
|
"percent": 1,
|
||||||
|
"type": "con",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"border": "none",
|
||||||
|
"current_border_width": 5,
|
||||||
|
"floating": "user_off",
|
||||||
|
"marks": [],
|
||||||
|
"name": "Todoist - Today – Todoist",
|
||||||
|
"percent": 0.20,
|
||||||
"swallows": [
|
"swallows": [
|
||||||
{
|
{
|
||||||
"instance": "^crx_knaiokfnmjjldlfhlioejgcompgenfhb$"
|
"instance": "^crx_knaiokfnmjjldlfhlioejgcompgenfhb$"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"type": "con"
|
"type": "con"
|
||||||
}
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Brave",
|
"border": "normal",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"floating": "user_off",
|
||||||
|
"marks": [],
|
||||||
|
"name": "i3: Layout saving in i3 - Brave",
|
||||||
"percent": 0.60,
|
"percent": 0.60,
|
||||||
"swallows": [
|
"swallows": [
|
||||||
{
|
{
|
||||||
"class": "^Brave\\-browser$",
|
"instance": "^brave\\-browser$"
|
||||||
"instance": "^brave\\-browser$",
|
|
||||||
"window_role": "^browser$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
// splitv split container with 2 children
|
|
||||||
"border": "pixel",
|
|
||||||
"floating": "auto_off",
|
|
||||||
"layout": "splitv",
|
|
||||||
"percent": 0.35,
|
|
||||||
"type": "con",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"name": "Logseq",
|
|
||||||
"percent": 0.5,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Logseq$"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"type": "con"
|
"type": "con"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Terminal",
|
"border": "normal",
|
||||||
"percent": 0.5,
|
"current_border_width": 5,
|
||||||
|
"floating": "auto_off",
|
||||||
|
"marks": [],
|
||||||
|
"name": "bgrolleman@laura: ~",
|
||||||
|
"percent": 0.20,
|
||||||
"swallows": [
|
"swallows": [
|
||||||
{
|
{
|
||||||
"class": "^kitty$"
|
"class": "^kitty$"
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
// vim:ts=4:sw=4:et
|
|
||||||
{
|
|
||||||
"marks": [],
|
|
||||||
"name": "YouTube Music",
|
|
||||||
"percent": 0.25,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Brave\\-browser$",
|
|
||||||
"instance": "^crx_cinhimbnkkaeohfgghhklpknlkffjgod$",
|
|
||||||
"title": "^YouTube\\ Music$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
"marks": [],
|
|
||||||
"name": "WhatsApp Web",
|
|
||||||
"percent": 0.25,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Brave\\-browser$",
|
|
||||||
"instance": "^crx_hnpfjngllnobngcgfapefoaidbinmjnm$",
|
|
||||||
"title": "^WhatsApp\\ Web$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
"marks": [],
|
|
||||||
"name": "WhatsApp Web",
|
|
||||||
"percent": 0.25,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Brave\\-browser$",
|
|
||||||
"instance": "^crx_hnpfjngllnobngcgfapefoaidbinmjnm$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
"marks": [],
|
|
||||||
"name": "Friends - Discord",
|
|
||||||
"percent": 0.25,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^discord$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
i3-msg "workspace 1; append_layout ~/.config/i3/workspace-1.json"
|
|
||||||
sleep 0.5
|
|
||||||
/usr/bin/brave-browser &
|
|
||||||
sleep 0.5
|
|
||||||
/usr/bin/kitty &
|
|
||||||
sleep 0.5
|
|
||||||
flatpak run com.logseq.Logseq &
|
|
||||||
sleep 0.5
|
|
||||||
gtk-launch "brave-knaiokfnmjjldlfhlioejgcompgenfhb-Default.desktop" &
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
animations {
|
|
||||||
workspace-switch {
|
|
||||||
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
|
|
||||||
}
|
|
||||||
window-open {
|
|
||||||
duration-ms 200
|
|
||||||
curve "ease-out-quad"
|
|
||||||
}
|
|
||||||
window-close {
|
|
||||||
duration-ms 200
|
|
||||||
curve "ease-out-cubic"
|
|
||||||
}
|
|
||||||
horizontal-view-movement {
|
|
||||||
spring damping-ratio=1.0 stiffness=900 epsilon=0.0001
|
|
||||||
}
|
|
||||||
window-movement {
|
|
||||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
|
||||||
}
|
|
||||||
window-resize {
|
|
||||||
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
|
|
||||||
}
|
|
||||||
config-notification-open-close {
|
|
||||||
spring damping-ratio=0.6 stiffness=1200 epsilon=0.001
|
|
||||||
}
|
|
||||||
screenshot-ui-open {
|
|
||||||
duration-ms 300
|
|
||||||
curve "ease-out-quad"
|
|
||||||
}
|
|
||||||
overview-open-close {
|
|
||||||
spring damping-ratio=1.0 stiffness=900 epsilon=0.0001
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// ────────────── Startup Applications ──────────────
|
|
||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
|
|
||||||
|
|
||||||
spawn-sh-at-startup "qs -c noctalia-shell"
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
// ────────────── Output Configuration ──────────────
|
|
||||||
// You can run `niri msg outputs` to get the correct name for your displays.
|
|
||||||
// You will have to remove "/-" and edit it before it takes effect.
|
|
||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
|
|
||||||
|
|
||||||
/- output "DP-1" {
|
|
||||||
mode "2560x1440@359.979" // Set resolution and refresh rate
|
|
||||||
scale 1 // No scaling (use 2 for HiDPI)
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
// ────────────── Input Configuration ──────────────
|
|
||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Input
|
|
||||||
|
|
||||||
input {
|
|
||||||
keyboard {
|
|
||||||
xkb {
|
|
||||||
//If you want to overwrite your keyboard layout,
|
|
||||||
// uncomment the line below and change the layout accordingly.
|
|
||||||
//layout "us" // Use the American keyboard layout
|
|
||||||
}
|
|
||||||
numlock // Enable numlock on startup
|
|
||||||
}
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
//tap // Enable tap-to-click
|
|
||||||
dwt
|
|
||||||
scroll-method "two-finger"
|
|
||||||
tap-button-map "left-right-middle"
|
|
||||||
natural-scroll // Enable natural (macOS-style) scrolling
|
|
||||||
}
|
|
||||||
|
|
||||||
mouse {
|
|
||||||
// If you want to disable Mouse Acceleration,
|
|
||||||
// uncomment the lines below.
|
|
||||||
//accel-profile "flat"
|
|
||||||
//accel-speed 0.0
|
|
||||||
}
|
|
||||||
|
|
||||||
//focus-follows-mouse // Automatically focus windows under the mouse pointer
|
|
||||||
//workspace-auto-back-and-forth // Enable workspace back & forth switching
|
|
||||||
}
|
|
||||||
@@ -1,139 +0,0 @@
|
|||||||
binds {
|
|
||||||
|
|
||||||
// ────────────── Keybindings ──────────────
|
|
||||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Key-Bindings
|
|
||||||
|
|
||||||
// ─── noctalia-shell keybinds ───
|
|
||||||
// https://docs.noctalia.dev/getting-started/keybinds/
|
|
||||||
|
|
||||||
Mod+Shift+ESCAPE { show-hotkey-overlay; }
|
|
||||||
Mod+Shift+S { spawn-sh "flameshot gui"; }
|
|
||||||
|
|
||||||
// ─── Applications ───
|
|
||||||
Mod+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; }
|
|
||||||
Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; }
|
|
||||||
Mod+Space hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; }
|
|
||||||
Mod+B hotkey-overlay-title="Open Browser: helium" { spawn "helium-browser"; }
|
|
||||||
Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; }
|
|
||||||
Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; }
|
|
||||||
|
|
||||||
// Please choose your own file manager.
|
|
||||||
Mod+E hotkey-overlay-title="File Manager: Nautilus" { spawn "nautilus"; }
|
|
||||||
|
|
||||||
// ─── Media Controls ───
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume increase"; }
|
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume decrease"; }
|
|
||||||
XF86AudioMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteOutput"; }
|
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteInput"; }
|
|
||||||
XF86AudioNext allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media next"; }
|
|
||||||
XF86AudioPrev allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media previous"; }
|
|
||||||
XF86AudioPlay allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
|
|
||||||
XF86AudioPause allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
|
|
||||||
|
|
||||||
// ─── Brightness Controls ───
|
|
||||||
XF86MonBrightnessUp allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness increase"; }
|
|
||||||
XF86MonBrightnessDown allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; }
|
|
||||||
|
|
||||||
// ─── Window Movement and Focus ───
|
|
||||||
Mod+Q { close-window; }
|
|
||||||
|
|
||||||
Mod+Left { focus-column-left; }
|
|
||||||
Mod+H { focus-column-left; }
|
|
||||||
Mod+Right { focus-column-right; }
|
|
||||||
Mod+L { focus-column-right; }
|
|
||||||
Mod+Up { focus-window-up; }
|
|
||||||
Mod+K { focus-window-up; }
|
|
||||||
Mod+Down { focus-window-down; }
|
|
||||||
Mod+J { focus-window-down; }
|
|
||||||
|
|
||||||
Mod+CTRL+Left { move-column-left; }
|
|
||||||
Mod+CTRL+H { move-column-left; }
|
|
||||||
Mod+CTRL+Right { move-column-right; }
|
|
||||||
Mod+CTRL+L { move-column-right; }
|
|
||||||
Mod+CTRL+UP { move-window-up; }
|
|
||||||
Mod+CTRL+K { move-window-up; }
|
|
||||||
Mod+CTRL+Down { move-window-down; }
|
|
||||||
Mod+CTRL+J { move-window-down; }
|
|
||||||
|
|
||||||
Mod+Home { focus-column-first; }
|
|
||||||
Mod+End { focus-column-last; }
|
|
||||||
Mod+CTRL+Home { move-column-to-first; }
|
|
||||||
Mod+CTRL+End { move-column-to-last; }
|
|
||||||
|
|
||||||
Mod+Shift+Left { focus-monitor-left; }
|
|
||||||
Mod+Shift+Right { focus-monitor-right; }
|
|
||||||
Mod+Shift+UP { focus-monitor-up; }
|
|
||||||
Mod+Shift+Down { focus-monitor-down; }
|
|
||||||
|
|
||||||
Mod+Shift+CTRL+Left { move-column-to-monitor-left; }
|
|
||||||
Mod+Shift+CTRL+Right { move-column-to-monitor-right; }
|
|
||||||
Mod+Shift+CTRL+UP { move-column-to-monitor-up; }
|
|
||||||
Mod+Shift+CTRL+Down { move-column-to-monitor-down; }
|
|
||||||
|
|
||||||
// ─── Workspace Switching ───
|
|
||||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
|
||||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
|
||||||
Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
|
||||||
Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
|
||||||
|
|
||||||
Mod+WheelScrollRight { focus-column-right; }
|
|
||||||
Mod+WheelScrollLeft { focus-column-left; }
|
|
||||||
Mod+CTRL+WheelScrollRight { move-column-right; }
|
|
||||||
Mod+CTRL+WheelScrollLeft { move-column-left; }
|
|
||||||
|
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
|
||||||
Mod+CTRL+Shift+WheelScrollDown { move-column-right; }
|
|
||||||
Mod+CTRL+Shift+WheelScrollUp { move-column-left; }
|
|
||||||
|
|
||||||
Alt+1 { focus-workspace 1; }
|
|
||||||
Alt+2 { focus-workspace 2; }
|
|
||||||
Alt+3 { focus-workspace 3; }
|
|
||||||
Alt+4 { focus-workspace 4; }
|
|
||||||
Alt+5 { focus-workspace 5; }
|
|
||||||
Alt+6 { focus-workspace 6; }
|
|
||||||
Alt+7 { focus-workspace 7; }
|
|
||||||
Alt+8 { focus-workspace 8; }
|
|
||||||
Alt+9 { focus-workspace 9; }
|
|
||||||
|
|
||||||
Alt+Shift+1 { move-column-to-workspace 1; }
|
|
||||||
Alt+Shift+2 { move-column-to-workspace 2; }
|
|
||||||
Alt+Shift+3 { move-column-to-workspace 3; }
|
|
||||||
Alt+Shift+4 { move-column-to-workspace 4; }
|
|
||||||
Alt+Shift+5 { move-column-to-workspace 5; }
|
|
||||||
Alt+Shift+6 { move-column-to-workspace 6; }
|
|
||||||
Alt+Shift+7 { move-column-to-workspace 7; }
|
|
||||||
Alt+Shift+8 { move-column-to-workspace 8; }
|
|
||||||
Alt+Shift+9 { move-column-to-workspace 9; }
|
|
||||||
|
|
||||||
Mod+TAB { focus-workspace-previous; }
|
|
||||||
|
|
||||||
// ─── Layout Controls ───
|
|
||||||
Mod+CTRL+F { expand-column-to-available-width; }
|
|
||||||
Mod+C { center-column; }
|
|
||||||
Mod+CTRL+C { center-visible-columns; }
|
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
|
||||||
|
|
||||||
// ─── Modes ───
|
|
||||||
Mod+T { toggle-window-floating; }
|
|
||||||
Mod+F { fullscreen-window; }
|
|
||||||
Mod+W { toggle-column-tabbed-display; }
|
|
||||||
|
|
||||||
// ─── Screenshots ───
|
|
||||||
CTRL+Shift+1 { screenshot; }
|
|
||||||
CTRL+Shift+2 { screenshot-screen; }
|
|
||||||
CTRL+Shift+3 { screenshot-window; }
|
|
||||||
|
|
||||||
// ─── Emergency Escape Key ───
|
|
||||||
// Use this when a fullscreen app blocks your keybinds.
|
|
||||||
// It disables any active keyboard shortcut inhibitor, restoring control.
|
|
||||||
Mod+ESCAPE allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
|
||||||
|
|
||||||
// ─── Exit / Power ───
|
|
||||||
CTRL+ALT+Delete { quit; } // Also quits Niri
|
|
||||||
Mod+Shift+P { power-off-monitors; } // Turn off screens (useful for OLED or privacy)
|
|
||||||
Mod+O repeat=false { toggle-overview; }
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
layout {
|
|
||||||
gaps 16 // Gap between windows
|
|
||||||
center-focused-column "always" // Don’t auto-center focused column
|
|
||||||
|
|
||||||
background-color "transparent" // <- needed for noctalia-shell to set wallpaper
|
|
||||||
|
|
||||||
//default-column-width { proportion 0.95; }
|
|
||||||
default-column-width { proportion 0.40; }
|
|
||||||
|
|
||||||
preset-column-widths {
|
|
||||||
proportion 0.33333
|
|
||||||
proportion 0.5
|
|
||||||
proportion 0.66667
|
|
||||||
}
|
|
||||||
|
|
||||||
struts {}
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
prefer-no-csd
|
|
||||||
screenshot-path null
|
|
||||||
|
|
||||||
environment {
|
|
||||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
|
||||||
QT_QPA_PLATFORM "wayland"
|
|
||||||
QT_QPA_PLATFORMTHEME "gtk3"
|
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION "1"
|
|
||||||
XDG_CURRENT_DESKTOP "niri"
|
|
||||||
XDG_SESSION_TYPE "wayland"
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
xcursor-theme "capitaine-cursors"
|
|
||||||
xcursor-size 24
|
|
||||||
}
|
|
||||||
|
|
||||||
debug {
|
|
||||||
// Allows notification actions and window activation from Noctalia.
|
|
||||||
honor-xdg-activation-with-invalid-serial
|
|
||||||
}
|
|
||||||
|
|
||||||
hotkey-overlay {
|
|
||||||
skip-at-startup
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
window-rule {
|
|
||||||
geometry-corner-radius 5 // Set every window radius to 20
|
|
||||||
clip-to-geometry true
|
|
||||||
}
|
|
||||||
|
|
||||||
// if you use steam you will probably like these
|
|
||||||
window-rule {
|
|
||||||
match app-id="steam"
|
|
||||||
exclude title=r#"^[Ss]team$"#
|
|
||||||
open-floating true
|
|
||||||
}
|
|
||||||
|
|
||||||
window-rule {
|
|
||||||
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
|
|
||||||
default-floating-position x=10 y=10 relative-to="bottom-right"
|
|
||||||
open-focused false
|
|
||||||
}
|
|
||||||
|
|
||||||
layer-rule {
|
|
||||||
match namespace="^noctalia-wallpaper*"
|
|
||||||
place-within-backdrop true
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
include "./cfg/animation.kdl"
|
|
||||||
include "./cfg/autostart.kdl"
|
|
||||||
include "./cfg/keybinds.kdl"
|
|
||||||
include "./cfg/input.kdl"
|
|
||||||
include "./cfg/display.kdl"
|
|
||||||
include "./cfg/layout.kdl"
|
|
||||||
include "./cfg/rules.kdl"
|
|
||||||
include "./cfg/misc.kdl"
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"mError": "#f38ba8",
|
|
||||||
"mHover": "#94e2d5",
|
|
||||||
"mOnError": "#11111b",
|
|
||||||
"mOnHover": "#11111b",
|
|
||||||
"mOnPrimary": "#11111b",
|
|
||||||
"mOnSecondary": "#11111b",
|
|
||||||
"mOnSurface": "#cdd6f4",
|
|
||||||
"mOnSurfaceVariant": "#a3b4eb",
|
|
||||||
"mOnTertiary": "#11111b",
|
|
||||||
"mOutline": "#4c4f69",
|
|
||||||
"mPrimary": "#cba6f7",
|
|
||||||
"mSecondary": "#fab387",
|
|
||||||
"mShadow": "#11111b",
|
|
||||||
"mSurface": "#1e1e2e",
|
|
||||||
"mSurfaceVariant": "#313244",
|
|
||||||
"mTertiary": "#94e2d5"
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"name": "Noctalia Plugins",
|
|
||||||
"url": "https://github.com/noctalia-dev/noctalia-plugins"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"states": {
|
|
||||||
"polkit-agent": {
|
|
||||||
"enabled": true,
|
|
||||||
"sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"version": 2
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
import QtQuick.Layouts
|
|
||||||
import QtQuick.Controls
|
|
||||||
import QtQuick.Effects
|
|
||||||
import QtQuick
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Services.Polkit
|
|
||||||
import Quickshell.Wayland
|
|
||||||
import qs.Commons
|
|
||||||
import qs.Widgets
|
|
||||||
import qs.Services.UI
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
property var pluginApi: null
|
|
||||||
|
|
||||||
PolkitAgent {
|
|
||||||
id: agent
|
|
||||||
|
|
||||||
onIsActiveChanged: {
|
|
||||||
if (isActive) {
|
|
||||||
openWindow()
|
|
||||||
} else {
|
|
||||||
closeWindow()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property var window: null
|
|
||||||
|
|
||||||
function openWindow() {
|
|
||||||
if (window === null) {
|
|
||||||
window = Qt.createComponent("PolkitWindow.qml").createObject(root, {
|
|
||||||
flow: agent.flow,
|
|
||||||
pluginApi: Qt.binding(function() { return root.pluginApi })
|
|
||||||
});
|
|
||||||
window.visible = true;
|
|
||||||
} else {
|
|
||||||
window.flow = agent.flow
|
|
||||||
window.pluginApi = root.pluginApi
|
|
||||||
window.visible = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function closeWindow() {
|
|
||||||
if (window !== null) {
|
|
||||||
window.destroy();
|
|
||||||
window = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,211 +0,0 @@
|
|||||||
import QtQuick.Layouts
|
|
||||||
import QtQuick.Controls
|
|
||||||
import QtQuick.Effects
|
|
||||||
import QtQuick
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Services.Polkit
|
|
||||||
import Quickshell.Wayland
|
|
||||||
import qs.Commons
|
|
||||||
import qs.Widgets
|
|
||||||
import qs.Services.UI
|
|
||||||
|
|
||||||
PanelWindow {
|
|
||||||
id: polkitWindow
|
|
||||||
|
|
||||||
property AuthFlow flow
|
|
||||||
property var pluginApi
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: flow
|
|
||||||
function onFailedChanged() {
|
|
||||||
if (flow && flow.failed) {
|
|
||||||
ToastService.showError(
|
|
||||||
pluginApi ? pluginApi.tr("error.failed.title") : "Authentication Failed",
|
|
||||||
pluginApi ? pluginApi.tr("error.failed.message") : "The password you entered was incorrect."
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Layer above everything else (critical system prompt)
|
|
||||||
WlrLayershell.layer: WlrLayer.Overlay
|
|
||||||
WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
|
|
||||||
|
|
||||||
readonly property real shadowPadding: Style.shadowBlurMax + Style.marginL
|
|
||||||
|
|
||||||
// Explicit size - include shadowPadding so the shadow isn't clipped at window corners
|
|
||||||
implicitWidth: 400 * Style.uiScaleRatio + shadowPadding * 2
|
|
||||||
implicitHeight: contentLayout.implicitHeight + (Style.marginL * 2) + shadowPadding * 2
|
|
||||||
|
|
||||||
color: "transparent"
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: contentContainer
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: shadowPadding
|
|
||||||
focus: true
|
|
||||||
|
|
||||||
Keys.onPressed: function(event) {
|
|
||||||
if (!flow) return;
|
|
||||||
|
|
||||||
if (Keybinds.checkKey(event, "escape", Settings)) {
|
|
||||||
flow.cancelAuthenticationRequest();
|
|
||||||
event.accepted = true;
|
|
||||||
} else if (Keybinds.checkKey(event, "enter", Settings)) {
|
|
||||||
if (passwordInput.text !== "") {
|
|
||||||
flow.submit(passwordInput.text);
|
|
||||||
passwordInput.text = "";
|
|
||||||
}
|
|
||||||
event.accepted = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
transform: Translate {
|
|
||||||
id: shakeTranslate
|
|
||||||
x: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Error animation
|
|
||||||
SequentialAnimation {
|
|
||||||
id: errorShake
|
|
||||||
running: flow && flow.failed
|
|
||||||
loops: 1
|
|
||||||
|
|
||||||
NumberAnimation { target: shakeTranslate; property: "x"; from: 0; to: -10; duration: 50; easing.type: Easing.InOutQuad }
|
|
||||||
NumberAnimation { target: shakeTranslate; property: "x"; from: -10; to: 10; duration: 50; easing.type: Easing.InOutQuad }
|
|
||||||
NumberAnimation { target: shakeTranslate; property: "x"; from: 10; to: -10; duration: 50; easing.type: Easing.InOutQuad }
|
|
||||||
NumberAnimation { target: shakeTranslate; property: "x"; from: -10; to: 10; duration: 50; easing.type: Easing.InOutQuad }
|
|
||||||
NumberAnimation { target: shakeTranslate; property: "x"; from: 10; to: 0; duration: 50; easing.type: Easing.InOutQuad }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Shadow effect (behind background)
|
|
||||||
NDropShadow {
|
|
||||||
anchors.fill: customBackground
|
|
||||||
source: customBackground
|
|
||||||
autoPaddingEnabled: true
|
|
||||||
z: -1
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: customBackground
|
|
||||||
anchors.fill: parent
|
|
||||||
radius: Style.radiusL
|
|
||||||
color: Qt.alpha(Color.mSurface, 0.95)
|
|
||||||
border.color: (flow && (flow.failed || flow.supplementaryIsError)) ? Color.mError : Color.mOutline
|
|
||||||
border.width: Style.borderS
|
|
||||||
|
|
||||||
Behavior on border.color {
|
|
||||||
ColorAnimation { duration: Style.animationFast }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
id: contentLayout
|
|
||||||
anchors.centerIn: parent
|
|
||||||
width: parent.width - (Style.marginL * 2)
|
|
||||||
spacing: Style.marginM
|
|
||||||
|
|
||||||
// Header with Icon
|
|
||||||
RowLayout {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
spacing: Style.marginM
|
|
||||||
|
|
||||||
NImageRounded {
|
|
||||||
Layout.preferredWidth: Style.fontSizeXXL * 2
|
|
||||||
Layout.preferredHeight: Style.fontSizeXXL * 2
|
|
||||||
imagePath: (flow && flow.iconName) ? Quickshell.iconPath(flow.iconName) : ""
|
|
||||||
fallbackIcon: "lock"
|
|
||||||
borderWidth: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
spacing: Style.marginXS
|
|
||||||
|
|
||||||
NText {
|
|
||||||
text: flow ? flow.message : (pluginApi ? pluginApi.tr("window.title") : "Authentication Required")
|
|
||||||
pointSize: Style.fontSizeL
|
|
||||||
font.weight: Style.fontWeightBold
|
|
||||||
color: Color.mOnSurface
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
Layout.fillWidth: true
|
|
||||||
}
|
|
||||||
|
|
||||||
NText {
|
|
||||||
text: flow ? flow.actionId : ""
|
|
||||||
pointSize: Style.fontSizeXS
|
|
||||||
color: Color.mOnSurfaceVariant
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
Layout.fillWidth: true
|
|
||||||
visible: text !== ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Supplementary Message (Error or prompt)
|
|
||||||
NText {
|
|
||||||
visible: flow && flow.supplementaryMessage !== ""
|
|
||||||
text: flow ? flow.supplementaryMessage : ""
|
|
||||||
pointSize: Style.fontSizeS
|
|
||||||
color: (flow && flow.supplementaryIsError) ? Color.mError : Color.mOnSurfaceVariant
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
Layout.fillWidth: true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Input Field
|
|
||||||
NTextInput {
|
|
||||||
id: passwordInput
|
|
||||||
Layout.fillWidth: true
|
|
||||||
placeholderText: flow ? flow.inputPrompt : (pluginApi ? pluginApi.tr("prompt.password") : "Password")
|
|
||||||
label: (flow && flow.isResponseRequired) ? (pluginApi ? pluginApi.tr("prompt.password") : "Password") : ""
|
|
||||||
inputItem.echoMode: (flow && !flow.responseVisible) ? TextInput.Password : TextInput.Normal
|
|
||||||
visible: flow && flow.isResponseRequired
|
|
||||||
|
|
||||||
onAccepted: {
|
|
||||||
if (flow) {
|
|
||||||
flow.submit(passwordInput.text)
|
|
||||||
passwordInput.text = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Actions
|
|
||||||
RowLayout {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.topMargin: Style.marginS
|
|
||||||
spacing: Style.marginM
|
|
||||||
|
|
||||||
Item { Layout.fillWidth: true } // Spacer
|
|
||||||
|
|
||||||
NButton {
|
|
||||||
text: pluginApi ? pluginApi.tr("action.cancel") : "Cancel"
|
|
||||||
backgroundColor: Color.mSurfaceVariant
|
|
||||||
textColor: Color.mOnSurfaceVariant
|
|
||||||
outlined: false
|
|
||||||
onClicked: {
|
|
||||||
if (flow) flow.cancelAuthenticationRequest()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
NButton {
|
|
||||||
text: pluginApi ? pluginApi.tr("action.authenticate") : "Authenticate"
|
|
||||||
backgroundColor: Color.mPrimary
|
|
||||||
textColor: Color.mOnPrimary
|
|
||||||
enabled: flow && flow.isResponseRequired
|
|
||||||
onClicked: {
|
|
||||||
if (flow) {
|
|
||||||
flow.submit(passwordInput.text)
|
|
||||||
passwordInput.text = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Focus handling
|
|
||||||
Component.onCompleted: {
|
|
||||||
passwordInput.inputItem.forceActiveFocus()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# Polkit Agent
|
|
||||||
|
|
||||||
This plugin provides a Polkit authentication agent for Noctalia. It allows you to authenticate actions that require elevated privileges directly within the shell.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Important
|
|
||||||
|
|
||||||
To use this plugin, you **must disable or uninstall your existing polkit authentication agent** (e.g., `polkit-gnome`, `polkit-kde-agent`, `lxpolkit`, etc).
|
|
||||||
|
|
||||||
Having multiple polkit agents running simultaneously will cause conflicts and prevent this plugin from working correctly.
|
|
||||||
|
|
||||||
> You may need to **restart your session or computer** after enabling this plugin for the changes to take effect and for the new agent to be registered properly.
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Authentifizierung erforderlich"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Passwort"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Abbrechen",
|
|
||||||
"authenticate": "Authentifizieren"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Authentifizierung fehlgeschlagen",
|
|
||||||
"message": "Das eingegebene Passwort war falsch."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Authentication Required"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Password"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Cancel",
|
|
||||||
"authenticate": "Authenticate"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Authentication Failed",
|
|
||||||
"message": "The password you entered was incorrect."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Autenticación requerida"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Contraseña"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Cancelar",
|
|
||||||
"authenticate": "Autenticar"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Autenticación fallida",
|
|
||||||
"message": "La contraseña introducida es incorrecta."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Authentification requise"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Mot de passe"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Annuler",
|
|
||||||
"authenticate": "S'authentifier"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Authentification échouée",
|
|
||||||
"message": "Le mot de passe saisi est incorrect."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Hitelesítés szükséges"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Jelszó"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Mégse",
|
|
||||||
"authenticate": "Hitelesítés"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Hitelesítés sikertelen",
|
|
||||||
"message": "A megadott jelszó helytelen volt."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "認証が必要です"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "パスワード"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "キャンセル",
|
|
||||||
"authenticate": "認証"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "認証に失敗しました",
|
|
||||||
"message": "入力されたパスワードが正しくありません。"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "인증 필요"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "비밀번호"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "취소",
|
|
||||||
"authenticate": "인증"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "인증 실패",
|
|
||||||
"message": "입력한 비밀번호가 올바르지 않습니다."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Nasname pêwîst e"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Şîfre"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Betal bike",
|
|
||||||
"authenticate": "Nasnameyê bipesend bike"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Nasname têk çû",
|
|
||||||
"message": "Şîfreya ku hûn nivîsandin şaş e."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Authenticatie vereist"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Wachtwoord"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Annuleren",
|
|
||||||
"authenticate": "Authenticeren"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Authenticatie mislukt",
|
|
||||||
"message": "Het ingevoerde wachtwoord was onjuist."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Autentisering kreves"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Passord"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Avbryt",
|
|
||||||
"authenticate": "Autentiser"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Autentisering mislyktes",
|
|
||||||
"message": "Passordet du skrev inn var feil."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Autentisering krevst"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Passord"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Avbryt",
|
|
||||||
"authenticate": "Autentiser"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Autentisering mislukkast",
|
|
||||||
"message": "Passordet du skreiv inn var feil."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Wymagane uwierzytelnienie"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Hasło"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Anuluj",
|
|
||||||
"authenticate": "Uwierzytelnij"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Uwierzytelnienie nie powiodło się",
|
|
||||||
"message": "Wprowadzone hasło jest nieprawidłowe."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Autenticação Necessária"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Senha"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Cancelar",
|
|
||||||
"authenticate": "Autenticar"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Autenticação Falhou",
|
|
||||||
"message": "A senha introduzida está incorreta."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Требуется аутентификация"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Пароль"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Отмена",
|
|
||||||
"authenticate": "Аутентифицировать"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Ошибка аутентификации",
|
|
||||||
"message": "Введен неверный пароль."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Autentisering krävs"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Lösenord"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Avbryt",
|
|
||||||
"authenticate": "Autentisera"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Autentisering misslyckades",
|
|
||||||
"message": "Det angivna lösenordet var felaktigt."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Kimlik Doğrulaması Gerekli"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Parola"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "İptal",
|
|
||||||
"authenticate": "Doğrula"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Kimlik Doğrulama Başarısız",
|
|
||||||
"message": "Girdiğiniz parola yanlış."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Потрібна аутентифікація"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Пароль"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Скасувати",
|
|
||||||
"authenticate": "Аутентифікувати"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Помилка аутентифікації",
|
|
||||||
"message": "Введений пароль неправильний."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "Yêu cầu xác thực"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "Mật khẩu"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "Hủy",
|
|
||||||
"authenticate": "Xác thực"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "Xác thực thất bại",
|
|
||||||
"message": "Mật khẩu bạn nhập không đúng."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "需要身份验证"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "密码"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "取消",
|
|
||||||
"authenticate": "验证"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "身份验证失败",
|
|
||||||
"message": "您输入的密码不正确。"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"window": {
|
|
||||||
"title": "需要身份驗證"
|
|
||||||
},
|
|
||||||
"prompt": {
|
|
||||||
"password": "密碼"
|
|
||||||
},
|
|
||||||
"action": {
|
|
||||||
"cancel": "取消",
|
|
||||||
"authenticate": "驗證"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"failed": {
|
|
||||||
"title": "身份驗證失敗",
|
|
||||||
"message": "您輸入的密碼不正確。"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "polkit-agent",
|
|
||||||
"name": "Polkit Agent",
|
|
||||||
"version": "1.0.6",
|
|
||||||
"minNoctaliaVersion": "4.4.3",
|
|
||||||
"author": "Noctalia Team <team@noctalia.dev>",
|
|
||||||
"official": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"repository": "https://github.com/noctalia-dev/noctalia-plugins",
|
|
||||||
"description": "Provides a Polkit authentication agent.",
|
|
||||||
"tags": [
|
|
||||||
"System",
|
|
||||||
"Security"
|
|
||||||
],
|
|
||||||
"entryPoints": {
|
|
||||||
"main": "Main.qml"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"plugins": []
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"defaultSettings": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 69 KiB |
@@ -1,703 +0,0 @@
|
|||||||
{
|
|
||||||
"appLauncher": {
|
|
||||||
"autoPasteClipboard": false,
|
|
||||||
"clipboardWatchImageCommand": "wl-paste --type image --watch cliphist store",
|
|
||||||
"clipboardWatchTextCommand": "wl-paste --type text --watch cliphist store",
|
|
||||||
"clipboardWrapText": true,
|
|
||||||
"customLaunchPrefix": "",
|
|
||||||
"customLaunchPrefixEnabled": false,
|
|
||||||
"density": "default",
|
|
||||||
"enableClipPreview": true,
|
|
||||||
"enableClipboardChips": true,
|
|
||||||
"enableClipboardHistory": true,
|
|
||||||
"enableClipboardSmartIcons": true,
|
|
||||||
"enableSessionSearch": true,
|
|
||||||
"enableSettingsSearch": true,
|
|
||||||
"enableWindowsSearch": true,
|
|
||||||
"iconMode": "tabler",
|
|
||||||
"ignoreMouseInput": false,
|
|
||||||
"overviewLayer": false,
|
|
||||||
"pinnedApps": [
|
|
||||||
],
|
|
||||||
"position": "center",
|
|
||||||
"screenshotAnnotationTool": "",
|
|
||||||
"showCategories": true,
|
|
||||||
"showIconBackground": false,
|
|
||||||
"sortByMostUsed": true,
|
|
||||||
"terminalCommand": "alacritty -e",
|
|
||||||
"viewMode": "list"
|
|
||||||
},
|
|
||||||
"audio": {
|
|
||||||
"mprisBlacklist": [
|
|
||||||
],
|
|
||||||
"preferredPlayer": "",
|
|
||||||
"spectrumFrameRate": 30,
|
|
||||||
"spectrumMirrored": true,
|
|
||||||
"visualizerType": "linear",
|
|
||||||
"volumeFeedback": false,
|
|
||||||
"volumeFeedbackSoundFile": "",
|
|
||||||
"volumeOverdrive": false,
|
|
||||||
"volumeStep": 5
|
|
||||||
},
|
|
||||||
"bar": {
|
|
||||||
"autoHideDelay": 500,
|
|
||||||
"autoShowDelay": 150,
|
|
||||||
"backgroundOpacity": 0.93,
|
|
||||||
"barType": "simple",
|
|
||||||
"capsuleColorKey": "none",
|
|
||||||
"capsuleOpacity": 1,
|
|
||||||
"contentPadding": 2,
|
|
||||||
"density": "comfortable",
|
|
||||||
"displayMode": "always_visible",
|
|
||||||
"enableExclusionZoneInset": true,
|
|
||||||
"fontScale": 1,
|
|
||||||
"frameRadius": 12,
|
|
||||||
"frameThickness": 8,
|
|
||||||
"hideOnOverview": false,
|
|
||||||
"marginHorizontal": 4,
|
|
||||||
"marginVertical": 4,
|
|
||||||
"middleClickAction": "none",
|
|
||||||
"middleClickCommand": "",
|
|
||||||
"middleClickFollowMouse": false,
|
|
||||||
"monitors": [
|
|
||||||
],
|
|
||||||
"mouseWheelAction": "none",
|
|
||||||
"mouseWheelWrap": true,
|
|
||||||
"outerCorners": false,
|
|
||||||
"position": "top",
|
|
||||||
"reverseScroll": false,
|
|
||||||
"rightClickAction": "controlCenter",
|
|
||||||
"rightClickCommand": "",
|
|
||||||
"rightClickFollowMouse": true,
|
|
||||||
"screenOverrides": [
|
|
||||||
],
|
|
||||||
"showCapsule": true,
|
|
||||||
"showOnWorkspaceSwitch": true,
|
|
||||||
"showOutline": false,
|
|
||||||
"useSeparateOpacity": false,
|
|
||||||
"widgetSpacing": 6,
|
|
||||||
"widgets": {
|
|
||||||
"center": [
|
|
||||||
{
|
|
||||||
"clockColor": "none",
|
|
||||||
"customFont": "",
|
|
||||||
"formatHorizontal": "HH:mm ddd, MMM dd",
|
|
||||||
"formatVertical": "HH mm - dd MM",
|
|
||||||
"id": "Clock",
|
|
||||||
"tooltipFormat": "HH:mm ddd, MMM dd",
|
|
||||||
"useCustomFont": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"left": [
|
|
||||||
{
|
|
||||||
"colorizeSystemIcon": "none",
|
|
||||||
"colorizeSystemText": "none",
|
|
||||||
"customIconPath": "",
|
|
||||||
"enableColorization": false,
|
|
||||||
"icon": "rocket",
|
|
||||||
"iconColor": "none",
|
|
||||||
"id": "Launcher",
|
|
||||||
"useDistroLogo": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"compactMode": true,
|
|
||||||
"diskPath": "/",
|
|
||||||
"iconColor": "none",
|
|
||||||
"id": "SystemMonitor",
|
|
||||||
"showCpuCores": false,
|
|
||||||
"showCpuFreq": false,
|
|
||||||
"showCpuTemp": true,
|
|
||||||
"showCpuUsage": true,
|
|
||||||
"showDiskAvailable": false,
|
|
||||||
"showDiskUsage": false,
|
|
||||||
"showDiskUsageAsPercent": false,
|
|
||||||
"showGpuTemp": false,
|
|
||||||
"showLoadAverage": false,
|
|
||||||
"showMemoryAsPercent": false,
|
|
||||||
"showMemoryUsage": true,
|
|
||||||
"showNetworkStats": false,
|
|
||||||
"showSwapUsage": false,
|
|
||||||
"textColor": "none",
|
|
||||||
"useMonospaceFont": true,
|
|
||||||
"usePadding": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"compactMode": false,
|
|
||||||
"hideMode": "hidden",
|
|
||||||
"hideWhenIdle": false,
|
|
||||||
"id": "MediaMini",
|
|
||||||
"maxWidth": 145,
|
|
||||||
"panelShowAlbumArt": true,
|
|
||||||
"scrollingMode": "hover",
|
|
||||||
"showAlbumArt": true,
|
|
||||||
"showArtistFirst": true,
|
|
||||||
"showProgressRing": true,
|
|
||||||
"showVisualizer": false,
|
|
||||||
"textColor": "none",
|
|
||||||
"useFixedWidth": false,
|
|
||||||
"visualizerType": "linear"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"characterCount": 2,
|
|
||||||
"colorizeIcons": false,
|
|
||||||
"emptyColor": "secondary",
|
|
||||||
"enableScrollWheel": true,
|
|
||||||
"focusedColor": "primary",
|
|
||||||
"followFocusedScreen": false,
|
|
||||||
"fontWeight": "bold",
|
|
||||||
"groupedBorderOpacity": 1,
|
|
||||||
"hideUnoccupied": false,
|
|
||||||
"iconScale": 0.8,
|
|
||||||
"id": "Workspace",
|
|
||||||
"labelMode": "index",
|
|
||||||
"occupiedColor": "secondary",
|
|
||||||
"pillSize": 0.6,
|
|
||||||
"showApplications": false,
|
|
||||||
"showApplicationsHover": false,
|
|
||||||
"showBadge": true,
|
|
||||||
"showLabelsOnlyWhenOccupied": true,
|
|
||||||
"unfocusedIconsOpacity": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"colorizeIcons": false,
|
|
||||||
"hideMode": "visible",
|
|
||||||
"id": "ActiveWindow",
|
|
||||||
"maxWidth": 350,
|
|
||||||
"scrollingMode": "hover",
|
|
||||||
"showIcon": true,
|
|
||||||
"showText": true,
|
|
||||||
"textColor": "none",
|
|
||||||
"useFixedWidth": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"right": [
|
|
||||||
{
|
|
||||||
"blacklist": [
|
|
||||||
],
|
|
||||||
"chevronColor": "none",
|
|
||||||
"colorizeIcons": false,
|
|
||||||
"drawerEnabled": false,
|
|
||||||
"hidePassive": false,
|
|
||||||
"id": "Tray",
|
|
||||||
"pinned": [
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hideWhenZero": false,
|
|
||||||
"hideWhenZeroUnread": false,
|
|
||||||
"iconColor": "none",
|
|
||||||
"id": "NotificationHistory",
|
|
||||||
"showUnreadBadge": true,
|
|
||||||
"unreadBadgeColor": "primary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"deviceNativePath": "__default__",
|
|
||||||
"displayMode": "graphic-clean",
|
|
||||||
"hideIfIdle": false,
|
|
||||||
"hideIfNotDetected": true,
|
|
||||||
"id": "Battery",
|
|
||||||
"showNoctaliaPerformance": false,
|
|
||||||
"showPowerProfiles": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"displayMode": "onhover",
|
|
||||||
"iconColor": "none",
|
|
||||||
"id": "Volume",
|
|
||||||
"middleClickCommand": "pwvucontrol || pavucontrol",
|
|
||||||
"textColor": "none"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"applyToAllMonitors": false,
|
|
||||||
"displayMode": "onhover",
|
|
||||||
"iconColor": "none",
|
|
||||||
"id": "Brightness",
|
|
||||||
"textColor": "none"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"colorizeDistroLogo": false,
|
|
||||||
"colorizeSystemIcon": "none",
|
|
||||||
"colorizeSystemText": "none",
|
|
||||||
"customIconPath": "",
|
|
||||||
"enableColorization": false,
|
|
||||||
"icon": "noctalia",
|
|
||||||
"id": "ControlCenter",
|
|
||||||
"useDistroLogo": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"brightness": {
|
|
||||||
"backlightDeviceMappings": [
|
|
||||||
],
|
|
||||||
"brightnessStep": 5,
|
|
||||||
"enableDdcSupport": false,
|
|
||||||
"enforceMinimum": true
|
|
||||||
},
|
|
||||||
"calendar": {
|
|
||||||
"cards": [
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "calendar-header-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "calendar-month-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "weather-card"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"colorSchemes": {
|
|
||||||
"darkMode": true,
|
|
||||||
"generationMethod": "tonal-spot",
|
|
||||||
"manualSunrise": "06:30",
|
|
||||||
"manualSunset": "18:30",
|
|
||||||
"monitorForColors": "",
|
|
||||||
"predefinedScheme": "Catppuccin",
|
|
||||||
"schedulingMode": "off",
|
|
||||||
"syncGsettings": true,
|
|
||||||
"useWallpaperColors": false
|
|
||||||
},
|
|
||||||
"controlCenter": {
|
|
||||||
"cards": [
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "profile-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "shortcuts-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "audio-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": false,
|
|
||||||
"id": "brightness-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "weather-card"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "media-sysmon-card"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"diskPath": "/",
|
|
||||||
"position": "close_to_bar_button",
|
|
||||||
"shortcuts": {
|
|
||||||
"left": [
|
|
||||||
{
|
|
||||||
"id": "Network"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "Bluetooth"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "WallpaperSelector"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "NoctaliaPerformance"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"right": [
|
|
||||||
{
|
|
||||||
"id": "Notifications"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "PowerProfile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "KeepAwake"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "NightLight"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"desktopWidgets": {
|
|
||||||
"enabled": false,
|
|
||||||
"gridSnap": false,
|
|
||||||
"gridSnapScale": false,
|
|
||||||
"monitorWidgets": [
|
|
||||||
],
|
|
||||||
"overviewEnabled": true
|
|
||||||
},
|
|
||||||
"dock": {
|
|
||||||
"animationSpeed": 1,
|
|
||||||
"backgroundOpacity": 1,
|
|
||||||
"colorizeIcons": false,
|
|
||||||
"deadOpacity": 0.6,
|
|
||||||
"displayMode": "auto_hide",
|
|
||||||
"dockType": "attached",
|
|
||||||
"enabled": true,
|
|
||||||
"floatingRatio": 1,
|
|
||||||
"groupApps": false,
|
|
||||||
"groupClickAction": "cycle",
|
|
||||||
"groupContextMenuMode": "extended",
|
|
||||||
"groupIndicatorStyle": "dots",
|
|
||||||
"inactiveIndicators": false,
|
|
||||||
"indicatorColor": "primary",
|
|
||||||
"indicatorOpacity": 0.6,
|
|
||||||
"indicatorThickness": 3,
|
|
||||||
"launcherIcon": "",
|
|
||||||
"launcherIconColor": "none",
|
|
||||||
"launcherPosition": "end",
|
|
||||||
"launcherUseDistroLogo": false,
|
|
||||||
"monitors": [
|
|
||||||
],
|
|
||||||
"onlySameOutput": true,
|
|
||||||
"pinnedApps": [
|
|
||||||
],
|
|
||||||
"pinnedStatic": false,
|
|
||||||
"position": "bottom",
|
|
||||||
"showDockIndicator": true,
|
|
||||||
"showLauncherIcon": false,
|
|
||||||
"sitOnFrame": false,
|
|
||||||
"size": 1
|
|
||||||
},
|
|
||||||
"general": {
|
|
||||||
"allowPanelsOnScreenWithoutBar": true,
|
|
||||||
"allowPasswordWithFprintd": false,
|
|
||||||
"animationDisabled": false,
|
|
||||||
"animationSpeed": 1,
|
|
||||||
"autoStartAuth": false,
|
|
||||||
"avatarImage": "/home/bgrolleman/.face",
|
|
||||||
"boxRadiusRatio": 1,
|
|
||||||
"clockFormat": "hh\\nmm",
|
|
||||||
"clockStyle": "custom",
|
|
||||||
"compactLockScreen": false,
|
|
||||||
"dimmerOpacity": 0.2,
|
|
||||||
"enableBlurBehind": true,
|
|
||||||
"enableLockScreenCountdown": true,
|
|
||||||
"enableLockScreenMediaControls": false,
|
|
||||||
"enableShadows": true,
|
|
||||||
"forceBlackScreenCorners": false,
|
|
||||||
"iRadiusRatio": 1,
|
|
||||||
"keybinds": {
|
|
||||||
"keyDown": [
|
|
||||||
"Down"
|
|
||||||
],
|
|
||||||
"keyEnter": [
|
|
||||||
"Return",
|
|
||||||
"Enter"
|
|
||||||
],
|
|
||||||
"keyEscape": [
|
|
||||||
"Esc"
|
|
||||||
],
|
|
||||||
"keyLeft": [
|
|
||||||
"Left"
|
|
||||||
],
|
|
||||||
"keyRemove": [
|
|
||||||
"Del"
|
|
||||||
],
|
|
||||||
"keyRight": [
|
|
||||||
"Right"
|
|
||||||
],
|
|
||||||
"keyUp": [
|
|
||||||
"Up"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"language": "",
|
|
||||||
"lockOnSuspend": true,
|
|
||||||
"lockScreenAnimations": false,
|
|
||||||
"lockScreenBlur": 0,
|
|
||||||
"lockScreenCountdownDuration": 10000,
|
|
||||||
"lockScreenMonitors": [
|
|
||||||
],
|
|
||||||
"lockScreenTint": 0,
|
|
||||||
"passwordChars": false,
|
|
||||||
"radiusRatio": 1,
|
|
||||||
"reverseScroll": false,
|
|
||||||
"scaleRatio": 1,
|
|
||||||
"screenRadiusRatio": 1,
|
|
||||||
"shadowDirection": "bottom_right",
|
|
||||||
"shadowOffsetX": 2,
|
|
||||||
"shadowOffsetY": 3,
|
|
||||||
"showChangelogOnStartup": true,
|
|
||||||
"showHibernateOnLockScreen": false,
|
|
||||||
"showScreenCorners": false,
|
|
||||||
"showSessionButtonsOnLockScreen": true,
|
|
||||||
"smoothScrollEnabled": true,
|
|
||||||
"telemetryEnabled": true
|
|
||||||
},
|
|
||||||
"hooks": {
|
|
||||||
"colorGeneration": "",
|
|
||||||
"darkModeChange": "",
|
|
||||||
"enabled": false,
|
|
||||||
"performanceModeDisabled": "",
|
|
||||||
"performanceModeEnabled": "",
|
|
||||||
"screenLock": "",
|
|
||||||
"screenUnlock": "",
|
|
||||||
"session": "",
|
|
||||||
"startup": "",
|
|
||||||
"wallpaperChange": ""
|
|
||||||
},
|
|
||||||
"idle": {
|
|
||||||
"customCommands": "[]",
|
|
||||||
"enabled": false,
|
|
||||||
"fadeDuration": 5,
|
|
||||||
"lockCommand": "",
|
|
||||||
"lockTimeout": 660,
|
|
||||||
"resumeLockCommand": "",
|
|
||||||
"resumeScreenOffCommand": "",
|
|
||||||
"resumeSuspendCommand": "",
|
|
||||||
"screenOffCommand": "",
|
|
||||||
"screenOffTimeout": 600,
|
|
||||||
"suspendCommand": "",
|
|
||||||
"suspendTimeout": 1800
|
|
||||||
},
|
|
||||||
"location": {
|
|
||||||
"analogClockInCalendar": false,
|
|
||||||
"autoLocate": false,
|
|
||||||
"firstDayOfWeek": 1,
|
|
||||||
"hideWeatherCityName": false,
|
|
||||||
"hideWeatherTimezone": false,
|
|
||||||
"name": "Amersfoort, The Netherlandsk",
|
|
||||||
"showCalendarEvents": true,
|
|
||||||
"showCalendarWeather": true,
|
|
||||||
"showWeekNumberInCalendar": false,
|
|
||||||
"use12hourFormat": false,
|
|
||||||
"useFahrenheit": false,
|
|
||||||
"weatherEnabled": true,
|
|
||||||
"weatherShowEffects": true,
|
|
||||||
"weatherTaliaMascotAlways": false
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"bluetoothAutoConnect": true,
|
|
||||||
"bluetoothDetailsViewMode": "grid",
|
|
||||||
"bluetoothHideUnnamedDevices": false,
|
|
||||||
"bluetoothRssiPollIntervalMs": 60000,
|
|
||||||
"bluetoothRssiPollingEnabled": false,
|
|
||||||
"disableDiscoverability": false,
|
|
||||||
"networkPanelView": "wifi",
|
|
||||||
"wifiDetailsViewMode": "grid"
|
|
||||||
},
|
|
||||||
"nightLight": {
|
|
||||||
"autoSchedule": true,
|
|
||||||
"dayTemp": "6500",
|
|
||||||
"enabled": false,
|
|
||||||
"forced": false,
|
|
||||||
"manualSunrise": "06:30",
|
|
||||||
"manualSunset": "18:30",
|
|
||||||
"nightTemp": "4000"
|
|
||||||
},
|
|
||||||
"noctaliaPerformance": {
|
|
||||||
"disableDesktopWidgets": true,
|
|
||||||
"disableWallpaper": true
|
|
||||||
},
|
|
||||||
"notifications": {
|
|
||||||
"backgroundOpacity": 1,
|
|
||||||
"clearDismissed": true,
|
|
||||||
"criticalUrgencyDuration": 15,
|
|
||||||
"density": "default",
|
|
||||||
"enableBatteryToast": true,
|
|
||||||
"enableKeyboardLayoutToast": true,
|
|
||||||
"enableMarkdown": false,
|
|
||||||
"enableMediaToast": false,
|
|
||||||
"enabled": true,
|
|
||||||
"location": "top_right",
|
|
||||||
"lowUrgencyDuration": 3,
|
|
||||||
"monitors": [
|
|
||||||
],
|
|
||||||
"normalUrgencyDuration": 8,
|
|
||||||
"overlayLayer": true,
|
|
||||||
"respectExpireTimeout": false,
|
|
||||||
"saveToHistory": {
|
|
||||||
"critical": true,
|
|
||||||
"low": false,
|
|
||||||
"normal": true
|
|
||||||
},
|
|
||||||
"sounds": {
|
|
||||||
"criticalSoundFile": "",
|
|
||||||
"enabled": false,
|
|
||||||
"excludedApps": "discord,firefox,chrome,chromium,edge",
|
|
||||||
"lowSoundFile": "",
|
|
||||||
"normalSoundFile": "",
|
|
||||||
"separateSounds": false,
|
|
||||||
"volume": 0.5
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"osd": {
|
|
||||||
"autoHideMs": 2000,
|
|
||||||
"backgroundOpacity": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"enabledTypes": [
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
"location": "top_right",
|
|
||||||
"monitors": [
|
|
||||||
],
|
|
||||||
"overlayLayer": true
|
|
||||||
},
|
|
||||||
"plugins": {
|
|
||||||
"autoUpdate": false,
|
|
||||||
"notifyUpdates": true
|
|
||||||
},
|
|
||||||
"sessionMenu": {
|
|
||||||
"countdownDuration": 10000,
|
|
||||||
"enableCountdown": true,
|
|
||||||
"largeButtonsLayout": "single-row",
|
|
||||||
"largeButtonsStyle": true,
|
|
||||||
"position": "center",
|
|
||||||
"powerOptions": [
|
|
||||||
{
|
|
||||||
"action": "lock",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "suspend",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "hibernate",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "reboot",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "logout",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "shutdown",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "rebootToUefi",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": true,
|
|
||||||
"keybind": "7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"action": "userspaceReboot",
|
|
||||||
"command": "",
|
|
||||||
"countdownEnabled": true,
|
|
||||||
"enabled": false,
|
|
||||||
"keybind": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"showHeader": true,
|
|
||||||
"showKeybinds": true
|
|
||||||
},
|
|
||||||
"settingsVersion": 59,
|
|
||||||
"systemMonitor": {
|
|
||||||
"batteryCriticalThreshold": 5,
|
|
||||||
"batteryWarningThreshold": 20,
|
|
||||||
"cpuCriticalThreshold": 90,
|
|
||||||
"cpuWarningThreshold": 80,
|
|
||||||
"criticalColor": "",
|
|
||||||
"diskAvailCriticalThreshold": 10,
|
|
||||||
"diskAvailWarningThreshold": 20,
|
|
||||||
"diskCriticalThreshold": 90,
|
|
||||||
"diskWarningThreshold": 80,
|
|
||||||
"enableDgpuMonitoring": false,
|
|
||||||
"externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor",
|
|
||||||
"gpuCriticalThreshold": 90,
|
|
||||||
"gpuWarningThreshold": 80,
|
|
||||||
"memCriticalThreshold": 90,
|
|
||||||
"memWarningThreshold": 80,
|
|
||||||
"swapCriticalThreshold": 90,
|
|
||||||
"swapWarningThreshold": 80,
|
|
||||||
"tempCriticalThreshold": 90,
|
|
||||||
"tempWarningThreshold": 80,
|
|
||||||
"useCustomColors": false,
|
|
||||||
"warningColor": ""
|
|
||||||
},
|
|
||||||
"templates": {
|
|
||||||
"activeTemplates": [
|
|
||||||
],
|
|
||||||
"enableUserTheming": false
|
|
||||||
},
|
|
||||||
"ui": {
|
|
||||||
"boxBorderEnabled": false,
|
|
||||||
"fontDefault": "Adwaita Sans",
|
|
||||||
"fontDefaultScale": 1,
|
|
||||||
"fontFixed": "monospace",
|
|
||||||
"fontFixedScale": 1,
|
|
||||||
"panelBackgroundOpacity": 0.93,
|
|
||||||
"panelsAttachedToBar": true,
|
|
||||||
"scrollbarAlwaysVisible": true,
|
|
||||||
"settingsPanelMode": "attached",
|
|
||||||
"settingsPanelSideBarCardStyle": false,
|
|
||||||
"tooltipsEnabled": true,
|
|
||||||
"translucentWidgets": false
|
|
||||||
},
|
|
||||||
"wallpaper": {
|
|
||||||
"automationEnabled": false,
|
|
||||||
"directory": "/home/bgrolleman/Documents/Resources/Backgrounds",
|
|
||||||
"enableMultiMonitorDirectories": false,
|
|
||||||
"enabled": true,
|
|
||||||
"favorites": [
|
|
||||||
],
|
|
||||||
"fillColor": "#000000",
|
|
||||||
"fillMode": "crop",
|
|
||||||
"hideWallpaperFilenames": false,
|
|
||||||
"linkLightAndDarkWallpapers": true,
|
|
||||||
"monitorDirectories": [
|
|
||||||
],
|
|
||||||
"overviewBlur": 0.4,
|
|
||||||
"overviewEnabled": false,
|
|
||||||
"overviewTint": 0.6,
|
|
||||||
"panelPosition": "follow_bar",
|
|
||||||
"randomIntervalSec": 300,
|
|
||||||
"setWallpaperOnAllMonitors": true,
|
|
||||||
"showHiddenFiles": false,
|
|
||||||
"skipStartupTransition": false,
|
|
||||||
"solidColor": "#1a1a2e",
|
|
||||||
"sortOrder": "name",
|
|
||||||
"transitionDuration": 1500,
|
|
||||||
"transitionEdgeSmoothness": 0.05,
|
|
||||||
"transitionType": [
|
|
||||||
"fade",
|
|
||||||
"disc",
|
|
||||||
"stripes",
|
|
||||||
"wipe",
|
|
||||||
"pixelate",
|
|
||||||
"honeycomb"
|
|
||||||
],
|
|
||||||
"useOriginalImages": false,
|
|
||||||
"useSolidColor": false,
|
|
||||||
"useWallhaven": false,
|
|
||||||
"viewMode": "single",
|
|
||||||
"wallhavenApiKey": "",
|
|
||||||
"wallhavenCategories": "111",
|
|
||||||
"wallhavenOrder": "desc",
|
|
||||||
"wallhavenPurity": "100",
|
|
||||||
"wallhavenQuery": "",
|
|
||||||
"wallhavenRatios": "",
|
|
||||||
"wallhavenResolutionHeight": "",
|
|
||||||
"wallhavenResolutionMode": "atleast",
|
|
||||||
"wallhavenResolutionWidth": "",
|
|
||||||
"wallhavenSorting": "relevance",
|
|
||||||
"wallpaperChangeMode": "random"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-2
@@ -11,7 +11,6 @@
|
|||||||
"lazyvim.plugins.extras.editor.mini-move",
|
"lazyvim.plugins.extras.editor.mini-move",
|
||||||
"lazyvim.plugins.extras.editor.neo-tree",
|
"lazyvim.plugins.extras.editor.neo-tree",
|
||||||
"lazyvim.plugins.extras.editor.outline",
|
"lazyvim.plugins.extras.editor.outline",
|
||||||
"lazyvim.plugins.extras.editor.snacks_explorer",
|
|
||||||
"lazyvim.plugins.extras.editor.telescope",
|
"lazyvim.plugins.extras.editor.telescope",
|
||||||
"lazyvim.plugins.extras.lang.ansible",
|
"lazyvim.plugins.extras.lang.ansible",
|
||||||
"lazyvim.plugins.extras.lang.clojure",
|
"lazyvim.plugins.extras.lang.clojure",
|
||||||
@@ -31,7 +30,7 @@
|
|||||||
],
|
],
|
||||||
"install_version": 8,
|
"install_version": 8,
|
||||||
"news": {
|
"news": {
|
||||||
"NEWS.md": "10960"
|
"NEWS.md": "11866"
|
||||||
},
|
},
|
||||||
"version": 8
|
"version": 8
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,4 +9,18 @@ local wk = require("which-key")
|
|||||||
wk.add({
|
wk.add({
|
||||||
{ "<leader>N", group = "Notes" },
|
{ "<leader>N", group = "Notes" },
|
||||||
{ "<leader>Nt", ":Journal<CR>", desc = "Today" },
|
{ "<leader>Nt", ":Journal<CR>", desc = "Today" },
|
||||||
|
{ "<leader>C", group = "ChatGPT" },
|
||||||
|
{ "<leader>CC", ":ChatGPT<CR>", desc = "ChatGPT" },
|
||||||
|
{ "<leader>Ce", "<cmd>ChatGPTEditWithInstruction<CR>", desc = "Edit with instruction", mode = { "n", "v" } },
|
||||||
|
{ "<leader>Cg", "<cmd>ChatGPTRun grammar_correction<CR>", desc = "Grammar Correction", mode = { "n", "v" } },
|
||||||
|
-- t = { "<cmd>ChatGPTRun translate<CR>", "Translate", mode = { "n", "v" } },
|
||||||
|
-- k = { "<cmd>ChatGPTRun keywords<CR>", "Keywords", mode = { "n", "v" } },
|
||||||
|
-- d = { "<cmd>ChatGPTRun docstring<CR>", "Docstring", mode = { "n", "v" } },
|
||||||
|
-- a = { "<cmd>ChatGPTRun add_tests<CR>", "Add Tests", mode = { "n", "v" } },
|
||||||
|
{ "<leader>Co", "<cmd>ChatGPTRun optimize_code<CR>", desc = "Optimize Code", mode = { "n", "v" } },
|
||||||
|
-- s = { "<cmd>ChatGPTRun summarize<CR>", "Summarize", mode = { "n", "v" } },
|
||||||
|
{ "<leader>Cf", "<cmd>ChatGPTRun fix_bugs<CR>", desc = "Fix Bugs", mode = { "n", "v" } },
|
||||||
|
-- x = { "<cmd>ChatGPTRun explain_code<CR>", "Explain Code", mode = { "n", "v" } },
|
||||||
|
-- r = { "<cmd>ChatGPTRun roxygen_edit<CR>", "Roxygen Edit", mode = { "n", "v" } },
|
||||||
|
-- l = { "<cmd>ChatGPTRun code_readability_analysis<CR>", "Code Readability Analysis", mode = { "n", "v" } },
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ require("lazy").setup({
|
|||||||
version = false, -- always use the latest git commit
|
version = false, -- always use the latest git commit
|
||||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||||
},
|
},
|
||||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
install = { colorscheme = { "catppuccin" } },
|
||||||
checker = {
|
checker = {
|
||||||
enabled = true, -- check for plugin updates periodically
|
enabled = true, -- check for plugin updates periodically
|
||||||
notify = false, -- notify on update
|
notify = false, -- notify on update
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
return {
|
|
||||||
"jackMort/ChatGPT.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("chatgpt").setup({
|
|
||||||
openai_params = {
|
|
||||||
model = "gpt-4.1"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"folke/trouble.nvim", -- optional
|
|
||||||
"nvim-telescope/telescope.nvim"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"yetone/avante.nvim",
|
||||||
|
build = "make",
|
||||||
|
event = "VeryLazy",
|
||||||
|
version = false, -- Never set this value to "*"! Never!
|
||||||
|
---@module 'avante'
|
||||||
|
---@type avante.Config
|
||||||
|
opts = {
|
||||||
|
provider = "gpt-5-codex",
|
||||||
|
providers = {
|
||||||
|
["gpt-5-codex"] = {
|
||||||
|
__inherited_from = "openai",
|
||||||
|
model = "gpt-5-codex",
|
||||||
|
temperature = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
--- The below dependencies are optional,
|
||||||
|
"nvim-mini/mini.pick", -- for file_selector provider mini.pick
|
||||||
|
"nvim-telescope/telescope.nvim", -- for file_selector provider telescope
|
||||||
|
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
|
||||||
|
"ibhagwan/fzf-lua", -- for file_selector provider fzf
|
||||||
|
"stevearc/dressing.nvim", -- for input provider dressing
|
||||||
|
"folke/snacks.nvim", -- for input provider snacks
|
||||||
|
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
||||||
|
"zbirenbaum/copilot.lua", -- for providers='copilot'
|
||||||
|
{
|
||||||
|
-- support for image pasting
|
||||||
|
"HakonHarnes/img-clip.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
-- recommended settings
|
||||||
|
default = {
|
||||||
|
embed_image_as_base64 = false,
|
||||||
|
prompt_for_file_name = false,
|
||||||
|
drag_and_drop = {
|
||||||
|
insert_mode = true,
|
||||||
|
},
|
||||||
|
-- required for Windows users
|
||||||
|
use_absolute_path = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
-- Make sure to set this up properly if you have lazy=true
|
||||||
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
opts = {
|
||||||
|
file_types = { "markdown", "Avante" },
|
||||||
|
},
|
||||||
|
ft = { "markdown", "Avante" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"saghen/blink.cmp",
|
"saghen/blink.cmp",
|
||||||
|
dependencies = {
|
||||||
|
"Kaiser-Yang/blink-cmp-avante",
|
||||||
|
},
|
||||||
opts = {
|
opts = {
|
||||||
completion = {
|
completion = {
|
||||||
ghost_text = {
|
ghost_text = {
|
||||||
@@ -16,6 +19,20 @@ return {
|
|||||||
auto_show = true,
|
auto_show = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
file_selector = {
|
||||||
|
provider = "telescope",
|
||||||
|
provider_opts = {},
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
default = { "avante", "lsp", "path", "buffer" },
|
||||||
|
providers = {
|
||||||
|
avante = {
|
||||||
|
module = "blink-cmp-avante",
|
||||||
|
name = "Avante",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
return {
|
||||||
|
{ "catppuccin/nvim" },
|
||||||
|
{ "LazyVim/LazyVim", opts = {
|
||||||
|
colorscheme = "catppuccin",
|
||||||
|
} },
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
return {
|
||||||
|
"jackMort/ChatGPT.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("chatgpt").setup({
|
||||||
|
openai_params = {
|
||||||
|
model = "gpt-4.1",
|
||||||
|
max_tokens = 4095,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"folke/trouble.nvim", -- optional
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
"benlubas/neorg-interim-ls",
|
|
||||||
}
|
|
||||||
@@ -3,21 +3,21 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
require("journal").setup({
|
require("journal").setup({
|
||||||
filetype = "md", -- Filetype to use for new journal entries
|
filetype = "md", -- Filetype to use for new journal entries
|
||||||
root = "~/Notes/Personal/journals", -- Root directory for journal entries
|
root = "~/Notes/Journal", -- Root directory for journal entries
|
||||||
date_format = "%Y-%m-%d", -- Date format for `:Journal <date-modifier>`
|
date_format = "%Y%m%d", -- Date format for `:Journal <date-modifier>`
|
||||||
autocomplete_date_modifier = "end", -- "always"|"never"|"end". Enable date modifier autocompletion
|
autocomplete_date_modifier = "always", -- "always"|"never"|"end". Enable date modifier autocompletion
|
||||||
|
|
||||||
-- Configuration for journal entries
|
-- Configuration for journal entries
|
||||||
journal = {
|
journal = {
|
||||||
-- Default configuration for `:Journal <date-modifier>`
|
-- Default configuration for `:Journal <date-modifier>`
|
||||||
format = "%Y_%m_%d",
|
format = "%Y%m%d",
|
||||||
template = "# %A %B %d %Y\n",
|
template = "# %A %B %d %Y\n",
|
||||||
frequency = { day = 1 },
|
frequency = { day = 1 },
|
||||||
|
|
||||||
-- Nested configurations for `:Journal <type> <type> ... <date-modifier>`
|
-- Nested configurations for `:Journal <type> <type> ... <date-modifier>`
|
||||||
entries = {
|
entries = {
|
||||||
day = {
|
day = {
|
||||||
format = "%Y_%m_%d", -- Format of the journal entry in the filesystem.
|
format = "%Y%m%d", -- Format of the journal entry in the filesystem.
|
||||||
template = "# %A %B %d %Y\n", -- Optional. Template used when creating a new journal entry
|
template = "# %A %B %d %Y\n", -- Optional. Template used when creating a new journal entry
|
||||||
frequency = { day = 1 }, -- Optional. The frequency of the journal entry. Used for `:Journal next`, `:Journal -2` etc
|
frequency = { day = 1 }, -- Optional. The frequency of the journal entry. Used for `:Journal next`, `:Journal -2` etc
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
return {
|
||||||
|
"serenevoid/kiwi.nvim",
|
||||||
|
opts = {
|
||||||
|
{
|
||||||
|
name = "notes",
|
||||||
|
path = "Notes",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "T", ':lua require("kiwi").todo.toggle()<cr>', desc = "Toggle Markdown Task" },
|
||||||
|
},
|
||||||
|
lazy = true,
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
return {
|
return {
|
||||||
"MeanderingProgrammer/render-markdown.nvim",
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite
|
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
|
||||||
---@module 'render-markdown'
|
---@module 'render-markdown'
|
||||||
---@type render.md.UserConfig
|
---@type render.md.UserConfig
|
||||||
opts = {},
|
opts = {},
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
return {
|
||||||
|
"lucidph3nx/nvim-sops",
|
||||||
|
event = { "BufEnter" },
|
||||||
|
opts = {
|
||||||
|
debug = true,
|
||||||
|
defaults = {
|
||||||
|
-- Faking awsProfile since the variable has spaces
|
||||||
|
awsProfile = "Fake",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
-65
@@ -1,65 +0,0 @@
|
|||||||
shadow = false;
|
|
||||||
shadow-radius = 7;
|
|
||||||
shadow-offset-x = -7;
|
|
||||||
shadow-offset-y = -7;
|
|
||||||
shadow-exclude = [ "name = 'Notification'", "class_g = 'Conky'", "class_g ?= 'Notify-osd'", "class_g = 'Cairo-clock'", "_GTK_FRAME_EXTENTS@:c" ];
|
|
||||||
fading = true;
|
|
||||||
fade-in-step = 0.03;
|
|
||||||
fade-out-step = 0.03;
|
|
||||||
inactive-opacity = 0.95;
|
|
||||||
frame-opacity = 0.7;
|
|
||||||
inactive-opacity-override = false;
|
|
||||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|
||||||
corner-radius = 10.0;
|
|
||||||
rounded-corners-exclude = [ "window_type = 'dock'", "window_type = 'desktop'" ];
|
|
||||||
blur-kern = "3x3box";
|
|
||||||
blur-background-exclude = [ "window_type = 'dock'", "window_type = 'desktop'", "_GTK_FRAME_EXTENTS@:c" ];
|
|
||||||
backend = "glx";
|
|
||||||
vsync = true;
|
|
||||||
mark-wmwin-focused = true;
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
detect-rounded-corners = true;
|
|
||||||
detect-client-opacity = true;
|
|
||||||
detect-transient = true;
|
|
||||||
use-damage = true;
|
|
||||||
log-level = "warn";
|
|
||||||
wintypes :
|
|
||||||
{
|
|
||||||
tooltip :
|
|
||||||
{
|
|
||||||
fade = true;
|
|
||||||
shadow = true;
|
|
||||||
opacity = 0.75;
|
|
||||||
focus = true;
|
|
||||||
full-shadow = false;
|
|
||||||
};
|
|
||||||
dock :
|
|
||||||
{
|
|
||||||
shadow = false;
|
|
||||||
clip-shadow-above = false;
|
|
||||||
full-shadow = false;
|
|
||||||
opacity = 1.0;
|
|
||||||
focus = true;
|
|
||||||
};
|
|
||||||
dnd :
|
|
||||||
{
|
|
||||||
shadow = false;
|
|
||||||
};
|
|
||||||
popup_menu :
|
|
||||||
{
|
|
||||||
opacity = 0.8;
|
|
||||||
};
|
|
||||||
dropdown_menu :
|
|
||||||
{
|
|
||||||
opacity = 0.8;
|
|
||||||
};
|
|
||||||
menu :
|
|
||||||
{
|
|
||||||
shadow = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
blur-background = true;
|
|
||||||
shadow-opacity = 0.1;
|
|
||||||
blur-background-frame = false;
|
|
||||||
inactive-dim = 0.2;
|
|
||||||
|
|
||||||
+1
-3
@@ -3,7 +3,7 @@ monitor = DP-0
|
|||||||
width = 100%
|
width = 100%
|
||||||
height = 34
|
height = 34
|
||||||
|
|
||||||
background = #cc000000
|
background = #00000000
|
||||||
foreground = #ccffffff
|
foreground = #ccffffff
|
||||||
|
|
||||||
line-color = ${bar/bottom.background}
|
line-color = ${bar/bottom.background}
|
||||||
@@ -241,8 +241,6 @@ label-connected = WIFI %essid% %local_ip%
|
|||||||
label-disconnected = WIFI DISCONNECTED
|
label-disconnected = WIFI DISCONNECTED
|
||||||
label-disconnected-foreground = #66
|
label-disconnected-foreground = #66
|
||||||
|
|
||||||
click-left = nm-connection-editor
|
|
||||||
|
|
||||||
[module/wired-network]
|
[module/wired-network]
|
||||||
type = internal/network
|
type = internal/network
|
||||||
interface = eno2
|
interface = eno2
|
||||||
|
|||||||
@@ -15,17 +15,14 @@ link() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
configlink() {
|
configlink() {
|
||||||
link ~/.config/$1 ~/.dotfiles/$1
|
link ~/.config/$1 ~/dotfiles/$1
|
||||||
}
|
}
|
||||||
|
|
||||||
checkdir ~/.config
|
checkdir ~/.config
|
||||||
link ~/.profile ~/.dotfiles/profile
|
link ~/.dotfiles ~/dotfiles
|
||||||
|
link ~/.profile ~/dotfiles/profile
|
||||||
|
link ~/.config/i3 ~/dotfiles/i3
|
||||||
|
|
||||||
configlink i3
|
|
||||||
configlink tmux
|
configlink tmux
|
||||||
configlink nvim
|
configlink nvim
|
||||||
configlink kitty
|
configlink kitty
|
||||||
configlink polybar
|
|
||||||
configlink picom.conf
|
|
||||||
configlink niri
|
|
||||||
configlink noctalia
|
|
||||||
|
|||||||
+7
-9
@@ -1,8 +1,8 @@
|
|||||||
|
# Load catppuccin
|
||||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||||
|
|
||||||
|
|
||||||
# Options to make tmux more pleasant
|
# Options to make tmux more pleasant
|
||||||
set -g mouse on
|
#set -g mouse on
|
||||||
set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
set -g renumber-windows on
|
set -g renumber-windows on
|
||||||
@@ -10,9 +10,9 @@ set -g renumber-windows on
|
|||||||
# Configure the catppuccin plugin
|
# Configure the catppuccin plugin
|
||||||
set -g @catppuccin_flavor "mocha"
|
set -g @catppuccin_flavor "mocha"
|
||||||
set -g @catppuccin_window_status_style "slanted"
|
set -g @catppuccin_window_status_style "slanted"
|
||||||
|
set -g @catppuccin_window_current_text " #{window_name} #{b:pane_current_path}"
|
||||||
|
set -g @catppuccin_window_text " #{window_name} #{b:pane_current_path}"
|
||||||
|
|
||||||
# Load catppuccin
|
|
||||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
|
||||||
|
|
||||||
# Make the status line pretty and add some modules
|
# Make the status line pretty and add some modules
|
||||||
set-option -g status-position top
|
set-option -g status-position top
|
||||||
@@ -23,10 +23,8 @@ set -g status-left "#[fg=#{@thm_teal},bg=#{@thm_crust}]#[fg=#{@thm_crust},bg=
|
|||||||
|
|
||||||
#set -g status-left "#[fg=$thm_green,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_green,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_bg]#(hostname -s) "
|
#set -g status-left "#[fg=$thm_green,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_green,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_bg]#(hostname -s) "
|
||||||
set -g status-right "#{E:@catppuccin_status_application}"
|
set -g status-right "#{E:@catppuccin_status_application}"
|
||||||
#set -agF status-right "#{E:@catppuccin_status_cpu}"
|
|
||||||
set -ag status-right "#{E:@catppuccin_status_session}"
|
set -ag status-right "#{E:@catppuccin_status_session}"
|
||||||
#set -ag status-right "#{E:@catppuccin_status_uptime}"
|
|
||||||
#set -agF status-right "#{E:@catppuccin_status_battery}"
|
|
||||||
|
|
||||||
#run ~/.config/tmux/plugins/tmux-plugins/tmux-cpu/cpu.tmux
|
#
|
||||||
#run ~/.config/tmux/plugins/tmux-plugins/tmux-battery/battery.tmux
|
#set -g pane-border-status top
|
||||||
|
#set -g pane-border-format "#{pane_index} #{pane_current_command}"
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
# ~~~ Minh Config
|
||||||
|
# Optimized .zshrc for improved startup time
|
||||||
|
# Enable profiling when needed: zmodload zsh/zprof
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Environment Setup ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# XDG Base Directory Specification
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
|
||||||
|
# Language and compilation
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Homebrew Setup ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
if [[ -f "/opt/homebrew/bin/brew" ]]; then
|
||||||
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Core Zsh Configuration ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Enable completion system (call compinit only once)
|
||||||
|
autoload -Uz compinit
|
||||||
|
|
||||||
|
# Check if compinit needs to be run (once per day for performance)
|
||||||
|
for dump in ~/.zcompdump(N.mh+24); do
|
||||||
|
compinit
|
||||||
|
break
|
||||||
|
done
|
||||||
|
[[ -z "$dump" ]] && compinit -C
|
||||||
|
|
||||||
|
# Enhanced completion styling for better UX
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
|
||||||
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
zstyle ':completion:*' completer _complete _match _approximate
|
||||||
|
zstyle ':completion:*:match:*' original only
|
||||||
|
zstyle ':completion:*:approximate:*' max-errors 1 numeric
|
||||||
|
zstyle ':completion:*' use-cache on
|
||||||
|
zstyle ':completion:*' cache-path ~/.zsh/cache
|
||||||
|
|
||||||
|
# Ensure cache directory exists
|
||||||
|
[[ ! -d ~/.zsh/cache ]] && mkdir -p ~/.zsh/cache
|
||||||
|
|
||||||
|
# Group completions by category
|
||||||
|
zstyle ':completion:*' group-name ''
|
||||||
|
zstyle ':completion:*:descriptions' format '%B%d%b'
|
||||||
|
zstyle ':completion:*:messages' format '%d'
|
||||||
|
zstyle ':completion:*:warnings' format 'No matches for: %d'
|
||||||
|
|
||||||
|
# Process completion improvements
|
||||||
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Plugin Loading (Conditional) ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Function to load plugins if they exist
|
||||||
|
load_plugin() {
|
||||||
|
[[ -f "$1" ]] && source "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load zsh plugins
|
||||||
|
load_plugin "$HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
||||||
|
load_plugin "$HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||||
|
load_plugin "$HOMEBREW_PREFIX/share/zsh-history-substring-search/zsh-history-substring-search.zsh"
|
||||||
|
load_plugin "$XDG_CONFIG_HOME/zsh-z/zsh-z.plugin.zsh"
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Zsh-Autosuggestions Configuration ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Configure autosuggestions for seamless history integration
|
||||||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#555555,bold"
|
||||||
|
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
||||||
|
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
|
||||||
|
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||||
|
ZSH_AUTOSUGGEST_MANUAL_REBIND=1
|
||||||
|
|
||||||
|
# History-based suggestions prioritization
|
||||||
|
ZSH_AUTOSUGGEST_HISTORY_IGNORE="(ls|cd|pwd|exit|clear)"
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Completion Setup ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
# Add homebrew completions if available
|
||||||
|
if command -v brew &>/dev/null; then
|
||||||
|
fpath+="$HOMEBREW_PREFIX/share/zsh-completions"
|
||||||
|
fpath+="$HOMEBREW_PREFIX/share/zsh/site-functions"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~ Editor & Shell Configuration ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
export EDITOR='vim'
|
||||||
|
else
|
||||||
|
export EDITOR='nvim'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~ History Configuration ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
HISTFILE=~/.zsh_history
|
||||||
|
HISTSIZE=100000
|
||||||
|
SAVEHIST=100000
|
||||||
|
|
||||||
|
# Enhanced history options for better autosuggestions
|
||||||
|
setopt HIST_IGNORE_SPACE
|
||||||
|
setopt HIST_IGNORE_DUPS
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS
|
||||||
|
setopt HIST_SAVE_NO_DUPS
|
||||||
|
setopt HIST_REDUCE_BLANKS
|
||||||
|
setopt HIST_VERIFY
|
||||||
|
|
||||||
|
# ~~~ Bas Config
|
||||||
|
|
||||||
|
|
||||||
|
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
||||||
|
export PATH="${HOME}/Library/Python/3.9/bin:${PATH}"
|
||||||
|
export PATH="${HOME}/bin:${HOMEBREW_PREFIX}/opt/openssl/bin:$PATH"
|
||||||
|
|
||||||
|
eval "$(direnv hook zsh)"
|
||||||
|
|
||||||
|
# Disable auto tmux for now, my tiling window manager is enough
|
||||||
|
#[[ -v PS1 ]] && [[ ! -v TMUX ]] && tmux
|
||||||
|
|
||||||
|
# Function to get the current Git branch and remote
|
||||||
|
git_info() {
|
||||||
|
local branch
|
||||||
|
local remote
|
||||||
|
|
||||||
|
# Get the current branch
|
||||||
|
branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||||
|
|
||||||
|
# Get the current remote
|
||||||
|
remote=$(git config --get remote.origin.url 2>/dev/null)
|
||||||
|
|
||||||
|
# Format the output
|
||||||
|
if [[ -n $branch ]]; then
|
||||||
|
#echo "[$branch] $(basename "$remote")"
|
||||||
|
echo "[$branch]"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
PROMPT='%F{green}%n@%m %F{blue}%~ %F{yellow}$(git_info)%f %# '
|
||||||
|
export OPENAI_API_KEY=$(cat ~/.openai.key)
|
||||||
|
export KAGI_API_KEY=$(cat ~/.kagi.key)
|
||||||
|
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
alias cd=z
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
Reminders:
|
||||||
|
|
||||||
|
Use z
|
||||||
|
EOF
|
||||||
|
|
||||||
|
export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
|
||||||
|
source ~/.zsh/zsh-vim-mode/zsh-vim-mode.plugin.zsh
|
||||||
|
alias k=kubectl
|
||||||
Reference in New Issue
Block a user