Compare commits

..
216 Commits
Author SHA1 Message Date
mathias2784 a9e1b686d0 hyprland tweaks 2026-09-05 10:22:03 +02:00
mathias2784 a050d87439 rust linting 2026-09-02 16:29:47 +02:00
Mathias Schneider 694a305855 persisting tmux sessions 2026-09-02 12:19:57 +02:00
Mathias Schneider 6ceb170b89 tmux usage functionality tweaks 2026-09-02 11:57:04 +02:00
mathias2784 0db4be6796 merge main incl. conflict resolution 2026-08-31 09:15:05 +02:00
mathias2784 dbbf5a32fc opencode model list housekeeping 2026-08-31 09:11:53 +02:00
Mathias Schneider bce43be0d7 opencode: some config tweaks/updates 2026-08-26 17:56:49 +02:00
mathias2784 71e9db5c4c opencode: local ip-address for LM Studio 2026-08-21 15:55:08 +02:00
mathias2784 a504681e32 fix hyprland config 2026-08-21 14:28:30 +02:00
mathias2784 437eda2852 hyprland: convert config to lua 2026-08-21 14:14:50 +02:00
mathias2784 101f8c51ef fix Mason problem 2026-08-21 14:14:20 +02:00
Mathias Schneider 49f03bd7e1 fix vue lint 2026-08-20 08:10:49 +02:00
mathias2784 a2559ce0ca yazi: fix file previews 2026-08-19 21:25:40 +02:00
Mathias Schneider 9066c62080 DiffBase: custom function for Neovim 2026-08-05 09:46:57 +02:00
Mathias Schneider 2a48013090 nvim refactoring functionality 2026-07-30 13:31:59 +02:00
Mathias Schneider 0eb7afa040 git-stuff: remove shortcuts for git revert (dangerous) 2026-07-28 13:40:49 +02:00
Mathias Schneider 4a07f80f69 bufferline (Neovim tabs): some useful keybinds 2026-07-28 13:17:39 +02:00
Mathias Schneider 74ac372e82 Neovim: shortcut for Git blame 2026-07-16 09:57:03 +02:00
Mathias Schneider a7089dea47 bufferline 2026-06-18 15:55:26 +02:00
Mathias Schneider 28c966edfc show relative paths in lualine 2026-06-18 15:36:10 +02:00
Mathias Schneider 9d2a19802a some fixes to Python debugging 2026-06-18 15:02:33 +02:00
Mathias Schneider 5be8fcf43f fix python debugging 2026-05-28 17:02:00 +02:00
Mathias Schneider 07635d8226 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-05-28 16:17:53 +02:00
Mathias Schneider 8f36ce722e refactor: debugging: split into files for UI and language specific 2026-05-28 16:17:15 +02:00
Mathias Schneider c9a24374a8 yanking filenames in Neotree 2026-05-28 16:02:26 +02:00
mathias2784 c92efcfb53 adapt hyprland.conf to newest Hyprland version 2026-05-27 20:29:55 +02:00
Mathias Schneider 777312620a fix indentation 2026-05-04 17:23:10 +02:00
mathias2784 65e66968e2 some updates regarding fastfetch 2026-04-29 22:52:27 +02:00
Mathias Schneider 9ab6fffba6 add python-debugpy to terminal packages 2026-04-29 18:17:04 +02:00
Mathias Schneider 090276a3f9 turn off relative number 2026-04-23 16:57:04 +02:00
Mathias Schneider 379bca8d89 some bash tweaks 2026-04-23 16:54:08 +02:00
Mathias Schneider fd6ef30ba9 fix line number readout for my fancy 'copy file ref' functionality 2026-04-23 16:07:50 +02:00
Mathias Schneider e0d79298c7 some git keybinds 2026-04-23 15:43:38 +02:00
Mathias Schneider 1455c6b87d fix confilict in keymap 2026-04-22 23:19:30 +02:00
Mathias Schneider 1c295b5fde Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-22 22:54:10 +02:00
Mathias Schneider a446f223e5 some Neovim tweaks 2026-04-22 22:53:46 +02:00
mathias2784 848f75822b env vars for local ai 2026-04-22 20:50:49 +02:00
Mathias Schneider de09a54472 deactivate tmux-nvim-navigator 2026-04-22 18:22:58 +02:00
mathias2784 e17cafe4f8 env vars for local ai 2026-04-22 17:57:03 +02:00
mathias2784 9d1d81ece4 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-18 21:47:38 +02:00
mathias2784 edf2345a30 tmux window tab names 2026-04-18 21:47:04 +02:00
mathias2784 31df3152d7 na fastfetch at startup 2026-04-18 21:46:37 +02:00
mathias2784 b69616f39f Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-16 21:20:59 +02:00
mathias2784 114b5f2bb8 some minor updates 2026-04-16 21:20:42 +02:00
mathias2784 81b12b8b79 folding settings 2026-04-15 22:27:52 +02:00
mathias2784 eb50d9804a tmuxifier addendum 2026-04-15 22:01:53 +02:00
mathias2784 7b7f5a5dcf tmuxifier 2026-04-15 22:00:59 +02:00
mathias2784 64e545ae32 install nvim-navigate -- again 2026-04-15 21:24:00 +02:00
mathias2784 278a26f370 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-15 21:14:54 +02:00
mathias2784 d5f7bea078 install fancy login manager 2026-04-15 21:14:10 +02:00
Mathias Schneider 9bace2f54f Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-15 20:01:38 +02:00
Mathias Schneider 392f1b7861 fixed folding -- again 2026-04-15 18:28:02 +02:00
mathias2784 0724096134 fix: hyprltm keybind 2026-04-15 06:30:00 +02:00
mathias2784 66860070a9 reorganize install_skripte and hyprltm network manager 2026-04-14 23:20:31 +02:00
Mathias Schneider 814860ca63 silencing som lua linter noise 2026-04-13 11:53:33 +02:00
Mathias Schneider 2e3970f1ef fix: surround update 2026-04-13 11:42:44 +02:00
Mathias Schneider 1c47a8aaf9 treesitter: use stable version 2026-04-13 11:30:37 +02:00
mathias2784 0d91fde161 fixed some minor issues in the install scripts 2026-04-11 22:23:12 +02:00
mathias2784 ec6317c2ce yazi 2026-04-11 22:06:07 +02:00
mathias2784 942c9853f1 waybar gpu info 2026-04-11 13:13:26 +02:00
mathias2784 4b6e7392ea some waybar tweaks 2026-04-11 12:31:32 +02:00
mathias2784 469e8d3b63 disable linter auto-format on save 2026-04-11 12:30:20 +02:00
mathias2784 aa634a19ef Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-11 11:25:57 +02:00
mathias2784 aae65576fb some theming 2026-04-11 09:46:27 +02:00
mathias2784 3acc5bc70d nvim surround: sensible keymaps 2026-04-11 08:18:40 +02:00
mathias2784 31f922c462 nvim: opencode-integration 2026-04-10 23:24:21 +02:00
mathias2784 f94fe68944 web-search-mcp 2026-04-10 23:00:16 +02:00
mathias2784 ed9abcd1f1 simplify opencode.json again 2026-04-10 21:40:00 +02:00
mathias2784 9172645dbb AGENTS.md 2026-04-10 21:35:22 +02:00
mathias2784 028c3c699f opencode local model fine tuning 2026-04-10 12:53:39 +02:00
mathias2784 25a427b23a opencode with local models 2026-04-10 11:56:00 +02:00
mathias2784 ad37460160 tmux leader key to C-Space 2026-04-09 21:39:29 +02:00
Mathias Schneider 47b0f5a570 restore nvim navigation keybinds 2026-04-09 21:28:05 +02:00
Mathias Schneider 6cf1f75d6d delete obsolete link 2026-04-09 21:22:56 +02:00
Mathias Schneider ccd8ab2591 no more tmux-pane-border 2026-04-09 21:20:45 +02:00
Mathias Schneider 5e26805b38 neotree performance opti 2026-04-09 21:09:14 +02:00
Mathias Schneider f009dd3b68 tmux-pane-border 2026-04-09 20:54:31 +02:00
Mathias Schneider d5e7004463 tmux leader key to y 2026-04-09 20:43:55 +02:00
Mathias Schneider d735d7efb6 no more tmux-nvim-navigator -> sepatated navigation 2026-04-09 20:41:48 +02:00
Mathias Schneider 99ad8ee4aa nvim window highlight 2026-04-09 20:31:39 +02:00
Mathias Schneider 2ae998a74b neotree: responsive auto updates 2026-04-09 15:29:57 +02:00
Mathias Schneider 79d98702eb additional keybinds for opencode to better work with WSL / Win terminal 2026-04-09 11:32:28 +02:00
Mathias Schneider 0144b63a52 keybind for directly jumping to neotree 2026-04-09 08:58:30 +02:00
Mathias Schneider fa3dbf6245 fix some issues with fresh tmux installs 2026-04-09 08:47:39 +02:00
mathias2784 ae3267750b ignore tpm plugins 2026-04-08 23:22:44 +02:00
mathias2784 985fa9d53c pimp my tmux 2026-04-08 23:20:11 +02:00
mathias2784 7e1bb9b76e opencode 2026-04-08 22:26:30 +02:00
mathias2784 0e70debea7 fastfetch noice 2026-04-08 22:10:32 +02:00
mathias2784 b5ccbe9c55 install tmux 2026-04-08 21:49:07 +02:00
mathias2784 ee3272532e key binds for window splits 2026-04-08 21:35:27 +02:00
mathias2784 9a26d53c0a nvim-surround 2026-04-08 21:24:31 +02:00
Mathias Schneider 1ddaa5bce2 fix: Python parser error message with '*exept' 2026-04-08 09:15:00 +02:00
mathias2784 9f4227bfcf fastfetch configs 2026-04-07 21:28:49 +02:00
Mathias Schneider 021cafeef8 install unzip and some formatting 2026-04-07 20:55:14 +02:00
Mathias Schneider 3eee935f25 Vue features 2026-04-07 20:29:06 +02:00
Mathias Schneider dcd7c3e92f ToggleTerm key bind 2026-04-07 13:54:18 +02:00
Mathias Schneider 1a9bb89edc install selene 2026-04-07 13:45:23 +02:00
Mathias Schneider 19e404619e some more key bindings for Gitsigns 2026-04-07 13:44:25 +02:00
Mathias Schneider d1cab8ceef pimp up nvim functionality for other languages (not only Python) 2026-04-07 13:29:31 +02:00
mathias2784 e674149cdf autopairs 2026-04-06 22:56:10 +02:00
mathias2784 8b3b9086dc toggleterm 2026-04-06 22:46:26 +02:00
mathias2784 8c694cd644 just a file rename: completions 2026-04-06 22:10:14 +02:00
mathias2784 770258ed4b some minor changes to nvim init.lua 2026-04-06 21:29:50 +02:00
mathias2784 807d011378 change debugging binds 2026-04-06 21:05:01 +02:00
mathias2784 6de6008b17 adjust scaling on buntes-monster 2026-04-06 20:44:46 +02:00
mathias2784 3619df105e kitty: decrease font size 2026-04-06 14:14:49 +02:00
mathias2784 8be3916d7d install ruff 2026-04-06 09:22:43 +02:00
mathias2784 9d1a5347ce install python-ruff 2026-04-06 06:54:56 +02:00
mathias2784 a98be9b440 hopefully working debugger 2026-04-05 22:59:01 +02:00
mathias2784 240e9cf7ca delete deprecated option automatic_enable 2026-04-05 22:07:40 +02:00
mathias2784 2574b74ca1 which-key 2026-04-05 09:20:56 +02:00
mathias2784 5356cc93fd Diffview 2026-04-05 08:04:26 +02:00
mathias2784 e75acf95c3 git-stuff 2026-04-04 21:54:31 +02:00
mathias2784 14d005b58e python lsp considers venv 2026-04-04 16:53:28 +02:00
mathias2784 70b4a808c7 simplify monitor setting for buntes monster 2026-04-03 09:26:08 +02:00
mathias2784 327cad5594 some more useful Hyprland keybinds 2026-04-03 08:49:16 +02:00
mathias2784 c73c2f60c1 set monitor scaling on buntes monster to 1.2 2026-04-03 08:48:00 +02:00
mathias2784 847c4012b8 some useful Hyprland keybinds 2026-04-03 08:27:35 +02:00
mathias2784 8e7495ab93 useful keybinds 2026-04-03 08:07:34 +02:00
mathias2784 6b752098bb Merge remote-tracking branch 'refs/remotes/origin/main' 2026-04-03 07:44:06 +02:00
mathias2784 cb07283280 set archtop monitor scaling to 1.0 2026-04-03 07:43:24 +02:00
mathias2784 e664b6f464 some fixes to treesitter 2026-04-03 07:41:31 +02:00
mathias2784 3d2992e5ca nvim-lint 2026-04-02 22:04:29 +02:00
mathias2784 d3f3aa3a29 better linter 2026-03-27 14:48:59 +01:00
mathias2784 a4b60b401f add unison to basic programs 2026-03-27 12:32:10 +01:00
mathias2784 f45799e3e5 some fixes for JS/ TS 2026-03-27 12:20:40 +01:00
mathias2784 da04ee3883 ide features for Typescrript and JavaScript 2026-03-27 09:46:41 +01:00
mathias2784 38ad61c7d1 more linters (hopefully) 2026-03-26 23:25:03 +01:00
mathias2784 adbb66bab0 update .gitignore 2026-03-26 23:14:59 +01:00
mathias2784 e9fc037519 fix lsp config fot Python 2026-03-26 23:10:45 +01:00
mathias2784 1a0d466105 update installer script for term 2026-03-26 23:02:46 +01:00
mathias2784 23080159f9 linter 2026-03-26 23:01:29 +01:00
Mathias Schneider ef9b2fd0f0 refactor one 'term' to rule them all 2026-03-26 14:29:16 +01:00
Mathias Schneider 6adaa7b4e5 fastfetch 2026-03-26 14:16:03 +01:00
mathias2784 39c63fe2eb install script for terminal styling 2026-03-26 13:50:02 +01:00
Mathias Schneider cd5ab0eff4 some prompt tweaks 2026-03-26 12:24:06 +01:00
Mathias Schneider 52cafe0b26 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-03-26 09:32:21 +01:00
Mathias Schneider 0e9a8407b9 starship init 2026-03-26 09:31:02 +01:00
mathias2784 2e241c123c with a little help from my chatbot 2026-03-25 22:48:05 +01:00
mathias2784 fddd7c1573 yet another tree-sitter optimization 2026-03-25 20:34:02 +01:00
mathias2784 b27f0e7026 some tree-sitter adjustments 2026-03-25 20:17:48 +01:00
Mathias Schneider 55e57519bc treesitter json and others, maybe not working yet 2026-03-25 17:48:45 +01:00
Mathias Schneider 3f99834f5d fish prompt: full pwd path 2026-03-25 09:28:05 +01:00
Mathias Schneider d9b59f74a2 update 2026-03-24 13:40:55 +01:00
mathias2784 417312e90e some more lsp languages 2026-03-22 22:32:12 +01:00
mathias2784 8448f0e00d delete some unnecessary spaces 2026-03-22 21:46:51 +01:00
mathias2784 c51a3d90e0 lsp-config: some keymaps 2026-03-22 21:45:30 +01:00
mathias2784 dece37ae34 telescope-ui-select 2026-03-22 21:44:09 +01:00
mathias2784 479bd9b360 un-git kde (not practical) 2026-03-22 21:13:19 +01:00
mathias2784 4c24fc3647 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-03-21 23:58:10 +01:00
mathias2784 c80bb97e1c lsp config 2026-03-21 23:56:43 +01:00
mathias2784 21f51da357 getting rid of some useless whitespaces 2026-03-21 23:55:48 +01:00
mathias2784 c0e090ad9e fish config 2026-03-21 21:14:25 +01:00
mathias2784 4bcf30aff7 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-03-21 21:04:38 +01:00
mathias2784 3e6bd32c0a kde config 2026-03-21 21:03:02 +01:00
mathias2784 24455eb1a2 fish as standard 2026-03-21 11:54:02 +01:00
mathias2784 255bc97b4c some optimizations 2026-03-21 11:47:16 +01:00
mathias2784 11ab3fa713 Nextcloud GUI setup 2026-03-21 10:58:45 +01:00
mathias2784 e0053e04f6 some installer updates 2026-03-21 10:26:34 +01:00
mathias2784 d120e8fb55 some nextcloud fixes 2026-03-20 23:24:35 +01:00
mathias2784 838bff42fe some nextcloud fixes 2026-03-20 23:20:56 +01:00
mathias2784 ec749beb0a some nextcloud fixes 2026-03-20 23:18:32 +01:00
mathias2784 6479c0b6ff some nextcloud fixes 2026-03-20 23:15:30 +01:00
mathias2784 d52ceeef69 some fixes to .install_skripte/nextcloud.sh 2026-03-20 23:09:04 +01:00
mathias2784 703663da1f fix nextcloud and modularize 2026-03-20 23:02:58 +01:00
mathias2784 96e04eb251 first basic installs then stow 2026-03-20 21:53:31 +01:00
mathias2784 d6489bf111 link nerd font in kitty 2026-03-20 21:32:19 +01:00
mathias2784 0ecc3ba401 stow nvim 2026-03-20 21:31:16 +01:00
mathias2784 c92f3c0eba modularize nvim config and some more plugins 2026-03-20 14:10:05 +01:00
mathias2784 65c42d8c5d additional packages in basic install 2026-03-20 14:06:36 +01:00
mathias2784 1e1ec3ac53 basic nvim config 2026-03-20 11:20:21 +01:00
mathias2784 89ba0219ab bugfix in waybar style.css 2026-03-20 11:15:37 +01:00
mathias2784 58e9a822c0 fix nerd glyphs in waybar 2026-03-09 19:20:52 +01:00
mathias2784 b681717d95 verbessertes basi install skript 2026-03-08 21:57:02 +01:00
mathias2784 bd1d87e40e fix 2026-03-08 08:45:03 +01:00
mathias2784 fb69d494d1 Update install_skripte 2026-03-08 08:32:49 +01:00
mathias2784 3b7bda21d5 chmod +x für alle Skripte 2026-03-06 21:10:11 +01:00
mathias2784 52ea6c9ad9 buntes-monster Links 2026-03-06 21:09:42 +01:00
mathias2784 bfb5193da5 Umbenennung Install-Skripte-Ordner, damit er sich besser von stow Paketen absetzt 2026-03-06 20:14:09 +01:00
mathias2784 f1fa7804d7 Merge branch 'main' of github.com:mathias2784/dotfiles 2026-03-06 18:20:11 +01:00
mathias2784 0db1c22fb6 hyprconfig: volume keys 2026-03-06 18:12:23 +01:00
mathias2784 7a44c9a56b install_basic_pcks: multilib für packman aktivieren 2026-03-06 14:34:55 +01:00
mathias2784 2b8dcd383e installs verbessert 2026-03-06 14:30:00 +01:00
mathias2784 cff851cfb7 yay installation 2026-03-06 13:41:07 +01:00
mathias2784 5c55813385 fix: Skripte in Makefile 2026-03-06 13:27:09 +01:00
mathias2784 8fb3fa2560 Reorganisation der Install Skripte 2026-03-06 13:21:33 +01:00
mathias2784 a4a57f366b welcome back kreation 2026-03-06 13:21:00 +01:00
mathias2784 b94e0a2978 yay kann man nicht über pacman installieren 2026-03-06 11:57:53 +01:00
mathias2784 012a892c19 package install scripts 2026-03-06 11:54:16 +01:00
mathias2784 03b12e8b6b integrated mime fix in Makefile 2026-03-06 10:05:11 +01:00
mathias2784 e8c73617c6 MIME Problem in Dolphin: Lösungsansätze 2026-03-06 09:50:52 +01:00
mathias2784 6dcaeba0ce .gitignore: keine Lock Datien 2026-03-06 09:50:10 +01:00
mathias2784 ce46b7e77e monitor_setup_archtop.conf: adjust scaling 2026-03-02 23:02:11 +01:00
mathias2784 8838c5f9eb fix Makefile 2026-03-02 22:58:29 +01:00
mathias2784 689fcfdfa4 shutdown options 2026-03-02 22:56:21 +01:00
mathias2784 4c9c6a8c8c more fixes 2026-03-02 22:41:25 +01:00
mathias2784 df50653fd0 some fixes 2026-03-02 22:35:58 +01:00
mathias2784 262873ee27 fix script typo 2026-03-02 22:05:52 +01:00
mathias2784 cb59736b90 exclude wallpaper link 2026-03-02 22:04:49 +01:00
mathias2784 21fb17a4cc robust env for monitor and wallpaper 2026-03-02 21:58:51 +01:00
mathias2784 a1402c94d6 Makefile 2026-03-01 21:16:21 +01:00
mathias2784 38a8f30367 env robust und inkl. Wallpaper Path 2026-03-01 21:16:03 +01:00
mathias2784 03cbc97d47 stop tracking env file 2026-03-01 20:37:18 +01:00
mathias2784 db93f1945a .gitignore 2026-03-01 20:29:24 +01:00
mathias2784 437db3bb71 touchpad natural scrolling and battery in waybar 2026-03-01 09:23:19 +01:00
mathias2784 1f47f52870 fix monitor setup modul 2026-03-01 09:18:41 +01:00
mathias2784 0c036764c5 Monitor Setup modularisieren (funktioniert noch nicht ganz) 2026-03-01 08:51:45 +01:00
mathias2784 5bc1198adb feat: add copy and paste mappings for Wayland and Hyprland in kitty configuration 2026-02-28 23:22:57 +01:00
mathias2784 34d2af499c autostart Nextcloud 2026-02-28 23:22:43 +01:00
mathias2784 046f2c3e95 feat: add portal host override script and update portal configuration 2026-02-28 23:09:29 +01:00
mathias2784 e8a548bbad feat: update environment variables for Wayland and add portal configuration 2026-02-28 23:02:17 +01:00
mathias2784 a0361325f5 bisschen aufräumen 2026-02-28 22:44:56 +01:00
mathias2784 d0495c7426 fix: monitor: bitdepth DP-2 2026-02-28 22:38:16 +01:00
mathias2784 c91058ba3b source external monitor config file 2026-02-28 21:55:50 +01:00
mathias2784 b260ee1d68 add external monitor config file 2026-02-28 21:55:30 +01:00
mathias2784 4d26317358 initialer commit 2026-02-28 21:30:56 +01:00
418 changed files with 429684 additions and 50 deletions
+7
View File
@@ -0,0 +1,7 @@
hypr/.config/hypr/env
hypr/.config/hypr/env.conf
hypr/.config/hypr/env.sh
hypr/.config/wpaperd/wallpapers/linked
*~lock.*#
lazy-lock.json
fish_variables
+5
View File
@@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"vim"
]
}
+86
View File
@@ -0,0 +1,86 @@
# OpenCode Agent Reference Dotfiles Repository
This file contains the minimal, highsignal instructions that an OpenCode agent should know before working in this repository.
Only entries that would be missed without explicit help are included.
---
## 1. Project Scope
- **Dotfiles** for a personal workstation (hyprland + Neovim + VST plugin).
- No tests, CI or build scripts the repo is purely configuration data.
- The only executable content is the `install_*` shell scripts that install system packages.
---
## 2. System Setup
| Task | Command | Why it matters |
|------|---------|----------------|
| **Install required programs** | `bash .install_skripte/install_terminal_pcks.sh` <br>`bash .install_skripte/install_basic_pcks.sh` <br>`bash .install_skripte/install_hypr_pcks.sh` <br>`bash .install_skripte/install_kreation_pcks.sh` | These scripts install Neovim, hyprland, VST runtime, and other utilities. |
| **Link configuration directories** | `ln -s ~/.dotfiles/hypr/.config/hypr ~/.config/hypr` <br>`ln -s ~/.dotfiles/term/.config/nvim ~/.config/nvim` | The repository expects the configs to live in `~/.config`. |
| **Add VST plugin** | Copy `kreation/.vst3/MT-PowerDrumKit.vst3` into your DAWs plugins folder (usually `~/.vst`). | The repo contains a prebuilt VST for use in audio software. |
> *If you skip any of these steps, hyprland will not start or Neovim will fail to load its plugins.*
---
## 3. Hyprland Specifics
| Item | Detail |
|------|--------|
| **Wayland compositor** | Requires `hyprland` (and dependencies like `wlroots`). The script `install_hypr_pcks.sh` installs it. |
| **MIME defaults** | Run `bash hypr/.config/hypr/scripts/ensure-env.sh` after installing to set environment variables (`$XDG_DATA_HOME`, etc.). |
| **Dolphin file associations** | `bash hypr/.config/hypr/scripts/fix_dolphin_file_associations.sh` must be executed once to register the compositor with KDE. |
| **Portal host override** | `bash hypr/.config/hypr/scripts/portal-host-override.sh` fixes Wayland portal issues on some distros. |
> *Agents should remember to run the above scripts when setting up a fresh machine.*
---
## 4. Neovim Specifics
| Item | Detail |
|------|--------|
| **Neovim version** | Requires ≥ 0.10. The init.lua bootstraps `lazy.nvim` automatically. |
| **Node.js for LSP/TS plugins** | `fnm` is used to set the PATH. Ensure `fnm current` returns a valid node version; otherwise install fnm from https://github.com/jdx/mason. |
| **Python tooling** | After cloning, run:
```bash
pip install debugpy ruff black
```
These are used by the LSP and formatter plugins. |
| **Lazy.nvim plugin load** | Plugins are listed under `term/.config/nvim/plugins`. They will be installed automatically on first launch. |
| **Keymaps** | Basic `<leader>w/q`, LSP (`gd/gD/gi/gr/K`) and window navigation (`<C-h/j/k/l>`) are preconfigured. |
> *If any plugin fails to load, check that the required language server is installed (e.g., `pyright` for Python).*
---
## 5. OpenCode Configuration
| Key | Value |
|-----|-------|
| **default_agent** | `plan` the agent starts in planning mode. |
| **provider.lmstudio** | Uses local LM Studio with Gemma and Mistral models. |
| **permissions** | Bash, read, glob, grep are allowed; write/edit are *ask*. |
| **experimental.lsp** | Enabled agents can query Neovim LSP via `lsp` tool. |
> *Agents should not attempt to modify files unless the user explicitly allows it.*
---
## 6. Typical Workflow for a New Setup
1. **Clone repo**
```bash
git clone https://github.com/<user>/dotfiles.git ~/.dotfiles
```
2. **Run install scripts** (as root or with sudo if required).
3. **Link configs** (`ln -s …`) as shown above.
4. **Start hyprland** from a login manager or by running `hyprland`.
5. **Open Neovim** it will bootstrap plugins automatically.
---
## 7. Things to Watch Out For
- The repository contains *binary* VST files; do not delete the `.vst3` folder.
- Scripts assume you have `bash`, `git`, and `curl`.
- Path modifications for `fnm` only apply in the current shell session; you may want to add them to your shell profile.
- If you switch to a different compositor, remember to run `ensure-env.sh` again.
---
**End of AGENTS.md**
+21
View File
@@ -0,0 +1,21 @@
# setup ist ein Kommando-Target (keine Datei) und soll immer ausgeführt werden.
.PHONY: basic
termn:
bash _install_skripte_install_terminal_pcks.sh
stow term
basic: term
bash _install_skripte_install_basic_pcks.sh
stow nvim
bash _install_skripte/nextcloud.sh
hypr: basic
bash _install_skripte_install_hypr_pcks.sh
stow hypr
bash hypr/.config/hypr/scripts/ensure-env.sh
bash hypr/.config/hypr/scripts/portal-host-override.sh
bash hypr/.config/hypr/scripts/fix_dolphin_file_associations.sh
kreation: basic
bash _install_skripte_install_kreation_pcks.sh
stow kreation
bunters-monster: basic hypr kreation
_install_skripte/buntes-monster-links.sh
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
ln -sfn /mnt/spielplatz/heroic/ "$HOME/.heroic"
ln -sfn /mnt/spielplatz/steam/ "$HOME/.steam"
ln -sfn /mnt/bilder/ "$HOME/Bilder"
ln -sfn /mnt/anbau/Dokumente/ "$HOME/Dokumente"
ln -sfn /mnt/anbau/Musik/ "$HOME/Musik"
ln -sfn /mnt/anbau/Downloads/ "$HOME/Downloads"
ln -sfn /mnt/anbau/ "$HOME/anbau"
ln -sfn /mnt/anbau/Software/ "$HOME/dev"
ln -sfn /mnt/hidrive/ "$HOME/hidrive"
ln -sfn /mnt/nas "$HOME/nas"
ln -sfn /mnt/anbau/home/mathias/nextcloud "$HOME/nextcloud"
ln -sfn /mnt/spielplatz/.local/share/Steam "$HOME/.local/share/Steam"
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
sudo pacman -S --needed \
firefox \
nextcloud-client \
cups \
wine \
wine-mono \
wine-gecko \
winetricks \
thunderbird \
ktouch \
ktorrent \
pipewire \
pipewire-session-manager \
qpwgraph \
cifs-utils \
rbw \
sddm
yay -S \
catppuccin-sddm-theme-mocha
echo "
[General]
Numlock=on
[Theme]
ThemeDir=/usr/share/sddm/themes # Standardverzeichnis für Designvorlagen
Current=catppuccin-mocha-blue # Standardthema
CursorTheme=breeze_cursors # Mausthema
FacesDir=/usr/share/sddm/faces # Verzeichnis für Avatarbilder
[Users]
MaximumUID=1100
HideUsers=mathieu
" | sudo tee /etc/sddm.conf
sudo systemctl disable gdm
sudo systemctl enable sddm
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
sudo pacman -S --needed \
hyprland \
hyprlauncher \
xdg-desktop-portal-hyprland \
hyprpolkitagent \
pantheon-shortcut-overlay \
waybar \
hyprpaper \
wpaperd \
wev \
hyprlock \
hypridle \
nwg-drawer \
wl-clipboard \
swaync \
hyprshot \
rofi
yay -S --needed \
hyprshutdown \
hyprtile
# Install hyprltm (network manager)
curl -s https://raw.githubusercontent.com/hyprltm/hyprltm-net/main/setup.sh | bash
echo 'fish_add_path -m $HOME/.local/bin' >> ~/.config/fish/config.fish
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
sudo pacman -S --needed \
reaper \
guitarix \
kdenlive \
yabridge \
yabridgectl \
obs-studio \
surge-xt \
lsp-plugins \
calf \
dragonfly-reverb
yay -S --needed \
numaplayer
+73
View File
@@ -0,0 +1,73 @@
#!/bin/bash
# multilib aktivieren in /etc/pacman.conf
sudo sed -i.bak '/^#\[multilib\]/,+1 s/^#//' /etc/pacman.conf
# Für Noobs wie mich
# - erstellt Sicherheitskopie pacman.conf.bak vor der Änderung
# - sucht nach "[multilib]"
# - bezieht die nächste Zeile mit ein
# - Ersetzt ^# mit nüscht -> Kommentar entfernt :-)
sudo pacman -Syu
# Install yay
if pacman -Q yay &>/dev/null; then
echo "yay bereits installiert; fahre fort."
elif pacman -Si yay &>/dev/null; then
echo "Installiere yay mit pacman ..."
sudo pacman -S --needed yay
else
sudo pacman -S --needed base-devel git
echo "installiere yay via git ..."
git clone https://aur.archlinux.org/yay.git
(
cd yay || {
echo "Fehler: CD in yay-Verzeichnis fehlgeschlagen";
exit 1;
}
makepkg -si
)
rm -rf yay
fi
sudo pacman -S --needed \
fish \
vim \
nvim \
openssh \
rclone \
rsync \
unison \
stow \
nodejs \
npm \
starship \
fastfetch \
tree-sitter-cli \
python \
python-pip \
extra/ttf-jetbrains-mono-nerd \
unzip \
ruff \
python-ruff \
python-debugpy \
chromium \
selene \
opencode \
tmux \
yazi \
zoxide \
fzf \
locate \
ttf-jetbrains-mono-nerd \
ttf-font-awesome
# fish as standard terminal
chsh -s /usr/bin/fish
git clone https://github.com/jimeh/tmuxifier.git ~/.tmuxifier
npm install -g vscode-js-debug
npm install -g eslint_d
ya pkg add yazi-rs/plugins:git
sudo updatedb
+23
View File
@@ -0,0 +1,23 @@
retry() {
local N=$1; shift
local t=$2; shift
for i in $(seq 1 $N); do
"$@" && return 0 || sleep $t
done
return 1
}
stow_nextcloud() {
# Nextcloud
if [ ! -d "$HOME/nextcloud/local_configs" ]; then
echo "Fehler: Benötige $HOME/nextcloud/local_configs" >&2
exit 1
fi
stow --dir=$HOME/nextcloud/local_configs --target=$HOME default
}
nextcloud &
retry 90 10 stow_nextcloud
+1
View File
@@ -0,0 +1 @@
$HYPR_MONITOR_SETUP = ~/.config/hypr/modules/monitor_setup_0_auto.conf
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
export HYPR_WALLPAPER_LINK_SOURCE="$HOME/nextcloud/Photos/Wallpapers"
export HYPR_WALLPAPER_LINK="$HOME/.config/wpaperd/wallpapers/linked"
ln -sf "$HYPR_WALLPAPER_LINK_SOURCE" "$HYPR_WALLPAPER_LINK"
+34
View File
@@ -0,0 +1,34 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 300 # 5.0min.
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restore.
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 300 # 5.0min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
}
listener {
timeout = 900 # 15min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 1800 # 30min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
}
listener {
timeout = 2700 # 45min
on-timeout = systemctl suspend # suspend pc
}
View File
+12
View File
@@ -0,0 +1,12 @@
-- Generated by HyprMod
-- Settings
hl.config({
general = {
border_size = 5,
col = {
active_border = "0xcbe0e89b",
inactive_border = "0xff0e0543",
},
},
})
+470
View File
@@ -0,0 +1,470 @@
# #######################################################################################
# AUTOGENERATED HYPRLAND CONFIG.
# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hypr.land/Configuring/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
source = ~/.config/hypr/env.conf
exec = bash ~/.config/hypr/env.sh
################
### MONITORS ###
################
enable_color_management = true
# See https://wiki.hypr.land/Configuring/Monitors/
# monitor=,preferred,auto,auto
source = $HYPR_MONITOR_SETUP
# source = ~/.config/hypr/modules/monitor_setup_buntes_monster.conf
# unscale XWayland
xwayland {
force_zero_scaling = true
}
###################
### MY PROGRAMS ###
###################
# See https://wiki.hypr.land/Configuring/Keywords/
# Set programs that you use
$terminal = kitty
$fileManager = dolphin
#$menu = hyprlauncher
$menu = wofi --show drun
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# exec = bash ~/.config/wpaperd/link_wallpapers.sh
exec-once = waybar &
# exec-one = hyprpaper &
exec-once = wpaperd &
exec-once = swaync &
exec-once = hypridle &
exec-once = nextcloud &
exec-once = sh ~/.config/hypr/scripts/portal-host-override.sh
exec-once = sh ~/.config/hypr/scripts/ensure-mime-defaults.sh
# exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
# exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
# exec = gsettings set org.gnome.desktop.interface gtk-theme "Breeze-Dark" # for GTK3 apps
# exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
# env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hypr.land/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_MENU_PREFIX,plasma-
env = GTK_USE_PORTAL,1
env = GTK_THEME,Adwaita:dark
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORMTHEME,kde
# env = QT_AUTO_SCREEN_SCALE_FACTOR,0.75
# env = QT_SCALE_FACTOR,0.75
# env = GDK_SCALE,1.5
# env = GDK_DPI_SCALE,0.75
###################
### PERMISSIONS ###
###################
# See https://wiki.hypr.land/Configuring/Permissions/
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
# for security reasons
# ecosystem {
# enforce_permissions = 1
# }
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
#####################
### COLOR SCHEMES ###
#####################
source=themes/mocha.conf
$color_active_border = rgba($sapphireAlphaee)
$color_inactive_border = rgba($surface1Alphaee)
$color_decoration_shadow = rgba($sapphireAlphaee)
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hypr.land/Configuring/Variables/
# https://wiki.hypr.land/Configuring/Variables/#general
general {
gaps_in = 3
gaps_out = 4
border_size = 3
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
col.active_border = $color_active_border
col.inactive_border = $color_inactive_border
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = true
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hypr.land/Configuring/Variables/#decoration
decoration {
rounding = 5
rounding_power = 2
# Change transparency of focused and unfocused windows
active_opacity = 1.00
inactive_opacity = 1.00
shadow {
enabled = true
range = 10
render_power = 3
color = $color_decoration_shadow
}
# https://wiki.hypr.land/Configuring/Variables/#blur
blur {
enabled = true
size = 10
passes = 2
vibrancy = 0.1696
}
}
# https://wiki.hypr.land/Configuring/Variables/#animations
animations {
enabled = true
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
# NAME, X0, Y0, X1, Y1
bezier = easeOutQuint, 0.23, 1, 0.32, 1
bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
bezier = linear, 0, 0, 1, 1
bezier = almostLinear, 0.5, 0.5, 0.75, 1
bezier = quick, 0.15, 0, 0.1, 1
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
# NAME, ONOFF, SPEED, CURVE, [STYLE]
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
animation = zoomFactor, 1, 7, quick
}
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrule {
name = no-gaps-wtv1
match:float = false
match:workspace = w[tv1]
border_size = 0
rounding = 0
}
windowrule {
name = no-gaps-f1
match:float = false
match:workspace = f[1]
border_size = 0
rounding = 0
}
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
dwindle {
preserve_split = true # You probably want this
}
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hypr.land/Configuring/Variables/#misc
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. :(
}
#############
### INPUT ###
#############
# https://wiki.hypr.land/Configuring/Variables/#input
input {
kb_layout = de
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle
kb_rules =
follow_mouse = 1
numlock_by_default = true
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = true
}
}
# See https://wiki.hypr.land/Configuring/Gestures
gesture = 3, horizontal, workspace
# Example per-device config
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
###################
### KEYBINDINGS ###
###################
# See https://wiki.hypr.land/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, ESCAPE, exec, hyprshutdown
bind = $mainMod SHIFT, ESCAPE, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod CTRL, ESCAPE, exec, hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'
bind = $mainMod ALT, ESCAPE, exec, hyprshutdown -t 'Restarting...' --post-cmd 'reboot'
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, SPACE, exec, $menu
bind = $mainMod SHIFT, SPACE, exec, nwg-drawer
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod SHIFT, J, layoutmsg, togglesplit # dwindle
bind = $mainMod, I, exec, firefox &
bind = $mainMod, n, exec, ~/.local/bin/hyprltm-net
# Move focus with mainMod + WASD or Vim-style
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
# Move windows with mainMod + WASD or Vim-style
bind = $mainMod SHIFT, a, movewindow, l
bind = $mainMod SHIFT, d, movewindow, r
bind = $mainMod SHIFT, w, movewindow, u
bind = $mainMod SHIFT, s, movewindow, d
bind = $mainMod SHIFT, h, movewindow, l
bind = $mainMod SHIFT, l, movewindow, r
bind = $mainMod SHIFT, k, movewindow, u
bind = $mainMod SHIFT, j, movewindow, d
# Resize focused window with mainMod + Arrows
bind = $mainMod, left, resizeactive, -10 0
bind = $mainMod, right, resizeactive, 10 0
bind = $mainMod, up, resizeactive, 0 -10
bind = $mainMod, down, resizeactive, 0 10
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+
bindl = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# # Example special workspace (scratchpad)
# bind = $mainMod, S, togglespecialworkspace, magic
# bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# Screenshots
$screenshot_folder = ~/Bilder/Screenshots/
bindl = , PRINT, exec, hyprshot -m region --output-folder $screenshot_folder
bindl = LCTRL, PRINT, exec, hyprshot -m window --output-folder $screenshot_folder
bindl = SHIFT, PRINT, exec, hyprshot -m active --output-folder $screenshot_folder
# Screenlock
bindl = LCTRL ALT, L, exec, hyprlock
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrules that are useful
windowrule {
# Ignore maximize requests from all apps. You'll probably like this.
name = suppress-maximize-events
match:class = .*
suppress_event = maximize
}
windowrule {
# Fix some dragging issues with XWayland
name = fix-xwayland-drags
match:class = ^$
match:title = ^$
match:xwayland = true
match:float = true
match:fullscreen = false
match:pin = false
no_focus = true
}
# Hyprland-run windowrule
windowrule {
name = move-hyprland-run
match:class = hyprland-run
move = 20 monitor_h-120
float = yes
}
windowrule {
name = opacity-kitty-dolphin
match:class = .*(kitty|dolphin).*
opacity = 0.90 0.80
}
layerrule = blur on, ignore_alpha 0.30, match:namespace waybar
layerrule = blur_popups on, match:namespace waybar
decoration {
blur {
size = 8
passes = 2
}
}
windowrule {
name = no-rounding-fullscreen
match:fullscreen = 1
rounding = 0
border_size = 0
}
# windowrule {
# name = no-rounding-steam-games
# match:class = ^steam_app_.*$
# rounding = 0
# border_size = 0
# }
# windowrule {
# name = no-rounding-gamescope
# match:class = ^gamescope$
# rounding = 0
# border_size = 0
# }
# HyprMod managed settings
source = /home/mathias/.config/hypr/hyprland-gui.conf
+718
View File
@@ -0,0 +1,718 @@
local var_color_active_border = "rgba(74c7ecee)"
local var_color_inactive_border = "rgba(45475aee)"
local var_color_decoration_shadow = "rgba(74c7ecee)"
local var_mainMod = "SUPER"
local var_terminal = "kitty"
local var_fileManager = "dolphin"
local var_menu = "wofi --show drun"
local var_screenshot_folder = "~/Bilder/Screenshots/"
-- #######################################################################################
-- AUTOGENERATED HYPRLAND CONFIG.
-- EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
-- #######################################################################################
-- This is an example Hyprland config file.
-- Refer to the wiki for more information.
-- https://wiki.hypr.land/Configuring/
-- Please note not all available settings / options are set here.
-- For a full list, see the wiki
-- You can split this configuration into multiple files
-- Create your files separately and then link them to this file like this:
-- source = ~/.config/hypr/myColors.conf
require("env")
hl.exec_cmd("bash ~/.config/hypr/env.sh")
-- ###############
-- ## MONITORS ###
-- ###############
-- See https://wiki.hypr.land/Configuring/Monitors/
-- monitor=,preferred,auto,auto
require("modules.monitor_setup_buntes_monster")
-- source = ~/.config/hypr/modules/monitor_setup_buntes_monster.conf
-- unscale XWayland
hl.config({
xwayland = {
force_zero_scaling = true,
},
})
-- ##################
-- ## MY PROGRAMS ###
-- ##################
-- See https://wiki.hypr.land/Configuring/Keywords/
-- Set programs that you use
-- $menu = hyprlauncher
-- ################
-- ## AUTOSTART ###
-- ################
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
-- Or execute your favorite apps at launch like this:
-- exec = bash ~/.config/wpaperd/link_wallpapers.sh
hl.on("hyprland.start", function()
hl.exec_cmd("waybar &")
end)
-- exec-one = hyprpaper &
hl.on("hyprland.start", function()
hl.exec_cmd("wpaperd &")
hl.exec_cmd("swaync &")
hl.exec_cmd("hypridle &")
hl.exec_cmd("nextcloud &")
hl.exec_cmd("sh ~/.config/hypr/scripts/portal-host-override.sh")
hl.exec_cmd("sh ~/.config/hypr/scripts/ensure-mime-defaults.sh")
end)
-- exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
-- exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE XDG_MENU_PREFIX
-- exec = gsettings set org.gnome.desktop.interface gtk-theme "Breeze-Dark" # for GTK3 apps
-- exec = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
-- env = QT_QPA_PLATFORMTHEME,qt6ct # for Qt apps
-- ############################
-- ## ENVIRONMENT VARIABLES ###
-- ############################
-- See https://wiki.hypr.land/Configuring/Environment-variables/
hl.env("XCURSOR_SIZE", "24")
hl.env("HYPRCURSOR_SIZE", "24")
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("XDG_MENU_PREFIX", "plasma-")
hl.env("GTK_USE_PORTAL", "1")
hl.env("GTK_THEME", "Adwaita:dark")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
hl.env("QT_QPA_PLATFORMTHEME", "kde")
-- env = QT_AUTO_SCREEN_SCALE_FACTOR,0.75
-- env = QT_SCALE_FACTOR,0.75
-- env = GDK_SCALE,1.5
-- env = GDK_DPI_SCALE,0.75
-- ##################
-- ## PERMISSIONS ###
-- ##################
-- See https://wiki.hypr.land/Configuring/Permissions/
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
-- for security reasons
-- ecosystem {
-- enforce_permissions = 1
-- }
-- permission = /usr/(bin|local/bin)/grim, screencopy, allow
-- permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
-- permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
-- ####################
-- ## COLOR SCHEMES ###
-- ####################
require("themes.mocha")
-- ####################
-- ## LOOK AND FEEL ###
-- ####################
-- Refer to https://wiki.hypr.land/Configuring/Variables/
-- https://wiki.hypr.land/Configuring/Variables/#general
hl.config({
general = {
gaps_in = 3,
gaps_out = 4,
border_size = 3,
},
})
-- https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
hl.config({
general = {
col = {
active_border = var_color_active_border,
inactive_border = var_color_inactive_border,
},
},
})
-- Set to true enable resizing windows by clicking and dragging on borders and gaps
hl.config({
general = {
resize_on_border = true,
},
})
-- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
hl.config({
general = {
allow_tearing = false,
layout = "dwindle",
},
})
-- https://wiki.hypr.land/Configuring/Variables/#decoration
hl.config({
decoration = {
rounding = 5,
rounding_power = 2,
},
})
-- Change transparency of focused and unfocused windows
hl.config({
decoration = {
active_opacity = 1.0,
inactive_opacity = 1.0,
shadow = {
enabled = true,
range = 10,
render_power = 3,
color = var_color_decoration_shadow,
},
},
})
-- https://wiki.hypr.land/Configuring/Variables/#blur
hl.config({
decoration = {
blur = {
enabled = true,
size = 10,
passes = 2,
vibrancy = 0.1696,
},
},
})
-- https://wiki.hypr.land/Configuring/Variables/#animations
hl.config({
animations = {
enabled = true,
},
})
-- Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
-- NAME, X0, Y0, X1, Y1
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
-- Default animations, see https://wiki.hypr.land/Configuring/Animations/
-- NAME, ONOFF, SPEED, CURVE, [STYLE]
hl.animation({
leaf = "global",
enabled = true,
speed = 10,
bezier = "default",
})
hl.animation({
leaf = "border",
enabled = true,
speed = 5.39,
bezier = "easeOutQuint",
})
hl.animation({
leaf = "windows",
enabled = true,
speed = 4.79,
bezier = "easeOutQuint",
})
hl.animation({
leaf = "windowsIn",
enabled = true,
speed = 4.1,
bezier = "easeOutQuint",
style = "popin 87%",
})
hl.animation({
leaf = "windowsOut",
enabled = true,
speed = 1.49,
bezier = "linear",
style = "popin 87%",
})
hl.animation({
leaf = "fadeIn",
enabled = true,
speed = 1.73,
bezier = "almostLinear",
})
hl.animation({
leaf = "fadeOut",
enabled = true,
speed = 1.46,
bezier = "almostLinear",
})
hl.animation({
leaf = "fade",
enabled = true,
speed = 3.03,
bezier = "quick",
})
hl.animation({
leaf = "layers",
enabled = true,
speed = 3.81,
bezier = "easeOutQuint",
})
hl.animation({
leaf = "layersIn",
enabled = true,
speed = 4,
bezier = "easeOutQuint",
style = "fade",
})
hl.animation({
leaf = "layersOut",
enabled = true,
speed = 1.5,
bezier = "linear",
style = "fade",
})
hl.animation({
leaf = "fadeLayersIn",
enabled = true,
speed = 1.79,
bezier = "almostLinear",
})
hl.animation({
leaf = "fadeLayersOut",
enabled = true,
speed = 1.39,
bezier = "almostLinear",
})
hl.animation({
leaf = "workspaces",
enabled = true,
speed = 1.94,
bezier = "almostLinear",
style = "fade",
})
hl.animation({
leaf = "workspacesIn",
enabled = true,
speed = 1.21,
bezier = "almostLinear",
style = "fade",
})
hl.animation({
leaf = "workspacesOut",
enabled = true,
speed = 1.94,
bezier = "almostLinear",
style = "fade",
})
hl.animation({
leaf = "zoomFactor",
enabled = true,
speed = 7,
bezier = "quick",
})
-- Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
-- "Smart gaps" / "No gaps when only"
-- uncomment all if you wish to use that.
hl.workspace_rule({
workspace = "w[tv1]",
gaps_out = 0,
gaps_in = 0,
})
hl.workspace_rule({
workspace = "f[1]",
gaps_out = 0,
gaps_in = 0,
})
hl.window_rule({
name = "no-gaps-wtv1",
match = {
float = false,
workspace = "w[tv1]",
},
border_size = 0,
rounding = 0,
})
hl.window_rule({
name = "no-gaps-f1",
match = {
float = false,
workspace = "f[1]",
},
border_size = 0,
rounding = 0,
})
-- See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
hl.config({
dwindle = {
preserve_split = true,
},
})
-- See https://wiki.hypr.land/Configuring/Master-Layout/ for more
hl.config({
master = {
new_status = "master",
},
})
-- https://wiki.hypr.land/Configuring/Variables/#misc
hl.config({
misc = {
force_default_wallpaper = -1,
disable_hyprland_logo = false,
},
})
-- ############
-- ## INPUT ###
-- ############
-- https://wiki.hypr.land/Configuring/Variables/#input
hl.config({
input = {
kb_layout = "de",
kb_variant = "",
kb_model = "",
kb_options = "grp:alt_shift_toggle",
kb_rules = "",
follow_mouse = 1,
numlock_by_default = true,
sensitivity = 0,
touchpad = {
natural_scroll = true,
},
},
})
-- See https://wiki.hypr.land/Configuring/Gestures
hl.gesture({
fingers = 3,
direction = "horizontal",
action = "workspace",
})
-- Example per-device config
-- See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
hl.device({
name = "epic-mouse-v1",
sensitivity = -0.5,
})
-- ##################
-- ## KEYBINDINGS ###
-- ##################
-- See https://wiki.hypr.land/Configuring/Keywords/
-- Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
hl.bind(var_mainMod .. " + RETURN", hl.dsp.exec_cmd(var_terminal))
hl.bind(var_mainMod .. " + Q", hl.dsp.window.close())
hl.bind(var_mainMod .. " + ESCAPE", hl.dsp.exec_cmd("hyprshutdown"))
hl.bind(var_mainMod .. " + SHIFT + ESCAPE", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit"))
hl.bind(var_mainMod .. " + CTRL + ESCAPE", hl.dsp.exec_cmd("hyprshutdown -t 'Shutting down...' --post-cmd 'shutdown -P 0'"))
hl.bind(var_mainMod .. " + ALT + ESCAPE", hl.dsp.exec_cmd("hyprshutdown -t 'Restarting...' --post-cmd 'reboot'"))
hl.bind(var_mainMod .. " + E", hl.dsp.exec_cmd(var_fileManager))
hl.bind(var_mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(var_mainMod .. " + SPACE", hl.dsp.exec_cmd(var_menu))
hl.bind(var_mainMod .. " + SHIFT + SPACE", hl.dsp.exec_cmd("nwg-drawer"))
hl.bind(var_mainMod .. " + P", hl.dsp.window.pseudo())
hl.bind(var_mainMod .. " + SHIFT + J", hl.dsp.layout("togglesplit"))
hl.bind(var_mainMod .. " + I", hl.dsp.exec_cmd("firefox &"))
hl.bind(var_mainMod .. " + n", hl.dsp.exec_cmd("~/.local/bin/hyprltm-net"))
-- Move focus with mainMod + WASD or Vim-style
hl.bind(var_mainMod .. " + a", hl.dsp.focus({ direction = "left" }))
hl.bind(var_mainMod .. " + d", hl.dsp.focus({ direction = "right" }))
hl.bind(var_mainMod .. " + w", hl.dsp.focus({ direction = "up" }))
hl.bind(var_mainMod .. " + s", hl.dsp.focus({ direction = "down" }))
hl.bind(var_mainMod .. " + h", hl.dsp.focus({ direction = "left" }))
hl.bind(var_mainMod .. " + l", hl.dsp.focus({ direction = "right" }))
hl.bind(var_mainMod .. " + k", hl.dsp.focus({ direction = "up" }))
hl.bind(var_mainMod .. " + j", hl.dsp.focus({ direction = "down" }))
-- Move windows with mainMod + WASD or Vim-style
hl.bind(var_mainMod .. " + SHIFT + a", hl.dsp.window.move({ direction = "left" }))
hl.bind(var_mainMod .. " + SHIFT + d", hl.dsp.window.move({ direction = "right" }))
hl.bind(var_mainMod .. " + SHIFT + w", hl.dsp.window.move({ direction = "up" }))
hl.bind(var_mainMod .. " + SHIFT + s", hl.dsp.window.move({ direction = "down" }))
hl.bind(var_mainMod .. " + SHIFT + h", hl.dsp.window.move({ direction = "left" }))
hl.bind(var_mainMod .. " + SHIFT + l", hl.dsp.window.move({ direction = "right" }))
hl.bind(var_mainMod .. " + SHIFT + k", hl.dsp.window.move({ direction = "up" }))
hl.bind(var_mainMod .. " + SHIFT + j", hl.dsp.window.move({ direction = "down" }))
-- Resize focused window with mainMod + Arrows
hl.bind(var_mainMod .. " + left", hl.dsp.window.resize({ x = -10, y = 0, relative = true }))
hl.bind(var_mainMod .. " + right", hl.dsp.window.resize({ x = 10, y = 0, relative = true }))
hl.bind(var_mainMod .. " + up", hl.dsp.window.resize({ x = 0, y = -10, relative = true }))
hl.bind(var_mainMod .. " + down", hl.dsp.window.resize({ x = 0, y = 10, relative = true }))
-- Switch workspaces with mainMod + [0-9]
hl.bind(var_mainMod .. " + 1", hl.dsp.focus({ workspace = 1 }))
hl.bind(var_mainMod .. " + 2", hl.dsp.focus({ workspace = 2 }))
hl.bind(var_mainMod .. " + 3", hl.dsp.focus({ workspace = 3 }))
hl.bind(var_mainMod .. " + 4", hl.dsp.focus({ workspace = 4 }))
hl.bind(var_mainMod .. " + 5", hl.dsp.focus({ workspace = 5 }))
hl.bind(var_mainMod .. " + 6", hl.dsp.focus({ workspace = 6 }))
hl.bind(var_mainMod .. " + 7", hl.dsp.focus({ workspace = 7 }))
hl.bind(var_mainMod .. " + 8", hl.dsp.focus({ workspace = 8 }))
hl.bind(var_mainMod .. " + 9", hl.dsp.focus({ workspace = 9 }))
hl.bind(var_mainMod .. " + 0", hl.dsp.focus({ workspace = 10 }))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"), {
repeating = true,
})
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
locked = true,
})
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
hl.bind(var_mainMod .. " + SHIFT + 1", hl.dsp.window.move({ workspace = 1 }))
hl.bind(var_mainMod .. " + SHIFT + 2", hl.dsp.window.move({ workspace = 2 }))
hl.bind(var_mainMod .. " + SHIFT + 3", hl.dsp.window.move({ workspace = 3 }))
hl.bind(var_mainMod .. " + SHIFT + 4", hl.dsp.window.move({ workspace = 4 }))
hl.bind(var_mainMod .. " + SHIFT + 5", hl.dsp.window.move({ workspace = 5 }))
hl.bind(var_mainMod .. " + SHIFT + 6", hl.dsp.window.move({ workspace = 6 }))
hl.bind(var_mainMod .. " + SHIFT + 7", hl.dsp.window.move({ workspace = 7 }))
hl.bind(var_mainMod .. " + SHIFT + 8", hl.dsp.window.move({ workspace = 8 }))
hl.bind(var_mainMod .. " + SHIFT + 9", hl.dsp.window.move({ workspace = 9 }))
hl.bind(var_mainMod .. " + SHIFT + 0", hl.dsp.window.move({ workspace = 10 }))
-- # Example special workspace (scratchpad)
-- bind = $mainMod, S, togglespecialworkspace, magic
-- bind = $mainMod SHIFT, S, movetoworkspace, special:magic
-- Scroll through existing workspaces with mainMod + scroll
hl.bind(var_mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(var_mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(var_mainMod .. " + mouse:272", hl.dsp.window.drag(), {
mouse = true,
})
hl.bind(var_mainMod .. " + mouse:273", hl.dsp.window.resize(), {
mouse = true,
})
-- Laptop multimedia keys for volume and LCD brightness
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), {
repeating = true,
locked = true,
})
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), {
repeating = true,
locked = true,
})
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), {
repeating = true,
locked = true,
})
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), {
repeating = true,
locked = true,
})
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), {
repeating = true,
locked = true,
})
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), {
repeating = true,
locked = true,
})
-- Requires playerctl
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), {
locked = true,
})
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), {
locked = true,
})
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), {
locked = true,
})
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), {
locked = true,
})
-- Screenshots
hl.bind("PRINT", hl.dsp.exec_cmd("hyprshot -m region --output-folder " .. var_screenshot_folder), {
locked = true,
})
hl.bind("CTRL + PRINT", hl.dsp.exec_cmd("hyprshot -m window --output-folder " .. var_screenshot_folder), {
locked = true,
})
hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m active --output-folder " .. var_screenshot_folder), {
locked = true,
})
-- Screenlock
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd("hyprlock"), {
locked = true,
})
-- #############################
-- ## WINDOWS AND WORKSPACES ###
-- #############################
-- See https://wiki.hypr.land/Configuring/Window-Rules/ for more
-- See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
-- Example windowrules that are useful
-- Ignore maximize requests from all apps. You'll probably like this.
hl.window_rule({
name = "suppress-maximize-events",
match = {
class = ".*",
},
suppress_event = "maximize",
})
-- Fix some dragging issues with XWayland
hl.window_rule({
name = "fix-xwayland-drags",
match = {
class = "^$",
title = "^$",
xwayland = true,
float = true,
fullscreen = false,
pin = false,
},
no_focus = true,
})
-- Hyprland-run windowrule
hl.config({
decoration = {
blur = {
size = 8,
passes = 2,
},
},
})
hl.window_rule({
name = "move-hyprland-run",
match = {
class = "hyprland-run",
},
move = "20 monitor_h-120",
float = true,
})
hl.window_rule({
name = "opacity-kitty-dolphin",
match = {
class = ".*(kitty|dolphin).*",
},
opacity = "0.90 0.80",
})
hl.layer_rule({
match = {
namespace = "waybar",
},
blur = true,
})
hl.layer_rule({
match = {
namespace = "waybar",
},
blur_popups = true,
})
hl.window_rule({
name = "no-rounding-fullscreen",
match = {
fullscreen = 1,
},
rounding = 0,
border_size = 0,
})
-- windowrule {
-- name = no-rounding-steam-games
-- match:class = ^steam_app_.*$
-- rounding = 0
-- border_size = 0
-- }
-- windowrule {
-- name = no-rounding-gamescope
-- match:class = ^gamescope$
-- rounding = 0
-- border_size = 0
-- }
-- HyprMod managed settings
require("hyprland-gui")
+106
View File
@@ -0,0 +1,106 @@
# sample hyprlock.conf
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
#
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
#
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
#
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
#
$font = Monospace
general {
hide_cursor = false
}
# uncomment to enable fingerprint authentication
# auth {
# fingerprint {
# enabled = true
# ready_message = Scan fingerprint to unlock
# present_message = Scanning...
# retry_delay = 250 # in milliseconds
# }
# }
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background {
monitor =
path = screenshot
blur_passes = 3
}
input-field {
monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.0) # no fill
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
font_color = rgb(143, 143, 143)
fade_on_empty = false
rounding = 15
font_family = $font
placeholder_text = Input password...
fail_text = $PAMFAIL
# uncomment to use a letter instead of a dot to indicate the typed password
# dots_text_format = *
# dots_size = 0.4
dots_spacing = 0.3
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
# hide_input = true
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
label {
monitor =
text = $LAYOUT[en,ru]
font_size = 24
onclick = hyprctl switchxkblayout all next
position = 250, -20
halign = center
valign = center
}
@@ -0,0 +1 @@
monitor=,preferred,auto,1.0
@@ -0,0 +1 @@
monitor=,preferred,auto,1.0
@@ -0,0 +1,18 @@
# monitorv2 {
# output = DP-2
# mode = highres highrr
# position = 0x0
# scale = 1.2
# bitdepth = 10
# cm = hdr
# supports_wide_color = 1
# supports_hdr = 1
# sdr_min_luminance = 0.005
# sdr_max_luminance = 200
# min_luminance = 0.002
# max_luminance = 200
# max_avg_luminance = 150
# }
monitor = DP-2, preferred, auto-left, 1.5
monitor = DP-3, preferred, auto-right, 1.0
@@ -0,0 +1,43 @@
-- monitorv2 {
-- output = DP-2
-- mode = highres highrr
-- position = 0x0
-- scale = 1.2
-- bitdepth = 10
-- cm = hdr
-- supports_wide_color = 1
-- supports_hdr = 1
-- sdr_min_luminance = 0.005
-- sdr_max_luminance = 200
-- min_luminance = 0.002
-- max_luminance = 200
-- max_avg_luminance = 150
-- }
hl.monitor({
output = "DP-2",
disabled = false,
mode = "preferred",
position = "auto-left",
scale = 1.5,
})
hl.monitor({
output = "DP-3",
disabled = false,
mode = "preferred",
position = "auto-right",
scale = 1.0,
})
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env sh
set -eu # Exit immediately if a command exits with a non-zero status, and treat unset variables as an error.
CONF_SOURCE="$HOME/.config/hypr/env.conf.template"
CONF_TARGET="$HOME/.config/hypr/env.conf"
SH_SOURCE="$HOME/.config/hypr/env.sh.template"
SH_TARGET="$HOME/.config/hypr/env.sh"
if [ ! -f "$CONF_TARGET" ]; then
cp "$CONF_SOURCE" "$CONF_TARGET"
echo "Created $CONF_TARGET from template $CONF_SOURCE"
fi
if [ ! -f "$SH_TARGET" ]; then
cp "$SH_SOURCE" "$SH_TARGET"
echo "Created $SH_TARGET from template $SH_SOURCE"
fi
@@ -0,0 +1,29 @@
#!/bin/sh
has_desktop() {
[ -f "$HOME/.local/share/applications/$1" ] || [ -f "/usr/share/applications/$1" ]
}
set_default_if_available() {
desktop_id="$1"
mime_type="$2"
if has_desktop "$desktop_id"; then
xdg-mime default "$desktop_id" "$mime_type" >/dev/null 2>&1 || true
fi
}
set_default_if_available org.kde.gwenview.desktop image/jpeg
set_default_if_available org.kde.gwenview.desktop image/png
set_default_if_available org.kde.gwenview.desktop image/webp
set_default_if_available org.kde.gwenview.desktop image/gif
set_default_if_available org.gnome.Papers.desktop application/pdf
set_default_if_available io.github.celluloid_player.Celluloid.desktop video/mp4
set_default_if_available io.github.celluloid_player.Celluloid.desktop video/webm
set_default_if_available io.github.celluloid_player.Celluloid.desktop video/mpeg
set_default_if_available celluloid.desktop video/x-matroska
set_default_if_available userapp-Thunderbird-MTXOJ3.desktop x-scheme-handler/mailto
set_default_if_available userapp-Thunderbird-MTXOJ3.desktop x-scheme-handler/mid
set_default_if_available lmstudio.desktop x-scheme-handler/lmstudio
@@ -0,0 +1,5 @@
#!/bin/bash
sudo pacman -Sy archlinux-xdg-menu
sudo mv /etc/xdg/menus/arch-applications-menu /etc/xdg/menus/applications.menu
kbuildsycoca6 --noincremental
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
if [ -f /etc/xdg/menus/plasma-applications.menu ] && command -v xdg-desktop-portal-kde >/dev/null 2>&1; then
dbus-update-activation-environment --systemd XDG_MENU_PREFIX=plasma- >/dev/null 2>&1 || true
systemctl --user set-environment XDG_MENU_PREFIX=plasma-
else
systemctl --user unset-environment XDG_MENU_PREFIX >/dev/null 2>&1 || true
fi
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
out_dir="$HOME/dotfiles/themes/.config/catppuccin/mocha.conf"
url="https://raw.githubusercontent.com/catppuccin/hyprland/main/themes/mocha.conf"
curl -o "$out_dir" "$url"
+78
View File
@@ -0,0 +1,78 @@
$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
View File
+15
View File
@@ -0,0 +1,15 @@
# Copy / Paste (Wayland + Hyprland)
map ctrl+shift+c copy_to_clipboard
map ctrl+shift+v paste_from_clipboard
copy_on_select yes
# Coloer theme
include themes/mocha.conf
# Font
font_family JetBrainsMono NF
bold_font auto
italic_font auto
bold_italic_font auto
font_size 10.0
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
out_dir="$HOME/dotfiles/themes/.config/themes/kitty/catppuccin/mocha.conf"
url="https://raw.githubusercontent.com/catppuccin/kitty/main/themes/mocha.conf"
curl -o "$out_dir" "$url"
+84
View File
@@ -0,0 +1,84 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# Scrollbar colors
scrollbar_handle_color #9399b2
scrollbar_track_color #45475a
# URL color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
@@ -0,0 +1,10 @@
[Unit]
Description=Re-apply MIME defaults when mimeapps files change
[Path]
PathChanged=%h/.config/mimeapps.list
PathChanged=%h/.local/share/applications/mimeapps.list
Unit=ensure-mime-defaults.service
[Install]
WantedBy=default.target
@@ -0,0 +1,10 @@
[Unit]
Description=Ensure preferred MIME defaults are set
After=graphical-session.target
[Service]
Type=oneshot
ExecStart=/bin/sh %h/.config/hypr/scripts/ensure-mime-defaults.sh
[Install]
WantedBy=default.target
+230
View File
@@ -0,0 +1,230 @@
// -*- mode: jsonc -*-
{
"custom/gpu": {
"format": "{text}",
"tooltip": false,
"exec": "~/.config/waybar/scripts/gpu-info.sh",
"exec-interval": 1,
"return-type": "json"
},
// "layer": "top", // Waybar at top layer
"position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 800, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces"
//"hyprland/mode",
//"hyprland/scratchpad",
//"custom/media"
],
"modules-center": [
"hyprland/window"
],
"modules-right": [
"mpd",
"idle_inhibitor",
"pulseaudio",
//"network",
//"power-profiles-daemon",
"cpu",
"memory",
"temperature",
"backlight",
"keyboard-state",
//"hyprland/language",
"battery",
//"battery#bat2",
"custom/gpu",
"clock",
"tray",
"custom/power"
],
// Modules configuration
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": true,
"format": "{name}: {icon}",
"format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
"active": "",
"default": ""
}
},
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"hyprland/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"hyprland/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 5,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10//,
// "icons": {
// "blueman": "bluetooth",
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
// }
},
"clock": {
"format": "{:%Y-%m-%d %H:%M}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"on-click": "~/.config/waybar/scripts/copy-date.sh"
//"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"interval": 1,
"format": "cpu:{usage:02}%@{avg_frequency:4.2f}MHz",
"tooltip": false
},
"memory": {
"interval": 1,
"format": "mem:{:02}%"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏻ ",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}
}
+4
View File
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
DATE=$(date +"%Y-%m-%d_%H%M")
echo -n "$DATE" | wl-copy
notify-send "Date copied" "$DATE"
+23
View File
@@ -0,0 +1,23 @@
#!/bin/bash
# GPU monitoring for waybar (AMD radeontop + sysfs temp)
GPU_DATA=$(timeout 1 radeontop -d - -l 1 2>/dev/null | tail -1)
if [ -z "$GPU_DATA" ]; then
echo "{\"text\": \"gpu:--\", \"tooltip\": \"Reading...\"}"
exit 0
fi
GPU=$(echo "$GPU_DATA" | grep -oP 'gpu \K[0-9.]+' | head -1)
GPU_INT=${GPU%.*}
VRAM=$(echo "$GPU_DATA" | grep -oP 'vram [\d.]+% \K[\d.]+' | head -1)
VRAM_INT=${VRAM%.*}
SCLK=$(echo "$GPU_DATA" | grep -oP 'sclk [\d.]+% \K[\d.]+' | head -1)
MCLK=$(echo "$GPU_DATA" | grep -oP 'mclk [\d.]+% \K[\d.]+' | head -1)
TEMP=$(( $(cat /sys/class/hwmon/hwmon2/temp1_input) / 1000 ))
POWER=$(( $(cat /sys/class/hwmon/hwmon2/power1_average) / 1000 ))
echo "{\"text\": \"gpu:${GPU_INT}% ${VRAM_INT}MB ${TEMP}C\", \"tooltip\": \"GPU: ${GPU}%\\nVRAM: ${VRAM}MB\\nTemp: ${TEMP}C\\nPower: ${POWER}W\\nSCLK: ${SCLK}GHz\\nMCLK: ${MCLK}GHz\"}"
+236
View File
@@ -0,0 +1,236 @@
/* -------------------------------------------------
Calm Glass (Hyprland / Waybar) — GTK CSS safe
-------------------------------------------------- */
* {
font-family: "JetBrainsMono Nerd Font", FontAwesome, sans-serif;
font-size: 13px;
}
/* ---------- GTK Color Definitions ---------- */
@define-color fg rgba(235, 238, 242, 0.92);
@define-color fg-dim rgba(235, 238, 242, 0.72);
@define-color fg-muted rgba(235, 238, 242, 0.55);
@define-color glass rgba(18, 22, 30, 0.55);
@define-color glass_2 rgba(18, 22, 30, 0.32);
@define-color glass_3 rgba(18, 22, 30, 0.22);
@define-color stroke rgba(255, 255, 255, 0.12);
@define-color stroke_2 rgba(255, 255, 255, 0.07);
/* ---------- Waybar Container ---------- */
window#waybar {
background-color: @glass;
color: @fg;
border-bottom: 1px solid @stroke;
box-shadow: 0 10px 30px rgba(0,0,0,0.30);
transition-property: background-color, opacity;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.35;
}
/* ---------- Buttons / Workspaces ---------- */
button {
box-shadow: inset 0 -2px transparent;
border: none;
border-radius: 0;
}
button:hover {
background: inherit;
box-shadow: inset 0 -2px rgba(255,255,255,0.18);
}
#workspaces button {
padding: 0 8px;
margin: 4px 3px;
background-color: rgba(255,255,255,0.04);
color: @fg-dim;
border: 1px solid rgba(255,255,255,0.06);
border-radius: 10px;
}
#workspaces button:hover {
background: rgba(255,255,255,0.07);
color: @fg;
}
#workspaces button.focused,
#workspaces button.active {
background-color: rgba(255,255,255,0.10);
color: @fg;
border: 1px solid rgba(255,255,255,0.12);
box-shadow: inset 0 -2px rgba(255,255,255,0.18);
}
#workspaces button.urgent {
background-color: rgba(190,110,120,0.35);
border-color: rgba(190,110,120,0.50);
color: @fg;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
/* ---------- Common “Chip” module style ---------- */
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd,
#language,
#keyboard-state,
#privacy,
#privacy-item {
padding: 0 10px;
color: @fg;
background-color: @glass_2;
border: 1px solid @stroke_2;
border-radius: 10px;
margin: 4px 4px;
}
#pulseaudio:hover,
#wireplumber:hover,
#network:hover,
#clock:hover {
background-color: @glass_3;
}
#clock {
border-color: rgba(140, 170, 190, 0.25);
}
/* Battery */
#battery.charging,
#battery.plugged {
background-color: rgba(120,170,140,0.22);
border-color: rgba(120,170,140,0.34);
}
@keyframes blink {
to {
background-color: rgba(190,110,120,0.18);
border-color: rgba(190,110,120,0.50);
}
}
#battery.critical:not(.charging) {
background-color: rgba(190,110,120,0.35);
border-color: rgba(190,110,120,0.55);
color: @fg;
animation-name: blink;
animation-duration: 0.6s;
animation-timing-function: steps(10);
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* Network */
#network.disconnected {
background-color: rgba(190,110,120,0.30);
border-color: rgba(190,110,120,0.45);
}
/* Audio */
#pulseaudio:hover {
background-color: rgba(190,160,110,0.20);
border-color: rgba(190,160,110,0.28);
}
#pulseaudio.muted {
background-color: rgba(140,170,190,0.18);
border-color: rgba(140,170,190,0.26);
color: @fg-dim;
}
#wireplumber.muted {
background-color: rgba(190,110,120,0.28);
border-color: rgba(190,110,120,0.40);
}
/* Temperature */
#temperature.critical {
background-color: rgba(190,110,120,0.30);
border-color: rgba(190,110,120,0.45);
}
/* Tray */
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: rgba(190,110,120,0.30);
border-radius: 10px;
}
/* Idle inhibitor */
#idle_inhibitor.activated {
background-color: rgba(255,255,255,0.10);
border-color: rgba(255,255,255,0.14);
color: @fg;
}
/* Scratchpad */
#scratchpad {
background: rgba(255,255,255,0.05);
}
#scratchpad.empty {
background-color: transparent;
border-color: transparent;
}
/* Privacy */
#privacy {
padding: 0;
background-color: transparent;
border-color: transparent;
}
#privacy-item {
padding: 0 6px;
color: @fg;
}
#privacy-item.screenshare {
background-color: rgba(190,160,110,0.30);
border-color: rgba(190,160,110,0.40);
}
#privacy-item.audio-in {
background-color: rgba(120,170,140,0.25);
border-color: rgba(120,170,140,0.36);
}
#privacy-item.audio-out {
background-color: rgba(140,170,190,0.25);
border-color: rgba(140,170,190,0.36);
}
+6
View File
@@ -0,0 +1,6 @@
[default]
path = "~/.config/wpaperd/wallpapers/linked"
mode = "center"
#recursive = true
#sorting = "random"
#duration = "15m"
Binary file not shown.

