Compare commits

..

215 commits

Author SHA1 Message Date
Leon Grünewald
4253af6070 Override gzdoom.ini 2024-08-12 19:23:55 +02:00
Leon Grünewald
b1e9cbf32a Add fish to tmux 2024-08-11 13:31:28 +02:00
Leon Grünewald
8419b5e547 Add tmux to alacritty 2024-08-11 13:21:56 +02:00
Leon Grünewald
63b7d63120 Update alacritty.toml 2024-08-06 17:12:16 +02:00
Leon Grünewald
3f22ca2fab omf: Add deno path 2024-08-06 17:02:58 +02:00
Leon Grünewald
6fa4e63bee Add alacritty and new .vimrc 2024-08-06 17:01:25 +02:00
Leon Grünewald
6879351865 Disable systemd user services by default 2024-07-20 09:08:15 +02:00
Leon Grünewald
7c94414b1e Remove picom and keynav config 2024-07-20 09:08:15 +02:00
Leon Grünewald
5d5402f1b3 fish: Add .cargo to path 2024-04-29 13:34:54 +02:00
Leon Grünewald
eb10c26ac2 Systemd: Add syncthing want for user 2024-04-29 12:15:52 +02:00
Leon Grünewald
4e4d30fc8b ntfy: Add notification for bonmercato 2024-04-29 12:15:33 +02:00
Leon Grünewald
ebd5a2627f Change path for PNPM to $HOME 2024-04-22 11:58:40 +02:00
Leon Grünewald
8158ddb2a2 Add pnpm 2024-04-22 11:58:09 +02:00
Leon Grünewald
fbf5500013 Teams: Use RPM instead of Flatpak 2024-04-04 10:47:27 +02:00
Leon Grünewald
4043a451be Vim: Keep selection when changing indent 2024-04-04 10:46:44 +02:00
Leon Grünewald
f43db4d7a9 Update shell configs 2024-03-11 12:18:02 +01:00
Leon Grünewald
2c7fa84ca0 Use github email in gitconfig 2024-03-07 13:53:33 +01:00
Leon Grünewald
bac35f5254 Remove alerts from ntfy 2024-03-07 13:53:00 +01:00
Leon Grünewald
c4d46e4cf8 Add vimrc to shell 2024-03-07 13:53:00 +01:00
Leon Grünewald
140083567d Fix docker compose shortcuts 2024-03-07 13:53:00 +01:00
Leon Grünewald
bd3cbd1c20 Add fzf 2024-02-24 22:09:30 +01:00
Leon Grünewald
978d153b9f Turn into alias 2024-02-23 10:13:36 +01:00
Leon Grünewald
6e4efd8af6 Add ws abbr 2024-02-23 10:10:24 +01:00
Leon Grünewald
156094a9ce Add basic aliases and exports to init omf 2024-02-22 12:09:19 +01:00
Leon Grünewald
c8c40ec1b4 Move ntfy to desktop again 2024-02-22 12:06:31 +01:00
Leon Grünewald
9d55d3faaf Add omf config 2024-02-22 12:01:48 +01:00
Leon Grünewald
30dbbf3052 Update ntfy 2024-02-22 11:58:13 +01:00
Leon Grünewald
ffe6698ac4 Fix up zsh config 2024-02-22 11:57:35 +01:00
Leon Grünewald
ebc4b51cbe Add pipewire session manager and wireplumber for arch 2024-02-15 13:11:24 +01:00
Leon Grünewald
8a959fba18 Use unnamedplus to fix clipboard 2024-02-15 13:10:22 +01:00
Leon Grünewald
da9c2eb765 Make config less scattered 2024-02-15 13:10:06 +01:00
Leon Grünewald
2c953705f6 Add missing enabled services 2023-11-24 14:05:30 +01:00
Leon Grünewald
9458fb3129 Add teams and thunderbird to autostart 2023-11-17 10:49:34 +01:00
Leon Grünewald
49001711a8 Use work e-mail for mail 2023-11-17 10:49:34 +01:00
77d8ad2b8a Remove .gitmodules 2023-11-13 18:51:14 +01:00
7c9a23b37f Add pnpm to .zshrc 2023-11-13 18:48:38 +01:00
dcf6843593 Remove KeePassXC from autostart 2023-11-13 18:47:33 +01:00
9a3375a26e Update with configs from work PC 2023-11-13 08:38:01 +01:00
ef96a4aa91 Fix NVIM 2023-11-13 08:29:51 +01:00
33482938c1 Add .profile 2023-11-12 20:04:37 +01:00
014dadb86b Remove pulse config since its not needed 2023-11-12 19:36:25 +01:00
54c335c378 Move configs to .config 2023-11-12 19:32:00 +01:00
Leon Grünewald
f5f0261f44 Split between desktop and shell 2023-11-12 19:23:55 +01:00
Leon Grünewald
cbdd1ecf16 Try to use git stow 2023-11-12 19:12:59 +01:00
Leon Grünewald
1326d04bdf Remove nvim config 2023-05-08 16:19:34 +02:00
Leon Grünewald
740ad06041 Free vimrc from stupid ide garbage 2023-05-08 16:18:10 +02:00
Leon Grünewald
c40ba9f00b Add nushell and posh config 2023-05-05 16:19:51 +02:00
Leon Grünewald
0980c627ea Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2023-01-07 17:28:45 +01:00
Leon Grünewald
731e57b71d Edit backup 2023-01-07 17:28:13 +01:00
Leon Grünewald
4bad5a9749 Get rid of unconditional cargo import 2022-12-27 18:29:08 +01:00
Leon Grünewald
cc6d7a300a Add warpd service 2022-12-27 18:29:08 +01:00
Leon Grünewald
98033d9a8b Add Backup Script 2022-12-20 14:26:58 +01:00
Leon Grünewald
1a4f0fbf24 Add ntfy config 2022-11-14 11:26:37 +01:00
Leon Grünewald
1ac4972841 Fix vim 2022-11-14 11:25:16 +01:00
Leon Grünewald
5455912565 Fix up systemd and autostart 2022-11-13 21:52:08 +01:00
Leon Grünewald
127a9d7f9f Delete keynavrc, warpd is better 2022-10-16 13:16:43 +02:00
Leon Grünewald
ec686cdcd3 Move Orgmode 2022-10-05 12:51:20 +02:00
Leon Grünewald
a9f97569a5 Add org mode 2022-10-04 11:23:33 +02:00
Leon Grünewald
0c2859a39d Add snippets and try to fix up diff some more 2022-10-04 11:22:50 +02:00
Leon Grünewald
6efcae5172 Update .vimrc 2022-09-16 09:21:09 +02:00
Leon Grünewald
870991d993 Remove doom emacs install 2022-07-05 00:47:22 +02:00
Leon Grünewald
17dc3cb9a1 Remove Telegram desktop and replace mlocate with plocate 2022-07-05 00:45:44 +02:00
Leon Grünewald
81541a0486 Add LSP installer 2022-05-27 11:37:48 +02:00
Leon Grünewald
c71fde1a01 Add LSP Extensions and LspInstall 2022-05-26 10:52:46 +02:00
Leon Grünewald
ffe4446da4 Add php 7.4 to env 2022-05-12 17:27:33 +02:00
Leon Grünewald
c4dc8aa902 Add android, fix open alias on MacOS 2022-04-28 10:41:40 +02:00
Leon Grünewald
df9619122c Fix up color scheme 2022-04-10 15:43:53 +02:00
Leon Grünewald
8dfabd16d6 Remove double plugin 2022-04-10 15:43:53 +02:00
Leon Grünewald
71068e75af Add .ddev commands 2022-04-07 16:21:25 +02:00
Leon Grünewald
9359e764d8 Delete awesomewm config since we are moving to wayland 2022-04-07 15:27:33 +02:00
Leon Grünewald
dbcf9e2208 Update config to make stuff more functional and comfy with nvim plugs 2022-04-04 21:48:03 +02:00
Leon Grünewald
8e565f08c9 Add extendedglob to config 2022-03-28 15:22:35 +02:00
Leon Grünewald
fb18e89b6d Add UTF-8 to .vimrc 2022-03-24 12:04:09 +01:00
Leon Grünewald
ddf0c94016 Add cargo to .zshenv 2022-03-09 22:54:16 +01:00
Leon Grünewald
6bfbe713a5 Sync new desktop files 2022-03-09 22:52:58 +01:00
Leon Grünewald
58a35c1730 Fix up NeoVim config for new .vimrc 2022-03-09 22:51:30 +01:00
Leon Grünewald
4725220ba7 Overwrite .vimrc for C++ development and better LSP 2022-03-09 22:50:32 +01:00
Leon Grünewald
a3cfc2432b Change some applications 2022-01-09 02:45:05 +01:00
Leon Grünewald
75f565a01e Add timewarrior package 2022-01-07 09:48:19 +01:00
Leon Grünewald
61ac847dc4 Remove unused aliases 2021-12-04 15:19:26 +01:00
Leon Grünewald
8b1c3062e2 Modify install-light for Mac OS 2021-11-08 15:05:43 +01:00
Leon Grünewald
1a82638336 Add MAKEOPTS for Mac OS 2021-11-08 15:03:34 +01:00
Leon Grünewald
d2191564a4 Add -O2 to compile 2021-10-07 01:39:23 +02:00
Leon Grünewald
e1f9022b4e Fix march native 2021-10-07 01:00:14 +02:00
Leon Grünewald
b64816fab9 Add .zshenv 2021-10-07 00:21:26 +02:00
Leon Grünewald
4f2016d827 Add C and CXX flags 2021-10-07 00:19:52 +02:00
Leon Grünewald
e60081a69d Clean up scripts a bit 2021-10-07 00:16:38 +02:00
Leon Grünewald
52955ddbbf Remove graphics utils from installer since stuff is not needed anymore 2021-10-06 21:51:45 +02:00
Leon Grünewald
ac70bced54 Remove mouse speed because it fucks with games 2021-09-09 22:49:14 +02:00
Leon Grünewald
7b9221610c Move .zprofile to .zshenv 2021-09-07 13:19:31 +02:00
Leon Grünewald
e26fa5ecdc Move export editor 2021-09-07 13:17:16 +02:00
Leon Grünewald
7761cf1ecd Copy .zprofile 2021-09-07 12:33:21 +02:00
Leon Grünewald
00bc5ff257 Move more stuff to the profile for Gnome 2021-09-05 20:50:18 +02:00
Leon Grünewald
7bfc26e61e Move exports out of env and change default font 2021-09-05 20:42:48 +02:00
Leon Grünewald
edf295ab6c Update profile 2021-09-05 20:42:07 +02:00
Leon Grünewald
c99e12db24 Add proper font config 2021-09-05 19:30:44 +02:00
Leon Grünewald
05fcb2fb50 Add kitty and colorizer 2021-08-30 17:16:19 +02:00
Leon Grünewald
2f69cd2ed6 Nicer completion settings 2021-08-29 20:41:41 +02:00
Leon Grünewald
bf729262cc Clean up vim config and WIP autocomplete 2021-08-29 20:20:36 +02:00
Leon Grünewald
f85dc5cce3 Move things and add script to auto copy config files 2021-08-29 18:37:58 +02:00
Leon Grünewald
cae9ec5030 Add font to kitty and add options for C++ 2021-08-28 12:22:05 +02:00
Leon Grünewald
b33a4ad59c Set default branch to master 2021-08-24 17:55:06 +02:00
Leon Grünewald
73189456df Add new doom file and kitty config 2021-08-24 10:19:10 +02:00
Leon Grünewald
7a2509b46f Add force for cp 2021-08-08 18:09:47 +02:00
Leon Grünewald
08a669a939 Update submodules 2021-08-06 11:49:51 +02:00
Leon Grünewald
96a436319f Add autorandr to xsession 2021-08-06 11:33:14 +02:00
Leon Grünewald
5a68aac719 Update .zshrc, .ideavimrc and add Nextcloud back 2021-07-02 11:10:12 +02:00
Leon Grünewald
26f951e7ec Move ~/bin to ~/.local/bin 2021-06-23 23:25:28 +02:00
Leon Grünewald
ae043aa9f4 Exec .xsession at boot 2021-06-23 22:11:43 +02:00
Leon Grünewald
83d8610df4 Update vim config with new plugins 2021-05-31 12:44:27 +02:00
Leon Grünewald
d7f0cfed73 Remove minibufexpl 2021-05-21 19:49:13 +02:00
Leon Grünewald
2fffd85374 Fixup xsession 2021-05-10 10:22:28 +02:00
Leon Grünewald
c185a87d08 Update perms 2021-05-09 19:45:36 +02:00
Leon Grünewald
80693b9a5c Fix install script 2021-05-09 19:44:41 +02:00
Leon Grünewald
75dc96747e Move stuff and update install 2021-05-09 19:10:24 +02:00
Leon Grünewald
9fa66ff5d0 Add picom config 2021-04-05 15:07:01 +02:00
Leon Grünewald
2d7adf75d1 Remove nextcloud from autostart 2021-04-03 15:05:26 +02:00
Leon Grünewald
257396a78c Reconfigure autostart 2021-04-02 14:53:40 +02:00
Leon Grünewald
fef026c3cd Add Keynav 2021-03-29 11:41:00 +02:00
Leon Grünewald
eec7d8e602 Remove plugins I never use and move stuff into neo vim for LSP 2021-03-21 18:20:16 +01:00
Leon Grünewald
3f54411d7b Put dependency install where it belongs 2021-03-21 17:18:51 +01:00
Leon Grünewald
1ba088eac3 Fix singular screen issue 2021-03-05 14:00:50 +01:00
Leon Grünewald
829653e9d2 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2021-02-18 22:29:01 +01:00
Leon Grünewald
b21034f1d8 Sync emacs config and add sqlite for dnf 2021-02-18 22:25:48 +01:00
Leon Grünewald
c460a39138 Fix shebang and clear autostart before install 2021-02-17 10:44:11 +01:00
Leon Grünewald
5b0d740bc7 Let systemd handle what we want 2021-02-15 10:49:59 +01:00
Leon Grünewald
06afd4066b Just use nvim, its faster 2021-02-15 01:31:45 +01:00
Leon Grünewald
a4fe85be41 ln .vimrc to neovim 2021-02-15 01:23:23 +01:00
Leon Grünewald
28be269255 ctrlp search hidden files 2021-02-15 01:20:42 +01:00
Leon Grünewald
dda7fb4565 Add neovim support 2021-02-15 01:19:18 +01:00
Leon Grünewald
43e1833d57 Add nautilus 2021-02-14 19:46:38 +01:00
Leon Grünewald
fe48ad1a5c Try dialog 2021-02-14 19:26:39 +01:00
Leon Grünewald
02952b1db8 Move stuff in places where it seems right 2021-02-14 18:33:04 +01:00
Leon Grünewald
67c70f7f8f Clean up install.sh 2021-02-14 18:25:12 +01:00
Leon Grünewald
f211b03e46 Move graphical stuff into seperate file 2021-02-14 18:22:27 +01:00
Leon Grünewald
363400aa05 Fix some autostart stuff and add config 2021-02-14 16:44:14 +01:00
Leon Grünewald
c8f1362178 Add more needed stuff and let oh my zsh installer take care of shell 2021-02-11 00:05:20 +01:00
Leon Grünewald
f3e41aef62 Add missing stuff to install.sh 2021-02-06 19:14:27 +01:00
Leon Grünewald
84f1856f00 Move Firefox to a better screen, change tag names 2021-02-01 14:19:07 +01:00
Leon Grünewald
d63d5eeb3c Add permanent gap 2021-02-01 14:05:46 +01:00
Leon Grünewald
626141fbcd Notify when done installing 2021-02-01 10:44:22 +01:00
Leon Grünewald
7968207785 Copy doom 2021-02-01 10:36:00 +01:00
Leon Grünewald
00f85cf9e4 Delete dependency folders 2021-02-01 10:34:16 +01:00
Leon Grünewald
1bda44376a Fix install-light 2021-02-01 10:33:37 +01:00
Leon Grünewald
1b7e6944d2 Add audio mixer 2021-01-30 18:39:06 +01:00
Leon Grünewald
cdfbc6e307 remove dropdown 2021-01-30 17:38:35 +01:00
Leon Grünewald
f59fa65eee Clean up awesome, add utils, remove vterm and add some more to emacs 2021-01-30 17:37:50 +01:00
Leon Grünewald
f022689a83 Add ibus 2021-01-24 16:04:29 +01:00
Leon Grünewald
0b7d853a7b Remove urxvt and unclutter because fedora doesnt provide it 2021-01-24 14:55:55 +01:00
Leon Grünewald
7f15568678 Add missing repos for Fedora everything 2021-01-24 14:49:56 +01:00
Leon Grünewald
a0b95ad5bc Add fonts install 2021-01-24 03:56:24 +01:00
Leon Grünewald
c78091015d Add guake properly 2021-01-24 03:22:25 +01:00
Leon Grünewald
8bda06f7fc Optimize Install Process 2021-01-24 03:06:14 +01:00
Leon Grünewald
9a2ae347ef Merge branch 'master' of https://git.doggoat.de/dhalucario/devconf 2021-01-24 02:05:20 +01:00
Leon Grünewald
0865522a8f Install oh my zsh manually 2021-01-24 02:04:57 +01:00
Leon Grünewald
b862d29459 Install oh my zsh manually 2021-01-16 11:28:48 +01:00
Leon Grünewald
383647afdb Move xinput stuff to .profile 2021-01-16 11:25:27 +01:00
Leon Grünewald
0dbf6b2322 Add some XDG stuff to .profile 2021-01-04 11:25:10 +01:00
Leon Grünewald
8f7d0927f2 Fix permissions for jetbrains 2021-01-04 11:03:48 +01:00
Leon Grünewald
237067a246 Remove autostart since its there already, add picom 2021-01-04 11:02:25 +01:00
Leon Grünewald
45205219d9 Remove gnome keyring entries 2021-01-04 11:00:25 +01:00
Leon Grünewald
0ff8589b3d Clean up desktop file 2021-01-04 10:57:52 +01:00
Leon Grünewald
e993394ff0 Fix picom desktop file 2021-01-04 10:33:18 +01:00
Leon Grünewald
ef601036e3 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2021-01-04 10:28:12 +01:00
Leon Grünewald
287e5acdb2 Add Picom and KeePass to autostart 2021-01-04 10:27:35 +01:00
Leon Grünewald
deb9ab8576 Nah, I think I am good 2020-12-24 13:31:09 +01:00
Leon Grünewald
b2753bc422 Test new install 2020-12-24 13:27:38 +01:00
Leon Grünewald
2c6ab3bf5a Add mpv start script download 2020-12-24 13:20:57 +01:00
Leon Grünewald
79655efc1f Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-12-24 13:17:18 +01:00
Leon Grünewald
9ec2ffac8b Add native messaging host for youtube mpv 2020-12-24 13:16:49 +01:00
Leon Grünewald
9706f82e8e Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-11-27 14:38:57 +01:00
Leon Grünewald
6ab96129d5 Add default for mysql 2020-11-27 14:38:40 +01:00
Leon Grünewald
cb14dd8ec3 Add zsh to basic stuff 2020-11-26 13:58:00 +01:00
Leon Grünewald
e2e02fa768 Add gitconfig 2020-11-26 13:57:10 +01:00
Leon Grünewald
e126b7bd6a Move really important stuff into separate block 2020-11-26 13:52:04 +01:00
Leon Grünewald
e3c2a71c94 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-11-23 12:57:08 +01:00
Leon Grünewald
971c09083b Update aliases 2020-11-23 12:56:57 +01:00
Leon Grünewald
68245ca45f Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf into master 2020-11-09 20:08:51 +01:00
Leon Grünewald
3b457f947e Add zandronum 2020-11-09 20:08:34 +01:00
Leon Grünewald
f4198fefc7 Add cisco h264 2020-10-22 13:48:41 +02:00
Leon Grünewald
393d07aeec Fix typo 2020-10-19 12:43:06 +02:00
Leon Grünewald
5944967643 Add vterm and treemacs 2020-10-19 10:35:09 +02:00
Leon Grünewald
a13591224c Add some formatting and IBAN 2020-10-16 13:45:02 +02:00
Leon Grünewald
90d79845fd Save signature and make it really pretty 2020-10-16 13:37:27 +02:00
Leon Grünewald
2802acfe0a Update work signature 2020-10-16 13:14:37 +02:00
Leon Grünewald
f1dce61f03 Add .profile 2020-10-14 16:42:13 +02:00
Leon Grünewald
a995b00f1b Add some more emacs modules 2020-10-13 12:30:21 +02:00
Leon Grünewald
3c436c7879 Remove workspace folder, is automatically created anyway 2020-10-13 12:20:26 +02:00
Leon Grünewald
75b938a46d Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-10-13 12:18:39 +02:00
Leon Grünewald
5fa96093b6 Add Doom Emacs config 2020-10-13 12:18:18 +02:00
Leon Grünewald
8b1aa5288b Remove / 2020-10-08 19:25:36 +02:00
Leon Grünewald
0f50309288 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-10-08 19:24:41 +02:00
Leon Grünewald
e86d9d292a Add langs, fuck with install to add more langs and split base pkgs 2020-10-08 12:59:13 +02:00
Leon Grünewald
4edf398a99 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-09-28 14:54:35 +02:00
Leon Grünewald
5f3fb9a142 Remove gutentags ffs 2020-09-22 15:33:37 +02:00
Leon
1a318583e5 Only start user shit 2020-09-09 09:39:03 +02:00
Leon Grünewald
00c8beb6b2 Add more autostart and only autostart shit from the user dir 2020-09-07 22:32:19 +02:00
Leon
17c849341e Update ReadMe 2020-09-01 14:09:57 +02:00
Leon
f78861713e Split installer even more 2020-09-01 14:06:41 +02:00
Leon
c82a74dde5 Remove problematic stuff 2020-09-01 14:01:35 +02:00
Leon
a432400ee9 Add RPMFusion 2020-09-01 13:59:34 +02:00
Leon
8a1d65be14 Add and move stuff install script 2020-09-01 13:56:00 +02:00
Leon
ae65165402 Add dex-autostart install script 2020-09-01 13:38:50 +02:00
Leon
37ff5a1e97 Autorun dex-autostart -a 2020-09-01 13:35:22 +02:00
Leon
7b10f48b6a Change some keybinds for audio and window changing related stuff 2020-09-01 13:12:01 +02:00
Leon Grünewald
c1c2fab5d3 Add device settings 2020-08-30 11:03:18 +02:00
Leon Grünewald
afe44419d9 Update submodules to latest master 2020-08-18 13:15:11 +02:00
Leon Grünewald
794069a7bf Add guake to autostart 2020-08-14 10:54:09 +02:00
Leon Grünewald
d8f806cd88 Add stuff to autostart, still missing guake 2020-08-14 10:53:30 +02:00
Leon Grünewald
c3cbfded33 Remove alt-n shortcut, tf 2020-08-06 14:33:44 +02:00
Leon Grünewald
3693aade09 Change .vimrc stuff 2020-08-06 14:33:14 +02:00
Leon Grünewald
9d189fb67c Remove bat instead of cat 2020-07-31 21:20:16 +02:00
Leon Grünewald
8bb7aa3ad7 Merge remote-tracking branch 'origin/devel' 2020-07-31 21:18:36 +02:00
Leon Grünewald
a91943d079 Merge branch 'master' of ssh://git.doggoat.de:42/dhalucario/devconf 2020-07-31 21:15:17 +02:00
Leon Grünewald
7d70d1090f Add menubar 2020-07-22 00:25:49 +02:00
122 changed files with 4531 additions and 1564 deletions

