Compare commits

...

No commits in common. "neo" and "archived" have entirely different histories.

133 changed files with 3355 additions and 1638 deletions

36
.config/.gitignore vendored
View file

@ -1,36 +0,0 @@
# Ignore Everything By Default
/*
# Install Script
!install.sh
# Unignore Ignore
!.gitignore
# Oh My Bash
!/oh-my-bash-custom/
# Glow
!/glow/
# Oh My Posh
!omp.toml
# Services
!systemd/
# SSH
!/ssh/
# neovim
!/nvim/
# RA-Mux
!/ra-multiplex/
# git
!/git/
!/git-graph/
# KDE
!kglobalshortcutsrc

View file

@ -1,77 +0,0 @@
persistence = [
'^(master|main)$',
'^(develop|dev)$',
'^feature.*$',
'^release.*$',
'^hotfix.*$',
'^bugfix.*$',
]
order = [
'^(master|main)$',
'^(hotfix|release).*$',
'^(develop|dev)$',
]
[terminal_colors]
matches = [
[
'^(master|main)$',
['bright_blue'],
],
[
'^(develop|dev)$',
['bright_yellow'],
],
[
'^(feature|fork/).*$',
[
'bright_magenta',
'bright_cyan',
],
],
[
'^release.*$',
['bright_green'],
],
[
'^(bugfix|hotfix).*$',
['bright_red'],
],
[
'^tags/.*$',
['bright_green'],
],
]
unknown = ['white']
[svg_colors]
matches = [
[
'^(master|main)$',
['blue'],
],
[
'^(develop|dev)$',
['orange'],
],
[
'^(feature|fork/).*$',
[
'purple',
'turquoise',
],
],
[
'^release.*$',
['green'],
],
[
'^(bugfix|hotfix).*$',
['red'],
],
[
'^tags/.*$',
['green'],
],
]
unknown = ['gray']

View file

@ -1,24 +0,0 @@
persistence = []
order = []
[terminal_colors]
matches = []
unknown = [
'bright_blue',
'bright_yellow',
'bright_green',
'bright_red',
'bright_magenta',
'bright_cyan',
]
[svg_colors]
matches = []
unknown = [
'blue',
'orange',
'green',
'red',
'purple',
'turquoise',
]

View file

@ -1,43 +0,0 @@
persistence = ['^(master|main)$']
order = [
'^tags/.*$',
'^(master|main)$',
]
[terminal_colors]
matches = [
[
'^(master|main)$',
['bright_blue'],
],
[
'^tags/.*$',
['bright_green'],
],
]
unknown = [
'bright_yellow',
'bright_green',
'bright_red',
'bright_magenta',
'bright_cyan',
]
[svg_colors]
matches = [
[
'^(master|main)$',
['blue'],
],
[
'^tags/.*$',
['green'],
],
]
unknown = [
'orange',
'green',
'red',
'purple',
'turquoise',
]

View file

@ -1,33 +0,0 @@
persistence = [
'^(trunk)$',
'^story.*$',
]
order = [
'^trunk$',
]
[terminal_colors]
matches = [
[
'^trunk$',
['bright_blue'],
],
]
unknown = [
'bright_yellow',
'bright_green',
'bright_red',
'bright_magenta',
'bright_cyan',
]
[svg_colors]
matches = []
unknown = [
'blue',
'orange',
'green',
'red',
'purple',
'turquoise',
]

View file

@ -1,210 +0,0 @@
{
"document": {
"block_prefix": "\n",
"block_suffix": "\n",
"color": "#cad3f5",
"margin": 2
},
"block_quote": {
"indent": 1,
"indent_token": "│ "
},
"paragraph": {},
"list": {
"level_indent": 2
},
"heading": {
"block_suffix": "\n",
"color": "#cad3f5",
"bold": true
},
"h1": {
"prefix": " ",
"suffix": " ",
"color": "#24273a",
"background_color": "#8aadf4",
"bold": true
},
"h2": {
"prefix": "██ ",
"suffix": " ",
"color": "#24273a",
"background_color": "#7dc4e4"
},
"h3": {
"prefix": "████ ",
"suffix": " ",
"color": "#24273a",
"background_color": "#91d7e3"
},
"h4": {
"prefix": "██████ ",
"suffix": " ",
"color": "#24273a",
"background_color": "#8bd5ca"
},
"h5": {
"prefix": "████████ ",
"suffix": " ",
"color": "#24273a",
"background_color": "#7dc4e4"
},
"h6": {
"prefix": "██████████ ",
"suffix": " ",
"color": "#24273a",
"background_color": "#b7bdf8"
},
"text": {},
"strikethrough": {
"crossed_out": true
},
"emph": {
"italic": true
},
"strong": {
"bold": true
},
"hr": {
"color": "#6e738d",
"format": "\n──────────────────────────────────────────────────────────────────────────\n"
},
"item": {
"block_prefix": "• "
},
"enumeration": {
"block_prefix": ". "
},
"task": {
"ticked": " ",
"unticked": " "
},
"link": {
"color": "#8aadf4",
"underline": true
},
"link_text": {
"color": "#b7bdf8",
"bold": true
},
"image": {
"color": "#8aadf4",
"underline": true
},
"image_text": {
"color": "#b7bdf8",
"format": "Image: {{.text}} →"
},
"code": {
"prefix": " ",
"suffix": " ",
"color": "#8aadf4",
"background_color": "#363a4f"
},
"code_block": {
"color": "#1e2030",
"margin": 2,
"chroma": {
"text": {
"color": "#cad3f5"
},
"error": {
"color": "#cad3f5",
"background_color": "#ed8796"
},
"comment": {
"color": "#6e738d"
},
"comment_preproc": {
"color": "#8aadf4"
},
"keyword": {
"color": "#c6a0f6"
},
"keyword_reserved": {
"color": "#c6a0f6"
},
"keyword_namespace": {
"color": "#eed49f"
},
"keyword_type": {
"color": "#eed49f"
},
"operator": {
"color": "#91d7e3"
},
"punctuation": {
"color": "#939ab7"
},
"name": {
"color": "#b7bdf8"
},
"name_builtin": {
"color": "#f5a97f"
},
"name_tag": {
"color": "#c6a0f6"
},
"name_attribute": {
"color": "#eed49f"
},
"name_class": {
"color": "#eed49f"
},
"name_constant": {
"color": "#eed49f"
},
"name_decorator": {
"color": "#f5bde6"
},
"name_exception": {},
"name_function": {
"color": "#8aadf4"
},
"name_other": {},
"literal": {},
"literal_number": {
"color": "#f5a97f"
},
"literal_date": {},
"literal_string": {
"color": "#a6da95"
},
"literal_string_escape": {
"color": "#f5bde6"
},
"generic_deleted": {
"color": "#ed8796"
},
"generic_emph": {
"color": "#cad3f5",
"italic": true
},
"generic_inserted": {
"color": "#a6da95"
},
"generic_strong": {
"color": "#cad3f5",
"bold": true
},
"generic_subheading": {
"color": "#91d7e3"
},
"background": {
"background_color": "#363a4f"
}
}
},
"table": {
"center_separator": "┼",
"column_separator": "│",
"row_separator": "─"
},
"definition_list": {},
"definition_term": {},
"definition_description": {
"block_prefix": "\n🠶 "
},
"html_block": {},
"html_span": {}
}

View file

@ -1,8 +0,0 @@
# style name or JSON path (default "auto")
style: "~/.config/glow/catppuccin-macchiato.json"
# mouse support (TUI-mode only)
mouse: false
# use pager to display markdown
pager: false
# word-wrap at width
width: 80

View file

@ -1,3 +0,0 @@
#!/bin/sh
command -v glow &>/dev/null || go install github.com/charmbracelet/glow@latest

View file

@ -1,9 +0,0 @@
#!/bin/sh
$HOME/.config/nvim/install.sh
$HOME/.config/glow/install.sh
$HOME/.config/systemd/install.sh
# Git
command -v delta &>/dev/null || sudo dnf install -y git-delta
command -v git-graph &>/dev/null || cargo install git-graph

View file

@ -1,357 +0,0 @@
[ActivityManager]
_k_friendly_name=Activity Manager
switch-to-activity-06e56b50-274c-44d5-bd05-253d1e88a244=none,none,Switch to activity "Standard"
switch-to-activity-10eae782-cee3-42c7-b63f-6cfa29a432f4=none,none,Switch to activity "Default"
switch-to-activity-12c956f8-79d2-4e10-ba60-c476b4f44bc6=none,none,Switch to activity "Default"
switch-to-activity-c9029e69-ec79-4399-8d82-a2b36f65b1d5=none,none,Switch to activity "Default"
[KDE Keyboard Layout Switcher]
Switch keyboard layout to English (UK, extended, Windows)=none,none,Switch keyboard layout to English (UK\\, extended\\, Windows)
Switch keyboard layout to German (Macintosh)=none,none,Switch keyboard layout to German (Macintosh)
Switch to Last-Used Keyboard Layout=,Meta+Alt+L,Switch to Last-Used Keyboard Layout
Switch to Next Keyboard Layout=,Meta+Alt+K,Switch to Next Keyboard Layout
_k_friendly_name=Keyboard Layout Switcher
[kaccess]
Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Toggle Screen Reader On and Off
_k_friendly_name=Accessibility
[kcm_touchpad]
Disable Touchpad=Touchpad Off,Touchpad Off,
Enable Touchpad=Touchpad On,Touchpad On,
Toggle Touchpad=Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku,Touchpad Toggle\tMeta+Ctrl+Zenkaku Hankaku,
_k_friendly_name=Touchpad
[kmix]
_k_friendly_name=Audio Volume
decrease_microphone_volume=Microphone Volume Down,Microphone Volume Down,Decrease Microphone Volume
decrease_volume=Volume Down,Volume Down,Decrease Volume
decrease_volume_small=Shift+Volume Down,Shift+Volume Down,Decrease Volume by 1%
increase_microphone_volume=Microphone Volume Up,Microphone Volume Up,Increase Microphone Volume
increase_volume=Volume Up,Volume Up,Increase Volume
increase_volume_small=Shift+Volume Up,Shift+Volume Up,Increase Volume by 1%
mic_mute=Microphone Mute\tMeta+Volume Mute,Microphone Mute\tMeta+Volume Mute,Mute Microphone
mute=Volume Mute,Volume Mute,Mute
[ksmserver]
Halt Without Confirmation=none,,Shut Down Without Confirmation
Lock Session=Screensaver,Meta+L\tScreensaver,Lock Session
Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,Show Logout Screen
Log Out Without Confirmation=none,,Log Out Without Confirmation
LogOut=none,,Log Out
Reboot=none,,Reboot
Reboot Without Confirmation=none,,Reboot Without Confirmation
Shut Down=none,,Shut Down
_k_friendly_name=Session Management
[kwin]
Activate Tile 1=none,none,Activate Tile 1
Activate Tile 10=none,none,Activate Tile 10
Activate Tile 2=none,none,Activate Tile 2
Activate Tile 3=none,none,Activate Tile 3
Activate Tile 4=none,none,Activate Tile 4
Activate Tile 5=none,none,Activate Tile 5
Activate Tile 6=none,none,Activate Tile 6
Activate Tile 7=none,none,Activate Tile 7
Activate Tile 8=none,none,Activate Tile 8
Activate Tile 9=none,none,Activate Tile 9
Activate Window Demanding Attention=none,Meta+Ctrl+A,Activate Window Demanding Attention
Assign to Tile 1=none,none,Assign to Tile 1
Assign to Tile 10=none,none,Assign to Tile 10
Assign to Tile 2=none,none,Assign to Tile 2
Assign to Tile 3=none,none,Assign to Tile 3
Assign to Tile 4=none,none,Assign to Tile 4
Assign to Tile 5=none,none,Assign to Tile 5
Assign to Tile 6=none,none,Assign to Tile 6
Assign to Tile 7=none,none,Assign to Tile 7
Assign to Tile 8=none,none,Assign to Tile 8
Assign to Tile 9=none,none,Assign to Tile 9
Cycle Overview=none,none,Cycle through Overview and Grid View
Cycle Overview Opposite=none,none,Cycle through Grid View and Overview
Decrease Opacity=none,,Decrease Opacity of Active Window by 5%
Edit Tiles=none,Meta+T,Toggle Tiles Editor
Expose=none,Ctrl+F9,Toggle Present Windows (Current desktop)
ExposeAll=none,Ctrl+F10\tLaunch (C),Toggle Present Windows (All desktops)
ExposeClass=none,Ctrl+F7,Toggle Present Windows (Window class)
ExposeClassCurrentDesktop=none,none,Toggle Present Windows (Window class on current desktop)
Grid View=none,Meta+G,Toggle Grid View
Increase Opacity=none,,Increase Opacity of Active Window by 5%
Invert=Meta+Ctrl+I,Meta+Ctrl+I,Toggle Invert Effect
Invert Screen Colors=none,none,Invert Screen Colors
InvertWindow=none,Meta+Ctrl+U,Toggle Invert Effect on Window
Kill Window=Alt+Shift+F4\tMeta+Shift+Q,Meta+Ctrl+Esc,Kill Window
KrohnkiteBTreeLayout=none,none,Krohnkite: BTree Layout
KrohnkiteDecrease=none,none,Krohnkite: Decrease
KrohnkiteFloatAll=none,none,Krohnkite: Float All
KrohnkiteFloatingLayout=none,none,Krohnkite: Floating Layout
KrohnkiteFocusDown=Meta+J,none,Krohnkite: Focus Down
KrohnkiteFocusLeft=Meta+H,none,Krohnkite: Focus Left
KrohnkiteFocusNext=none,none,Krohnkite: Focus Next
KrohnkiteFocusPrev=none,none,Krohnkite: Focus Previous
KrohnkiteFocusRight=Meta+L,none,Krohnkite: Focus Right
KrohnkiteFocusUp=Meta+K,none,Krohnkite: Focus Up
KrohnkiteGrowHeight=none,none,Krohnkite: Grow Height
KrohnkiteIncrease=none,none,Krohnkite: Increase
KrohnkiteMonocleLayout=none,none,Krohnkite: Monocle Layout
KrohnkiteNextLayout=Meta+M,none,Krohnkite: Next Layout
KrohnkitePreviousLayout=Meta+Shift+M,none,Krohnkite: Previous Layout
KrohnkiteQuarterLayout=none,none,Krohnkite: Quarter Layout
KrohnkiteRotate=Meta+R,none,Krohnkite: Rotate
KrohnkiteRotatePart=none,none,Krohnkite: Rotate Part
KrohnkiteSetMaster=none,none,Krohnkite: Set master
KrohnkiteShiftDown=Meta+Shift+J,none,Krohnkite: Move Down/Next
KrohnkiteShiftLeft=Meta+Shift+H,none,Krohnkite: Move Left
KrohnkiteShiftRight=Meta+Shift+L,none,Krohnkite: Move Right
KrohnkiteShiftUp=Meta+Shift+K,none,Krohnkite: Move Up/Prev
KrohnkiteShrinkHeight=none,none,Krohnkite: Shrink Height
KrohnkiteShrinkWidth=none,none,Krohnkite: Shrink Width
KrohnkiteSpiralLayout=none,none,Krohnkite: Spiral Layout
KrohnkiteSpreadLayout=none,none,Krohnkite: Spread Layout
KrohnkiteStackedLayout=none,none,Krohnkite: Stacked Layout
KrohnkiteStairLayout=none,none,Krohnkite: Stair Layout
KrohnkiteTileLayout=none,none,Krohnkite: Tile Layout
KrohnkiteToggleFloat=Meta+F,none,Krohnkite: Toggle Float
KrohnkiteTreeColumnLayout=none,none,Krohnkite: Tree Column Layout
KrohnkitegrowWidth=none,none,Krohnkite: Grow Width
Move Tablet to Next Output=none,none,Move the tablet to the next output
MoveMouseToCenter=none,Meta+F6,Move Mouse to Center
MoveMouseToFocus=none,Meta+F5,Move Mouse to Focus
MoveZoomDown=none,none,Move Zoomed Area Downwards
MoveZoomLeft=none,none,Move Zoomed Area to Left
MoveZoomRight=none,none,Move Zoomed Area to Right
MoveZoomUp=none,none,Move Zoomed Area Upwards
Overview=Meta+Tab,Meta+W,Toggle Overview
PoloniumCycleEngine=none,none,Polonium: Cycle Engine
PoloniumFocusAbove=none,none,Polonium: Focus Above
PoloniumFocusBelow=none,none,Polonium: Focus Below
PoloniumFocusLeft=none,none,Polonium: Focus Left
PoloniumFocusRight=none,none,Polonium: Focus Right
PoloniumInsertAbove=none,none,Polonium: Insert Above
PoloniumInsertBelow=none,none,Polonium: Insert Below
PoloniumInsertLeft=none,none,Polonium: Insert Left
PoloniumInsertRight=none,none,Polonium: Insert Right
PoloniumOpenSettings=none,none,Polonium: Open Settings Dialog
PoloniumResizeAbove=none,none,Polonium: Resize Above
PoloniumResizeBelow=none,none,Polonium: Resize Below
PoloniumResizeLeft=none,none,Polonium: Resize Left
PoloniumResizeRight=none,none,Polonium: Resize Right
PoloniumRetileWindow=none,none,Polonium: Retile Window
PoloniumSwitchBTree=none,none,Polonium: Use Binary Tree Engine
PoloniumSwitchHalf=none,none,Polonium: Use Half Engine
PoloniumSwitchKwin=none,none,Polonium: Use KWin Engine
PoloniumSwitchMonocle=none,none,Polonium: Use Monocle Engine
PoloniumSwitchThreeColumn=none,none,Polonium: Use Three Column Engine
Setup Window Shortcut=none,,Setup Window Shortcut
Show Desktop=none,Meta+D,Peek at Desktop
Switch One Desktop Down=none,Meta+Ctrl+Down,Switch One Desktop Down
Switch One Desktop Up=none,Meta+Ctrl+Up,Switch One Desktop Up
Switch One Desktop to the Left=none,Meta+Ctrl+Left,Switch One Desktop to the Left
Switch One Desktop to the Right=none,Meta+Ctrl+Right,Switch One Desktop to the Right
Switch Window Down=none,Meta+Alt+Down,Switch to Window Below
Switch Window Left=none,Meta+Alt+Left,Switch to Window to the Left
Switch Window Right=none,Meta+Alt+Right,Switch to Window to the Right
Switch Window Up=none,Meta+Alt+Up,Switch to Window Above
Switch to Desktop 1=none,Ctrl+F1,Switch to Desktop 1
Switch to Desktop 10=none,,Switch to Desktop 10
Switch to Desktop 11=none,,Switch to Desktop 11
Switch to Desktop 12=none,,Switch to Desktop 12
Switch to Desktop 13=none,,Switch to Desktop 13
Switch to Desktop 14=none,,Switch to Desktop 14
Switch to Desktop 15=none,,Switch to Desktop 15
Switch to Desktop 16=none,,Switch to Desktop 16
Switch to Desktop 17=none,,Switch to Desktop 17
Switch to Desktop 18=none,,Switch to Desktop 18
Switch to Desktop 19=none,,Switch to Desktop 19
Switch to Desktop 2=none,Ctrl+F2,Switch to Desktop 2
Switch to Desktop 20=none,,Switch to Desktop 20
Switch to Desktop 3=none,Ctrl+F3,Switch to Desktop 3
Switch to Desktop 4=none,Ctrl+F4,Switch to Desktop 4
Switch to Desktop 5=none,,Switch to Desktop 5
Switch to Desktop 6=none,,Switch to Desktop 6
Switch to Desktop 7=none,,Switch to Desktop 7
Switch to Desktop 8=none,,Switch to Desktop 8
Switch to Desktop 9=none,,Switch to Desktop 9
Switch to Next Desktop=none,,Switch to Next Desktop
Switch to Next Screen=none,,Switch to Next Screen
Switch to Previous Desktop=none,,Switch to Previous Desktop
Switch to Previous Screen=none,,Switch to Previous Screen
Switch to Screen 0=none,,Switch to Screen 0
Switch to Screen 1=none,,Switch to Screen 1
Switch to Screen 2=none,,Switch to Screen 2
Switch to Screen 3=none,,Switch to Screen 3
Switch to Screen 4=none,,Switch to Screen 4
Switch to Screen 5=none,,Switch to Screen 5
Switch to Screen 6=none,,Switch to Screen 6
Switch to Screen 7=none,,Switch to Screen 7
Switch to Screen Above=none,,Switch to Screen Above
Switch to Screen Below=none,,Switch to Screen Below
Switch to Screen to the Left=Meta+\\,,,Switch to Screen to the Left
Switch to Screen to the Right=Meta+.,,Switch to Screen to the Right
Toggle Night Color=none,none,Suspend/Resume Night Light
Toggle Window Raise/Lower=none,,Toggle Window Raise/Lower
ToggleCurrentThumbnail=none,Meta+Ctrl+T,Toggle Thumbnail for Current Window
Walk Through Windows=Alt+Tab,Alt+Tab,Walk Through Windows
Walk Through Windows (Reverse)=Alt+Shift+Tab,Alt+Shift+Tab,Walk Through Windows (Reverse)
Walk Through Windows Alternative=none,,Walk Through Windows Alternative
Walk Through Windows Alternative (Reverse)=none,,Walk Through Windows Alternative (Reverse)
Walk Through Windows of Current Application=none,Alt+`,Walk Through Windows of Current Application
Walk Through Windows of Current Application (Reverse)=none,Alt+~,Walk Through Windows of Current Application (Reverse)
Walk Through Windows of Current Application Alternative=none,,Walk Through Windows of Current Application Alternative
Walk Through Windows of Current Application Alternative (Reverse)=none,,Walk Through Windows of Current Application Alternative (Reverse)
Window Above Other Windows=none,,Keep Window Above Others
Window Below Other Windows=none,,Keep Window Below Others
Window Close=Alt+F4\tMeta+Q,Alt+F4,Close Window
Window Fullscreen=none,,Make Window Fullscreen
Window Grow Horizontal=none,,Expand Window Horizontally
Window Grow Vertical=none,,Expand Window Vertically
Window Lower=none,,Lower Window
Window Maximize=none,Meta+PgUp,Maximize Window
Window Maximize Horizontal=none,,Maximize Window Horizontally
Window Maximize Vertical=none,,Maximize Window Vertically
Window Minimize=none,Meta+PgDown,Minimize Window
Window Move=none,,Move Window
Window Move Center=none,,Move Window to the Center
Window No Border=none,,Toggle Window Titlebar and Frame
Window On All Desktops=none,,Keep Window on All Desktops
Window One Desktop Down=none,Meta+Ctrl+Shift+Down,Window One Desktop Down
Window One Desktop Up=none,Meta+Ctrl+Shift+Up,Window One Desktop Up
Window One Desktop to the Left=none,Meta+Ctrl+Shift+Left,Window One Desktop to the Left
Window One Desktop to the Right=none,Meta+Ctrl+Shift+Right,Window One Desktop to the Right
Window One Screen Down=none,,Move Window One Screen Down
Window One Screen Up=none,,Move Window One Screen Up
Window One Screen to the Left=none,,Move Window One Screen to the Left
Window One Screen to the Right=none,,Move Window One Screen to the Right
Window Operations Menu=none,Alt+F3,Window Operations Menu
Window Pack Down=none,,Move Window Down
Window Pack Left=none,,Move Window Left
Window Pack Right=none,,Move Window Right
Window Pack Up=none,,Move Window Up
Window Quick Tile Bottom=none,Meta+Down,Quick Tile Window to the Bottom
Window Quick Tile Bottom Left=none,,Quick Tile Window to the Bottom Left
Window Quick Tile Bottom Right=none,,Quick Tile Window to the Bottom Right
Window Quick Tile Left=none,Meta+Left,Quick Tile Window to the Left
Window Quick Tile Right=none,Meta+Right,Quick Tile Window to the Right
Window Quick Tile Top=none,Meta+Up,Quick Tile Window to the Top
Window Quick Tile Top Left=none,,Quick Tile Window to the Top Left
Window Quick Tile Top Right=none,,Quick Tile Window to the Top Right
Window Raise=none,,Raise Window
Window Resize=none,,Resize Window
Window Shade=none,,Shade Window
Window Shrink Horizontal=none,,Shrink Window Horizontally
Window Shrink Vertical=none,,Shrink Window Vertically
Window to Desktop 1=none,,Window to Desktop 1
Window to Desktop 10=none,,Window to Desktop 10
Window to Desktop 11=none,,Window to Desktop 11
Window to Desktop 12=none,,Window to Desktop 12
Window to Desktop 13=none,,Window to Desktop 13
Window to Desktop 14=none,,Window to Desktop 14
Window to Desktop 15=none,,Window to Desktop 15
Window to Desktop 16=none,,Window to Desktop 16
Window to Desktop 17=none,,Window to Desktop 17
Window to Desktop 18=none,,Window to Desktop 18
Window to Desktop 19=none,,Window to Desktop 19
Window to Desktop 2=none,,Window to Desktop 2
Window to Desktop 20=none,,Window to Desktop 20
Window to Desktop 3=none,,Window to Desktop 3
Window to Desktop 4=none,,Window to Desktop 4
Window to Desktop 5=none,,Window to Desktop 5
Window to Desktop 6=none,,Window to Desktop 6
Window to Desktop 7=none,,Window to Desktop 7
Window to Desktop 8=none,,Window to Desktop 8
Window to Desktop 9=none,,Window to Desktop 9
Window to Next Desktop=none,,Window to Next Desktop
Window to Next Screen=Meta+>,Meta+Shift+Right,Move Window to Next Screen
Window to Previous Desktop=none,,Window to Previous Desktop
Window to Previous Screen=Meta+<,Meta+Shift+Left,Move Window to Previous Screen
Window to Screen 0=none,,Move Window to Screen 0
Window to Screen 1=none,,Move Window to Screen 1
Window to Screen 2=none,,Move Window to Screen 2
Window to Screen 3=none,,Move Window to Screen 3
Window to Screen 4=none,,Move Window to Screen 4
Window to Screen 5=none,,Move Window to Screen 5
Window to Screen 6=none,,Move Window to Screen 6
Window to Screen 7=none,,Move Window to Screen 7
_k_friendly_name=KWin
view_actual_size=none,Meta+0,Zoom to Actual Size
view_zoom_in=Meta++\tMeta+=,Meta++\tMeta+=,Zoom In
view_zoom_out=Meta+-,Meta+-,Zoom Out
[mediacontrol]
_k_friendly_name=Media Controller
mediavolumedown=none,,Media volume down
mediavolumeup=none,,Media volume up
nextmedia=Media Next,Media Next,Media playback next
pausemedia=Media Pause,Media Pause,Pause media playback
playmedia=none,,Play media playback
playpausemedia=Media Play,Media Play,Play/Pause media playback
previousmedia=Media Previous,Media Previous,Media playback previous
stopmedia=Media Stop,Media Stop,Stop media playback
[org_kde_powerdevil]
Decrease Keyboard Brightness=Keyboard Brightness Down,Keyboard Brightness Down,Decrease Keyboard Brightness
Decrease Screen Brightness=Monitor Brightness Down,Monitor Brightness Down,Decrease Screen Brightness
Decrease Screen Brightness Small=Shift+Monitor Brightness Down,Shift+Monitor Brightness Down,Decrease Screen Brightness by 1%
Hibernate=Hibernate,Hibernate,Hibernate
Increase Keyboard Brightness=Keyboard Brightness Up,Keyboard Brightness Up,Increase Keyboard Brightness
Increase Screen Brightness=Monitor Brightness Up,Monitor Brightness Up,Increase Screen Brightness
Increase Screen Brightness Small=Shift+Monitor Brightness Up,Shift+Monitor Brightness Up,Increase Screen Brightness by 1%
PowerDown=Power Down,Power Down,Power Down
PowerOff=Power Off,Power Off,Power Off
Sleep=Sleep,Sleep,Suspend
Toggle Keyboard Backlight=Keyboard Light On/Off,Keyboard Light On/Off,Toggle Keyboard Backlight
Turn Off Screen=none,none,Turn Off Screen
_k_friendly_name=Power Management
powerProfile=Battery\tMeta+B,Battery\tMeta+B,Switch Power Profile
[plasmashell]
_k_friendly_name=plasmashell
activate application launcher=Meta,Meta\tAlt+F1,Activate Application Launcher
activate task manager entry 1=Meta+1,Meta+1,Activate Task Manager Entry 1
activate task manager entry 10=none,Meta+0,Activate Task Manager Entry 10
activate task manager entry 2=Meta+2,Meta+2,Activate Task Manager Entry 2
activate task manager entry 3=Meta+3,Meta+3,Activate Task Manager Entry 3
activate task manager entry 4=Meta+4,Meta+4,Activate Task Manager Entry 4
activate task manager entry 5=Meta+5,Meta+5,Activate Task Manager Entry 5
activate task manager entry 6=Meta+6,Meta+6,Activate Task Manager Entry 6
activate task manager entry 7=Meta+7,Meta+7,Activate Task Manager Entry 7
activate task manager entry 8=Meta+8,Meta+8,Activate Task Manager Entry 8
activate task manager entry 9=Meta+9,Meta+9,Activate Task Manager Entry 9
activate widget 5=Alt+F1,none,Activate Application Launcher Widget
clear-history=none,,Clear Clipboard History
clipboard_action=none,Meta+Ctrl+X,Automatic Action Popup Menu
cycle-panels=Meta+Alt+P,Meta+Alt+P,Move keyboard focus between panels
cycleNextAction=none,,Next History Item
cyclePrevAction=none,,Previous History Item
manage activities=none,Meta+Q,Show Activity Switcher
next activity=Meta+A,none,Walk through activities
previous activity=Meta+Shift+A,none,Walk through activities (Reverse)
repeat_action=none,Meta+Ctrl+R,Manually Invoke Action on Current Clipboard
show dashboard=Ctrl+F12,Ctrl+F12,Show Desktop
show-barcode=none,,Show Barcode…
show-on-mouse-pos=Meta+V,Meta+V,Show Clipboard Items at Mouse Position
stop current activity=Meta+S,Meta+S,Stop Current Activity
switch to next activity=none,,Switch to Next Activity
switch to previous activity=none,,Switch to Previous Activity
toggle do not disturb=none,,Toggle do not disturb
[services][org.kde.dolphin.desktop]
_launch=none
[services][org.kde.konsole.desktop]
_launch=Meta+Return
[services][org.kde.krunner.desktop]
RunClipboard=none
_launch=Meta+Space
[services][org.kde.plasma.emojier.desktop]
_launch=none
[services][org.kde.spectacle.desktop]
FullScreenScreenShot=none
RecordRegion=none
RecordScreen=none
RecordWindow=none
RectangularRegionScreenShot=Meta+Shift+S\tPrint
WindowUnderCursorScreenShot=none
_launch=none

@ -1 +0,0 @@
Subproject commit 92d70b76422934b1646d8698d5c945332e308477

View file

@ -1 +0,0 @@

View file

@ -1,5 +0,0 @@
# agnoster modded
```bash
DEFAULT_USER="username"
```

View file

@ -1,427 +0,0 @@
#! bash oh-my-bash.module
PROMPT_DIRTRIM=${PROMPT_DIRTRIM:-2} # bash4 and above
######################################################################
## Configurations in Oh My Bash
OMB_PROMPT_SHOW_PYTHON_VENV=${OMB_PROMPT_SHOW_PYTHON_VENV:=true}
######################################################################
DEBUG=0
function debug {
if [[ ${DEBUG} -ne 0 ]]; then
>&2 echo -e "$@"
fi
}
######################################################################
### Segment drawing
# A few utility functions to make it easy and re-usable to draw segmented prompts
CURRENT_BG='NONE'
CURRENT_RBG='NONE'
SEGMENT_SEPARATOR=''
RIGHT_SEPARATOR=''
LEFT_SUBSEG=''
RIGHT_SUBSEG=''
function text_effect {
case "$1" in
reset) echo 0;;
bold) echo 1;;
underline) echo 4;;
esac
}
# to add colors, see
# http://bitmote.com/index.php?post/2012/11/19/Using-ANSI-Color-Codes-to-Colorize-Your-Bash-Prompt-on-Linux
# under the "256 (8-bit) Colors" section, and follow the example for orange below
function fg_color {
case "$1" in
black) echo 30;;
red) echo 31;;
green) echo 32;;
yellow) echo 33;;
blue) echo 34;;
magenta) echo 35;;
cyan) echo 36;;
white) echo 37;;
orange) echo 38\;5\;166;;
esac
}
function bg_color {
case "$1" in
black) echo 40;;
red) echo 41;;
green) echo 42;;
yellow) echo 43;;
blue) echo 44;;
magenta) echo 45;;
cyan) echo 46;;
white) echo 47;;
orange) echo 48\;5\;166;;
esac;
}
# TIL: declare is global not local, so best use a different name
# for codes (mycodes) as otherwise it'll clobber the original.
# this changes from BASH v3 to BASH v4.
function ansi {
local seq
local -a mycodes=("${!1}")
debug "ansi: ${!1} all: $* aka ${mycodes[@]}"
seq=""
local i
for ((i = 0; i < ${#mycodes[@]}; i++)); do
if [[ -n $seq ]]; then
seq="${seq};"
fi
seq="${seq}${mycodes[$i]}"
done
debug "ansi debug:" '\\[\\033['${seq}'m\\]'
echo -ne '\[\033['${seq}'m\]'
# PR="$PR\[\033[${seq}m\]"
}
function ansi_single {
echo -ne '\[\033['$1'm\]'
}
# Begin a segment
# Takes two arguments, background and foreground. Both can be omitted,
# rendering default background/foreground.
function prompt_segment {
local bg fg
local -a codes
debug "Prompting $1 $2 $3"
# if commented out from kruton's original... I'm not clear
# if it did anything, but it messed up things like
# prompt_status - Erik 1/14/17
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
codes=("${codes[@]}" $(text_effect reset))
# fi
if [[ -n $1 ]]; then
bg=$(bg_color $1)
codes=("${codes[@]}" $bg)
debug "Added $bg as background to codes"
fi
if [[ -n $2 ]]; then
fg=$(fg_color $2)
codes=("${codes[@]}" $fg)
debug "Added $fg as foreground to codes"
fi
debug "Codes: "
# local -p codes
if [[ $CURRENT_BG != NONE && $1 != $CURRENT_BG ]]; then
local -a intermediate=($(fg_color $CURRENT_BG) $(bg_color $1))
debug "pre prompt " $(ansi intermediate[@])
PR="$PR $(ansi intermediate[@])$SEGMENT_SEPARATOR"
debug "post prompt " $(ansi codes[@])
PR="$PR$(ansi codes[@]) "
else
debug "no current BG, codes is $codes[@]"
PR="$PR$(ansi codes[@]) "
fi
CURRENT_BG=$1
[[ -n $3 ]] && PR="$PR$3"
}
# End the prompt, closing any open segments
function prompt_end {
if [[ -n $CURRENT_BG ]]; then
local -a codes=($(text_effect reset) $(fg_color $CURRENT_BG))
PR="$PR $(ansi codes[@])$SEGMENT_SEPARATOR"
fi
local -a reset=($(text_effect reset))
PR="$PR $(ansi reset[@])"
CURRENT_BG=''
}
### virtualenv prompt
function prompt_virtualenv {
# Exclude pyenv
[[ $PYENV_VIRTUALENV_INIT == 1 ]] && _omb_util_binary_exists pyenv && return 0
if [[ -d $VIRTUAL_ENV ]]; then
# Python could output the version information in both stdout and
# stderr (e.g. if using pyenv, the output goes to stderr).
local VERSION_OUTPUT=$("$VIRTUAL_ENV"/bin/python --version 2>&1)
# The last word of the output of `python --version`
# corresponds to the version number.
local VENV_VERSION=$(awk '{print $NF}' <<< "$VERSION_OUTPUT")
prompt_segment cyan white "[v] $(basename "$VENV_VERSION")"
fi
}
### pyenv prompt
function prompt_pyenv {
if [[ $PYENV_VIRTUALENV_INIT == 1 ]] && _omb_util_binary_exists pyenv; then
# Priority is shell > local > global
# When pyenv shell is set, the environment variable $PYENV_VERSION is set with the value we want
if [[ ! ${PYENV_VERSION-} ]]; then
# If not set, fall back to pyenv local/global to get the version
local PYENV_VERSION=$(pyenv local 2>/dev/null || pyenv global 2>/dev/null)
fi
# If it is not the system's python, then display additional info
if [[ "$PYENV_VERSION" != "system" ]]; then
# It's a pyenv virtualenv, get the version number
if [[ -d $PYENV_VIRTUAL_ENV ]]; then
local VERSION_OUTPUT=$("$PYENV_VIRTUAL_ENV"/bin/python --version 2>&1)
local PYENV_VENV_VERSION=$(awk '{print $NF}' <<< "$VERSION_OUTPUT")
prompt_segment cyan white "[$PYENV_VERSION] $(basename "$PYENV_VENV_VERSION")"
else
prompt_segment cyan white "$PYENV_VERSION"
fi
fi
fi
}
### conda env prompt
function prompt_condaenv {
if [[ -d $CONDA_PREFIX ]]; then
if [[ ! $CONDA_PROMPT_MODIFIER ]]; then
CONDA_PROMPT_MODIFIER=$(basename "$CONDA_PREFIX")
fi
local CONDA_PYTHON_VERSION=$("$CONDA_PREFIX"/bin/python -c 'import platform;print(platform.python_version())')
prompt_segment cyan white "[c] $CONDA_PROMPT_MODIFIER $CONDA_PYTHON_VERSION"
fi
}
### Prompt components
# Each component will draw itself, and hide itself if no information needs to be shown
# Context: user@hostname (who am I and where am I)
function prompt_context {
local user=$(whoami)
if [[ $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
prompt_segment black default "$user@\h"
fi
}
# prints history followed by HH:MM, useful for remembering what
# we did previously
function prompt_histdt {
prompt_segment black default "\! [\A]"
}
function git_status_dirty {
dirty=$(command git status -s 2> /dev/null | tail -n 1)
[[ -n $dirty ]] && echo " ●"
}
function git_stash_dirty {
stash=$(command git stash list 2> /dev/null | tail -n 1)
[[ -n $stash ]] && echo " ⚑"
}
# Git: branch/detached head, dirty status
function prompt_git {
local ref dirty
if command git rev-parse --is-inside-work-tree &>/dev/null; then
ZSH_THEME_GIT_PROMPT_DIRTY='±'
dirty=$(git_status_dirty)
stash=$(git_stash_dirty)
ref=$(command git symbolic-ref HEAD 2> /dev/null) ||
ref="$(command git describe --exact-match --tags HEAD 2> /dev/null)" ||
ref="$(command git show-ref --head -s --abbrev | head -n1 2> /dev/null)"
if [[ -n $dirty ]]; then
prompt_segment yellow black
else
prompt_segment green black
fi
PR="$PR${ref/refs\/heads\// }$stash$dirty"
fi
}
# Mercurial: clean, modified and uncomitted files
function prompt_hg {
local rev st branch
if hg id &>/dev/null; then
if hg prompt &>/dev/null; then
if [[ $(hg prompt "{status|unknown}") == '?' ]]; then
# if files are not added
prompt_segment red white
st='±'
elif [[ $(hg prompt "{status|modified}") ]]; then
# if any modification
prompt_segment yellow black
st='±'
else
# if working copy is clean
prompt_segment green black $CURRENT_FG
fi
PR="$PR$(hg prompt "☿ {rev}@{branch}") $st"
else
st=""
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
branch=$(hg id -b 2>/dev/null)
if hg st | grep -q "^\?"; then
prompt_segment red white
st='±'
elif hg st | grep -q "^[MA]"; then
prompt_segment yellow black
st='±'
else
prompt_segment green black $CURRENT_FG
fi
PR="$PR$rev@$branch $st"
fi
fi
}
# Dir: current working directory
function prompt_dir {
prompt_segment blue black '\w'
}
# Status:
# - was there an error
# - am I root
# - are there background jobs?
function prompt_status {
local symbols
symbols=()
[[ $RETVAL -ne 0 ]] && symbols+="$(ansi_single $(fg_color red))"
[[ $UID -eq 0 ]] && symbols+="$(ansi_single $(fg_color yellow))"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="$(ansi_single $(fg_color cyan))"
[[ -n "$symbols" ]] && prompt_segment black default "$symbols"
}
######################################################################
#
# experimental right prompt stuff
# requires setting prompt_foo to use PRIGHT vs PR
# doesn't quite work per above
function rightprompt {
printf "%*s" $COLUMNS "$PRIGHT"
}
# quick right prompt I grabbed to test things.
function __command_rprompt {
local times= n=$COLUMNS tz
for tz in ZRH:Europe/Zurich PIT:US/Eastern \
MTV:US/Pacific TOK:Asia/Tokyo; do
[ $n -gt 40 ] || break
times="$times ${tz%%:*}\e[30;1m:\e[0;36;1m"
times="$times$(TZ=${tz#*:} date +%H:%M)\e[0m"
n=$(( $n - 10 ))
done
[ -z "$times" ] || printf "%${n}s$times\\r" ''
}
# this doens't wrap code in \[ \]
function ansi_r {
local seq
local -a mycodes2=("${!1}")
debug "ansi: ${!1} all: $* aka ${mycodes2[@]}"
seq=""
local i
for ((i = 0; i < ${#mycodes2[@]}; i++)); do
if [[ -n $seq ]]; then
seq="${seq};"
fi
seq="${seq}${mycodes2[$i]}"
done
debug "ansi debug:" '\\[\\033['${seq}'m\\]'
echo -ne '\033['${seq}'m'
# PR="$PR\[\033[${seq}m\]"
}
# Begin a segment on the right
# Takes two arguments, background and foreground. Both can be omitted,
# rendering default background/foreground.
function prompt_right_segment {
local bg fg
local -a codes
debug "Prompt right"
debug "Prompting $1 $2 $3"
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
codes=("${codes[@]}" $(text_effect reset))
# fi
if [[ -n $1 ]]; then
bg=$(bg_color $1)
codes=("${codes[@]}" $bg)
debug "Added $bg as background to codes"
fi
if [[ -n $2 ]]; then
fg=$(fg_color $2)
codes=("${codes[@]}" $fg)
debug "Added $fg as foreground to codes"
fi
debug "Right Codes: "
# local -p codes
local -a intermediate2=($(fg_color $1) $(bg_color $CURRENT_RBG) )
# PRIGHT="$PRIGHT---"
debug "pre prompt " $(ansi_r intermediate2[@])
PRIGHT="$PRIGHT$(ansi_r intermediate2[@])$RIGHT_SEPARATOR"
debug "post prompt " $(ansi_r codes[@])
PRIGHT="$PRIGHT$(ansi_r codes[@]) "
# else
# debug "no current BG, codes is $codes[@]"
# PRIGHT="$PRIGHT$(ansi codes[@]) "
# fi
CURRENT_RBG=$1
[[ -n $3 ]] && PRIGHT="$PRIGHT$3"
}
######################################################################
## Emacs prompt --- for dir tracking
function prompt_emacsdir {
# no color or other setting... this will be deleted per above
PR="DIR \w DIR$PR"
}
######################################################################
## Main prompt
function build_prompt {
[[ ! -z ${AG_EMACS_DIR+x} ]] && prompt_emacsdir
prompt_status
#[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt
[[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context
if [[ ${OMB_PROMPT_SHOW_PYTHON_VENV-} ]]; then
prompt_virtualenv
prompt_pyenv
prompt_condaenv
fi
prompt_dir
prompt_git
prompt_hg
prompt_end
}
function _omb_theme_PROMPT_COMMAND {
local RETVAL=$?
local PRIGHT=""
local CURRENT_BG=NONE
local PR="$(ansi_single $(text_effect reset))"
build_prompt
# uncomment below to use right prompt
# PS1='\[$(tput sc; printf "%*s" $COLUMNS "$PRIGHT"; tput rc)\]'$PR
PS1=$PR
}
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND

View file

@ -1,96 +0,0 @@
version = 2
final_space = true
console_title_template = '{{ .Shell }} in {{ .Folder }}'
[[blocks]]
type = 'prompt'
alignment = 'left'
newline = true
[[blocks.segments]]
type = 'path'
style = 'diamond'
leading_diamond = ''
trailing_diamond = ''
template = '{{ path .Path .Location }} '
background = 'p:beige'
foreground = 'p:black'
[blocks.segments.properties]
style = 'agnoster_full'
[blocks.segments.properties.mapped_locations]
"~" = ""
"~/Downloads" = "󰇚"
"~/Workspace" = " "
"~/Workspace/Learning" = "󰑴 "
"~/Workspace/School" = " "
"~/Workspace/AdventOfCode" = " "
"~/Workspace/Userscripts" = "󰯁"
"~/Workspace/Forgejo" = ""
[[blocks.segments]]
type = 'git'
style = 'diamond'
trailing_diamond = ''
leading_diamond = '<transparent,background></>'
background_templates = [
'{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}',
'{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}',
'{{ if gt .Ahead 0 }}#49416D{{ end }}',
'{{ if gt .Behind 0 }}#7A306C{{ end }}',
]
template = ' {{ if .UpstreamURL }}{{ .UpstreamIcon }}{{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }} '
background = 'p:green'
foreground = 'p:black'
[blocks.segments.properties]
branch_max_length = 25
fetch_status = true
fetch_upstream_icon = true
[[blocks.segments]]
type = 'root'
style = 'powerline'
powerline_symbol = '60°, 10'
template = '  '
background = 'p:yellow'
foreground = 'p:white'
[[blocks.segments]]
type = 'node'
style = 'diamond'
trailing_diamond = ''
leading_diamond = '<transparent,background></>'
template = 'JS  '
background = 'p:gray'
foreground = 'p:green'
[blocks.segments.properties]
display_mode = 'files'
fetch_package_manager = false
home_enabled = false
[[blocks.segments]]
type = 'go'
style = 'diamond'
trailing_diamond = ''
leading_diamond = '<transparent,background></>'
template = 'Go  '
background = 'p:gray'
foreground = 'p:cyan'
[transient_prompt]
template = "\ue285 "
[palette]
black = '#11111b'
gray = '#6c7086'
blue = '#89b4fa'
cyan = '#74c7ec'
green = '#a6e3a1'
orange = '#fab387'
red = '#f38ba8'
white = '#cdd6f4'
yellow = '#f9e2af'
beige = '#f2cdcd'

View file

@ -1,6 +0,0 @@
instance_timeout = 600 # after 10 minutes
gc_interval = 10 # every 10 seconds
listen = ["127.0.0.1", 27631] # localhost & some random unprivileged port
connect = ["127.0.0.1", 27631] # same as `listen`
log_filters = "info"
pass_environment = []

View file

@ -1,3 +0,0 @@
*
!.gitignore
config

View file

@ -1,31 +0,0 @@
Host git.euph.dev
User git
HostName git.euph.dev
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitea-snoweuph
Host github.com
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github-snoweuph
Host portainer.admin.euph.site
User root
Port 69
IdentityFile ~/.ssh/admin-yubikey-primary
IdentityFile ~/.ssh/admin-yubikey-secondary
IdentitiesOnly yes
Host nextcloud.euph.site
User root
IdentityFile ~/.ssh/admin-yubikey-primary
IdentityFile ~/.ssh/admin-yubikey-secondary
IdentitiesOnly yes
Host euph.email
User root
IdentityFile ~/.ssh/admin-yubikey-primary
IdentityFile ~/.ssh/admin-yubikey-secondary
IdentitiesOnly yes

View file

@ -1,3 +0,0 @@
#!/bin/sh
command -v ra-multiplex &>/dev/null || cargo install ra-multiplex

View file

@ -1 +0,0 @@
/home/snoweuph/.config/systemd/user/ra-multiplex.service

View file

@ -1,9 +0,0 @@
[Unit]
Description=Multiplex Rust Analyzer Sessions, for a fast LSP experience
[Service]
Type=simple
ExecStart=/usr/bin/zsh -lc 'source %h/.profile && exec ra-multiplex server'
[Install]
WantedBy=default.target

View file

@ -1,31 +0,0 @@
[user]
name = Snoweuph
email = snow+git@euph.email
signingkey = 99ED4727EFBFF719
[commit]
gpgSign = true
[push]
autosetupremote = true
[help]
autoCorrect = prompt
[core]
editor = nvim
pager = delta
commentChar = ";"
[diff]
colorMoved = default
[fetch]
prune = true
prunetags = true
[alias]
adog ="!git-graph --model=trunk --color=always | LESS='-R' less"
fl = push --force-with-lease
prune-branches = "!git fetch -p && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs -r git branch -d"
show-last-commit = diff HEAD^
unstage = "restore --staged"

61
.gitignore vendored
View file

@ -1,32 +1,49 @@
# Ignore Everything By Default
/*
# Ignore All
*
# Include Git Files
# Include .gitignore
!.gitignore
!.gitmodules
# Include Git config
!.gitconfig
# Include Readme.md
!Readme.md
# Include bash config
!.bash_profile
!.bashrc
!.profile
# Include Rice-bowl Dir
!rice-bowl/**/*
!rice-bowl/*
!rice-bowl/
# Include zsh config
!.zshrc
# Include I3 Dir
!i3/**/*
!i3/
# Include config
!.config/
# Include Awesone Dir
!awesome/**/*
!awesome
# Include ssh Symlink
!.ssh
# Include Picom Dir
!picom/**/*
!picom/
# Include Gnupg
!.gnupg/
# Include Polybar Dir
!polybar/**/*
!polybar
# Include Resource
!Resources/
# Include Allacrity Dir
!alacritty/**/*
!alacritty/
# Include local
!.local/
# Include Flameshot Dir
!flameshot/**/*
!flameshot/
# Include Cava Dir
!cava/**/*
!cava/
# Include Rofi Dir
!rofi/**/*
!rofi/
# Include Dunst Dir
!dunst/**/*
!dunst/

