Compare commits

..

120 Commits

Author SHA1 Message Date
8698175e6b update to autoexec and neovim 2025-12-27 14:25:37 +01:00
d6acd0b13f made fuzzel more beautiful 2025-12-10 01:20:26 +01:00
4eb57c7a0f added fuzzel 2025-12-10 00:50:52 +01:00
7a29b449df refactor(sherlock): update config structure, theme and fixes
- config.toml: Wechsel auf Rose Pine v3 Theme.
- config.toml: Typos bei Einheiten (meter) und Keybinds (ctrl-h) korrigiert.
- fallback.json: Emoji-Typ auf 'emoji_picker' aktualisiert.
- fallback.json: Power-Menü von 'custom' zu 'command' refactored. Struktur vereinfacht und search_strings hinzugefügt.
2025-12-10 00:50:29 +01:00
d0652fa91f inital sherlock commit 2025-12-08 22:53:19 +01:00
fae3b06398 config: refactor audio chain, update themes, and cleanup autostart
Audio (PipeWire):
- Add `60-echo-cancel.conf` to implement WebRTC echo cancellation.
- Refactor `99-input-denoising.conf` to chain correctly with the new EC source.

Theming (GTK/Qt):
- GTK: Switch theme to Adwaita Dark and font to Adwaita Sans.
- GTK: Update bookmarks (add aliases and fix paths).
- Qt5/6: Update color schemes to match Rose Pine palette and set icon theme.

System:
- Autostart: Remove unused entries (EasyEffects, Walker, KeePassXC, etc.).
- Hyprland: Add `noinitialfocus` rule for XWayland and disable KeePassXC window rules.
2025-12-08 01:19:21 +01:00
Matthias Puchstein
9d8756d990 cs2 update 2025-12-05 11:02:29 +01:00
Matthias Puchstein
b09a9eba1d final sens 2025-11-19 23:31:13 +01:00
Matthias Puchstein
c8fb59ccf9 [nvim] made sure the whole folder is synced 2025-11-17 09:58:20 +01:00
Matthias Puchstein
fd6670e8b1 [nvim] fixed tex, [cs2] fixed sens, [zsh, profile] fixed pyenv 2025-11-17 09:56:39 +01:00
Matthias Puchstein
f29c77e0f7 fixed some nvim errors, added env vars and did some small changes to autoexec, disabled automatic profiles for hyprsunset 2025-11-16 00:11:23 +01:00
Matthias Puchstein
8062d034ac small updates 2025-11-12 21:28:30 +01:00
Matthias Puchstein
5210452fb4 added a kiss way to write md 2025-11-12 20:40:00 +01:00
Matthias Puchstein
3f16b24049 refined nvim latex config 2025-11-12 19:48:00 +01:00
Matthias Puchstein
1426cb94cd feat(nvim): add LaTeX workflow; tweak Hyprland master; refresh CS autoexec; add GTK bookmark
Neovim (LaTeX):
- Add TeX ftplugin: spell (en_US,de_DE), soft-wrap + linebreak, conceal=2, no hard wrap
- Add plugins: vimtex (zathura; latexmk with LuaLaTeX + shell-escape),
  LTeX language server via astrolsp + ltex_extra (check on save; motherTongue=de-DE),
  blink.cmp integration (cmp-vimtex, cmp-latex-symbols → insert macros),
  LuaSnip LaTeX snippets, Treesitter “latex”, nabla.nvim (inline/popup math; <leader>mp/<leader>mv)

Hyprland:
- Set master.orientation=left; comment out center_master_* options

Counter-Strike autoexec:
- Rebind +lookatweapon → MOUSE5; map R → lastinv; radio on Y/U/I/H; J → +radialradio
- Crosshair tweaks: size 2.5, gap -3, no outline, alpha off
- Mouse: sensitivity 0.619; zoom_sensitivity_ratio 1.0
- Viewmodel: offset_x -2; cl_prefer_lefthanded 0
- Video/perf: gamma 1.6; set fps_max/fps_max_ui 0; drop legacy perf/network cvars (mat_queue_mode, cl_forcepreload, rate/interp*)
- HUD cleanup: disable target ID; remove +cl_show_team_equipment

GTK:
- Add bookmark: Documents/ttrpg/dsa5
2025-11-12 17:00:08 +01:00
Matthias Puchstein
35be8541ac refined buyscript 2025-11-03 03:08:09 +01:00
Matthias Puchstein
86ca6a32dd config: system setup and CS2 training infrastructure optimization
- Add Nextcloud DSA-Aufnahmen bookmark to GTK file picker
- Configure Logitech G502 mouse with flat acceleration profile in Hyprland
- Update wallpapers to AI-generated witch autumn and rose pine themes
- Reorganize and expand CS2 autoexec.cfg:
  * Add radar size toggle alias and train server quick-connect
  * Streamline input binds (remove MOUSE3 jump duplicate)
  * Reorganize grenade, slot, and buy key bindings
  * Add MatchZy bot placement and quick-save nade system (F1-F8)
  * Add radio/communication wheel binds
  * Fine-tune HUD settings and crosshair size (2.0)
  * Reduce sensitivity from 1.5 to 0.5 for improved precision
  * Optimize viewmodel positioning
  * Add network optimization settings for 1 Gbps fiber connection
  * Expand practice commands for training scenarios
2025-11-02 05:32:48 +01:00
Matthias Puchstein
0e9a565aa1 feat: add btop config with Rose Pine theme and update CS:GO settings
- Add btop configuration with default settings and performance monitoring
- Add Rose Pine color theme for btop
- Refactor CS:GO keybinds: swap use/inspect keys (F/E), move voice toggle to E
- Add comprehensive training mode binds (noclip, grenade practice, respawn)
- Expand buybinds to cover all weapon categories (KP_0-9)
- Adjust crosshair settings: style 4, size 1, gap -2
- Increase mouse sensitivity from 0.8 to 1.5
- Change HUD color from 9 to 6
2025-10-09 20:11:03 +02:00
Matthias Puchstein
ce0ef41038 [feat](keybind) added bind for pwvuctl 2025-09-25 20:38:23 +02:00
Matthias Puchstein
75d82b8baf [feat](cs2autoexec) added a new crosshair" 2025-09-23 23:38:12 +02:00
Matthias Puchstein
a353b37f96 chore(config): update Hypr keybinds and CS:GO autoexec tweaks
Hypr:

        Add new powermenu shortcut ($powermenu, bind $mainMod+B)

        Split tmux launch into $term_tmux and $term_tmux_append with distinct binds

        Change alt-editor bind to Ctrl+E

        Swap taskman from uuctl walker -d to uuctl wofi

    CS:GO autoexec:

        Simplify jump/throw aliases to +jt/+ta/-jt !!not working anymore
        though because of some cs2 update

        Remap inspect to +lookatweapon

        Move combined jump-throw bind to R and Mouse4

        Reorder grenade buy keys (Z, C, V)

        Add voice record (Alt) and toggle (T) binds

        Extend numpad buy binds with KP_4 for silenced rifle

        Increase voice_scale to 0.7