View file

@ -1,13 +0,0 @@
local awful = require("awful")
function flameshot_gui()
awful.spawn("flameshot gui")
end
function flameshot_screen()
awful.spawn("flameshot screen --clipboard")
end
function flameshot_full()
awful.spawn("flameshot full --clipboard")
end

View file

@ -1,24 +0,0 @@
local awful = require("awful")
local naughty = require("naughty")
local session_type = os.getenv("XDG_SESSION_TYPE");
if session_type == nil or session_type == "" then
session_type = "x11"
end
function decode_clipboard_x11()
naughty.notify({ text = "Decoding PGP message" })
awful.spawn.with_shell("xclip -selection clipboard -out | sed 's/^ *//g' | gpg2 -d | gvim -")
end
function decode_clipboard_wayland()
-- TODO: Implement this when needed. wl-clipboard can be used here
end
function decode_clipboard()
if session_type == "x11" then
decode_clipboard_x11()
else
decode_clipboard_wayland()
end
end

View file

@ -1,4 +0,0 @@
local awful = require("awful")
awful.spawn("nextcloud")
awful.spawn("guake")

@ -1 +0,0 @@
Subproject commit dc0a18c2c35a0cf888b5968115df810b90db91cf

@ -1 +0,0 @@
Subproject commit e0bffc00566fbc0c05dc01700c569a589a6900eb