After

Width:  |  Height:  |  Size: 975 KiB

@@ -0,0 +1,5 @@
[preferred]
default=hyprland;gtk;kde;
org.freedesktop.impl.portal.OpenURI=gtk;kde;
org.freedesktop.impl.portal.FileChooser=gtk;kde;
org.freedesktop.impl.portal.Settings=gtk;kde;
@@ -0,0 +1,97 @@
numchr 96
*0 0001 0001 0004 0010 //
*1 0000 0012 0003 0021 //!
*2 0001 0023 0004 0032 //"
*3 0001 0034 0006 0043 //#
*4 0001 0045 0006 0054 //$
*5 0001 0056 0010 0065 //%
*6 0001 0067 0007 0076 //&
*7 0001 0078 0002 0087 //'
*8 0001 0089 0003 0098 //(
*9 0001 0100 0003 0109 //)
*10 0001 0111 0004 0120 //*
*11 0001 0122 0005 0131 //+
*12 0001 0133 0002 0142 //,
*13 0001 0144 0003 0153 //-
*14 0001 0155 0002 0164 //.
*15 0001 0166 0005 0175 ///
*16 0001 0177 0006 0186 //0
*17 0000 0188 0005 0197 //1
*18 0001 0199 0006 0208 //2
*19 0002 0210 0007 0219 //3
*20 0002 0221 0007 0230 //4
*21 0001 0232 0006 0241 //5
*22 0001 0243 0006 0252 //6
*23 0002 0254 0007 0263 //7
*24 0001 0265 0006 0274 //8
*25 0001 0276 0006 0285 //9
*26 0001 0287 0002 0296 //:
*27 0001 0298 0003 0307 //;
*28 0001 0309 0004 0318 //<
*29 0001 0320 0005 0329 //=
*30 0001 0331 0004 0340 //>
*31 0001 0342 0006 0351 //?
*32 0001 0353 0007 0362 //@
*33 0001 0364 0007 0373 //A
*34 0001 0375 0007 0384 //B
*35 0001 0386 0006 0395 //C
*36 0001 0397 0007 0406 //D
*37 0001 0408 0006 0417 //E
*38 0001 0419 0006 0428 //F
*39 0001 0430 0006 0439 //G
*40 0001 0441 0007 0450 //H
*41 0001 0452 0003 0461 //I
*42 0001 0463 0007 0472 //J
*43 0001 0474 0007 0483 //K
*44 0001 0485 0005 0494 //L
*45 0001 0496 0008 0505 //M
*46 0001 0507 0007 0516 //N
*47 0001 0518 0007 0527 //O
*48 0001 0529 0006 0538 //P
*49 0001 0540 0007 0549 //Q
*50 0001 0551 0007 0560 //R
*51 0001 0562 0006 0571 //S
*52 0001 0573 0007 0582 //T
*53 0001 0584 0007 0593 //U
*54 0001 0595 0007 0604 //V
*55 0001 0606 0008 0615 //W
*56 0001 0617 0006 0626 //X
*57 0002 0628 0008 0637 //Y
*58 0001 0639 0006 0648 //Z
*59 0001 0650 0003 0659 //[
*60 0001 0661 0005 0670 //\
*61 0001 0672 0003 0681 //]
*62 0001 0683 0005 0692 //^
*63 0001 0694 0006 0703 //_
*64 0001 0705 0003 0714 //`
*65 0002 0716 0006 0725 //a
*66 0001 0727 0005 0736 //b
*67 0002 0738 0006 0747 //c
*68 0002 0749 0006 0758 //d
*69 0002 0760 0006 0769 //e
*70 0002 0771 0005 0780 //f
*71 0002 0782 0006 0791 //g
*72 0001 0793 0006 0802 //h
*73 0001 0804 0003 0813 //i
*74 0001 0815 0003 0824 //j
*75 0001 0826 0005 0835 //k
*76 0001 0837 0003 0846 //l
*77 0001 0848 0008 0857 //m
*78 0001 0859 0006 0868 //n
*79 0002 0870 0006 0879 //o
*80 0001 0881 0006 0890 //p
*81 0002 0892 0006 0901 //q
*82 0001 0903 0004 0912 //r
*83 0001 0914 0005 0923 //s
*84 0002 0925 0005 0934 //t
*85 0001 0936 0006 0945 //u
*86 0002 0947 0006 0956 //v
*87 0002 0958 0008 0967 //w
*88 0001 0969 0005 0978 //x
*89 0001 0980 0006 0989 //y
*90 0001 0991 0005 1000 //z
*91 0001 1002 0004 1011 //{
*92 0001 1013 0002 1022 //|
*93 0001 1024 0004 1033 //}
*94 0001 1035 0005 1044 //~
*95 0001 1046 0010 1055 //
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