2025-09-23 23:22:29 +02:00
Matthias Puchstein
c2faf30b39 [feat](auto-start): Add %U argument to Exec line for VeSktop auto-start script, add Terminal=false
[feat](hyprland): Add new workspace for KeePassXC with float, size, and centered properties
[style](hyprland): Add workspace rules for communication applications and system applications
2025-09-22 20:29:29 +02:00
Matthias Puchstein
0260ad185c feat(hypr): monitors/workspaces; tuning; chore(waybar,theme)
- theme: add conf.d/theme.conf symlink -> rose-pine.conf
- cursor: set inactive_timeout=0; zoom_factor=1.0; zoom_rigid=false; enable_hyprcursor=true; sync_gsettings_theme=true
- decoration: enable dim_modal
- animations: add specialWorkspace (easeOutQuint, slidevert)
- master: allow_small_split=false; special_scale_factor=0.8; drop_at_cursor=true
- misc: enable vfr=true (keep vrr=2)
- groups: enable render_titles, scrolling; set priority=3
- monitors: add monitorv2 (DP-1 1920x1080@60 @ 0x0; DP-2 1920x1080@144 @ 1920x0, vrr=1)
- workspaces: map 1–5 -> DP-1; 6–10 -> DP-2 (nwg-displays generated)
- waybar: change on-click to "kitty --hold alhp.utils -j"
2025-09-16 17:07:49 +02:00
Matthias Puchstein
3acf277fc4 [feat](cs2autoexec) added some settings" 2025-09-13 02:11:31 +02:00
Matthias Puchstein
bb991d9eed [fix] removed gestures from hyprland because of update 2025-09-12 22:16:12 +02:00
Matthias Puchstein
b743673e31 [feat](waybar) added alhp module to waybar 2025-09-11 21:06:51 +02:00
Matthias Puchstein
c19e657eb5 [feat](waybar): Add support for custom/alhp module
[feat](waybar): Add support for custom/alhp module
2025-09-11 20:32:27 +02:00
Matthias Puchstein
93ce52d517 chore(aliases): Updated yadmai-interactive and yadmai-msg aliases to use yadm diff --stage and removed git diff --cached. 2025-09-11 15:58:42 +02:00
Matthias Puchstein
a685af87ff feat(aliases): Add interactive commit message generation alias using ollama 2025-09-11 15:33:30 +02:00
Matthias Puchstein
7884d0a353 [feat](aliases): Update aliases to use git-change-g3n2b for diff processing and commit message generation.
[refactor](aliases):  The `gaids` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-interactive` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-summaary` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-msg` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-all` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gaicm` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
2025-09-11 15:19:17 +02:00
Matthias Puchstein
41afaa6072 feat(zsh): Implement aliases for git diff, commit message generation, and AI-generated commits 2025-09-11 15:11:34 +02:00
Matthias Puchstein
e7159e7358 feat: Update GTK theme and icons, and adjust Hyprland keybindings
This commit updates the GTK theme to 'rose-pine-gtk' and its associated icon theme to 'rose-pine-icons'.  It also modifies Hyprland keybindings for applications like KeePassXC and adjusts the launcher.
2025-09-09 00:11:44 +02:00
mpuchstein
ff90970bb6 autostart files 2025-08-26 15:18:30 +02:00
mpuchstein
ba103093ae added laptop symlink for waybar 2025-08-26 15:16:47 +02:00
mpuchstein
d823263c8c added laptop symlink for waybar 2025-08-26 15:15:34 +02:00
Matthias Puchstein
7d9d9d4946 waybar config to symlink; 2025-08-26 15:05:52 +02:00
Matthias Puchstein
238c0dc685 added autostart files 2025-08-26 14:58:53 +02:00
Matthias Puchstein
4713e41e51 fixed gamma 2025-08-26 05:53:06 +02:00
Matthias Puchstein
ba9ef797a6 fixed gamma 2025-08-26 05:50:03 +02:00
Matthias Puchstein
ccc8fd4a84 added hyprsunset config 2025-08-26 05:46:37 +02:00
Matthias Puchstein
21261843ac new wallpapers fitting for the rosé pine style and gave spotify a theme 2025-08-26 05:41:34 +02:00
Matthias Puchstein
ac8a80976e fine tuned the network and made the gaps fitting 2025-08-26 03:12:22 +02:00
Matthias Puchstein
3de4106323 moved modules of waybar 2025-08-26 03:00:31 +02:00
Matthias Puchstein
dc0b6eb43d added swaync and hyprsunset modules to waybar 2025-08-26 02:59:06 +02:00
Matthias Puchstein
d5451e477a added walker rose-pine and reworked some waybar stuff 2025-08-26 00:34:59 +02:00
Matthias Puchstein
3da28a5b3d updated eww and hyprpaper for new graka 2025-08-23 18:54:47 +02:00
Matthias Puchstein
320ae0d670 small changes to mouse follow 2025-07-29 05:23:39 +02:00
Matthias Puchstein
52c7887584 hyprland switch to master layout 2025-07-28 21:04:43 +02:00
Matthias Puchstein
061550206d some small stuff 2025-07-28 20:30:08 +02:00
Matthias Puchstein
dac6b7d37a compose now already added by ultimatekeys 2025-07-20 19:14:28 +02:00
Matthias Puchstein
8af79baf80 changed keymap to ultimate keys 2025-07-20 19:13:07 +02:00
Matthias Puchstein
fefd1ca1f8 changed theme to rosé pine 2025-07-19 23:21:59 +02:00
Matthias Puchstein
93c9686841 Merge branch 'main' of somegit.dev:mpuchstein/dotfiles 2025-06-29 17:40:39 +02:00
Matthias Puchstein
f52c9af44b update 2025-06-29 17:40:26 +02:00
Matthias Puchstein
0efb181dfd changed wallpaper 2025-05-30 08:26:58 +02:00
Matthias Puchstein
cf21c03229 input lag from satty fixed 2025-05-25 17:14:31 +02:00
Matthias Puchstein
f3778e788f made sure satty is floating 2025-05-25 16:54:47 +02:00
Matthias Puchstein
098e527429 added satty conf 2025-05-24 16:04:22 +02:00
Matthias Puchstein
7a298de9d3 minimum size for satty 2025-05-24 04:10:15 +02:00
Matthias Puchstein
1ced12db36 small changes to latex plugs 2025-05-21 13:39:24 +02:00
Matthias Puchstein
57fde92479 added tpm as submodule 2025-05-21 02:04:26 +02:00
Matthias Puchstein
99941bc1d7 added tpm as submodule 2025-05-21 00:18:11 +02:00
Matthias Puchstein
7bd5df585c added tmux 2025-05-17 16:44:12 +02:00
Matthias Puchstein
591f835998 Merge branch 'main' of somegit.dev:mpuchstein/dotfiles 2025-05-16 22:03:47 +02:00
Matthias Puchstein
e120100979 changed lockscreen pic 2025-05-16 22:02:57 +02:00
Matthias Puchstein
51e338bf82 fixed hyprlock for owlenlap02 2025-05-16 22:00:40 +02:00
Matthias Puchstein
07dc1a509a removed workspaces again 2025-05-16 11:26:58 +02:00
Matthias Puchstein
7d0f632614 added nvim obsidian 2025-05-16 09:51:27 +02:00
Matthias Puchstein
68df8a1663 removed monitors config again 2025-05-15 18:52:38 +02:00
Matthias Puchstein
44d37acdb4 fresh colors 2025-05-13 20:24:51 +02:00
mpuchstein
9f57d713be some small ew fixes 2025-05-13 09:22:21 +02:00
mpuchstein
4d38e7cd6b fixed his seach 2025-05-09 19:26:49 +02:00
Matthias Puchstein
72f48be763 added scrrec to hyprland 2025-05-09 19:19:15 +02:00
Matthias Puchstein
4864f5765c small updates 2025-05-09 18:39:50 +02:00
mpuchstein
174a5cb253 removed specific hyprpaper 2025-05-06 10:09:25 +02:00
Matthias Puchstein
bf58e890f6 updated some community plugs 2025-05-03 16:39:15 +02:00
Matthias Puchstein
3162b18a93 updated astrocommunity pkgs and colortheme 2025-05-03 16:22:41 +02:00
Matthias Puchstein
f9a46dd047 switched to astronvim; 2025-05-03 15:37:14 +02:00
Matthias Puchstein
e20311891f removed signal from autostart 2025-05-02 23:55:53 +02:00
Matthias Puchstein
dd40bd27a3 added .gitignore to nvim 2025-05-02 11:37:00 +02:00
Matthias Puchstein
4b8e356571 removed the lock file 2025-05-02 11:33:37 +02:00
Matthias Puchstein
4aa82de9f1 some qol hyprland changes 2025-05-02 11:32:45 +02:00
Matthias Puchstein
c217be680a some qol hyprland changes 2025-05-02 11:29:34 +02:00
mpuchstein
f8ecd67c9e started some work vimlatex 2025-05-02 09:51:58 +02:00
mpuchstein
d5a0de3ae9 created a tokyo night theme for hyprland 2025-04-08 16:57:24 +02:00
mpuchstein
1ed53fedbf created a tokyo night theme for hyprland 2025-04-08 16:55:15 +02:00
Matthias Puchstein
c7fb69a37c removed files that have alts 2025-04-05 16:44:34 +02:00
mpuchstein
735f3baa37 nvim settings continued 2025-04-04 16:45:31 +02:00
mpuchstein
1f741b054d nvim theme settings 2025-04-02 20:46:30 +02:00
mpuchstein
c1a020c92a some nvim updates 2025-04-02 20:26:07 +02:00
mpuchstein
13cd09e967 added battery widget to laptops 2025-03-31 20:39:11 +02:00
Matthias Puchstein
d5fcd692f9 merge 2025-03-31 13:43:46 +02:00
Matthias Puchstein
82e9bee446 removed files generated by nwg-desktop 2025-03-31 13:41:04 +02:00
Matthias Puchstein
31cd1d12d8 started with nvim config 2025-03-30 05:58:33 +02:00
Matthias Puchstein
7fc9d9f1a8 added mangohud 2025-03-29 21:31:26 +01:00
Matthias Puchstein
1fb046e1d6 sme small hyprland updates 2025-03-29 05:03:07 +01:00
mpuchstein
78c340c244 lap01 config update 2025-03-29 05:02:44 +01:00
mpuchstein
1da4faeb3f lap01 config 2025-03-29 04:53:19 +01:00
Matthias Puchstein
a0b0ddc3a4 group theming 2025-03-24 15:04:55 +01:00
Matthias Puchstein
11e3685241 basic tab config 2025-03-24 12:33:41 +01:00
Matthias Puchstein
0c5cec42d7 kitty conf 2025-03-24 11:54:31 +01:00
Matthias Puchstein
41a248c37e removed files generated by nwg-desktop 2025-03-24 10:42:03 +01:00
Matthias Puchstein
a962280ee2 qt conf 2025-03-24 10:36:45 +01:00
Matthias Puchstein
14dc8175e6 path fixes 2025-03-24 10:18:42 +01:00
Matthias Puchstein
db0552bd9b zsh config 2025-03-24 10:14:19 +01:00
Matthias Puchstein
6d534b8f98 some small stuff 2025-03-24 10:12:31 +01:00
Matthias Puchstein
b40358006f path fixes 2025-03-24 10:10:31 +01:00
Matthias Puchstein
cba6db6f40 some splitting of conf files btw tablet and pc 2025-03-24 10:08:43 +01:00
Matthias Puchstein
7e77e1fd1e monitor setup host specific 2025-03-23 06:21:53 +01:00
Matthias Puchstein
5ece1eb861 fixed some envs 2025-03-23 06:20:13 +01:00
Matthias Puchstein
06caa065ed fixed some envs 2025-03-23 06:20:13 +01:00
Matthias Puchstein
b769dd19a9 fix ws and mon 2025-03-07 03:16:50 +01:00
Matthias Puchstein
05d444189e Merge branch 'main' of somegit.dev:mpuchstein/dotfiles 2025-03-07 03:15:28 +01:00
Matthias Puchstein
1529405c6c added hyprcursor 2025-03-21 04:49:48 +01:00
Matthias Puchstein
e45b929b26 update eww 2025-03-19 22:31:10 +00:00
Matthias Puchstein
3a32e2ceb5 fixed symlinking 2025-03-19 21:40:22 +01:00
Matthias Puchstein
bdc64780fe autostart update 2025-03-19 05:47:05 +01:00
mpuchstein
1f3d9e8ae2 fixed some osd 2025-03-19 05:11:43 +01:00
mpuchstein
381cd26649 mpv config added 2025-03-19 05:05:27 +01:00
Matthias Puchstein
6de0bd9fbe eww 2025-03-07 03:13:26 +01:00
166 changed files with 14266 additions and 2427 deletions

View File

@@ -0,0 +1,76 @@
################### File Generated by Goverlay ###################
legacy_layout=false
horizontal
background_alpha=0.5
round_corners=10
background_alpha=0.5
background_color=241F31
width=10
heigth=10
font_size=14
text_color=FFFFFF
position=top-center
no_small_font
hud_no_margins
hud_compact
offset_y=5
pci_dev=0:12:00.0
table_columns=1
fps
gpu_text=GPU
gpu_stats
gpu_load_change
gpu_load_value=50,90
gpu_load_color=FFFFFF,FFAA7F,CC0000
throttling_status
gpu_temp
gpu_color=2E9762
cpu_text=CPU
cpu_stats
cpu_load_change
cpu_load_value=50,90
cpu_load_color=FFFFFF,FFAA7F,CC0000
cpu_temp
cpu_color=2E97CB
swap
vram
vram_color=AD64C1
ram
ram_color=C26693
procmem
wine
wine_color=EB5B5B
fps_limit_method=late
fps_limit=0
fsr
hdr
refresh_rate
gamemode
custom_text=Arch Linux
exec=uname -r
#offset=0
vsync=0
gl_vsync=-1
time#
version
output_folder=/home/mpuchstein
log_duration=30
autostart_log=0
log_interval=100
toggle_fps_limit=Shift_L+F1
toggle_logging=Shift_L+F2
reload_cfg=Shift_R+F9
toggle_preset=Shift_R+F10
toggle_hud_position=Shift_R+F11
toggle_hud=Shift_R+F12

View File

@@ -0,0 +1,76 @@
################### File Generated by Goverlay ###################
legacy_layout=false
horizontal
background_alpha=0.5
round_corners=10
background_alpha=0.5
background_color=241F31
width=10
heigth=10
font_size=14
text_color=FFFFFF
position=top-center
no_small_font
hud_no_margins
hud_compact
offset_y=5
pci_dev=0:12:00.0
table_columns=1
fps
gpu_text=GPU
gpu_stats
gpu_load_change
gpu_load_value=50,90
gpu_load_color=FFFFFF,FFAA7F,CC0000
throttling_status
gpu_temp
gpu_color=2E9762
cpu_text=CPU
cpu_stats
cpu_load_change
cpu_load_value=50,90
cpu_load_color=FFFFFF,FFAA7F,CC0000
cpu_temp
cpu_color=2E97CB
swap
vram
vram_color=AD64C1
ram
ram_color=C26693
procmem
wine
wine_color=EB5B5B
fps_limit_method=late
fps_limit=0
fsr
hdr
refresh_rate
gamemode
custom_text=Arch Linux
exec=uname -r
#offset=0
vsync=0
gl_vsync=-1
time#
version
output_folder=/home/mpuchstein
log_duration=30
autostart_log=0
log_interval=100
toggle_fps_limit=Shift_L+F1
toggle_logging=Shift_L+F2
reload_cfg=Shift_R+F9
toggle_preset=Shift_R+F10
toggle_hud_position=Shift_R+F11
toggle_hud=Shift_R+F12

View File

@@ -0,0 +1,11 @@
[Desktop Entry]
Name=Nextcloud
GenericName=File Synchronizer
Exec="/usr/bin/nextcloud" --background
Terminal=false
Icon=Nextcloud
Categories=Network
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=10

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Elephant
Comment=A powerful data provider backend for building custom application launchers and desktop utilities.
Exec=elephant
Icon=applications-other
Terminal=false
Categories=Utility;
Keywords=backend;data-provider;launcher;desktop;utility;

View File

@@ -0,0 +1 @@
/usr/share/applications/io.element.Element.desktop

View File

@@ -0,0 +1,4 @@
[Desktop Entry]
Exec=/usr/bin/jellyfin-mpv-shim
Name=jellyfin-mpv-shim
Type=Application

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/toolbox.svg
Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Version=1.0
Type=Application
Categories=Development
Name=JetBrains Toolbox
StartupWMClass=jetbrains-toolbox
Terminal=false
MimeType=x-scheme-handler/jetbrains;
X-GNOME-Autostart-enabled=true
StartupNotify=false
X-GNOME-Autostart-Delay=10
X-MATE-Autostart-Delay=10
X-KDE-autostart-after=panel

View File

@@ -0,0 +1,4 @@
[Desktop Entry]
Exec=/usr/bin/swayosd-server
Name=swayosd-server
Type=Application

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=Easy Effects
Comment=Easy Effects Service
Exec=easyeffects --gapplication-service
Icon=com.github.wwmm.easyeffects
StartupNotify=false
Terminal=false
Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/signal-desktop
Name=signal-desktop
Type=Application

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=Easy Effects
Comment=Easy Effects Service
Exec=easyeffects --gapplication-service
Icon=com.github.wwmm.easyeffects
StartupNotify=false
Terminal=false
Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/home/mpuchstein/.local/bin/eww open-many topbar_DP-2 topbar_DP-3
Name=eww
Type=Application

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
Name=Mumble
GenericName=Voice Chat
GenericName[de]=Sprachkonferenz
GenericName[fr]=Chat vocal
Comment=Open source, low-latency, high quality voice chat.
Comment[de]=Ein Open Source Sprachkonferenzprogramm mit niedriger Latenz und hoher Qualität
Comment[fr]=Un logiciel de chat vocal de haute qualité et de faible latence
Exec=mumble %u
Icon=mumble
Terminal=false
Type=Application
StartupNotify=false
StartupWMClass=mumble
MimeType=x-scheme-handler/mumble;
Categories=Network;Chat;Qt;
Keywords=VoIP;Messaging;Voice Chat;Secure Communication;
Version=1.0

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Element
Comment=Feature-rich client for Matrix
Exec=/usr/bin/element-desktop --password-store="gnome-libsecret" %u
Terminal=false
Type=Application
Icon=io.element.Element
StartupWMClass=Element
Categories=Network;InstantMessaging;Chat;IRCClient
MimeType=x-scheme-handler/element;

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/toolbox.svg
Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Icon=/opt/jetbrains-toolbox/toolbox.svg
Exec=/opt/jetbrains-toolbox/jetbrains-toolbox --minimize
Version=1.0
Type=Application
Categories=Development

View File

@@ -1,5 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/qpwgraph -m /home/mpuchstein/.config/qpwgraph/default.qpwgraph
Name=qpwgraph
Comment=A PipeWire Graph Qt GUI Interface
Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/signal-desktop
Name=signal-desktop
Type=Application

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Name=Vesktop
Exec=vesktop %U
Terminal=false
Type=Application
Icon=vesktop
StartupWMClass=vesktop
GenericName=Internet Messenger
Categories=Network;
Keywords=discord;vencord;electron;chat;
MimeType=x-scheme-handler/discord;
Comment=Vesktop is a custom Discord desktop app

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

257
.config/btop/btop.conf Normal file
View File

@@ -0,0 +1,257 @@
#? Config file for btop v. 1.4.5
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

View File

@@ -0,0 +1 @@
{"php":"8.4.13","version":"3.88.2","indent":" ","lineEnding":"\n","rules":{"binary_operator_spaces":{"default":"at_least_single_space"},"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"braces_position":{"allow_single_line_empty_anonymous_classes":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"modifier_keywords":true,"new_with_parentheses":{"anonymous_class":true},"no_blank_lines_after_class_opening":true,"no_extra_blank_lines":{"tokens":["use"]},"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"none"},"return_type_declaration":true,"short_scalar_cast":true,"single_import_per_statement":{"group_to_single_imports":false},"single_space_around_construct":{"constructs_followed_by_a_single_space":["abstract","as","case","catch","class","const_import","do","else","elseif","final","finally","for","foreach","function","function_import","if","insteadof","interface","namespace","new","private","protected","public","static","switch","trait","try","use","use_lambda","while"],"constructs_preceded_by_a_single_space":["as","else","elseif","use_lambda"]},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"unary_operator_spaces":{"only_dec_inc":true},"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":{"closure_fn_spacing":"one"},"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"after_heredoc":false,"attribute_placement":"ignore","on_multiline":"ensure_fully_multiline"},"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"spaces_inside_parentheses":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{".null-ls_596815_rose-pine.theme":"2a4764bfeff4afede425145ab17eb955"}}

View File

@@ -0,0 +1,119 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#191724"
# Base
# Main text color
theme[main_fg]="#e0def4"
# Text
# Title color for boxes
theme[title]="#908caa"
# Subtle
# Highlight color for keyboard shortcuts
theme[hi_fg]="#e0def4"
# Text
# Background color of selected item in processes box
theme[selected_bg]="#524f67"
# HL High
# Foreground color of selected item in processes box
theme[selected_fg]="#f6c177"
# Gold
# Color of inactive/disabled text
theme[inactive_fg]="#403d52"
# HL Med
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#9ccfd8"
# Foam
# Background color of the percentage meters
theme[meter_bg]="#9ccfd8"
# Foam
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#c4a7e7"
# Iris
# Cpu box outline color
theme[cpu_box]="#ebbcba"
# Rose
# Memory/disks box outline color
theme[mem_box]="#31748f"
# Pine
# Net up/down box outline color
theme[net_box]="#c4a7e7"
# Iris
# Processes box outline color
theme[proc_box]="#eb6f92"
# Love
# Box divider line and small boxes line color
theme[div_line]="#6e6a86"
# Muted
# Temperature graph colors
theme[temp_start]="#ebbcba"
# Rose
theme[temp_mid]="#f6c177"
# Gold
theme[temp_end]="#eb6f92"
# Love
# CPU graph colors
theme[cpu_start]="#f6c177"
# Gold
theme[cpu_mid]="#ebbcba"
# Rose
theme[cpu_end]="#eb6f92"
# Love
# Mem/Disk free meter
# all love
theme[free_start]="#eb6f92"
theme[free_mid]="#eb6f92"
theme[free_end]="#eb6f92"
# Mem/Disk cached meter
# all iris
theme[cached_start]="#c4a7e7"
theme[cached_mid]="#c4a7e7"
theme[cached_end]="#c4a7e7"
# Mem/Disk available meter
# all pine
theme[available_start]="#31748f"
theme[available_mid]="#31748f"
theme[available_end]="#31748f"
# Mem/Disk used meter
# all rose
theme[used_start]="#ebbcba"
theme[used_mid]="#ebbcba"
theme[used_end]="#ebbcba"
# Download graph colors
# Pine for start, foam for the rest
theme[download_start]="#31748f"
theme[download_mid]="#9ccfd8"
theme[download_end]="#9ccfd8"
# Upload graph colors
theme[upload_start]="#ebbcba"
# Rose for start
theme[upload_mid]="#eb6f92"
# Love for mid and end
theme[upload_end]="#eb6f92"
# Process box color gradient for threads, mem and cpu usage
theme[process_start]="#31748f"
# Pine
theme[process_mid]="#9ccfd8"
# Foam for mid and end
theme[process_end]="#9ccfd8"

View File

@@ -1,5 +1,5 @@
(include "./widgets.yuck")
(include "./topbar_dp1.yuck")
(include "./topbar_dp2.yuck")
(include "./topbar_dp3.yuck")
(include "./topbar_owlenlap02.yuck")

BIN
.config/eww/eww.zip Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
(defwindow topbar_DP-3
:monitor "DP-3"
(defwindow topbar_DP-1
:monitor "DP-1"
:geometry (geometry :x "0%"
:y "0%"
:width "90%"
@@ -9,37 +9,42 @@
:exclusive true
:reserve (struts :side "top" :distance "4%")
:windowtype "dock"
(bar1))
(bar0))
(defwidget bar1 []
(defwidget bar0 []
(centerbox :orientation "h"
(bar1_left)
(bar1_center)
(bar1_right)))
(bar0_left)
(bar0_center)
(bar0_right)))
(defwidget bar1_left []
(defwidget bar0_left []
(box :orientation 'h'
:class: 'left'
:space-evenly false
:spacing 5
:halign 'start'
(hypr_workspaces)))
(hypr_workspaces)
(hypr_active_window)))
(defwidget bar1_center []
(defwidget bar0_center []
(box :orientation 'h'
:class 'center'
:space-evenly false
:spacing 5
(media)
(hyprscreencast)
(sysmon)))
(defwidget bar1_right []
(defwidget bar0_right []
(box
:orientation 'h'
:class 'right'
:space-evenly false
:spacing 5
:halign 'end'
(media)
(hyprscreencast)
(datetime)))
(hyprsunset)
(datetime)
(stray)
(volume)
(swaync)))

View File

@@ -9,42 +9,37 @@
:exclusive true
:reserve (struts :side "top" :distance "4%")
:windowtype "dock"
(bar0))
(bar1))
(defwidget bar0 []
(defwidget bar1 []
(centerbox :orientation "h"
(bar0_left)
(bar0_center)
(bar0_right)))
(bar1_left)
(bar1_center)
(bar1_right)))
(defwidget bar0_left []
(defwidget bar1_left []
(box :orientation 'h'
:class: 'left'
:space-evenly false
:spacing 5
:halign 'start'
(hypr_workspaces)
(hypr_active_window)))
(hypr_workspaces)))
(defwidget bar0_center []
(defwidget bar1_center []
(box :orientation 'h'
:class 'center'
:space-evenly false
:spacing 5
(media)
(hyprscreencast)
(sysmon)))
(defwidget bar0_right []
(defwidget bar1_right []
(box
:orientation 'h'
:class 'right'
:space-evenly false
:spacing 5
:halign 'end'
(hyprsunset)
(datetime)
(stray)
(volume)
(swaync)))
(media)
(hyprscreencast)
(datetime)))

View File

@@ -1,20 +1,20 @@
@import 'widgets';
@import "widgets";
* {
all: unset;
}
tooltip {
background: #2E3440;
color: #E5E6E7;
background: #2e3440;
color: #e5e6e7;
border-radius: 1.5rem 1rem;
border: 1px solid #6F7175;
border: 1px solid #6f7175;
}
.popup {
background: #2E3440;
color: #E5E6E7;
border: 1px solid #6F7175;
background: #2e3440;
color: #e5e6e7;
border: 1px solid #6f7175;
}
.popup menuitem:hover {
@@ -26,22 +26,9 @@ window {
color: transparent;
* {
font-family: 'Inconsolata Go Nerd Font';
font-family: "Inconsolata Go Nerd Font";
font-size: 0.85rem;
border-radius: 1.5rem 1rem;
padding: 2px 6px;
}
/* Modules */
.left {
//background: orange;
}
.center {
//background: blue;
}
.right {
//background: yellow;
}
}

View File

@@ -3,7 +3,7 @@
:geometry (geometry :x "0%"
:y "0%"
:width "90%"
:height "10px"
:height "1%"
:anchor "top center")
:stacking "bg"
:exclusive true
@@ -32,7 +32,6 @@
:class 'center'
:space-evenly false
:spacing 5
(media)
(hyprscreencast)
(sysmon)))
@@ -41,10 +40,11 @@
:orientation 'h'
:class 'right'
:space-evenly false
:spacing 5
:spacing 2
:halign 'end'
(hyprsunset)
(datetime)
(stray)
(volume)
(battery)
(swaync)))

View File

@@ -9,3 +9,4 @@
@import 'widgets/swaync.scss';
@import 'widgets/volume.scss';
@import 'widgets/hyprscreencast.scss';
@import 'widgets/battery.scss';

View File

@@ -9,3 +9,4 @@
(include "widgets/swaync.yuck")
(include "widgets/volume.yuck")
(include "widgets/hyprscreencast.yuck")
(include "widgets/battery.yuck")

View File

@@ -0,0 +1,8 @@
.battery{
background: lightgreen;
color: black;
}
.Discharging{
background: orange;
}

View File

@@ -0,0 +1,6 @@
(defwidget battery []
(box
:class "battery ${EWW_BATTERY.BAT1.status}"
:halign "center"
:valign "center"
(label :text "󱈑 ${EWW_BATTERY.BAT1.capacity} %")))

View File

@@ -11,6 +11,3 @@
? "eww update display-fix=on && nohup hyprsunset -t ${temperature} > /dev/null 2>&1 &"
: "eww update display-fix=off && pkill hyprsunset"}`
`${display-fix == "off" ? "󰛨 Off" : "󱩌 On"}`)))