View file

@ -1,811 +0,0 @@
--[[
Awesome WM configuration template
github.com/lcpz
--]]
-- {{{ Required libraries
local awesome, client, mouse, screen, tag = awesome, client, mouse, screen, tag
local ipairs, string, os, table, tostring, tonumber, type = ipairs, string, os, table, tostring, tonumber, type
local gears = require("gears")
local awful = require("awful")
require("awful.autofocus")
local wibox = require("wibox")
local beautiful = require("beautiful")
local naughty = require("naughty")
local lain = require("lain")
local menubar = require("menubar")
local freedesktop = require("freedesktop")
local hotkeys_popup = require("awful.hotkeys_popup").widget
require("awful.hotkeys_popup.keys")
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
local dpi = require("beautiful.xresources").apply_dpi
-- }}}
-- {{{ Custom Imports
local flameshot = require("./dhalucario/flameshot")
local krdl = require("./dhalucario/krdl")
-- }}}
-- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = tostring(err) })
in_error = false
end)
end
-- }}}
-- {{{ Autostart windowless processes
-- This function will run once every time Awesome is started
local function run_once(cmd_arr)
for _, cmd in ipairs(cmd_arr) do
awful.spawn.with_shell(string.format("pgrep -u $USER -fx '%s' > /dev/null || (%s)", cmd, cmd))
end
end
run_once({ "urxvtd", "unclutter -root" }) -- entries must be separated by commas
-- This function implements the XDG autostart specification
awful.spawn.with_shell(
'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
'xrdb -merge <<< "awesome.started:true";' ..
-- list each of your autostart commands, followed by ; inside single quotes, followed by ..
'dex --environment Awesome --autostart --search-paths "$XDG_CONFIG_DIRS/autostart:$XDG_CONFIG_HOME/autostart"' -- https://github.com/jceb/dex
)
-- }}}
-- {{{ Variable definitions
local themes = {
"blackburn", -- 1
"copland", -- 2
"dremora", -- 3
"holo", -- 4
"multicolor", -- 5
"powerarrow", -- 6
"powerarrow-dark", -- 7
"rainbow", -- 8
"steamburn", -- 9
"vertex", -- 10
}
local chosen_theme = themes[2]
local modkey = "Mod4"
local altkey = "Mod1"
local terminal = "urxvtc"
local vi_focus = false -- vi-like client focus - https://github.com/lcpz/awesome-copycats/issues/275
local cycle_prev = true -- cycle trough all previous client or just the first -- https://github.com/lcpz/awesome-copycats/issues/274
local editor = os.getenv("EDITOR") or "vim"
local gui_editor = os.getenv("GUI_EDITOR") or "gvim"
local browser = os.getenv("BROWSER") or "firefox"
local scrlocker = "slock"
awful.util.terminal = terminal
awful.util.tagnames = { "1", "2", "3", "4", "5" }
awful.layout.layouts = {
awful.layout.suit.max,
awful.layout.suit.magnifier,
awful.layout.suit.spiral,
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.corner.nw,
awful.layout.suit.corner.ne,
--awful.layout.suit.floating,
--awful.layout.suit.tile,
--awful.layout.suit.tile.left,
--awful.layout.suit.tile.bottom,
--awful.layout.suit.tile.top,
--awful.layout.suit.fair,
--awful.layout.suit.fair.horizontal,
--awful.layout.suit.spiral,
--awful.layout.suit.spiral.dwindle,
--awful.layout.suit.max,
--awful.layout.suit.max.fullscreen,
--awful.layout.suit.magnifier,
--awful.layout.suit.corner.nw,
--awful.layout.suit.corner.ne,
--awful.layout.suit.corner.sw,
--awful.layout.suit.corner.se,
--lain.layout.cascade,
--lain.layout.cascade.tile,
--lain.layout.centerwork,
--lain.layout.centerwork.horizontal,
--lain.layout.termfair,
--lain.layout.termfair.center,
}
awful.util.taglist_buttons = my_table.join(
awful.button({ }, 1, function(t) t:view_only() end),
awful.button({ modkey }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
)
awful.util.tasklist_buttons = my_table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
--c:emit_signal("request::activate", "tasklist", {raise = true})<Paste>
-- Without this, the following
-- :isvisible() makes no sense
c.minimized = false
if not c:isvisible() and c.first_tag then
c.first_tag:view_only()
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 2, function (c) c:kill() end),
awful.button({ }, 3, function ()
local instance = nil
return function ()
if instance and instance.wibox.visible then
instance:hide()
instance = nil
else
instance = awful.menu.clients({theme = {width = dpi(250)}})
end
end
end),
awful.button({ }, 4, function () awful.client.focus.byidx(1) end),
awful.button({ }, 5, function () awful.client.focus.byidx(-1) end)
)
lain.layout.termfair.nmaster = 3
lain.layout.termfair.ncol = 1
lain.layout.termfair.center.nmaster = 3
lain.layout.termfair.center.ncol = 1
lain.layout.cascade.tile.offset_x = dpi(2)
lain.layout.cascade.tile.offset_y = dpi(32)
lain.layout.cascade.tile.extra_padding = dpi(5)
lain.layout.cascade.tile.nmaster = 5
lain.layout.cascade.tile.ncol = 2
beautiful.init(string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme))
-- }}}
-- {{{ Menu
local myawesomemenu = {
{ "hotkeys", function() return false, hotkeys_popup.show_help end },
{ "manual", terminal .. " -e man awesome" },
{ "edit config", string.format("%s -e %s %s", terminal, editor, awesome.conffile) },
{ "restart", awesome.restart },
{ "quit", function() awesome.quit() end }
}
awful.util.mymainmenu = freedesktop.menu.build({
icon_size = beautiful.menu_height or dpi(16),
before = {
{ "Awesome", myawesomemenu, beautiful.awesome_icon },
-- other triads can be put here
},
after = {
{ "Open terminal", terminal },
-- other triads can be put here
}
})
-- hide menu when mouse leaves it
awful.util.mymainmenu.wibox:connect_signal("mouse::leave", function() awful.util.mymainmenu:hide() end)
--menubar.utils.terminal = terminal -- Set the Menubar terminal for applications that require it
-- }}}
-- {{{ Screen
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", function(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
-- If wallpaper is a function, call it with the screen
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
end
end)
-- No borders when rearranging only 1 non-floating or maximized client
screen.connect_signal("arrange", function (s)
local only_one = #s.tiled_clients == 1
for _, c in pairs(s.clients) do
if only_one and not c.floating or c.maximized then
c.border_width = 0
else
c.border_width = beautiful.border_width
end
end
end)
-- Create a wibox for each screen and add it
awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
-- }}}
-- {{{ Mouse bindings
root.buttons(my_table.join(
awful.button({ }, 3, function () awful.util.mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
-- {{{ Key bindings
globalkeys = my_table.join(
-- Take a screenshot
-- https://github.com/lcpz/dots/blob/master/bin/screenshot
-- awful.key({ altkey }, "p", function() os.execute("screenshot") end,
-- {description = "take a screenshot", group = "hotkeys"}),
-- X screen locker
awful.key({ altkey, "Control" }, "l", function () os.execute(scrlocker) end,
{description = "lock screen", group = "hotkeys"}),
-- Hotkeys
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description = "show help", group="awesome"}),
-- Tag browsing
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
-- Non-empty tag browsing
awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end,
{description = "view previous nonempty", group = "tag"}),
awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end,
{description = "view previous nonempty", group = "tag"}),
-- Default client focus
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
-- By direction client focus
awful.key({ modkey }, "j",
function()
awful.client.focus.global_bydirection("down")
if client.focus then client.focus:raise() end
end,
{description = "focus down", group = "client"}),
awful.key({ modkey }, "k",
function()
awful.client.focus.global_bydirection("up")
if client.focus then client.focus:raise() end
end,
{description = "focus up", group = "client"}),
awful.key({ modkey }, "h",
function()
awful.client.focus.global_bydirection("left")
if client.focus then client.focus:raise() end
end,
{description = "focus left", group = "client"}),
awful.key({ modkey }, "l",
function()
awful.client.focus.global_bydirection("right")
if client.focus then client.focus:raise() end
end,
{description = "focus right", group = "client"}),
awful.key({ modkey, }, "w", function () awful.util.mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey, }, "Tab",
function ()
if cycle_prev then
awful.client.focus.history.previous()
else
awful.client.focus.byidx(-1)
end
if client.focus then
client.focus:raise()
end
end,
{description = "cycle with previous/go back", group = "client"}),
awful.key({ modkey, "Shift" }, "Tab",
function ()
if cycle_prev then
awful.client.focus.byidx(1)
if client.focus then
client.focus:raise()
end
end
end,
{description = "go forth", group = "client"}),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
for s in screen do
s.mywibox.visible = not s.mywibox.visible
if s.mybottomwibox then
s.mybottomwibox.visible = not s.mybottomwibox.visible
end
end
end,
{description = "toggle wibox", group = "awesome"}),
-- On the fly useless gaps change
awful.key({ altkey, "Control" }, "+", function () lain.util.useless_gaps_resize(1) end,
{description = "increment useless gaps", group = "tag"}),
awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) end,
{description = "decrement useless gaps", group = "tag"}),
-- Dynamic tagging
awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
{description = "add new tag", group = "tag"}),
awful.key({ modkey, "Shift" }, "r", function () lain.util.rename_tag() end,
{description = "rename tag", group = "tag"}),
awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
{description = "move tag to the left", group = "tag"}),
awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
{description = "move tag to the right", group = "tag"}),
awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
{description = "delete tag", group = "tag"}),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
{description = "open a terminal", group = "launcher"}),
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", awesome.quit,
{description = "quit awesome", group = "awesome"}),
awful.key({ altkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}),
awful.key({ altkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function ()
local c = awful.client.restore()
-- Focus restored client
if c then
client.focus = c
c:raise()
end
end,
{description = "restore minimized", group = "client"}),
-- Dropdown application
awful.key({ modkey, }, "z", function () awful.screen.focused().quake:toggle() end,
{description = "dropdown application", group = "launcher"}),
-- Widgets popups
awful.key({ altkey, }, "c", function () if beautiful.cal then beautiful.cal.show(7) end end,
{description = "show calendar", group = "widgets"}),
awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end,
{description = "show filesystem", group = "widgets"}),
awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end,
{description = "show weather", group = "widgets"}),
-- Brightness
awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end,
{description = "+10%", group = "hotkeys"}),
awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end,
{description = "-10%", group = "hotkeys"}),
-- ALSA volume control
awful.key({ altkey }, "Up",
function ()
os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel))
beautiful.volume.update()
end,
{description = "volume up", group = "hotkeys"}),
awful.key({ altkey }, "Down",
function ()
os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel))
beautiful.volume.update()
end,
{description = "volume down", group = "hotkeys"}),
awful.key({ altkey }, "m",
function ()
os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel))
beautiful.volume.update()
end,
{description = "toggle mute", group = "hotkeys"}),
awful.key({ altkey, "Control" }, "m",
function ()
os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel))
beautiful.volume.update()
end,
{description = "volume 100%", group = "hotkeys"}),
awful.key({ altkey, "Control" }, "0",
function ()
os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel))
beautiful.volume.update()
end,
{description = "volume 0%", group = "hotkeys"}),
-- MPD control
awful.key({ altkey, "Control" }, "Up",
function ()
os.execute("mpc toggle")
beautiful.mpd.update()
end,
{description = "mpc toggle", group = "widgets"}),
awful.key({ altkey, "Control" }, "Down",
function ()
os.execute("mpc stop")
beautiful.mpd.update()
end,
{description = "mpc stop", group = "widgets"}),
awful.key({ altkey, "Control" }, "Left",
function ()
os.execute("mpc prev")
beautiful.mpd.update()
end,
{description = "mpc prev", group = "widgets"}),
awful.key({ altkey, "Control" }, "Right",
function ()
os.execute("mpc next")
beautiful.mpd.update()
end,
{description = "mpc next", group = "widgets"}),
awful.key({ altkey }, "0",
function ()
local common = { text = "MPD widget ", position = "top_middle", timeout = 2 }
if beautiful.mpd.timer.started then
beautiful.mpd.timer:stop()
common.text = common.text .. lain.util.markup.bold("OFF")
else
beautiful.mpd.timer:start()
common.text = common.text .. lain.util.markup.bold("ON")
end
naughty.notify(common)
end,
{description = "mpc on/off", group = "widgets"}),
-- Copy primary to clipboard (terminals to gtk)
awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
{description = "copy terminal to gtk", group = "hotkeys"}),
-- Copy clipboard to primary (gtk to terminals)
awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
{description = "copy gtk to terminal", group = "hotkeys"}),
-- User programs
awful.key({ modkey }, "q", function () awful.spawn(browser) end,
{description = "run browser", group = "launcher"}),
awful.key({ modkey }, "a", function () awful.spawn(gui_editor) end,
{description = "run gui editor", group = "launcher"}),
awful.key({ modkey }, "p", function() menubar.show() end,
{description = "show the menubar", group = "launcher"}),
-- Default
--[[ Menubar
awful.key({ modkey }, "p", function() menubar.show() end,
{description = "show the menubar", group = "launcher"})
--]]
--[[ dmenu
awful.key({ modkey }, "x", function ()
os.execute(string.format("dmenu_run -i -fn 'Monospace' -nb '%s' -nf '%s' -sb '%s' -sf '%s'",
beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
end,
{description = "show dmenu", group = "launcher"})
--]]
-- alternatively use rofi, a dmenu-like application with more features
-- check https://github.com/DaveDavenport/rofi for more details
--[[ rofi
awful.key({ modkey }, "x", function ()
os.execute(string.format("rofi -show %s -theme %s",
'run', 'dmenu'))
end,
{description = "show rofi", group = "launcher"}),
--]]
-- Prompt
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
{description = "run prompt", group = "launcher"}),
awful.key({ modkey }, "x",
function ()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"})
--]]
)
clientkeys = my_table.join(
awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client,
{description = "magnify client", group = "client"}),
awful.key({ modkey, }, "f",
function (c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end ,
{description = "minimize", group = "client"}),
awful.key({ modkey, }, "m",
function (c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "maximize", group = "client"})
)
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
-- Hack to only show tags 1 and 9 in the shortcut window (mod+s)
local descr_view, descr_toggle, descr_move, descr_toggle_focus
if i == 1 or i == 9 then
descr_view = {description = "view tag #", group = "tag"}
descr_toggle = {description = "toggle tag #", group = "tag"}
descr_move = {description = "move focused client to tag #", group = "tag"}
descr_toggle_focus = {description = "toggle focused client on tag #", group = "tag"}
end
globalkeys = my_table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
descr_view),
-- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
descr_toggle),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
descr_move),
-- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
descr_toggle_focus)
)
end
clientbuttons = gears.table.join(
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
globalkeys = gears.table.join(globalkeys,
-- Screenshot
awful.key({ }, "Print", flameshot_gui,
{description = "Take a screenshot of entire screen", group = "screenshot"}),
awful.key({ "Shift" }, "Print", flameshot_screen,
{description = "Take a screenshot of focused window", group = "screenshot"}),
awful.key({ "Ctrl" }, "Print", flameshot_full,
{description = "Take a screenshot of delay", group = "screenshot"}),
-- Krdl
awful.key({ modkey }, "#", decode_clipboard,
{description = "Decode GPG message from clipboard", group = "user"}),
-- Media keys
awful.key({ }, "XF86AudioRaiseVolume", function() os.execute("pactl set-sink-volume @DEFAULT_SINK@ +5%") end, {description = "Volume Up (+5%)", group = "mediakeys"}),
awful.key({ }, "XF86AudioLowerVolume", function() os.execute("pactl set-sink-volume @DEFAULT_SINK@ -5%") end, {description = "Volume Up (-5%)", group = "mediakeys"}),
awful.key({ }, "XF86AudioMute", function() os.execute("pactl set-sink-mute @DEFAULT_SINK@ toggle") end, {description = "Mute", group = "mediakeys"})
)
-- Set keys
root.keys(globalkeys)
-- }}}
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen,
size_hints_honor = false
}
},
-- Titlebars
{ rule_any = { type = { "dialog", "normal" } },
properties = { titlebars_enabled = true } },
-- Set Firefox to always map on the first tag on screen 1.
{ rule = { class = "Firefox" },
properties = { screen = 1, tag = awful.util.tagnames[1] } },
{ rule = { class = "Gimp", role = "gimp-image-window" },
properties = { maximized = true } },
}
-- }}}
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup and
not c.size_hints.user_position
and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
-- Custom
if beautiful.titlebar_fun then
beautiful.titlebar_fun(c)
return
end
-- Default
-- buttons for the titlebar
local buttons = my_table.join(
awful.button({ }, 1, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ }, 2, function() c:kill() end),
awful.button({ }, 3, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c)
end)
)
awful.titlebar(c, {size = dpi(16)}) : setup {
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
layout = wibox.layout.fixed.horizontal
},
{ -- Middle
{ -- Title
align = "center",
widget = awful.titlebar.widget.titlewidget(c)
},
buttons = buttons,
layout = wibox.layout.flex.horizontal
},
{ -- Right
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
awful.titlebar.widget.closebutton (c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
}
end)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = vi_focus})
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- possible workaround for tag preservation when switching back to default screen:
-- https://github.com/lcpz/awesome-copycats/issues/251
-- }}}