@@ -0,0 +1,97 @@
numchr 96
*0 0001 0001 0004 0010 //
*1 0000 0012 0003 0021 //!
*2 0001 0023 0004 0032 //"
*3 0001 0034 0006 0043 //#
*4 0001 0045 0006 0054 //$
*5 0001 0056 0010 0065 //%
*6 0001 0067 0007 0076 //&
*7 0001 0078 0002 0087 //'
*8 0001 0089 0003 0098 //(
*9 0001 0100 0003 0109 //)
*10 0001 0111 0004 0120 //*
*11 0001 0122 0005 0131 //+
*12 0001 0133 0002 0142 //,
*13 0001 0144 0003 0153 //-
*14 0001 0155 0002 0164 //.
*15 0001 0166 0005 0175 ///
*16 0001 0177 0006 0186 //0
*17 0002 0188 0005 0197 //1
*18 0001 0199 0006 0208 //2
*19 0002 0210 0007 0219 //3
*20 0002 0221 0007 0230 //4
*21 0001 0232 0006 0241 //5
*22 0001 0243 0006 0252 //6
*23 0002 0254 0007 0263 //7
*24 0001 0265 0006 0274 //8
*25 0001 0276 0007 0285 //9
*26 0001 0287 0002 0296 //:
*27 0001 0298 0003 0307 //;
*28 0001 0309 0004 0318 //<
*29 0001 0320 0005 0329 //=
*30 0001 0331 0004 0340 //>
*31 0001 0342 0006 0351 //?
*32 0001 0353 0007 0362 //@
*33 0001 0364 0007 0373 //A
*34 0001 0375 0007 0384 //B
*35 0001 0386 0006 0395 //C
*36 0001 0397 0007 0406 //D
*37 0001 0408 0006 0417 //E
*38 0001 0419 0006 0428 //F
*39 0001 0430 0006 0439 //G
*40 0001 0441 0007 0450 //H
*41 0001 0452 0003 0461 //I
*42 0001 0463 0007 0472 //J
*43 0001 0474 0007 0483 //K
*44 0001 0485 0005 0494 //L
*45 0001 0496 0008 0505 //M
*46 0001 0507 0007 0516 //N
*47 0001 0518 0007 0527 //O
*48 0001 0529 0006 0538 //P
*49 0001 0540 0007 0549 //Q
*50 0001 0551 0007 0560 //R
*51 0001 0562 0006 0571 //S
*52 0001 0573 0007 0582 //T
*53 0001 0584 0007 0593 //U
*54 0001 0595 0007 0604 //V
*55 0001 0606 0008 0615 //W
*56 0001 0617 0006 0626 //X
*57 0002 0628 0008 0637 //Y
*58 0001 0639 0006 0648 //Z
*59 0001 0650 0003 0659 //[
*60 0001 0661 0005 0670 //\
*61 0001 0672 0003 0681 //]
*62 0001 0683 0005 0692 //^
*63 0001 0694 0006 0703 //_
*64 0001 0705 0003 0714 //`
*65 0002 0716 0006 0725 //a
*66 0001 0727 0005 0736 //b
*67 0002 0738 0006 0747 //c
*68 0002 0749 0006 0758 //d
*69 0002 0760 0006 0769 //e
*70 0002 0771 0005 0780 //f
*71 0002 0782 0006 0791 //g
*72 0001 0793 0006 0802 //h
*73 0001 0804 0003 0813 //i
*74 0001 0815 0003 0824 //j
*75 0001 0826 0005 0835 //k
*76 0001 0837 0003 0846 //l
*77 0001 0848 0008 0857 //m
*78 0001 0859 0006 0868 //n
*79 0002 0870 0006 0879 //o
*80 0001 0881 0006 0890 //p
*81 0002 0892 0006 0901 //q
*82 0001 0903 0004 0912 //r
*83 0001 0914 0005 0923 //s
*84 0002 0925 0005 0934 //t
*85 0001 0936 0006 0945 //u
*86 0002 0947 0006 0956 //v
*87 0002 0958 0008 0967 //w
*88 0001 0969 0005 0978 //x
*89 0001 0980 0006 0989 //y
*90 0001 0991 0005 1000 //z
*91 0001 1002 0004 1011 //{
*92 0001 1013 0002 1022 //|
*93 0001 1024 0004 1033 //}
*94 0001 1035 0005 1044 //~
*95 0001 1046 0010 1055 //
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