View File

@@ -0,0 +1,51 @@
(defvar netiface "wlp3s0")
(defwidget sysmon []
(box
:class 'sysmon'
:space-evenly false
:spacing 0
(cpu :class "first")
(ram :class "middle")
(disk :class "middle")
(net :class "last")))
(defwidget ram [class]
(tooltip
:class 'ram ${EWW_RAM.used_mem_perc > 90 ? 'danger' : ''} ${class}'
(label :text " ${round(EWW_RAM.free_swap/1000000000, 2)} GB/${round(EWW_RAM.total_swap/1000000000, 2)} GB")
(label :text " ${round(EWW_RAM.used_mem/1000000000, 2)} GB/${round(EWW_RAM.total_mem/1000000000, 2)} GB")))
(defwidget disk [class]
(tooltip
:class 'disk ${EWW_DISK["/"].used_perc > 90 ? 'danger' : ''} ${class}'
(label :text " ${round(EWW_DISK["/"].free/1000000000, 2)} GB /${round(EWW_DISK["/"].total/1000000000, 2)} GB")
(label :text " ${round(EWW_DISK["/"].used_perc,2)}%")))
(defwidget cpu [class]
(tooltip
:class 'cpu ${class}'
(box :orientation "vertical"
(for cpu in {EWW_CPU.cores}
(box
:orientation "horizontal"
:space-evenly false
:spacing 10
(circular-progress
:thickness 5
:start-at 75
:value {cpu.usage})
(label
:limit-width 6
:show-truncated false
:text "${cpu.core}: ")
(label :text "${cpu.freq} Hz ${cpu.usage}%"))))
(label :text " ${round(EWW_CPU.avg, 2)}%")))
(defwidget net [class]
(box
:class 'net ${class}'
:space-evenly false
(label :text "")
(label :text " ${round(EWW_NET[netiface].NET_UP * 8 / 1000000, 2)} Mbit")
(label :text " ${round(EWW_NET[netiface].NET_DOWN * 8 / 1000000, 2)} Mbit")))