@ -1 +0,0 @@
Subproject commit b386269d61cb8acb3d26fe37aed37eaae645a04f

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

View file

@ -1,372 +0,0 @@
--[[
Copland Awesome WM theme 2.0
github.com/lcpz
--]]
local gears = require("gears")
local lain = require("lain")
local awful = require("awful")
local wibox = require("wibox")
local dpi = require("beautiful.xresources").apply_dpi
local awesome, client, os = awesome, client, os
local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
local theme = {}
theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/copland"
theme.wallpaper = theme.dir .. "/wall.png"
theme.font = "Terminus 10.5"
theme.fg_normal = "#BBBBBB"
theme.fg_focus = "#78A4FF"
theme.bg_normal = "#111111"
theme.bg_focus = "#111111"
theme.fg_urgent = "#000000"
theme.bg_urgent = "#FFFFFF"
theme.border_width = dpi(1)
theme.border_normal = "#141414"
theme.border_focus = "#93B6FF"
theme.taglist_fg_focus = "#FFFFFF"
theme.taglist_bg_focus = "#111111"
theme.taglist_bg_normal = "#111111"
theme.titlebar_bg_normal = "#191919"
theme.titlebar_bg_focus = "#262626"
theme.menu_height = dpi(16)
theme.menu_width = dpi(130)
theme.tasklist_disable_icon = true
theme.awesome_icon = theme.dir .."/icons/awesome.png"
theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
theme.taglist_squares_sel = theme.dir .. "/icons/square_unsel.png"
theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
theme.vol = theme.dir .. "/icons/vol.png"
theme.vol_low = theme.dir .. "/icons/vol_low.png"
theme.vol_no = theme.dir .. "/icons/vol_no.png"
theme.vol_mute = theme.dir .. "/icons/vol_mute.png"
theme.disk = theme.dir .. "/icons/disk.png"
theme.ac = theme.dir .. "/icons/ac.png"
theme.bat = theme.dir .. "/icons/bat.png"
theme.bat_low = theme.dir .. "/icons/bat_low.png"
theme.bat_no = theme.dir .. "/icons/bat_no.png"
theme.play = theme.dir .. "/icons/play.png"
theme.pause = theme.dir .. "/icons/pause.png"
theme.stop = theme.dir .. "/icons/stop.png"
theme.layout_tile = theme.dir .. "/icons/tile.png"
theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
theme.layout_fairv = theme.dir .. "/icons/fairv.png"
theme.layout_fairh = theme.dir .. "/icons/fairh.png"
theme.layout_spiral = theme.dir .. "/icons/spiral.png"
theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
theme.layout_max = theme.dir .. "/icons/max.png"
theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
theme.layout_floating = theme.dir .. "/icons/floating.png"
theme.useless_gap = 0
theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
-- lain related
theme.layout_centerfair = theme.dir .. "/icons/centerfair.png"
theme.layout_termfair = theme.dir .. "/icons/termfair.png"
theme.layout_centerwork = theme.dir .. "/icons/centerwork.png"
local markup = lain.util.markup
local blue = theme.fg_focus
local red = "#EB8F8F"
local green = "#8FEB8F"
-- Textclock
--os.setlocale(os.getenv("LANG")) -- to localize the clock
local mytextclock = wibox.widget.textclock("<span font='Terminus 5'> </span>%H:%M ")
mytextclock.font = theme.font
-- Calendar
theme.cal = lain.widget.cal({
attach_to = { mytextclock },
notification_preset = {
font = "Terminus 11",
fg = theme.fg_normal,
bg = theme.bg_normal
}
})
-- Mail IMAP check
--[[ commented because it needs to be set before use
theme.mail = lain.widget.imap({
timeout = 180,
server = "server",
mail = "mail",
password = "keyring get mail",
settings = function()
mail = ""
count = ""
if mailcount > 0 then
mail = "<span font='Terminus 5'> </span>Mail "
count = mailcount .. " "
end
widget:set_markup(markup(blue, mail) .. count)
end
})
--]]
-- MPD
local mpdicon = wibox.widget.imagebox()
theme.mpd = lain.widget.mpd({
settings = function()
if mpd_now.state == "play" then
title = mpd_now.title
artist = " " .. mpd_now.artist .. markup("#777777", " <span font='Terminus 2'> </span>|<span font='Terminus 5'> </span>")
mpdicon:set_image(theme.play)
elseif mpd_now.state == "pause" then
title = "mpd "
artist = "paused" .. markup("#777777", " |<span font='Terminus 5'> </span>")
mpdicon:set_image(theme.pause)
else
title = ""
artist = ""
mpdicon._private.image = nil
mpdicon:emit_signal("widget::redraw_needed")
mpdicon:emit_signal("widget::layout_changed")
end
widget:set_markup(markup.font(theme.font, markup(blue, title) .. artist))
end
})
-- Battery
local baticon = wibox.widget.imagebox(theme.bat)
local batbar = wibox.widget {
forced_height = dpi(1),
forced_width = dpi(59),
color = theme.fg_normal,
background_color = theme.bg_normal,
margins = 1,
paddings = 1,
ticks = true,
ticks_size = dpi(6),
widget = wibox.widget.progressbar,
}
local batupd = lain.widget.bat({
settings = function()
if (not bat_now.status) or bat_now.status == "N/A" or type(bat_now.perc) ~= "number" then return end
if bat_now.status == "Charging" then
baticon:set_image(theme.ac)
if bat_now.perc >= 98 then
batbar:set_color(green)
elseif bat_now.perc > 50 then
batbar:set_color(theme.fg_normal)
elseif bat_now.perc > 15 then
batbar:set_color(theme.fg_normal)
else
batbar:set_color(red)
end
else
if bat_now.perc >= 98 then
batbar:set_color(green)
elseif bat_now.perc > 50 then
batbar:set_color(theme.fg_normal)
baticon:set_image(theme.bat)
elseif bat_now.perc > 15 then
batbar:set_color(theme.fg_normal)
baticon:set_image(theme.bat_low)
else
batbar:set_color(red)
baticon:set_image(theme.bat_no)
end
end
batbar:set_value(bat_now.perc / 100)
end
})
local batbg = wibox.container.background(batbar, "#474747", gears.shape.rectangle)
local batwidget = wibox.container.margin(batbg, dpi(2), dpi(7), dpi(4), dpi(4))
-- /home fs
--[[ commented because it needs Gio/Glib >= 2.54
local fsicon = wibox.widget.imagebox(theme.disk)
local fsbar = wibox.widget {
forced_height = dpi(1),
forced_width = dpi(59),
color = theme.fg_normal,
background_color = theme.bg_normal,
margins = 1,
paddings = 1,
ticks = true,
ticks_size = dpi(6),
widget = wibox.widget.progressbar,
}
theme.fs = lain.widget.fs {
notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10.5" },
settings = function()
if fs_now["/home"].percentage < 90 then
fsbar:set_color(theme.fg_normal)
else
fsbar:set_color("#EB8F8F")
end
fsbar:set_value(fs_now["/home"].percentage / 100)
end
}
local fsbg = wibox.container.background(fsbar, "#474747", gears.shape.rectangle)
local fswidget = wibox.container.margin(fsbg, dpi(2), dpi(7), dpi(4), dpi(4))
--]]
-- ALSA volume bar
local volicon = wibox.widget.imagebox(theme.vol)
theme.volume = lain.widget.alsabar {
width = dpi(59), border_width = 0, ticks = true, ticks_size = dpi(6),
notification_preset = { font = theme.font },
--togglechannel = "IEC958,3",
settings = function()
if volume_now.status == "off" then
volicon:set_image(theme.vol_mute)
elseif volume_now.level == 0 then
volicon:set_image(theme.vol_no)
elseif volume_now.level <= 50 then
volicon:set_image(theme.vol_low)
else
volicon:set_image(theme.vol)
end
end,
colors = {
background = theme.bg_normal,
mute = red,
unmute = theme.fg_normal
}
}
theme.volume.tooltip.wibox.fg = theme.fg_focus
theme.volume.bar:buttons(my_table.join (
awful.button({}, 1, function()
awful.spawn(string.format("%s -e alsamixer", awful.util.terminal))
end),
awful.button({}, 2, function()
os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
theme.volume.update()
end),
awful.button({}, 3, function()
os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel))
theme.volume.update()
end),
awful.button({}, 4, function()
os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel))
theme.volume.update()
end),
awful.button({}, 5, function()
os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel))
theme.volume.update()
end)
))
local volumebg = wibox.container.background(theme.volume.bar, "#474747", gears.shape.rectangle)
local volumewidget = wibox.container.margin(volumebg, dpi(2), dpi(7), dpi(4), dpi(4))
-- Weather
theme.weather = lain.widget.weather({
city_id = 2643743, -- placeholder (London)
})
-- Separators
local first = wibox.widget.textbox(markup.font("Terminus 3", " "))
local spr = wibox.widget.textbox(' ')
local small_spr = wibox.widget.textbox(markup.font("Terminus 4", " "))
local bar_spr = wibox.widget.textbox(markup.font("Terminus 3", " ") .. markup.fontfg(theme.font, "#777777", "|") .. markup.font("Terminus 5", " "))
-- Eminent-like task filtering
local orig_filter = awful.widget.taglist.filter.all
-- Taglist label functions
awful.widget.taglist.filter.all = function (t, args)
if t.selected or #t:clients() > 0 then
return orig_filter(t, args)
end
end
function theme.at_screen_connect(s)
-- Quake application
s.quake = lain.util.quake({ app = awful.util.terminal })
-- If wallpaper is a function, call it with the screen
local wallpaper = theme.wallpaper
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
-- Tags
awful.tag(awful.util.tagnames, s, awful.layout.layouts)
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(my_table.join(
awful.button({}, 1, function () awful.layout.inc( 1) end),
awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
awful.button({}, 3, function () awful.layout.inc(-1) end),
awful.button({}, 4, function () awful.layout.inc( 1) end),
awful.button({}, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal })
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
small_spr,
s.mylayoutbox,
first,
bar_spr,
s.mytaglist,
first,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
wibox.widget.systray(),
small_spr,
--theme.mail.widget,
mpdicon,
theme.mpd.widget,
baticon,
batwidget,
bar_spr,
--fsicon,
--fswidget,
bar_spr,
volicon,
volumewidget,
bar_spr,
mytextclock,
},
}
end
return theme

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 MiB

