Updated
|
@ -1,6 +1,6 @@
|
|||
[%General]
|
||||
author=sachnr, based on KvAdapta
|
||||
comment=Gruvbox Dark theme with brown highlights
|
||||
author=ShelockH0, based on Graphite Dark by Vince Liuice and Gruvbox GTK by Fausto Korpsvart
|
||||
comment=An uncomplicated, warm and aesthetic gruvbox theme inspired by Gruvbox GTK Theme by Fausto Korpsvart
|
||||
x11drag=menubar_and_primary_toolbar
|
||||
alt_mnemonic=true
|
||||
left_tabs=true
|
||||
|
@ -11,17 +11,19 @@ toolbar_item_spacing=0
|
|||
toolbar_interior_spacing=2
|
||||
spread_progressbar=true
|
||||
composite=true
|
||||
menu_shadow_depth=5
|
||||
menu_shadow_depth=6
|
||||
spread_menuitems=false
|
||||
tooltip_shadow_depth=2
|
||||
splitter_width=4
|
||||
scroll_width=9
|
||||
splitter_width=1
|
||||
scroll_width=14
|
||||
scroll_arrows=false
|
||||
scroll_min_extent=60
|
||||
slider_width=2
|
||||
slider_handle_width=22
|
||||
slider_handle_width=23
|
||||
slider_handle_length=22
|
||||
tickless_slider_handle_size=22
|
||||
center_toolbar_handle=true
|
||||
check_size=14
|
||||
check_size=16
|
||||
textless_progressbar=false
|
||||
progressbar_thickness=2
|
||||
menubar_mouse_tracking=true
|
||||
|
@ -37,7 +39,7 @@ merge_menubar_with_toolbar=true
|
|||
small_icon_size=16
|
||||
large_icon_size=32
|
||||
button_icon_size=16
|
||||
toolbar_icon_size=22
|
||||
toolbar_icon_size=16
|
||||
combo_as_lineedit=true
|
||||
animate_states=true
|
||||
button_contents_shift=false
|
||||
|
@ -46,105 +48,145 @@ hide_combo_checkboxes=true
|
|||
combo_focus_rect=false
|
||||
groupbox_top_label=true
|
||||
inline_spin_indicators=true
|
||||
joined_inactive_tabs=true
|
||||
joined_inactive_tabs=false
|
||||
layout_spacing=6
|
||||
layout_margin=9
|
||||
scrollbar_in_view=true
|
||||
transient_scrollbar=true
|
||||
transient_groove=false
|
||||
submenu_overlap=0
|
||||
tooltip_delay=-1
|
||||
tooltip_delay=0
|
||||
tree_branch_line=true
|
||||
no_window_pattern=false
|
||||
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
|
||||
reduce_window_opacity=0
|
||||
respect_DE=true
|
||||
scrollable_menu=false
|
||||
submenu_delay=250
|
||||
scrollable_menu=true
|
||||
submenu_delay=150
|
||||
no_inactiveness=false
|
||||
reduce_menu_opacity=0
|
||||
click_behavior=0
|
||||
contrast=1.00
|
||||
dialog_button_layout=0
|
||||
intensity=1.00
|
||||
saturation=1.00
|
||||
shadowless_popup=false
|
||||
drag_from_buttons=false
|
||||
menu_blur_radius=0
|
||||
tooltip_blur_radius=0
|
||||
|
||||
[GeneralColors]
|
||||
window.color=#232323
|
||||
base.color=#282828
|
||||
window.color=#1D2021
|
||||
base.color=#1D2021
|
||||
alt.base.color=#282828
|
||||
button.color=#2e2e2e
|
||||
button.color=#1D2021
|
||||
light.color=#504945
|
||||
mid.light.color=#3f3f3f
|
||||
dark.color=#1d2021
|
||||
mid.color=##202324
|
||||
highlight.color=#665c54cc
|
||||
inactive.highlight.color=#665c54bb
|
||||
text.color=#ebdbb2
|
||||
window.text.color=#ebdbb2
|
||||
button.text.color=#ebdbb2
|
||||
disabled.text.color=#a89984
|
||||
tooltip.text.color=#fbf1c7
|
||||
highlight.text.color=#3c3836
|
||||
link.color=#b8bb26
|
||||
link.visited.color=#98971a
|
||||
progress.indicator.text.color=#fbf1c7
|
||||
mid.light.color=#3C3836
|
||||
dark.color=#141617
|
||||
mid.color=#282828
|
||||
highlight.color=#89B482
|
||||
inactive.highlight.color=#32361A
|
||||
text.color=#ddc7a1
|
||||
window.text.color=#ddc7a1
|
||||
button.text.color=#ddc7a1
|
||||
disabled.text.color=#ddc7a17F
|
||||
tooltip.text.color=#D4BE98
|
||||
highlight.text.color=#000000C3
|
||||
link.color=#7daea3
|
||||
link.visited.color=#d3869b
|
||||
progress.indicator.text.color=#ddc7a1
|
||||
|
||||
[Hacks]
|
||||
transparent_ktitle_label=true
|
||||
transparent_dolphin_view=false
|
||||
transparent_dolphin_view=true
|
||||
transparent_pcmanfm_sidepane=true
|
||||
blur_translucent=false
|
||||
blur_translucent=true
|
||||
transparent_menutitle=true
|
||||
respect_darkness=false
|
||||
respect_darkness=true
|
||||
kcapacitybar_as_progressbar=true
|
||||
force_size_grip=true
|
||||
iconless_pushbutton=true
|
||||
iconless_menu=false
|
||||
disabled_icon_opacity=70
|
||||
lxqtmainmenu_iconsize=22
|
||||
disabled_icon_opacity=100
|
||||
lxqtmainmenu_iconsize=16
|
||||
normal_default_pushbutton=true
|
||||
single_top_toolbar=true
|
||||
tint_on_mouseover=0
|
||||
transparent_pcmanfm_view=false
|
||||
transparent_pcmanfm_view=true
|
||||
no_selection_tint=true
|
||||
transparent_arrow_button=true
|
||||
middle_click_scroll=false
|
||||
opaque_colors=false
|
||||
kinetic_scrolling=false
|
||||
scroll_jump_workaround=false
|
||||
centered_forms=false
|
||||
noninteger_translucency=false
|
||||
style_vertical_toolbars=false
|
||||
blur_only_active_window=true
|
||||
|
||||
[BaseWidget]
|
||||
interior=true
|
||||
indicator.size=12
|
||||
frame=true
|
||||
frame.top=0
|
||||
frame.bottom=0
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
frame.expansion=0
|
||||
text.margin=true
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.margin.left=0
|
||||
text.margin.right=0
|
||||
text.bold=false
|
||||
text.shadow=0
|
||||
|
||||
[PanelButtonCommand]
|
||||
frame=true
|
||||
frame.element=button
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=4
|
||||
frame.right=4
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
interior=true
|
||||
interior.element=button
|
||||
indicator.size=8
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#3c3836
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#3C3836
|
||||
text.shadow=0
|
||||
text.margin=1
|
||||
text.margin=4
|
||||
text.iconspacing=4
|
||||
indicator.element=arrow
|
||||
text.margin.top=2
|
||||
text.margin.bottom=4
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=14
|
||||
frame.expansion=0
|
||||
|
||||
[PanelButtonTool]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#ebdbb2
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#3C3836
|
||||
text.bold=false
|
||||
indicator.element=arrow
|
||||
indicator.size=0
|
||||
frame.expansion=0
|
||||
|
||||
[ToolbarButton]
|
||||
frame=true
|
||||
frame.element=tbutton
|
||||
interior.element=tbutton
|
||||
frame.top=16
|
||||
frame.bottom=16
|
||||
frame.left=16
|
||||
frame.right=16
|
||||
indicator.element=tarrow
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
text.bold=false
|
||||
frame.expansion=32
|
||||
|
||||
[Dock]
|
||||
inherits=PanelButtonCommand
|
||||
|
@ -154,14 +196,14 @@ frame.top=1
|
|||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#ebdbb2
|
||||
text.normal.color=#ddc7a1
|
||||
|
||||
[DockTitle]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior=false
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.bold=false
|
||||
|
||||
[IndicatorSpinBox]
|
||||
|
@ -174,7 +216,7 @@ frame.left=2
|
|||
frame.right=2
|
||||
indicator.element=spin
|
||||
indicator.size=8
|
||||
text.normal.color=#ebdbb2
|
||||
text.normal.color=#ddc7a1
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
|
@ -184,8 +226,8 @@ text.margin.right=2
|
|||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=radio
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
|
@ -193,8 +235,8 @@ min_height=+0.3font
|
|||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=checkbox
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
|
@ -202,11 +244,11 @@ min_height=+0.3font
|
|||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=focus
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
frame.patternsize=20
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.patternsize=14
|
||||
|
||||
[GenericFrame]
|
||||
inherits=PanelButtonCommand
|
||||
|
@ -214,25 +256,27 @@ frame=true
|
|||
interior=false
|
||||
frame.element=common
|
||||
interior.element=common
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
|
||||
[LineEdit]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=lineedit
|
||||
interior.element=lineedit
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
frame.expansion=0
|
||||
|
||||
[ToolbarLineEdit]
|
||||
frame.element=lineedit
|
||||
interior.element=lineedit
|
||||
|
||||
[DropDownButton]
|
||||
inherits=PanelButtonCommand
|
||||
|
@ -244,26 +288,28 @@ indicator.size=8
|
|||
|
||||
[ToolboxTab]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#ebdbb2
|
||||
text.press.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
|
||||
[Tab]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=tab
|
||||
text.margin.left=8
|
||||
text.margin.right=8
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
frame.element=tab
|
||||
indicator.element=tab
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#ebdbb2
|
||||
text.toggle.color=#ebdbb2
|
||||
indicator.size=22
|
||||
frame.top=8
|
||||
frame.bottom=8
|
||||
frame.left=8
|
||||
frame.right=8
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
|
@ -271,10 +317,10 @@ text.bold=false
|
|||
inherits=PanelButtonCommand
|
||||
frame.element=tabframe
|
||||
interior.element=tabframe
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
|
||||
[TreeExpander]
|
||||
inherits=PanelButtonCommand
|
||||
|
@ -285,14 +331,14 @@ indicator.element=tree
|
|||
inherits=PanelButtonCommand
|
||||
interior.element=header
|
||||
frame.element=header
|
||||
frame.top=1
|
||||
frame.top=0
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
frame.expansion=0
|
||||
|
||||
[SizeGrip]
|
||||
|
@ -303,19 +349,22 @@ inherits=PanelButtonCommand
|
|||
indicator.element=toolbar
|
||||
indicator.size=5
|
||||
text.margin=0
|
||||
interior.element=menubar
|
||||
frame.element=menubar
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
frame.top=0
|
||||
frame.bottom=4
|
||||
interior.element=toolbar
|
||||
frame.element=toolbar
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.expansion=0
|
||||
|
||||
[Slider]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=slider
|
||||
focusFrame=true
|
||||
interior.element=slider
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
|
@ -332,10 +381,10 @@ inherits=PanelButtonCommand
|
|||
frame.element=progress
|
||||
interior.element=progress
|
||||
text.margin=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#ebdbb2
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#cfd8dc
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
text.bold=false
|
||||
frame.expansion=8
|
||||
|
||||
|
@ -350,18 +399,18 @@ inherits=PanelButtonCommand
|
|||
text.margin=0
|
||||
frame.element=itemview
|
||||
interior.element=itemview
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#fbf1c7
|
||||
text.toggle.color=#fbf1c7
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=4
|
||||
frame.right=4
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.margin.left=8
|
||||
text.margin.right=8
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#3C3836
|
||||
text.toggle.color=#ffffff
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
@ -370,23 +419,38 @@ frame.expansion=0
|
|||
indicator.size=48
|
||||
|
||||
[Scrollbar]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=arrow
|
||||
indicator.size=8
|
||||
inherits=BaseWidget
|
||||
|
||||
[ScrollbarGroove]
|
||||
inherits=BaseWidget
|
||||
interior=false
|
||||
frame.element=scrollbargroove
|
||||
frame.left=7
|
||||
frame.right=7
|
||||
frame.top=7
|
||||
frame.bottom=7
|
||||
|
||||
[ScrollbarSlider]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=scrollbarslider
|
||||
interior=true
|
||||
frame=false
|
||||
indicator.element=grip
|
||||
indicator.size=13
|
||||
frame.expansion=48
|
||||
|
||||
[ScrollbarGroove]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=scrollbarslider
|
||||
interior=false
|
||||
frame=false
|
||||
frame.left=7
|
||||
frame.right=7
|
||||
frame.top=7
|
||||
frame.bottom=7
|
||||
|
||||
[Menu]
|
||||
inherits=PanelButtonCommand
|
||||
frame.top=10
|
||||
frame.bottom=10
|
||||
frame.left=10
|
||||
frame.right=10
|
||||
frame.element=menu
|
||||
interior.element=menu
|
||||
text.normal.color=#ddc7a1
|
||||
text.shadow=false
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
[MenuItem]
|
||||
inherits=PanelButtonCommand
|
||||
|
@ -394,19 +458,17 @@ frame=true
|
|||
frame.element=menuitem
|
||||
interior.element=menuitem
|
||||
indicator.element=menuitem
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.margin.top=1
|
||||
text.margin.bottom=1
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
frame.top=0
|
||||
frame.bottom=0
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#3C3836
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.margin.left=6
|
||||
text.margin.right=6
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=4
|
||||
frame.right=4
|
||||
text.bold=false
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[MenuBar]
|
||||
|
@ -414,7 +476,10 @@ inherits=PanelButtonCommand
|
|||
frame.element=menubar
|
||||
interior.element=menubar
|
||||
frame.bottom=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
|
@ -431,8 +496,10 @@ text.margin.left=4
|
|||
text.margin.right=4
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
text.bold=false
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
@ -448,8 +515,8 @@ text.margin.right=2
|
|||
interior.element=titlebar
|
||||
indicator.size=16
|
||||
indicator.element=mdi
|
||||
text.normal.color=#d5c4a1
|
||||
text.focus.color=#ebdbb2
|
||||
text.normal.color=#D4BE98
|
||||
text.focus.color=#ddc7a1
|
||||
text.bold=false
|
||||
text.italic=true
|
||||
frame.expansion=0
|
||||
|
@ -458,64 +525,50 @@ frame.expansion=0
|
|||
inherits=PanelButtonCommand
|
||||
frame.element=combo
|
||||
interior.element=combo
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
text.focus.color=#fbf1c7
|
||||
text.press.color=#ebdbb2
|
||||
text.toggle.color=#fbf1c7
|
||||
frame.expansion=0
|
||||
|
||||
[Menu]
|
||||
inherits=PanelButtonCommand
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
frame.element=menu
|
||||
interior.element=menu
|
||||
text.normal.color=#ebdbb2
|
||||
text.shadow=false
|
||||
frame.expansion=0
|
||||
text.focus.color=#ddc7a1
|
||||
text.press.color=#ddc7a1
|
||||
text.toggle.color=#ddc7a1
|
||||
|
||||
[GroupBox]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
text.shadow=0
|
||||
text.margin=0
|
||||
text.normal.color=#ebdbb2
|
||||
text.focus.color=#fbf1c7
|
||||
text.normal.color=#ddc7a1
|
||||
text.focus.color=#ddc7a1
|
||||
text.bold=false
|
||||
frame.expansion=0
|
||||
|
||||
[TabBarFrame]
|
||||
inherits=GenericFrame
|
||||
frame=true
|
||||
frame=false
|
||||
frame.element=tabBarFrame
|
||||
interior=false
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.top=0
|
||||
frame.bottom=0
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
|
||||
[ToolTip]
|
||||
inherits=GenericFrame
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
interior=true
|
||||
text.shadow=0
|
||||
text.margin=0
|
||||
interior.element=tooltip
|
||||
frame.element=tooltip
|
||||
frame.expansion=0
|
||||
frame.expansion=6
|
||||
|
||||
[StatusBar]
|
||||
inherits=GenericFrame
|
||||
|
@ -525,3 +578,7 @@ interior=false
|
|||
[Window]
|
||||
interior=true
|
||||
interior.element=window
|
||||
frame=true
|
||||
frame.element=window
|
||||
frame.bottom=10
|
||||
frame.top=10
|
6696
config/Kvantum/GruvboxMaterial/GruvboxMaterial.svg
Normal file
After Width: | Height: | Size: 180 KiB |
2
config/Kvantum/kvantum.kvconfig
Normal file
|
@ -0,0 +1,2 @@
|
|||
[General]
|
||||
theme=GruvboxMaterial
|
|
@ -9,16 +9,17 @@
|
|||
# First line removes the path; second line sets it. Without the first line,
|
||||
# your path gets massive and fish becomes very slow.
|
||||
set -e fish_user_paths
|
||||
set -U fish_user_paths $HOME/.local/bin /var/lib/flatpak/exports/bin/ $fish_user_paths
|
||||
set -U fish_user_paths $HOME/.bin $HOME/.local/bin $HOME/.go/bin $HOME/.cargo/bin $HOME/.local/lib/flutter/bin $HOME/Applications $HOME/.local/share/JetBrains/Toolbox/scripts $HOME/.config/vifm/scripts /var/lib/flatpak/exports/bin/ $fish_user_paths
|
||||
|
||||
### EXPORT ###
|
||||
set fish_greeting # Supresses fish's intro message
|
||||
set TERM "xterm-256color" # Sets the terminal type
|
||||
set EDITOR "$HOME/.local/bin/lvim"
|
||||
set VISUAL "$HOME/.local/bin/neovide"
|
||||
set VISUAL "wezterm start --class neovim $HOME/.local/bin/lvim"
|
||||
set GOPATH "$HOME/.go"
|
||||
|
||||
### SET BAT AS MANPAGER
|
||||
set -x PAGER "bat -p"
|
||||
#set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||
|
||||
### SET EITHER DEFAULT EMACS MODE OR VI MODE ###
|
||||
function fish_user_key_bindings
|
||||
|
@ -34,7 +35,6 @@ set fish_color_command brcyan
|
|||
set fish_color_error '#fb4934'
|
||||
set fish_color_param brcyan
|
||||
|
||||
|
||||
### FUNCTIONS ###
|
||||
# Functions needed for !! and !$
|
||||
function __history_previous_command
|
||||
|
@ -115,6 +115,12 @@ end
|
|||
function take --argument number
|
||||
head -$number
|
||||
end
|
||||
|
||||
# unlock ssh keys
|
||||
function unlock
|
||||
ssh-add "$HOME/.ssh/$argv[1]"
|
||||
end
|
||||
|
||||
### END OF FUNCTIONS ###
|
||||
|
||||
### ALIASES ###
|
||||
|
@ -125,11 +131,17 @@ alias .3='cd ../../..'
|
|||
alias .4='cd ../../../..'
|
||||
alias .5='cd ../../../../..'
|
||||
|
||||
# emacs as vim
|
||||
alias vim="$HOME/.local/bin/lvim"
|
||||
# use lunarvim or neovim for vim if present.
|
||||
if test -x "$HOME/.local/bin/lvim"
|
||||
alias vim "$HOME/.local/bin/lvim"
|
||||
else if test -x (command -v nvim)
|
||||
alias vim "nvim"
|
||||
end
|
||||
|
||||
# bat as cat
|
||||
alias cat='bat'
|
||||
if test -x (command -v bat)
|
||||
alias cat "bat"
|
||||
end
|
||||
|
||||
# Changing "ls" to "eza"
|
||||
alias ls='eza -al --color=always --group-directories-first' # my preferred listing
|
||||
|
@ -139,11 +151,12 @@ alias lt='eza -aT --color=always --group-directories-first' # tree listing
|
|||
alias l.='eza -a | egrep "^\."'
|
||||
|
||||
# package management
|
||||
alias pkg-update='sudo xbps-install -Suv && xcheckrestart'
|
||||
alias pkg-install='sudo xbps-install -S'
|
||||
alias pkg-remove='sudo xbps-remove -R'
|
||||
alias pkg-search='sudo xbps-query -R'
|
||||
alias pkg-clean='sudo xbps-remove -Oo'
|
||||
alias pkg-update="paru -Syu"
|
||||
alias pkg-install="paru -S"
|
||||
alias pkg-remove="paru -Rcns"
|
||||
alias pkg-remove-sec="paru -R"
|
||||
alias pkg-search="paru -Ss"
|
||||
alias pkg-clean="paru -Scc && paru -Rns (pacman -Qtdq)"
|
||||
|
||||
# Colorize grep output (good for log files)
|
||||
alias grep='grep --color=auto'
|
||||
|
@ -151,8 +164,9 @@ alias egrep='egrep --color=auto'
|
|||
alias fgrep='fgrep --color=auto'
|
||||
|
||||
# file management
|
||||
alias fm="vifm"
|
||||
alias flm="vifm"
|
||||
alias fm="$HOME/.config/vifm/scripts/vifmrun"
|
||||
alias flm="$HOME/.config/vifm/scripts/vifmrun"
|
||||
alias vifm="$HOME/.config/vifm/scripts/vifmrun"
|
||||
alias cp='cp -iv'
|
||||
alias mv='mv -iv'
|
||||
alias rm='rm -vI'
|
||||
|
@ -182,22 +196,23 @@ alias psmem='ps auxf | sort -nr -k 4'
|
|||
alias pscpu='ps auxf | sort -nr -k 3'
|
||||
|
||||
# git
|
||||
alias addup='git add -u'
|
||||
alias addall='git add .'
|
||||
alias branch='git branch'
|
||||
alias checkout='git checkout'
|
||||
alias clone='git clone'
|
||||
alias commit='git commit -m'
|
||||
alias fetch='git fetch'
|
||||
alias pull='git pull origin'
|
||||
alias push='git push origin'
|
||||
alias tag='git tag'
|
||||
alias newtag='git tag -a'
|
||||
alias git-adu='git add -u'
|
||||
alias git-adl='git add .'
|
||||
alias git-brn='git branch'
|
||||
alias git-chk='git checkout'
|
||||
alias git-cln='git clone'
|
||||
alias git-cmt='git commit -m'
|
||||
alias git-fth='git fetch'
|
||||
alias git-pll='git pull origin'
|
||||
alias git-psh='git push origin'
|
||||
alias git-sts='git status'
|
||||
alias git-tag='git tag'
|
||||
alias git-ntg='git tag -a'
|
||||
|
||||
# power management
|
||||
alias po='loginctl poweroff'
|
||||
alias sp='loginctl suspend'
|
||||
alias rb='loginctl reboot'
|
||||
alias po='systemctl poweroff'
|
||||
alias sp='systemctl suspend'
|
||||
alias rb='systemctl reboot'
|
||||
|
||||
# youtube-
|
||||
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
|
||||
|
@ -209,10 +224,10 @@ alias yta-opus="yt-dlp --extract-audio --audio-format opus "
|
|||
alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis "
|
||||
alias yta-wav="yt-dlp --extract-audio --audio-format wav "
|
||||
alias ytv-best="yt-dlp -f bestvideo+bestaudio "
|
||||
alias yt='ytfzf -ftsl'
|
||||
alias youtube='ytfzf -ftsl'
|
||||
alias ytm='ytfzf -mtsl'
|
||||
alias youtube-music='ytfzf -mtsl'
|
||||
alias yt='ytfzf -ftslT kitty'
|
||||
alias youtube='ytfzf -ftslT kitty'
|
||||
alias ytm='ytfzf -mtslT kitty'
|
||||
alias youtube-music='ytfzf -mtslT kitty'
|
||||
|
||||
# network and bluetooth
|
||||
alias netstats='nmcli dev'
|
||||
|
@ -225,3 +240,4 @@ alias blt='bluetoothctl'
|
|||
|
||||
### SETTING THE STARSHIP PROMPT ###
|
||||
starship init fish | source
|
||||
zoxide init fish | source
|
212
config/foot/foot.ini
Normal file
|
@ -0,0 +1,212 @@
|
|||
# -*- conf -*-
|
||||
|
||||
shell=fish
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
|
||||
font=Mononoki Nerd Font:size=14
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# font-size-adjustment=0.5
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# underline-thickness=<font underline thickness>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=no
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
initial-window-size-chars=140x35
|
||||
# initial-window-mode=windowed
|
||||
pad=10x10 # optionally append 'center'
|
||||
# resize-by-cells=yes
|
||||
# resize-delay-ms=100
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||
|
||||
[environment]
|
||||
# name=value
|
||||
|
||||
[bell]
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# visual=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[desktop-notifications]
|
||||
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
|
||||
# command-action-argument=--action ${action-name}=${action-label}
|
||||
# close=""
|
||||
# inhibit-when-focused=yes
|
||||
|
||||
|
||||
[scrollback]
|
||||
lines=10000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=""
|
||||
|
||||
[url]
|
||||
launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||
|
||||
[cursor]
|
||||
style=underline
|
||||
# color=<inverse foreground/background>
|
||||
blink=yes
|
||||
# blink-rate=500
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[touch]
|
||||
# long-press-delay=400
|
||||
|
||||
[colors]
|
||||
alpha=0.95
|
||||
|
||||
background=1d2021
|
||||
foreground=fbf1c7
|
||||
regular0=282828
|
||||
regular1=cc241d
|
||||
regular2=98971a
|
||||
regular3=d79921
|
||||
regular4=458588
|
||||
regular5=b16286
|
||||
regular6=689d6a
|
||||
regular7=a89984
|
||||
bright0=928374
|
||||
bright1=fb4934
|
||||
bright2=b8bb26
|
||||
bright3=fabd2f
|
||||
bright4=83a598
|
||||
bright5=d3869b
|
||||
bright6=8ec07c
|
||||
bright7=ebdbb2
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
# size=26
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-maximized=no
|
||||
# double-click-to-maximize=yes
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# scrollback-home=none
|
||||
# scrollback-end=none
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
|
||||
# show-urls-launch=Control+Shift+o
|
||||
# show-urls-copy=none
|
||||
# show-urls-persistent=none
|
||||
# prompt-prev=Control+Shift+z
|
||||
# prompt-next=Control+Shift+x
|
||||
# unicode-input=Control+Shift+u
|
||||
# noop=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# extend-char=Shift+Right
|
||||
# extend-to-word-boundary=Control+w Control+Shift+Right
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# extend-line-down=Shift+Down
|
||||
# extend-backward-char=Shift+Left
|
||||
# extend-backward-to-word-boundary=Control+Shift+Left
|
||||
# extend-backward-to-next-whitespace=none
|
||||
# extend-line-up=Shift+Up
|
||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# unicode-input=none
|
||||
# quit=none
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# scrollback-home=none
|
||||
# scrollback-end=none
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[mouse-bindings]
|
||||
# scrollback-up-mouse=BTN_WHEEL_BACK
|
||||
# scrollback-down-mouse=BTN_WHEEL_FORWARD
|
||||
# font-increase=Control+BTN_WHEEL_BACK
|
||||
# font-decrease=Control+BTN_WHEEL_FORWARD
|
||||
# selection-override-modifiers=Shift
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-quote = BTN_LEFT-3
|
||||
# select-row=BTN_LEFT-4
|
||||
|
||||
# vim: ft=dosini
|
|
@ -1,10 +1,11 @@
|
|||
font=Mononoki Nerd Font:size=09
|
||||
font=Mononoki Nerd Font:size=14
|
||||
dpi-aware=no
|
||||
prompt=" "
|
||||
icon-theme=gruvbox-dark-icons-gtk
|
||||
icon-theme=Papirus-Dark
|
||||
icons-enabled=yes
|
||||
password-character=*
|
||||
fuzzy=yes
|
||||
terminal=wezterm start
|
||||
terminal=foot
|
||||
lines=20
|
||||
width=70
|
||||
inner-pad=12
|
||||
|
@ -15,7 +16,7 @@ exit-on-keyboard-focus-loss=yes
|
|||
|
||||
[colors]
|
||||
background=1d2021ff
|
||||
text=ebdbb2ff
|
||||
text=fbf1c7ff
|
||||
match=8ec07cff
|
||||
selection-match=1d2021ff
|
||||
selection=cc241dff
|
47
config/fuzzel/scripts/rs_clip
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# rs_clip - A simple clipboard menu script for rofi/dmenu/wofi/fuzzel
|
||||
# Author: Clay Gomera (Drake)
|
||||
# Dependencies: {rofi || dmenu || wofi // fuzzel}, cliphist, wl-clipboard (wl-copy)
|
||||
|
||||
########################
|
||||
# Function Definitions #
|
||||
########################
|
||||
|
||||
# Check for missing dependencies
|
||||
check_dependencies() {
|
||||
local run_launcher_found=false
|
||||
for launcher in rofi dmenu wofi fuzzel; do
|
||||
if command -v "$launcher" &> /dev/null; then
|
||||
run_launcher_found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$run_launcher_found" = false ]; then
|
||||
echo "Missing dependency: one of rofi, dmenu, wofi or fuzzel is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local missing_deps=()
|
||||
for dep in cliphist wl-copy; do
|
||||
if ! command -v "$dep" &> /dev/null; then
|
||||
missing_deps+=("$dep")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||
echo "Missing dependencies: ${missing_deps[*]}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
####################
|
||||
# Main Script Flow #
|
||||
####################
|
||||
|
||||
# Check for dependencies
|
||||
check_dependencies
|
||||
|
||||
# Pass clipboard data into the menu
|
||||
cliphist list | $RUNNER -l 10 -p "[ Clipboard] " | cliphist decode | wl-copy
|
|
@ -1,5 +1,55 @@
|
|||
#!/bin/bash
|
||||
sed '1,/^### DATA ###$/d' $0 | $RUNNER -l 10 -i -p "[ Select Emoji] " | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# rs_emoji - A simple emoji picker menu script for rofi/dmenu/wofi/fuzzel
|
||||
# Author: Clay Gomera (Drake)
|
||||
# Dependencies: {rofi || dmenu || wofi || fuzzel}, wl-clipboard (wl-copy)
|
||||
|
||||
########################
|
||||
# Function Definitions #
|
||||
########################
|
||||
|
||||
# Check for missing dependencies
|
||||
check_dependencies() {
|
||||
local run_launcher_found=false
|
||||
for launcher in rofi dmenu wofi fuzzel; do
|
||||
if command -v "$launcher" &> /dev/null; then
|
||||
run_launcher_found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$run_launcher_found" = false ]; then
|
||||
echo "Missing dependency: one of rofi, dmenu, wofi or fuzzel is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local missing_deps=()
|
||||
for dep in wl-copy; do
|
||||
if ! command -v "$dep" &> /dev/null; then
|
||||
missing_deps+=("$dep")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||
echo "Missing dependencies: ${missing_deps[*]}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
####################
|
||||
# Main Script Flow #
|
||||
####################
|
||||
|
||||
# Check for dependencies
|
||||
check_dependencies
|
||||
|
||||
# Pass emoji data into the menu
|
||||
sed '1,/^### DATA ###$/d' $0 | $RUNNER -i -p "[ Select Emoji] " | cut -d ' ' -f 1 | tr -d '\n' | wl-copy
|
||||
|
||||
##############
|
||||
# Emoji Data #
|
||||
##############
|
||||
|
||||
### DATA ###
|
||||
😀 grinning face face smile happy joy :D grin
|
||||
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
|
@ -47,29 +47,22 @@ fi
|
|||
prompt1="[ Power Options] "
|
||||
prompt2="[ Power Profiles - Currently set to: $currentpwr] "
|
||||
|
||||
#####
|
||||
## This variable will store the currently active session in tty1
|
||||
#####
|
||||
ACTIVE_SESSION=$(loginctl list | grep -E "$USER.*tty1" | awk '{print $1}')
|
||||
|
||||
##########
|
||||
## main ##
|
||||
##########
|
||||
action=$(echo -e "$options" | $RUNNER -l 7 -p "$prompt1") # main menu prompt
|
||||
case "$action" in
|
||||
"$option1")
|
||||
loginctl kill-session "$ACTIVE_SESSION"
|
||||
loginctl kill-session self
|
||||
;;
|
||||
"$option2")
|
||||
loginctl reboot
|
||||
systemctl reboot
|
||||
;;
|
||||
"$option3")
|
||||
loginctl poweroff
|
||||
systemctl poweroff
|
||||
;;
|
||||
"$option4")
|
||||
swaylock -i "$currwall" &
|
||||
sleep 0.1
|
||||
loginctl suspend
|
||||
systemctl suspend
|
||||
;;
|
||||
"$option5")
|
||||
swaylock -i "$currwall"
|
321
config/fuzzel/scripts/rs_scrot
Executable file
|
@ -0,0 +1,321 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# rs_scrot - A simple screenshot menu script for rofi/dmenu/wofi/fuzzel
|
||||
# Author: Clay Gomera (Drake)
|
||||
# Dependencies: {rofi || dmenu || wofi || fuzzel}, grim, slurp, jq, wf-recorder, wl-clipboard (wl-copy), libnotify (notify-send)
|
||||
|
||||
############################
|
||||
# Configuration Parameters #
|
||||
############################
|
||||
|
||||
# Directory to save screenshots
|
||||
SHOTDIR="$XDG_PICTURES_DIR/Screenshots"
|
||||
VCAPDIR="$XDG_VIDEOS_DIR/Screencasts" # $MEDIA_DIR refers to a global variable in .xinitrc/.bash_profile
|
||||
[ ! -d "$SHOTDIR" ] && [ ! -d "$VCAPDIR" ] && mkdir -p "$SHOTDIR" "$VCAPDIR" || echo
|
||||
|
||||
# Get audio devices and descriptions
|
||||
audioDevices=$(pactl list sources | grep "Name" | awk '{print $2}')
|
||||
audioDescriptions=$(pactl list sources | grep "Description" | cut -d' ' -f2-)
|
||||
|
||||
# Create an associative array for mapping pretty names to actual names
|
||||
declare -A audioMap
|
||||
while IFS= read -r name && IFS= read -r desc <&3; do
|
||||
audioMap["$desc"]="$name"
|
||||
done < <(echo "$audioDevices") 3< <(echo "$audioDescriptions")
|
||||
|
||||
#####################
|
||||
# Main Menu Options #
|
||||
#####################
|
||||
mainChoice1=" Take an screenshot"
|
||||
mainChoice2=" Record the screen"
|
||||
mainChoice3=" Exit"
|
||||
mainChoices="$mainChoice1\n$mainChoice2\n$mainChoice3"
|
||||
|
||||
#############################
|
||||
## Screenshot menu choices ##
|
||||
#############################
|
||||
shotChoice1=" Entire screen"
|
||||
shotChoice2=" Entire screen with delay"
|
||||
shotChoice3=" Select region"
|
||||
shotChoice4=" Active window"
|
||||
shotChoice5=" Exit"
|
||||
shotChoices="$shotChoice1\n$shotChoice2\n$shotChoice3\n$shotChoice4\n$shotChoice5"
|
||||
|
||||
#############################
|
||||
## Screencast menu choices ##
|
||||
#############################
|
||||
vidChoice1=" Record the screen"
|
||||
vidChoice2=" Record region"
|
||||
vidChoice3=" Record the screen with audio"
|
||||
vidChoice4=" Stop recording"
|
||||
vidChoice5=" Exit"
|
||||
vidChoices="$vidChoice1\n$vidChoice2\n$vidChoice3\n$vidChoice4\n$vidChoice5"
|
||||
|
||||
###################
|
||||
# Submenu Options #
|
||||
###################
|
||||
subShotChoice1=" Copy to clipboard"
|
||||
subShotChoice2=" Save to $XDG_PICTURES_DIR"
|
||||
subShotChoice3=" Exit"
|
||||
subShotChoices="$subShotChoice1\n$subShotChoice2\n$subShotChoice3"
|
||||
|
||||
####################################
|
||||
# Screenshot Delay Submenu Options #
|
||||
####################################
|
||||
delayChoice1=" 3 sec delay"
|
||||
delayChoice2=" 5 sec delay"
|
||||
delayChoice3=" 10 sec delay"
|
||||
delayChoice4=" Exit"
|
||||
delayChoices="$delayChoice1\n$delayChoice2\n$delayChoice3\n$delayChoice4"
|
||||
|
||||
########################
|
||||
# Function Definitions #
|
||||
########################
|
||||
|
||||
# Check for missing dependencies
|
||||
CheckDependencies() {
|
||||
local run_launcher_found=false
|
||||
for launcher in rofi dmenu wofi fuzzel; do
|
||||
if command -v "$launcher" &> /dev/null; then
|
||||
run_launcher_found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$run_launcher_found" = false ]; then
|
||||
echo "Missing dependency: one of rofi, dmenu, wofi or fuzzel is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local missing_deps=()
|
||||
for dep in grim slurp jq wl-copy notify-send wf-recorder; do
|
||||
if ! command -v "$dep" &> /dev/null; then
|
||||
missing_deps+=("$dep")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||
echo "Missing dependencies: ${missing_deps[*]}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Prompt user for screenshot action
|
||||
ShotActionPrompt() {
|
||||
shotActionCases=$(echo -e "$subShotChoices" | $RUNNER -l 3 -i -p "[ What do you want to do with this screenshot?] ")
|
||||
}
|
||||
|
||||
# Prompt user for screenshot delay
|
||||
DelayPrompt() {
|
||||
delayActionsCases=$(echo -e "$delayChoices" | $RUNNER -l 4 -i -p "[ Select Delay] ")
|
||||
}
|
||||
|
||||
# Take a full screen screenshot without delay
|
||||
ShotScreen() {
|
||||
ShotActionPrompt
|
||||
case "$shotActionCases" in
|
||||
"$subShotChoice1")
|
||||
sleep 0.5 && grim - | wl-copy && notify-send "Screenshot copied to clipboard"
|
||||
;;
|
||||
"$subShotChoice2")
|
||||
sleep 0.5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Take a full screen screenshot with delay
|
||||
ShotScreenDelay() {
|
||||
ShotActionPrompt
|
||||
if [ "$shotActionCases" = "$subShotChoice1" ]; then
|
||||
DelayPrompt
|
||||
case $delayActionsCases in
|
||||
"$delayChoice1")
|
||||
sleep 3 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
|
||||
;;
|
||||
"$delayChoice2")
|
||||
sleep 5 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
|
||||
;;
|
||||
"$delayChoice3")
|
||||
sleep 10 && grim - | wl-copy && notify-send "Screenshot saved to clipboard"
|
||||
;;
|
||||
"$delayChoice4")
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
elif [ "$shotActionCases" = "$subShotChoice2" ]; then
|
||||
DelayPrompt
|
||||
case $delayActionsCases in
|
||||
"$delayChoice1")
|
||||
sleep 3 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
"$delayChoice2")
|
||||
sleep 5 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
"$delayChoice3")
|
||||
sleep 10 && grim "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
"$delayChoice4")
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
# Take a screenshot of a selected area
|
||||
ShotArea() {
|
||||
ShotActionPrompt
|
||||
case "$shotActionCases" in
|
||||
"$subShotChoice1")
|
||||
sleep 0.5 && grim -g "$(slurp)" - | wl-copy && notify-send "Screenshot saved to clipboard"
|
||||
;;
|
||||
"$subShotChoice2")
|
||||
sleep 0.5 && grim -g "$(slurp)" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Take a screenshot of the active window
|
||||
ShotWindow() {
|
||||
ShotActionPrompt
|
||||
local focused=$(hyprctl activewindow -j)
|
||||
local geom=$(echo "$focused" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
|
||||
case "$shotActionCases" in
|
||||
"$subShotChoice1")
|
||||
sleep 0.5 && grim -g "$geom" - | wl-copy && notify-send "Screenshot saved to clipboard"
|
||||
;;
|
||||
"$subShotChoice2")
|
||||
sleep 0.5 && grim -g "$geom" "$SHOTDIR/$(date +%s).png" && notify-send "Screenshot saved to $SHOTDIR"
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Record the entire screen
|
||||
VidScreen() {
|
||||
for ((i = 3; i >= 1; i--)); do
|
||||
notify-send -t 1000 "Starting in $i seconds"
|
||||
sleep 1
|
||||
done
|
||||
wf-recorder -f "$VCAPDIR/$(date +%s).mp4"
|
||||
notify-send "Screenshot" "Recording saved to $VCAPDIR"
|
||||
}
|
||||
|
||||
# Record a specific area of the screen
|
||||
VidArea() {
|
||||
wf-recorder -g "$(slurp)" -f "$VCAPDIR/$(date +%s).mp4"
|
||||
notify-send "Screenshot" "Recording saved to $VCAPDIR"
|
||||
}
|
||||
|
||||
# Record the entire screen with audio
|
||||
VidScreenAudio() {
|
||||
local chosenPrettyDevice=$(echo -e "$audioDescriptions" | $RUNNER -i -p " Select audio input")
|
||||
local chosenDevice="${audioMap["$chosenPrettyDevice"]}"
|
||||
if [ -n "$chosenDevice" ]; then
|
||||
for ((i = 3; i >= 1; i--)); do
|
||||
notify-send -t 1000 "Starting in $i seconds"
|
||||
sleep 1
|
||||
done
|
||||
wf-recorder --audio="$chosenDevice" -f "$VCAPDIR/$(date +%s).mp4"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
notify-send "Screenshot" "Recording saved to $VCAPDIR"
|
||||
}
|
||||
|
||||
# Stop the video recording
|
||||
VidStopRecording() {
|
||||
if pidof wfrecorder; then
|
||||
killall -s SIGINT wf-recorder
|
||||
else
|
||||
notify-send "You are not recording right now"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
###################
|
||||
# Check arguments #
|
||||
###################
|
||||
|
||||
# Show help information
|
||||
if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
|
||||
echo "rs_scrot"
|
||||
echo "USAGE: rs_scrot [OPTION]"
|
||||
echo -e "(no option)\tshow the screenshot menu"
|
||||
echo -e "-s, --stop\tstop recording"
|
||||
echo -e "-h, --help\tthis screen"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# stop recording with -s or --stop arguments
|
||||
if [ "$1" = '--stop' ] || [ "$1" = '-s' ]; then
|
||||
VidStopRecording
|
||||
exit 1
|
||||
fi
|
||||
|
||||
####################
|
||||
# Main Script Flow #
|
||||
####################
|
||||
|
||||
# Check for dependencies
|
||||
CheckDependencies
|
||||
|
||||
# Display main menu and execute selected option
|
||||
mainCase=$(echo -e "$mainChoices" | $RUNNER -l 3 -i -p "[ Screenshot/Screencast Utility] ")
|
||||
if [ -z "$mainCase" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case $mainCase in
|
||||
"$mainChoice1")
|
||||
shotCases=$(echo -e "$shotChoices" | $RUNNER -l 5 -i -p "[ Screenshot Menu] ") # screenshot menu prompt
|
||||
case $shotCases in
|
||||
"$shotChoice1")
|
||||
ShotScreen
|
||||
;;
|
||||
"$shotChoice2")
|
||||
ShotScreenDelay
|
||||
;;
|
||||
"$shotChoice3")
|
||||
ShotArea
|
||||
;;
|
||||
"$shotChoice4")
|
||||
ShotWindow
|
||||
;;
|
||||
"$shotChoice5")
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"$mainChoice2")
|
||||
vidCases=$(echo -e "$vidChoices" | $RUNNER -l 5 -i -p "[ Screencast Menu] ")
|
||||
case $vidCases in
|
||||
"$vidChoice1")
|
||||
VidScreen
|
||||
;;
|
||||
"$vidChoice2")
|
||||
VidArea
|
||||
;;
|
||||
"$vidChoice3")
|
||||
VidScreenAudio
|
||||
;;
|
||||
"$vidChoice4")
|
||||
VidStopRecording
|
||||
;;
|
||||
"$vidChoice5")
|
||||
exit 0
|
||||
esac
|
||||
;;
|
||||
"$mainChoice3")
|
||||
exit 0
|
||||
;;
|
||||
esac
|
68
config/fuzzel/scripts/rs_wall
Executable file
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# rs_wall - A simple screenshot menu script for rofi/dmenu/wofi/fuzzel
|
||||
# Author: Clay Gomera (Drake)
|
||||
# Dependencies: {rofi || dmenu || wofi || fuzzel}, swaybg
|
||||
|
||||
############################
|
||||
# Configuration Parameters #
|
||||
############################
|
||||
walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
|
||||
|
||||
########################
|
||||
# Function Definitions #
|
||||
########################
|
||||
|
||||
# Check for missing dependencies
|
||||
CheckDependencies() {
|
||||
local run_launcher_found=false
|
||||
for launcher in rofi dmenu wofi fuzzel; do
|
||||
if command -v "$launcher" &> /dev/null; then
|
||||
run_launcher_found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$run_launcher_found" = false ]; then
|
||||
echo "Missing dependency: one of rofi, dmenu, wofi or fuzzel is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local missing_deps=()
|
||||
for dep in swaybg; do
|
||||
if ! command -v "$dep" &> /dev/null; then
|
||||
missing_deps+=("$dep")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||
echo "Missing dependencies: ${missing_deps[*]}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
####################
|
||||
# Main Script Flow #
|
||||
####################
|
||||
|
||||
# Check for dependencies
|
||||
CheckDependencies
|
||||
|
||||
cd "$walldir" || exit 1
|
||||
wallpaper=$(fd -p "$walldir" | $RUNNER -l 5 -i -p "[ Wallpaper Selector] ")
|
||||
if [ -n "$wallpaper" ]; then
|
||||
if [[ "$wallpaper" == *.jpg ]]; then
|
||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.jpg"
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.jpg"
|
||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.jpg" fill
|
||||
elif [[ "$wallpaper" == *.png ]]; then
|
||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.png"
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.png"
|
||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.png" fill
|
||||
fi
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
167
config/fuzzel/scripts/rs_wifi
Executable file
|
@ -0,0 +1,167 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# rs_wifi - A simple WiFi menu script for rofi/dmenu/wofi/fuzzel
|
||||
# Author: Clay Gomera (Drake)
|
||||
# Dependencies: {rofi || dmenu || wofi || fuzzel}, NetworkManager, libnotify (notify-send)
|
||||
|
||||
############################
|
||||
# Configuration Parameters #
|
||||
############################
|
||||
|
||||
# Main menu options
|
||||
option1=" Turn on WiFi"
|
||||
option2=" Turn off WiFi"
|
||||
option3=" Disconnect WiFi"
|
||||
option4=" Connect WiFi"
|
||||
option5=" Setup captive portal"
|
||||
option6=" Exit"
|
||||
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
||||
|
||||
# WiFi interface information
|
||||
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
|
||||
read -r wlan constate <<< "$wifi_info"
|
||||
|
||||
########################
|
||||
# Function Definitions #
|
||||
########################
|
||||
|
||||
# Check for missing dependencies
|
||||
check_dependencies() {
|
||||
local run_launcher_found=false
|
||||
for launcher in rofi dmenu wofi fuzzel; do
|
||||
if command -v "$launcher" &> /dev/null; then
|
||||
run_launcher_found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$run_launcher_found" = false ]; then
|
||||
echo "Missing dependency: one of rofi, dmenu, wofi or fuzzel is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local missing_deps=()
|
||||
for dep in nmcli notify-send; do
|
||||
if ! command -v "$dep" &> /dev/null; then
|
||||
missing_deps+=("$dep")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_deps[@]} -ne 0 ]; then
|
||||
echo "Missing dependencies: ${missing_deps[*]}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Turn off WiFi
|
||||
turnoff() {
|
||||
nmcli radio wifi off
|
||||
if [ $? -eq 0 ]; then
|
||||
notify-send "WiFi has been turned off"
|
||||
else
|
||||
notify-send "Failed to turn off WiFi"
|
||||
fi
|
||||
}
|
||||
|
||||
# Turn on WiFi
|
||||
turnon() {
|
||||
nmcli radio wifi on
|
||||
if [ $? -eq 0 ]; then
|
||||
notify-send "WiFi has been turned on"
|
||||
else
|
||||
notify-send "Failed to turn on WiFi"
|
||||
fi
|
||||
}
|
||||
|
||||
# Disconnect from WiFi
|
||||
disconnect() {
|
||||
if [ "$constate" = "disconnected" ]; then
|
||||
notify-send "WiFi is already disconnected"
|
||||
elif [ "$constate" = "connected" ]; then
|
||||
nmcli device disconnect "$wlan"
|
||||
if [ $? -eq 0 ]; then
|
||||
notify-send "WiFi has been disconnected"
|
||||
else
|
||||
notify-send "Failed to disconnect WiFi"
|
||||
fi
|
||||
else
|
||||
notify-send "Unknown WiFi state"
|
||||
fi
|
||||
}
|
||||
|
||||
# Connect to a WiFi network
|
||||
connect() {
|
||||
notify-send -t 5000 "Scanning networks..."
|
||||
nmcli dev wifi rescan
|
||||
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | $RUNNER -i -l 10 -p "[ Select a Wifi Network] ");
|
||||
if [ -z "$wifinet" ]; then
|
||||
exit 0
|
||||
fi
|
||||
bssid=$(echo "$wifinet" | awk '{print $1}')
|
||||
ssid=$(echo "$wifinet" | awk '{print $2}')
|
||||
}
|
||||
|
||||
# Prompt for WiFi password
|
||||
password() {
|
||||
if nmcli connection show | awk -v ssid="$ssid" '$1 == ssid {found=1} END {exit !found}'; then
|
||||
pass=""
|
||||
elif nmcli -f BSSID,SECURITY dev wifi list | grep -w "$bssid" | awk '{print $2}' | grep -q -- "--"; then
|
||||
pass=""
|
||||
else
|
||||
pass=$($RUNNER -l 0 --password -p "[Enter Password ] " );
|
||||
if [ -z "$pass" ]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Execute WiFi connection
|
||||
action() {
|
||||
if [ -n "$pass" ]; then
|
||||
nmcli dev wifi connect "$bssid" password "$pass"
|
||||
else
|
||||
nmcli dev wifi connect "$bssid"
|
||||
fi
|
||||
if [ $? -eq 0 ]; then
|
||||
notify-send "Connected to $ssid"
|
||||
else
|
||||
notify-send "Failed to connect to $ssid"
|
||||
fi
|
||||
}
|
||||
|
||||
####################
|
||||
# Main Script Flow #
|
||||
####################
|
||||
|
||||
# Check for dependencies
|
||||
check_dependencies
|
||||
|
||||
cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings] " ) # main menu prompt
|
||||
if [ -z "$cases" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "$cases" in
|
||||
"$option1")
|
||||
turnon
|
||||
;;
|
||||
"$option2")
|
||||
turnoff
|
||||
;;
|
||||
"$option3")
|
||||
disconnect
|
||||
;;
|
||||
"$option4")
|
||||
if connect; then
|
||||
if password; then
|
||||
action
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
"$option5")
|
||||
${BROWSER:-xdg-open} http://networkcheck.kde.org
|
||||
;;
|
||||
"$option6")
|
||||
exit 0
|
||||
;;
|
||||
esac
|
|
@ -1,6 +1,6 @@
|
|||
gtk-theme-name="gruvbox-dark-gtk"
|
||||
gtk-icon-theme-name="gruvbox-dark-icons-gtk"
|
||||
gtk-font-name="Cantarell 10"
|
||||
gtk-theme-name="Gruvbox-Dark"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
gtk-font-name="Inter 10"
|
||||
gtk-cursor-theme-name="Simp1e-Gruvbox-Dark"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
|
@ -1,7 +1,7 @@
|
|||
[Settings]
|
||||
gtk-theme-name=gruvbox-dark-gtk
|
||||
gtk-icon-theme-name=gruvbox-dark-icons-gtk
|
||||
gtk-font-name=Cantarell 10
|
||||
gtk-theme-name=Gruvbox-Dark
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-font-name=Inter 10
|
||||
gtk-cursor-theme-name=Simp1e-Gruvbox-Dark
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
25
config/kanshi/config
Normal file
|
@ -0,0 +1,25 @@
|
|||
profile triple {
|
||||
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||
output eDP-1 mode 1920x1080 position 3200,0
|
||||
output HDMI-A-2 primary mode 1920x1080@100Hz position 1280,0
|
||||
output DP-1 mode 1280x1024@75Hz position 0,0
|
||||
}
|
||||
|
||||
profile hdmi {
|
||||
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||
output eDP-1 primary mode 1920x1080 position 0,0
|
||||
output HDMI-A-2 auto position 1920,0
|
||||
exec wl-present mirror eDP-1 --fullscreen-output HDMI-A-2 --fullscreen
|
||||
}
|
||||
|
||||
profile hdmi-c {
|
||||
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||
output eDP-1 primary mode 1920x1080 position 0,0
|
||||
output DP-1 auto position 1920,0
|
||||
exec wl-present mirror eDP-1 --fullscreen-output DP-1 --fullscreen
|
||||
}
|
||||
|
||||
profile laptop {
|
||||
exec pgrep wl-mirror && pkill -n wl-mirror
|
||||
output eDP-1 primary mode 1920x1080
|
||||
}
|
107
config/lvim/config.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
-- neovide options
|
||||
vim.o.guifont = "mononoki Nerd Font:h14"
|
||||
vim.g.neovide_no_idle = true
|
||||
vim.g.neovide_confirm_quit = true
|
||||
vim.g.neovide_input_use_logo = true
|
||||
|
||||
vim.g.neovide_cursor_antialiasing = true
|
||||
vim.g.neovide_cursor_animate_in_insert_mode = true
|
||||
vim.g.neovide_cursor_vfx_mode = "pixiedust"
|
||||
vim.g.neovide_cursor_vfx_particle_speed = 20.0
|
||||
|
||||
vim.g.neovide_padding_top = 0
|
||||
vim.g.neovide_padding_bottom = 0
|
||||
vim.g.neovide_padding_right = 0
|
||||
vim.g.neovide_padding_left = 0
|
||||
|
||||
-- Helper function for transparency formatting
|
||||
local alpha = function()
|
||||
return string.format("%x", math.floor(255 * (vim.g.transparency or 0.98)))
|
||||
end
|
||||
vim.g.neovide_transparency = 0.98
|
||||
vim.g.transparency = 0.98
|
||||
vim.g.neovide_background_color = "#1d2021" .. alpha()
|
||||
|
||||
-- nvim options
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.relativenumber = true
|
||||
vim.cmd('autocmd FileType markdown setlocal nospell')
|
||||
vim.opt.wrap = true -- wrap lines
|
||||
vim.opt.spell = false
|
||||
vim.o.shell = '/usr/bin/fish'
|
||||
vim.o.autochdir = true
|
||||
vim.cmd('autocmd BufEnter * lcd %:p:h')
|
||||
|
||||
-- general
|
||||
lvim.use_icons = true
|
||||
lvim.log.level = "info"
|
||||
|
||||
-- change theme settings
|
||||
lvim.colorscheme = "gruvbox"
|
||||
lvim.transparent_window = false
|
||||
lvim.builtin.alpha.active = true
|
||||
lvim.builtin.alpha.mode = "dashboard"
|
||||
lvim.builtin.terminal.active = true
|
||||
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
||||
|
||||
lvim.builtin.treesitter.ensure_installed = {
|
||||
"bash",
|
||||
"c",
|
||||
"javascript",
|
||||
"json",
|
||||
"python",
|
||||
"typescript",
|
||||
"tsx",
|
||||
"css",
|
||||
"rust",
|
||||
"java",
|
||||
"yaml",
|
||||
"toml",
|
||||
"sql",
|
||||
}
|
||||
|
||||
-- additional Plugins
|
||||
lvim.plugins = {
|
||||
{ "lunarvim/colorschemes" },
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
{ "tpope/vim-dadbod" },
|
||||
{ "kristijanhusak/vim-dadbod-ui" },
|
||||
{ "kristijanhusak/vim-dadbod-completion", after = "nvim-cmp" },
|
||||
{ "SirVer/ultisnips" },
|
||||
{ "mfussenegger/nvim-dap" }
|
||||
}
|
||||
|
||||
-- configuring colorscheme
|
||||
require("gruvbox").setup({
|
||||
undercurl = true,
|
||||
underline = true,
|
||||
bold = false,
|
||||
italic = {
|
||||
strings = true,
|
||||
comments = true,
|
||||
operators = false,
|
||||
folds = true,
|
||||
},
|
||||
strikethrough = true,
|
||||
invert_selection = false,
|
||||
invert_signs = false,
|
||||
invert_tabline = false,
|
||||
invert_intend_guides = false,
|
||||
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||
contrast = "hard", -- can be "hard", "soft" or empty string
|
||||
palette_overrides = {},
|
||||
overrides = {},
|
||||
dim_inactive = false,
|
||||
transparent_mode = false,
|
||||
})
|
||||
|
||||
lvim.keys.normal_mode["<leader>D"] = ":DBUIToggle<CR>"
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "sql", "mysql", "plsql" },
|
||||
command = ":lua require('cmp').setup.buffer({ sources = {{ name = 'vim-dadbod-completion' }} })",
|
||||
})
|
||||
|
||||
local cmp = require("cmp")
|
24
config/mimeapps.list
Normal file
|
@ -0,0 +1,24 @@
|
|||
[Default Applications]
|
||||
image/=imv.desktop
|
||||
video/=mpv.desktop
|
||||
audio/=mpv.desktop
|
||||
image/jpeg=imv.desktop
|
||||
image/png=imv.desktop
|
||||
image/gif=imv.desktop
|
||||
application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop
|
||||
application/pdf=org.pwmt.zathura-pdf-poppler.desktop
|
||||
image/svg+xml=org.inkscape.Inkscape.desktop
|
||||
video/x-matroska=mpv.desktop
|
||||
video/mp4=mpv.desktop
|
||||
image/webp=imv.desktop
|
||||
x-scheme-handler/jetbrains=jetbrains-toolbox.desktop
|
||||
|
||||
[Added Associations]
|
||||
image/jpeg=imv.desktop;
|
||||
image/png=imv.desktop;
|
||||
image/gif=imv.desktop;
|
||||
application/vnd.comicbook+zip=org.pwmt.zathura-cb.desktop;
|
||||
application/pdf=org.pwmt.zathura-pdf-poppler.desktop;
|
||||
image/svg+xml=org.inkscape.Inkscape.desktop;
|
||||
video/x-matroska=mpv.desktop;
|
||||
image/webp=imv.desktop;
|
139
config/mpv/mpv.conf
Normal file
|
@ -0,0 +1,139 @@
|
|||
#
|
||||
# Example mpv configuration file
|
||||
#
|
||||
# Warning:
|
||||
#
|
||||
# The commented example options usually do _not_ set the default values. Call
|
||||
# mpv with --list-options to see the default values for most options. There is
|
||||
# no builtin or example mpv.conf with all the defaults.
|
||||
#
|
||||
#
|
||||
# Configuration files are read system-wide from /etc/mpv/mpv.conf
|
||||
# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override
|
||||
# system-wide settings, all of which are overridden by the command line.
|
||||
#
|
||||
# Configuration file settings and the command line options use the same
|
||||
# underlying mechanisms. Most options can be put into the configuration file
|
||||
# by dropping the preceding '--'. See the man page for a complete list of
|
||||
# options.
|
||||
#
|
||||
# Lines starting with '#' are comments and are ignored.
|
||||
#
|
||||
# See the CONFIGURATION FILES section in the man page
|
||||
# for a detailed description of the syntax.
|
||||
#
|
||||
# Profiles should be placed at the bottom of the configuration file to ensure
|
||||
# that settings wanted as defaults are not restricted to specific profiles.
|
||||
|
||||
##################
|
||||
# video settings #
|
||||
##################
|
||||
|
||||
# Start in fullscreen mode by default.
|
||||
#fs=yes
|
||||
|
||||
# force starting with centered window
|
||||
#geometry=50%:50%
|
||||
|
||||
# don't allow a new window to have a size larger than 90% of the screen size
|
||||
#autofit-larger=90%x90%
|
||||
|
||||
# Do not close the window on exit.
|
||||
#keep-open=yes
|
||||
|
||||
# Do not wait with showing the video window until it has loaded. (This will
|
||||
# resize the window once video is loaded. Also always shows a window with
|
||||
# audio.)
|
||||
#force-window=immediate
|
||||
|
||||
# Disable the On Screen Controller (OSC).
|
||||
#osc=no
|
||||
|
||||
# Keep the player window on top of all other windows.
|
||||
#ontop=yes
|
||||
|
||||
# Specify high quality video rendering preset (for --vo=gpu only)
|
||||
# Can cause performance problems with some drivers and GPUs.
|
||||
#profile=gpu-hq
|
||||
|
||||
# Force video to lock on the display's refresh rate, and change video and audio
|
||||
# speed to some degree to ensure synchronous playback - can cause problems
|
||||
# with some drivers and desktop environments.
|
||||
#video-sync=display-resample
|
||||
|
||||
# Enable hardware decoding if available. Often, this does not work with all
|
||||
# video outputs, but should work well with default settings on most systems.
|
||||
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
|
||||
# may or may not help.
|
||||
#hwdec=auto
|
||||
|
||||
##################
|
||||
# audio settings #
|
||||
##################
|
||||
|
||||
# Specify default audio device. You can list devices with: --audio-device=help
|
||||
# The option takes the device string (the stuff between the '...').
|
||||
#audio-device=alsa/default
|
||||
|
||||
# Do not filter audio to keep pitch when changing playback speed.
|
||||
#audio-pitch-correction=no
|
||||
|
||||
# Output 5.1 audio natively, and upmix/downmix audio with a different format.
|
||||
#audio-channels=5.1
|
||||
# Disable any automatic remix, _if_ the audio output accepts the audio format.
|
||||
# of the currently played file. See caveats mentioned in the manpage.
|
||||
# (The default is "auto-safe", see manpage.)
|
||||
#audio-channels=auto
|
||||
|
||||
##################
|
||||
# other settings #
|
||||
##################
|
||||
|
||||
# Pretend to be a web browser. Might fix playback with some streaming sites,
|
||||
# but also will break with shoutcast streams.
|
||||
#user-agent="Mozilla/5.0"
|
||||
|
||||
# cache settings
|
||||
#
|
||||
# Use a large seekable RAM cache even for local input.
|
||||
#cache=yes
|
||||
#
|
||||
# Use extra large RAM cache (needs cache=yes to make it useful).
|
||||
#demuxer-max-bytes=500M
|
||||
#demuxer-max-back-bytes=100M
|
||||
#
|
||||
# Disable the behavior that the player will pause if the cache goes below a
|
||||
# certain fill size.
|
||||
#cache-pause=no
|
||||
#
|
||||
# Store cache payload on the hard disk instead of in RAM. (This may negatively
|
||||
# impact performance unless used for slow input such as network.)
|
||||
#cache-dir=~/.cache/
|
||||
#cache-on-disk=yes
|
||||
|
||||
# Display English subtitles if available.
|
||||
#slang=en
|
||||
|
||||
# Play Finnish audio if available, fall back to English otherwise.
|
||||
#alang=fi,en
|
||||
|
||||
# Change subtitle encoding. For Arabic subtitles use 'cp1256'.
|
||||
# If the file seems to be valid UTF-8, prefer UTF-8.
|
||||
# (You can add '+' in front of the codepage to force it.)
|
||||
#sub-codepage=cp1256
|
||||
|
||||
# You can also include other configuration files.
|
||||
#include=/path/to/the/file/you/want/to/include
|
||||
|
||||
############
|
||||
# Profiles #
|
||||
############
|
||||
|
||||
# The options declared as part of profiles override global default settings,
|
||||
# but only take effect when the profile is active.
|
||||
|
||||
# The following profile can be enabled on the command line with: --profile=eye-cancer
|
||||
|
||||
#[eye-cancer]
|
||||
#sharpen=5
|
||||
loop-file='inf'
|
68
config/musikcube/hotkeys.json
Normal file
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"browse_category_filter": "^F",
|
||||
"browse_playlists_delete": "KEY_DC",
|
||||
"browse_playlists_new": "M-n",
|
||||
"browse_playlists_rename": "M-r",
|
||||
"browse_playlists_save": "M-s",
|
||||
"context_menu": "M-enter",
|
||||
"hotkeys_backup": "M-b",
|
||||
"hotkeys_reset_to_default": "M-r",
|
||||
"key_down": "j",
|
||||
"key_end": "KEY_END",
|
||||
"key_home": "KEY_HOME",
|
||||
"key_left": "h",
|
||||
"key_page_down": "KEY_NPAGE",
|
||||
"key_page_up": "KEY_PPAGE",
|
||||
"key_right": "l",
|
||||
"key_up": "k",
|
||||
"lyrics_retry": "r",
|
||||
"metadata_rescan": "^R",
|
||||
"navigate_console": "`",
|
||||
"navigate_hotkeys": "?",
|
||||
"navigate_jump_to_playing": "x",
|
||||
"navigate_library": "a",
|
||||
"navigate_library_album_artists": "4",
|
||||
"navigate_library_browse": "b",
|
||||
"navigate_library_browse_albums": "2",
|
||||
"navigate_library_browse_artists": "1",
|
||||
"navigate_library_browse_directories": "d",
|
||||
"navigate_library_browse_genres": "3",
|
||||
"navigate_library_choose_category": "6",
|
||||
"navigate_library_filter": "f",
|
||||
"navigate_library_play_queue": "n",
|
||||
"navigate_library_playlists": "5",
|
||||
"navigate_library_tracks": "t",
|
||||
"navigate_lyrics": "^L",
|
||||
"navigate_settings": "s",
|
||||
"play_queue_clear": "X",
|
||||
"play_queue_delete": "KEY_DC",
|
||||
"play_queue_hot_swap": "M-a",
|
||||
"play_queue_move_down": "M-down",
|
||||
"play_queue_move_up": "M-up",
|
||||
"play_queue_playlist_delete": "M-x",
|
||||
"play_queue_playlist_load": "M-l",
|
||||
"play_queue_playlist_rename": "M-r",
|
||||
"play_queue_playlist_save": "M-s",
|
||||
"playback_next": "M-l",
|
||||
"playback_previous": "M-j",
|
||||
"playback_seek_back": "u",
|
||||
"playback_seek_back_proportional": "y",
|
||||
"playback_seek_forward": "o",
|
||||
"playback_seek_forward_proportional": "p",
|
||||
"playback_stop": "^X",
|
||||
"playback_toggle_mute": "m",
|
||||
"playback_toggle_pause": "^P",
|
||||
"playback_toggle_repeat": ".",
|
||||
"playback_toggle_shuffle": ",",
|
||||
"playback_volume_down": "M-k",
|
||||
"playback_volume_up": "M-i",
|
||||
"search_input_toggle_match_type": "M-m",
|
||||
"show_equalizer": "^E",
|
||||
"toggle_visualizer": "v",
|
||||
"track_list_change_sort_order": "M-s",
|
||||
"track_list_next_group": "]",
|
||||
"track_list_play_from_top": "M-P",
|
||||
"track_list_previous_group": "[",
|
||||
"track_list_rate_track": "r",
|
||||
"view_refresh": "KEY_F(5)"
|
||||
}
|
|
@ -48,4 +48,4 @@ highlight article ":.*\\(image\\)$" blue default
|
|||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
||||
|
||||
browser w3m
|
||||
macro v set browser "mpv %u" ; open-in-browser ; set browser "elinks %u"
|
||||
macro v set browser "mpv --ytdl-format='bestvideo[height<=1080]+bestaudio/best[height<=1080]' %u" ; open-in-browser ; set browser "w3m %u"
|
215
config/newsboat/urls
Normal file
|
@ -0,0 +1,215 @@
|
|||
http://static.fsf.org/fsforg/rss/news.xml "~FSF News"
|
||||
http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs"
|
||||
https://fsfe.org/news/news.en.rss "~FSFE News"
|
||||
https://dot.kde.org/rss.xml "~KDE Dot News"
|
||||
https://planet.kde.org/global/atom.xml "~Planet KDE"
|
||||
https://pointieststick.com/feed/ "~This Week on KDE"
|
||||
https://www.kdeblog.com/rss "~KDE Blog"
|
||||
https://thisweek.gnome.org/index.xml "~This Week on GNOME"
|
||||
https://www.omgubuntu.co.uk/feed "~OMG!Ubuntu"
|
||||
https://www.omglinux.com/feed "~OMG!Linux"
|
||||
https://blog.thunderbird.net/feed/ "~The Thunderbird Blog"
|
||||
https://thelinuxexp.com/feed.xml "~The Linux Experiment"
|
||||
https://techhut.tv/feed/ "~TechHut Media"
|
||||
https://itsfoss.com/rss/ "~Its FOSS!"
|
||||
https://thelinuxcast.org/feed/feed.xml "~The Linux Cast"
|
||||
https://9to5linux.com/feed/atom "~9to5Linux"
|
||||
https://blog.elementary.io/feed.xml "~elementary OS Blog"
|
||||
https://blog.zorin.com/index.xml "~Zorin OS Blog"
|
||||
http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog"
|
||||
https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
|
||||
https://hackaday.com/blog/feed/ "~Hackaday"
|
||||
https://www.phoronix.com/rss.php "~Phoronix"
|
||||
https://betanews.com/feed "~Betanews Linux"
|
||||
http://lxer.com/module/newswire/headlines.rss "~Lxer"
|
||||
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
|
||||
https://tutanota.com/blog/feed.xml "~Tutanota Blogs"
|
||||
https://techcrunch.com/feed/ "~TechCrunch"
|
||||
http://www.techradar.com/rss "~TechRadar"
|
||||
https://www.zdnet.com/news/rss.xml "~ZDNET - News"
|
||||
https://c3po.website/rss/ "~Blog de C3PO"
|
||||
https://thecheis.com/feed/ "~THE_CHEI$"
|
||||
http://yro.slashdot.org/yro.rss "~Slashdot: Your Rights Online"
|
||||
https://freedom-to-tinker.com/feed/rss/ "~Freedom to Tinker"
|
||||
https://act.eff.org/action.atom "~EFF - Action Center"
|
||||
https://www.eff.org/rss/updates.xml "~EFF - Updates"
|
||||
https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world"
|
||||
https://theprivacydad.com/feed/ "~Welcome to The Privacy Dad's Blog!"
|
||||
https://proton.me/blog/feed "~Proton Blog"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-shHw-IWdyL7Y6JUz_mUMQ "~YT - SORRYLAG"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC0woBco6Dgcxt0h8SwyyOmw "~YT - Megaprojects"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC1JTQBa5QxZCpXrFSkMxmPw "~YT - Raycevick"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2avWDLN1EI3r1RZ_dlSxCw "~YT - Integza"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC36xmz34q02JYaZYKrMwXng "~YT - Nate Gentile"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC3Wn3dABlgESm8Bzn8Vamgg "~YT - Sideprojects"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC4qG04RcOZ8J1Ncw5CPqsLA "~YT - Claus Kellerman POV"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC4w1YQAJMWOz4qtxinq55LQ "~YT - Level1Techs"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC52tAgsocr9DgrPec_iw1eg "~YT - Portfolio Courses"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC7WDD6yHgzdqijHluCi1z-Q "~YT - The Act Man"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8679JjreNLfSCgA-2Fb4kA "~YT - SpineCard"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8bCGC81i_jYlL041-iAFSA "~YT - JWulen"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9eM3jqq5IfxbGHbuRR_jRw "~YT - Sfdx Show"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA "~YT - Warographics"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9rU_5YnMDUPc0IP8NwZOig "~YT - Elevated Systems"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCAMu6Dso0ENoNm3sKpQsy0g "~YT - Nir Lichtman"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCBdwqWmXhupzV5q8TfD-kNQ "~YT - The Critical Gamer"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCDZsyOkn-WTiTwgAvZSQ_cg "~YT - El Rincón De Giorgio"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCD_SqY872aJSEjh8CcBFB7g "~YT - Userlandia"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEEVcDuBRDiwxfXAgQjLGug "~YT - Dreams of Autonomy"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEIwxahdLz7bap-VDs9h35A "~YT - Steve Mould"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCFzGNDHEZ5-7d5UXxfHUcRg "~YT - jujalag"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCGGAYsWFerrs-ZqyXw7fQWg "~YT - Resumidito."
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCH_7doiCkWeq0v3ycWE5lDw "~YT - Any Austin"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCH_zBfX_o5GDZwevkh1jl9Q "~YT - Nate Live"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHvDhwNuq-h2hZQRR6BwbLQ "~YT - Tech With Nikola"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCI6pj4e-_6Km-dmLLYpmlaA "~YT - Alejandro Julián"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCIjIAXXsX4YMYeFj-LP42-Q "~YT - Anthony GG"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCM1og9pwIfAlg2jEtWh-Z7A "~YT - Sakharu Baguette"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMnZ3qm76jc3SUi9Z-5OdcA "~YT - Leyendas & Videojuegos"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCNYW2vfGrUE6R5mIJYzkRyQ "~YT - DrossRotzank"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCNnNCBgckxzqIh1Txw5cgSg "~YT - BaityBait"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCODHrzPMGbNv67e84WDZhQQ "~YT - fern"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg "~YT - Real Engineering"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCRYeRa2iUMd8An1WTPIP2bw "~YT - aChair Leg"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCRrHl7MO7gcwWguTTqDzBHw "~YT - LoneVaultWanderer"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSJPFQdZwrOutnmSFYtbstA "~YT - The Critical Drinker"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSp-OaMpsO8K0KkOqyBl7_w "~YT - Let's Get Rusty"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - Naomi Brockwell TV"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCT35hFvV0j8SR3SBGJChKZQ "~YT - Jota."
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCT6LaAC9VckZYJUzutUW3PQ "~YT - Game Sack"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCTrSsPMmZavLbc3Ex7VhjDg "~YT - Brandon Herrera"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCVIcSx0JX1lBXnyezabutrA "~YT - Shawn Wildermuth"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCVk4b-svNJoeytrrlOixebQ "~YT - TheVimeagen"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWDGyt5hy6UA6Br-hAar03A "~YT - El Robot de Colón"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWMV8dD0N3tAM2W6GuNCUCg "~YT - theunrealtarik"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "~YT - Dreams of Code"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWcp1Mwm7_bJ-mVoZb8TdkQ "~YT - TuberViejuner"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCXp5qAXAmdQ8n3RUZaME1QQ "~YT - ItsYaBoyBrandyBoy"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCZ4AMrDcNrfy3X6nsU8-rPg "~YT - Economics Explained"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCZkPWp4MVoIVGLVLYC1Vjlg "~YT - Guille Ghemi"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaSCt8s_4nfkRglWCvNSDrg "~YT - CodeAesthetic"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaVPhFg-Ax873wvhbNitsrQ "~YT - El Robot de Platón"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCb0XKayhXq2JdoAHC2nr28Q "~YT - JARM"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCbJEWVgCAO-gyHcQ7U7RPCg "~YT - Axel 1UP"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCcAy1o8VUCkdowxRYbc0XRw "~YT - Sebi's Random Tech"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCcQWoBTNG__OwfZk9znWgCQ "~YT - The Rusty Bits"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCdB41UXrNAU_J7A7OnU4KSQ "~YT - Japan Gemu"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCdiJKSDwwvy4rMUVc9CgS-g "~YT - DaniboubeTV"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCdp4_l1vPmpN-gDbUwhaRUQ "~YT - Branch Education"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCeCtLnoV0nmE2cBbbftCCiw "~YT - Las reviews de Camilo"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCf-U0uPVQZtcqXUWa_Hl4Mw "~YT - Into the Shadows"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCgNg3vwj3xt7QOrcIDaHdFg "~YT - PolyMatter"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCgdTVe88YVSrOZ9qKumhULQ "~YT - Hardware Haven"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UChIs72whgZI9w6d6FhwGGHA "~YT - Gamers Nexus"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCj8mAcR6Mu1dvaXQ6BdShRQ "~YT - The Masked Man"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjinkxv899vPCJ65BWpmPIA "~YT - Scott's Snippets"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCkK9UDm_ZNrq_rIXCz3xCGA "~YT - Bryan Lunduke"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UClb90NQQcskPUGDIXsQEz5Q "~YT - developedbyed"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UClnDI2sdehVm1zm_LmUHsjQ "~YT - Biographics"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCm8EsftbfNzSiRHzc7I59KQ "~YT - Kevin Fang"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmGSJVG3mCRXVOP4yZrU1Dw "~YT - Johnny Harris"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCq8LldVrjqe61KQttZlLW8g "~YT - Patrick God"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCqoGR_EedlhKDVuWNwYWRbg "~YT - Voices of the Past"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCsBjURrPoezykLs9EqgamOA "~YT - Fireship"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCsC--WvN66vZlDoYShzn4sA "~YT - Oxhorn"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtApDZWXv8fQaxZAk6dxYkw "~YT - Ghostcharm"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtYKe7-XbaDjpUwcU5x0bLg "~YT - neo"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtYg149E_wUGVmjGz-TgyNA "~YT - Titus Tech Talk"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtZX_67hSjOIPu0HTmFi6aw "~YT - Macintosh Librarian"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxdZ7XCQVMRMipj3gGemQfw "~YT - GNULectures"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxoz4YfS4M3H3C57FD4jW4Q "~YT - Science Time"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCy6pDeDwRFi1kmFekSpMDUA "~YT - La Poción Roja"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCzR-rom72PHN9Zg7RML9EbA "~YT - PBS Eons"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"
|
23
config/sway/modules/autostart
Normal file
|
@ -0,0 +1,23 @@
|
|||
exec {
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
dbus-update-activation-environment --systemd --all
|
||||
systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
/usr/lib/xdg-desktop-portal-wlr
|
||||
kanshi
|
||||
swayidle -w \
|
||||
lock 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
||||
timeout 300 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
||||
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||
before-sleep 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"'
|
||||
wl-paste --type text --watch cliphist store
|
||||
wl-paste --type image --watch cliphist store
|
||||
mako -c ~/.config/mako/config
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
gnome-keyring-daemon --start --components=secrets
|
||||
}
|
||||
|
||||
exec_always {
|
||||
pidof kanshi || kill -1 $(pidof kanshi)
|
||||
}
|
||||
|
||||
bar swaybar_command waybar
|
|
@ -8,32 +8,32 @@ set $up k
|
|||
set $right l
|
||||
|
||||
# Apps
|
||||
set $term wezterm
|
||||
set $term foot
|
||||
set $chat flatpak run org.signal.Signal
|
||||
set $office flatpak run org.libreoffice.LibreOffice
|
||||
set $browser flatpak run org.mozilla.firefox
|
||||
set $file thunar
|
||||
set $editor $HOME/.local/bin/neovide
|
||||
set $music lollypop
|
||||
set $ani-cli wezterm start --class ani-cli ani-cli
|
||||
set $ytfzf wezterm start --class ytfzf ytfzf -flstT chafa
|
||||
set $ytfzf-music wezterm start --class ytfzf-music ytfzf -mlstT chafa
|
||||
set $flix-cli wezterm start --class flix-cli flix-cli
|
||||
set $audiomixer wezterm start --class audiomixer pulsemixer
|
||||
set $monitor wezterm start --class monitor btop
|
||||
set $newsboat wezterm start --class newsboat newsboat
|
||||
set $browser flatpak run com.brave.Browser
|
||||
set $file foot -T yazi -a yazi yazi
|
||||
set $editor neovide --neovim-bin $HOME/.local/bin/lvim
|
||||
set $music foot -T musikcube -a musikcube musikcube
|
||||
set $ani-cli foot -T ani-cli -a ani-cli ani-cli
|
||||
set $ytfzf foot -T ytfzf -a ytfzf ytfzf -flst
|
||||
set $ytfzf-music foot -T ytfzf-music -a ytfzf-music ytfzf -mlst
|
||||
set $flix-cli foot -T flix-cli -a flix-cli flix-cli
|
||||
set $audiomixer foot -T audiomixer -a audiomixer pulsemixer
|
||||
set $monitor foot -T monitor -a monitor btop
|
||||
set $newsboat foot -T newsboat -a newsboat newsboat
|
||||
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
set $menu fuzzel | xargs swaymsg exec --
|
||||
set $menu-wifi ~/.local/bin/rs_wifi | xargs swaymsg exec --
|
||||
set $menu-power ~/.local/bin/rs_power | xargs swaymsg exec --
|
||||
set $menu-emoji ~/.local/bin/rs_emoji | xargs swaymsg exec --
|
||||
set $menu-wall ~/.local/bin/rs_wall | xargs swaymsg exec --
|
||||
set $menu-scrot ~/.local/bin/rs_scrot | xargs swaymsg exec --
|
||||
set $menu-blue ~/.local/bin/rs_blue | xargs swaymsg exec --
|
||||
set $menu-clip ~/.local/bin/rs_clip | xargs swaymsg exec --
|
||||
set $menu-wifi ~/.config/fuzzel/scripts/rs_wifi | xargs swaymsg exec --
|
||||
set $menu-power ~/.config/fuzzel/scripts/rs_power | xargs swaymsg exec --
|
||||
set $menu-emoji ~/.config/fuzzel/scripts/rs_emoji | xargs swaymsg exec --
|
||||
set $menu-wall ~/.config/fuzzel/scripts/rs_wall | xargs swaymsg exec --
|
||||
set $menu-scrot ~/.config/fuzzel/scripts/rs_scrot | xargs swaymsg exec --
|
||||
set $menu-blue ~/.config/fuzzel/scripts/rs_blue | xargs swaymsg exec --
|
||||
set $menu-clip ~/.config/fuzzel/scripts/rs_clip | xargs swaymsg exec --
|
||||
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
@ -41,16 +41,6 @@ bindsym $mod+Return exec $term
|
|||
# Kill focused window
|
||||
bindsym $mod+q kill
|
||||
|
||||
# Run launcher scripts
|
||||
bindsym $mod+Shift+d exec $menu
|
||||
bindsym $mod+Shift+q exec $menu-power
|
||||
bindsym $mod+Shift+e exec $menu-emoji
|
||||
bindsym $mod+Shift+w exec $menu-wall
|
||||
bindsym $mod+Shift+s exec $menu-scrot
|
||||
bindsym $mod+Shift+b exec $menu-blue
|
||||
bindsym $mod+Shift+c exec $menu-clip
|
||||
bindsym $mod+Shift+i exec $menu-wifi
|
||||
|
||||
# XF86 Keys
|
||||
bindsym XF86AudioRaiseVolume exec pamixer -i 5
|
||||
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
||||
|
@ -61,7 +51,7 @@ bindsym XF86AudioPlay exec playerctl play-pause
|
|||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86AudioStop exec playerctl stop
|
||||
bindsym XF86News exec wezterm start --class newsboat newsboat
|
||||
bindsym XF86News exec $newsboat
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl s 5%+
|
||||
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
|
||||
bindsym XF86Display exec wdisplays
|
||||
|
@ -115,16 +105,16 @@ bindsym $mod+8 workspace number 8
|
|||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
bindsym $mod+Shift+1 [con_id=__focused__] move container to workspace number 1, focus
|
||||
bindsym $mod+Shift+2 [con_id=__focused__] move container to workspace number 2, focus
|
||||
bindsym $mod+Shift+3 [con_id=__focused__] move container to workspace number 3, focus
|
||||
bindsym $mod+Shift+4 [con_id=__focused__] move container to workspace number 4, focus
|
||||
bindsym $mod+Shift+5 [con_id=__focused__] move container to workspace number 5, focus
|
||||
bindsym $mod+Shift+6 [con_id=__focused__] move container to workspace number 6, focus
|
||||
bindsym $mod+Shift+7 [con_id=__focused__] move container to workspace number 7, focus
|
||||
bindsym $mod+Shift+8 [con_id=__focused__] move container to workspace number 8, focus
|
||||
bindsym $mod+Shift+9 [con_id=__focused__] move container to workspace number 9, focus
|
||||
bindsym $mod+Shift+0 [con_id=__focused__] move container to workspace number 10, focus
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
|
||||
|
@ -136,15 +126,15 @@ bindsym $mod+b splith
|
|||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+Ctrl+s layout stacking
|
||||
bindsym $mod+Ctrl+w layout tabbed
|
||||
bindsym $mod+Ctrl+e layout toggle split
|
||||
bindsym $mod+e layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+d layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+Ctrl+f fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Ctrl+space floating toggle
|
||||
bindsym $mod+Alt+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
@ -206,3 +196,18 @@ mode "apps" {
|
|||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+a mode "apps"
|
||||
|
||||
# Run launcher scripts
|
||||
mode "launchers" {
|
||||
bindsym d exec $menu; mode "default"
|
||||
bindsym q exec $menu-power; mode "default"
|
||||
bindsym e exec $menu-emoji; mode "default"
|
||||
bindsym w exec $menu-wall; mode "default"
|
||||
bindsym s exec $menu-scrot; mode "default"
|
||||
bindsym b exec $menu-blue; mode "default"
|
||||
bindsym c exec $menu-clip; mode "default"
|
||||
bindsym i exec $menu-wifi; mode "default"
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+s mode "launchers"
|
25
config/sway/modules/output
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Set background for all outputs
|
||||
output * {
|
||||
bg ~/.config/sway/wallpaper/background.* fill
|
||||
}
|
||||
|
||||
# # Configure internal display (eDP-1)
|
||||
# output eDP-1 {
|
||||
# mode 1920x1080
|
||||
# position 3200,0
|
||||
# transform normal
|
||||
# }
|
||||
|
||||
# # Configure external display (HDMI-A-2)
|
||||
# output HDMI-A-2 {
|
||||
# mode 1920x1080@100Hz
|
||||
# position 1280,0
|
||||
# transform normal
|
||||
# }
|
||||
|
||||
# # Configure external display (DP-1)
|
||||
# output DP-1 {
|
||||
# mode 1280x1024@75Hz
|
||||
# position 0,0
|
||||
# transform normal
|
||||
# }
|
|
@ -1,33 +1,38 @@
|
|||
# Font
|
||||
font pango: Mononoki Nerd Font 12
|
||||
font pango: Mononoki Nerd Font 14
|
||||
|
||||
# Color scheme (Gruvbox dark)
|
||||
set $color_normal_white #a89984
|
||||
set $color_bright_white #ebdbb2
|
||||
set $color_normal_gray #282828
|
||||
set $color_bright_gray #3c3836
|
||||
set $color_bright_gray #665c54
|
||||
set $color_bright_yellow #d79921
|
||||
set $color_normal_black #1d2021
|
||||
set $color_unused #ff0000
|
||||
set $color_normal_red #cc241d
|
||||
set $color_normal_teal #689d6a
|
||||
set $color_normal_green #98971a
|
||||
|
||||
# Title bar colors
|
||||
# Colors border background text indicator child_border
|
||||
client.focused $color_bright_gray $color_bright_gray $color_bright_white $color_bright_gray $color_normal_black
|
||||
client.focused_inactive $color_bright_gray $color_bright_gray $color_bright_white $color_bright_gray $color_normal_black
|
||||
client.unfocused $color_normal_gray $color_normal_gray $color_normal_white $color_normal_gray $color_normal_black
|
||||
client.focused $color_normal_red $color_bright_gray $color_bright_white $color_normal_teal $color_normal_red
|
||||
client.focused_inactive $color_bright_gray $color_bright_gray $color_bright_white $color_normal_green $color_bright_gray
|
||||
client.unfocused $color_bright_gray $color_normal_gray $color_normal_white $color_normal_green $color_bright_gray
|
||||
client.urgent $color_bright_yellow $color_bright_yellow $color_normal_black $color_unused $color_unused
|
||||
client.placeholder $color_unused $color_unused $color_unused $color_unused $color_unused
|
||||
|
||||
# Window borders
|
||||
default_border pixel 2
|
||||
default_floating_border pixel 2
|
||||
default_border pixel 3
|
||||
default_floating_border pixel 3
|
||||
smart_borders off
|
||||
gaps inner 5
|
||||
|
||||
# gsettings
|
||||
exec gsettings set org.gnome.desktop.interface {
|
||||
gtk-theme 'gruvbox-dark-gtk'
|
||||
icon-theme 'gruvbox-dark-icons-gtk'
|
||||
gtk-theme 'Gruvbox-Dark'
|
||||
icon-theme 'Papirus-Dark'
|
||||
cursor-theme 'Simp1e-Gruvbox-Dark'
|
||||
font-name 'Cantarell 10'
|
||||
font-name 'Inter 10'
|
||||
document-font-name 'Liberation Serif 12'
|
||||
monospace-font-name 'Mononoki Nerd Font 12'
|
||||
enable-animations true
|
BIN
config/sway/wallpaper/background.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
config/sway/wallpaper/locked.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
|
@ -16,17 +16,17 @@ export XKB_DEFAULT_LAYOUT=us
|
|||
export MOZ_ENABLE_WAYLAND=1
|
||||
export MOZ_WAYLAND_USE_VAAPI=1
|
||||
export MOZ_DISABLE_RDD_SANDBOX=1
|
||||
export ELECTRON_OZONE_PLATFORM_HINT=auto
|
||||
|
||||
# GTK & cursor stuff
|
||||
export XCURSOR_PATH="$XDG_DATA_HOME/icons/"
|
||||
export XCURSOR_THEME="Simp1e-Gruvbox-Dark"
|
||||
export GTK_THEME="gruvbox-dark-gtk"
|
||||
export GTK_ICON_THEME="gruvbox-dark-icons-gtk"
|
||||
export GTK_THEME="Gruvbox-Dark"
|
||||
export GTK_ICON_THEME="Papirus-Dark"
|
||||
export GTK_CURSOR_THEME="Simp1e-Gruvbox-Dark"
|
||||
|
||||
# User defined enviroment variables
|
||||
export RUNNER="fuzzel --dmenu"
|
||||
export WM=sway
|
||||
|
||||
# Start compositor
|
||||
dbus-launch $WM
|
||||
exec sway
|
|
@ -10,6 +10,10 @@
|
|||
"sway/scratchpad"
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"sway/window"
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"custom/arrow1",
|
||||
"sway/language",
|
||||
|
@ -18,12 +22,13 @@
|
|||
"custom/arrow3",
|
||||
"backlight",
|
||||
"custom/arrow4",
|
||||
"idle_inhibitor",
|
||||
"power-profiles-daemon",
|
||||
"battery",
|
||||
"battery#bat2",
|
||||
"custom/arrow5",
|
||||
"custom/powerprofiles",
|
||||
"custom/arrow6",
|
||||
"network",
|
||||
"custom/arrow7",
|
||||
"custom/arrow6",
|
||||
"clock"
|
||||
],
|
||||
|
||||
|
@ -47,6 +52,13 @@
|
|||
}
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{title}",
|
||||
"icon": true,
|
||||
"icon-size": 24,
|
||||
"separate-outputs": true
|
||||
},
|
||||
|
||||
"sway/language": {
|
||||
"format": "{} \udb80\udf0c",
|
||||
"on-click": "swaymsg input type:keyboard xkb_switch_layout next",
|
||||
|
@ -65,60 +77,14 @@
|
|||
"tooltip-format": "{app}: {title}"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format": "\udb82\udd54 {:%H:%M}",
|
||||
"format-alt": "\udb80\udcf5 {:%Y-%m-%d}"
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": [
|
||||
"\udb86\ude4e", // 10%
|
||||
"\udb86\ude4f", // 20%
|
||||
"\udb86\ude50", // 30%
|
||||
"\udb86\ude51", // 40%
|
||||
"\udb86\ude52", // 50%
|
||||
"\udb86\ude53", // 60%
|
||||
"\udb86\ude54", // 70%
|
||||
"\udb86\ude55", // 80%
|
||||
"\udb81\udee8" // 90+%
|
||||
]
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% {icon}\udb81\udea5",
|
||||
"format-plugged": "{capacity}% {icon}\udb81\udea5",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-critical": "{capacity}% {icon}\udb84\ude38",
|
||||
"format-warning": "{capacity}% {icon}\udb84\ude38",
|
||||
"format-icons": [
|
||||
"\udb80\udc7a",
|
||||
"\udb80\udc7c",
|
||||
"\udb80\udc7e",
|
||||
"\udb80\udc80",
|
||||
"\udb80\udc79"
|
||||
],
|
||||
},
|
||||
|
||||
"custom/powerprofiles": {
|
||||
"exec": "bash $HOME/.config/waybar/power-profiles",
|
||||
"restart-interval": 5,
|
||||
"format": "{}",
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon}\udb80\udcaf {format_source}",
|
||||
"tooltip-format": "{volume}% - {desc}",
|
||||
"format": "{icon} {format_source}",
|
||||
"format-bluetooth": "{icon}\udb80\udcaf {format_source}",
|
||||
"format-bluetooth-muted": "\udb81\udd81 {icon}\udb80\udcaf {format_source}",
|
||||
"format-muted": "\udb81\udd81 {format_source}",
|
||||
"format-source": "{volume}% \udb80\udf6c",
|
||||
"format-source": "\udb80\udf6c",
|
||||
"format-source-muted": "\udb80\udf6d",
|
||||
"format-icons": {
|
||||
"headphone": "\udb80\udecb",
|
||||
|
@ -129,15 +95,101 @@
|
|||
"car": "\udb80\udd0b",
|
||||
"default": ["\udb81\udd7f", "\udb81\udd80", "\udb81\udd7e"]
|
||||
},
|
||||
"on-click": "wezterm start --class pulsemixer -- pulsemixer"
|
||||
"on-click": "foot -T audiomixer -a audiomixer pulsemixer"
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "{icon}",
|
||||
"format-icons": [
|
||||
"\udb86\ude4e",
|
||||
"\udb86\ude4f",
|
||||
"\udb86\ude50",
|
||||
"\udb86\ude51",
|
||||
"\udb86\ude52",
|
||||
"\udb86\ude53",
|
||||
"\udb86\ude54",
|
||||
"\udb86\ude55",
|
||||
"\udb81\udee8"
|
||||
],
|
||||
"tooltip-format": "{percent}%"
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "\uea71",
|
||||
"deactivated": "\ueabc"
|
||||
}
|
||||
},
|
||||
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"bat": "BAT0",
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-charging": "{icon} \udb81\udea5",
|
||||
"format-plugged": "{icon} \udb81\udea5",
|
||||
"format-critical": "{icon} \udb84\ude38",
|
||||
"format-warning": "{icon} \udb84\ude38",
|
||||
"format-icons": [
|
||||
"\udb80\udc7a",
|
||||
"\udb80\udc7c",
|
||||
"\udb80\udc7e",
|
||||
"\udb80\udc80",
|
||||
"\udb80\udc79"
|
||||
],
|
||||
"tooltip-format": "{capacity}% - {timeTo}",
|
||||
"on-click": "$HOME/.config/rofi/scripts/rs_power"
|
||||
},
|
||||
|
||||
"battery#bat2": {
|
||||
"bat": "BAT1",
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-charging": "{icon} \udb81\udea5",
|
||||
"format-plugged": "{icon} \udb81\udea5",
|
||||
"format-critical": "{icon} \udb84\ude38",
|
||||
"format-warning": "{icon} \udb84\ude38",
|
||||
"format-icons": [
|
||||
"\udb80\udc7a",
|
||||
"\udb80\udc7c",
|
||||
"\udb80\udc7e",
|
||||
"\udb80\udc80",
|
||||
"\udb80\udc79"
|
||||
],
|
||||
"tooltip-format": "{capacity}% - {timeTo}",
|
||||
"on-click": "$HOME/.config/fuzzel/scripts/rs_power"
|
||||
},
|
||||
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} \udb81\udda9",
|
||||
"format-ethernet": "{ipaddr}/{cidr} \udb80\ude00",
|
||||
"format-disconnected": "Disconnected \udb81\uddaa",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}",
|
||||
"format-wifi": "\udb81\udda9",
|
||||
"format-ethernet": "\udb80\ude00",
|
||||
"format-disconnected": "\udb80\udd5b",
|
||||
"tooltip-format": "{essid} ({signalStrength}%) - {ifname}: {ipaddr}/{cidr}",
|
||||
"on-click": "$HOME/.config/fuzzel/scripts/rs_wifi"
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format": "\udb82\udd54 {:%H:%M}",
|
||||
"format-alt": "\udb80\udcf5 {:%Y-%m-%d}"
|
||||
},
|
||||
|
||||
"custom/arrow1": {
|
259
config/waybar/style.css
Normal file
|
@ -0,0 +1,259 @@
|
|||
/* =====================================
|
||||
Colors (Gruvbox theme)
|
||||
===================================== */
|
||||
@define-color black #1d2021;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color orange #fe8019;
|
||||
@define-color blue #458588;
|
||||
@define-color purple #b16286;
|
||||
@define-color aqua #689d6a;
|
||||
@define-color gray #a89984;
|
||||
/* Brighter variants */
|
||||
@define-color brgray #928374;
|
||||
@define-color brred #fb4934;
|
||||
@define-color brgreen #b8bb26;
|
||||
@define-color bryellow #fabd2f;
|
||||
@define-color brblue #83a598;
|
||||
@define-color brpurple #d3869b;
|
||||
@define-color braqua #8ec07c;
|
||||
@define-color white #ebdbb2;
|
||||
@define-color bg2 #504945;
|
||||
/* Darker variants */
|
||||
@define-color drred #9d0006;
|
||||
@define-color drgreen #79740e;
|
||||
@define-color drpurple #8f3f71;
|
||||
@define-color drorange #af3a03;
|
||||
@define-color drgray #3c3836;
|
||||
@define-color drblue #076678;
|
||||
@define-color draqua #427b58;
|
||||
@define-color dryellow #b57614;
|
||||
|
||||
/* =====================================
|
||||
Color Definitions for Modules
|
||||
===================================== */
|
||||
@define-color critical @brred;
|
||||
@define-color unfocused @braqua;
|
||||
@define-color focused @red;
|
||||
@define-color inactive @drgray;
|
||||
@define-color idle @drgreen;
|
||||
@define-color backlight @dryellow;
|
||||
@define-color pulseaudio @drblue;
|
||||
@define-color powerprofile @drgreen;
|
||||
@define-color network @drred;
|
||||
@define-color language @drpurple;
|
||||
@define-color battery @drgreen;
|
||||
@define-color clock @draqua;
|
||||
@define-color wbackground rgba(29, 32, 33, 0.95);
|
||||
|
||||
/* =====================================
|
||||
Keyframes
|
||||
===================================== */
|
||||
@keyframes blink {
|
||||
to {
|
||||
color: @critical;
|
||||
}
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Reset Styles
|
||||
===================================== */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Button Styles
|
||||
===================================== */
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Prevent strange hover effect on workspace buttons */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
General Bar Styles
|
||||
===================================== */
|
||||
window#waybar {
|
||||
background-color: @wbackground;
|
||||
font-family: Symbols Nerd Font Mono, Mononoki Nerd Font;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Workspaces Module
|
||||
===================================== */
|
||||
#workspaces button {
|
||||
font-family: Symbols Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
padding: 0 2pt;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @white;
|
||||
background: @focused;
|
||||
}
|
||||
|
||||
#workspaces button.unfocused {
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @wbackground;
|
||||
background: @critical;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: @yellow;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Mode Module
|
||||
===================================== */
|
||||
#mode {
|
||||
background-color: @red;
|
||||
border-bottom: 3px solid @white;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Window Module
|
||||
===================================== */
|
||||
#window {
|
||||
color: @white;
|
||||
padding: 0 10px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Margins and Layout Adjustments
|
||||
===================================== */
|
||||
#window, #workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Individual Module Styles
|
||||
===================================== */
|
||||
#clock,
|
||||
#power-profiles-daemon,
|
||||
#battery,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#idle_inhibitor,
|
||||
#language {
|
||||
color: @white;
|
||||
padding: 0 1px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
#battery,
|
||||
#battery.charging,
|
||||
#battery.plugged {
|
||||
background-color: @battery;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
color: @white;
|
||||
animation: blink 0.5s linear infinite alternate;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: @backlight;
|
||||
}
|
||||
|
||||
#network,
|
||||
#network.disconnected {
|
||||
background-color: @network;
|
||||
}
|
||||
|
||||
#pulseaudio,
|
||||
#pulseaudio.muted {
|
||||
background-color: @pulseaudio;
|
||||
}
|
||||
|
||||
#language {
|
||||
background-color: @language;
|
||||
}
|
||||
|
||||
#power-profiles-daemon {
|
||||
background-color: @powerprofile;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: @clock;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: @battery;
|
||||
}
|
||||
|
||||
/* =====================================
|
||||
Modeline Arrows
|
||||
===================================== */
|
||||
#custom-arrow1,
|
||||
#custom-arrow2,
|
||||
#custom-arrow3,
|
||||
#custom-arrow4,
|
||||
#custom-arrow5,
|
||||
#custom-arrow6 {
|
||||
font-size: 25pt;
|
||||
}
|
||||
|
||||
/* Individual Modeline Arrow Styles */
|
||||
#custom-arrow1 {
|
||||
background: transparent;
|
||||
color: @language;
|
||||
}
|
||||
|
||||
#custom-arrow2 {
|
||||
background: @language;
|
||||
color: @pulseaudio;
|
||||
}
|
||||
|
||||
#custom-arrow3 {
|
||||
background: @pulseaudio;
|
||||
color: @backlight;
|
||||
}
|
||||
|
||||
#custom-arrow4 {
|
||||
background: @backlight;
|
||||
color: @battery;
|
||||
}
|
||||
|
||||
#custom-arrow5 {
|
||||
background: @battery;
|
||||
color: @network;
|
||||
}
|
||||
|
||||
#custom-arrow6 {
|
||||
background: @network;
|
||||
color: @clock;
|
||||
}
|
141
config/wget/wgetrc
Normal file
|
@ -0,0 +1,141 @@
|
|||
###
|
||||
### Sample Wget initialization file .wgetrc
|
||||
###
|
||||
|
||||
## You can use this file to change the default behaviour of wget or to
|
||||
## avoid having to type many many command-line options. This file does
|
||||
## not contain a comprehensive list of commands -- look at the manual
|
||||
## to find out what you can put into this file. You can find this here:
|
||||
## $ info wget.info 'Startup File'
|
||||
## Or online here:
|
||||
## https://www.gnu.org/software/wget/manual/wget.html#Startup-File
|
||||
##
|
||||
## Wget initialization file can reside in /usr/local/etc/wgetrc
|
||||
## (global, for all users) or $HOME/.wgetrc (for a single user).
|
||||
##
|
||||
## To use the settings in this file, you will have to uncomment them,
|
||||
## as well as change them, in most cases, as the values on the
|
||||
## commented-out lines are the default values (e.g. "off").
|
||||
##
|
||||
## Command are case-, underscore- and minus-insensitive.
|
||||
## For example ftp_proxy, ftp-proxy and ftpproxy are the same.
|
||||
|
||||
|
||||
##
|
||||
## Global settings (useful for setting up in /usr/local/etc/wgetrc).
|
||||
## Think well before you change them, since they may reduce wget's
|
||||
## functionality, and make it behave contrary to the documentation:
|
||||
##
|
||||
|
||||
# You can set retrieve quota for beginners by specifying a value
|
||||
# optionally followed by 'K' (kilobytes) or 'M' (megabytes). The
|
||||
# default quota is unlimited.
|
||||
#quota = inf
|
||||
|
||||
# You can lower (or raise) the default number of retries when
|
||||
# downloading a file (default is 20).
|
||||
#tries = 20
|
||||
|
||||
# Lowering the maximum depth of the recursive retrieval is handy to
|
||||
# prevent newbies from going too "deep" when they unwittingly start
|
||||
# the recursive retrieval. The default is 5.
|
||||
#reclevel = 5
|
||||
|
||||
# By default Wget uses "passive FTP" transfer where the client
|
||||
# initiates the data connection to the server rather than the other
|
||||
# way around. That is required on systems behind NAT where the client
|
||||
# computer cannot be easily reached from the Internet. However, some
|
||||
# firewalls software explicitly supports active FTP and in fact has
|
||||
# problems supporting passive transfer. If you are in such
|
||||
# environment, use "passive_ftp = off" to revert to active FTP.
|
||||
#passive_ftp = off
|
||||
|
||||
# The "wait" command below makes Wget wait between every connection.
|
||||
# If, instead, you want Wget to wait only between retries of failed
|
||||
# downloads, set waitretry to maximum number of seconds to wait (Wget
|
||||
# will use "linear backoff", waiting 1 second after the first failure
|
||||
# on a file, 2 seconds after the second failure, etc. up to this max).
|
||||
#waitretry = 10
|
||||
|
||||
|
||||
##
|
||||
## Local settings (for a user to set in his $HOME/.wgetrc). It is
|
||||
## *highly* undesirable to put these settings in the global file, since
|
||||
## they are potentially dangerous to "normal" users.
|
||||
##
|
||||
## Even when setting up your own ~/.wgetrc, you should know what you
|
||||
## are doing before doing so.
|
||||
##
|
||||
|
||||
# Set this to on to use timestamping by default:
|
||||
#timestamping = off
|
||||
|
||||
# It is a good idea to make Wget send your email address in a `From:'
|
||||
# header with your request (so that server administrators can contact
|
||||
# you in case of errors). Wget does *not* send `From:' by default.
|
||||
#header = From: Your Name <username@site.domain>
|
||||
|
||||
# You can set up other headers, like Accept-Language. Accept-Language
|
||||
# is *not* sent by default.
|
||||
#header = Accept-Language: en
|
||||
|
||||
# You can set the default proxies for Wget to use for http, https, and ftp.
|
||||
# They will override the value in the environment.
|
||||
#https_proxy = http://proxy.yoyodyne.com:18023/
|
||||
#http_proxy = http://proxy.yoyodyne.com:18023/
|
||||
#ftp_proxy = http://proxy.yoyodyne.com:18023/
|
||||
|
||||
# If you do not want to use proxy at all, set this to off.
|
||||
#use_proxy = on
|
||||
|
||||
# You can customize the retrieval outlook. Valid options are default,
|
||||
# binary, mega and micro.
|
||||
#dot_style = default
|
||||
|
||||
# Setting this to off makes Wget not download /robots.txt. Be sure to
|
||||
# know *exactly* what /robots.txt is and how it is used before changing
|
||||
# the default!
|
||||
#robots = on
|
||||
|
||||
# It can be useful to make Wget wait between connections. Set this to
|
||||
# the number of seconds you want Wget to wait.
|
||||
#wait = 0
|
||||
|
||||
# You can force creating directory structure, even if a single is being
|
||||
# retrieved, by setting this to on.
|
||||
#dirstruct = off
|
||||
|
||||
# You can turn on recursive retrieving by default (don't do this if
|
||||
# you are not sure you know what it means) by setting this to on.
|
||||
#recursive = off
|
||||
|
||||
# To always back up file X as X.orig before converting its links (due
|
||||
# to -k / --convert-links / convert_links = on having been specified),
|
||||
# set this variable to on:
|
||||
#backup_converted = off
|
||||
|
||||
# To have Wget follow FTP links from HTML files by default, set this
|
||||
# to on:
|
||||
#follow_ftp = off
|
||||
|
||||
# To try ipv6 addresses first:
|
||||
#prefer-family = IPv6
|
||||
|
||||
# Set default IRI support state
|
||||
#iri = off
|
||||
|
||||
# Force the default system encoding
|
||||
#localencoding = UTF-8
|
||||
|
||||
# Force the default remote server encoding
|
||||
#remoteencoding = UTF-8
|
||||
|
||||
# Turn on to prevent following non-HTTPS links when in recursive mode
|
||||
httpsonly = on
|
||||
|
||||
# Tune HTTPS security (auto, SSLv2, SSLv3, TLSv1, PFS)
|
||||
#secureprotocol = auto
|
||||
ca_certificate=/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
# Custom HSTS caching file path
|
||||
hsts-file=~/.config/wget/wget-hsts
|
303
config/yazi/keymap.toml
Normal file
|
@ -0,0 +1,303 @@
|
|||
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
|
||||
|
||||
[manager]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||
{ on = "q", run = "quit", desc = "Exit the process" },
|
||||
{ on = "Q", run = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it is last tab" },
|
||||
{ on = "<C-z>", run = "suspend", desc = "Suspend the process" },
|
||||
|
||||
# Hopping
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = [ "g", "g" ], run = "arrow -99999999", desc = "Move cursor to the top" },
|
||||
{ on = "G", run = "arrow 99999999", desc = "Move cursor to the bottom" },
|
||||
|
||||
# Navigation
|
||||
{ on = "h", run = "leave", desc = "Go back to the parent directory" },
|
||||
{ on = "l", run = "enter", desc = "Enter the child directory" },
|
||||
|
||||
{ on = "<Left>", run = "leave", desc = "Go back to the parent directory" },
|
||||
{ on = "<Right>", run = "enter", desc = "Enter the child directory" },
|
||||
|
||||
{ on = "H", run = "back", desc = "Go back to the previous directory" },
|
||||
{ on = "L", run = "forward", desc = "Go forward to the next directory" },
|
||||
|
||||
# Seeking
|
||||
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
|
||||
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
|
||||
|
||||
# Selection
|
||||
{ on = "<Space>", run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" },
|
||||
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
|
||||
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
|
||||
{ on = "<C-a>", run = "select_all --state=true", desc = "Select all files" },
|
||||
{ on = "<C-r>", run = "select_all --state=none", desc = "Inverse selection of all files" },
|
||||
|
||||
# Operation
|
||||
{ on = "o", run = "open", desc = "Open selected files" },
|
||||
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "<Enter>", run = "open", desc = "Open selected files" },
|
||||
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
|
||||
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
|
||||
{ on = "p", run = "paste", desc = "Paste yanked files" },
|
||||
{ on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" },
|
||||
{ on = "-", run = "link", desc = "Symlink the absolute path of yanked files" },
|
||||
{ on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" },
|
||||
{ on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" },
|
||||
{ on = "Y", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "X", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "d", run = "remove", desc = "Trash selected files" },
|
||||
{ on = "D", run = "remove --permanently", desc = "Permanently delete selected files" },
|
||||
{ on = "a", run = "create", desc = "Create a file (ends with / for directories)" },
|
||||
{ on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" },
|
||||
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
|
||||
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
|
||||
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
|
||||
{ on = "s", run = "search fd", desc = "Search files by name using fd" },
|
||||
{ on = "S", run = "search rg", desc = "Search files by content using ripgrep" },
|
||||
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
|
||||
{ on = "z", run = "plugin zoxide", desc = "Jump to a directory using zoxide" },
|
||||
{ on = "Z", run = "plugin fzf", desc = "Jump to a directory or reveal a file using fzf" },
|
||||
|
||||
# Linemode
|
||||
{ on = [ "m", "s" ], run = "linemode size", desc = "Set linemode to size" },
|
||||
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Set linemode to permissions" },
|
||||
{ on = [ "m", "c" ], run = "linemode ctime", desc = "Set linemode to ctime" },
|
||||
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Set linemode to mtime" },
|
||||
{ on = [ "m", "o" ], run = "linemode owner", desc = "Set linemode to owner" },
|
||||
{ on = [ "m", "n" ], run = "linemode none", desc = "Set linemode to none" },
|
||||
|
||||
# Copy
|
||||
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
|
||||
{ on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" },
|
||||
{ on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" },
|
||||
{ on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" },
|
||||
|
||||
# Filter
|
||||
{ on = "f", run = "filter --smart", desc = "Filter files" },
|
||||
|
||||
# Find
|
||||
{ on = "/", run = "find --smart", desc = "Find next file" },
|
||||
{ on = "?", run = "find --previous --smart", desc = "Find previous file" },
|
||||
{ on = "n", run = "find_arrow", desc = "Go to the next found" },
|
||||
{ on = "N", run = "find_arrow --previous", desc = "Go to the previous found" },
|
||||
|
||||
# Sorting
|
||||
{ on = [ ",", "m" ], run = [ "sort modified --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
|
||||
{ on = [ ",", "M" ], run = [ "sort modified --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
|
||||
{ on = [ ",", "c" ], run = [ "sort created --reverse=no", "linemode ctime" ], desc = "Sort by created time" },
|
||||
{ on = [ ",", "C" ], run = [ "sort created --reverse", "linemode ctime" ], desc = "Sort by created time (reverse)" },
|
||||
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
|
||||
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
|
||||
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
|
||||
{ on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" },
|
||||
{ on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" },
|
||||
{ on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" },
|
||||
{ on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" },
|
||||
{ on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" },
|
||||
{ on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" },
|
||||
|
||||
# Goto
|
||||
{ on = [ "g", "h" ], run = "cd ~", desc = "Go to the home directory" },
|
||||
{ on = [ "g", "c" ], run = "cd ~/.config", desc = "Go to the config directory" },
|
||||
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Go to the downloads directory" },
|
||||
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Go to a directory interactively" },
|
||||
|
||||
# Tabs
|
||||
{ on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" },
|
||||
|
||||
{ on = "1", run = "tab_switch 0", desc = "Switch to the first tab" },
|
||||
{ on = "2", run = "tab_switch 1", desc = "Switch to the second tab" },
|
||||
{ on = "3", run = "tab_switch 2", desc = "Switch to the third tab" },
|
||||
{ on = "4", run = "tab_switch 3", desc = "Switch to the fourth tab" },
|
||||
{ on = "5", run = "tab_switch 4", desc = "Switch to the fifth tab" },
|
||||
{ on = "6", run = "tab_switch 5", desc = "Switch to the sixth tab" },
|
||||
{ on = "7", run = "tab_switch 6", desc = "Switch to the seventh tab" },
|
||||
{ on = "8", run = "tab_switch 7", desc = "Switch to the eighth tab" },
|
||||
{ on = "9", run = "tab_switch 8", desc = "Switch to the ninth tab" },
|
||||
|
||||
{ on = "[", run = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
|
||||
{ on = "]", run = "tab_switch 1 --relative", desc = "Switch to the next tab" },
|
||||
|
||||
{ on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" },
|
||||
{ on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" },
|
||||
|
||||
# Tasks
|
||||
{ on = "w", run = "tasks_show", desc = "Show task manager" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-[>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close task manager" },
|
||||
{ on = "w", run = "close", desc = "Close task manager" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Enter>", run = "inspect", desc = "Inspect the task" },
|
||||
{ on = "x", run = "cancel", desc = "Cancel the task" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[select]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Cancel selection" },
|
||||
{ on = "<C-[>", run = "close", desc = "Cancel selection" },
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel selection" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the selection" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[input]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel input" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the input" },
|
||||
{ on = "<Esc>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||
|
||||
# Mode
|
||||
{ on = "i", run = "insert", desc = "Enter insert mode" },
|
||||
{ on = "a", run = "insert --append", desc = "Enter append mode" },
|
||||
{ on = "I", run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" },
|
||||
{ on = "A", run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
|
||||
{ on = "v", run = "visual", desc = "Enter visual mode" },
|
||||
{ on = "V", run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" },
|
||||
|
||||
# Character-wise movement
|
||||
{ on = "h", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "l", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<Left>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<Right>", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<C-b>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<C-f>", run = "move 1", desc = "Move forward a character" },
|
||||
|
||||
# Word-wise movement
|
||||
{ on = "b", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "w", run = "forward", desc = "Move forward to the start of the next word" },
|
||||
{ on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
{ on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
|
||||
# Line-wise movement
|
||||
{ on = "0", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "$", run = "move 999", desc = "Move to the EOL" },
|
||||
{ on = "<C-a>", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "<C-e>", run = "move 999", desc = "Move to the EOL" },
|
||||
{ on = "<Home>", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "<End>", run = "move 999", desc = "Move to the EOL" },
|
||||
|
||||
# Delete
|
||||
{ on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
{ on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
|
||||
# Kill
|
||||
{ on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" },
|
||||
{ on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" },
|
||||
{ on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" },
|
||||
{ on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" },
|
||||
|
||||
# Cut/Yank/Paste
|
||||
{ on = "d", run = "delete --cut", desc = "Cut the selected characters" },
|
||||
{ on = "D", run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" },
|
||||
{ on = "c", run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
|
||||
{ on = "C", run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" },
|
||||
{ on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" },
|
||||
{ on = "y", run = "yank", desc = "Copy the selected characters" },
|
||||
{ on = "p", run = "paste", desc = "Paste the copied characters after the cursor" },
|
||||
{ on = "P", run = "paste --before", desc = "Paste the copied characters before the cursor" },
|
||||
|
||||
# Undo/Redo
|
||||
{ on = "u", run = "undo", desc = "Undo the last operation" },
|
||||
{ on = "<C-r>", run = "redo", desc = "Redo the last operation" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[completion]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel completion" },
|
||||
{ on = "<Tab>", run = "close --submit", desc = "Submit the completion" },
|
||||
{ on = "<Enter>", run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" },
|
||||
|
||||
{ on = "<A-k>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<A-j>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<C-p>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<C-n>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[help]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "q", run = "close", desc = "Exit the process" },
|
||||
{ on = "<C-c>", run = "close", desc = "Hide the help" },
|
||||
|
||||
# Navigation
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Filtering
|
||||
{ on = "f", run = "filter", desc = "Apply a filter for the help items" },
|
||||
]
|
146
config/yazi/theme.toml
Normal file
|
@ -0,0 +1,146 @@
|
|||
# vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
# : Manager {{{
|
||||
|
||||
[manager]
|
||||
cwd = { fg = "#83a598" }
|
||||
|
||||
# Hovered
|
||||
hovered = { fg = "#282828", bg = "#83a598" }
|
||||
preview_hovered = { underline = true }
|
||||
|
||||
# Find
|
||||
find_keyword = { fg = "#b8bb26", italic = true }
|
||||
find_position = { fg = "#fe8019", bg = "reset", italic = true }
|
||||
|
||||
# Marker
|
||||
marker_selected = { fg = "#b8bb26", bg = "#b8bb26" }
|
||||
marker_copied = { fg = "#b8bb26", bg = "#b8bb26" }
|
||||
marker_cut = { fg = "#fb4934", bg = "#fb4934" }
|
||||
|
||||
# Tab
|
||||
tab_active = { fg = "#282828", bg = "#504945" }
|
||||
tab_inactive = { fg = "#a89984", bg = "#3c3836" }
|
||||
tab_width = 1
|
||||
|
||||
# Border
|
||||
border_symbol = "│"
|
||||
border_style = { fg = "#665c54" }
|
||||
|
||||
# Highlighting
|
||||
# syntect_theme = "~/.config/yazi/Gruvbox-Dark.tmTheme"
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Status {{{
|
||||
|
||||
[status]
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
separator_style = { fg = "#3c3836", bg = "#3c3836" }
|
||||
|
||||
# Mode
|
||||
mode_normal = { fg = "#282828", bg = "#A89984", bold = true }
|
||||
mode_select = { fg = "#282828", bg = "#b8bb26", bold = true }
|
||||
mode_unset = { fg = "#282828", bg = "#d3869b", bold = true }
|
||||
|
||||
# Progress
|
||||
progress_label = { fg = "#ebdbb2", bold = true }
|
||||
progress_normal = { fg = "#504945", bg = "#3c3836" }
|
||||
progress_error = { fg = "#fb4934", bg = "#3c3836" }
|
||||
|
||||
# Permissions
|
||||
permissions_t = { fg = "#504945" }
|
||||
permissions_r = { fg = "#b8bb26" }
|
||||
permissions_w = { fg = "#fb4934" }
|
||||
permissions_x = { fg = "#b8bb26" }
|
||||
permissions_s = { fg = "#665c54" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Input {{{
|
||||
|
||||
[input]
|
||||
border = { fg = "#bdae93" }
|
||||
title = {}
|
||||
value = {}
|
||||
selected = { reversed = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Select {{{
|
||||
|
||||
[select]
|
||||
border = { fg = "#504945" }
|
||||
active = { fg = "#fe8019" }
|
||||
inactive = {}
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Tasks {{{
|
||||
|
||||
[tasks]
|
||||
border = { fg = "#504945" }
|
||||
title = {}
|
||||
hovered = { underline = true }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Which {{{
|
||||
|
||||
[which]
|
||||
mask = { bg = "#3c3836" }
|
||||
cand = { fg = "#83a598" }
|
||||
rest = { fg = "#928374" }
|
||||
desc = { fg = "#fe8019" }
|
||||
separator = " "
|
||||
separator_style = { fg = "#504945" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : Help {{{
|
||||
|
||||
[help]
|
||||
on = { fg = "#fe8019" }
|
||||
exec = { fg = "#83a598" }
|
||||
desc = { fg = "#928374" }
|
||||
hovered = { bg = "#504945", bold = true }
|
||||
footer = { fg = "#3c3836", bg = "#a89984" }
|
||||
|
||||
# : }}}
|
||||
|
||||
|
||||
# : File-specific styles {{{
|
||||
|
||||
[filetype]
|
||||
|
||||
rules = [
|
||||
# Images
|
||||
{ mime = "image/*", fg = "#83a598" },
|
||||
|
||||
# Videos
|
||||
{ mime = "video/*", fg = "#b8bb26" },
|
||||
{ mime = "audio/*", fg = "#b8bb26" },
|
||||
|
||||
# Archives
|
||||
{ mime = "application/zip", fg = "#fe8019" },
|
||||
{ mime = "application/gzip", fg = "#fe8019" },
|
||||
{ mime = "application/x-tar", fg = "#fe8019" },
|
||||
{ mime = "application/x-bzip", fg = "#fe8019" },
|
||||
{ mime = "application/x-bzip2", fg = "#fe8019" },
|
||||
{ mime = "application/x-7z-compressed", fg = "#fe8019" },
|
||||
{ mime = "application/x-rar", fg = "#fe8019" },
|
||||
|
||||
# Fallback
|
||||
{ name = "*", fg = "#a89984" },
|
||||
{ name = "*/", fg = "#83a598" }
|
||||
]
|
||||
|
||||
# : }}}
|
||||
|
201
config/yazi/yazi.toml
Normal file
|
@ -0,0 +1,201 @@
|
|||
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||
|
||||
[manager]
|
||||
ratio = [ 1, 4, 3 ]
|
||||
sort_by = "natural"
|
||||
sort_sensitive = false
|
||||
sort_reverse = false
|
||||
sort_dir_first = true
|
||||
sort_translit = false
|
||||
linemode = "none"
|
||||
show_hidden = false
|
||||
show_symlink = true
|
||||
scrolloff = 5
|
||||
mouse_events = [ "click", "scroll" ]
|
||||
title_format = "Yazi: {cwd}"
|
||||
|
||||
[preview]
|
||||
tab_size = 2
|
||||
max_width = 600
|
||||
max_height = 900
|
||||
cache_dir = ""
|
||||
image_filter = "triangle"
|
||||
image_quality = 75
|
||||
sixel_fraction = 15
|
||||
ueberzug_scale = 1
|
||||
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||
|
||||
[opener]
|
||||
edit = [
|
||||
{ run = '${EDITOR:-vi} "$@"', desc = "$EDITOR", block = true, for = "unix" },
|
||||
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
|
||||
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
|
||||
]
|
||||
open = [
|
||||
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
|
||||
{ run = 'open "$@"', desc = "Open", for = "macos" },
|
||||
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
|
||||
]
|
||||
reveal = [
|
||||
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
|
||||
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
|
||||
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
|
||||
]
|
||||
extract = [
|
||||
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
|
||||
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
|
||||
]
|
||||
play = [
|
||||
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
|
||||
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
|
||||
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
|
||||
]
|
||||
|
||||
[open]
|
||||
rules = [
|
||||
# Folder
|
||||
{ name = "*/", use = [ "edit", "open", "reveal" ] },
|
||||
# Text
|
||||
{ mime = "text/*", use = [ "edit", "reveal" ] },
|
||||
# Image
|
||||
{ mime = "image/*", use = [ "open", "reveal" ] },
|
||||
# Media
|
||||
{ mime = "{audio,video}/*", use = [ "play", "reveal" ] },
|
||||
# Archive
|
||||
{ mime = "application/{,g}zip", use = [ "extract", "reveal" ] },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", use = [ "extract", "reveal" ] },
|
||||
# JSON
|
||||
{ mime = "application/{json,x-ndjson}", use = [ "edit", "reveal" ] },
|
||||
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
|
||||
# Empty file
|
||||
{ mime = "inode/x-empty", use = [ "edit", "reveal" ] },
|
||||
# Fallback
|
||||
{ name = "*", use = [ "open", "reveal" ] },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
micro_workers = 10
|
||||
macro_workers = 25
|
||||
bizarre_retry = 5
|
||||
image_alloc = 536870912 # 512MB
|
||||
image_bound = [ 0, 0 ]
|
||||
suppress_preload = false
|
||||
|
||||
[plugin]
|
||||
|
||||
fetchers = [
|
||||
# Mimetype
|
||||
{ id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
|
||||
]
|
||||
preloaders = [
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# PDF
|
||||
{ mime = "application/pdf", run = "pdf" },
|
||||
# Font
|
||||
{ mime = "font/*", run = "font" },
|
||||
{ mime = "application/vnd.ms-opentype", run = "font" },
|
||||
]
|
||||
previewers = [
|
||||
{ name = "*/", run = "folder", sync = true },
|
||||
# Code
|
||||
{ mime = "text/*", run = "code" },
|
||||
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
|
||||
# JSON
|
||||
{ mime = "application/{json,x-ndjson}", run = "json" },
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# PDF
|
||||
{ mime = "application/pdf", run = "pdf" },
|
||||
# Archive
|
||||
{ mime = "application/{,g}zip", run = "archive" },
|
||||
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar,iso9660-image}", run = "archive" },
|
||||
# Font
|
||||
{ mime = "font/*", run = "font" },
|
||||
{ mime = "application/vnd.ms-opentype", run = "font" },
|
||||
# Empty file
|
||||
{ mime = "inode/x-empty", run = "empty" },
|
||||
# Fallback
|
||||
{ name = "*", run = "file" },
|
||||
]
|
||||
|
||||
[input]
|
||||
cursor_blink = false
|
||||
|
||||
# cd
|
||||
cd_title = "Change directory:"
|
||||
cd_origin = "top-center"
|
||||
cd_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# create
|
||||
create_title = "Create:"
|
||||
create_origin = "top-center"
|
||||
create_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# rename
|
||||
rename_title = "Rename:"
|
||||
rename_origin = "hovered"
|
||||
rename_offset = [ 0, 1, 50, 3 ]
|
||||
|
||||
# trash
|
||||
trash_title = "Move {n} selected file{s} to trash? (y/N)"
|
||||
trash_origin = "top-center"
|
||||
trash_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# delete
|
||||
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
|
||||
delete_origin = "top-center"
|
||||
delete_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# filter
|
||||
filter_title = "Filter:"
|
||||
filter_origin = "top-center"
|
||||
filter_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# find
|
||||
find_title = [ "Find next:", "Find previous:" ]
|
||||
find_origin = "top-center"
|
||||
find_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# search
|
||||
search_title = "Search via {n}:"
|
||||
search_origin = "top-center"
|
||||
search_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# shell
|
||||
shell_title = [ "Shell:", "Shell (block):" ]
|
||||
shell_origin = "top-center"
|
||||
shell_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# overwrite
|
||||
overwrite_title = "Overwrite an existing file? (y/N)"
|
||||
overwrite_origin = "top-center"
|
||||
overwrite_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# quit
|
||||
quit_title = "{n} task{s} running, sure to quit? (y/N)"
|
||||
quit_origin = "top-center"
|
||||
quit_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
[select]
|
||||
open_title = "Open with:"
|
||||
open_origin = "hovered"
|
||||
open_offset = [ 0, 1, 50, 7 ]
|
||||
|
||||
[which]
|
||||
sort_by = "none"
|
||||
sort_sensitive = false
|
||||
sort_reverse = false
|
||||
sort_translit = false
|
||||
|
||||
[log]
|
||||
enabled = false
|
348
etc/bluetooth/main.conf
Normal file
|
@ -0,0 +1,348 @@
|
|||
[General]
|
||||
|
||||
# Default adapter name
|
||||
# Defaults to 'BlueZ X.YZ'
|
||||
#Name = BlueZ
|
||||
|
||||
# Default device class. Only the major and minor device class bits are
|
||||
# considered. Defaults to '0x000000'.
|
||||
#Class = 0x000100
|
||||
|
||||
# How long to stay in discoverable mode before going back to non-discoverable
|
||||
# The value is in seconds. Default is 180, i.e. 3 minutes.
|
||||
# 0 = disable timer, i.e. stay discoverable forever
|
||||
#DiscoverableTimeout = 0
|
||||
|
||||
# Always allow pairing even if there are no agent registered
|
||||
# Possible values: true, false
|
||||
# Default: false
|
||||
#AlwaysPairable = false
|
||||
|
||||
# How long to stay in pairable mode before going back to non-discoverable
|
||||
# The value is in seconds. Default is 0.
|
||||
# 0 = disable timer, i.e. stay pairable forever
|
||||
#PairableTimeout = 0
|
||||
|
||||
# Use vendor id source (assigner), vendor, product and version information for
|
||||
# DID profile support. The values are separated by ":" and assigner, VID, PID
|
||||
# and version.
|
||||
# Possible vendor id source values: bluetooth, usb (default) or false (disabled)
|
||||
#DeviceID = bluetooth:1234:5678:abcd
|
||||
|
||||
# Do reverse service discovery for previously unknown devices that connect to
|
||||
# us. For BR/EDR this option is really only needed for qualification since the
|
||||
# BITE tester doesn't like us doing reverse SDP for some test cases, for LE
|
||||
# this disables the GATT client functionally so it can be used in system which
|
||||
# can only operate as peripheral (see also GATT Client option).
|
||||
# Defaults to 'true'.
|
||||
#ReverseServiceDiscovery = true
|
||||
|
||||
# Enable name resolving after inquiry. Set it to 'false' if you don't need
|
||||
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
|
||||
#NameResolving = true
|
||||
|
||||
# Enable runtime persistency of debug link keys. Default is false which
|
||||
# makes debug link keys valid only for the duration of the connection
|
||||
# that they were created for.
|
||||
#DebugKeys = false
|
||||
|
||||
# Restricts all controllers to the specified transport. Default value
|
||||
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
|
||||
# Possible values: "dual", "bredr", "le"
|
||||
#ControllerMode = dual
|
||||
|
||||
# Maximum number of controllers allowed to be exposed to the system.
|
||||
# Default=0 (unlimited)
|
||||
#MaxControllers=0
|
||||
|
||||
# Enables Multi Profile Specification support. This allows to specify if
|
||||
# system supports only Multiple Profiles Single Device (MPSD) configuration
|
||||
# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
|
||||
# Devices (MPMD) configurations.
|
||||
# Possible values: "off", "single", "multiple"
|
||||
#MultiProfile = off
|
||||
|
||||
# Permanently enables the Fast Connectable setting for adapters that
|
||||
# support it. When enabled other devices can connect faster to us,
|
||||
# however the tradeoff is increased power consumptions. This feature
|
||||
# will fully work only on kernel version 4.1 and newer. Defaults to
|
||||
# 'false'.
|
||||
#FastConnectable = false
|
||||
|
||||
# Default privacy setting.
|
||||
# Enables use of private address.
|
||||
# Possible values for LE mode: "off", "network/on", "device"
|
||||
# Possible values for Dual mode: "off", "network/on", "device",
|
||||
# "limited-network", "limited-device"
|
||||
#
|
||||
# - off: Local privacy disabled.
|
||||
#
|
||||
# - network/on: A device will only accept advertising packets from peer
|
||||
# devices that contain private addresses. It may not be compatible with some
|
||||
# legacy devices since it requires the use of RPA(s) all the time.
|
||||
#
|
||||
# - device: A device in device privacy mode is only concerned about the
|
||||
# privacy of the device and will accept advertising packets from peer devices
|
||||
# that contain their Identity Address as well as ones that contain a private
|
||||
# address, even if the peer device has distributed its IRK in the past.
|
||||
|
||||
# - limited-network: Apply Limited Discoverable Mode to advertising, which
|
||||
# follows the same policy as to BR/EDR that publishes the identity address when
|
||||
# discoverable, and Network Privacy Mode for scanning.
|
||||
#
|
||||
# - limited-device: Apply Limited Discoverable Mode to advertising, which
|
||||
# follows the same policy as to BR/EDR that publishes the identity address when
|
||||
# discoverable, and Device Privacy Mode for scanning.
|
||||
#
|
||||
# Defaults to "off"
|
||||
#Privacy = off
|
||||
|
||||
# Specify the policy to the JUST-WORKS repairing initiated by peer
|
||||
# Possible values: "never", "confirm", "always"
|
||||
# Defaults to "never"
|
||||
#JustWorksRepairing = never
|
||||
|
||||
# How long to keep temporary devices around
|
||||
# The value is in seconds. Default is 30.
|
||||
# 0 = disable timer, i.e. never keep temporary devices
|
||||
#TemporaryTimeout = 30
|
||||
|
||||
# Enables the device to issue an SDP request to update known services when
|
||||
# profile is connected. Defaults to true.
|
||||
#RefreshDiscovery = true
|
||||
|
||||
# Default Secure Connections setting.
|
||||
# Enables the Secure Connections setting for adapters that support it. It
|
||||
# provides better crypto algorithms for BT links and also enables CTKD (cross
|
||||
# transport key derivation) during pairing on any link.
|
||||
# Possible values: "off", "on", "only"
|
||||
# - "off": Secure Connections are disabled
|
||||
# - "on": Secure Connections are enabled when peer device supports them
|
||||
# - "only": we allow only Secure Connections
|
||||
# Defaults to "on"
|
||||
#SecureConnections = on
|
||||
|
||||
# Enables D-Bus experimental interfaces
|
||||
# Possible values: true or false
|
||||
#Experimental = false
|
||||
|
||||
# Enables D-Bus testing interfaces
|
||||
# Possible values: true or false
|
||||
#Testing = false
|
||||
|
||||
# Enables kernel experimental features, alternatively a list of UUIDs
|
||||
# can be given.
|
||||
# Possible values: true,false,<UUID List>
|
||||
# Possible UUIDS:
|
||||
# d4992530-b9ec-469f-ab01-6c481c47da1c (BlueZ Experimental Debug)
|
||||
# 671b10b5-42c0-4696-9227-eb28d1b049d6 (BlueZ Experimental Simultaneous Central and Peripheral)
|
||||
# 15c0a148-c273-11ea-b3de-0242ac130004 (BlueZ Experimental LL privacy)
|
||||
# 330859bc-7506-492d-9370-9a6f0614037f (BlueZ Experimental Bluetooth Quality Report)
|
||||
# a6695ace-ee7f-4fb9-881a-5fac66c629af (BlueZ Experimental Offload Codecs)
|
||||
# 6fbaf188-05e0-496a-9885-d6ddfdb4e03e (BlueZ Experimental ISO socket)
|
||||
# Defaults to false.
|
||||
#KernelExperimental = false
|
||||
|
||||
# The duration to avoid retrying to resolve a peer's name, if the previous
|
||||
# try failed.
|
||||
# The value is in seconds. Default is 300, i.e. 5 minutes.
|
||||
#RemoteNameRequestRetryDelay = 300
|
||||
|
||||
[BR]
|
||||
# The following values are used to load default adapter parameters for BR/EDR.
|
||||
# BlueZ loads the values into the kernel before the adapter is powered if the
|
||||
# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
|
||||
# provided, the kernel will be initialized to it's default value. The actual
|
||||
# value will vary based on the kernel version and thus aren't provided here.
|
||||
# The Bluetooth Core Specification should be consulted for the meaning and valid
|
||||
# domain of each of these values.
|
||||
|
||||
# BR/EDR Page scan activity configuration
|
||||
#PageScanType=
|
||||
#PageScanInterval=
|
||||
#PageScanWindow=
|
||||
|
||||
# BR/EDR Inquiry scan activity configuration
|
||||
#InquiryScanType=
|
||||
#InquiryScanInterval=
|
||||
#InquiryScanWindow=
|
||||
|
||||
# BR/EDR Link supervision timeout
|
||||
#LinkSupervisionTimeout=
|
||||
|
||||
# BR/EDR Page Timeout
|
||||
#PageTimeout=
|
||||
|
||||
# BR/EDR Sniff Intervals
|
||||
#MinSniffInterval=
|
||||
#MaxSniffInterval=
|
||||
|
||||
[LE]
|
||||
# The following values are used to load default adapter parameters for LE.
|
||||
# BlueZ loads the values into the kernel before the adapter is powered if the
|
||||
# kernel supports the MGMT_LOAD_DEFAULT_PARAMETERS command. If a value isn't
|
||||
# provided, the kernel will be initialized to it's default value. The actual
|
||||
# value will vary based on the kernel version and thus aren't provided here.
|
||||
# The Bluetooth Core Specification should be consulted for the meaning and valid
|
||||
# domain of each of these values.
|
||||
# LE advertisement interval (used for legacy advertisement interface only)
|
||||
#MinAdvertisementInterval=
|
||||
#MaxAdvertisementInterval=
|
||||
#MultiAdvertisementRotationInterval=
|
||||
|
||||
# LE scanning parameters used for passive scanning supporting auto connect
|
||||
# scenarios
|
||||
#ScanIntervalAutoConnect=
|
||||
#ScanWindowAutoConnect=
|
||||
|
||||
# LE scanning parameters used for passive scanning supporting wake from suspend
|
||||
# scenarios
|
||||
#ScanIntervalSuspend=
|
||||
#ScanWindowSuspend=
|
||||
|
||||
# LE scanning parameters used for active scanning supporting discovery
|
||||
# proceedure
|
||||
#ScanIntervalDiscovery=
|
||||
#ScanWindowDiscovery=
|
||||
|
||||
# LE scanning parameters used for passive scanning supporting the advertisement
|
||||
# monitor Apis
|
||||
#ScanIntervalAdvMonitor=
|
||||
#ScanWindowAdvMonitor=
|
||||
|
||||
# LE scanning parameters used for connection establishment.
|
||||
#ScanIntervalConnect=
|
||||
#ScanWindowConnect=
|
||||
|
||||
# LE default connection parameters. These values are superceeded by any
|
||||
# specific values provided via the Load Connection Parameters interface
|
||||
#MinConnectionInterval=
|
||||
#MaxConnectionInterval=
|
||||
#ConnectionLatency=
|
||||
#ConnectionSupervisionTimeout=
|
||||
#Autoconnecttimeout=
|
||||
|
||||
# Scan duration during interleaving scan. Only used when scanning for ADV
|
||||
# monitors. The units are msec.
|
||||
# Default: 300
|
||||
#AdvMonAllowlistScanDuration=
|
||||
# Default: 500
|
||||
#AdvMonNoFilterScanDuration=
|
||||
|
||||
# Enable/Disable Advertisement Monitor interleave scan for power saving.
|
||||
# 0: disable
|
||||
# 1: enable
|
||||
# Defaults to 1
|
||||
#EnableAdvMonInterleaveScan=
|
||||
|
||||
[GATT]
|
||||
# GATT attribute cache.
|
||||
# Possible values:
|
||||
# always: Always cache attributes even for devices not paired, this is
|
||||
# recommended as it is best for interoperability, with more consistent
|
||||
# reconnection times and enables proper tracking of notifications for all
|
||||
# devices.
|
||||
# yes: Only cache attributes of paired devices.
|
||||
# no: Never cache attributes
|
||||
# Default: always
|
||||
#Cache = always
|
||||
|
||||
# Minimum required Encryption Key Size for accessing secured characteristics.
|
||||
# Possible values: 0 and 7-16. 0 means don't care.
|
||||
# Defaults to 0
|
||||
#KeySize = 0
|
||||
|
||||
# Exchange MTU size.
|
||||
# Possible values: 23-517
|
||||
# Defaults to 517
|
||||
#ExchangeMTU = 517
|
||||
|
||||
# Number of ATT channels
|
||||
# Possible values: 1-5 (1 disables EATT)
|
||||
# Default to 1
|
||||
#Channels = 1
|
||||
|
||||
[CSIS]
|
||||
# SIRK - Set Identification Resolution Key which is common for all the
|
||||
# sets. They SIRK key is used to identify its sets. This can be any
|
||||
# 128 bit value or a string value (e.g. product name) which is then hashed.
|
||||
# Possible Values:
|
||||
# 16 byte hexadecimal value: 861FAE703ED681F0C50B34155B6434FB
|
||||
# String value: "My Product Name"
|
||||
# Defaults to none
|
||||
#SIRK =
|
||||
|
||||
# SIRK Encryption
|
||||
# Possible values:
|
||||
# true: Encrypt SIRK when read
|
||||
# false: Do not encrypt SIRK when read. (plaintext)
|
||||
# Defaults to true
|
||||
#Encryption = true
|
||||
|
||||
# Total no of sets belongs to this Profile
|
||||
# Defaults to 0
|
||||
#Size = 0
|
||||
|
||||
# Rank for the device
|
||||
# Defaults to 0
|
||||
#Rank = 0
|
||||
|
||||
# This enables the GATT client functionally, so it can be disabled in system
|
||||
# which can only operate as a peripheral.
|
||||
# Defaults to 'true'.
|
||||
#Client = true
|
||||
|
||||
[AVDTP]
|
||||
# AVDTP L2CAP Signalling Channel Mode.
|
||||
# Possible values:
|
||||
# basic: Use L2CAP Basic Mode
|
||||
# ertm: Use L2CAP Enhanced Retransmission Mode
|
||||
#SessionMode = basic
|
||||
|
||||
# AVDTP L2CAP Transport Channel Mode.
|
||||
# Possible values:
|
||||
# basic: Use L2CAP Basic Mode
|
||||
# streaming: Use L2CAP Streaming Mode
|
||||
#StreamMode = basic
|
||||
|
||||
[Policy]
|
||||
#
|
||||
# The ReconnectUUIDs defines the set of remote services that should try
|
||||
# to be reconnected to in case of a link loss (link supervision
|
||||
# timeout). The policy plugin should contain a sane set of values by
|
||||
# default, but this list can be overridden here. By setting the list to
|
||||
# empty the reconnection feature gets disabled.
|
||||
#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb,0000110b-0000-1000-8000-00805f9b34fb
|
||||
|
||||
# ReconnectAttempts define the number of attempts to reconnect after a link
|
||||
# lost. Setting the value to 0 disables reconnecting feature.
|
||||
#ReconnectAttempts=7
|
||||
|
||||
# ReconnectIntervals define the set of intervals in seconds to use in between
|
||||
# attempts.
|
||||
# If the number of attempts defined in ReconnectAttempts is bigger than the
|
||||
# set of intervals the last interval is repeated until the last attempt.
|
||||
#ReconnectIntervals=1,2,4,8,16,32,64
|
||||
|
||||
# AutoEnable defines option to enable all controllers when they are found.
|
||||
# This includes adapters present on start as well as adapters that are plugged
|
||||
# in later on. Defaults to 'true'.
|
||||
AutoEnable=false
|
||||
|
||||
# Audio devices that were disconnected due to suspend will be reconnected on
|
||||
# resume. ResumeDelay determines the delay between when the controller
|
||||
# resumes from suspend and a connection attempt is made. A longer delay is
|
||||
# better for better co-existence with Wi-Fi.
|
||||
# The value is in seconds.
|
||||
# Default: 2
|
||||
#ResumeDelay = 2
|
||||
|
||||
[AdvMon]
|
||||
# Default RSSI Sampling Period. This is used when a client registers an
|
||||
# advertisement monitor and leaves the RSSISamplingPeriod unset.
|
||||
# Possible values:
|
||||
# 0x00 Report all advertisements
|
||||
# N = 0xXX Report advertisements every N x 100 msec (range: 0x01 to 0xFE)
|
||||
# 0xFF Report only one advertisement per device during monitoring period
|
||||
# Default: 0xFF
|
||||
#RSSISamplingPeriod=0xFF
|
63
etc/default/grub
Normal file
|
@ -0,0 +1,63 @@
|
|||
# GRUB boot loader configuration
|
||||
|
||||
GRUB_DEFAULT=0
|
||||
GRUB_TIMEOUT=2
|
||||
GRUB_DISTRIBUTOR="Arch"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=<uuid>=<lvmname> rd.luks.key=<uuid>=<path_to_key> loglevel=3 quiet systemd.show_status=auto rd.udev.log_level=3 splash"
|
||||
GRUB_CMDLINE_LINUX=""
|
||||
|
||||
# Preload both GPT and MBR modules so that they are not missed
|
||||
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
|
||||
|
||||
# Uncomment to enable booting from LUKS encrypted devices
|
||||
GRUB_ENABLE_CRYPTODISK=y
|
||||
|
||||
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
||||
# press ESC key to display menu.
|
||||
GRUB_TIMEOUT_STYLE=hidden
|
||||
|
||||
# Uncomment to use basic console
|
||||
GRUB_TERMINAL_INPUT=console
|
||||
|
||||
# Uncomment to disable graphical terminal
|
||||
#GRUB_TERMINAL_OUTPUT=console
|
||||
|
||||
# The resolution used on graphical terminal
|
||||
# note that you can use only modes which your graphic card supports via VBE
|
||||
# you can see them in real GRUB with the command `videoinfo'
|
||||
GRUB_GFXMODE=auto
|
||||
|
||||
# Uncomment to allow the kernel use the same resolution used by grub
|
||||
GRUB_GFXPAYLOAD_LINUX=keep
|
||||
|
||||
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
|
||||
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
|
||||
#GRUB_DISABLE_LINUX_UUID=true
|
||||
|
||||
# Uncomment to disable generation of recovery mode menu entries
|
||||
GRUB_DISABLE_RECOVERY=true
|
||||
|
||||
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
|
||||
# modes only. Entries specified as foreground/background.
|
||||
#GRUB_COLOR_NORMAL="light-blue/black"
|
||||
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
|
||||
|
||||
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
|
||||
#GRUB_BACKGROUND="/path/to/wallpaper"
|
||||
#GRUB_THEME="/path/to/gfxtheme"
|
||||
|
||||
# Uncomment to get a beep at GRUB start
|
||||
#GRUB_INIT_TUNE="480 440 1"
|
||||
|
||||
# Uncomment to make GRUB remember the last selection. This requires
|
||||
# setting 'GRUB_DEFAULT=saved' above.
|
||||
#GRUB_SAVEDEFAULT=true
|
||||
|
||||
# Uncomment to disable submenus in boot menu
|
||||
#GRUB_DISABLE_SUBMENU=y
|
||||
|
||||
# Probing for other operating systems is disabled for security reasons. Read
|
||||
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
|
||||
# functionality install os-prober and uncomment to detect and include other
|
||||
# operating systems.
|
||||
GRUB_DISABLE_OS_PROBER=true
|
13
etc/issue
Normal file
|
@ -0,0 +1,13 @@
|
|||
[0;37;40m
|
||||
[1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;37;40m###[0;37;40m [1;34;40m###[0;37;40m [1;37;40m##[0;37;40m
|
||||
[1;34;40m [0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m
|
||||
[1;34;40m┌ #### [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;34;40m [0;37;40m [1;37;40m####[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m###[0;37;40m [1;34;40m##[0;37;40m [1;37;40m### ###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;31;40m ###[0;37;40m [1;31;40m###[0;37;40m
|
||||
[1;34;40m│ [0;37;40m [1;34;40m## [0;37;40m [1;37;40m###[0;37;40m [1;37;40m##[1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m###[0;37;40m [1;31;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m###[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;31;40m [0;37;40m [1;31;40m##[0;37;40m [1;31;40m##[0;37;40m
|
||||
[1;34;40m│ ##### [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;31;40m [0;37;40m [1;31;40m###[0;37;40m
|
||||
[1;34;40m│ ##[0;37;40m [1;34;40m## [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;34;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m##[0;37;40m [1;37;40m ##[0;37;40m [1;31;40m [0;37;40m [1;31;40m##[0;37;40m [1;31;40m## [0;37;40m
|
||||
[1;34;40m│ ###### [0;37;40m [1;37;40m##[0;37;40m [1;34;40m [0;37;40m [1;37;40m####[0;37;40m [1;34;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;34;40m####[0;37;40m [1;37;40m####[0;37;40m [1;37;40m###[0;37;40m [1;37;40m###[0;37;40m [1;37;40m######[0;37;40m [1;31;40m ###[0;37;40m [1;34;40m [1;31;40m ###[0;37;40m
|
||||
[1;34;40m└───────────────────────────────────────────[0;36;40m A simple, lightweight distribution.
|
||||
[0;37;40m
|
||||
OS: Arch\s Kernel: \r Processor: \m TTY: \l
|
||||
[0m
|
||||
|
81
etc/mkinitcpio.conf
Normal file
|
@ -0,0 +1,81 @@
|
|||
# vim:set ft=sh
|
||||
# MODULES
|
||||
# The following modules are loaded before any boot hooks are
|
||||
# run. Advanced users may wish to specify all system modules
|
||||
# in this array. For instance:
|
||||
# MODULES=(usbhid xhci_hcd)
|
||||
MODULES=(i915)
|
||||
|
||||
# BINARIES
|
||||
# This setting includes any additional binaries a given user may
|
||||
# wish into the CPIO image. This is run last, so it may be used to
|
||||
# override the actual binaries included by a given hook
|
||||
# BINARIES are dependency parsed, so you may safely ignore libraries
|
||||
BINARIES=()
|
||||
|
||||
# FILES
|
||||
# This setting is similar to BINARIES above, however, files are added
|
||||
# as-is and are not parsed in any way. This is useful for config files.
|
||||
FILES=(/boot/volume.key)
|
||||
|
||||
# HOOKS
|
||||
# This is the most important setting in this file. The HOOKS control the
|
||||
# modules and scripts added to the image, and what happens at boot time.
|
||||
# Order is important, and it is recommended that you do not change the
|
||||
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
||||
# help on a given hook.
|
||||
# 'base' is _required_ unless you know precisely what you are doing.
|
||||
# 'udev' is _required_ in order to automatically load modules
|
||||
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
||||
# Examples:
|
||||
## This setup specifies all modules in the MODULES setting above.
|
||||
## No RAID, lvm2, or encrypted root is needed.
|
||||
# HOOKS=(base)
|
||||
#
|
||||
## This setup will autodetect all modules for your system and should
|
||||
## work as a sane default
|
||||
# HOOKS=(base udev autodetect modconf block filesystems fsck)
|
||||
#
|
||||
## This setup will generate a 'full' image which supports most systems.
|
||||
## No autodetection is done.
|
||||
# HOOKS=(base udev modconf block filesystems fsck)
|
||||
#
|
||||
## This setup assembles a mdadm array with an encrypted root file system.
|
||||
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
|
||||
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
|
||||
#
|
||||
## This setup loads an lvm2 volume group.
|
||||
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
|
||||
#
|
||||
## This will create a systemd based initramfs which loads an encrypted root filesystem.
|
||||
# HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
|
||||
#
|
||||
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||
# usr and fsck hooks.
|
||||
HOOKS=(base systemd plymouth autodetect microcode modconf kms keyboard keymap sd-vconsole block sd-encrypt lvm2 filesystems fsck)
|
||||
|
||||
# COMPRESSION
|
||||
# Use this to compress the initramfs image. By default, zstd compression
|
||||
# is used for Linux ≥ 5.9 and gzip compression is used for Linux < 5.9.
|
||||
# Use 'cat' to create an uncompressed image.
|
||||
#COMPRESSION="zstd"
|
||||
#COMPRESSION="gzip"
|
||||
#COMPRESSION="bzip2"
|
||||
#COMPRESSION="lzma"
|
||||
#COMPRESSION="xz"
|
||||
#COMPRESSION="lzop"
|
||||
#COMPRESSION="lz4"
|
||||
|
||||
# COMPRESSION_OPTIONS
|
||||
# Additional options for the compressor
|
||||
#COMPRESSION_OPTIONS=()
|
||||
|
||||
# MODULES_DECOMPRESS
|
||||
# Decompress loadable kernel modules and their firmware during initramfs
|
||||
# creation. Switch (yes/no).
|
||||
# Enable to allow further decreasing image size when using high compression
|
||||
# (e.g. xz -9e or zstd --long --ultra -22) at the expense of increased RAM usage
|
||||
# at early boot.
|
||||
# Note that any compressed files will be placed in the uncompressed early CPIO
|
||||
# to avoid double compression.
|
||||
#MODULES_DECOMPRESS="no"
|
100
etc/pacman.conf
Normal file
|
@ -0,0 +1,100 @@
|
|||
#
|
||||
# /etc/pacman.conf
|
||||
#
|
||||
# See the pacman.conf(5) manpage for option and repository directives
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
# The following paths are commented out with their default values listed.
|
||||
# If you wish to use different paths, uncomment and update the paths.
|
||||
#RootDir = /
|
||||
#DBPath = /var/lib/pacman/
|
||||
#CacheDir = /var/cache/pacman/pkg/
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
Architecture = auto
|
||||
|
||||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||
#IgnorePkg =
|
||||
#IgnoreGroup =
|
||||
|
||||
#NoUpgrade =
|
||||
#NoExtract =
|
||||
|
||||
# Misc options
|
||||
#UseSyslog
|
||||
Color
|
||||
#NoProgressBar
|
||||
CheckSpace
|
||||
#VerbosePkgLists
|
||||
ParallelDownloads = 5
|
||||
ILoveCandy
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||
# keyring can then be populated with the keys of all official Arch Linux
|
||||
# packagers with `pacman-key --populate archlinux`.
|
||||
|
||||
#
|
||||
# REPOSITORIES
|
||||
# - can be defined here or included from another file
|
||||
# - pacman will search repositories in the order defined here
|
||||
# - local/custom mirrors can be added here or in separate files
|
||||
# - repositories listed first will take precedence when packages
|
||||
# have identical names, regardless of version number
|
||||
# - URLs will have $repo replaced by the name of the current repo
|
||||
# - URLs will have $arch replaced by the name of the architecture
|
||||
#
|
||||
# Repository entries are of the format:
|
||||
# [repo-name]
|
||||
# Server = ServerName
|
||||
# Include = IncludePath
|
||||
#
|
||||
# The header [repo-name] is crucial - it must be present and
|
||||
# uncommented to enable the repo.
|
||||
#
|
||||
|
||||
# The testing repositories are disabled by default. To enable, uncomment the
|
||||
# repo name header and Include lines. You can add preferred servers immediately
|
||||
# after the header, and they will be used before the default mirrors.
|
||||
|
||||
#[core-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[extra-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repositories as required here.
|
||||
|
||||
#[multilib-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
#[multilib]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# An example of a custom package repository. See the pacman manpage for
|
||||
# tips on creating your own repositories.
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
||||
[chaotic-aur]
|
||||
Include = /etc/pacman.d/chaotic-mirrorlist
|
9
etc/pam.d/login
Normal file
|
@ -0,0 +1,9 @@
|
|||
#%PAM-1.0
|
||||
|
||||
auth requisite pam_nologin.so
|
||||
auth include system-local-login
|
||||
auth optional pam_gnome_keyring.so
|
||||
account include system-local-login
|
||||
session include system-local-login
|
||||
password include system-local-login
|
||||
session optional pam_gnome_keyring.so auto_start
|
75
home/.bash_profile
Normal file
|
@ -0,0 +1,75 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Home folders
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
|
||||
# Sanely export XDG Base dir variables
|
||||
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
|
||||
|
||||
# Clean home
|
||||
export W3M_DIR="$XDG_DATA_HOME/w3m"
|
||||
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
|
||||
export WGETDIR="$XDG_CONFIG_HOME/wget"
|
||||
export WGETRC="$WGETDIR/wgetrc"
|
||||
export INPUTRC="$HOME/.config/X11/inputrc"
|
||||
export GNUPGHOME="$HOME/.local/share/gnupg"
|
||||
export LESSHISTFILE="-"
|
||||
export BASHRC="$HOME/.bashrc"
|
||||
export GOPATH="$HOME/.go"
|
||||
|
||||
# Default apps
|
||||
export TERMINAL="foot"
|
||||
export EDITOR="$HOME/.local/bin/lvim"
|
||||
export VISUAL="neovide --neovim-bin $EDITOR"
|
||||
export BROWSER="brave"
|
||||
export VIEWER="zathura"
|
||||
|
||||
# Set path
|
||||
if [ -d "$HOME/.bin" ]; then
|
||||
PATH="$HOME/.bin:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/.cargo/bin" ]; then
|
||||
PATH="$HOME/.cargo/bin:$PATH"
|
||||
fi
|
||||
if [ -d "$GOPATH/bin" ]; then
|
||||
PATH="$GOPATH/bin:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/.local/lib/flutter/bin" ]; then
|
||||
PATH="$HOME/.local/lib/flutter/bin:$PATH"
|
||||
fi
|
||||
if [ -d $HOME/.dotnet/tools ]; then
|
||||
PATH="$HOME/.dotnet/tools:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/Applications" ]; then
|
||||
PATH="$HOME/Applications:$PATH"
|
||||
fi
|
||||
if [ -d "$XDG_DATA_HOME/JetBrains/Toolbox/scripts" ]; then
|
||||
PATH="$XDG_DATA_HOME/JetBrains/Toolbox/scripts:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/.config/vifm/scripts" ]; then
|
||||
PATH="$HOME/.config/vifm/scripts:$PATH"
|
||||
fi
|
||||
|
||||
# export SSH_AUTH_SOCK
|
||||
if [[ -z "${SSH_CONNECTION}" ]]; then
|
||||
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||
fi
|
||||
|
||||
# Create config directories if they don't exist
|
||||
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
|
||||
mkdir -p "$WGETDIR" "$GNUPGHOME"
|
||||
fi
|
||||
|
||||
# Bashrc
|
||||
source "$BASHRC"
|
||||
|
||||
# Starting wayland session
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
sh "$HOME/.config/sway/winitrc" &>/dev/null
|
||||
logout
|
||||
fi
|
295
home/.bashrc
Normal file
|
@ -0,0 +1,295 @@
|
|||
### EXPORT ###
|
||||
export TERM="xterm-256color" # getting proper colors
|
||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||
|
||||
### "bat" as manpager
|
||||
export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'"
|
||||
|
||||
# use bash-completion, if available
|
||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
|
||||
# if not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
### SET VI MODE ###
|
||||
# Comment this line out to enable default emacs-like bindings
|
||||
set -o vi
|
||||
bind -m vi-command 'Control-l: clear-screen'
|
||||
bind -m vi-insert 'Control-l: clear-screen'
|
||||
|
||||
### CHANGE TITLE OF TERMINALS ###
|
||||
case ${TERM} in
|
||||
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
||||
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
|
||||
;;
|
||||
screen*)
|
||||
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
|
||||
;;
|
||||
esac
|
||||
|
||||
### SHOPT ###
|
||||
shopt -s autocd # change to named directory
|
||||
shopt -s cdspell # autocorrects cd misspellings
|
||||
shopt -s cmdhist # save multi-line commands in history as single line
|
||||
shopt -s dotglob
|
||||
shopt -s histappend # do not overwrite history
|
||||
shopt -s expand_aliases # expand aliases
|
||||
shopt -s checkwinsize # checks term size when bash regains control
|
||||
|
||||
# ignore upper and lowercase when TAB completion
|
||||
bind "set completion-ignore-case on"
|
||||
|
||||
# sudo not required for some system commands
|
||||
for command in cryptsetup mount umount poweroff reboot ; do
|
||||
alias $command="sudo $command"
|
||||
done; unset command
|
||||
|
||||
### ARCHIVE EXTRACTION ###
|
||||
# usage: ex <file>
|
||||
function ex() {
|
||||
if [ -f "$1" ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf "$1" ;;
|
||||
*.tar.gz) tar xzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;;
|
||||
*.rar) unrar x "$1" ;;
|
||||
*.gz) gunzip "$1" ;;
|
||||
*.tar) tar xf "$1" ;;
|
||||
*.tbz2) tar xjf "$1" ;;
|
||||
*.tgz) tar xzf "$1" ;;
|
||||
*.zip) unzip "$1" ;;
|
||||
*.Z) uncompress "$1";;
|
||||
*.7z) 7zz x "$1" ;;
|
||||
*.deb) ar x "$1" ;;
|
||||
*.tar.xz) tar xf "$1" ;;
|
||||
*.tar.zst) unzstd "$1" ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
### ALIASES ###
|
||||
# navigation
|
||||
function up () {
|
||||
local d=""
|
||||
local limit="$1"
|
||||
|
||||
# Default to limit of 1
|
||||
if [ -z "$limit" ] || [ "$limit" -le 0 ]; then
|
||||
limit=1
|
||||
fi
|
||||
|
||||
for ((i=1;i<=limit;i++)); do
|
||||
d="../$d"
|
||||
done
|
||||
|
||||
# perform cd. Show error if cd fails
|
||||
if ! cd "$d"; then
|
||||
echo "Couldn't go up $limit dirs.";
|
||||
fi
|
||||
}
|
||||
|
||||
# unlock ssh keys
|
||||
function unlock() {
|
||||
ssh-add "$HOME/.ssh/$1"
|
||||
}
|
||||
|
||||
# cd
|
||||
alias \
|
||||
..="cd .." \
|
||||
.2="cd ../.." \
|
||||
.3="cd ../../.." \
|
||||
.4="cd ../../../.." \
|
||||
.5="cd ../../../../.."
|
||||
|
||||
# bat as cat
|
||||
[ -x "$(command -v bat)" ] && alias cat="bat"
|
||||
|
||||
# fastfetch as neofetch
|
||||
[ -x "$(command -v fastfetch)" ] && alias neofetch="fastfetch"
|
||||
|
||||
# use lunarvim or neovim for vim if present.
|
||||
if [ -x "$(command -v $HOME/.local/bin/lvim)" ]; then
|
||||
alias vim="$HOME/.local/bin/lvim"
|
||||
elif [ -x "$(command -v nvim)" ]; then
|
||||
alias vim="nvim"
|
||||
fi
|
||||
|
||||
# Changing "ls" to "eza"
|
||||
[ -x "$(command -v eza)" ] && alias \
|
||||
ls="eza --icons -al --color=always --group-directories-first" \
|
||||
la="eza --icons -a --color=always --group-directories-first" \
|
||||
ll="eza --icons -l --color=always --group-directories-first" \
|
||||
lt="eza --icons -aT --color=always --group-directories-first" \
|
||||
l.='eza --icons -a | grep -E "^\."'
|
||||
|
||||
# function to detect os and assign aliases to package managers
|
||||
alias \
|
||||
pkg-update="paru -Syyu" \
|
||||
pkg-install="paru -S" \
|
||||
pkg-remove="paru -Rcns" \
|
||||
pkg-remove-sec="paru -R" \
|
||||
pkg-autoremove="paru -Scc && paru -Rns (pacman -Qtdq)" \
|
||||
pkg-search="paru -Ss"
|
||||
|
||||
# colorize grep output (good for log files)
|
||||
alias \
|
||||
grep="grep --color=auto" \
|
||||
egrep="egrep --color=auto" \
|
||||
fgrep="fgrep --color=auto"
|
||||
|
||||
# git
|
||||
alias \
|
||||
git-adu="git add -u" \
|
||||
git-adl="git add ." \
|
||||
git-brn="git branch" \
|
||||
git-chk="git checkout" \
|
||||
git-cln="git clone" \
|
||||
git-cmt="git commit -m" \
|
||||
git-fth="git fetch" \
|
||||
git-pll="git pull origin" \
|
||||
git-psh="git push origin" \
|
||||
git-sts="git status" \
|
||||
git-tag="git tag" \
|
||||
git-ntg="git tag -a"
|
||||
|
||||
# adding flags
|
||||
alias \
|
||||
df="df -h" \
|
||||
free="free -m"
|
||||
|
||||
# multimedia scripts
|
||||
alias \
|
||||
fli="flix-cli" \
|
||||
ani="ani-cli" \
|
||||
aniq="ani-cli -q"
|
||||
|
||||
# audio
|
||||
alias \
|
||||
mx="pulsemixer" \
|
||||
mk="cmus" \
|
||||
ms="cmus" \
|
||||
music="cmus"
|
||||
|
||||
# power management
|
||||
alias \
|
||||
po="systemctl poweroff" \
|
||||
sp="systemctl suspend" \
|
||||
rb="systemctl reboot"
|
||||
|
||||
# file management
|
||||
alias \
|
||||
fm="yazi" \
|
||||
flm="yazi" \
|
||||
rm="rm -vI" \
|
||||
mv="mv -iv" \
|
||||
cp="cp -iv" \
|
||||
mkd="mkdir -pv"
|
||||
|
||||
# ps
|
||||
alias \
|
||||
psa="ps auxf" \
|
||||
psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
|
||||
psmem="ps auxf | sort -nr -k 4" \
|
||||
pscpu="ps auxf | sort -nr -k 3"
|
||||
|
||||
# youtube
|
||||
alias \
|
||||
yta-aac="yt-dlp --extract-audio --audio-format aac" \
|
||||
yta-best="yt-dlp --extract-audio --audio-format best" \
|
||||
yta-flac="yt-dlp --extract-audio --audio-format flac" \
|
||||
yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
|
||||
yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
|
||||
yta-opus="yt-dlp --extract-audio --audio-format opus" \
|
||||
yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
|
||||
yta-wav="yt-dlp --extract-audio --audio-format wav" \
|
||||
ytv-best="yt-dlp -f bestvideo+bestaudio" \
|
||||
yt="ytfzf -ftsl" \
|
||||
ytm="ytfzf -mtsl"
|
||||
|
||||
# network and bluetooth
|
||||
alias \
|
||||
netstats="nmcli dev" \
|
||||
wfi="nmtui-connect" \
|
||||
wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \
|
||||
wfi-edit="nmtui-edit" \
|
||||
wfi-on="nmcli radio wifi on" \
|
||||
wfi-off="nmcli radio wifi off" \
|
||||
blt="bluetoothctl"
|
||||
|
||||
# Automatically add completion for all aliases to commands having completion functions
|
||||
# this currently slows startup a bit, but it isn't terrible
|
||||
function alias_completion {
|
||||
local namespace="alias_completion"
|
||||
|
||||
# parse function based completion definitions, where capture group 2 => function and 3 => trigger
|
||||
local compl_regex='complete( +[^ ]+)* -F ([^ ]+) ("[^"]+"|[^ ]+)'
|
||||
# parse alias definitions, where capture group 1 => trigger, 2 => command, 3 => command arguments
|
||||
local alias_regex="alias ([^=]+)='(\"[^\"]+\"|[^ ]+)(( +[^ ]+)*)'"
|
||||
|
||||
# create array of function completion triggers, keeping multi-word triggers together
|
||||
eval "local completions=($(complete -p | sed -Ene "/$compl_regex/s//'\3'/p"))"
|
||||
(( ${#completions[@]} == 0 )) && return 0
|
||||
|
||||
# create temporary file for wrapper functions and completions
|
||||
command rm -f "/tmp/${namespace}-*.tmp" &> /dev/null # preliminary cleanup
|
||||
local tmp_file; tmp_file="$(mktemp "/tmp/${namespace}-${RANDOM}XXX.tmp")" || return 1
|
||||
|
||||
local completion_loader; completion_loader="$(complete -p -D 2>/dev/null | sed -Ene 's/.* -F ([^ ]*).*/\1/p')"
|
||||
|
||||
# read in "<alias> '<aliased command>' '<command args>'" lines from defined aliases
|
||||
local line; while read line; do
|
||||
eval "local alias_tokens; alias_tokens=($line)" 2>/dev/null || continue # some alias arg patterns cause an eval parse error
|
||||
local alias_name="${alias_tokens[0]}" alias_cmd="${alias_tokens[1]}" alias_args="${alias_tokens[2]# }"
|
||||
|
||||
# skip aliases to pipes, boolean control structures and other command lists
|
||||
# (leveraging that eval errs out if $alias_args contains unquoted shell metacharacters)
|
||||
eval "local alias_arg_words; alias_arg_words=($alias_args)" 2>/dev/null || continue
|
||||
# avoid expanding wildcards
|
||||
read -a alias_arg_words <<< "$alias_args"
|
||||
|
||||
# skip alias if there is no completion function triggered by the aliased command
|
||||
if [[ ! " ${completions[*]} " =~ " $alias_cmd " ]]; then
|
||||
if [[ -n "$completion_loader" ]]; then
|
||||
# force loading of completions for the aliased command
|
||||
eval "$completion_loader $alias_cmd"
|
||||
# 124 means completion loader was successful
|
||||
[[ $? -eq 124 ]] || continue
|
||||
completions+=($alias_cmd)
|
||||
else
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
local new_completion="$(complete -p "$alias_cmd")"
|
||||
|
||||
# create a wrapper inserting the alias arguments if any
|
||||
if [[ -n $alias_args ]]; then
|
||||
local compl_func="${new_completion/#* -F /}"; compl_func="${compl_func%% *}"
|
||||
# avoid recursive call loops by ignoring our own functions
|
||||
if [[ "${compl_func#_$namespace::}" == $compl_func ]]; then
|
||||
local compl_wrapper="_${namespace}::${alias_name}"
|
||||
echo "function $compl_wrapper {
|
||||
(( COMP_CWORD += ${#alias_arg_words[@]} ))
|
||||
COMP_WORDS=($alias_cmd $alias_args \${COMP_WORDS[@]:1})
|
||||
(( COMP_POINT -= \${#COMP_LINE} ))
|
||||
COMP_LINE=\${COMP_LINE/$alias_name/$alias_cmd $alias_args}
|
||||
(( COMP_POINT += \${#COMP_LINE} ))
|
||||
$compl_func
|
||||
}" >> "$tmp_file"
|
||||
new_completion="${new_completion/ -F $compl_func / -F $compl_wrapper }"
|
||||
fi
|
||||
fi
|
||||
|
||||
# replace completion trigger by alias
|
||||
new_completion="${new_completion% *} $alias_name"
|
||||
echo "$new_completion" >> "$tmp_file"
|
||||
done < <(alias -p | sed -Ene "s/$alias_regex/\1 '\2' '\3'/p")
|
||||
source "$tmp_file" && command rm -f "$tmp_file" &> /dev/null
|
||||
}; alias_completion
|
||||
|
||||
# starship prompt
|
||||
eval "$(starship init bash)"
|
||||
eval "$(zoxide init bash)"
|
4
local/share/icons/default/index.theme
Normal file
|
@ -0,0 +1,4 @@
|
|||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Simp1e-Gruvbox-Dark
|
|
@ -1,5 +0,0 @@
|
|||
#%PAM-1.0
|
||||
auth sufficient pam_fprintd.so
|
||||
auth include system-auth
|
||||
account include system-auth
|
||||
session include system-auth
|
|
@ -1,7 +0,0 @@
|
|||
#%PAM-1.0
|
||||
|
||||
auth sufficient pam_fprintd.so
|
||||
auth include system-login
|
||||
account include system-login
|
||||
password include system-login
|
||||
session include system-login
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
export USER="drk"
|
||||
export HOME="/home/$USER"
|
||||
export XDG_RUNTIME_DIR="/run/user/$(id -u $USER)"
|
||||
mkdir $XDG_RUNTIME_DIR
|
||||
chown $USER:$USER $XDG_RUNTIME_DIR
|
||||
|
||||
groups="$(id -Gn "$USER" | tr ' ' ':')"
|
||||
svdir="$HOME/.config/services"
|
||||
mkdir -p "$svdir"
|
||||
chown $USER:$USER "$svdir"
|
||||
|
||||
exec chpst -u "$USER:$groups" runsvdir "$svdir"
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/bash
|
||||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config
|
||||
##
|
||||
#
|
||||
|
||||
# Home folders
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
|
||||
export X11CFGDIR="$XDG_CONFIG_HOME/X11"
|
||||
export XINITRC="$X11CFGDIR/xinitrc"
|
||||
|
||||
# Sanely export XDG Base dir variables
|
||||
eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)"
|
||||
|
||||
# Clean home
|
||||
export W3M_DIR="$XDG_DATA_HOME/w3m"
|
||||
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
|
||||
export WGETDIR="$XDG_CONFIG_HOME/wget"
|
||||
export WGETRC="$WGETDIR/wgetrc"
|
||||
export INPUTRC="$HOME/.config/X11/inputrc"
|
||||
export GNUPGHOME="$HOME/.local/share/gnupg"
|
||||
export LESSHISTFILE="-"
|
||||
export BASHRC="$HOME/.bashrc"
|
||||
|
||||
# Default apps
|
||||
export TERM="wezterm"
|
||||
export EDITOR="$HOME/.local/bin/lvim"
|
||||
export VISUAL="$HOME/.local/bin/neovide"
|
||||
export BROWSER="flatpak run org.mozilla.firefox"
|
||||
export VIEWER="zathura"
|
||||
|
||||
# Bashrc
|
||||
source "$BASHRC"
|
||||
|
||||
# Create config directories if they don't exist
|
||||
if [ ! -d "$WGETDIR" ] || [ ! -d "$GNUPGHOME" ]; then
|
||||
mkdir -p "$WGETDIR" "$GNUPGHOME"
|
||||
fi
|
||||
|
||||
# starting xsession
|
||||
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
|
||||
sh "$HOME/.config/sway/winitrc" &>/dev/null
|
||||
logout
|
||||
fi
|
231
user/.bashrc
|
@ -1,231 +0,0 @@
|
|||
## ____ __
|
||||
## / __ \_________ _/ /_____
|
||||
## / / / / ___/ __ `/ //_/ _ \
|
||||
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
|
||||
## /_____/_/ \__,_/_/|_|\___/ My custom bash config
|
||||
##
|
||||
|
||||
### EXPORT ###
|
||||
export TERM="xterm-256color" # getting proper colors
|
||||
export HISTCONTROL=ignoredups:erasedups # no duplicate entries
|
||||
|
||||
### "bat" as manpager
|
||||
export PAGER="bat -p"
|
||||
|
||||
# use bash-completion, if available
|
||||
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
|
||||
# if not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
### SET VI MODE ###
|
||||
# Comment this line out to enable default emacs-like bindings
|
||||
set -o vi
|
||||
bind -m vi-command 'Control-l: clear-screen'
|
||||
bind -m vi-insert 'Control-l: clear-screen'
|
||||
|
||||
### PATH ###
|
||||
if [ -d "$HOME/.bin" ] ;
|
||||
then PATH="$HOME/.bin:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/.local/bin" ] ;
|
||||
then PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
if [ -d "$HOME/Applications" ] ;
|
||||
then PATH="$HOME/Applications:$PATH"
|
||||
fi
|
||||
|
||||
### CHANGE TITLE OF TERMINALS ###
|
||||
case ${TERM} in
|
||||
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
|
||||
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
|
||||
;;
|
||||
screen*)
|
||||
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
|
||||
;;
|
||||
esac
|
||||
|
||||
### SHOPT ###
|
||||
shopt -s autocd # change to named directory
|
||||
shopt -s cdspell # autocorrects cd misspellings
|
||||
shopt -s cmdhist # save multi-line commands in history as single line
|
||||
shopt -s dotglob
|
||||
shopt -s histappend # do not overwrite history
|
||||
shopt -s expand_aliases # expand aliases
|
||||
shopt -s checkwinsize # checks term size when bash regains control
|
||||
|
||||
# ignore upper and lowercase when TAB completion
|
||||
bind "set completion-ignore-case on"
|
||||
|
||||
# sudo not required for some system commands
|
||||
for command in cryptsetup mount umount poweroff reboot ; do
|
||||
alias $command="sudo $command"
|
||||
done; unset command
|
||||
|
||||
### ARCHIVE EXTRACTION ###
|
||||
# usage: ex <file>
|
||||
ex ()
|
||||
{
|
||||
if [ -f "$1" ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf "$1" ;;
|
||||
*.tar.gz) tar xzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;;
|
||||
*.rar) unrar x "$1" ;;
|
||||
*.gz) gunzip "$1" ;;
|
||||
*.tar) tar xf "$1" ;;
|
||||
*.tbz2) tar xjf "$1" ;;
|
||||
*.tgz) tar xzf "$1" ;;
|
||||
*.zip) unzip "$1" ;;
|
||||
*.Z) uncompress "$1";;
|
||||
*.7z) 7zz x "$1" ;;
|
||||
*.deb) ar x "$1" ;;
|
||||
*.tar.xz) tar xf "$1" ;;
|
||||
*.tar.zst) unzstd "$1" ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
### ALIASES ###
|
||||
# navigation
|
||||
up () {
|
||||
local d=""
|
||||
local limit="$1"
|
||||
|
||||
# Default to limit of 1
|
||||
if [ -z "$limit" ] || [ "$limit" -le 0 ]; then
|
||||
limit=1
|
||||
fi
|
||||
|
||||
for ((i=1;i<=limit;i++)); do
|
||||
d="../$d"
|
||||
done
|
||||
|
||||
# perform cd. Show error if cd fails
|
||||
if ! cd "$d"; then
|
||||
echo "Couldn't go up $limit dirs.";
|
||||
fi
|
||||
}
|
||||
|
||||
# cd
|
||||
alias \
|
||||
..="cd .." \
|
||||
.2="cd ../.." \
|
||||
.3="cd ../../.." \
|
||||
.4="cd ../../../.." \
|
||||
.5="cd ../../../../.."
|
||||
|
||||
# bat as cat
|
||||
[ -x "$(command -v bat)" ] && alias cat="bat"
|
||||
|
||||
# use lunarvim for vim if present.
|
||||
[ -x "$(command -v $HOME/.local/bin/lvim)" ] && alias vim="$HOME/.local/bin/lvim"
|
||||
|
||||
# Changing "ls" to "eza"
|
||||
alias \
|
||||
ls="eza --icons -al --color=always --group-directories-first" \
|
||||
la="eza --icons -a --color=always --group-directories-first" \
|
||||
ll="eza --icons -l --color=always --group-directories-first" \
|
||||
lt="eza --icons -aT --color=always --group-directories-first" \
|
||||
l.='eza --icons -a | grep -E "^\."'
|
||||
|
||||
# function to detect os and assign aliases to package managers
|
||||
alias \
|
||||
xb-up="sudo xbps-install -Su && xcheckrestart" \
|
||||
xb-get="sudo xbps-install -S" \
|
||||
xb-rmv="sudo xbps-remove -R" \
|
||||
xb-rmv-sec="sudo xbps-remove" \
|
||||
xb-qry="sudo xbps-query -Rs" \
|
||||
xb-cln="sudo xbps-remove -Oo"
|
||||
|
||||
# colorize grep output (good for log files)
|
||||
alias \
|
||||
grep="grep --color=auto" \
|
||||
egrep="egrep --color=auto" \
|
||||
fgrep="fgrep --color=auto"
|
||||
|
||||
# git
|
||||
alias \
|
||||
git-adu="git add -u" \
|
||||
git-adl="git add ." \
|
||||
git-brn="git branch" \
|
||||
git-chk="git checkout" \
|
||||
git-cln="git clone" \
|
||||
git-cmt="git commit -m" \
|
||||
git-fth="git fetch" \
|
||||
git-pll="git pull origin" \
|
||||
git-psh="git push origin" \
|
||||
git-sts="git status" \
|
||||
git-tag="git tag" \
|
||||
git-ntg="git tag -a"
|
||||
|
||||
# adding flags
|
||||
alias \
|
||||
df="df -h" \
|
||||
free="free -m"
|
||||
|
||||
# multimedia scripts
|
||||
alias \
|
||||
fli="flix-cli" \
|
||||
ani="ani-cli" \
|
||||
aniq="ani-cli -q"
|
||||
|
||||
# audio
|
||||
alias \
|
||||
mx="pulsemixer" \
|
||||
mk="cmus" \
|
||||
ms="cmus" \
|
||||
music="cmus"
|
||||
|
||||
# power management
|
||||
alias \
|
||||
po="loginctl poweroff" \
|
||||
sp="loginctl suspend" \
|
||||
rb="loginctl reboot"
|
||||
|
||||
# file management
|
||||
alias \
|
||||
fm="vifm" \
|
||||
flm="vifm" \
|
||||
rm="rm -vI" \
|
||||
mv="mv -iv" \
|
||||
cp="cp -iv" \
|
||||
mkd="mkdir -pv"
|
||||
|
||||
# ps
|
||||
alias \
|
||||
psa="ps auxf" \
|
||||
psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
|
||||
psmem="ps auxf | sort -nr -k 4" \
|
||||
pscpu="ps auxf | sort -nr -k 3"
|
||||
|
||||
# youtube
|
||||
alias \
|
||||
yta-aac="yt-dlp --extract-audio --audio-format aac" \
|
||||
yta-best="yt-dlp --extract-audio --audio-format best" \
|
||||
yta-flac="yt-dlp --extract-audio --audio-format flac" \
|
||||
yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
|
||||
yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
|
||||
yta-opus="yt-dlp --extract-audio --audio-format opus" \
|
||||
yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
|
||||
yta-wav="yt-dlp --extract-audio --audio-format wav" \
|
||||
ytv-best="yt-dlp -f bestvideo+bestaudio" \
|
||||
yt="ytfzf -ftsl" \
|
||||
ytm="ytfzf -mtsl"
|
||||
|
||||
# network and bluetooth
|
||||
alias \
|
||||
netstats="nmcli dev" \
|
||||
wfi="nmtui-connect" \
|
||||
wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \
|
||||
wfi-edit="nmtui-edit" \
|
||||
wfi-on="nmcli radio wifi on" \
|
||||
wfi-off="nmcli radio wifi off" \
|
||||
blt="bluetoothctl"
|
||||
|
||||
# starship prompt
|
||||
eval "$(starship init bash)"
|
Before Width: | Height: | Size: 207 KiB |
|
@ -1,2 +0,0 @@
|
|||
[General]
|
||||
theme=Gruvbox-Dark-Brown
|
|
@ -1,11 +0,0 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=0
|
||||
GeometryY=0
|
||||
GeometryWidth=780
|
||||
GeometryHeight=585
|
||||
SortColumn=name
|
||||
SortOrder=ascending
|
||||
StartupMode=recent
|
|
@ -1,129 +0,0 @@
|
|||
-- neovide options
|
||||
vim.o.guifont = "mononoki Nerd Font:h14"
|
||||
vim.g.neovide_hide_mouse_when_typing = true
|
||||
vim.g.neovide_input_macos_alt_is_meta = true
|
||||
vim.g.neovide_hide_mouse_when_typing = false
|
||||
vim.g.neovide_refresh_rate = 60
|
||||
vim.g.neovide_refresh_rate_idle = 5
|
||||
vim.g.neovide_no_idle = true
|
||||
vim.g.neovide_confirm_quit = true
|
||||
vim.g.neovide_input_use_logo = true
|
||||
|
||||
vim.g.neovide_cursor_antialiasing = true
|
||||
vim.g.neovide_cursor_animate_in_insert_mode = true
|
||||
vim.g.neovide_cursor_vfx_mode = "pixiedust"
|
||||
vim.g.neovide_cursor_vfx_particle_speed = 20.0
|
||||
|
||||
vim.g.neovide_padding_top = 0
|
||||
vim.g.neovide_padding_bottom = 0
|
||||
vim.g.neovide_padding_right = 0
|
||||
vim.g.neovide_padding_left = 0
|
||||
|
||||
-- Helper function for transparency formatting
|
||||
local alpha = function()
|
||||
return string.format("%x", math.floor(255 * (vim.g.transparency or 0.98)))
|
||||
end
|
||||
vim.g.neovide_transparency = 0.98
|
||||
vim.g.transparency = 0.98
|
||||
vim.g.neovide_background_color = "#1d2021" .. alpha()
|
||||
|
||||
-- nvim options
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.relativenumber = true
|
||||
vim.cmd('autocmd FileType markdown setlocal nospell')
|
||||
vim.opt.wrap = true -- wrap lines
|
||||
vim.opt.spell = false
|
||||
vim.o.shell = '/usr/bin/bash'
|
||||
vim.o.autochdir = true
|
||||
vim.cmd('autocmd BufEnter * lcd %:p:h')
|
||||
|
||||
-- general
|
||||
lvim.use_icons = true
|
||||
lvim.log.level = "info"
|
||||
lvim.format_on_save = {
|
||||
enabled = true,
|
||||
pattern = "*.lua",
|
||||
timeout = 1000,
|
||||
}
|
||||
|
||||
-- change theme settings
|
||||
lvim.colorscheme = "gruvbox"
|
||||
lvim.transparent_window = false
|
||||
lvim.builtin.alpha.active = true
|
||||
lvim.builtin.alpha.mode = "dashboard"
|
||||
lvim.builtin.terminal.active = true
|
||||
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||
lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
|
||||
|
||||
-- automatically install missing parsers when entering buffer
|
||||
lvim.builtin.treesitter.auto_install = true
|
||||
|
||||
-- additional Plugins
|
||||
lvim.plugins = {
|
||||
{ "lunarvim/colorschemes" },
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
{ "puremourning/vimspector" },
|
||||
{ "SirVer/ultisnips" },
|
||||
{ "CRAG666/code_runner.nvim" },
|
||||
}
|
||||
|
||||
-- configuring colorscheme
|
||||
require("gruvbox").setup({
|
||||
undercurl = true,
|
||||
underline = true,
|
||||
bold = false,
|
||||
italic = {
|
||||
strings = true,
|
||||
comments = true,
|
||||
operators = false,
|
||||
folds = true,
|
||||
},
|
||||
strikethrough = true,
|
||||
invert_selection = false,
|
||||
invert_signs = false,
|
||||
invert_tabline = false,
|
||||
invert_intend_guides = false,
|
||||
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||
contrast = "hard", -- can be "hard", "soft" or empty string
|
||||
palette_overrides = {},
|
||||
overrides = {},
|
||||
dim_inactive = false,
|
||||
transparent_mode = false,
|
||||
})
|
||||
|
||||
-- vimspector options
|
||||
vim.g.vimspector_enable_mappings = 'HUMAN'
|
||||
vim.g.vimspector_enable_mappings_for_mode = {
|
||||
['<leader><leader>'] = { 'n', 'v' },
|
||||
}
|
||||
|
||||
-- code runner options
|
||||
require('code_runner').setup({
|
||||
filetype = {
|
||||
java = {
|
||||
"cd $dir &&",
|
||||
"javac $fileName &&",
|
||||
"java $fileNameWithoutExt"
|
||||
},
|
||||
python = "python3 -u",
|
||||
typescript = "deno run",
|
||||
rust = {
|
||||
"cd $dir &&",
|
||||
"rustc $fileName &&",
|
||||
"$dir/$fileNameWithoutExt"
|
||||
},
|
||||
cs = {
|
||||
"cd '$dir' &&",
|
||||
"dotnet run"
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
lvim.keys.normal_mode["<leader>r"] = ":RunCode<CR>"
|
||||
lvim.keys.normal_mode["<leader>rf"] = ":RunFile<CR>"
|
||||
lvim.keys.normal_mode["<leader>rft"] = ":RunFile tab<CR>"
|
||||
lvim.keys.normal_mode["<leader>rp"] = ":RunProject<CR>"
|
||||
lvim.keys.normal_mode["<leader>rc"] = ":RunClose<CR>"
|
||||
lvim.keys.normal_mode["<leader>crf"] = ":CRFiletype<CR>"
|
||||
lvim.keys.normal_mode["<leader>crp"] = ":CRProjects<CR>"
|
|
@ -1,118 +0,0 @@
|
|||
print_info() {
|
||||
prin " "
|
||||
prin "┌─────────\n Hardware Information \n─────────┐"
|
||||
info " " model
|
||||
info " " cpu
|
||||
info " " gpu
|
||||
info " " memory
|
||||
info " " uptime
|
||||
prin "├─────────\n Software Information \n─────────┤"
|
||||
info " " distro
|
||||
info " " kernel
|
||||
info " " packages
|
||||
info " " wm
|
||||
info " " shell
|
||||
info " " theme
|
||||
info " " icons
|
||||
info " " song
|
||||
# [[ "$player" ]] && prin "Music Player" "$player"
|
||||
# info " " local_ip
|
||||
# info " " public_ip
|
||||
# info " " locale # This only works on glibc systems.
|
||||
prin "└───────────────────────────────────────┘"
|
||||
info cols
|
||||
prin "\n \n \n \n \n ${cl3} \n \n ${cl5} \n \n ${cl2} \n \n ${cl6} \n \n ${cl4} \n \n ${cl1} \n \n ${cl7} \n \n ${cl0}"
|
||||
}
|
||||
|
||||
kernel_shorthand="on"
|
||||
distro_shorthand="off"
|
||||
os_arch="off"
|
||||
uptime_shorthand="on"
|
||||
memory_percent="on"
|
||||
package_managers="on"
|
||||
shell_path="off"
|
||||
shell_version="on"
|
||||
speed_type="bios_limit"
|
||||
speed_shorthand="on"
|
||||
cpu_brand="off"
|
||||
cpu_speed="off"
|
||||
cpu_cores="logical"
|
||||
cpu_temp="off"
|
||||
gpu_brand="off"
|
||||
gpu_type="all"
|
||||
refresh_rate="on"
|
||||
gtk_shorthand="on"
|
||||
gtk2="on"
|
||||
gtk3="on"
|
||||
public_ip_host="http://ident.me"
|
||||
public_ip_timeout=2
|
||||
disk_show=('/')
|
||||
music_player="cmus"
|
||||
song_format="%artist% - %title%"
|
||||
song_shorthand="off"
|
||||
colors=(distro)
|
||||
bold="on"
|
||||
underline_enabled="on"
|
||||
underline_char="-"
|
||||
separator=" "
|
||||
color_blocks="off"
|
||||
block_range=(0 15) # Colorblocks
|
||||
|
||||
# Colors for custom colorblocks
|
||||
magenta="\033[1;35m"
|
||||
green="\033[1;32m"
|
||||
white="\033[1;37m"
|
||||
blue="\033[1;34m"
|
||||
red="\033[1;31m"
|
||||
black="\033[1;40;30m"
|
||||
yellow="\033[1;33m"
|
||||
cyan="\033[1;36m"
|
||||
reset="\033[0m"
|
||||
bgyellow="\033[1;43;33m"
|
||||
bgwhite="\033[1;47;37m"
|
||||
cl0="${reset}"
|
||||
cl1="${magenta}"
|
||||
cl2="${green}"
|
||||
cl3="${white}"
|
||||
cl4="${blue}"
|
||||
cl5="${red}"
|
||||
cl6="${yellow}"
|
||||
cl7="${cyan}"
|
||||
cl8="${black}"
|
||||
cl9="${bgyellow}"
|
||||
cl10="${bgwhite}"
|
||||
|
||||
block_width=4
|
||||
block_height=1
|
||||
|
||||
bar_char_elapsed="-"
|
||||
bar_char_total="="
|
||||
bar_border="on"
|
||||
bar_length=15
|
||||
bar_color_elapsed="distro"
|
||||
bar_color_total="distro"
|
||||
|
||||
cpu_display="on"
|
||||
memory_display="on"
|
||||
battery_display="on"
|
||||
disk_display="on"
|
||||
|
||||
image_backend="chafa"
|
||||
image_source="$HOME/.config/neofetch/img1.png"
|
||||
image_size="320px"
|
||||
image_loop="off"
|
||||
|
||||
aascii_distro="auto"
|
||||
ascii_colors=(distro)
|
||||
ascii_bold="on"
|
||||
|
||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||
crop_mode="normal"
|
||||
crop_offset="center"
|
||||
|
||||
gap=2
|
||||
|
||||
yoffset=0
|
||||
xoffset=0
|
||||
|
||||
stdout="off"
|
Before Width: | Height: | Size: 65 KiB |
|
@ -1,154 +0,0 @@
|
|||
http://static.fsf.org/fsforg/rss/news.xml "~FSF News"
|
||||
http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs"
|
||||
https://fsfe.org/news/news.en.rss "~FSFE News"
|
||||
https://dot.kde.org/rss.xml "~KDE Dot News"
|
||||
https://planet.kde.org/global/atom.xml "~Planet KDE"
|
||||
https://pointieststick.com/feed/ "~This Week on KDE"
|
||||
https://www.kdeblog.com/rss "~KDE Blog"
|
||||
https://thisweek.gnome.org/index.xml "~This Week on GNOME"
|
||||
https://www.omgubuntu.co.uk/feed "~OMG!Ubuntu"
|
||||
https://www.omglinux.com/feed "~OMG!Linux"
|
||||
https://blog.thunderbird.net/feed/ "~The Thunderbird Blog"
|
||||
https://thelinuxexp.com/feed.xml "~The Linux Experiment"
|
||||
https://techhut.tv/feed/ "~TechHut Media"
|
||||
https://itsfoss.com/rss/ "~Its FOSS!"
|
||||
https://thelinuxcast.org/feed/feed.xml "~The Linux Cast"
|
||||
https://9to5linux.com/feed/atom "~9to5Linux"
|
||||
https://blog.elementary.io/feed.xml "~elementary OS Blog"
|
||||
https://blog.zorin.com/index.xml "~Zorin OS Blog"
|
||||
http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog"
|
||||
https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
|
||||
https://hackaday.com/blog/feed/ "~Hackaday"
|
||||
https://linux.softpedia.com/backend.xml "~Softpedia Linux"
|
||||
https://www.phoronix.com/rss.php "~Phoronix"
|
||||
https://www.computerworld.com/index.rss "~Computerworld"
|
||||
https://betanews.com/feed "~Betanews Linux"
|
||||
http://lxer.com/module/newswire/headlines.rss "~Lxer"
|
||||
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
|
||||
https://tutanota.com/blog/feed.xml "~Tutanota Blogs"
|
||||
https://techcrunch.com/feed/ "~TechCrunch"
|
||||
http://www.techradar.com/rss "~TechRadar"
|
||||
https://www.zdnet.com/news/rss.xml "~ZDNET - News"
|
||||
https://c3po.website/rss/ "~Blog de C3PO"
|
||||
https://thecheis.com/feed/ "~THE_CHEI$"
|
||||
http://yro.slashdot.org/yro.rss "~Slashdot: Your Rights Online"
|
||||
https://freedom-to-tinker.com/feed/rss/ "~Freedom to Tinker"
|
||||
https://act.eff.org/action.atom "~EFF - Action Center"
|
||||
https://www.eff.org/rss/updates.xml "~EFF - Updates"
|
||||
https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world"
|
||||
https://inv.vern.cc/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
|
||||
https://inv.vern.cc/feed/channel/UC05XpvbHZUQOfA6xk4dlmcw "~YT - DJ Ware"
|
||||
https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
|
||||
https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
|
||||
https://inv.vern.cc/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
|
||||
https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
|
||||
https://inv.vern.cc/feed/channel/UC1yGcBvdPGxRIMT1yo_bKIQ "~YT - Jake@Linux"
|
||||
https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
|
||||
https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
|
||||
https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
|
||||
https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
|
||||
https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
|
||||
https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
|
||||
https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
|
||||
https://inv.vern.cc/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
|
||||
https://inv.vern.cc/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
|
||||
https://inv.vern.cc/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
|
||||
https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
|
||||
https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
|
||||
https://inv.vern.cc/feed/channel/UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
|
||||
https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
|
||||
https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
|
||||
https://inv.vern.cc/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
|
||||
https://inv.vern.cc/feed/channel/UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
|
||||
https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
|
||||
https://inv.vern.cc/feed/channel/UC9lE09jxmMgMoG13WrNHPmA "~YT - World of Tanks Blitz"
|
||||
https://inv.vern.cc/feed/channel/UCAYKj_peyESIMDp5LtHlH2A "~YT - unfa"
|
||||
https://inv.vern.cc/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
|
||||
https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
|
||||
https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
|
||||
https://inv.vern.cc/feed/channel/UCCIHOP7e271SIumQgyl6XBQ "~YT - OldTechBloke"
|
||||
https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
|
||||
https://inv.vern.cc/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
|
||||
https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
|
||||
https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
|
||||
https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
|
||||
https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
|
||||
https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
|
||||
https://inv.vern.cc/feed/channel/UCIFzjAer2W9gTWVECZgtDzg "~YT - GaryH Tech"
|
||||
https://inv.vern.cc/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
|
||||
https://inv.vern.cc/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
|
||||
https://inv.vern.cc/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
|
||||
https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
|
||||
https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
|
||||
https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
|
||||
https://inv.vern.cc/feed/channel/UCNvl_86ygZXRuXjxbONI5jA "~YT - 10leej"
|
||||
https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
|
||||
https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
|
||||
https://inv.vern.cc/feed/channel/UCOSSzBN8e3JHOxvltQbf_mQ "~YT - Jack Keifer"
|
||||
https://inv.vern.cc/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
|
||||
https://inv.vern.cc/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
|
||||
https://inv.vern.cc/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
|
||||
https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
|
||||
https://inv.vern.cc/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
|
||||
https://inv.vern.cc/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
|
||||
https://inv.vern.cc/feed/channel/UCS97tchJDq17Qms3cux8wcA "~YT - chris@machine"
|
||||
https://inv.vern.cc/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
|
||||
https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - NBTV, with Naomi Brockwell"
|
||||
https://inv.vern.cc/feed/channel/UCTNj4UtgopYu5T8ew8WZPuw "~YT - Cat and Andrew"
|
||||
https://inv.vern.cc/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
|
||||
https://inv.vern.cc/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
|
||||
https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
|
||||
https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
|
||||
https://inv.vern.cc/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
|
||||
https://inv.vern.cc/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
|
||||
https://inv.vern.cc/feed/channel/UCX_WM2O-X96URC5n66G-hvw "~YT - EF - Linux Made Simple"
|
||||
https://inv.vern.cc/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
|
||||
https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
|
||||
https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
|
||||
https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
|
||||
https://inv.vern.cc/feed/channel/UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers"
|
||||
https://inv.vern.cc/feed/channel/UCcf2Mr1qNoX51XXDUd3Rquw "~YT - ByteSeb"
|
||||
https://inv.vern.cc/feed/channel/UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone"
|
||||
https://inv.vern.cc/feed/channel/UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat"
|
||||
https://inv.vern.cc/feed/channel/UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents"
|
||||
https://inv.vern.cc/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech"
|
||||
https://inv.vern.cc/feed/channel/UCgkyQiY_Q5AlrygIXGWO2Zw "~YT - Tux Traveler"
|
||||
https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
|
||||
https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
|
||||
https://inv.vern.cc/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
|
||||
https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
|
||||
https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
|
||||
https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
|
||||
https://inv.vern.cc/feed/channel/UCl8XUDjAOLc7GNKcDp9Nepg "~YT - Locos por Linux"
|
||||
https://inv.vern.cc/feed/channel/UClVi5MQZ6T0InZYT7oFs6wg "~YT - Mumbling Hugo"
|
||||
https://inv.vern.cc/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
|
||||
https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
|
||||
https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
|
||||
https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
|
||||
https://inv.vern.cc/feed/channel/UCnIfca4LPFVn8-FjpPVc1ow "~YT - Fedora Project"
|
||||
https://inv.vern.cc/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
|
||||
https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
|
||||
https://inv.vern.cc/feed/channel/UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
|
||||
https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
|
||||
https://inv.vern.cc/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
|
||||
https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
|
||||
https://inv.vern.cc/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
|
||||
https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
|
||||
https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
|
||||
https://inv.vern.cc/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
|
||||
https://inv.vern.cc/feed/channel/UCsBjURrPoezykLs9EqgamOA "~YT - Fireship"
|
||||
https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
|
||||
https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
|
||||
https://inv.vern.cc/feed/channel/UCvFGf8HZGZWFzpcDCqb3Lhw "~YT - All Things Secured"
|
||||
https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
|
||||
https://inv.vern.cc/feed/channel/UCwEEjrUYHDyQsYPTQdNVacg "~YT - Jacob Pradels"
|
||||
https://inv.vern.cc/feed/channel/UCwGX2cE21VPBEJ49hcprP9w "~YT - SupraPixel"
|
||||
https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
|
||||
https://inv.vern.cc/feed/channel/UCxkw-TfCK1t1VKxfHwPzD6w "~YT - Our Walk in Christ"
|
||||
https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
|
||||
https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
|
||||
https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
|
||||
https://inv.vern.cc/feed/channel/UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
|
||||
https://inv.vern.cc/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
|
||||
https://inv.vern.cc/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
exec {
|
||||
/usr/libexec/polkit-gnome-authentication-agent-1
|
||||
echo 25 > $SWAYSOCK.wob
|
||||
hash dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
bash -c ~/.config/sway/pipeinit
|
||||
mako -c ~/.config/mako/config
|
||||
swayidle -w \
|
||||
timeout 300 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"' \
|
||||
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||
before-sleep 'swaylock -f -i "$HOME/.config/sway/wallpaper/locked.*"'
|
||||
wl-paste --type text --watch cliphist store
|
||||
wl-paste --type image --watch cliphist store
|
||||
}
|
||||
|
||||
bar swaybar_command waybar
|
|
@ -1,3 +0,0 @@
|
|||
output * {
|
||||
bg ~/.config/sway/wallpaper/background.* fill
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
pkill pipewire
|
||||
pkill pipewire-pulse
|
||||
pkill wireplumber
|
||||
|
||||
pipewire &
|
||||
pipewire-pulse &
|
||||
wireplumber &
|
Before Width: | Height: | Size: 717 KiB |
Before Width: | Height: | Size: 717 KiB |
|
@ -1,15 +0,0 @@
|
|||
# This file is written by xdg-user-dirs-update
|
||||
# If you want to change or add directories, just edit the line you're
|
||||
# interested in. All local changes will be retained on the next run.
|
||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||
# absolute path. No other format is supported.
|
||||
#
|
||||
XDG_DESKTOP_DIR="$HOME/var/desktop"
|
||||
XDG_DOWNLOAD_DIR="$HOME/var/downloads"
|
||||
XDG_TEMPLATES_DIR="$HOME/media/templates"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/var/public"
|
||||
XDG_DOCUMENTS_DIR="$HOME/media/documents"
|
||||
XDG_MUSIC_DIR="$HOME/media/music"
|
||||
XDG_PICTURES_DIR="$HOME/media/pictures"
|
||||
XDG_VIDEOS_DIR="$HOME/media/videos"
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
currntpwr=$(powerprofilesctl get)
|
||||
if [ "${currntpwr}" = "performance" ]; then
|
||||
pwr="Performance "
|
||||
elif [ "${currntpwr}" = "balanced" ]; then
|
||||
pwr="Balanced "
|
||||
elif [ "${currntpwr}" = "power-saver" ]; then
|
||||
pwr="PowerSaver "
|
||||
fi
|
||||
echo "$pwr"
|
|
@ -1,244 +0,0 @@
|
|||
/* Keyframes */
|
||||
|
||||
@keyframes blink-critical {
|
||||
to {
|
||||
/*color: @white;*/
|
||||
background-color: @critical;
|
||||
}
|
||||
}
|
||||
|
||||
/* Styles */
|
||||
/* Colors (gruvbox) */
|
||||
@define-color black #1d2021;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color blue #458588;
|
||||
@define-color purple #b16286;
|
||||
@define-color aqua #689d6a;
|
||||
@define-color gray #a89984;
|
||||
@define-color gray2 #504945;
|
||||
@define-color orange #d65d0e;
|
||||
@define-color brgray #928374;
|
||||
@define-color brred #fb4934;
|
||||
@define-color brgreen #b8bb26;
|
||||
@define-color bryellow #fabd2f;
|
||||
@define-color brblue #83a598;
|
||||
@define-color brpurple #d3869b;
|
||||
@define-color braqua #8ec07c;
|
||||
@define-color brorange #fe8019;
|
||||
@define-color brwhite #f9f5d7;
|
||||
@define-color white #fbf1c7;
|
||||
@define-color bg2 #3c3836;
|
||||
|
||||
|
||||
@define-color warning @bryellow;
|
||||
@define-color critical @red;
|
||||
@define-color mode @red;
|
||||
@define-color unfocused @bg2;
|
||||
@define-color focused @red;
|
||||
@define-color inactive @purple;
|
||||
@define-color clock #427b58;
|
||||
@define-color network #9d0006;
|
||||
@define-color language #8f3f71;
|
||||
@define-color battery #79740e;
|
||||
@define-color volume #076678;
|
||||
@define-color backlight #b57614;
|
||||
@define-color powerprof #af3a03;
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: @black; /* #282828e0 */
|
||||
color: @white;
|
||||
font-family: Mononoki Nerd Font;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
/* Workspaces stuff */
|
||||
#workspaces button {
|
||||
/*font-weight: bold;*/
|
||||
font-family: Symbols Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
padding-left: 2pt;
|
||||
padding-right: 2pt;
|
||||
color: @white;
|
||||
background: @black;
|
||||
}
|
||||
|
||||
/* Inactive (on unfocused output) */
|
||||
#workspaces button.visible {
|
||||
color: @white;
|
||||
background: @black;
|
||||
}
|
||||
|
||||
/* Active (on focused output) */
|
||||
#workspaces button.focused {
|
||||
color: @white;
|
||||
background: @focused;
|
||||
}
|
||||
|
||||
/* Contains an urgent window */
|
||||
#workspaces button.urgent {
|
||||
color: @black;
|
||||
background: @warning;
|
||||
}
|
||||
|
||||
/* Style when cursor is on the button */
|
||||
#workspaces button:hover {
|
||||
background: @black;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: @red;
|
||||
border-bottom: 3px solid @white;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#custom-powerprofiles,
|
||||
#battery,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#language,
|
||||
#mode {
|
||||
font-family: Symbols Nerd Font Mono, mononoki Nerd Font;
|
||||
font-size: 16px;
|
||||
padding-left: 8pt;
|
||||
padding-right: 8pt;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#window,
|
||||
#workspaces {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#battery.charging,
|
||||
#battery.plugged {
|
||||
background-color: @battery;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging),
|
||||
#battery.critical.discharging {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: @white;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: @clock;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: @battery;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: @backlight;
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: @network;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: @network;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: @volume;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: @volume;
|
||||
}
|
||||
|
||||
#language {
|
||||
background-color: @language;
|
||||
}
|
||||
|
||||
#custom-powerprofiles {
|
||||
background-color: @powerprof;
|
||||
}
|
||||
|
||||
#custom-arrow1 {
|
||||
font-size: 22px;
|
||||
background: @black;
|
||||
color: @language;
|
||||
}
|
||||
|
||||
#custom-arrow2 {
|
||||
font-size: 22px;
|
||||
background: @language;
|
||||
color: @volume;
|
||||
}
|
||||
|
||||
#custom-arrow3 {
|
||||
font-size: 22px;
|
||||
background: @volume;
|
||||
color: @backlight;
|
||||
}
|
||||
|
||||
#custom-arrow4 {
|
||||
font-size: 22px;
|
||||
background: @backlight;
|
||||
color: @battery;
|
||||
}
|
||||
|
||||
#custom-arrow5 {
|
||||
font-size: 22px;
|
||||
background: @battery;
|
||||
color: @powerprof;
|
||||
}
|
||||
|
||||
#custom-arrow6 {
|
||||
font-size: 22px;
|
||||
background: @powerprof;
|
||||
color: @network;
|
||||
}
|
||||
|
||||
#custom-arrow7 {
|
||||
font-size: 22px;
|
||||
background: @network;
|
||||
color: @clock;
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
local wezterm = require 'wezterm'
|
||||
local gpus = wezterm.gui.enumerate_gpus()
|
||||
|
||||
return {
|
||||
enable_wayland = true,
|
||||
font = wezterm.font {
|
||||
family = 'mononoki Nerd Font',
|
||||
weight = 'Medium'
|
||||
},
|
||||
color_scheme = 'Gruvbox dark, hard (base16)',
|
||||
default_prog = { '/usr/bin/fish' },
|
||||
default_cursor_style = "BlinkingUnderline",
|
||||
font_size = 14,
|
||||
check_for_updates = false,
|
||||
use_dead_keys = false,
|
||||
warn_about_missing_glyphs = false,
|
||||
enable_kitty_graphics = true,
|
||||
animation_fps = 1,
|
||||
cursor_blink_rate = 175,
|
||||
hide_tab_bar_if_only_one_tab = true,
|
||||
adjust_window_size_when_changing_font_size = false,
|
||||
window_padding = {
|
||||
left = 10,
|
||||
right = 10,
|
||||
top = 10,
|
||||
bottom = 10,
|
||||
},
|
||||
use_fancy_tab_bar = false,
|
||||
exit_behavior = "Close",
|
||||
window_close_confirmation = 'NeverPrompt',
|
||||
tab_bar_at_bottom = false,
|
||||
window_background_opacity = 0.98,
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
NEOVIDE="$HOME/.local/bin/neovide.AppImage"
|
||||
NEOVIDE_OPTS="--neovim-bin $HOME/.local/bin/lvim"
|
||||
|
||||
$NEOVIDE $NEOVIDE_OPTS
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# clipboard script
|
||||
|
||||
cliphist list | $RUNNER -l 10 -p "[ Clipboard] " | cliphist decode | wl-copy
|
|
@ -1,39 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# ***This script was made by Clay Gomera (Drake)***
|
||||
# - Description: A simple screenshot menu rofi script
|
||||
# - Dependencies: wofi, grim, slurp
|
||||
|
||||
# options
|
||||
option1=" Capture the screen"
|
||||
option2=" Capture region"
|
||||
option3=" Exit"
|
||||
options="$option1\n$option2\n$option3"
|
||||
|
||||
# countdown
|
||||
countdown() {
|
||||
notify-send "Screenshot" "Executing in 3 seconds" -t 1000
|
||||
sleep 1
|
||||
notify-send "Screenshot" "Executing in 2 seconds" -t 1000
|
||||
sleep 1
|
||||
notify-send "Screenshot" "Executing in 1 seconds" -t 1000
|
||||
sleep 2
|
||||
}
|
||||
|
||||
# run
|
||||
choice=$(echo -e "$options" | $RUNNER -l 3 -p "[ Screenshot] " )
|
||||
case $choice in
|
||||
$option1)
|
||||
countdown
|
||||
grim - | wl-copy -t image/jpg
|
||||
notify-send "Screenshot" "Screenshot saved to clipboard"
|
||||
;;
|
||||
$option2)
|
||||
notify-send "Screenshot" "Select a region to capture"
|
||||
grim -g "$(slurp)" - | wl-copy -t image/jpg
|
||||
notify-send "Screenshot" "Region saved to clipboard"
|
||||
;;
|
||||
$option3)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
|
@ -1,28 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# ***This script was made by Clay Gomera (Drake)***
|
||||
# - Description: A simple wallpaper changer script for rofi/dmenu/wofi
|
||||
# - Dependencies: {rofi||dmenu||wofi}, fd, swaybg
|
||||
|
||||
## WALLPAPER DIRECTORY ##
|
||||
walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
|
||||
|
||||
## SELECT PICTURE ##
|
||||
cd "$walldir" || exit 1
|
||||
wallpaper=$(fd -p "$walldir" | $RUNNER -l 5 -i -p "[ Wallpaper Selector] ")
|
||||
if [ -n "$wallpaper" ]; then
|
||||
if [[ "$wallpaper" == *.jpg ]]; then
|
||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.jpg"
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.jpg"
|
||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.jpg" fill
|
||||
elif [[ "$wallpaper" == *.png ]]; then
|
||||
rm -f "$HOME/.config/sway/wallpaper/"*
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/background.png"
|
||||
cp "$wallpaper" "$HOME/.config/sway/wallpaper/locked.png"
|
||||
swaymsg output \* bg "$HOME/.config/sway/wallpaper/background.png" fill
|
||||
fi
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
|
@ -1,150 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# ***This script was made by Clay Gomera (Drake)***
|
||||
# - Description: A simple wifi script for rofi/dmenu/wofi
|
||||
# - Dependencies: {rofi||dmenu||wofi}, NetworkManager, io.elementary.capnet-assist
|
||||
|
||||
#######################
|
||||
## Main manu options ##
|
||||
#######################
|
||||
option1=" Turn on WiFi"
|
||||
option2=" Turn off WiFi"
|
||||
option3=" Disconnect WiFi"
|
||||
option4=" Connect WiFi"
|
||||
option5=" Setup captive portal"
|
||||
option6=" Exit"
|
||||
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
|
||||
|
||||
#####
|
||||
## These variables will store specific
|
||||
## information about the wireless
|
||||
## interface
|
||||
#####
|
||||
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
|
||||
read -r wlan constate <<< "$wifi_info"
|
||||
|
||||
#####
|
||||
## This function uses nmcli to turn
|
||||
## off wifi and then sends a
|
||||
## notification
|
||||
#####
|
||||
## param: none
|
||||
## return: void
|
||||
#####
|
||||
turnoff() {
|
||||
nmcli radio wifi off && notify-send "WiFi has been turned off";
|
||||
}
|
||||
|
||||
#####
|
||||
## This function uses nmcli to turn
|
||||
## on wifi and then sends a
|
||||
## notification
|
||||
#####
|
||||
## param: none
|
||||
## return: void
|
||||
#####
|
||||
turnon() {
|
||||
nmcli radio wifi on && notify-send "WiFi has been turned on";
|
||||
}
|
||||
|
||||
#####
|
||||
## This function uses nmcli and the
|
||||
## $wlan and $constate variables to
|
||||
## disconnect from the wifi network
|
||||
## and then sends a notification
|
||||
#####
|
||||
## param: none
|
||||
## return: void
|
||||
#####
|
||||
disconnect() {
|
||||
if [ "$constate" = "disconnected" ]; then
|
||||
notify-send "WiFi is already disconnected";
|
||||
elif [ "$constate" = "connected" ]; then
|
||||
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected";
|
||||
else
|
||||
exit 1;
|
||||
fi
|
||||
}
|
||||
|
||||
#####
|
||||
## This function uses nmcli to first scan
|
||||
## for available networks and then the
|
||||
## $bssid variable will store the SSID
|
||||
## of the network that the user chooses
|
||||
#####
|
||||
## param: none
|
||||
## return: string
|
||||
#####
|
||||
connect() {
|
||||
notify-send "Scannig networks..." && nmcli dev wifi rescan;
|
||||
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | $RUNNER -i -l 10 -p "[ Select a Wifi Network] ");
|
||||
bssid=$(echo "$wifinet" | cut -d' ' -f1)
|
||||
ssid=$(echo "$wifinet" | cut -d' ' -f3)
|
||||
}
|
||||
|
||||
#####
|
||||
## This function will store the WiFi
|
||||
## password in the $pass variable
|
||||
#####
|
||||
## param: none
|
||||
## return: string
|
||||
#####
|
||||
password() {
|
||||
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved
|
||||
return 0; # no password is required
|
||||
elif nmcli -f BSSID,SECURITY dev wifi list | sed -n '1!p' | grep "$bssid" | awk '{print $2}' | grep -q -- "--"; then # check if the network is open
|
||||
return 0; # no password is required
|
||||
else
|
||||
pass=$($RUNNER -l 0 --password -p "[Enter Password ] " );
|
||||
if [ -n "$pass" ]; then # if the user gave a password
|
||||
return 0;
|
||||
else
|
||||
exit 1; # if not, exit the script
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#####
|
||||
## This function will actually connect
|
||||
## to the chosen WiFi network using the
|
||||
## $bssid and $pass variables
|
||||
#####
|
||||
## param: none
|
||||
## return: void
|
||||
#####
|
||||
action() {
|
||||
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists
|
||||
nmcli dev wifi connect "$bssid" password "$pass"
|
||||
else # if not, that means that the password() function ended in one of the first two conditions, the network is saved or open
|
||||
nmcli dev wifi connect "$bssid";
|
||||
fi
|
||||
}
|
||||
|
||||
##########
|
||||
## main ##
|
||||
##########
|
||||
cases=$(echo -e "$options" | $RUNNER -i -l 6 -p "[ Wifi Settings] " ) # main menu prompt
|
||||
case "$cases" in
|
||||
"$option1")
|
||||
turnon;
|
||||
;;
|
||||
"$option2")
|
||||
turnoff;
|
||||
;;
|
||||
"$option3")
|
||||
disconnect;
|
||||
;;
|
||||
"$option4")
|
||||
if connect; then # if the user chooses a network
|
||||
password; # this function will exit the script if the user didn't put a password
|
||||
action;
|
||||
else
|
||||
exit 1; # if not, exit the script
|
||||
fi
|
||||
;;
|
||||
"$option5")
|
||||
io.elementary.capnet-assist;
|
||||
;;
|
||||
"$option6")
|
||||
exit 0;
|
||||
esac
|