Initial Commit
This commit is contained in:
BIN
.config/assets/purple-wallpaper.jpg
Normal file
BIN
.config/assets/purple-wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 MiB |
14
.config/hypr/apps.conf
Normal file
14
.config/hypr/apps.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
$terminal = kitty
|
||||
$browser = firefox
|
||||
$discord = vesktop
|
||||
$appMenu = rofi
|
||||
$appMenuOptions = -show drun
|
||||
$windowMenuOptions = -show window
|
||||
$logoutMenu = wlogout
|
||||
$logoutMenuOptions = -b 6
|
||||
$notifications = swaync-client -t
|
||||
$network-tray = nm-applet
|
||||
$bluetooth-tray = blueman-applet
|
||||
$clipboardManager = cliphist
|
||||
$clipboardManagerOptions = list | $appMenu -dmenu | cliphist decode | wl-copy
|
||||
|
||||
2
.config/hypr/getActiveMonitor.sh
Executable file
2
.config/hypr/getActiveMonitor.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
active_workspace= hyprctl activeworkspace | grep "on monitor" | sed 's/.*monitor //' | sed 's/://'
|
||||
echo $active_workspace
|
||||
27
.config/hypr/hypridle.conf
Normal file
27
.config/hypr/hypridle.conf
Normal file
@@ -0,0 +1,27 @@
|
||||
general {
|
||||
lock_cmd = pidof swaylock || swaylock
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
after_sleep_cmd = hyprctl dispatch dpms on
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = brightnessctl -s set 5%
|
||||
on-resume = brightnessctl -r
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 330
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 660
|
||||
on-timeout = systemctl suspend
|
||||
}
|
||||
49
.config/hypr/hyprland.conf
Normal file
49
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,49 @@
|
||||
#########
|
||||
#monitor#
|
||||
#########
|
||||
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
######
|
||||
#apps#
|
||||
######
|
||||
|
||||
source = ~/.config/hypr/apps.conf
|
||||
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
##########
|
||||
#Keybinds#
|
||||
##########
|
||||
|
||||
source = ~/.config/hypr/keybinds.conf
|
||||
|
||||
###########
|
||||
#Variables#
|
||||
###########
|
||||
|
||||
source = ~/.config/hypr/variables.conf
|
||||
|
||||
#########
|
||||
#Startup#
|
||||
#########
|
||||
|
||||
exec-once = swaync &
|
||||
exec-once = hyprpaper &
|
||||
exec-once = hypridle &
|
||||
exec-once=systemctl --user start plasma-polkit-agent &
|
||||
exec-once=waybar
|
||||
exec-once = $network-tray
|
||||
exec-once = $bluetooth-tray
|
||||
exec-once = wl-clipboard-history -t
|
||||
exec-once = wl-paste --watch cliphist store
|
||||
exec-once = rm "$HOME/.cache/cliphist/db" #it'll delete history at every restart
|
||||
exec-once = $discord --start-minimized
|
||||
|
||||
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
|
||||
4
.config/hypr/hyprpaper.conf
Normal file
4
.config/hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
preload = ~/.config/assets/purple-wallpaper.jpg
|
||||
wallpaper = , ~/.config/assets/purple-wallpaper.jpg
|
||||
|
||||
75
.config/hypr/keybinds.conf
Normal file
75
.config/hypr/keybinds.conf
Normal file
@@ -0,0 +1,75 @@
|
||||
binde=,XF86MonBrightnessDown,exec,brightnessctl set 10%-
|
||||
binde=,XF86MonBrightnessUp,exec,brightnessctl set +10%
|
||||
binde = , XF86AudioRaiseVolume, exec, amixer set Master 5%+
|
||||
binde = , XF86AudioLowerVolume, exec, amixer set Master 5%-
|
||||
bind =, XF86AudioMute, exec, amixer set Master toggle
|
||||
|
||||
bind = $mainMod, N, exec, $notifications
|
||||
bind = $mainMod, T, exec, $terminal
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod, D, exec, $discord
|
||||
bind = $mainMod, A, exec, pidof $appMenu || $appMenu $appMenuOptions
|
||||
bind = $mainMod, W, exec, pidof $appMenu || $appMenu $windowMenuOptions
|
||||
|
||||
bind = $mainMod, BackSpace, exec, pidof $logoutMenu || $logoutMenu $logoutMenuOptions
|
||||
|
||||
bind=$mainMod CTRL,C,exec,pidof $clipboardManager || $clipboardManager $clipboardManagerOptions
|
||||
|
||||
bind = ALT, Tab, cyclenext,
|
||||
bind = ALT SHIFT, Tab, cyclenext, prev
|
||||
bind = ALT, h, movefocus, l
|
||||
bind = ALT, j, movefocus, d
|
||||
bind = ALT, k, movefocus, u
|
||||
bind = ALT, l, movefocus, r
|
||||
|
||||
bindm = $mainMod, Z, movewindow
|
||||
bindm = $mainMod, R, resizewindow
|
||||
bind = $mainMod, V, togglefloating
|
||||
bind = $mainMod, M, fullscreen, 1
|
||||
bind = $mainMod SHIFT, M, fullscreen
|
||||
|
||||
bind = $mainMod, S, togglespecialworkspace
|
||||
|
||||
bind = $mainMod, Tab, workspace, m+1
|
||||
bind = $mainMod SHIFT, Tab, workspace, m-1
|
||||
|
||||
bind = $mainMod, ampersand, workspace, 1
|
||||
bind = $mainMod, eacute, workspace, 2
|
||||
bind = $mainMod, quotedbl, workspace, 3
|
||||
bind = $mainMod, apostrophe, workspace, 4
|
||||
bind = $mainMod, parenleft, workspace, 5
|
||||
bind = $mainMod, minus, workspace, 6
|
||||
bind = $mainMod, egrave, workspace, 7
|
||||
bind = $mainMod, underscore, workspace, 8
|
||||
bind = $mainMod, ccedilla, workspace, 9
|
||||
|
||||
bind = $mainMod SHIFT, ampersand, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, eacute, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, parenleft, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, minus, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, egrave, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, underscore, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special
|
||||
|
||||
bind = $mainMod CTRL, ampersand, movetoworkspacesilent, 1
|
||||
bind = $mainMod CTRL, eacute, movetoworkspacesilent, 2
|
||||
bind = $mainMod CTRL, quotedbl, movetoworkspacesilent, 3
|
||||
bind = $mainMod CTRL, apostrophe, movetoworkspacesilent, 4
|
||||
bind = $mainMod CTRL, parenleft, movetoworkspacesilent, 5
|
||||
bind = $mainMod CTRL, minus, movetoworkspacesilent, 6
|
||||
bind = $mainMod CTRL, egrave, movetoworkspacesilent, 7
|
||||
bind = $mainMod CTRL, underscore, movetoworkspacesilent, 8
|
||||
bind = $mainMod CTRL, ccedilla, movetoworkspacesilent, 9
|
||||
bind = $mainMod CTRL, S, movetoworkspacesilent, special
|
||||
|
||||
bind = , Print, exec, eval hyprshot -m output -m $($HOME/.config/hypr/getActiveMonitor.sh) --clipboard-only
|
||||
bind = SHIFT, Print, exec, hyprshot --mode=window --clipboard-only
|
||||
bind = CTRL, Print, exec, hyprshot --mode=region --clipboard-only
|
||||
bind = $mainMod, Print, exec, eval hyprshot -m output -m $($HOME/.config/hypr/getActiveMonitor.sh)
|
||||
bind = $mainMod SHIFT, Print, exec, hyprshot --mode=window
|
||||
bind = $mainMod CTRL, Print, exec, hyprshot --mode=region
|
||||
|
||||
65
.config/hypr/variables.conf
Normal file
65
.config/hypr/variables.conf
Normal file
@@ -0,0 +1,65 @@
|
||||
general {
|
||||
border_size = 3
|
||||
no_border_on_floating = false
|
||||
gaps_in = 5
|
||||
gaps_out = 15
|
||||
gaps_workspaces = 0
|
||||
allow_tearing = true
|
||||
|
||||
col.active_border=0xcdd6f4ff
|
||||
col.inactive_border=0xb4befecc
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 0.9
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 8
|
||||
offset = 1 1
|
||||
}
|
||||
#
|
||||
# #TODO BLUR
|
||||
}
|
||||
|
||||
input {
|
||||
kb_layout = fr
|
||||
kb_options = caps:swapescape
|
||||
|
||||
numlock_by_default = true
|
||||
|
||||
sensitivity = 0
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
disable_while_typing = false
|
||||
clickfinger_behavior = true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
misc {
|
||||
animate_manual_resizes = true
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
|
||||
cursor {
|
||||
warp_on_change_workspace = true
|
||||
allow_dumb_copy = true
|
||||
}
|
||||
|
||||
env = HYPRCURSOR_THEME,catppuccin-mocha-lavender-cursors
|
||||
env = HYPRCURSOR_SIZE,32
|
||||
exec-once = gsettings set org.gnome.desktop.interface cursor-theme catppuccin-mocha-lavender-cursors
|
||||
exec-once = gsettings set org.gnome.desktop.interface cursor-size 32
|
||||
|
||||
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noanim, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$
|
||||
windowrulev2 = noblur, class:^(xwaylandvideobridge)$
|
||||
80
.config/kitty/current-theme.conf
Normal file
80
.config/kitty/current-theme.conf
Normal file
@@ -0,0 +1,80 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin-Mocha
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #CDD6F4
|
||||
background #1E1E2E
|
||||
selection_foreground #1E1E2E
|
||||
selection_background #F5E0DC
|
||||
|
||||
# Cursor colors
|
||||
cursor #F5E0DC
|
||||
cursor_text_color #1E1E2E
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #F5E0DC
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #B4BEFE
|
||||
inactive_border_color #6C7086
|
||||
bell_border_color #F9E2AF
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111B
|
||||
active_tab_background #CBA6F7
|
||||
inactive_tab_foreground #CDD6F4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111B
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1E1E2E
|
||||
mark1_background #B4BEFE
|
||||
mark2_foreground #1E1E2E
|
||||
mark2_background #CBA6F7
|
||||
mark3_foreground #1E1E2E
|
||||
mark3_background #74C7EC
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475A
|
||||
color8 #585B70
|
||||
|
||||
# red
|
||||
color1 #F38BA8
|
||||
color9 #F38BA8
|
||||
|
||||
# green
|
||||
color2 #A6E3A1
|
||||
color10 #A6E3A1
|
||||
|
||||
# yellow
|
||||
color3 #F9E2AF
|
||||
color11 #F9E2AF
|
||||
|
||||
# blue
|
||||
color4 #89B4FA
|
||||
color12 #89B4FA
|
||||
|
||||
# magenta
|
||||
color5 #F5C2E7
|
||||
color13 #F5C2E7
|
||||
|
||||
# cyan
|
||||
color6 #94E2D5
|
||||
color14 #94E2D5
|
||||
|
||||
# white
|
||||
color7 #BAC2DE
|
||||
color15 #A6ADC8
|
||||
6
.config/kitty/kitty.conf
Normal file
6
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,6 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
background_opacity 0.95
|
||||
8
.config/nvim/.gitignore
vendored
Normal file
8
.config/nvim/.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
||||
15
.config/nvim/.neoconf.json
Normal file
15
.config/nvim/.neoconf.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
.config/nvim/LICENSE
Normal file
201
.config/nvim/LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
.config/nvim/README.md
Normal file
4
.config/nvim/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
2
.config/nvim/init.lua
Normal file
2
.config/nvim/init.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
50
.config/nvim/lazy-lock.json
Normal file
50
.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "73f14943bac5830905d715804ca581a91844272a" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" },
|
||||
"catppuccin": { "branch": "main", "commit": "35d8057137af463c9f41f169539e9b190d57d269" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"conform.nvim": { "branch": "master", "commit": "d28ccf945374edd9f1c34a82f6c22261dbd8ab98" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "ae309606940d26d8c9df8b048a6e136b6bbec478" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "c334ac73e031f0dc93d6d91f3658ee75b8be1d3b" },
|
||||
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "4daf7022f1481edf1e8fb9947df13bb07c18e89a" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "190c03d54e8976491e6e49acb97087bf4182b079" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "04e44b09ee3ff189c69ab082edac1ef7ae2e256c" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "640260d7c2d98779cab89b1e7088ab14ea354a02" },
|
||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "4d0e5b49363cac187326998b96aa6a2884e0e89b" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.ai": { "branch": "main", "commit": "9b9b7cfa38b4871c3e44cfe89cf6d53fd40684d9" },
|
||||
"mini.icons": { "branch": "main", "commit": "a2742459f0ee32806c2438ca06b4d8b331f3f4d4" },
|
||||
"mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" },
|
||||
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
||||
"noice.nvim": { "branch": "main", "commit": "5a78b42bec5e775f2db03bf93f6d1e0f3636306c" },
|
||||
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "f17d9b4394027ff4442b298398dfcaab97e40c4f" },
|
||||
"nvim-dap": { "branch": "master", "commit": "7ff6936010b7222fea2caea0f67ed77f1b7c60dd" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
|
||||
"nvim-lint": { "branch": "master", "commit": "36da8dd0ddc4f88e0beae234c20e75397326f143" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "bc6ada4b0892b7f10852c0b8ca7209fd39a6d754" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
|
||||
"nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "dfd3207ed43a0c572c13acc02bf9d7dc270f4030" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "3e450cd85243da99dc23ebbf14f9c70e9a0c26a4" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "52d67cc5d18c30f618897134620c64a11208fcae" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "2f3b537f2207ce32f4459f9d56746ee013b5e01b" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "2002692ad1d3f6518d016550c20c2a890f0cbf0e" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" }
|
||||
}
|
||||
9
.config/nvim/lazyvim.json
Normal file
9
.config/nvim/lazyvim.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.dap.core"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "6520"
|
||||
},
|
||||
"version": 6
|
||||
}
|
||||
3
.config/nvim/lua/config/autocmds.lua
Normal file
3
.config/nvim/lua/config/autocmds.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
||||
3
.config/nvim/lua/config/keymaps.lua
Normal file
3
.config/nvim/lua/config/keymaps.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
53
.config/nvim/lua/config/lazy.lua
Normal file
53
.config/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
3
.config/nvim/lua/config/options.lua
Normal file
3
.config/nvim/lua/config/options.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
193
.config/nvim/lua/plugins/example.lua
Normal file
193
.config/nvim/lua/plugins/example.lua
Normal file
@@ -0,0 +1,193 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
3
.config/nvim/stylua.toml
Normal file
3
.config/nvim/stylua.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
68
.config/oh-my-posh/config.omp.json
Normal file
68
.config/oh-my-posh/config.omp.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"type": "prompt",
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"properties": {
|
||||
"cache_duration": "none"
|
||||
},
|
||||
"leading_diamond": "\ue0b6",
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"foreground": "black",
|
||||
"background": "#fab387",
|
||||
"type": "os",
|
||||
"style": "diamond"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"cache_duration": "none"
|
||||
},
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"template": " {{ .UserName }}@{{ .HostName }}",
|
||||
"foreground": "black",
|
||||
"background": "#94e2d5",
|
||||
"type": "session",
|
||||
"style": "diamond"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"cache_duration": "none"
|
||||
},
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"template": " {{ .PWD }} ",
|
||||
"foreground": "black",
|
||||
"background": "#cba6f7",
|
||||
"type": "path",
|
||||
"style": "diamond"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"cache_duration": "none",
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true,
|
||||
"mapped_branches": {
|
||||
"bug/*": "\ueaaf",
|
||||
"feat/*": "\uf427"
|
||||
},
|
||||
"source": "cli",
|
||||
"untracked_modes": {
|
||||
"/Users/user/Projects/oh-my-posh/": "no"
|
||||
}
|
||||
},
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \uf0c7 {{ .StashCount }}{{ end }}",
|
||||
"foreground": "black",
|
||||
"background": "#f5c2e7",
|
||||
"type": "git",
|
||||
"style": "diamond"
|
||||
}
|
||||
],
|
||||
"newline": true
|
||||
}
|
||||
],
|
||||
"version": 3,
|
||||
"final_space": true
|
||||
}
|
||||
58
.config/oh-my-posh/config.omp.json.bak
Normal file
58
.config/oh-my-posh/config.omp.json.bak
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"final_space": true,
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"type": "os",
|
||||
"style": "diamond",
|
||||
"foreground": "black",
|
||||
"background": "#fab387",
|
||||
"leading_diamond": "\ue0b6",
|
||||
"trailing_diamond": "\ue0b4"
|
||||
},
|
||||
{
|
||||
"type": "session",
|
||||
"style": "diamond",
|
||||
"foreground": "black",
|
||||
"background": "#94e2d5",
|
||||
"template": " {{ .UserName }}@{{ .HostName }}",
|
||||
"trailing_diamond": "\ue0b4"
|
||||
},
|
||||
{
|
||||
"type": "path",
|
||||
"style": "diamond",
|
||||
"foreground": "black",
|
||||
"background": "#cba6f7",
|
||||
"template": " {{ .PWD }} ",
|
||||
"trailing_diamond": "\ue0b4"
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"style": "diamond",
|
||||
"foreground": "black",
|
||||
"background": "#f5c2e7",
|
||||
"trailing_diamond": "\ue0b4",
|
||||
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }}",
|
||||
"properties": {
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true,
|
||||
"untracked_modes": {
|
||||
"/Users/user/Projects/oh-my-posh/": "no"
|
||||
},
|
||||
"source": "cli",
|
||||
"mapped_branches": {
|
||||
"feat/*": "",
|
||||
"bug/*": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"version": 2
|
||||
}
|
||||
69
.config/rofi/config.rasi
Normal file
69
.config/rofi/config.rasi
Normal file
@@ -0,0 +1,69 @@
|
||||
configuration {
|
||||
font: "TTF/HackNedrFont-Regular 12";
|
||||
location: 2;
|
||||
fixed-num-lines: true;
|
||||
show-icons: true;
|
||||
sorting-method: "fzf";
|
||||
sidebar-mode: true;
|
||||
cycle: false;
|
||||
scroll-method: 1;
|
||||
hover-select: false;
|
||||
matching: "glob";
|
||||
kb-primary-paste: "Control+v";
|
||||
kb-secondary-paste: "Control+Shift+v";
|
||||
kb-secondary-copy: "Control+c";
|
||||
kb-clear-line: "Control+d";
|
||||
kb-move-front: "Control+i";
|
||||
kb-move-end: "Control+a";
|
||||
kb-move-word-back: "Control+b";
|
||||
kb-move-word-forward: "Control+w";
|
||||
kb-move-char-back: "Left";
|
||||
kb-move-char-forward: "Right";
|
||||
kb-remove-word-back: "Control+BackSpace";
|
||||
kb-remove-word-forward: "";
|
||||
kb-remove-char-forward: "";
|
||||
kb-remove-char-back: "BackSpace";
|
||||
kb-remove-to-eol: "";
|
||||
kb-remove-to-sol: "";
|
||||
kb-accept-entry: "Return";
|
||||
kb-accept-custom: "Control+Return";
|
||||
kb-accept-custom-alt: "Control+Alt+Return";
|
||||
kb-accept-alt: "Alt+Return";
|
||||
kb-delete-entry: "";
|
||||
kb-mode-next: "Control+l";
|
||||
kb-mode-previous: "Control+h";
|
||||
kb-mode-complete: "Control+n";
|
||||
kb-row-left: "";
|
||||
kb-row-right: "";
|
||||
kb-row-up: "";
|
||||
kb-row-down:"";
|
||||
kb-row-tab: "";
|
||||
kb-element-next: "Control+j,Down";
|
||||
kb-element-prev: "Control+k,Up";
|
||||
kb-page-prev: "";
|
||||
kb-page-next: "";
|
||||
kb-row-first: "";
|
||||
kb-row-last: "";
|
||||
kb-row-select: "";
|
||||
kb-screenshot: "";
|
||||
kb-ellipsize: "";
|
||||
kb-toggle-case-sensitivity: "Alt+c";
|
||||
kb-toggle-sort: "Alt+s";
|
||||
kb-cancel: "Escape";
|
||||
kb-custom-1: "";
|
||||
kb-custom-2: "";
|
||||
kb-custom-3: "";
|
||||
kb-custom-4: "";
|
||||
kb-custom-5: "";
|
||||
kb-custom-6: "";
|
||||
kb-custom-7: "";
|
||||
kb-custom-8: "";
|
||||
kb-custom-9: "";
|
||||
kb-custom-10: "";
|
||||
kb-custom-11: "";
|
||||
kb-custom-12: "";
|
||||
kb-custom-13: "";
|
||||
kb-custom-14: "";
|
||||
}
|
||||
|
||||
@import "theme.rasinc"
|
||||
82
.config/rofi/theme.rasinc
Normal file
82
.config/rofi/theme.rasinc
Normal file
@@ -0,0 +1,82 @@
|
||||
window {
|
||||
background-color: #313244;
|
||||
border: 3px solid;
|
||||
border-color: #b4befe;
|
||||
border-radius: 0 0 1em 1em;
|
||||
y-offset: -3px;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: #313244;
|
||||
handle-width: 1em;
|
||||
handle-color: #b4befe;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: #313244;
|
||||
orientation: vertical;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
prompt {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
entry {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
num-filtered-rows {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
num-rows {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
listview {
|
||||
background-color: #313244;
|
||||
lines: 11;
|
||||
spacing: 1px;
|
||||
}
|
||||
|
||||
element, element-text, element-icon {
|
||||
background-color: #313244;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
element normal.normal, element alternate.normal {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
element selected.normal, element selected.active{
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
|
||||
element normal.active, element alternate.active{
|
||||
background-color: #94e2d5;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
background-color: #313244;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
button {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
button selected.normal {
|
||||
background-color: #6c7086;
|
||||
color: inherit;
|
||||
}
|
||||
132
.config/sddm-custom-theme/Components/LoginPanel.qml
Normal file
132
.config/sddm-custom-theme/Components/LoginPanel.qml
Normal file
@@ -0,0 +1,132 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
Item {
|
||||
property var user: userField.text
|
||||
property var password: passwordField.text
|
||||
property var session: sessionPanel.session
|
||||
property var inputHeight: Screen.height * 0.032
|
||||
property var inputWidth: Screen.width * 0.16
|
||||
Rectangle {
|
||||
id: loginBackground
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
horizontalCenter: parent.horizontalCeneter
|
||||
}
|
||||
height: inputHeight * 5.3
|
||||
width: inputWidth * 1.2
|
||||
radius: 5
|
||||
visible: config.LoginBackground == "true" ? true : false
|
||||
color: config.mantle
|
||||
}
|
||||
Column {
|
||||
spacing: 8
|
||||
z:5
|
||||
width: inputWidth
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
UserField {
|
||||
id: userField
|
||||
height: inputHeight
|
||||
width: parent.width
|
||||
}
|
||||
PasswordField {
|
||||
id: passwordField
|
||||
height: inputHeight
|
||||
width: parent.width
|
||||
onAccepted: loginButton.clicked()
|
||||
}
|
||||
Button { id: loginButton
|
||||
height: inputHeight
|
||||
width: parent.width
|
||||
enabled: user != "" && password != "" ? true : false
|
||||
hoverEnabled: true
|
||||
contentItem: Text {
|
||||
id: buttonText
|
||||
renderType: Text.NativeRendering
|
||||
font {
|
||||
family: config.Font
|
||||
pointSize: config.FontSize
|
||||
bold: true
|
||||
}
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: config.crust
|
||||
text: "Login"
|
||||
}
|
||||
background: Rectangle {
|
||||
id: buttonBackground
|
||||
color: config.sapphire
|
||||
radius: 3
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "pressed"
|
||||
when: loginButton.down
|
||||
PropertyChanges {
|
||||
target: buttonBackground
|
||||
color: config.teal
|
||||
}
|
||||
PropertyChanges {
|
||||
target: buttonText
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "hovered"
|
||||
when: loginButton.hovered
|
||||
PropertyChanges {
|
||||
target: buttonBackground
|
||||
color: config.teal
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "enabled"
|
||||
when: loginButton.enabled
|
||||
PropertyChanges {
|
||||
target: buttonBackground
|
||||
}
|
||||
PropertyChanges {
|
||||
target: buttonText
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
sddm.login(user, password, session)
|
||||
}
|
||||
}
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: (parent.width - 4 * inputHeight)/3
|
||||
SessionPanel {
|
||||
id: sessionPanel
|
||||
}
|
||||
PowerButton {
|
||||
id: powerButton
|
||||
}
|
||||
RebootButton {
|
||||
id: rebootButton
|
||||
}
|
||||
SleepButton {
|
||||
id: sleepButton
|
||||
}
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: sddm
|
||||
|
||||
function onLoginFailed() {
|
||||
passwordField.text = ""
|
||||
passwordField.focus = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
48
.config/sddm-custom-theme/Components/PasswordField.qml
Normal file
48
.config/sddm-custom-theme/Components/PasswordField.qml
Normal file
@@ -0,0 +1,48 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
TextField {
|
||||
id: passwordField
|
||||
focus: true
|
||||
selectByMouse: true
|
||||
placeholderText: "Password"
|
||||
echoMode: TextInput.Password
|
||||
passwordCharacter: ""
|
||||
passwordMaskDelay: 0
|
||||
selectionColor: config.overlay0
|
||||
renderType: Text.NativeRendering
|
||||
font.family: config.Font
|
||||
font.pointSize: config.FontSize
|
||||
font.bold: true
|
||||
color: config.text
|
||||
horizontalAlignment: TextInput.AlignHCenter
|
||||
background: Rectangle {
|
||||
id: passFieldBackground
|
||||
radius: 3
|
||||
color: config.surface0
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "focused"
|
||||
when: passwordField.activeFocus
|
||||
PropertyChanges {
|
||||
target: passFieldBackground
|
||||
color: config.surface1
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "hovered"
|
||||
when: passwordField.hovered
|
||||
PropertyChanges {
|
||||
target: passFieldBackground
|
||||
color: config.surface1
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
}
|
||||
41
.config/sddm-custom-theme/Components/PowerButton.qml
Normal file
41
.config/sddm-custom-theme/Components/PowerButton.qml
Normal file
@@ -0,0 +1,41 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
Item {
|
||||
implicitHeight: powerButton.height
|
||||
implicitWidth: powerButton.width
|
||||
Button {
|
||||
id: powerButton
|
||||
height: inputHeight
|
||||
width: inputHeight
|
||||
hoverEnabled: true
|
||||
icon {
|
||||
source: Qt.resolvedUrl("../icons/power.svg")
|
||||
height: height
|
||||
width: width
|
||||
color: config.crust
|
||||
}
|
||||
background: Rectangle {
|
||||
id: powerButtonBackground
|
||||
radius: 3
|
||||
color: config.red
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"
|
||||
when: powerButton.hovered
|
||||
PropertyChanges {
|
||||
target: powerButtonBackground
|
||||
color: config.rosewater
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
onClicked: sddm.powerOff()
|
||||
}
|
||||
}
|
||||
41
.config/sddm-custom-theme/Components/RebootButton.qml
Normal file
41
.config/sddm-custom-theme/Components/RebootButton.qml
Normal file
@@ -0,0 +1,41 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
Item {
|
||||
implicitHeight: rebootButton.height
|
||||
implicitWidth: rebootButton.width
|
||||
Button {
|
||||
id: rebootButton
|
||||
height: inputHeight
|
||||
width: inputHeight
|
||||
hoverEnabled: true
|
||||
icon {
|
||||
source: Qt.resolvedUrl("../icons/reboot.svg")
|
||||
height: height
|
||||
width: width
|
||||
color: config.crust
|
||||
}
|
||||
background: Rectangle {
|
||||
id: rebootButtonBackground
|
||||
radius: 3
|
||||
color: config.red
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"
|
||||
when: rebootButton.hovered
|
||||
PropertyChanges {
|
||||
target: rebootButtonBackground
|
||||
color: config.rosewater
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
onClicked: sddm.reboot()
|
||||
}
|
||||
}
|
||||
156
.config/sddm-custom-theme/Components/SessionPanel.qml
Normal file
156
.config/sddm-custom-theme/Components/SessionPanel.qml
Normal file
@@ -0,0 +1,156 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQml.Models 2.15
|
||||
|
||||
Item {
|
||||
property var session: sessionList.currentIndex
|
||||
implicitHeight: sessionButton.height
|
||||
implicitWidth: sessionButton.width
|
||||
DelegateModel {
|
||||
id: sessionWrapper
|
||||
model: sessionModel
|
||||
delegate: ItemDelegate {
|
||||
id: sessionEntry
|
||||
height: inputHeight
|
||||
width: parent.width
|
||||
highlighted: sessionList.currentIndex == index
|
||||
contentItem: Text {
|
||||
renderType: Text.NativeRendering
|
||||
font.family: config.Font
|
||||
font.pointSize: config.FontSize
|
||||
font.bold: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: config.text
|
||||
text: name
|
||||
}
|
||||
background: Rectangle {
|
||||
id: sessionEntryBackground
|
||||
color: config.surface1
|
||||
radius: 3
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"
|
||||
when: sessionEntry.hovered
|
||||
PropertyChanges {
|
||||
target: sessionEntryBackground
|
||||
color: config.surface2
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
property: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
sessionList.currentIndex = index
|
||||
sessionPopup.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: sessionButton
|
||||
height: inputHeight
|
||||
width: inputHeight
|
||||
hoverEnabled: true
|
||||
icon {
|
||||
source: Qt.resolvedUrl("../icons/settings.svg")
|
||||
height: height
|
||||
width: width
|
||||
color: config.crust
|
||||
}
|
||||
background: Rectangle {
|
||||
id: sessionButtonBackground
|
||||
color: config.red
|
||||
radius: 3
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "pressed"
|
||||
when: sessionButton.down
|
||||
PropertyChanges {
|
||||
target: sessionButtonBackground
|
||||
color: config.rosewater
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "hovered"
|
||||
when: sessionButton.hovered
|
||||
PropertyChanges {
|
||||
target: sessionButtonBackground
|
||||
color: config.rosewater
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "selection"
|
||||
when: sessionPopup.visible
|
||||
PropertyChanges {
|
||||
target: sessionButtonBackground
|
||||
color: config.rosewater
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 150
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
sessionPopup.visible ? sessionPopup.close() : sessionPopup.open()
|
||||
sessionButton.state = "pressed"
|
||||
}
|
||||
}
|
||||
Popup {
|
||||
id: sessionPopup
|
||||
width: inputWidth + padding * 2
|
||||
x: (sessionButton.width + sessionList.spacing) * -7.6
|
||||
y: -(contentHeight + padding * 2) + sessionButton.height
|
||||
padding: inputHeight / 10
|
||||
background: Rectangle {
|
||||
radius: 5.4
|
||||
color: config.surface0
|
||||
}
|
||||
contentItem: ListView {
|
||||
id: sessionList
|
||||
implicitHeight: contentHeight
|
||||
spacing: 8
|
||||
model: sessionWrapper
|
||||
currentIndex: sessionModel.lastIndex
|
||||
clip: true
|
||||
}
|
||||
enter: Transition {
|
||||
ParallelAnimation {
|
||||
NumberAnimation {
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 400
|
||||
easing.type: Easing.OutExpo
|
||||
}
|
||||
NumberAnimation {
|
||||
property: "x"
|
||||
from: sessionPopup.x + (inputWidth * 0.1)
|
||||
to: sessionPopup.x
|
||||
duration: 500
|
||||
easing.type: Easing.OutExpo
|
||||
}
|
||||
}
|
||||
}
|
||||
exit: Transition {
|
||||
NumberAnimation {
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 300
|
||||
easing.type: Easing.OutExpo
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
41
.config/sddm-custom-theme/Components/SleepButton.qml
Normal file
41
.config/sddm-custom-theme/Components/SleepButton.qml
Normal file
@@ -0,0 +1,41 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
Item {
|
||||
implicitHeight: sleepButton.height
|
||||
implicitWidth: sleepButton.width
|
||||
Button {
|
||||
id: sleepButton
|
||||
height: inputHeight
|
||||
width: inputHeight
|
||||
hoverEnabled: true
|
||||
icon {
|
||||
source: Qt.resolvedUrl("../icons/sleep.svg")
|
||||
height: height
|
||||
width: width
|
||||
color: config.crust
|
||||
}
|
||||
background: Rectangle {
|
||||
id: sleepButtonBg
|
||||
color: config.red
|
||||
radius: 3
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "hovered"
|
||||
when: sleepButton.hovered
|
||||
PropertyChanges {
|
||||
target: sleepButtonBg
|
||||
color: config.rosewater
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
onClicked: sddm.suspend()
|
||||
}
|
||||
}
|
||||
50
.config/sddm-custom-theme/Components/UserField.qml
Normal file
50
.config/sddm-custom-theme/Components/UserField.qml
Normal file
@@ -0,0 +1,50 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
TextField {
|
||||
id: userField
|
||||
height: inputHeight
|
||||
width: inputWidth
|
||||
selectByMouse: true
|
||||
echoMode: TextInput.Normal
|
||||
selectionColor:config.overlay0
|
||||
renderType: Text.NativeRendering
|
||||
font {
|
||||
family: config.Font
|
||||
pointSize: config.FontSize
|
||||
bold: true
|
||||
}
|
||||
color: config.text
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
placeholderText: "Username"
|
||||
text: userModel.lastUser
|
||||
background: Rectangle {
|
||||
id: userFieldBackground
|
||||
color: config.surface0
|
||||
radius: 3
|
||||
}
|
||||
states: [
|
||||
State {
|
||||
name: "focused"
|
||||
when: userField.activeFocus
|
||||
PropertyChanges {
|
||||
target: UserFieldBackground
|
||||
color: config.surface1
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "hovered"
|
||||
when: userField.activeFocus
|
||||
PropertyChanges {
|
||||
target: UserFieldBackground
|
||||
color: config.surface1
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: Transition {
|
||||
PropertyAnimation {
|
||||
properties: "color"
|
||||
duration: 300
|
||||
}
|
||||
}
|
||||
}
|
||||
30
.config/sddm-custom-theme/Main.qml
Normal file
30
.config/sddm-custom-theme/Main.qml
Normal file
@@ -0,0 +1,30 @@
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import "Components"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
height: Screen.height
|
||||
width: Screen.width
|
||||
Rectangle {
|
||||
id: backgound
|
||||
anchors.fill: parent
|
||||
height: parent.height
|
||||
width: parent.width
|
||||
z: 0
|
||||
color: config.backgroundColor
|
||||
}
|
||||
Item {
|
||||
id: mainPanel
|
||||
z: 3
|
||||
anchors {
|
||||
fill: parent
|
||||
margins: 50
|
||||
}
|
||||
LoginPanel {
|
||||
id: loginPanel
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
}
|
||||
14
.config/sddm-custom-theme/icons/power.svg
Normal file
14
.config/sddm-custom-theme/icons/power.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 198.715 198.715" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M161.463,48.763c-2.929-2.929-7.677-2.929-10.607,0c-2.929,2.929-2.929,7.677,0,10.606
|
||||
c13.763,13.763,21.342,32.062,21.342,51.526c0,19.463-7.579,37.761-21.342,51.523c-14.203,14.204-32.857,21.305-51.516,21.303
|
||||
c-18.659-0.001-37.322-7.104-51.527-21.309c-28.405-28.405-28.402-74.625,0.005-103.032c2.929-2.929,2.929-7.678,0-10.606
|
||||
c-2.929-2.929-7.677-2.929-10.607,0C2.956,83.029,2.953,138.766,37.206,173.019c17.132,17.132,39.632,25.697,62.135,25.696
|
||||
c22.497-0.001,44.997-8.564,62.123-25.69c16.595-16.594,25.734-38.659,25.734-62.129C187.199,87.425,178.059,65.359,161.463,48.763
|
||||
z"/>
|
||||
<path d="M99.332,97.164c4.143,0,7.5-3.358,7.5-7.5V7.5c0-4.142-3.357-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v82.164
|
||||
C91.832,93.807,95.189,97.164,99.332,97.164z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
13
.config/sddm-custom-theme/icons/reboot.svg
Normal file
13
.config/sddm-custom-theme/icons/reboot.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="0 0 1080 1080" xml:space="preserve">
|
||||
<defs>
|
||||
</defs>
|
||||
<g transform="matrix(1 0 0 1 540 540)" id="2a220bb6-5b48-475d-961e-cf61e288ad30" >
|
||||
<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080" />
|
||||
</g>
|
||||
<g transform="matrix(1 0 0 1 540 540)" id="fd45914b-ae78-4c99-8f0c-f2807b2dc79c" >
|
||||
</g>
|
||||
<g transform="matrix(45.29 0 0 45.29 556.31 508.95)" id="95767c2e-b581-4faa-9009-e8003f7e8866" >
|
||||
<path style="stroke: rgb(0,0,0); stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.36, -16)" d="M 15.88 13.84 C 14.200000000000001 10.36 10.440000000000001 8.6 6.840000000000002 9.24 L 7.800000000000002 7.44 C 8.040000000000001 7.04 7.880000000000002 6.5200000000000005 7.480000000000001 6.32 C 7.080000000000001 6.08 6.560000000000001 6.24 6.360000000000001 6.640000000000001 L 4.400000000000001 10.280000000000001 C 4.400000000000001 10.280000000000001 3.9600000000000013 11.000000000000002 4.6400000000000015 11.32 L 8.280000000000001 13.280000000000001 C 8.4 13.360000000000001 8.56 13.4 8.680000000000001 13.4 C 8.96 13.4 9.280000000000001 13.24 9.400000000000002 12.96 C 9.640000000000002 12.56 9.480000000000002 12.040000000000001 9.080000000000002 11.84 L 7.200000000000002 10.8 C 10.040000000000003 10.32 13.000000000000002 11.760000000000002 14.320000000000002 14.48 C 15.920000000000002 17.8 14.520000000000001 21.8 11.200000000000003 23.36 C 9.600000000000003 24.12 7.8000000000000025 24.24 6.120000000000003 23.64 C 4.440000000000003 23.040000000000003 3.0800000000000027 21.84 2.320000000000003 20.240000000000002 C 1.560000000000003 18.64 1.440000000000003 16.840000000000003 2.0400000000000027 15.160000000000002 C 2.200000000000003 14.720000000000002 1.9600000000000026 14.240000000000002 1.5200000000000027 14.080000000000002 C 1.1200000000000028 14.000000000000002 0.6400000000000027 14.240000000000002 0.48000000000000265 14.680000000000001 C -0.23999999999999733 16.8 -0.11999999999999733 19.040000000000003 0.8400000000000026 21.040000000000003 C 1.8000000000000025 23.040000000000003 3.4800000000000026 24.560000000000002 5.600000000000002 25.320000000000004 C 6.520000000000002 25.640000000000004 7.440000000000002 25.800000000000004 8.360000000000003 25.800000000000004 C 9.600000000000003 25.800000000000004 10.840000000000003 25.520000000000003 11.960000000000003 24.960000000000004 C 16.120000000000005 22.960000000000004 17.880000000000003 17.960000000000004 15.880000000000003 13.840000000000005 z" stroke-linecap="round" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
17
.config/sddm-custom-theme/icons/settings.svg
Normal file
17
.config/sddm-custom-theme/icons/settings.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 489.802 489.802" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M20.701,281.901l32.1,0.2c4.8,24.7,14.3,48.7,28.7,70.5l-22.8,22.6c-8.2,8.1-8.2,21.2-0.2,29.4l24.6,24.9
|
||||
c8.1,8.2,21.2,8.2,29.4,0.2l22.8-22.6c21.6,14.6,45.5,24.5,70.2,29.5l-0.2,32.1c-0.1,11.5,9.2,20.8,20.7,20.9l35,0.2
|
||||
c11.5,0.1,20.8-9.2,20.9-20.7l0.2-32.1c24.7-4.8,48.7-14.3,70.5-28.7l22.6,22.8c8.1,8.2,21.2,8.2,29.4,0.2l24.9-24.6
|
||||
c8.2-8.1,8.2-21.2,0.2-29.4l-22.6-22.8c14.6-21.6,24.5-45.5,29.5-70.2l32.1,0.2c11.5,0.1,20.8-9.2,20.9-20.7l0.2-35
|
||||
c0.1-11.5-9.2-20.8-20.7-20.9l-32.1-0.2c-4.8-24.7-14.3-48.7-28.7-70.5l22.8-22.6c8.2-8.1,8.2-21.2,0.2-29.4l-24.6-24.9
|
||||
c-8.1-8.2-21.2-8.2-29.4-0.2l-22.8,22.6c-21.6-14.6-45.5-24.5-70.2-29.5l0.2-32.1c0.1-11.5-9.2-20.8-20.7-20.9l-35-0.2
|
||||
c-11.5-0.1-20.8,9.2-20.9,20.7l-0.3,32.1c-24.8,4.8-48.8,14.3-70.5,28.7l-22.6-22.8c-8.1-8.2-21.2-8.2-29.4-0.2l-24.8,24.6
|
||||
c-8.2,8.1-8.2,21.2-0.2,29.4l22.6,22.8c-14.6,21.6-24.5,45.5-29.5,70.2l-32.1-0.2c-11.5-0.1-20.8,9.2-20.9,20.7l-0.2,35
|
||||
C-0.099,272.401,9.201,281.801,20.701,281.901z M179.301,178.601c36.6-36.2,95.5-35.9,131.7,0.7s35.9,95.5-0.7,131.7
|
||||
s-95.5,35.9-131.7-0.7S142.701,214.801,179.301,178.601z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
5
.config/sddm-custom-theme/icons/sleep.svg
Normal file
5
.config/sddm-custom-theme/icons/sleep.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<title>moon</title>
|
||||
<path d="M10.895 7.574c0 7.55 5.179 13.67 11.567 13.67 1.588 0 3.101-0.38 4.479-1.063-1.695 4.46-5.996 7.636-11.051 7.636-6.533 0-11.83-5.297-11.83-11.83 0-4.82 2.888-8.959 7.023-10.803-0.116 0.778-0.188 1.573-0.188 2.39z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 419 B |
13
.config/sddm-custom-theme/metadata.desktop
Normal file
13
.config/sddm-custom-theme/metadata.desktop
Normal file
@@ -0,0 +1,13 @@
|
||||
[SddmGreeterTheme]
|
||||
Name=Keyonz's custom theme
|
||||
Description=Custom theme from Keyonz's dotsfiles
|
||||
Type=sddm-theme
|
||||
Version=1.0
|
||||
Website=https://github.com/Keyonz/ #TODO#
|
||||
Screenshot=#TODO#
|
||||
MainScript=Main.qml
|
||||
ConfigFile=theme.conf
|
||||
TranslationsDirectory=translations
|
||||
Theme-Id=sddm-custom-theme
|
||||
Theme-API=2.0
|
||||
QtVersion=6
|
||||
15
.config/sddm-custom-theme/theme.conf
Normal file
15
.config/sddm-custom-theme/theme.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
[General]
|
||||
Font="Noto Sans"
|
||||
FontSize=9
|
||||
backgroundColor="#1e1e2e"
|
||||
mantle="#181825"
|
||||
crust="#11111b"
|
||||
sapphire="#74c7ec"
|
||||
teal="#94e2d5"
|
||||
overlay0="#6c7086"
|
||||
surface0="#313244"
|
||||
surface1="#45475a"
|
||||
surface2="#585b70"
|
||||
text="#cdd6f4"
|
||||
red="#f38ba8"
|
||||
rosewater="#f5e0dc"
|
||||
139
.config/sddm.conf.d/default.conf
Normal file
139
.config/sddm.conf.d/default.conf
Normal file
@@ -0,0 +1,139 @@
|
||||
[Autologin]
|
||||
# Whether sddm should automatically log back into sessions when they exit
|
||||
Relogin=false
|
||||
|
||||
# Name of session file for autologin session (if empty try last logged in)
|
||||
Session=
|
||||
|
||||
# Username for autologin session
|
||||
User=
|
||||
|
||||
|
||||
[General]
|
||||
# Which display server should be used.
|
||||
# Valid values are: x11, x11-user, wayland. Wayland support is experimental
|
||||
DisplayServer=x11
|
||||
|
||||
# Comma-separated list of environment variables to be set
|
||||
GreeterEnvironment=
|
||||
|
||||
# Halt command
|
||||
HaltCommand=/usr/bin/systemctl poweroff
|
||||
|
||||
# Input method module
|
||||
InputMethod=
|
||||
|
||||
# Comma-separated list of Linux namespaces for user session to enter
|
||||
Namespaces=
|
||||
|
||||
# Initial NumLock state. Can be on, off or none.
|
||||
# If property is set to none, numlock won't be changed
|
||||
# NOTE: Currently ignored if autologin is enabled.
|
||||
Numlock=none
|
||||
|
||||
# Reboot command
|
||||
RebootCommand=/usr/bin/systemctl reboot
|
||||
|
||||
|
||||
[Theme]
|
||||
# Current theme name
|
||||
Current=sddm-custom-theme
|
||||
|
||||
# Cursor size used in the greeter
|
||||
CursorSize=
|
||||
|
||||
# Cursor theme used in the greeter
|
||||
CursorTheme=
|
||||
|
||||
# Number of users to use as threshold
|
||||
# above which avatars are disabled
|
||||
# unless explicitly enabled with EnableAvatars
|
||||
DisableAvatarsThreshold=7
|
||||
|
||||
# Enable display of custom user avatars
|
||||
EnableAvatars=true
|
||||
|
||||
# Global directory for user avatars
|
||||
# The files should be named <username>.face.icon
|
||||
FacesDir=/usr/share/sddm/faces
|
||||
|
||||
# Font used in the greeter
|
||||
Font=
|
||||
|
||||
# Theme directory path
|
||||
ThemeDir=/usr/share/sddm/themes
|
||||
|
||||
|
||||
[Users]
|
||||
# Default $PATH for logged in users
|
||||
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
|
||||
|
||||
# Comma-separated list of shells.
|
||||
# Users with these shells as their default won't be listed
|
||||
HideShells=
|
||||
|
||||
# Comma-separated list of users that should not be listed
|
||||
HideUsers=
|
||||
|
||||
# Maximum user id for displayed users
|
||||
MaximumUid=60513
|
||||
|
||||
# Minimum user id for displayed users
|
||||
MinimumUid=1000
|
||||
|
||||
# Remember the session of the last successfully logged in user
|
||||
RememberLastSession=true
|
||||
|
||||
# Remember the last successfully logged in user
|
||||
RememberLastUser=true
|
||||
|
||||
# When logging in as the same user twice, restore the original session, rather than create a new one
|
||||
ReuseSession=true
|
||||
|
||||
|
||||
[Wayland]
|
||||
# Path of the Wayland compositor to execute when starting the greeter
|
||||
CompositorCommand=weston --shell=kiosk
|
||||
|
||||
# Enable Qt's automatic high-DPI scaling
|
||||
EnableHiDPI=true
|
||||
|
||||
# Path to a script to execute when starting the desktop session
|
||||
SessionCommand=/usr/share/sddm/scripts/wayland-session
|
||||
|
||||
# Comma-separated list of directories containing available Wayland sessions
|
||||
SessionDir=/usr/local/share/wayland-sessions,/usr/share/wayland-sessions
|
||||
|
||||
# Path to the user session log file
|
||||
SessionLogFile=.local/share/sddm/wayland-session.log
|
||||
|
||||
|
||||
[X11]
|
||||
# Path to a script to execute when starting the display server
|
||||
DisplayCommand=/usr/share/sddm/scripts/Xsetup
|
||||
|
||||
# Path to a script to execute when stopping the display server
|
||||
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
|
||||
|
||||
# Enable Qt's automatic high-DPI scaling
|
||||
EnableHiDPI=true
|
||||
|
||||
# Arguments passed to the X server invocation
|
||||
ServerArguments=-nolisten tcp
|
||||
|
||||
# Path to X server binary
|
||||
ServerPath=/usr/bin/X
|
||||
|
||||
# Path to a script to execute when starting the desktop session
|
||||
SessionCommand=/usr/share/sddm/scripts/Xsession
|
||||
|
||||
# Comma-separated list of directories containing available X sessions
|
||||
SessionDir=/usr/local/share/xsessions,/usr/share/xsessions
|
||||
|
||||
# Path to the user session log file
|
||||
SessionLogFile=.local/share/sddm/xorg-session.log
|
||||
|
||||
# Path to Xephyr binary
|
||||
XephyrPath=/usr/bin/Xephyr
|
||||
|
||||
|
||||
36
.config/swaylock/config
Normal file
36
.config/swaylock/config
Normal file
@@ -0,0 +1,36 @@
|
||||
indicator
|
||||
indicator-idle-visible
|
||||
indicator-radius=150
|
||||
indicator-thickness=10
|
||||
inside-color=313244
|
||||
inside-clear-color=f9e2af
|
||||
inside-caps-lock-color=eba0ac
|
||||
inside-ver-color=89dceb
|
||||
inside-wrong-color=f5c2e7
|
||||
key-hl-color=b4befe
|
||||
line-uses-ring
|
||||
ring-color=6c7086
|
||||
ring-clear-color=fab387
|
||||
ring-caps-lock-color=6c7086
|
||||
ring-ver-color=89b4fa
|
||||
ring-wrong-color=f38ba8
|
||||
separator-color=6c7086
|
||||
text-color=cdd6f4
|
||||
text-clear-color=6c7086
|
||||
text-caps-lock-color=cdd6f4
|
||||
text-ver-color=6c7086
|
||||
text-wrong-color=6c7086
|
||||
text-caps-lock=CAPS-LOCK
|
||||
text-ver=Verifying...
|
||||
text-wrong=Try again
|
||||
|
||||
clock
|
||||
timestr=%H:%M
|
||||
datestr=%A, %x
|
||||
|
||||
scaling=stretch
|
||||
image=$HOME/.config/assets/purple-wallpaper.jpg
|
||||
effect-blur=90x1
|
||||
effect-pixelate=5
|
||||
|
||||
time-effects
|
||||
36
.config/swaync/config.json
Normal file
36
.config/swaync/config.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"positionX": "center",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"cssPriority": "user",
|
||||
"control-center-margin-top": 0,
|
||||
"control-center-margin-bottom": 30,
|
||||
"control-center-layout": "overlay",
|
||||
"control-center-exclusive-zone": false,
|
||||
"timeout": 5,
|
||||
"timeout-critical": 10,
|
||||
"notification-window-width": 400,
|
||||
"hide-on-clear": true,
|
||||
"fit-to-screen": false,
|
||||
"control-center-width": 800,
|
||||
"widgets": [
|
||||
"mpris",
|
||||
"title",
|
||||
"notifications",
|
||||
"dnd"
|
||||
],
|
||||
"widget-config": {
|
||||
"title": {
|
||||
"text": "",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Clear"
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
"mpris": {
|
||||
"image-size": 40
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
49
.config/swaync/style.css
Normal file
49
.config/swaync/style.css
Normal file
@@ -0,0 +1,49 @@
|
||||
.control-center {
|
||||
border-radius: 0 0 1em 1em;
|
||||
background-color: rgba(49, 50, 68, 0.9);
|
||||
border: 3px solid #cdd6f4;
|
||||
border-top: none;
|
||||
padding: 1em;
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
.control-center-clear-all {
|
||||
border: 3px solid #b4befe;
|
||||
border-radius: 5em;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
}
|
||||
|
||||
.control-center-dnd {
|
||||
background-color: #cba6f7;
|
||||
transition: 25ms linear;
|
||||
}
|
||||
|
||||
.control-center-dnd:checked {
|
||||
background-color: #f5c2e7;
|
||||
}
|
||||
|
||||
.control-center-dnd slider {
|
||||
background-color: #6c7086;
|
||||
border: 1px solid #6c7086;
|
||||
box-shadow: inset #6c7086 0 0 0.5em;
|
||||
}
|
||||
|
||||
.notification {
|
||||
border: 3px solid #cdd6f4;
|
||||
border-radius: 1em;
|
||||
background-color: rgba(49, 50, 68, 0.7);
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
}
|
||||
|
||||
.notification-default-action:hover {
|
||||
background-color: rgba(49, 50, 68, 0.8);
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
border: 3px solid #cdd6f4;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
}
|
||||
135
.config/waybar/config.jsonc
Normal file
135
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"layer" : "top",
|
||||
"position" : "top",
|
||||
"reload_style_on_change": true,
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
],
|
||||
"modules-center": [
|
||||
"clock"
|
||||
],
|
||||
"modules-right" : [
|
||||
"tray",
|
||||
"pulseaudio",
|
||||
"backlight",
|
||||
"power-profiles-daemon",
|
||||
"battery"
|
||||
],
|
||||
"battery" : {
|
||||
"interval": 1,
|
||||
"states": {
|
||||
"good": 100,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format-full": "{icon}",
|
||||
"format-charging": "{capacity}%",
|
||||
"format-discharging": "{capacity}%{icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo}",
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"active": "",
|
||||
"default": "",
|
||||
"special": ""
|
||||
},
|
||||
"show-special": true,
|
||||
"sort-by": "id",
|
||||
"all-outputs": true
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "",
|
||||
"icon": true
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{profile}",
|
||||
"format-icons": {
|
||||
"performance": "",
|
||||
"balanced": "" ,
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"states": {
|
||||
"loud": 100,
|
||||
"normal": 60,
|
||||
"quite": 30,
|
||||
},
|
||||
"format-loud": "",
|
||||
"format-normal": "",
|
||||
"format-quite": "",
|
||||
"format-muted": "",
|
||||
"tooltip-format": "{desc} ({volume}%)",
|
||||
"reverse-scrolling": true,
|
||||
"on-click": "amixer set Master toggle",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "amixer set Master 1%+",
|
||||
"on-scroll-down": "amixer set Master 1%-"
|
||||
},
|
||||
"tray": {
|
||||
"reverse-direction": true,
|
||||
"spacing": 15,
|
||||
"show-passive-items": true
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"weeks-pos": "left",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||
"days": "<span color='#a6adc8'><b>{}</b></span>",
|
||||
"weeks": "<span color='#89b4fa'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#a6e3a1'><b>{}</b></span>",
|
||||
"today": "<span color='#cba6f7'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click": "shift_up",
|
||||
"on-click-right": "shift_down",
|
||||
"on-click-middle": "shift_reset",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
"backlight": {
|
||||
"interval": 1,
|
||||
"format": "{icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"tooltip-format": "{percent}%",
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"reverse-scrolling": true
|
||||
}
|
||||
}
|
||||
|
||||
159
.config/waybar/style.css
Normal file
159
.config/waybar/style.css
Normal file
@@ -0,0 +1,159 @@
|
||||
* {
|
||||
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 15;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: #343547;
|
||||
border: 3px solid #cdd6f4;
|
||||
border-top: none;
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
border-radius: 0 0 50em 50em;
|
||||
}
|
||||
|
||||
box {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
box.modules-left,
|
||||
box.modules-right {
|
||||
margin: 0.2em 3em 0.5em 3em;
|
||||
}
|
||||
|
||||
box.modules-left *,
|
||||
box.modules-right * {
|
||||
color: #cdd6f4;
|
||||
margin-left: 0.3em
|
||||
}
|
||||
|
||||
box.modules-center * {
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
#battery {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.2em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#battery:hover {
|
||||
border-color: #74c7ec;
|
||||
color: #74c7ec;
|
||||
box-shadow: inset #74c7ec 0 0 0.5em;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.5em;
|
||||
padding-right: 0.8em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#power-profiles-daemon:hover {
|
||||
border-color: #74c7ec;
|
||||
color: #74c7ec;
|
||||
box-shadow: inset #74c7ec 0 0 0.5em;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.5em;
|
||||
padding-right: 0.8em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#backlight:hover {
|
||||
border-color: #74c7ec;
|
||||
color: #74c7ec;
|
||||
box-shadow: inset #74c7ec 0 0 0.5em;
|
||||
}
|
||||
|
||||
|
||||
#pulseaudio {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.5em;
|
||||
padding-right: 0;
|
||||
padding-right: 0.8em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#pulseaudio:hover {
|
||||
border-color: #74c7ec;
|
||||
color: #74c7ec;
|
||||
box-shadow: inset #74c7ec 0 0 0.5em;
|
||||
}
|
||||
|
||||
#tray {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.5em;
|
||||
padding-right: 0.8em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#tray * {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
transition: linear 0.1s;
|
||||
box-shadow: inset #89dceb 0 0 0.5em;
|
||||
border: 0.2em solid #b4befe;
|
||||
padding: 0.2em;
|
||||
padding-left: 0;
|
||||
padding-right: 0.3em;
|
||||
border-radius: 1em;
|
||||
}
|
||||
|
||||
#workspaces * {
|
||||
color: #6c7086;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
transition: linear 0.1s;
|
||||
background-color: #cba6f7;
|
||||
border-radius: 1em;
|
||||
padding: 0;
|
||||
padding-right: 0.9em;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
padding: 0em 2em 0em 1em;
|
||||
}
|
||||
|
||||
#clock {
|
||||
transition: linear 0.1s;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
#clock:hover {
|
||||
color: #74c7ec;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: #45475a;
|
||||
}
|
||||
36
.config/wlogout/layout
Normal file
36
.config/wlogout/layout
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"label" : "lock",
|
||||
"action" : "swaylock",
|
||||
"text" : "",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "hibernate",
|
||||
"action" : "swaylock & systemctl hibernate",
|
||||
"text" : "",
|
||||
"keybind" : "h"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "hyprctl dispatch exit",
|
||||
"text" : "",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "",
|
||||
"keybind" : "s"
|
||||
}
|
||||
{
|
||||
"label" : "sleep",
|
||||
"action" : "swaylock & systemctl suspend",
|
||||
"text" : "",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "",
|
||||
"keybind" : "r"
|
||||
}
|
||||
87
.config/wlogout/style.css
Normal file
87
.config/wlogout/style.css
Normal file
@@ -0,0 +1,87 @@
|
||||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.5);
|
||||
}
|
||||
|
||||
button {
|
||||
border: 0.5em solid #b4befe;
|
||||
border-radius: 0;
|
||||
color: #cba6f7;
|
||||
background-color: #45475a;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 15%;
|
||||
transition: ease-in-out 0.2s;
|
||||
margin: 10em 0 10em 0;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
border-radius: 5em 0 0 5em;
|
||||
border-right: none;
|
||||
margin-left: 10em;
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#sleep {
|
||||
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
border-radius: 0 5em 5em 0;
|
||||
border-left: none;
|
||||
margin-right: 10em;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: rgba(148, 226, 213, 0.5);
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
button:active,
|
||||
button:hover {
|
||||
background-color: rgba(203, 166, 247, 0.5);
|
||||
outline-style: none;
|
||||
margin: 3em 0 3em 0;
|
||||
border-radius: 5em;
|
||||
}
|
||||
|
||||
#lock:active,
|
||||
#lock:hover,
|
||||
#logout:active,
|
||||
#logout:hover,
|
||||
#sleep:active,
|
||||
#sleep:hover,
|
||||
#hibernate:active,
|
||||
#hibernate:hover,
|
||||
#shutdown:active,
|
||||
#shutdown:hover,
|
||||
#reboot:active,
|
||||
#reboot:hover {
|
||||
border-radius: 5em 5em 5em 5em;
|
||||
border: 0.5em solid #b4befe;
|
||||
}
|
||||
81
.config/wlogout/style.css.bakk
Normal file
81
.config/wlogout/style.css.bakk
Normal file
@@ -0,0 +1,81 @@
|
||||
* {
|
||||
background-image: none;
|
||||
font-size: 5px;
|
||||
}
|
||||
|
||||
|
||||
window {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
button {
|
||||
color: red;
|
||||
background-color: purple;
|
||||
outline-style: none;
|
||||
border: none;
|
||||
border-width: 0px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 10%;
|
||||
border-radius: 0px;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: purple;
|
||||
background-size: 20%;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: purple;
|
||||
background-size: 25%;
|
||||
border-radius: 50px;
|
||||
animation: gradient_f 20s ease-in infinite;
|
||||
transition: all 0.3s cubic-bezier(.55,0.0,.28,1.682);
|
||||
}
|
||||
|
||||
button:hover#lock {
|
||||
border-radius: 50px 50px 0px 50px;
|
||||
margin : 5px 0px 0px 5px;
|
||||
}
|
||||
|
||||
button:hover#logout {
|
||||
border-radius: 50px 0px 50px 50px;
|
||||
margin : 0px 0px 5px 5px;
|
||||
}
|
||||
|
||||
button:hover#shutdown {
|
||||
border-radius: 50px 50px 50px 0px;
|
||||
margin : 5px 5px 0px 0px;
|
||||
}
|
||||
|
||||
button:hover#reboot {
|
||||
border-radius: 0px 50px 50px 50px;
|
||||
margin : 0px 5px 5px 0px;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("/user/share/wlogout/icons/lock.png"), url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
border-radius: 5px 0px 0px 0px;
|
||||
margin : 5px 0px 0px 5px;
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("/user/share/wlogout/icons/lock.png"), url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
border-radius: 0px 0px 0px 5px;
|
||||
margin : 0px 0px 5px 5px;
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/user/share/wlogout/icons/lock.png"), url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
border-radius: 0px 5px 0px 0px;
|
||||
margin : 5px 5px 0px 0px;
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/user/share/wlogout/icons/lock.png"), url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
border-radius: 0px 0px 5px 0px;
|
||||
margin : 0px 5px 5px 0px;
|
||||
}
|
||||
Reference in New Issue
Block a user