Binary file not shown.

View file

@ -1,4 +0,0 @@
.include /etc/pulse/default.pa
load-sample-lazy x11-bell ~/.config/pulse/bell.wav
load-module module-x11-bell sample=x11-bell

15
.gitmodules vendored
View file

@ -1,15 +0,0 @@
[submodule ".oh-my-zsh"]
path = .oh-my-zsh
url = https://github.com/ohmyzsh/ohmyzsh.git
[submodule ".zplug"]
path = .zplug
url = https://github.com/zplug/zplug.git
[submodule ".config/awesome/lain"]
path = .config/awesome/lain
url = https://github.com/lcpz/lain.git
[submodule ".config/awesome/freedesktop"]
path = .config/awesome/freedesktop
url = https://github.com/lcpz/awesome-freedesktop.git
[submodule ".config/awesome/scratch"]
path = .config/awesome/scratch
url = https://github.com/proteansec/awesome-scratch.git

View file

@ -1,13 +0,0 @@
let mapleader=" "
" https://github.com/easymotion/vim-easymotion
set easymotion
" https://github.com/terryma/vim-multiple-cursors
set multiple-cursors
" https://github.com/tpope/vim-commentary
set commentary
" https://github.com/tpope/vim-surround
set surround
" Copy to system clipboard as well
set clipboard+=unnamed

@ -1 +0,0 @@
Subproject commit 7deaff71a2be08145d83f0177edbf2dfb3e91262

135
.vimrc
View file

@ -1,135 +0,0 @@
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" Specify a directory for plugins
" - For Neovim: stdpath('data') . '/plugged'
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')
"" Editing Helper
" Vim Multiple Cursors
Plug 'terryma/vim-multiple-cursors'
" Vim Surround: Quickly surround stuff
Plug 'tpope/vim-surround'
"" Coding Assistance
" Ale: Runs fast and works well.
Plug 'dense-analysis/ale'
" Better HTML PHP support
Plug 'beanworks/vim-phpfmt'
" Guten Tag: Automatically generates ctags (variable names, function, classes)
Plug 'ludovicchabant/vim-gutentags'
" php.vim: PHP syntax higlighting and indent
Plug 'StanAngeloff/php.vim'
" PHP Namespace: Helps to keep track of namespaces and autcompletes them
Plug 'arnaud-lb/vim-php-namespace', {'for': 'php'}
"" Debugger
" v-debug: PHP Debugger with xdebug
Plug 'vim-vdebug/vdebug'
"" GUI
" NERDTree: Sidebar file tree
Plug 'scrooloose/nerdtree'
Plug 'Xuyuanp/nerdtree-git-plugin'
" MINIBUFXPL: A nice buffer explorer
Plug 'fholgado/minibufexpl.vim'
" Airline: Some file infos
Plug 'vim-airline/vim-airline'
"" Indexing
" ctrlp.vim: Quickly find files by name without navigating
Plug 'kien/ctrlp.vim'
" Ferret: Quickly finds file content
Plug 'wincent/ferret'
" Initialize plugin system
call plug#end()
let g:fugitive_gitlab_domains = ['http://gitlab.kreativ.rudel:8001', 'gitlab.kreativ.rudel']
let g:fugitive_gitea_domains = ['https://git.doggoat.de']
"" NERDTree config
" Autostart NERDTree on start
autocmd vimenter * NERDTree | wincmd w
let NERDTreeShowHidden=1
" Close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"" ALE config
" Define fixers
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'javascript': ['eslint'],
\ 'php': ['phpcbf'],
\ 'rust': ['rustfmt'],
\}
" Run linter on save
let g:ale_fix_on_save = 1
let g:ale_linters = {
\ 'rust': ['rls', 'cargo']
\}
" Enable completion where available.
let g:ale_completion_enabled = 1
set omnifunc=ale#completion#OmniFunc
"" Gutentags
" Auto generate ctags on startup
autocmd! User vim-gutentags call gutentags#setup_gutentags()
"" PHP
" PHP Namespace: Automatically use fully qualified name
function! IPhpExpandClass()
call PhpExpandClass()
call feedkeys('a', 'n')
endfunction
autocmd FileType php inoremap <Leader>e <Esc>:call IPhpExpandClass()<CR>
autocmd FileType php noremap <Leader>e :call PhpExpandClass()<CR>
"" vdebug config
" Set xdebug config
let g:vdebug_options = {'ide_key': 'PHPSTORM'}
let g:vdebug_options = {'break_on_open': 0}
let g:vdebug_options = {'server': '172.17.0.1'}
let g:vdebug_options = {'port': '9002'}
" Configure paths
let g:vdebug_options["path_maps"] = { "/var/www/html": "/home/leong/workspace/upwire-2019" }
" Don't break on open
let g:vdebug_options['break_on_open'] = 0
"" CtrlP config
" Self explainatory
let g:ctrlp_max_files=0
let g:ctrlp_max_depth=40
let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|git'
"" Vim Config
" Some autocompletion settings.
set completeopt+=longest,menuone,menu,preview
" Add clipboard support
set clipboard=unnamedplus
" Intendation
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent

View file