132
.config/fuzzel/fuzzel.ini Normal file
View File

@@ -0,0 +1,132 @@
# output=<not set>
# font=monospace
# dpi-aware=auto
# use-bold=no
# prompt="> "
# placeholder=
# icon-theme=default
# icons-enabled=yes
# hide-before-typing=no
# fields=filename,name,generic
# password-character=*
# filter-desktop=no
# match-mode=fzf
# sort-result=yes
# match-counter=no
# delayed-filter-ms=300
# delayed-filter-limit=20000
# show-actions=no
# terminal=$TERMINAL -e # Note: you cannot actually use environment variables here
# launch-prefix=<not set>
# list-executables-in-path=no
# anchor=center
# x-margin=0
# y-margin=0
# lines=15
# minimal-lines=no
# width=30
# tabs=8
# horizontal-pad=40
# vertical-pad=8
# inner-pad=0
lines=10
width=40
horizontal-pad=50
vertical-pad=20
inner-pad=20
# scaling-filter=box
# image-size-ratio=0.5
# gamma-correct-blending=no
# line-height=<use font metrics>
# letter-spacing=0
# layer=overlay
# keyboard-focus=exclusive
# exit-on-keyboard-focus-loss=yes
# cache=<not set>
# render-workers=<number of logical CPUs>
# match-workers=<number of logical CPUs>
# enable-mouse=yes
include=~/.config/fuzzel/themes/rose-pine.ini
#[colors]
# background=fdf6e3ff
# text=657b83ff
# prompt=586e75ff
# placeholder=93a1a1ff
# input=657b83ff
# match=cb4b16ff
# selection=eee8d5ff
# selection-text=586e75ff
# selection-match=cb4b16ff
# counter=93a1a1ff
# border=002b36ff
[border]
width=2
radius=20
# width=1
# radius=10
[dmenu]
# mode=text # text|index
# exit-immediately-if-empty=no
[key-bindings]
# cancel=Escape Control+g Control+c Control+bracketleft
# execute=Return KP_Enter Control+y
# execute-or-next=Tab
# execute-input=Shift+Return Shift+KP_Enter
# 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-line=Control+Shift+BackSpace
# delete-prev=BackSpace Control+h
# delete-prev-word=Mod1+BackSpace Control+BackSpace Control+w
# delete-line-backward=Control+u
# delete-next=Delete KP_Delete Control+d
# delete-next-word=Mod1+d Control+Delete Control+KP_Delete
# delete-line-forward=Control+k
# prev=Up Control+p
# prev-with-wrap=ISO_Left_Tab
# prev-page=Page_Up KP_Page_Up
# next=Down Control+n
# next-with-wrap=none
# next-page=Page_Down KP_Page_Down
# expunge=Shift+Delete
# clipboard-paste=Control+v XF86Paste
# primary-paste=Shift+Insert Shift+KP_Insert
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
# with 12, and so on.
# custom-1=Mod1+1
# custom-2=Mod1+2
# custom-3=Mod1+3
# custom-4=Mod1+4
# custom-5=Mod1+5
# custom-6=Mod1+6
# custom-7=Mod1+7
# custom-8=Mod1+8
# custom-9=Mod1+9
# custom-10=Mod1+0
# custom-11=Mod1+exclam
# custom-12=Mod1+at
# custom-13=Mod1+numbersign
# custom-14=Mod1+dollar
# custom-15=Mod1+percent
# custom-16=Mod1+dead_circumflex
# custom-17=Mod1+ampersand
# custom-18=Mod1+asterix
# custom-19=Mod1+parentleft

View File

@@ -0,0 +1,12 @@
[colors]
background=#191724ff
text=#e0def4ff
prompt=#e0def4ff
placeholder=#6e6a86ff
input=#e0def4ff
match=#ebbcbaff
selection=#403d52ff
selection-text=#e0def4ff
selection-match=#ebbcbaff
counter=#f6c177ff
border=#ebbcbaff

View File

@@ -1,5 +1,11 @@
file:///home/mpuchstein/Documents/
file:///home/mpuchstein/Pictures/
file:///home/mpuchstein/Music/
file:///home/mpuchstein/Nextcloud/
file:///home/mpuchstein/Downloads/
file:///home/mpuchstein/Dev Dev
file:///home/mpuchstein/Documents/personal personal
file:///home/mpuchstein/Documents/uni uni
file:///home/mpuchstein/Nextcloud/DSA-Aufnahmen DSA-Aufnahmen
file:///home/mpuchstein/Documents Documents
file:///home/mpuchstein/Pictures Pictures
file:///home/mpuchstein/Music Music
file:///home/mpuchstein/Nextcloud Nextcloud
file:///home/mpuchstein/Downloads Downloads
file:///home/mpuchstein/Documents/uni/ss25/AD/Vorlesung Vorlesung
file:///home/mpuchstein/Documents/ttrpg/dsa5 dsa5

View File

@@ -1,8 +1,8 @@
[Settings]
gtk-theme-name=Adwaita
gtk-icon-theme-name=Adwaita
gtk-font-name=InconsolataGo Nerd Font 9
gtk-cursor-theme-name=AC-Volantes
gtk-font-name=InconsolataGo Nerd Font Mono 11
gtk-cursor-theme-name=volantes
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR

View File

@@ -3,3 +3,4 @@
# and ~/.config/autostart
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = wl-clip-persist --clipboard regular

View File

@@ -0,0 +1,97 @@
#######################################
### CATTPUCCIN MOCHA HYPRLAND THEME ###
#######################################
$rosewater = rgb(f5e0dc)
$rosewaterAlpha = f5e0dc
$flamingo = rgb(f2cdcd)
$flamingoAlpha = f2cdcd
$pink = rgb(f5c2e7)
$pinkAlpha = f5c2e7
$mauve = rgb(cba6f7)
$mauveAlpha = cba6f7
$red = rgb(f38ba8)
$redAlpha = f38ba8
$maroon = rgb(eba0ac)
$maroonAlpha = eba0ac
$peach = rgb(fab387)
$peachAlpha = fab387
$yellow = rgb(f9e2af)
$yellowAlpha = f9e2af
$green = rgb(a6e3a1)
$greenAlpha = a6e3a1
$teal = rgb(94e2d5)
$tealAlpha = 94e2d5
$sky = rgb(89dceb)
$skyAlpha = 89dceb
$sapphire = rgb(74c7ec)
$sapphireAlpha = 74c7ec
$blue = rgb(89b4fa)
$blueAlpha = 89b4fa
$lavender = rgb(b4befe)
$lavenderAlpha = b4befe
$text = rgb(cdd6f4)
$textAlpha = cdd6f4
$subtext1 = rgb(bac2de)
$subtext1Alpha = bac2de
$subtext0 = rgb(a6adc8)
$subtext0Alpha = a6adc8
$overlay2 = rgb(9399b2)
$overlay2Alpha = 9399b2
$overlay1 = rgb(7f849c)
$overlay1Alpha = 7f849c
$overlay0 = rgb(6c7086)
$overlay0Alpha = 6c7086
$surface2 = rgb(585b70)
$surface2Alpha = 585b70
$surface1 = rgb(45475a)
$surface1Alpha = 45475a
$surface0 = rgb(313244)
$surface0Alpha = 313244
$base = rgb(1e1e2e)
$baseAlpha = 1e1e2e
$mantle = rgb(181825)
$mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b
$splash_text = rgba($textAlphaee)
$dec_shadow = rgba($surface0Alpha88)
$border_active = rgba($pinkAlphaff) rgba($mauveAlphaff) 45deg
$border_inactive = rgba($redAlphabb) rgba($mauveAlphabb) 45deg
$border_nogroup_active = rgba($tealAlphaff) rgba($yellowAlphaff) 45deg
$border_nogroup_inactive = rgba($tealAlphaaa) rgba($yellowAlphaff) 45deg
$border_group_active = rgba($sapphireAlphaff) rgba($lavenderAlphaff) 45deg
$border_group_inactive = rgba($blueAlphadd) rgba($peachAlphadd) 45deg
$border_grouplocked_active = rgba($maroonAlphaff) rgba(f7767eff) 45deg
$border_grouplocked_inactive = rgba(ff007caa) rgba(f7767eff) 45deg
$groupbar_text = rgba($baseAlphaff)
$groupbar_active = rgba($sapphireAlphaff) rgba($lavenderAlphaaa)
$groupbar_inactive = rgba($blueAlphaee) rgba($lavenderAlphaaa)
$groupbar_grouplocked_active = rgba($tealAlphaff) rgba($greenAlphaff)
$groupbar_grouplocked_inactive = rgba($tealAlphaaa) rgba($greenAlphaaa)

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(ffffffff)
$dec_shadow = rgba(1a1a1aee)
$border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
$border_inactive = rgba(595959aa)
$border_nogroup_active =
$border_nogroup_inactive =
$border_group_active = 0x66ffff00
$border_group_inactive = 0x66777700
$border_grouplocked_active = 0x66ff5500
$border_grouplocked_inactive = 0x66ff5500
$groupbar_text = 0xffffffff
$groupbar_active = 0x66ffff00
$groupbar_inactive = 0x66777700
$groupbar_grouplocked_active = 0x66ff5500
$groupbar_grouplocked_inactive = 0x66775500

View File