@@ -0,0 +1,96 @@
numchr 95
*0 0001 0001 0004 0014 //
*1 0001 0016 0003 0029 //!
*2 0001 0031 0007 0044 //"
*3 0001 0046 0009 0059 //#
*4 0001 0061 0008 0074 //$
*5 0001 0076 0013 0089 //%
*6 0001 0091 0010 0104 //&
*7 0001 0106 0003 0119 //'
*8 0001 0121 0004 0134 //(
*9 0001 0136 0004 0149 //)
*10 0001 0151 0006 0164 //*
*11 0001 0166 0007 0179 //+
*12 0001 0181 0003 0194 //,
*13 0001 0196 0005 0209 //-
*14 0001 0211 0004 0224 //.
*15 0001 0226 0007 0239 ///
*16 0001 0241 0009 0254 //0
*17 0001 0256 0005 0269 //1
*18 0001 0271 0008 0284 //2
*19 0001 0286 0008 0299 //3
*20 0001 0301 0009 0314 //4
*21 0001 0316 0009 0329 //5
*22 0001 0331 0009 0344 //6
*23 0001 0346 0008 0359 //7
*24 0001 0361 0008 0374 //8
*25 0001 0376 0009 0389 //9
*26 0001 0391 0003 0404 //:
*27 0001 0406 0004 0419 //;
*28 0001 0421 0006 0434 //<
*29 0001 0436 0007 0449 //=
*30 0001 0451 0005 0464 //>
*31 0001 0466 0008 0479 //?
*32 0001 0481 0011 0494 //@
*33 0001 0496 0010 0509 //A
*34 0001 0511 0009 0524 //B
*35 0001 0526 0008 0539 //C
*36 0001 0541 0009 0554 //D
*37 0001 0556 0008 0569 //E
*38 0001 0571 0007 0584 //F
*39 0001 0586 0009 0599 //G
*40 0001 0601 0009 0614 //H
*41 0001 0616 0003 0629 //I
*42 0001 0631 0009 0644 //J
*43 0001 0646 0009 0659 //K
*44 0001 0661 0008 0674 //L
*45 0001 0676 0011 0689 //M
*46 0001 0691 0009 0704 //N
*47 0001 0706 0009 0719 //O
*48 0001 0721 0008 0734 //P
*49 0001 0736 0010 0749 //Q
*50 0001 0751 0009 0764 //R
*51 0001 0766 0009 0779 //S
*52 0001 0781 0009 0794 //T
*53 0001 0796 0008 0809 //U
*54 0001 0811 0010 0824 //V
*55 0001 0826 0011 0839 //W
*56 0001 0841 0010 0854 //X
*57 0001 0856 0009 0869 //Y
*58 0001 0871 0008 0884 //Z
*59 0001 0886 0005 0899 //[
*60 0001 0901 0007 0914 //\
*61 0001 0916 0004 0929 //]
*62 0001 0931 0007 0944 //^
*63 0001 0946 0008 0959 //_
*64 0001 0961 0004 0974 //`
*65 0002 0976 0008 0989 //a
*66 0001 0991 0008 1004 //b
*67 0001 1006 0007 1019 //c
*68 0001 1021 0007 1034 //d
*69 0002 1036 0008 1049 //e
*70 0002 1051 0006 1064 //f
*71 0002 1066 0008 1079 //g
*72 0001 1081 0008 1094 //h
*73 0001 1096 0004 1109 //i
*74 0001 1111 0005 1124 //j
*75 0001 1126 0007 1139 //k
*76 0001 1141 0004 1154 //l
*77 0001 1156 0012 1169 //m
*78 0001 1171 0008 1184 //n
*79 0002 1186 0008 1199 //o
*80 0001 1201 0007 1214 //p
*81 0001 1216 0007 1229 //q
*82 0001 1231 0006 1244 //r
*83 0001 1246 0007 1259 //s
*84 0001 1261 0006 1274 //t
*85 0001 1276 0008 1289 //u
*86 0001 1291 0008 1304 //v
*87 0002 1306 0011 1319 //w
*88 0001 1321 0008 1334 //x
*89 0001 1336 0008 1349 //y
*90 0001 1351 0007 1364 //z
*91 0001 1366 0005 1379 //{
*92 0001 1381 0003 1394 //|
*93 0001 1396 0006 1409 //}
*94 0001 1411 0007 1424 //~
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 909 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

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