@ -1,76 +0,0 @@
#########################################
# Aliases #
#########################################
#alias sudo="sudo "
alias ws="cd ~/workspace"
alias open="xdg-open"
alias dc-up="docker-compose up"
alias dc-upd="docker-compose up -d"
alias dc-down="docker-compose down"
alias dss-s="docker-sync-stack start"
# Mirons docker init script
alias docker-init="bash <(curl -s https://raw.githubusercontent.com/micron/docker-setup/master/init.sh)"
# Quick install script for projects
alias krinstall="echo '###=== NodeJS ===###' && npm install && echo '###=== Bower ===###' && bower install && echo '###=== Composer ===###' && composer install && echo '###=== Finished ===###'"
# Quickly ZIP and Delete on enter press
alias quickzip='ALEXAFILE="${PWD##*/}_$(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32).zip"; zip ${ALEXAFILE} -r * && echo "Press enter to delete file." && read && rm ${ALEXAFILE}'
copydl() {
if [ $# -eq 1 ]
then
dlFileCount=1
elif [ $# -eq 2 ]
then
dlFileCount=$1
fi
lastdlFiles=$(ls -1tp ~/Downloads | head -$dlFileCount)
if [ $# -eq 1 ]
then
while read line; do
cp "$HOME/Downloads/$line" "$1"
done <<< "$lastdlFiles"
elif [ $# -eq 2 ]
then
while read line; do
cp "$HOME/Downloads/$line" "$2"
done <<< "$lastdlFiles"
fi
}
ytplaylist(){
youtube-dl --get-id "$1" | awk '{print "https://www.youtube.com/watch?v=" $0;}' | vlc -
}
alias dl-wpcli="wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"
alias dl-wp="curl https://wordpress.org/latest.tar.gz | tar -xzv"
alias gitroot='cd $(git rev-parse --show-toplevel)'
alias dc-clearmysql='find $(git rev-parse --show-toplevel)/docker/lib/mysql -mindepth 1 -maxdepth 1 -not -name '.gitkeep' -exec rm -rf "{}" \;'
alias gpgcb="xsel --clipboard | sed 's/^ *//g' | gpg2 -d"
if [ -n "$(command -v vimx)" ]; then
alias oldvim='vim'
alias vim='vimx'
fi
if [ -n "$(command -v bat)" ]; then
alias cat='bat'
alias oldcat='cat'
fi
if [ -n "$(command -v exa)" ]; then
alias ls='exa'
alias oldls='ls --color=tty'
fi

View file

@ -1,13 +0,0 @@
# Don't check for new mail
export MAILCHECK=1
export GOPATH=$HOME/.golang
export FONTCONFIG_PATH=/etc/fonts
export UID=$(id -u)
export GID=$(id -g)
export PATH=$PATH:~/.local/bin:~/bin:
export PATH=$PATH:$(composer global config bin-dir --absolute -q)
export EDITOR=vim

View file

@ -1,2 +0,0 @@
zplug "romkatv/powerlevel10k", use:powerlevel10k.zsh-theme
zplug "rupa/z", use:z.sh

1
.zplug

@ -1 +0,0 @@
Subproject commit c4dea766566b168a32dbfa8d10335e525ce39fcc

13
.zshrc
View file

@ -1,13 +0,0 @@
# Use Oh My Zsh
export ZSH="$HOME/.oh-my-zsh"
source $ZSH/oh-my-zsh.sh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# Use zplug
source ~/.zplug/init.zsh
# Use custom config
source ~/.zcustom/init.zsh

View file

@ -1 +0,0 @@
README.md.html

View file

@ -1,29 +0,0 @@
# Developer Configuration
## zsh
### Oh My Zsh
https://github.com/ohmyzsh/ohmyzsh
```bash
sh -c "$(curl -fsSL \
https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```
### zplug
https://github.com/zplug/zplug
```bash
curl -sL --proto-redir -all,https \
https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh
```
## Vim
### Vim Plug
https://github.com/junegunn/vim-plug
```bash
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
```
<style class="fallback">body{visibility:hidden}</style><script>markdeepOptions={tocStyle:'long'};</script>
<!-- Markdeep: --><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js?" charset="utf-8"></script>

View file

@ -0,0 +1,205 @@
[Desktop Entry]
Categories=Utility;X-SuSE-SyncUtility;
Type=Application
Exec=nextcloud
Name=Nextcloud desktop sync client
Comment=Nextcloud desktop synchronization client
GenericName=Folder Sync
Icon=Nextcloud
Keywords=Nextcloud;syncing;file;sharing;
X-GNOME-Autostart-Delay=3
MimeType=application/vnd.nextcloud;
Actions=Quit;
# Translations
Comment[oc]=Nextcloud sincronizacion del client
GenericName[oc]=Dorsièr de Sincronizacion
Name[oc]=Nextcloud sincronizacion del client
Icon[oc]=Nextcloud
Comment[ar]=Nextcloud زبون مزامنة مكتبي
GenericName[ar]=مزامنة المجلد
Name[ar]=Nextcloud زبون مزامنة مكتبي
Icon[ar]=Nextcloud
Comment[bg_BG]=Nextcloud клиент за десктоп синхронизация
GenericName[bg_BG]=Синхронизиране на папката
Name[bg_BG]=Nextcloud клиент десктоп синхронизация
Icon[bg_BG]=Nextcloud
Comment[ca]=Client de sincronització d'escriptori Nextcloud
GenericName[ca]=Sincronització de carpetes
Name[ca]=Client de sincronització d'escriptori Nextcloud
Icon[ca]=Nextcloud
Comment[da]=Nextcloud skrivebordsklient til synkronisering
GenericName[da]=Mappesynkronisering
Name[da]=Nextcloud skrivebordsklient til synk
Icon[da]=Nextcloud
Comment[de]=Nextcloud Desktop-Synchronisationsclient
GenericName[de]=Ordner-Synchronisation
Name[de]=Nextcloud Desktop-Synchronisationsclient
Icon[de]=Nextcloud
Comment[ja_JP]=Nextcloud
GenericName[ja_JP]=
Name[ja_JP]=Nextcloud
Icon[ja_JP]=Nextcloud
Comment[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
GenericName[el]=Συγχρονισμός φακέλου
Name[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
Icon[el]=Nextcloud
Comment[en_GB]=Nextcloud desktop synchronisation client
GenericName[en_GB]=Folder Sync
Name[en_GB]=Nextcloud desktop sync client
Icon[en_GB]=Nextcloud
Comment[es]=Nextcloud cliente de sincronización de escritorio
GenericName[es]=Sincronización de carpeta
Name[es]=Nextcloud cliente de sincronización de escritorio
Icon[es]=Nextcloud
Comment[de_DE]=Nextcloud Desktop-Synchronisationsclient
GenericName[de_DE]=Ordner-Synchronisation
Name[de_DE]=Nextcloud Desktop-Synchronisationsclient
Icon[de_DE]=Nextcloud
Comment[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
GenericName[eu]=Karpetaren sinkronizazioa
Name[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
Icon[eu]=Nextcloud
GenericName[fa]=همسان سازی پوشهها
Name[fa]=nextcloud نسخهی همسان سازی مشتری
Icon[fa]=Nextcloud
Comment[fr]=Synchronisez vos dossiers avec un serveur Nextcloud
GenericName[fr]=Synchronisation de dossier
Name[fr]=Client de synchronisation Nextcloud
Icon[fr]=Nextcloud
Comment[gl]=Nextcloud cliente de sincronización para escritorio
GenericName[gl]=Sincronizar Cartafol
Name[gl]=Nextcloud cliente de sincronización para escritorio
Icon[gl]=Nextcloud
Comment[he]=Nextcloud לקוח סנכון שולחן עבודה
GenericName[he]=סנכון תיקייה
Name[he]=Nextcloud לקוח סנכרון שולחן עבודה
Icon[he]=Nextcloud
Comment[ia]=Nextcloud cliente de synchronisation pro scriptorio
GenericName[ia]=Synchronisar Dossier
Name[ia]=Nextcloud cliente de synchronisation pro scriptorio
Icon[ia]=Nextcloud
Comment[id]=Klien sinkronisasi desktop Nextcloud
GenericName[id]=Folder Sync
Name[id]=Klien sync desktop Nextcloud
Icon[id]=Nextcloud
Comment[is]=Nextcloud skjáborðsforrit samstillingar
GenericName[is]=Samstilling möppu
Name[is]=Nextcloud skjáborðsforrit samstillingar
Icon[is]=Nextcloud
Comment[it]=Client di sincronizzazione del desktop di Nextcloud
GenericName[it]=Sincronizzazione cartella
Name[it]=Client di sincronizzazione del desktop di Nextcloud
Icon[it]=Nextcloud
Comment[ko]=Nextcloud
GenericName[ko]=
Name[ko]=Nextcloud
Icon[ko]=Nextcloud
Comment[hu_HU]=Nextcloud asztali szinkronizációs kliens
GenericName[hu_HU]=Könyvtár szinkronizálás
Name[hu_HU]=Nextcloud asztali szinkr. kliens
Icon[hu_HU]=Nextcloud
Comment[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
GenericName[af_ZA]=Vouersinchronisering
Name[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
Icon[af_ZA]=Nextcloud
Comment[nl]=Nextcloud desktop synchronisatie client
GenericName[nl]=Mappen sync
Name[nl]=Nextcloud desktop sync client
Icon[nl]=Nextcloud
Comment[et_EE]=Nextcloud sünkroonimise klient töölauale
GenericName[et_EE]=Kaustade sünkroonimine
Name[et_EE]=Nextcloud sünkroonimise klient töölauale
Icon[et_EE]=Nextcloud
Comment[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
GenericName[pl]=Folder Synchronizacji
Name[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
Icon[pl]=Nextcloud
Comment[pt_BR]=Nextcloud cliente de sincronização do computador
GenericName[pt_BR]=Sincronização de Pasta
Name[pt_BR]=Nextcloud cliente de sincronização de desktop
Icon[pt_BR]=Nextcloud
Comment[cs_CZ]=Nextcloud počítačový synchronizační klient
GenericName[cs_CZ]=Synchronizace adresáře
Name[cs_CZ]=Nextcloud počítačový synchronizační klient
Icon[cs_CZ]=Nextcloud
Comment[ru]=Настольный клиент синхронизации Nextcloud
GenericName[ru]=Синхронизация каталогов
Name[ru]=Настольный клиент синхронизации Nextcloud
Icon[ru]=Nextcloud
Comment[sl]=Nextcloud Program za usklajevanje datotek z namizjem
GenericName[sl]=Usklajevanje map
Name[sl]=Nextcloud Program za usklajevanje datotek z namizjem
Icon[sl]=Nextcloud
Comment[sq]=Klient njëkohësimesh Nextcloud për desktop
GenericName[sq]=Njëkohësim Dosjesh
Name[sq]=Klient njëkohësimesh Nextcloud për desktop
Icon[sq]=Nextcloud
Comment[fi_FI]=Nextcloud työpöytäsynkronointisovellus
GenericName[fi_FI]=Kansion synkronointi
Name[fi_FI]=Nextcloud työpöytäsynkronointisovellus
Icon[fi_FI]=Nextcloud
Comment[sv]=Nextcloud desktop synkroniseringsklient
GenericName[sv]=Mappsynk
Name[sv]=Nextcloud desktop synk-klient
Icon[sv]=Nextcloud
Comment[tr]=Nextcloud masaüstü eşitleme istemcisi
GenericName[tr]=Dosya Eşitleme
Name[tr]=Nextcloud masaüstü eşitleme istemcisi
Icon[tr]=Nextcloud
Comment[uk]=Настільний клієнт синхронізації Nextcloud
GenericName[uk]=Синхронізація теки
Name[uk]=Настільний клієнт синхронізації Nextcloud
Icon[uk]=Nextcloud
Comment[ro]=Nextcloud client de sincronizare pe desktop
GenericName[ro]=Sincronizare director
Name[ro]=Nextcloud client de sincronizare pe desktop
Icon[ro]=Nextcloud
Comment[zh_CN]=Nextcloud
GenericName[zh_CN]=
Name[zh_CN]=Nextcloud
Icon[zh_CN]=Nextcloud
Comment[zh_HK]=
Comment[zh_TW]=Nextcloud
GenericName[zh_TW]=
Name[zh_TW]=Nextcloud
Icon[zh_TW]=Nextcloud
Comment[es_AR]=Cliente de sincronización para escritorio Nextcloud
GenericName[es_AR]=Sincronización de directorio
Name[es_AR]=Cliente de sincronización para escritorio Nextcloud
Icon[es_AR]=Nextcloud
Comment[lt_LT]=Nextcloud darbalaukio sinchronizavimo programa
GenericName[lt_LT]=Katalogo sinchnorizacija
Name[lt_LT]=Nextcloud darbalaukio programa
Icon[lt_LT]=Nextcloud
Comment[th_TH]=Nextcloud
GenericName[th_TH]=
Name[th_TH]= Nextcloud
Icon[th_TH]=Nextcloud
Comment[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
GenericName[es_MX]=Sincronización de Carpetas
Name[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
Icon[es_MX]=Nextcloud
Comment[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
GenericName[nb_NO]=Mappesynkronisering
Name[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
Icon[nb_NO]=Nextcloud
Comment[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
GenericName[nn_NO]=Mappe synkronisering
Name[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
Icon[nn_NO]=Nextcloud
Comment[pt_PT]=Nextcloud - Cliente de Sincronização para PC
GenericName[pt_PT]=Sincronizar Pasta
Name[pt_PT]=Nextcloud - Cliente de Sincronização para PC
Icon[pt_PT]=Nextcloud
Icon[km]=Nextcloud
Comment[lb]=Nextcloud Desktop Synchronisatioun Client
GenericName[lb]=Dossier Dync
Name[lb]=Nextcloud Desktop Sync Client
Icon[lb]=Nextcloud
[Desktop Action Quit]
Exec=nextcloud --quit
Name=Quit Nextcloud
Icon=nextcloud

View file

@ -0,0 +1,15 @@
[Desktop Entry]
Icon=/home/dhalucario/.local/share/JetBrains/Toolbox/toolbox.svg
Exec=/home/dhalucario/.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,14 @@
[Desktop Entry]
Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
Exec=thunderbird %u
TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
X-Desktop-File-Install-Version=0.24

View file

@ -0,0 +1,31 @@
[Desktop Entry]
Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=thunderbird --file-forwarding org.mozilla.Thunderbird @@u %u @@
Icon=org.mozilla.Thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird
Name[ca]=Client de correu Thunderbird
Name[fi]=Thunderbird-sähköposti
Name[fr]=Messagerie Thunderbird
Name[pl]=Klient poczty Thunderbird
Name[pt_BR]=Cliente de E-mail Thunderbird
Name[sv]=E-postklienten Thunderbird
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[de]=Emails lesen und verfassen
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[it]=Leggere e scrivere email
Comment[ja]=
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Ler e escrever suas mensagens
Comment[sv]=Läs och skriv e-post
X-Desktop-File-Install-Version=0.26
X-Flatpak=org.mozilla.Thunderbird

View file

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Teams for Linux
Exec=/opt/teams-for-linux/teams-for-linux %U
Terminal=false
Type=Application
Icon=teams-for-linux
StartupWMClass=teams-for-linux
Comment=Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App and wraps it as a standalone application using Electron.
MimeType=x-scheme-handler/msteams;
Categories=Chat;Network;Office;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,58 @@
# ntfy client config file
# Base URL used to expand short topic names in the "ntfy publish" and "ntfy subscribe" commands.
# If you self-host a ntfy server, you'll likely want to change this.
#
default-host: https://ntfy.413.one
# Default username and password will be used with "ntfy publish" if no credentials are provided on command line
# Default username and password will be used with "ntfy subscribe" if no credentials are provided in subscription below
# For an empty password, use empty double-quotes ("")
#
default-user: leon
default-password: 1bims
# Default command will execute after "ntfy subscribe" receives a message if no command is provided in subscription below
# default-command:
# Subscriptions to topics and their actions. This option is primarily used by the systemd service,
# or if you cann "ntfy subscribe --from-config" directly.
#
# Example:
# subscribe:
# - topic: mytopic
# command: /usr/local/bin/mytopic-triggered.sh
# - topic: myserver.com/anothertopic
# command: 'echo "$message"'
# if:
# priority: high,urgent
# - topic: secret
# command: 'notify-send "$m"'
# user: phill
# password: mypass
#
# Variables:
# Variable Aliases Description
# --------------- --------------------- -----------------------------------
# $NTFY_ID $id Unique message ID
# $NTFY_TIME $time Unix timestamp of the message delivery
# $NTFY_TOPIC $topic Topic name
# $NTFY_MESSAGE $message, $m Message body
# $NTFY_TITLE $title, $t Message title
# $NTFY_PRIORITY $priority, $prio, $p Message priority (1=min, 5=max)
# $NTFY_TAGS $tags, $tag, $ta Message tags (comma separated list)
# $NTFY_RAW $raw Raw JSON message
#
# Filters ('if:'):
# You can filter 'message', 'title', 'priority' (comma-separated list, logical OR)
# and 'tags' (comma-separated list, logical AND). See https://ntfy.sh/docs/subscribe/api/#filter-messages.
#
subscribe:
- topic: 'leon-general'
command: 'notify-send "$t" "$m"'
- topic: 'leon-services'
command: 'notify-send "$t" "$m"'
# - topic: 'bonmercato-alerts'
# command: 'notify-send "$t" "$m"'
# - topic: 'bonmercato-imports'
# command: 'notify-send "$t" "$m"'

View file

@ -0,0 +1,279 @@
# This file was generated by Zandronum 3.0 on Wed Sep 23 21:40:11 2020
# These are the directories to automatically search for IWADs.
# Each directory should be on a separate line, preceded by Path=
[IWADSearch.Directories]
Path=.
Path=$DOOMWADDIR
Path=~/.config/zandronum
Path=/usr/local/share/
Path=~/wads
# These are the directories to search for wads added with the -file
# command line parameter, if they cannot be found with the path
# as-is. Layout is the same as for IWADSearch.Directories
[FileSearch.Directories]
Path=~/.config/zandronum
Path=/usr/local/share/
Path=$DOOMWADDIR
Path=~/wads
# Files to automatically execute when running the corresponding game.
# Each file should be on its own line, preceded by Path=
[Doom.AutoExec]
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
[Heretic.AutoExec]
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
[Hexen.AutoExec]
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
[Strife.AutoExec]
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
[Chex.AutoExec]
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
# WAD files to always load. These are loaded after the IWAD but before
# any files added with -file. Place each file on its own line, preceded
# by Path=
[Global.Autoload]
# Wad files to automatically load depending on the game and IWAD you are
# playing. You may have have files that are loaded for all similar IWADs
# (the game) and files that are only loaded for particular IWADs. For example,
# any files listed under Doom.Autoload will be loaded for any version of Doom,
# but files listed under Doom2.Autoload will only load when you are
# playing Doom 2.
[Doom.Autoload]
[Doom1.Autoload]
[Doom2.Autoload]
[TNT.Autoload]
[Plutonia.Autoload]
[Freedoom.Autoload]
[Freedoom1.Autoload]
[FreeDM.Autoload]
[Heretic.Autoload]
[Hexen.Autoload]
[HexenDK.Autoload]
[HexenDemo.Autoload]
[Strife.Autoload]
[Chex.Autoload]
[Chex3.Autoload]
[UrbanBrawl.Autoload]
[Harmony.Autoload]
[LastRun]
Version=210
Version-ZANDRONUM=181
[GlobalSettings]
gus_memsize=0
midi_dmxgus=true
gus_patchdir=
midi_timiditylike=false
midi_voices=32
midi_config=timidity.cfg
fluid_chorus_type=0
fluid_chorus_depth=8
fluid_chorus_speed=0.3
fluid_chorus_level=1.2
fluid_chorus_voices=3
fluid_reverb_level=0.57
fluid_reverb_width=0.76
fluid_reverb_damping=0.23
fluid_reverb_roomsize=0.61
fluid_threads=1
fluid_samplerate=0
fluid_interp=1
fluid_voices=128
fluid_chorus=true
fluid_reverb=true
fluid_gain=0.5
fluid_patchset=
opl_core=0
opl_numchips=2
timidity_frequency=22050
timidity_pipe=90
timidity_mastervolume=1
timidity_byteswap=false
timidity_8bit=false
timidity_stereo=true
timidity_reverb=0
timidity_chorus=0
timidity_extargs=
timidity_exe=timidity
snd_mididevice=-1
spc_amp=1.875
mod_autochip_scan_threshold=12
mod_autochip_size_scan=500
mod_autochip_size_force=100
mod_autochip=false
mod_interp=1
mod_volramp=0
mod_samplerate=0
mod_dumb=true
snd_sfxvolume=1
snd_output=default
snd_buffersize=0
snd_samplerate=0
snd_musicvolume=0.5
snd_waterlp=250
snd_midipatchset=
snd_output_format=PCM-16
snd_speakermode=Auto
snd_resampler=Linear
snd_waterreverb=true
snd_hrtf=false
snd_buffercount=0
snd_driver=0
opl_fullpan=true
vid_contrast=1
vid_brightness=0
gl_render_precise=false
gl_plane_reflection=true
r_mirror_recursions=4
gl_seamless=false
gl_render_segs=false
gl_mirror_envmap=true
gl_texture_useshaders=true
gl_glow_shader=true
gl_brightmap_shader=false
gl_colormap_shader=false
gl_fog_shader=false
gl_warp_shader=false
gl_lights_additive=false
gl_light_particles=true
gl_light_sprites=true
gl_lights_size=1
gl_lights_intensity=1
gl_lights_checkside=true
gl_attachedlights=true
gl_dynlight_shader=false
gl_lights=true
gl_usefb=false
gl_mask_sprite_threshold=0.5
gl_no_skyclear=false
gl_sky_detail=16
gl_enhanced_nv_stealth=3
gl_billboard_particles=true
gl_billboard_mode=0
gl_particles_style=2
gl_sprite_blend=false
gl_spritebrightfog=false
gl_usecolorblending=true
gl_sort_textures=true
gl_texture_hqresize_targets=7
gl_texture_hqresize_maxinputsize=512
gl_texture_hqresize=0
gl_clamp_per_texture=false
gl_texture_format=0
gl_texture_filter=0
gl_texture_filter_anisotropic=1
gl_distfog=70
gl_light_ambient=20
gl_usevbo=-1
vid_tft=true
m_showinputgrid=false
m_show_backbutton=0
m_use_mouse=1
show_messages=true
mouse_sensitivity=1
map_point_coordinates=true
vid_aspect=0
vid_nowidescreen=false
vid_refreshrate=0
vid_vsync=false
vid_defbits=8
vid_defheight=480
vid_defwidth=640
Gamma=1
masterhostname=master.zandronum.com
sv_showwarnings=false
statfile=zdoomstat.txt
savestatistics=0
r_drawspectatingstring=true
snd_flipstereo=false
snd_channels=32
r_columnmethod=1
r_quakeintensity=1
cl_oldfreelooklimit=false
cl_spectatormove=1
cl_noprediction=false
telezoom=true
r_fakecontrast=1
chase_dist=90
chase_height=-8
gl_cachetime=0.6
gl_cachenodes=true
nomonsterinterpolation=false
authhostname=auth.zandronum.com:16666
png_gamma=0
png_level=5
screenshot_dir=
screenshot_type=png
screenshot_quiet=false
use_joystick=false
autosavecount=4
disableautosave=0
autosavenum=0
smooth_mouse=false
m_side=2
m_forward=1
m_yaw=1
m_pitch=1
lookstrafe=false
freelook=true
invertmouse=false
cl_run=true
demo_compress=true
save_dir=
longsavemessages=true
storesavepic=true
nofilecompression=false
cl_capfps=false
defaultiwad=
queryiwad=true
demo_pure=true
con_ctrl_d=
snd_announcervolume=1
cl_allowmultipleannouncersounds=true
cl_alwaysplayfragsleft=false
showendoom=0
gl_vid_multisample=0
bgamma=1
ggamma=1
rgamma=1
vid_asyncblit=true
vid_displaybits=8
mouse_capturemode=1
cl_soundwhennotactive=true
sdl_nokeyrepeat=false
m_filter=false
m_noprescale=false
use_mouse=true
vid_winscale=1
fullscreen=false
vid_maxfps=200
vid_renderer=0
[GlobalSettings.Unknown]

13
desktop/.ideavimrc Normal file
View file

@ -0,0 +1,13 @@
let mapleader=" "
set easymotion
set multiple-cursors
set commentary
set surround
set sneak
" Copy to system clipboard as well
set clipboard+=unnamedplus
vnoremap < <gv
vnoremap > >gv

6
desktop/.xsession Normal file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
autorandr -c
if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi
xrdb -merge <<< "awesome.started:true"
picom -b --config $HOME/.config/picom.conf
dex-autostart --environment Awesome --autostart --search-paths "$HOME/.config/autostart:$HOME/autostart"

View file

@ -1,11 +0,0 @@
#!/bin/bash
git submodule update --init --recursive
cp ./.config ~ -r
cp ./.zcustom ~ -r
cp ./.zplug ~ -r
cp ./.oh-my-zsh ~ -r
cp ./.zshrc ~
cp ./.vimrc ~
cp ./.ideavimrc ~

View file

@ -1,22 +0,0 @@
echo 'Starting installation'
sudo dnf install -y \
git zsh vim-enhanced tig \
guake gvim firefox thunderbird keepassxc filezilla telegram-desktop nextcloud-client libreoffice lpf-spotify-client teamviewer flameshot \
gnome-tweak-tool poedit pavucontrol ibus-uniemoji xsel apache-ant \
mpv xt7-player-mpv \
docker-ce docker-compose \
php-cli php-json php-mysqli php-zip php-xml php-mbstring php-xdebug mysql wp-cli java
echo 'Switching shell to zsh'
chsh -s $(which zsh)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cd ~
mkdir workspace
cd workspace
git clone https://git.doggoat.de/dhalucario/devconf.git
git submodule update --init --recusive
rm README.md.html
cp * ../
cp .* ../
vim +PlugInstall +qall

View file

@ -0,0 +1,29 @@
[window]
padding = { x = 5, y = 5}
opacity = 0.95
blur = true
[shell]
program = "/usr/bin/tmux"
[font]
size = 13.0
[font.bold]
family = "Hack"
style = "Bold"
[font.bold_italic]
family = "Hack"
style = "Bold Italic"
[font.italic]
family = "Hack"
style = "Italic"
[font.normal]
family = "Hack"
style = "Regular"

View file

@ -0,0 +1,14 @@
if status is-interactive
# Commands to run in interactive sessions can go here
end
# tabtab source for packages
# uninstall by removing these lines
[ -f ~/.config/tabtab/fish/__tabtab.fish ]; and . ~/.config/tabtab/fish/__tabtab.fish; or true
# pnpm
set -gx PNPM_HOME "$HOME/.local/share/pnpm"
if not string match -q -- $PNPM_HOME $PATH
set -gx PATH "$PNPM_HOME" $PATH
end
# pnpm end

View file

@ -0,0 +1,544 @@
# Nushell Config File
#
# version = 0.79.0
# For more information on defining custom themes, see
# https://www.nushell.sh/book/coloring_and_theming.html
# And here is the theme collection
# https://github.com/nushell/nu_scripts/tree/main/themes
let dark_theme = {
# color for nushell primitives
separator: white
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: {|| if $in { 'light_cyan' } else { 'light_gray' } }
int: white
filesize: {|e|
if $e == 0b {
'white'
} else if $e < 1mb {
'cyan'
} else { 'blue' }
}
duration: white
date: {|| (date now) - $in |
if $in < 1hr {
'purple'
} else if $in < 6hr {
'red'
} else if $in < 1day {
'yellow'
} else if $in < 3day {
'green'
} else if $in < 1wk {
'light_green'
} else if $in < 6wk {
'cyan'
} else if $in < 52wk {
'blue'
} else { 'dark_gray' }
}
range: white
float: white
string: white
nothing: white
binary: white
cellpath: white
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_closure: green_bold
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: white bg: red attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_match_pattern: green
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
shape_vardecl: purple
}
let light_theme = {
# color for nushell primitives
separator: dark_gray
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
header: green_bold
empty: blue
# Closures can be used to choose colors for specific values.
# The value (in this case, a bool) is piped into the closure.
bool: {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
int: dark_gray
filesize: {|e|
if $e == 0b {
'dark_gray'
} else if $e < 1mb {
'cyan_bold'
} else { 'blue_bold' }
}
duration: dark_gray
date: {|| (date now) - $in |
if $in < 1hr {
'purple'
} else if $in < 6hr {
'red'
} else if $in < 1day {
'yellow'
} else if $in < 3day {
'green'
} else if $in < 1wk {
'light_green'
} else if $in < 6wk {
'cyan'
} else if $in < 52wk {
'blue'
} else { 'dark_gray' }
}
range: dark_gray
float: dark_gray
string: dark_gray
nothing: dark_gray
binary: dark_gray
cellpath: dark_gray
row_index: green_bold
record: white
list: white
block: white
hints: dark_gray
shape_and: purple_bold
shape_binary: purple_bold
shape_block: blue_bold
shape_bool: light_cyan
shape_closure: green_bold
shape_custom: green
shape_datetime: cyan_bold
shape_directory: cyan
shape_external: cyan
shape_externalarg: green_bold
shape_filepath: cyan
shape_flag: blue_bold
shape_float: purple_bold
# shapes are used to change the cli syntax highlighting
shape_garbage: { fg: white bg: red attr: b}
shape_globpattern: cyan_bold
shape_int: purple_bold
shape_internalcall: cyan_bold
shape_list: cyan_bold
shape_literal: blue
shape_match_pattern: green
shape_matching_brackets: { attr: u }
shape_nothing: light_cyan
shape_operator: yellow
shape_or: purple_bold
shape_pipe: purple_bold
shape_range: yellow_bold
shape_record: cyan_bold
shape_redirection: purple_bold
shape_signature: green_bold
shape_string: green
shape_string_interpolation: cyan_bold
shape_table: blue_bold
shape_variable: purple
shape_vardecl: purple
}
# External completer example
# let carapace_completer = {|spans|
# carapace $spans.0 nushell $spans | from json
# }
# The default config record. This is where much of your global configuration is setup.
let-env config = {
# true or false to enable or disable the welcome banner at startup
show_banner: true
ls: {
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
}
rm: {
always_trash: false # always act as if -t was given. Can be overridden with -p
}
cd: {
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
}
table: {
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
show_empty: true # show 'empty list' and 'empty record' placeholders for command output
trim: {
methodology: wrapping # wrapping or truncating
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
}
}
explore: {
help_banner: true
exit_esc: true
command_bar_text: '#C4C9C6'
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
highlight: {bg: 'yellow' fg: 'black' }
status: {
# warn: {bg: 'yellow', fg: 'blue'}
# error: {bg: 'yellow', fg: 'blue'}
# info: {bg: 'yellow', fg: 'blue'}
}
try: {
# border_color: 'red'
# highlighted_color: 'blue'
# reactive: false
}
table: {
split_line: '#404040'
cursor: true
line_index: true
line_shift: true
line_head_top: true
line_head_bottom: true
show_head: true
show_index: true
# selected_cell: {fg: 'white', bg: '#777777'}
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
# selected_column: blue
# padding_column_right: 2
# padding_column_left: 2
# padding_index_left: 2
# padding_index_right: 1
}
config: {
cursor_color: {bg: 'yellow' fg: 'black' }
# border_color: white
# list_color: green
}
}
history: {
max_size: 10000 # Session has to be reloaded for this to take effect
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
file_format: "plaintext" # "sqlite" or "plaintext"
}
completions: {
case_sensitive: false # set to true to enable case-sensitive completions
quick: true # set this to false to prevent auto-selecting completions when only one remains
partial: true # set this to false to prevent partial filling of the prompt
algorithm: "prefix" # prefix or fuzzy
external: {
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
completer: null # check 'carapace_completer' above as an example
}
}
filesize: {
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
}
cursor_shape: {
emacs: line # block, underscore, line (line is the default)
vi_insert: block # block, underscore, line (block is the default)
vi_normal: underscore # block, underscore, line (underscore is the default)
}
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
use_grid_icons: true
footer_mode: "25" # always, never, number_of_rows, auto
float_precision: 2 # the precision for displaying floats in tables
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
use_ansi_coloring: true
edit_mode: emacs # emacs, vi
shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
hooks: {
pre_prompt: [{||
null # replace with source code to run before the prompt is shown
}]
pre_execution: [{||
null # replace with source code to run before the repl input is run
}]
env_change: {
PWD: [{|before, after|
null # replace with source code to run if the PWD environment is different since the last repl input
}]
}
display_output: {||
if (term size).columns >= 100 { table -e } else { table }
}
command_not_found: {||
null # replace with source code to return an error message when a command is not found
}
}
menus: [
# Configuration for default nushell menus
# Note the lack of source parameter
{
name: completion_menu
only_buffer_difference: false
marker: "| "
type: {
layout: columnar
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: history_menu
only_buffer_difference: true
marker: "? "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
{
name: help_menu
only_buffer_difference: true
marker: "? "
type: {
layout: description
columns: 4
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
}
# Example of extra menus created using a nushell source
# Use the source field to create a list of records that populates
# the menu
{
name: commands_menu
only_buffer_difference: false
marker: "# "
type: {
layout: columnar
columns: 4
col_width: 20
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
{
name: vars_menu
only_buffer_difference: true
marker: "# "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.vars
| where name =~ $buffer
| sort-by name
| each { |it| {value: $it.name description: $it.type} }
}
}
{
name: commands_with_description
only_buffer_difference: true
marker: "# "
type: {
layout: description
columns: 4
col_width: 20
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
$nu.scope.commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
]
keybindings: [
{
name: completion_menu
modifier: none
keycode: tab
mode: [emacs vi_normal vi_insert]
event: {
until: [
{ send: menu name: completion_menu }
{ send: menunext }
]
}
}
{
name: completion_previous
modifier: shift
keycode: backtab
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
event: { send: menuprevious }
}
{
name: history_menu
modifier: control
keycode: char_r
mode: emacs
event: { send: menu name: history_menu }
}
{
name: next_page
modifier: control
keycode: char_x
mode: emacs
event: { send: menupagenext }
}
{
name: undo_or_previous_page
modifier: control
keycode: char_z
mode: emacs
event: {
until: [
{ send: menupageprevious }
{ edit: undo }
]
}
}
{
name: yank
modifier: control
keycode: char_y
mode: emacs
event: {
until: [
{edit: pastecutbufferafter}
]
}
}
{
name: unix-line-discard
modifier: control
keycode: char_u
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cutfromlinestart}
]
}
}
{
name: kill-line
modifier: control
keycode: char_k
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{edit: cuttolineend}
]
}
}
# Keybindings used to trigger the user defined menus
{
name: commands_menu
modifier: control
keycode: char_t
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_menu }
}
{
name: vars_menu
modifier: alt
keycode: char_o
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: vars_menu }
}
{
name: commands_with_description
modifier: control
keycode: char_s
mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_with_description }
}
]
}
source ~/.oh-my-posh.nu
let-env EDITOR = nvim

View file

@ -0,0 +1,86 @@
# Nushell Environment Config File
#
# version = 0.79.0
def create_left_prompt [] {
mut home = ""
try {
if $nu.os-info.name == "windows" {
$home = $env.USERPROFILE
} else {
$home = $env.HOME
}
}
let dir = ([
($env.PWD | str substring 0..($home | str length) | str replace -s $home "~"),
($env.PWD | str substring ($home | str length)..)
] | str join)
let path_segment = if (is-admin) {
$"(ansi red_bold)($dir)"
} else {
$"(ansi green_bold)($dir)"
}
$path_segment
}
def create_right_prompt [] {
let time_segment = ([
(ansi reset)
(ansi magenta)
(date now | date format '%m/%d/%Y %r')
] | str join)
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
(ansi rb)
($env.LAST_EXIT_CODE)
] | str join)
} else { "" }
([$last_exit_code, (char space), $time_segment] | str join)
}
# Use nushell functions to define your right and left prompt
let-env PROMPT_COMMAND = {|| create_left_prompt }
let-env PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
# The prompt indicators are environmental variables that represent
# the state of the prompt
let-env PROMPT_INDICATOR = {|| "> " }
let-env PROMPT_INDICATOR_VI_INSERT = {|| ": " }
let-env PROMPT_INDICATOR_VI_NORMAL = {|| "> " }
let-env PROMPT_MULTILINE_INDICATOR = {|| "::: " }
# Specifies how environment variables are:
# - converted from a string to a value on Nushell startup (from_string)
# - converted from a value back to a string when running external commands (to_string)
# Note: The conversions happen *after* config.nu is loaded
let-env ENV_CONVERSIONS = {
"PATH": {
from_string: { |s| $s | split row (char esep) | path expand -n }
to_string: { |v| $v | path expand -n | str join (char esep) }
}
"Path": {
from_string: { |s| $s | split row (char esep) | path expand -n }
to_string: { |v| $v | path expand -n | str join (char esep) }
}
}
# Directories to search for scripts when calling source or use
#
# By default, <nushell-config-dir>/scripts is added
let-env NU_LIB_DIRS = [
($nu.default-config-dir | path join 'scripts')
]
# Directories to search for plugin binaries when calling register
#
# By default, <nushell-config-dir>/plugins is added
let-env NU_PLUGIN_DIRS = [
($nu.default-config-dir | path join 'plugins')
]
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')

View file

@ -0,0 +1,21 @@
source ~/.vimrc
lua << EOF
require('nvim-treesitter.configs').setup {
auto_install = true,
highlight = {
enable = true,
},
}
vim.g.coq_settings = {
keymap = { recommended = true },
auto_start = 'shut-up',
clients = {
tmux = { enabled = true },
},
}
require('coq')
EOF

3
shell/.config/omf/bundle Normal file
View file

@ -0,0 +1,3 @@
package git@github.com:PatrickF1/fzf.fish.git
theme default
theme sashimi

View file

@ -0,0 +1 @@
stable

View file

@ -0,0 +1,21 @@
export DENO_INSTALL="$HOME/.deno"
fish_add_path $DENO_INSTALL/bin
fish_add_path $HOME/.local/bin
fish_add_path $HOME/.cargo/bin
export BROWSER="firefox"
if type -q lvim
export EDITOR="lvim"
alias vim lvim
else
export EDITOR="vim"
end
alias gitroot='cd $(git rev-parse --show-toplevel)'
alias dc-up="docker compose up"
alias dc-upd="docker compose up -d"
alias dc-down="docker compose down"
alias kubectl="minikube kubectl --"
# abbr cd $(find ~/workspace -mindepth 1 -maxdepth 1 -type d | sed "s|$HOME|~|g" | fzf)
alias ws="cd ~/workspace/\$(ls ~/workspace | fzf)"

1
shell/.config/omf/theme Normal file
View file

@ -0,0 +1 @@
sashimi

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/appimagelauncherd.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire-pulse.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/syncthing.service

View file

@ -0,0 +1,16 @@
[Unit]
Description=Mopidy music server
After=avahi-daemon.service
After=dbus.service
After=network-online.target
Wants=network-online.target
After=nss-lookup.target
After=pulseaudio.service
After=remote-fs.target
After=sound.target
[Service]
ExecStart=/usr/bin/mopidy
[Install]
WantedBy=multi-user.target

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