@@ -4,20 +4,26 @@
# Set programs that you use
$terminal = uwsm app -T
$terminal_backup = uwsm app -- kitty
$term_tmux = uwsm app -- kitty tmux
$term_tmux_append = uwsm app -- kitty tmux a
$filemanager = uwsm app -- nautilus
$launcher = uwsm app -- walker
$clipboard = uwsm app -- nwg-clipman
$browser = uwsm app -- zen-browser
$browserprv = uwsm app -- zen-browser --private-window
$editor = uwsm app -T -- vim
$editor0 = uwsm app -- zeditor
$clipman = uwsm app -- nwg-clipman
$taskman = uwsm app -- uuctl walker -d
$launcher = uwsm app -- sherlock
$powermenu = uwsm app -- sherlock -sm pm
$clipman = uwsm app -- sherlock-clp | sherlock | cliphist decode | wl-copy
$browser = uwsm app -- firefox
$browserprv = uwsm app -- firefox --private-window
$altbrowser = uwsm app -- chromium
$editor = uwsm app -T -- nvim
$alteditor = uwsm app -- zeditor
$taskman = uwsm app -- uuctl wofi
$pwdmgr = uwsm app -- keepassxc
$notcenter = uwsm app -- swaync-client -t -sw
$notdnd = uwsm app -- swaync-client -d
$nothide = uwsm app -- swaync-client --hide-latest
$notclose = uwsm app -- swaync-client --close-latest
$notcloseall = uwsm app -- swaync-client --close-all
$soundctl = uwsm app -- pwvucontrol
$lockcmd = loginctl lock-session
@@ -30,12 +36,19 @@ $mainMod = SUPER
bind = $mainMod, E, exec, $filemanager
bind = $mainMod, W, exec, $browser
bind = $mainMod SHIFT, W, exec, $browserprv
bind = $mainMod CTRL, W, exec, $altbrowser
bind = $mainMod Shift, E, exec, $editor
bind = $mainMod Shift ALT_L, E, exec, $editor0
bind = $mainMod CTRL, E, exec, $alteditor
bind = $mainMod, X, exec, $launcher
bind = $mainMod, B, exec, $powermenu
bind = $mainMod, C, exec, $clipman
bind = $mainMod, Return, exec, $terminal
bind = $mainMod, Return, exec, $terminal_backup
bind = $mainMod SHIFT, Return, exec, $term_tmux
bind = $mainMod ALT_L, Return, exec, $term_tmux_append
bind = $mainMod CTRL, Return, exec, $terminal
bind = $mainMod, Escape, exec, $taskman
bind = $mainMod, R, exec, $pwdmgr
bind = $mainMod, F4, exec, $soundctl
bind = $mainMod, Grave, exec, $notcenter
bind = $mainMod SHIFT, Grave, exec, $notdnd
@@ -43,7 +56,6 @@ bind = $mainMod, A, exec, $nothide
bind = $mainMod SHIFT, A, exec, $notclose
bind = $mainMod CTRL, A, exec, $notcloseall
bind = $mainMod SHIFT, Pause, exec, uwsm stop
bind = $mainMod, Pause, exec, $lockcmd
bind = $mainMod SHIFT, Escape, exec, $lockcmd
@@ -62,6 +74,12 @@ bind = $mainMod SHIFT, Tab, togglesplit,
bind = $mainMod CTRL, Tab, layoutmsg, movetoroot
bind = $mainMod, P, pseudo,
#master layout
bind = $mainMod, Tab, layoutmsg, swapwithmaster
bind = $mainMod SHIFT, Tab, layoutmsg, addmaster
bind = $mainMod CTRL, Tab, layoutmsg, removemaster
bind = $mainMod CTRL SHIFT, Tab, layoutmsg, rollnext
# MOVE FOCUS with mainMod + vim keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
@@ -80,6 +98,9 @@ bind = $mainMod CTRL, l, resizeactive,25 0
bind = $mainMod CTRL, k, resizeactive,0 -25
bind = $mainMod CTRL, j, resizeactive,0 25
# Special workspaces
bind = $mainMod, N, togglespecialworkspace, keepass
# SWITCH WORKSPACES with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
@@ -116,6 +137,15 @@ bind = $mainMod CTRL SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod CTRL SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod CTRL SHIFT, 0, movetoworkspacesilent, 10
bind = $mainMod, Z, changegroupactive, f
bind = $mainMod SHIFT, Z, changegroupactive, b
bind = $mainMod CTRL, Z, togglegroup
bind = $mainMod ALT_L, H, movewindoworgroup, l
bind = $mainMod ALT_L, J, movewindoworgroup, d
bind = $mainMod ALT_L, K, movewindoworgroup, u
bind = $mainMod ALT_L, L, movewindoworgroup, r
# MOVE/RESIZE WINDOWS with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
@@ -134,11 +164,21 @@ bindel = SHIFT ,XF86AudioRaiseVolume, exec, swayosd-client --input-volume raise
bindel = SHIFT ,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower --max-volume 150
bindel = SHIFT ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
# Zoom control
bind = $mainMod, M, exec, hyprctl keyword cursor:zoom_factor 2
bind = $mainMod SHIFT, M, exec, hyprctl keyword cursor:zoom_factor 1
# Requires playerctl
bindl = , XF86AudioNext, exec, swayosd-client --playerctl next
bindl = , XF86AudioPause, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPlay, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPrev, exec, swayosd-client --playerctl previous
# Screenshot and recording controls
bind = , Print, exec, grimblast --notify copy output
bind = CTRL, Print, exec, grimblast --notify edit output
bind = $mainMod, Print, exec, grimblast --notify edit area
bind = ALT_L, Print, exec, grimblast --notify copy screen
bind = ALT_L SHIFT, Print, exec, grimblast --notify edit screen
bind = SHIFT, Print, exec, uwsm app -- kitty --app-id=scrrec wf-recorder -f ~/Videos/scrrec.mkv -y -g "$(slurp)"

View File

@@ -0,0 +1,72 @@
#####################################
### ROSÉ PINE HYPRLAND THEME ###
#####################################
# Base colors
$base = rgb(191724)
$baseAlpha = 191724
$surface = rgb(1f1d2e)
$surfaceAlpha = 1f1d2e
$overlay = rgb(26233a)
$overlayAlpha = 26233a
$muted = rgb(6e6a86)
$mutedAlpha = 6e6a86
$subtle = rgb(908caa)
$subtleAlpha = 908caa
$text = rgb(e0def4)
$textAlpha = e0def4
# Accent colors
$love = rgb(eb6f92)
$loveAlpha = eb6f92
$gold = rgb(f6c177)
$goldAlpha = f6c177
$rose = rgb(ebbcba)
$roseAlpha = ebbcba
$pine = rgb(31748f)
$pineAlpha = 31748f
$foam = rgb(9ccfd8)
$foamAlpha = 9ccfd8
$iris = rgb(c4a7e7)
$irisAlpha = c4a7e7
# Highlight variants
$highlight_low = rgb(21202e)
$highlight_lowAlpha = 21202e
$highlight_med = rgb(403d52)
$highlight_medAlpha = 403d52
$highlight_high = rgb(524f67)
$highlight_highAlpha = 524f67
# Theme-specific definitions
$splash_text = rgba($textAlphaee)
$dec_shadow = rgba($overlayAlpha88)
# Border configurations
$border_active = rgba($roseAlphaff) rgba($irisAlphaff) 45deg
$border_inactive = rgba($mutedAlphabb) rgba($subtleAlphabb) 45deg
$border_nogroup_active = rgba($pineAlphaff) rgba($foamAlphaff) 45deg
$border_nogroup_inactive = rgba($pineAlphaaa) rgba($foamAlphaaa) 45deg
$border_group_active = rgba($irisAlphaff) rgba($loveAlphaff) 45deg
$border_group_inactive = rgba($mutedAlphadd) rgba($subtleAlphadd) 45deg
$border_grouplocked_active = rgba($goldAlphaff) rgba($roseAlphaff) 45deg
$border_grouplocked_inactive = rgba($goldAlphaaa) rgba($roseAlphaaa) 45deg
# Group bar configurations
$groupbar_text = rgba($baseAlphaff)
$groupbar_active = rgba($roseAlphaff) rgba($irisAlphaaa)
$groupbar_inactive = rgba($mutedAlphaee) rgba($subtleAlphaaa)
$groupbar_grouplocked_active = rgba($goldAlphaff) rgba($loveAlphaff)
$groupbar_grouplocked_inactive = rgba($goldAlphaaa) rgba($loveAlphaaa)

View File

@@ -0,0 +1 @@
rose-pine.conf

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(a9b1d6ee)
$dec_shadow = rgba(737aa2ee)
$border_active = rgba(9ece6aff) rgba(7aa2f7ff) 45deg
$border_inactive = rgba(9d7cd8aa) rgba(7aa2f7ff) 45deg
$border_nogroup_active = rgba(7aa2f7ff) rgba(89ddffff) 45deg
$border_nogroup_inactive = rgba(7aa2f7aa) rgba(89ddffaa) 45deg
$border_group_active = rgba(ff9e64ff) rgba(ff0e64ff) 45deg
$border_group_inactive = rgba(ff9e64aa) rgba(ff0e64aa) 45deg
$border_grouplocked_active = rgba(ff007cff) rgba(f7767eff) 45deg
$border_grouplocked_inactive = rgba(ff007caa) rgba(f7767eff) 45deg
$groupbar_text = rgba(1f2335ff)
$groupbar_active = rgba(ff9e64ee) rgba(ff9e6499)
$groupbar_inactive = rgba(ff9e64bb) rgba(ff9e6499)
$groupbar_grouplocked_active = rgba(ff007cee) rgba(ff007c99)
$groupbar_grouplocked_inactive = rgba(ff007cbb) rgba(ff007c99)

View File

@@ -29,11 +29,11 @@ listener {
}
listener {
timeout = 1800 # 30min
timeout = 600 # 10min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 3600 # 60min
on-timeout = systemctl hibernate # hibernate and suspend pc
timeout = 1200 # 20min
on-timeout = systemctl suspend # suspend pc
}

View File