4
.gitmodules vendored
View file

@ -1,4 +0,0 @@
[submodule "nvim"]
path = .config/nvim
url = git@git.euph.dev:Snoweuph/Dotfiles_nvim.git
branch = master

View file

@ -1 +0,0 @@
enable-ssh-support

View file

@ -1,12 +0,0 @@
# List of allowed ssh keys. Only keys present in this file are used
# in the SSH protocol. The ssh-add tool may add new entries to this
# file to enable them; you may also add them manually. Comment
# lines, like this one, as well as empty lines are ignored. Lines do
# have a certain length limit but this is not serious limitation as
# the format of the entries is fixed and checked by gpg-agent. A
# non-comment line starts with optional white spaces, followed by the
# keygrip of the key given as 40 hex digits, optionally followed by a
# caching TTL in seconds, and another optional field for arbitrary
# flags. Prepend the keygrip with an '!' mark to disable it.
F0DAEE5CEB66D4072981216F672366437DC9D04

6
.local/.gitignore vendored
View file

@ -1,6 +0,0 @@
# Ignore Everything By Default
/*
!.gitignore
# Include Share
!share/

View file

@ -1,6 +0,0 @@
# Ignore Everything By Default
/*
!.gitignore
# Include dotfiles
!dotfiles/

View file

@ -1,3 +0,0 @@
#!/bin/sh
cargo install git-graph

View file

@ -1,35 +0,0 @@
# System
export LOCAL_BIN="$HOME/.local/bin"
# Volta
export VOLTA_HOME="$HOME/.local/share/volta"
# NPM
export npm_config_cache="$HOME/.cache/npm"
export npm_config_prefix="$HOME/.local/share/npm"
export npm_config_userconfig="$HOME/.config/npmrc"
export npm_config_loglevel="verbose"
export npm_config_log="$HOME/.local/share/npm/logs"
# Jetbrains Toolbox
export JETBRAINS_TOOLBOX_HOME="/home/snoweuph/.local/share/JetBrains/Toolbox"
# Go
export GOPATH=~/.local/share/go
export GOBIN=$GOPATH/bin
# Rust
export CARGO_HOME=$HOME/.local/share/cargo
export RUSTUP_HOME=$HOME/.local/share/rustup
# Php
export COMPOSER_HOME=$HOME/.local/share/composer
export PATH="$PATH:$LOCAL_BIN:$VOLTA_HOME/bin:$GOBIN:$CARGO_HOME/bin:$COMPOSER_HOME/vendor/bin:$JETBRAINS_TOOLBOX_HOME/scripts:$"
# ROCM - RX 6650 XT
export HSA_OVERRIDE_GFX_VERSION=10.3.0
# Just
export JUST_UNSTABLE=1

1
.ssh
View file

@ -1 +0,0 @@
./.config/ssh

112
.zshrc
View file

@ -1,112 +0,0 @@
# Oh My Posh
#########################################################
export PATH=$PATH:"$HOME/.local/bin"
OMP_EXECUTABLE="${XDG_DATA_HOME:-${HOME}/.local}/bin/oh-my-posh"
[ ! -f $OMP_EXECUTABLE ] && curl -s https://ohmyposh.dev/install.sh | bash -s
eval "$(oh-my-posh init zsh --config ~/.config/omp.toml)"
# Zinit
#########################################################
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"
[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
source "${ZINIT_HOME}/zinit.zsh"
# Core Plugins
zinit snippet OMZP::command-not-found
zinit snippet OMZP::colored-man-pages
zinit light zsh-users/zsh-autosuggestions
zinit light zdharma-continuum/fast-syntax-highlighting
autoload -Uz compinit
compinit
# Basic ZSH
#########################################################
# History
HISTFILE=~/.histfile
HISTSIZE=10000
SAVEHIST=1000
# Disable Bell
unsetopt beep
# Keybinding
bindkey '\e[1;5C' forward-word
bindkey '\e[1;5D' backward-word
WORDCHARS="_-" # Define These Characters as Part of "Words"
# Application Envs
#########################################################
export EDITOR=nvim
# GPG
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null
zinit snippet OMZP::git
zinit snippet OMZP::docker-compose
zinit snippet OMZP::podman
zinit snippet OMZP::toolbox
zinit snippet OMZP::rust
zinit snippet OMZP::composer
zinit snippet OMZP::symfony6
source $HOME/.profile
# Install Dependencies
[ ! -d $VOLTA_HOME ] && curl https://get.volta.sh | bash -s -- --skip-setup && volta install node@lts
command -v go &>/dev/null || sudo dnf install go
[ ! -d $RUSTUP_HOME ] && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path -y
command -v composer &>/dev/null || sudo dnf install composer
# Install Scripts
$HOME/.config/install.sh
# Aliases
#########################################################
alias edit-nvim-conf="nvim ~/.config/nvim"
alias edit-zsh-conf="nvim ~/.zshrc"
alias hist="eval \$(cat $HISTFILE | fzf)"
alias nano="nvim"
alias neofetch="fastfetch"
alias notes="glow $HOME/Dokumente/Notes --all"
ws() {
local -A path_icons=(
["$HOME/Workspace/Learning"]='3,󰑴 '
["$HOME/Workspace/School"]='3, '
["$HOME/Workspace/AdventOfCode"]='3, '
["$HOME/Workspace/Userscripts"]='3,󰯁'
["$HOME/Workspace/Forgejo"]='3,'
["$HOME/Workspace"]='2, '
["$HOME/Downloads"]='2,󰇚'
["$HOME"]='1, '
)
typeset -A display_to_path
find "$HOME/Workspace" -type d \( -name ".git" -o -name "go.mod" -o -name "Cargo.toml" -o -name "compose.yaml" -o -name "package.json" \) -exec dirname {} \; | sort -u | \
while IFS= read -r line; do
display_line="$line"
best_prio=0
for path_target entry in "${(@kv)path_icons}"; do
if [[ $line == $path_target* ]]; then
IFS=, read -r prio icon <<< "$entry"
if [[ $prio -gt $best_prio ]]; then
display_line="$icon${line//$path_target/}"
best_prio=$prio
fi
fi
done
display_to_path[$display_line]=$line
done
selected=$display_to_path[$(printf "%s\n" "${(@k)display_to_path}" | fzf)]
if [[ -n $selected ]]; then
cd $selected
fi
}

179
Readme.md
View file

@ -1,32 +1,167 @@
# Dotfiles
## Rice Bowl
## Submodules
I've created a Dir under .config called Rice Bowl which is something like the Rice Controller / Master
- [Dotfiles/Template](https://git.euph.dev/Snoweuph/Dotfiles_template)
- [Dotfiles/nvim](https://git.euph.dev/Snoweuph/Dotfiles_nvim)
### Intallation
- Install the software that is used by this tat you want to used
- clone repository `git clone git@git.euph.dev:snoweuph/Dotfiles.git`
- run install script that is located under `Dotfiles/rice-bowl/script/install.sh`
- set paths and other values in config under `.config/rice-bowl/config`
- run generate script once to generate config files `.config/rice-bowl/Scripts/generate_config.sh`
## Setup
## Software Used
### Install Dependencies
### Base
> [NOTE]
> Parts of the Dotfiles automatic Dependency resolution relies on **dnf** the Fedora package Manager.
> This is why only **dnf** is listed here.
- Shell: ZSH
- Terminal: Alacritty
- Display Manager:
- Window Manager: I3
- Compositor: Picom
- Program Launcher: Rofi
- Panel: Polybar
- Notification Server: Dunst
- Audio Server: Pipewire
```sh
sudo dnf install -y curl wget tar unzip gzip git make just fzf
### Progress
- [x] Alacritty
- [x] i3
- [x] feh
- [x] dunst
- [x] picom
- [x] polybar
- [x] rofi
- [x] cava
- [x] flameshot
### CLI
- System Monitor: HTop
- Music Visualizer: Cava
- Image Viewer: Feh
- Fetch: Neofetch
### GUI
## Dir
### Tree
```
".config/"
|__"rice-bowl/"
| |__"demon.sh"
| |__"config.sh"
| |
| |__"config/"
| | |__"paths.sh"
| | |__"fonts.sh"
| | |__"styling.sh"
| |
| |__"scripts/"
| | |__"generate_config.sh"
| | |
| | |__"generators/"
| | |__"generate_<generator>_config.sh"
| |
| |__"themes/"
| |__"<theme>.sh"
|
|__"rofi/"
| |__"scripts/"
| | |__"<script-name>/"
| | |__"<script-name>.sh"
| | |__"<script-name>.rasi"
| |
| |__"themes/"
| |__"<theme-name>.rasi"
|
|__"i3/"
| |__"config"
| |
| |__"conf/"
| | |__"colors.conf"
| | |__"fonts.conf"
| | |__"bindings.conf"
| | |__"apps.conf"
| | |__"apps2.conf"
| | |__"workspaces.conf"
| | |__"styling.conf"
| | |__"styling1.conf
| | |__"rules.conf"
| |
| |__"scripts"
| |__"polybar.sh"
| |__"<script-name>.sh"
|
|__"picom/"
| |__"picom.conf"
|
|__"dunst/"
| |__"dunstrc"
| |
| |__"dunstrc.d"
| |__"00-colors.conf"
| |__"10-fonts.conf"
| |__"50-bindings.conf"
| |__"80-styling.conf"
|
|__"polybar/"
| |__"launch.sh"
| |__"config.ini"
| |
| |__"config/"
| | |__"colors.ini"
| | |__"fonts.ini"
| | |__"styling.ini"
| |
| |__"modules/"
| | |__"<module-name>/"
| | |__"<module-name>.ini"
| | |__"?<module-name>.sh"
| | |
| | |__"?config/"
| | |__"<module-name>.conf"
| |
| |__"bars/"
| |__"<bar-name>.ini"
|
|__"alacritty/"
| |__"alacritty.yml"
| |
| |__"config/"
| |__"colors.yml"
| |__"fonts.yml"
| |__"styling.yml"
```
### Install
### Files
> [CAUTION]
> This is a **destructive installation** and will **overwrite** existing conflicting files.
#### rice-bowl/config/paths.txt
```sh
cd ~ && \
git init -b neo && \
git remote add origin https://git.euph.dev/Snoweuph/Dotfiles.git && \
git fetch --all && \
git reset --hard origin/neo && \
git submodule update --init --recursive
```
```
config-dir =
images-dir =
wallpaper-dir =
screenshot-dir =
```
## Themeing Engines
- GTK
- gtkrc
- gtk 2
- gtk 3
- gtk 4
### Important Envoirment Variables
- GTK_RC_FILES
- GTK2_RC_FILES
### Tools
*All of these are their names under fedora*
- qt5 - qt5ct
- qt4 - qtconfig-qt4 (provided by qtconfig)
- gtk - lxappearance

7
alacritty/alacritty.yml Normal file
View file

@ -0,0 +1,7 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
#Import Config
import:
- /home/snoweuph/.config/alacritty/config/colors.nogit.yml
- /home/snoweuph/.config/alacritty/config/fonts.nogit.yml
- /home/snoweuph/.config/alacritty/config/styling.nogit.yml

1
alacritty/config/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.yml

46
awesome/bindings.lua Normal file
View file

@ -0,0 +1,46 @@
local gears = require("gears")
local awful = require("awful")
clientkeys = gears.table.join(
awful.key({ modkey, }, "f",
function (c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "q", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end ,
{description = "minimize", group = "client"}),
awful.key({ modkey, }, "m",
function (c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "(un)maximize", group = "client"}),
awful.key({ modkey, "Control" }, "m",
function (c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
end ,
{description = "(un)maximize vertically", group = "client"}),
awful.key({ modkey, "Shift" }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end ,
{description = "(un)maximize horizontally", group = "client"})
)

View file

@ -0,0 +1,31 @@
-- Require Libs
local gears = require("gears")
local awful = require("awful")
-- List of All Layouts
--[[
awful.layout.suit.floating
awful.layout.suit.tile
awful.layout.suit.tile.left
awful.layout.suit.tile.bottom
awful.layout.suit.tile.top
awful.layout.suit.fair
awful.layout.suit.fair.horizontal
awful.layout.suit.spiral
awful.layout.suit.spiral.dwindle
awful.layout.suit.max
awful.layout.suit.max.fullscreen
awful.layout.suit.magnifier
awful.layout.suit.corner.nw
awful.layout.suit.corner.ne
awful.layout.suit.corner.sw
awful.layout.suit.corner.se
]]--
-- Table of layouts to Use, Order Matters
awful.layout.layouts = {
awful.layout.suit.tile,
awful.layout.suit.floating,
awful.layout.suit.spiral,
awful.layout.suit.max.fullscreen,
}

33
awesome/rc.lua Normal file
View file

@ -0,0 +1,33 @@
-- This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
-- Check if Lua Roocks, aka Import lib is installed
pcall(require, "luarocks.loader")
-- Require Libs
local naughty = require("naughty")
-- Check For Errors, fallback if found any
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = tostring(err) })
in_error = false
end)
end
-- Import Themp Lua File
dofile ("/home/snoweuph/.config/awesome/themp.lua")

472
awesome/themp.lua Normal file
View file

@ -0,0 +1,472 @@
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local hotkeys_popup = require("awful.hotkeys_popup")
-- Enable hotkeys help widget for VIM and other apps
-- when client with a matching name is opened:
require("awful.hotkeys_popup.keys")
-- {{{ Variable definitions
-- Themes define colours, icons, font and wallpapers.
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "alacritty"
editor = os.getenv("EDITOR") or "nano"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
dofile ("/home/snoweuph/.config/awesome/config/layouts.lua")
-- {{{ Menu
-- Create a launcher widget and a main menu
myawesomemenu = {
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", function() awesome.quit() end },
}
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
}
})
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
-- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout()
-- {{{ Wibar
-- Create a textclock widget
mytextclock = wibox.widget.textclock()
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
awful.button({ }, 1, function(t) t:view_only() end),
awful.button({ modkey }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
)
local tasklist_buttons = gears.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
c:emit_signal(
"request::activate",
"tasklist",
{raise = true}
)
end
end),
awful.button({ }, 3, function()
awful.menu.client_list({ theme = { width = 250 } })
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
end))
local function set_wallpaper(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
-- If wallpaper is a function, call it with the screen
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
end
end
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper)
awful.screen.connect_for_each_screen(function(s)
-- Wallpaper
set_wallpaper(s)
-- Each screen has its own tag table.
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(gears.table.join(
awful.button({ }, 1, function () awful.layout.inc( 1) end),
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons
}
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s })
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
mylauncher,
s.mytaglist,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray(),
mytextclock,
s.mylayoutbox,
},
}
end)
-- }}}
-- {{{ Mouse bindings
root.buttons(gears.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
-- {{{ Key bindings
globalkeys = gears.table.join(
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
{description = "open a terminal", group = "launcher"}),
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "e", awesome.quit,
{description = "quit awesome", group = "awesome"}),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function ()
local c = awful.client.restore()
-- Focus restored client
if c then
c:emit_signal(
"request::activate", "key.unminimize", {raise = true}
)
end
end,
{description = "restore minimized", group = "client"}),
-- Prompt
awful.key({ modkey }, "d", function () awful.spawn.with_shell("rofi -show drun") end,
{description = "run prompt", group = "launcher"}),
awful.key({ modkey }, "x",
function ()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"})
)
dofile ("/home/snoweuph/.config/awesome/bindings.lua")
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it work on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
globalkeys = gears.table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
{description = "view tag #"..i, group = "tag"}),
-- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
{description = "toggle tag #" .. i, group = "tag"}),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
{description = "move focused client to tag #"..i, group = "tag"}),
-- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
{description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
clientbuttons = gears.table.join(
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
-- Set keys
root.keys(globalkeys)
-- }}}
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
},
-- Floating clients.
{ rule_any = {
instance = {
"DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class.
"pinentry",
},
class = {
"Arandr",
"Blueman-manager",
"Gpick",
"Kruler",
"MessageWin", -- kalarm.
"Sxiv",
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui",
"veromix",
"xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = {
"Event Tester", -- xev.
},
role = {
"AlarmWindow", -- Thunderbird's calendar.
"ConfigManager", -- Thunderbird's about:config.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
}, properties = { titlebars_enabled = true }
},
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
}
-- }}}
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup
and not c.size_hints.user_position
and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
-- buttons for the titlebar
local buttons = gears.table.join(
awful.button({ }, 1, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c)
end)
)
awful.titlebar(c) : setup {
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
layout = wibox.layout.fixed.horizontal
},
{ -- Middle
{ -- Title
align = "center",
widget = awful.titlebar.widget.titlewidget(c)
},
buttons = buttons,
layout = wibox.layout.flex.horizontal
},
{ -- Right
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
awful.titlebar.widget.closebutton (c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
}
end)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}

16
cava/config Normal file
View file

@ -0,0 +1,16 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
[output]
method = ncurses
[color]
gradient = 1
gradient_count = 8
gradient_color_1 = '#5e81ac'
gradient_color_2 = '#7db0d1'
gradient_color_3 = '#7ebdbc'
gradient_color_4 = '#80bf83'
gradient_color_5 = '#adbf7c'
gradient_color_6 = '#ebcb8b'
gradient_color_7 = '#d08770'
gradient_color_8 = '#bf616a'

69
dunst/dunstrc Normal file
View file

@ -0,0 +1,69 @@
# See dunst(5) for all configuration options
[global]
### Display ###
monitor = 0
follow = none
origin = top-right
scale = 0
notification_limit = 5
### Progress bar ###
progress_bar = true
progress_bar_height = 10
progress_bar_frame_width = 1
progress_bar_min_width = 150
progress_bar_max_width = 300
indicate_hidden = yes
transparency = 0
separator_height = 2
padding = 8
horizontal_padding = 8
text_icon_padding = 0
separator_color = frame
sort = yes
line_height = 0
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = yes
### Icons ###
enable_recursive_icon_lookup = true
icon_theme = Adwaita
icon_position = left
min_icon_size = 32
max_icon_size = 128
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
sticky_history = yes
history_length = 20
### Misc/Advanced ###
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/xdg-open
always_run_script = true
title = Dunst
class = Dunst
ignore_dbusclose = false
### mouse
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[urgency_low]
timeout = 10
[urgency_normal]
timeout = 10
[urgency_critical]
timeout = 0

1
dunst/dunstrc.d/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

11
flameshot/flameshot.ini Normal file
View file

@ -0,0 +1,11 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
[General]
uiColor=#937db5
contrastUiColor=#5e81ac
drawColor=#7db0d1
userColors=picker, #7db0d1, #5e81ac, #937db5
disabledTrayIcon=true

View file

@ -0,0 +1,6 @@
[General]
contrastOpacity=204
contrastUiColor=#5e81ac
disabledTrayIcon=truedrawColor=#81a1c1
uiColor=#88c0d0
userColors=picker, #2e3440, #bf616a, #b48ead

1
i3/conf/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

28
i3/conf/apps.conf Normal file
View file

@ -0,0 +1,28 @@
##########################
# Configure Apps #
##########################
# Include Generated Version
include ./apps.nogit.conf
# Make Volume Function Keys Work
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
bindsym $mod+Return exec alacritty # open a Terminal
bindsym $mod+d exec --no-startup-id rofi -show drun # open Rofi
bindsym $mod+b exec --no-startup-id firefox # open a Browser
# Set Lockscreen for Suspending
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
# KDE Connect
exec --no-startup-id kdeconnect-indicator
# Pulsemeeter
exec --no-startup-id pulsemeeter

23
i3/conf/apps.conf.save Normal file
View file

@ -0,0 +1,23 @@
##########################
# Configure Apps #
##########################
# Include Generated Version
include ./apps.nogit.conf
# Make Volume Function Keys Work
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
# Set Lockscreen for Suspending
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
#KDE Connect
exec --no-startup-id kdeconnect-indicator

65
i3/conf/bindings.conf Normal file
View file

@ -0,0 +1,65 @@
##########################
# Configure Key Bindings #
##########################
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# change focus
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacked
bindsym $mod+t layout tabbed
bindsym $mod+w layout toggle split
# Set Split Mode
bindsym $mod+h split h
bindsym $mod+v split v
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym Left resize shrink width 5 px or 5ppt
bindsym Down resize shrink height 5 px or 5 ppt
bindsym Up resize grow height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# kill focused window
bindsym $mod+Shift+q kill

23
i3/conf/rules.conf Normal file
View file

@ -0,0 +1,23 @@
##########################
# Configure Rules #
##########################
# Firefox
assign [class="(?i)Firefox"] 1
# Coding Related Windows
assign [class="(?i)Godot"] 3
assign [class="(?i)Code - OSS"] 3
assign [class="(?i)Gittyup"] 4
# Gaming Related Windows
assign [class="(?i)Heroic"] 5
assign [class="(?i)Steam"] 5
# Discord
assign [class="(?i)Discord"] 6
# Pulsemeeter
assign [class="(?i)Pulsemeeter"] 10

55
i3/conf/workspaces.conf Normal file
View file

@ -0,0 +1,55 @@
##########################
# Configure Workspaces #
##########################
# Set Monitor Variables (get list with xrandr --listmonitors)
set $monitor1 "DisplayPort-0"
set $monitor2 "DisplayPort-1"
set $monitor3 "DVI-D-0"
# Set Base Variables
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Bind Workspaces to Screens
workspace $ws1 output $monitor1
workspace $ws2 output $monitor1
workspace $ws3 output $monitor2
workspace $ws4 output $monitor2
workspace $ws5 output $monitor2
workspace $ws6 output $monitor3
workspace $ws7 output $monitor3
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10

25
i3/config Normal file
View file

@ -0,0 +1,25 @@
#############################################################################
# i3 config file (v4) #
# Please see https://i3wm.org/docs/userguide.html for a complete reference! #
#############################################################################
# Set Mod Key
set $mod Mod4
##########################
# Include Files #
##########################
# Bindings
include ./conf/bindings.conf
# Workspaces
include ./conf/workspaces.conf
# Styling
include ./conf/styling.nogit.conf
# Fonts
include ./conf/fonts.nogit.conf
# Applications
include ./conf/apps.conf
# Application Rules
include ./conf/rules.conf

1
picom/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

35
picom/picom.conf Normal file
View file

@ -0,0 +1,35 @@
#################################
# Base #
#################################
use-damage = true;
backend= "glx";
#################################
# Shadows #
#################################
shadow = false;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# Fading #
#################################
fading = true;
fade-in-step = 0.1;
fade-out-step = 0.1;
#################################
# Transparency / Opacity #
#################################
inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];

1
polybar/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
**.nogit.ini

13
polybar/bars/main.ini Normal file
View file

@ -0,0 +1,13 @@
[bar/main]
inherit = base/bar
modules-left = cpm space-invert sep-b
modules-center = single-xworkspaces
modules-right = pulseaudio space sep-a space-invert dunst-snooze space-invert sep-b space time space sep-a date space-invert
tray-position = left
tray-detached = true
tray-scale = 0.9
tray-offset-x = 130
tray-offset-y = 3

13
polybar/bars/single.ini Normal file
View file

@ -0,0 +1,13 @@
[bar/single]
inherit = base/bar
modules-left = cpm space-invert sep-b
modules-center = xworkspaces
modules-right = pulseaudio space sep-a space-invert dunst-snooze space-invert sep-b space time space sep-a date space-invert
tray-position = left
tray-detached = true
tray-scale = 0.9
tray-offset-x = 130
tray-offset-y = 3

View file

@ -0,0 +1,17 @@
[bar/workspaces]
inherit = base/bar
modules-center = single-xworkspaces
bottom = true
width = 12%
offset-x = ${style.double-gaps}
offset-y = ${style.double-gaps}
border-size = ${style.border-thickness}
border-bottom-size = ${style.border-thickness}
border-color = ${colors.primary-accent}
override-redirect = true
wm-restack = ${env:RESTACK:}

View file

10
polybar/config.ini Normal file
View file

@ -0,0 +1,10 @@
include-file = ~/.config/polybar/config.d/colors.nogit.ini
include-file = ~/.config/polybar/config.d/fonts.nogit.ini
include-file = ~/.config/polybar/config.d/exec.nogit.ini
include-file = ~/.config/polybar/config.d/style.nogit.ini
include-file = ~/.config/polybar/settings.nogit.ini
include-directory = ~/.config/polybar/modules
include-directory = ~/.config/polybar/bars

7
polybar/modules/cava.ini Normal file
View file

@ -0,0 +1,7 @@
[module/cava]
type = custom/script
tail = true
exec = "${exec.cava}"
format = <label>
label-font = 3
label = "%output%"

10
polybar/modules/cpm.ini Normal file
View file

@ -0,0 +1,10 @@
[module/cpm]
type = custom/script
exec = ~/.config/polybar/scripts/cpm.sh
tail = true
label = " %output%"
label-font = 3
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

11
polybar/modules/date.ini Normal file
View file

@ -0,0 +1,11 @@
[module/date]
type = internal/date
interval = 1
date = %d.%m
label-font = 3
label = "%date%"
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

View file

@ -0,0 +1,9 @@
[module/dunst-snooze]
type = custom/script
exec = "${exec.dunst-snooze}"
tail = true
click-left = ~/.config/polybar/scripts/dunst-snooze.sh --toggle &
label = "%output%"
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

View file

@ -0,0 +1,18 @@
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = " "
format-volume-prefix-background = ${colors.primary-background }
format-volume-prefix-foreground = ${colors.primary-accent}
format-volume = <label-volume>
label-volume = "%percentage%"
label-volume-background = ${colors.primary-background }
label-volume-foreground = ${colors.primary-accent}
label-muted = " 婢 "
label-muted-foreground = ${colors.alert}
label-muted-background = ${colors.primary-background }
interval = 5
click-right = pavucontrol

View file

@ -0,0 +1,12 @@
[module/sep-a]
type = custom/text
content =
content-foreground = ${colors.primary-accent}
content-background = ${colors.primary-background}
content-font = 2
[module/sep-b]
type = custom/text
content =
content-foreground = ${colors.primary-accent}
content-background = ${colors.primarybackground}
content-font = 2

View file

@ -0,0 +1,48 @@
[module/single-xworkspaces]
type = internal/xworkspaces
#Icons
#  Consoles
# ﭮ Discord
#  Firefox
#  Music
#  Code
#  Steam
#  Files
icon-default = ""
icon-0 = "1;"
icon-1 = "2;"
icon-2 = "3;"
icon-3 = "4;"
icon-4 = "5;"
icon-5 = "6;ﭮ"
icon-9 = "10;"
icon-6 = "7"
icon-7 = "8"
icon-8 = "9"
label-active = "%icon%"
label-active-background = ${colors.primary-accent}
label-active-foreground = ${colors.primary-background}
label-active-underline = ${colors.primary-accent}
label-active-padding = 0
label-active-font = 2
label-occupied = %icon%
label-occupied-padding = 1
label-occupied-font = 2
label-urgent = %icon%
label-urgent-foreground = ${colors.warn}
label-urgent-padding = 1
label-urgent-font = 2
label-empty = %icon%
label-empty-padding = 1
label-empty-font = 2
pin-workspaces = true

View file

@ -0,0 +1,9 @@
[module/space]
type = custom/text
content = ""
content-padding = 3pt
[module/space-invert]
type = custom/text
content = ""
content-background = ${colors.primary-accent}
content-padding = 3pt

11
polybar/modules/time.ini Normal file
View file

@ -0,0 +1,11 @@
[module/time]
type = internal/date
interval = 1
date = %H:%M
label-font = 3
label = " %date%"
label-foreground = ${colors.primary-accent}
label-background = ${colors.primary-background}

View file

@ -0,0 +1,4 @@
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
format-foreground = ${colors.primary-accent}

View file

@ -0,0 +1,46 @@
[module/xworkspaces]
type = internal/xworkspaces
#Icons
#  Consoles
# ﭮ Discord
#  Firefox
#  Music
#  Code
#  Steam
#  Files
icon-default = ""
icon-0 = "1;"
icon-1 = "2;"
icon-2 = "3;"
icon-3 = "4;"
icon-4 = "5;"
icon-5 = "6;ﭮ"
icon-9 = "10;"
icon-6 = "7"
icon-7 = "8"
icon-8 = "9"
label-active = "%icon%"
label-active-background = ${colors.primary-accent}
label-active-foreground = ${colors.primary-background}
label-active-underline = ${colors.primary-accent}
label-active-padding = 0
label-active-font = 2
label-occupied = %icon%
label-occupied-padding = 1
label-occupied-font = 2
label-urgent = %icon%
label-urgent-foreground = ${colors.warn}
label-urgent-padding = 1
label-urgent-font = 2
label-empty = %icon%
label-empty-padding = 1
label-empty-font = 2

65
polybar/scripts/cava.sh Executable file
View file

@ -0,0 +1,65 @@
#!/bin/bash
#bar="▁▂▃▄▅▆▇█"
# make sure to clean pipe
pipe="/tmp/cava.fifo"
if [ -p $pipe ]; then
unlink $pipe
fi
mkfifo $pipe
# write cava config
config_file="/tmp/polybar_cava_config"
echo "
[general]
bars = 9
[output]
method = raw
raw_target = $pipe
data_format = ascii
ascii_max_range = 7
" > $config_file
# run cava in the background
cava -p $config_file &
#bar="▁▂▃▄▅▆▇█"
# reading data from fifo
while read -r cmd; do
i=0
output=""
while [ $i -lt $((${#cmd}/2)) ]
do
number="${cmd:$i*2:1}"
i=$((i=i+1))
case "$number" in
0)
output="$output$(echo "%{F$1}▁")"
;;
1)
output="$output$(echo "%{F$2}▂")"
;;
2)
output="$output$(echo "%{F$3}▃")"
;;
3)
output="$output$(echo "%{F$4}▄")"
;;
4)
output="$output$(echo "%{F$5}▅")"
;;
5)
output="$output$(echo "%{F$6}▆")"
;;
6)
output="$output$(echo "%{F$7}▇")"
;;
7)
output="$output$(echo "%{F$8}█")"
esac
done
echo $output
done < $pipe

64
polybar/scripts/cpm.sh Executable file
View file

@ -0,0 +1,64 @@
#!/bin/sh
# shellcheck disable=SC2016,SC2059
KEYBOARD_ID="Cooler Master Technology Inc. SK650"
# cpm: characters per minute
# wpm: words per minute (1 word = 5 characters)
METRIC=cpm
FORMAT=" %d$METRIC"
INTERVAL=2,5
# If you have a keyboard layout that is not listed here yet, create a condition
# yourself. $3 is the key index. Use `xinput test "AT Translated Set 2 keyboard"`
# to see key codes in real time. Be sure to open a pull request for your
# layout's condition!
LAYOUT=qwerty
case "$LAYOUT" in
qwerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 53) || ($3 >= 52 && $3 <= 58)'; ;;
azerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 54) || ($3 >= 52 && $3 <= 57)'; ;;
qwertz) CONDITION='($3 >= 10 && $3 <= 20) || ($3 >= 24 && $3 <= 34) || ($3 == 36) || ($3 >= 38 && $3 <= 48) || ($3 >= 52 && $3 <= 58)'; ;;
dvorak) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 27 && $3 <= 33) || ($3 >= 38 && $3 <= 47) || ($3 >= 53 && $3 <= 61)'; ;;
dontcare) CONDITION='1'; ;; # Just register all key presses, not only letters and numbers
*) echo "Unsupported layout \"$LAYOUT\""; exit 1; ;;
esac
# We have to account for the fact we're not listening a whole minute
multiply_by=60
divide_by=$INTERVAL
case "$METRIC" in
wpm) divide_by=$((divide_by * 5)); ;;
cpm) ;;
*) echo "Unsupported metric \"$METRIC\""; exit 1; ;;
esac
hackspeed_cache="$(mktemp -p '' hackspeed_cache.XXXXX)"
trap 'rm "$hackspeed_cache"' EXIT
# Write a dot to our cache for each key press
printf '' > "$hackspeed_cache"
xinput test "$KEYBOARD_ID" | \
stdbuf -o0 awk '$1 == "key" && $2 == "press" && ('"$CONDITION"') {printf "."}' >> "$hackspeed_cache" &
while true; do
# Ask the kernel how big the file is with the command `stat`. The number we
# get is the file size in bytes, which equals the amount of dots the file
# contains, and hence how much keys were pressed since the file was last
# cleared.
lines=$(stat --format %s "$hackspeed_cache")
# Truncate the cache file so that in the next iteration, we count only new
# keypresses
printf '' > "$hackspeed_cache"
# The shell only does integer operations, so make sure to first multiply and
# then divide
value=$((lines * multiply_by / divide_by))
printf "$FORMAT\\n" "$value"
sleep $INTERVAL
done

14
polybar/scripts/dunst-snooze.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
case "$1" in
--toggle)
dunstctl set-paused toggle
;;
*)
if [ "$(dunstctl is-paused)" = "true" ]; then
echo "%{F$2} $(dunstctl count waiting)"
else
echo "%{F$1} $(dunstctl count displayed)"
fi
;;
esac

18
polybar/scripts/launch.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
killall -q polybar
restack_list=('' 'i3' '')
i=0
while read bar; do
if [[ $i -eq 0 ]]; then
# Launch Main Bar
MONITOR=$bar polybar main 2>&1 | tee -a /tmp/polybar_$bar.log & disown
else
# Launch Sub Bar
MONITOR=$bar RESTACK=${restack_list[$i]} polybar workspaces 2>&1 | tee -a /tmp/polybar_$bar.log & disown
fi
i=$((i + 1))
done < <(polybar -M | cut -d ':' -f 1)

9
rice-bowl/config.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
SH_DIR_config=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
RICE_GENERATED_HEADER="This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into $SH_DIR_config"
source $SH_DIR_config/config/paths.sh
source $SH_DIR_config/config/fonts.sh
source $SH_DIR_config/config/styling.sh

13
rice-bowl/config/fonts.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
RICE_FONT_NORMAL="Hack Nerd Font"
RICE_FONT_MONO="Hack Nerd Font Mono"
RICE_FONT_ICONS="Hack Nerd Font Mono"
RICE_FONT_SIZE_SMALL=14
RICE_FONT_SIZE_NORMAL=18
RICE_FONT_SIZE_BIG=26
RICE_FONT_SIZE_ICONS_SMALL=22
RICE_FONT_SIZE_ICONS_NORMAL=28
RICE_FONT_SIZE_ICONS_BIG=64

9
rice-bowl/config/paths.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
RICE_DIR_CONFIG=~/.config
RICE_DIR_RICE_BOWL=$RICE_DIR_CONFIG/rice-bowl
RICE_DIR_AUTORUN=~/.autorun
RICE_DIR_FONTS=/usr/share/fonts
RICE_DIR_IMAGES=~/Bilder
RICE_DIR_WALLPAPER=$RICE_DIR_IMAGES/Wallpaper
RICE_DIR_SCREENSHOTS=$RICE_DIR_IMAGES/Screenshots

18
rice-bowl/config/styling.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
RICE_THEME=nord
RICE_PADDING=4
RICE_GAPS=8
RICE_DPI=96
RICE_ELEMENT_HEIGHT_SMALL=22
RICE_ELEMENT_HEIGHT_MEDIUM=$(($((RICE_ELEMENT_HEIGHT_SMALL*9))/2))
RICE_ELEMENT_HEIGHT_BIG=$(($((RICE_ELEMENT_HEIGHT_MEDIUM*9))/2))
RICE_BORDER_RADIUS=8
RICE_BORDER_THICKNESS=2
RICE_OPACITY_FLOAT="0.8"
RICE_INACTIVE_OPACITY_FLOAT="0.8"
ROCE_OPACITY_PERCENTAGE="80%"

0
rice-bowl/demon.sh Normal file
View file

Some files were not shown because too many files have changed in this diff Show more