@@ -15,6 +15,12 @@ source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/conf.d/autostart.conf
##############
### COLORS ###
##############
source = ~/.config/hypr/conf.d/theme.conf
#############################
### ENVIRONMENT VARIABLES ###
#############################
@@ -30,13 +36,15 @@ source = ~/.config/hypr/conf.d/autostart.conf
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 10
gaps_out = 5,5,5,5
border_size = 1
border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
col.active_border = $border_active
col.inactive_border = $border_inactive
col.nogroup_border = $border_nogroup_inactive
col.nogroup_border_active = $border_nogroup_active
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
@@ -44,9 +52,26 @@ general {
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
layout = master
}
render {
new_render_scheduling = true
}
cursor {
hide_on_key_press = true # Hide cursor when typing
persistent_warps = true # Cursor returns to last position in window
warp_on_change_workspace = true # Move cursor to focused window on workspace switch
inactive_timeout = 0
zoom_factor = 1.0
zoom_rigid = false
enable_hyprcursor = true
sync_gsettings_theme = true
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 5
@@ -56,6 +81,7 @@ decoration {
inactive_opacity = 1.0
# Dim inactive windows
dim_modal = true
dim_inactive = true
dim_strength = 0.1
@@ -63,7 +89,7 @@ decoration {
enabled = false
range = 4
render_power = 3
color = rgba(1a1a1aee)
color = $dec_shadow
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
@@ -104,6 +130,7 @@ animations {
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
animation = specialWorkspace, 1, 1.5, easeOutQuint, slidevert
}
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
@@ -120,11 +147,23 @@ animations {
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
smart_split = true
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
orientation = left
# center_master_fallback = left
# slave_count_for_center_master = 4
mfact = 0.60
new_status = slave
new_on_top = true
new_on_active = after
inherit_fullscreen = true
allow_small_split = false
special_scale_factor = 0.8
drop_at_cursor = true
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
@@ -132,10 +171,12 @@ misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
vrr = 2
vfr = true
mouse_move_enables_dpms = true
key_press_enables_dpms = true
layers_hog_keyboard_focus = true
mouse_move_focuses_monitor = true
col.splash = $splash_text
}
#############
@@ -144,14 +185,15 @@ misc {
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = eu
kb_options = caps:escape_shifted_capslock, compose:102
kb_layout = ultimatekeys
kb_options = caps:escape_shifted_capslock
numlock_by_default = true
repeat_rate = 25
repeat_delay = 600
follow_mouse = 1
mouse_refocus = true
float_switch_override_focus = 1
float_switch_override_focus = 2
special_fallthrough = true
touchpad {
disable_while_typing = true
scroll_factor = 1.0
@@ -159,12 +201,13 @@ input {
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
device {
name = "Logitech Gaming Mouse G502"
sensitivity = 0.0
accel_profile = flat
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
#device {
@@ -178,6 +221,51 @@ gestures {
source = ~/.config/hypr/conf.d/keybinds.conf
##############
### Groups ###
##############
group {
auto_group = true
insert_after_current = true
focus_removed_window = true
drag_into_group = 1
merge_groups_on_drag = true
merge_groups_on_groupbar = true
merge_floated_into_tiled_on_groupbar = true
group_on_movetoworkspace = false
col.border_active = $border_group_active
col.border_inactive = $border_group_inactive
col.border_locked_active = $border_grouplocked_active
col.border_locked_inactive = $border_grouplocked_active
groupbar{
enabled = true
height = 12
font_family = InconsolataGo Nerd Font Mono
font_size = 8
font_weight_active = semibold
font_weight_inactive = normal
stacked = false
gradients = true
gradient_rounding = 5
indicator_height = 0
rounding = 0
gradient_round_only_edges = true
text_color = $groupbar_text
col.active = $groupbar_active
col.inactive = $groupbar_inactive
col.locked_active = $groupbar_grouplocked_active
col.locked_inactive = $groupbar_grouplocked_inactive
gaps_out = 0
gaps_in = 0
render_titles = true
scrolling = true
priority = 3
}
}
##############################
### WINDOWS AND WORKSPACES ###
##############################
@@ -192,16 +280,58 @@ source = ~/.config/hypr/conf.d/keybinds.conf
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.*
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
windowrule = noinitialfocus,xwayland:1
## ========== Special Workspaces ==========
workspace = special:keepass, on-created-empty:keepassxc
#windowrule = float, class:org.keepassxc.KeePassXC
#windowrule = noscreenshare, class:org.keepassxc.KeePassXC
#windowrule = size 60% 60%, class:org.keepassxc.KeePassXC
#windowrule = center, class:org.keepassxc.KeePassXC
## ========== Communication ==========
# Mumble & Discord & TeamSpeak
windowrule = workspace 2, class:^(info\.mumble\.Mumble|discord|TeamSpeak|vesktop)$
# Signal & Element
windowrule = workspace 1, class:^(signal|Element)$
## ========== Multimedia ==========
windowrule = workspace 10, class:Spotify
### ========== Development ==========
#windowrulev2 = float, class:jetbrains-webstorm, title:Welcome to WebStorm
#windowrulev2 = size 1080 720, class:jetbrains-webstorm, title:Welcome to WebStorm
## ========== Gaming ==========
# Steam & Battle.net & Lutris
windowrule = workspace 3, class:^(steam|battle\.net\.exe|net\.lutris\.Lutris)$
## ========== System ==========
windowrule = float, class:com.saivert.pwvucontrol
windowrule = float, class:scrrec
windowrule = pin, class:scrrec
windowrule = idleinhibit always, class:scrrec
windowrule = rounding 10, class:scrrec
windowrule = opacity 0.6, class:scrrec
windowrule = noborder, class:scrrec
windowrule = size 300 100, class:scrrec
windowrule = move 1% 1%, class:scrrec
windowrule = monitor 0, class:scrrec
windowrule = noinitialfocus, class:scrrec
windowrule = float, class:com.gabm.satty
windowrule = size >700 >400, class:com.gabm.satty
# Blur swaync
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window
layerrule = ignorealpha, swaync-control-center
layerrule = ignorealpha, swaync-notification-window
#layerrule = blur, swaync-control-center
#layerrule = blur, swaync-notification-window
#layerrule = ignorezero, swaync-control-center
#layerrule = ignorezero, swaync-notification-window
#layerrule = ignorealpha, swaync-control-center
#layerrule = ignorealpha, swaync-notification-window

View File

@@ -0,0 +1,66 @@
general {
hide_cursor = true
ignore_empty_input = true
}
#auth {
# just leave the defaults
#}
##################
### BACKGROUND ###
##################
background {
monitor =
path = /home/mpuchstein/Pictures/2736x1824/1189063.jpg
}
#############
### INPUT ###
#############
input-field {
size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(0, 0, 0, 0)
inner_color = rgba(0, 0, 0, 0.2)
font_color = rgba(255, 0, 132, 0.8)
fade_on_empty = false
rounding = -1
check_color = rgb(204, 136, 34)
placeholder_text =
hide_input = false
position = 0, -200
halign = center
valign = center
}
############
### DATA ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(242, 243, 244, 0.75)
font_size = 22
font_family = Inconsolata Nerd Font Mono
position = 0, 300
halign = center
valign = center
}
############
### TIME ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(242, 243, 244, 0.75)
font_size = 95
font_family = Inconsolata Nerd Font Mono Bold
position = 0, 200
halign = center
valign = center
}

View File

@@ -1,8 +0,0 @@
splash = true
splash_offset = 2.0
ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg
wallpaper = DP-3, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg

View File

@@ -0,0 +1,6 @@
splash = true
splash_offset = 2.0
ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg
wallpaper = eDP-1, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg

View File

@@ -0,0 +1,6 @@
splash = true
splash_offset = 2.0
ipc = true
preload = /home/mpuchstein/Pictures/2736x1824/femdemfor3.png
wallpaper = eDP-1, /home/mpuchstein/Pictures/2736x1824/femdemfor3.png

View File

@@ -0,0 +1,8 @@
splash = true
splash_offset = 2.0
ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/ki/1920x1080/witch_autumn.png
preload = /home/mpuchstein/Pictures/wallpaper/ki/1920x1080/rosepinesuccubus11.png
wallpaper = DP-1, /home/mpuchstein/Pictures/wallpaper/ki/1920x1080/rosepinesuccubus11.png
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/ki/1920x1080/witch_autumn.png

View File

@@ -1,4 +1,13 @@
# Generated by nwg-displays on 2025-03-19 at 21:35:50. Do not edit manually.
monitor=DP-2,1920x1080@60.0,0x0,1.0
monitor=DP-3,1920x1080@144.0,1920x0,1.0
monitorv2 {
output = DP-1
mode = 1920x1080@60
position = 0x0
scale = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = 1920x0
scale = 1
vrr = 1
}

View File

@@ -1,4 +0,0 @@
# Generated by nwg-displays on 2025-03-19 at 21:35:50. Do not edit manually.
monitor=DP-2,1920x1080@60.0,0x0,1.0
monitor=DP-3,1920x1080@144.0,1920x0,1.0

View File

@@ -1,12 +1,12 @@
# Generated by nwg-displays on 2025-03-19 at 21:34:19. Do not edit manually.
# Generated by nwg-displays on 2025-08-23 at 18:21:52. Do not edit manually.
workspace=1,monitor:DP-2,default:true
workspace=2,monitor:DP-2
workspace=3,monitor:DP-2
workspace=4,monitor:DP-2
workspace=5,monitor:DP-2
workspace=6,monitor:DP-3,default:true
workspace=7,monitor:DP-3
workspace=8,monitor:DP-3
workspace=9,monitor:DP-3
workspace=10,monitor:DP-3
workspace=1,monitor:DP-1,default:true
workspace=2,monitor:DP-1
workspace=3,monitor:DP-1
workspace=4,monitor:DP-1
workspace=5,monitor:DP-1
workspace=6,monitor:DP-2,default:true
workspace=7,monitor:DP-2
workspace=8,monitor:DP-2
workspace=9,monitor:DP-2
workspace=10,monitor:DP-2

View File

@@ -1,12 +0,0 @@
# Generated by nwg-displays on 2025-03-19 at 21:34:19. Do not edit manually.
workspace=1,monitor:DP-2,default:true
workspace=2,monitor:DP-2
workspace=3,monitor:DP-2
workspace=4,monitor:DP-2
workspace=5,monitor:DP-2
workspace=6,monitor:DP-3,default:true
workspace=7,monitor:DP-3
workspace=8,monitor:DP-3
workspace=9,monitor:DP-3
workspace=10,monitor:DP-3

View File

@@ -0,0 +1,53 @@
## name: Rosé Pine
## author: mvllow
## license: MIT
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #e0def4
background #191724
selection_foreground #e0def4
selection_background #403d52
cursor #524f67
cursor_text_color #e0def4
url_color #c4a7e7
active_tab_foreground #e0def4
active_tab_background #26233a
inactive_tab_foreground #6e6a86
inactive_tab_background #191724
# black
color0 #26233a
color8 #6e6a86
# red
color1 #eb6f92
color9 #eb6f92
# green
color2 #31748f
color10 #31748f
# yellow
color3 #f6c177
color11 #f6c177
# blue
color4 #9ccfd8
color12 #9ccfd8
# magenta
color5 #c4a7e7
color13 #c4a7e7
# cyan
color6 #ebbcba
color14 #ebbcba
# white
color7 #e0def4
color15 #e0def4

2712
.config/kitty/kitty.conf Normal file

File diff suppressed because it is too large Load Diff

2712
.config/kitty/kitty.conf.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -70,7 +70,7 @@
# 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
hwdec=auto
##################
# audio settings #

File diff suppressed because it is too large Load Diff

1
.config/nvim/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
lazy-lock.json

View File

@@ -0,0 +1,20 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
},
"lspconfig": {
"lua_ls": {
"Lua.format.enable": false
}
}
}

View File

@@ -0,0 +1,7 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"
collapse_simple_statement = "Always"

34
.config/nvim/README.md Normal file
View File

@@ -0,0 +1,34 @@
# AstroNvim Template
**NOTE:** This is for AstroNvim v5+
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
## 🛠️ Installation
#### Make a backup of your current nvim and shared folder
```shell
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
```
#### Create a new user repository from this template
Press the "Use this template" button above to create a new repository to store your user configuration.
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
#### Clone the repository
```shell
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
```
#### Start Neovim
```shell
nvim
```

View File

@@ -0,0 +1,4 @@
vim.opt_local.spell = true
vim.opt_local.spelllang = { "en_gb", "de_de", "fr" }
vim.opt_local.wrap = true
vim.opt_local.linebreak = true

View File

@@ -0,0 +1,8 @@
-- Spell-check (tweak languages to your needs)
vim.opt_local.spell = true
vim.opt_local.spelllang = { "en_gb", "de_de", "fr" }
-- Niceties for prose/math
vim.opt_local.wrap = true
vim.opt_local.linebreak = true
vim.opt_local.textwidth = 0 -- don't hard-wrap LaTeX

19
.config/nvim/init.lua Normal file
View File

@@ -0,0 +1,19 @@
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(lazypath)
-- validate that lazy is available
if not pcall(require, "lazy") then
-- stylua: ignore
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
require "lazy_setup"
require "polish"

View File

@@ -0,0 +1,30 @@
-- AstroCommunity: import any community modules here
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
-- This guarantees that the specs are processed before any user plugins.
---@type LazySpec
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.colorscheme.catppuccin" },
-- these packs can set up things such as Treesitter, Language Servers, additional language specific plugins, and more!
{ import = "astrocommunity.snippet.nvim-snippets" },
{ import = "astrocommunity.pack.lua" },
{ import = "astrocommunity.pack.hyprlang" },
{ import = "astrocommunity.pack.java" },
{ import = "astrocommunity.pack.rust" },
{ import = "astrocommunity.pack.go" },
{ import = "astrocommunity.pack.docker" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.html-css" },
{ import = "astrocommunity.pack.sql" },
{ import = "astrocommunity.pack.typescript" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.xml" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.python" },
{ import = "astrocommunity.pack.kotlin" },
{ import = "astrocommunity.pack.php" },
{ import = "astrocommunity.markdown-and-latex.vimtex" },
-- import/override with your plugins folder
}

View File

@@ -0,0 +1,32 @@
require("lazy").setup({
{
"AstroNvim/AstroNvim",
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
import = "astronvim.plugins",
opts = { -- AstroNvim options must be set here with the `import` key
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
},
},
{ import = "community" },
{ import = "plugins" },
} --[[@as LazySpec]], {
-- Configure any other `lazy.nvim` configuration options here
install = { colorscheme = { "astrotheme", "habamax" } },
ui = { backdrop = 100 },
performance = {
rtp = {
-- disable some rtp plugins, add more to your liking
disabled_plugins = {
"gzip",
"netrwPlugin",
"tarPlugin",
"tohtml",
"zipPlugin",
},
},
},
} --[[@as LazyConfig]])

View File

@@ -0,0 +1,83 @@
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
-- Configuration documentation can be found with `:h astrocore`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
-- Configure core features of AstroNvim
features = {
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
autopairs = true, -- enable autopairs at start
cmp = true, -- enable completion at start
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
highlighturl = true, -- highlight URLs at start
notifications = true, -- enable notifications at start
},
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
diagnostics = {
virtual_text = true,
underline = true,
},
-- passed to `vim.filetype.add`
filetypes = {
-- see `:h vim.filetype.add` for usage
extension = {
foo = "fooscript",
},
filename = {
[".foorc"] = "fooscript",
},
pattern = {
[".*/etc/foo/.*"] = "fooscript",
},
},
-- vim options can be configured here
options = {
opt = { -- vim.opt.<key>
relativenumber = true, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number
spell = false, -- sets vim.opt.spell
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
wrap = false, -- sets vim.opt.wrap
},
g = { -- vim.g.<key>
-- configure global vim variables (vim.g)
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
-- This can be found in the `lua/lazy_setup.lua` file
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- first key is the mode
n = {
-- second key is the lefthand side of the map
-- navigate buffer tabs
["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
-- mappings seen under group name "Buffer"
["<Leader>bd"] = {
function()
require("astroui.status.heirline").buffer_picker(
function(bufnr) require("astrocore.buffer").close(bufnr) end
)
end,
desc = "Close buffer from tabline",
},
-- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus
-- ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it
-- ["<C-S>"] = false,
},
},
},
}

View File

@@ -0,0 +1,107 @@
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
-- Configuration documentation can be found with `:h astrolsp`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrolsp",
---@type AstroLSPOpts
opts = {
-- Configuration table of features provided by AstroLSP
features = {
codelens = true, -- enable/disable codelens refresh on start
inlay_hints = false, -- enable/disable inlay hints on start
semantic_tokens = true, -- enable/disable semantic token highlighting
},
-- customize lsp formatting options
formatting = {
-- control auto formatting on save
format_on_save = {
enabled = true, -- enable or disable format on save globally
allow_filetypes = { -- enable format on save for specified filetypes only
-- "go",
},
ignore_filetypes = { -- disable format on save for specified filetypes
-- "python",
},
},
disabled = { -- disable formatting capabilities for the listed language servers
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
-- "lua_ls",
},
timeout_ms = 1000, -- default format timeout
-- filter = function(client) -- fully override the default formatting function
-- return true
-- end
},
-- enable servers that you already have installed without mason
servers = {
-- "pyright"
},
-- ensure servers are installed
ensure_installed = {
"ltex",
},
-- customize language server configuration options passed to `lspconfig`
---@diagnostic disable: missing-fields
config = {
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
},
-- customize how language servers are attached
handlers = {
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
-- function(server, opts) require("lspconfig")[server].setup(opts) end
-- the key is the server that is being setup with `lspconfig`
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
},
-- Configure buffer local auto commands to add when attaching a language server
autocmds = {
-- first key is the `augroup` to add the auto commands to (:h augroup)
lsp_codelens_refresh = {
-- Optional condition to create/delete auto command group
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
-- the auto commands will be deleted for that buffer
cond = "textDocument/codeLens",
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
-- list of auto commands to set
{
-- events to trigger
event = { "InsertLeave", "BufEnter" },
-- the rest of the autocmd options (:h nvim_create_autocmd)
desc = "Refresh codelens (buffer)",
callback = function(args)
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end
end,
},
},
},
-- mappings to be set up on attaching of a language server
mappings = {
n = {
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
gD = {
function() vim.lsp.buf.declaration() end,
desc = "Declaration of current symbol",
cond = "textDocument/declaration",
},
["<Leader>uY"] = {
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
desc = "Toggle LSP semantic highlight (buffer)",
cond = function(client)
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
end,
},
},
},
-- A custom `on_attach` function to be run after the default `on_attach` function
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
on_attach = function(client, bufnr)
-- this would disable semanticTokensProvider for all clients
-- client.server_capabilities.semanticTokensProvider = nil
end,
},
}

View File

@@ -0,0 +1,37 @@
-- AstroUI provides the basis for configuring the AstroNvim User Interface
-- Configuration documentation can be found with `:h astroui`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
-- change colorscheme
colorscheme = "catppuccin",
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
highlights = {
init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
},
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" },
},
},
-- Icons can be configured throughout the interface
icons = {
-- configure the loading of the lsp in the status line
LSPLoading1 = "",
LSPLoading2 = "",
LSPLoading3 = "",
LSPLoading4 = "",
LSPLoading5 = "",
LSPLoading6 = "",
LSPLoading7 = "",
LSPLoading8 = "",
LSPLoading9 = "",
LSPLoading10 = "",
},
},
}

View File

@@ -0,0 +1,39 @@
return {
-- Let blink.cmp consume nvim-cmp sources
{ "saghen/blink.compat", version = "2.*", lazy = true, opts = {} },
-- Add vimtex + latex symbol sources to blink.cmp
{
"Saghen/blink.cmp",
optional = true,
dependencies = {
"micangl/cmp-vimtex", -- environments, \cite, \ref, etc. via vimtex
"kdheepak/cmp-latex-symbols", -- math symbols via LaTeX macros
},
opts = function(_, opts)
opts.sources = opts.sources or {}
opts.sources.providers = opts.sources.providers or {}
opts.sources.default = opts.sources.default or { "lsp", "path", "snippets", "buffer" }
-- Only turn on the LaTeX sources for TeX filetypes
opts.sources.per_filetype = vim.tbl_deep_extend("force", opts.sources.per_filetype or {}, {
tex = { inherit_defaults = true, "vimtex", "latex_symbols" },
plaintex = { inherit_defaults = true, "vimtex", "latex_symbols" },
})
-- Expose nvim-cmp sources to blink via blink.compat
opts.sources.providers.vimtex = {
name = "vimtex",
module = "blink.compat.source",
}
opts.sources.providers.latex_symbols = {
name = "latex_symbols",
module = "blink.compat.source",
-- Insert LaTeX commands (e.g. \alpha) instead of Unicode characters:
opts = { strategy = 2 }, -- documented in cmp-latex-symbols README
score_offset = -2, -- keep it below LSP/snippets in relevance
}
return opts
end,
},
}

View File

@@ -0,0 +1,17 @@
-- Gilles Castel-style LaTeX snippets for LuaSnip
return {
-- Make sure autosnippets are enabled globally
{
"L3MON4D3/LuaSnip",
opts = function(_, opts) opts.enable_autosnippets = true end,
},
-- The LaTeX snippets themselves
{
"iurimateus/luasnip-latex-snippets.nvim",
ft = { "tex", "plaintex", "markdown" },
dependencies = { "L3MON4D3/LuaSnip", "lervag/vimtex" },
opts = { use_treesitter = false, allow_on_markdown = true }, -- use vimtex to detect math mode
config = function(_, opts) require("luasnip-latex-snippets").setup(opts) end,
},
}

View File

@@ -0,0 +1,66 @@
-- Grammar & spell checking for LaTeX/Markdown via LanguageTool (LTeX-LS)
return {
-- Tell AstroLSP to manage the ltex server and pass our settings
{
"AstroNvim/astrolsp",
---@param opts AstroLSPOpts
opts = function(_, opts)
opts.servers = opts.servers or {}
if not vim.tbl_contains(opts.servers, "ltex") then table.insert(opts.servers, "ltex") end
-- Extend the ltex server configuration
opts.config = require("astrocore").extend_tbl(opts.config or {}, {
ltex = {
filetypes = { "tex", "plaintex", "bib", "markdown" },
settings = {
ltex = {
-- Run checks on save for performance; switch to "edit" if you prefer live feedback
checkFrequency = "save",
-- Pick the language you want LTeX to check as the document language
language = "en-GB",
-- Mother tongue helps the grammar engine (adjust to your preference)
additionalRules = { motherTongue = "de-DE" },
-- Let ltex_extra manage dictionaries/rules on disk
dictionary = {
["en-GB"] = {},
["de-DE"] = {},
["fr-FR"] = {},
},
disabledRules = {
["en-GB"] = {},
["de-DE"] = {},
["fr-FR"] = {},
},
hiddenFalsePositives = {
["en-GB"] = {},
["de-DE"] = {},
["fr-FR"] = {},
},
},
},
-- hook up ltex_extra when the server attaches
on_attach = function(client, bufnr)
local ok, ltex_extra = pcall(require, "ltex_extra")
if ok then
ltex_extra.setup {
-- load both EN+DE dictionaries; change to your set
load_langs = { "en-GB", "de-DE", "fr-FR" },
init_check = true,
-- store per-project files in .ltex (add to .gitignore if you want)
path = ".ltex",
log_level = "none",
}
end
end,
},
})
end,
},
-- Companion plugin: add-to-dictionary / disable-rule / hide-false-positive
{
"barreiroleo/ltex_extra.nvim",
ft = { "tex", "plaintex", "markdown" },
lazy = true,
},
}

View File

@@ -0,0 +1,18 @@
return {
"L3MON4D3/LuaSnip",
enabled = true,
version = "v2.*",
build = "make install_jsregexp",
event = "InsertEnter",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function(plugin, opts)
-- run the default astronvim config that calls the setup call
require "astronvim.plugins.configs.luasnip"(plugin, opts)
-- lazy load snippets from friendly-snippets
require("luasnip.loaders.from_vscode").lazy_load()
-- add more custom luasnip configuration such as filetype extend or custom snippets
require("luasnip").filetype_extend("javascript", { "javascriptreact" })
end,
}

View File

@@ -0,0 +1,28 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Mason
---@type LazySpec
return {
-- use mason-tool-installer for automatically installing Mason packages
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
-- overrides `require("mason-tool-installer").setup(...)`
opts = {
-- Make sure to use the names found in `:Mason`
ensure_installed = {
-- install language servers
"lua-language-server",
-- install formatters
"stylua",
-- install debuggers
"debugpy",
-- install any other package
"tree-sitter-cli",
},
},
},
}

View File

@@ -0,0 +1,135 @@
-- Minimal Markdown + math workflow (FOSS/KISS):
-- - Blink completion of LaTeX symbols in Markdown
-- - :MdPdf for one-shot Pandoc -> PDF (LuaLaTeX) and open in Zathura (auto-reload)
-- - :MdWatch / :MdWatchStop to rebuild on save via `entr`
return {
-- Markdown gets LaTeX symbol completion (inserts \alpha, not α)
{
"Saghen/blink.cmp",
optional = true,
opts = function(_, opts)
opts.sources = opts.sources or {}
opts.sources.per_filetype = vim.tbl_deep_extend("force", opts.sources.per_filetype or {}, {
markdown = { inherit_defaults = true, "latex_symbols" },
})
return opts
end,
},
-- Ensure Treesitter grammars for Markdown editing
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
for _, lang in ipairs { "markdown", "markdown_inline" } do
if not vim.tbl_contains(opts.ensure_installed, lang) then table.insert(opts.ensure_installed, lang) end
end
end,
},
-- Commands + keymaps
{
"AstroNvim/astrocore",
init = function()
local function have(bin) return vim.fn.executable(bin) == 1 end
local function pandoc_cmd(input_md)
local stem = input_md:gsub("%.md$", "")
local md = vim.fn.shellescape(input_md)
local pdf = vim.fn.shellescape(stem .. ".pdf")
local cmd = ("pandoc %s -o %s --from=markdown+tex_math_dollars+raw_tex --pdf-engine=lualatex --citeproc"):format(
md,
pdf
)
return cmd, (stem .. ".pdf")
end
-- One-shot: build PDF and open Zathura once (it auto-reloads)
vim.api.nvim_create_user_command("MdPdf", function()
if not have "pandoc" then
vim.notify("MdPdf: pandoc not found. Install pandoc.", vim.log.levels.ERROR)
return
end
local name = vim.api.nvim_buf_get_name(0)
if name == "" or not name:match "%.md$" then
vim.notify("MdPdf: open a Markdown (*.md) file", vim.log.levels.WARN)
return
end
local cmd, pdf = pandoc_cmd(name)
vim.fn.jobstart({ "sh", "-c", cmd }, {
detach = true,
on_exit = function()
if have "zathura" and not vim.g._mdpdf_zathura_opened then
vim.g._mdpdf_zathura_opened = true
vim.fn.jobstart({ "zathura", "--fork", pdf }, { detach = true })
end
end,
})
end, {})
-- Continuous: watch with entr and rebuild on change
vim.api.nvim_create_user_command("MdWatch", function()
if not have "pandoc" then
vim.notify("MdWatch: pandoc not found. Install pandoc.", vim.log.levels.ERROR)
return
end
if not have "entr" then
vim.notify("MdWatch: entr not found. Install entr.", vim.log.levels.ERROR)
return
end
local buf = vim.api.nvim_get_current_buf()
local name = vim.api.nvim_buf_get_name(buf)
if name == "" or not name:match "%.md$" then
vim.notify("MdWatch: open a Markdown (*.md) file", vim.log.levels.WARN)
return
end
-- First build (also opens Zathura once)
vim.cmd "MdPdf"
local cmd, _ = pandoc_cmd(name)
local qfile = vim.fn.shellescape(name)
local pipeline = ("printf %%s\\n %s | entr -r sh -c %s"):format(qfile, vim.fn.shellescape(cmd))
local jobid = vim.fn.jobstart({ "sh", "-c", pipeline }, { detach = false })
if jobid <= 0 then
vim.notify("MdWatch: failed to start entr", vim.log.levels.ERROR)
return
end
vim.b.md_kiss_watch_job = jobid
vim.notify("MdWatch: watching " .. name .. " (use :MdWatchStop to stop)", vim.log.levels.INFO)
-- Auto-stop when buffer unloads
vim.api.nvim_create_autocmd({ "BufUnload", "BufWipeout" }, {
buffer = buf,
once = true,
callback = function()
if vim.b.md_kiss_watch_job then pcall(vim.fn.jobstop, vim.b.md_kiss_watch_job) end
end,
})
end, {})
vim.api.nvim_create_user_command("MdWatchStop", function()
local job = vim.b.md_kiss_watch_job
if job then
pcall(vim.fn.jobstop, job)
vim.b.md_kiss_watch_job = nil
vim.notify("MdWatch: stopped", vim.log.levels.INFO)
else
vim.notify("MdWatch: no watcher running for this buffer", vim.log.levels.WARN)
end
end, {})
-- Buffer-local keymaps for Markdown
local group = vim.api.nvim_create_augroup("md_kiss_keys", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = group,
pattern = "markdown",
callback = function(args)
vim.keymap.set("n", "<leader>mP", "<cmd>MdPdf<CR>", { buffer = args.buf, desc = "Markdown → PDF (Pandoc)" })
vim.keymap.set("n", "<leader>mw", "<cmd>MdWatch<CR>", { buffer = args.buf, desc = "Watch & rebuild (entr)" })
vim.keymap.set("n", "<leader>mW", "<cmd>MdWatchStop<CR>", { buffer = args.buf, desc = "Stop watch" })
end,
})
end,
},
}

View File

@@ -0,0 +1,19 @@
-- Lightweight inline ASCII preview for LaTeX math
return {
"jbyuki/nabla.nvim",
ft = { "tex", "plaintex", "markdown" },
keys = {
-- Popup preview for the expression under cursor
{ "<leader>mp", function() require("nabla").popup() end, desc = "Math: popup preview" },
-- Toggle inline virtual rendering; re-enable wrap after toggle (nabla toggles it off)
{
"<leader>mv",
function()
require("nabla").toggle_virt { autogen = true }
vim.wo.wrap = true
end,
desc = "Math: toggle inline preview",
},
},
}

View File

@@ -0,0 +1,24 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize None-ls sources
---@type LazySpec
return {
"nvimtools/none-ls.nvim",
opts = function(_, opts)
-- opts variable is the default configuration table for the setup function call
-- local null_ls = require "null-ls"
-- Check supported formatters and linters
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
-- Only insert new sources, do not replace the existing ones
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
-- Set a formatter
-- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.prettier,
})
end,
}

View File

@@ -0,0 +1,10 @@
-- Ensure Treesitter knows about LaTeX (nabla benefits, and some plugins use it)
return {
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
if type(opts.ensure_installed) == "table" then
if not vim.tbl_contains(opts.ensure_installed, "latex") then table.insert(opts.ensure_installed, "latex") end
end
end,
}

View File

@@ -0,0 +1,15 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Treesitter
---@type LazySpec
return {
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"lua",
"vim",
-- add more arguments for adding more treesitter parsers
},
},
}

View File

@@ -0,0 +1,5 @@
---@type LazySpec
return {
-- You can disable default plugins as follows:
--{ "max397574/better-escape.nvim", enabled = false },
}

View File

@@ -0,0 +1,22 @@
return {
"lervag/vimtex",
ft = { "tex", "latex" }, -- lazy-load on filetype
init = function()
-- Viewer
vim.g.vimtex_view_method = "zathura"
-- Compiler: latexmk + LuaLaTeX
vim.g.vimtex_compiler_method = "latexmk"
-- Option A: pass -lualatex explicitly to latexmk
vim.g.vimtex_compiler_latexmk = {
options = {
"-lualatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
},
}
-- Option B (also helpful): make LuaLaTeX the default engine for latexmk
vim.g.vimtex_compiler_latexmk_engines = { _ = "-lualatex" }
end,
}

View File

@@ -0,0 +1,6 @@
-- This will run last in the setup process.
-- This is just pure lua so anything that doesn't
-- fit in the normal config locations above can go here
-- Set the conceal level for prettier formatting in LaTeX and Markdown
vim.opt.conceallevel = 2

6
.config/nvim/neovim.yml Normal file
View File

@@ -0,0 +1,6 @@
---
base: lua51
globals:
vim:
any: true

8
.config/nvim/selene.toml Normal file
View File

@@ -0,0 +1,8 @@
std = "neovim"
[rules]
global_usage = "allow"
if_same_then_else = "allow"
incorrect_standard_library_use = "allow"
mixed_table = "allow"
multiple_statements = "allow"

View File

@@ -0,0 +1,39 @@
context.modules = [
{
name = libpipewire-module-echo-cancel
args = {
library.name = aec/libspa-aec-webrtc
monitor.mode = true
capture.props = {
node.name = "EC Capture"
node.passive = true
"target.object" = "alsa_input.usb-DCMT_Technology_USB_Condenser_Microphone_214b206000000178-00.mono-fallback"
}
source.props = {
node.name = "source_ec"
node.description = "Echo-cancelled microphone"
node.autoconnect = false
audio.channels = 1
audio.position = [ MONO ]
}
sink.props = {
node.name = "sink_ec"
node.description = "Echo cancellation reference"
}
playback.props = {
node.name = "EC Playback"
node.passive = true
}
aec.args = {
webrtc.extended_filter = false
webrtc.gain_control = false
webrtc.voice_detection = true
}
}
}
]

View File

@@ -0,0 +1,45 @@
context.modules = [
{
name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
audio.channels = 1
audio.position = [ MONO ]
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 80.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.channels = 1
audio.position = [ MONO ]
audio.rate = 48000
"target.object" = "source_ec"
}
playback.props = {
node.name = "rnnoise_source"
media.class = "Audio/Source"
audio.channels = 1
audio.position = [ MONO ]
audio.rate = 48000
}
}
}
]

View File

@@ -1,6 +1,7 @@
[Appearance]
color_scheme_path=/home/mpuchstein/.config/qt5ct/style-colors.conf
custom_palette=true
icon_theme=rose-pine-icons
standard_dialogs=xdgdesktopportal
style=kvantum
@@ -24,7 +25,7 @@ underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\ai\0\0\x3\xff\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\x37\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\ai\0\0\x3\xff)
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\nq\0\0\x2\xf\0\0\0\0\0\0\0\0\0\0\x2\xf1\0\0\x2\xf\0\0\0\x1\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\0\0\0\nq\0\0\x2\xf)
[Troubleshooting]
force_raster_widgets=1

View File

@@ -1,4 +1,4 @@
[ColorScheme]
active_colors=#ffdfdfdf, #ff4d4d4d, #ff535353, #ff474747, #ff282828, #ff323232, #ffdfdfdf, #ffffffff, #ffdfdfdf, #ff2c2c2c, #ff2c2c2c, #ff000000, #ff3584e4, #ffffffff, #ff0057ae, #ffe040fb, #ff2e2e2e, #ff000000, #ff000000, #ffefefef, #80dfdfdf
disabled_colors=#ff696969, #ff4d4d4d, #ff535353, #ff474747, #ff282828, #ff323232, #ff696969, #ffffffff, #ff696969, #ff2c2c2c, #ff2c2c2c, #ff000000, #ff3584e4, #66ffffff, #ff0057ae, #ffe040fb, #ff2e2e2e, #ff000000, #ff000000, #ffefefef, #80dfdfdf
inactive_colors=#ffdfdfdf, #ff4d4d4d, #ff535353, #ff474747, #ff282828, #ff323232, #ffdfdfdf, #ffffffff, #ffdfdfdf, #ff2c2c2c, #ff2c2c2c, #ff000000, #ff3584e4, #ffffffff, #ff0057ae, #ffe040fb, #ff2e2e2e, #ff000000, #ff000000, #ffefefef, #80dfdfdf
active_colors=#ffe0def4, #ff26233a, #ff6e6a86, #ff6e6a86, #ff191724, #ff191724, #ffe0def4, #ffffffff, #ffe0def4, #ff191724, #ff1f1d2e, #ff000000, #ffebbcba, #ff191724, #ff9ccfd8, #ffc4a7e7, #ff191724, #ff000000, #ff000000, #ffe0def4, #80e0def4
disabled_colors=#ff908caa, #ff26233a, #ff6e6a86, #ff6e6a86, #ff191724, #ff191724, #ff908caa, #ffffffff, #ff908caa, #ff191724, #ff1f1d2e, #ff000000, #ffebbcba, #66191724, #ff9ccfd8, #ffc4a7e7, #ff191724, #ff000000, #ff000000, #ffe0def4, #80e0def4
inactive_colors=#ffe0def4, #ff26233a, #ff6e6a86, #ff6e6a86, #ff191724, #ff191724, #ffe0def4, #ffffffff, #ffe0def4, #ff191724, #ff1f1d2e, #ff000000, #ffebbcba, #ff191724, #ff9ccfd8, #ffc4a7e7, #ff191724, #ff000000, #ff000000, #ffe0def4, #80e0def4

View File

@@ -1,7 +1,7 @@
[Appearance]
color_scheme_path=/usr/share/qt6ct/colors/airy.conf
custom_palette=false
icon_theme=breeze-dark
color_scheme_path=/home/mpuchstein/.config/qt6ct/style-colors.conf
custom_palette=true
icon_theme=rose-pine-icons
standard_dialogs=gtk3
style=kvantum
@@ -25,7 +25,7 @@ underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\v.\0\0\x3\xff\0\0\a\x80\0\0\0\0\0\0\v?\0\0\x4\x15\0\0\0\x1\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\0\0\0\v.\0\0\x3\xff)
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\0\0\0\nq\0\0\x1Y\0\0\a\x80\0\0\0\0\0\0\nq\0\0\x1Y\0\0\0\x1\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\0\0\0\nq\0\0\x1Y)
[Troubleshooting]
force_raster_widgets=1

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