Compare commits

...

133 Commits

Author SHA1 Message Date
288be4bd96 Set external monitor to fixed position 2025-11-07 02:04:18 +01:00
afec522f39 Update fish variables 2025-11-07 01:16:22 +01:00
4d8ad1d6d3 Set default applications via MIME 2025-10-30 11:12:22 +01:00
fe51ba9a90 Disable recoloring by default in Zathura 2025-10-30 11:11:28 +01:00
291dcd3955 Add tmpdir alias 2025-10-30 11:11:14 +01:00
94c6278db4 Parse through Downloads folder with finder script 2025-10-29 17:11:45 +01:00
2b7b2a5e58 Remove unused scripts 2025-10-09 16:54:58 +02:00
412212719c Restore autotagging functionality of beets 2025-10-09 16:54:33 +02:00
3bc57b4593 Use clipboard manager with image support 2025-10-04 19:24:15 +02:00
572854dbd0 Disable org pomodoro functionality in Waybar 2025-08-29 01:46:51 +02:00
5d9699df24 Fix automatic assignment of Chromium to workspace 2025-08-29 01:41:00 +02:00
336bb2a2b8 Update known hosts 2025-08-29 01:40:37 +02:00
50f09af5e9 Add keybinding for screenshots 2025-08-29 01:39:25 +02:00
3e6baf384c Initialize Flake dev projects only with one file 2025-08-29 01:38:09 +02:00
4d5c984575 Update global gitignore 2025-08-29 01:37:32 +02:00
a83bbd299d Add yt-dlp configuration 2025-08-27 11:08:33 +02:00
1787b7da6a Adapt goimapnotify configuration to YAML 2025-05-18 17:45:52 +02:00
5c326f2e01 Add git credential mapping for new domain 2025-04-10 13:20:34 +02:00
7eb67000e4 Add new mail folder to mail configuration 2025-04-10 13:20:09 +02:00
d582f89568 Remove catt config 2025-04-10 13:19:57 +02:00
c70388ba07 Update global gitignore 2025-04-10 13:19:48 +02:00
5d80befa63 Apply color profile for laptop screen 2025-04-01 00:58:44 +02:00
fd17f874d7 Add script to convert ZFS legacy mountpoint 2025-04-01 00:49:03 +02:00
9b73bc787b Remove UGent email account configuration 2025-04-01 00:38:23 +02:00
1dd5e8f092 Update SSH hosts 2025-04-01 00:37:35 +02:00
e136885293 Set quality settings for yt-dlp 2025-04-01 00:36:03 +02:00
c7f1c7ac6b Remove kathreftis from SSH hosts 2024-11-19 13:59:22 +01:00
c2d829b34d Change IP of kathreftis 2024-09-15 23:24:07 +02:00
877bdb115f Add TinHifi C0 convolver 2024-09-15 23:23:22 +02:00
a6d65a3f7c Remove CGM value script from Waybar 2024-07-30 20:53:20 +02:00
97a5faf876 Add kathreftis to SSH hosts 2024-05-28 13:19:57 +02:00
9d44d0d25f Add Koss KPH40 convolver 2024-05-28 13:19:00 +02:00
ce95f5c5c0 Revert "Improve performance of yt-dlp with user agent"
This reverts commit 34990f45c5.
2024-03-15 00:08:04 +01:00
6cef994d2c Ignore ccls files in git 2024-03-05 23:51:26 +01:00
5e924530ba Add KZ ZVX convolver 2024-02-05 23:39:02 +01:00
34990f45c5 Improve performance of yt-dlp with user agent 2024-02-05 23:38:24 +01:00
26a36504d0 Parse year in peerflix script 2024-02-05 23:36:58 +01:00
666ba4e5d9 Simplify search pattern for file finder script 2024-01-18 22:14:46 +01:00
1129dcabb0 Remove kermit-gpu from SSH hosts 2024-01-15 14:25:17 +01:00
b3f64d4683 Update kanshi config to new device 2024-01-15 02:54:18 +01:00
6475998fc7 Remove git-ignore-line script 2024-01-08 22:35:29 +01:00
2e6c12c4f9 Adapt config to new device 2024-01-08 03:01:54 +01:00
421401c207 Revert "Use dmabuf backend in mpv"
This reverts commit 60a829f526.
2024-01-08 02:38:44 +01:00
30d8b5404c Adapt Easyeffects presets to new device 2024-01-07 08:10:20 +01:00
8b817c8e54 Use the proper terminal name in tmux 2024-01-05 18:07:39 +01:00
87e2f7f595 Adapt teams matching mechanism to fork 2024-01-05 18:06:39 +01:00
39e1dd3e1f Save position of videos in MPV 2024-01-05 18:04:55 +01:00
f3b83e85df Update SSH hosts 2024-01-05 18:04:47 +01:00
4a8e71c6d5 Add Thinkpad T14S Gen 3 convolver 2024-01-05 18:04:08 +01:00
60a829f526 Use dmabuf backend in mpv 2023-09-02 02:43:35 +02:00
43a56b7bfc Adapt emacs matching mechanism in sway to wayland 2023-09-02 02:42:21 +02:00
1bb7c44c37 Decrease cadence of custom waybar scripts 2023-09-02 02:42:00 +02:00
7541dd8954 Set default casting device for catt 2023-07-14 11:45:20 +01:00
ace73a76be Add nix-shell alias 2023-07-14 10:58:09 +01:00
cc3e6654df Set brightness to 70% in laptop mode 2023-06-13 16:27:42 +02:00
672b735752 Update known_hosts 2023-06-13 16:27:28 +02:00
10ccea25a3 Connect to SSH without compression for zion 2023-06-13 16:27:12 +02:00
474357ed98 Remove nix config files 2023-06-13 16:26:57 +02:00
bcec83476c Add CGM direction arrow to Waybar 2023-05-24 19:10:57 +02:00
87cbce4084 Add CGM value to Waybar 2023-05-24 17:19:40 +02:00
554b794ad2 Improve csv parsing and error handling in peerflix 2023-05-15 16:47:27 +02:00
2db9446294 Update nerd font icons due to upstream changes 2023-05-09 04:45:23 +02:00
3bfa8383bb Change emacs light theme to os1 2023-04-25 07:27:26 +02:00
88d7f81d1c Jump to the end of journalctl logs by default 2023-04-25 07:24:52 +02:00
6b734aabf3 Update nvim nord repo and switch-theme script 2023-04-12 15:56:28 +02:00
1d5521bca6 Update README 2023-04-11 01:21:08 +02:00
214cae809d Assign MS Teams to specific workspace 2023-03-22 23:23:42 +01:00
a1aeb66814 Save poetry venv inside the project 2023-03-21 22:19:56 +01:00
0384c78706 Update SSH hosts 2023-03-13 10:28:29 +01:00
95a5576bd6 Revert back to the wayland backend for MPV 2023-03-13 10:27:38 +01:00
3be7820be2 Copy shell.nix for remote-git projects 2023-02-25 01:16:51 +01:00
2ec144e902 Enable recolor and best-fit adjustement in zathura 2023-02-16 14:51:55 +01:00
80d0d8433f Replace spaces with underline in subject script 2023-02-14 15:46:23 +01:00
4779337530 Show the progress of the iptv script on stdout 2023-02-04 16:20:19 +01:00
9e5203a6b7 Switch to Rosé Pine as light theme 2023-02-01 08:17:17 +01:00
7fb7569e18 Switch to Gruvbox as light theme 2023-02-01 04:33:37 +01:00
b2f54d5d6e Switch to Nord colorscheme as dark theme 2023-02-01 03:38:06 +01:00
eef3078518 Move euro symbol keybinding to 4 2023-01-24 16:56:21 +01:00
24bb42fbaa Separate albums in playlist view 2023-01-23 18:43:28 +01:00
5e58673aa2 Update SSH hosts 2023-01-23 18:43:20 +01:00
b485b6649f Stop PDF recoloring by default in zathura 2023-01-13 21:37:03 +01:00
814bbbc1b5 Add Earth View wallpaper download script 2023-01-13 21:36:18 +01:00
32d869d7e0 Use the US international with AltGr dead keys 2023-01-13 21:35:16 +01:00
7c79d67381 Update location of peerflix-db 2023-01-13 21:34:40 +01:00
81edcfd66b Remove IM window from local tmux session 2023-01-10 17:49:57 +01:00
0b8bd6f674 Use the US international layout 2023-01-10 17:47:25 +01:00
d5c755be58 Add CLI argument check in shebang-patcher 2022-12-27 11:02:25 +01:00
d927b1d645 Rename Easy Effects sink in waybar 2022-12-19 18:26:09 +01:00
419e823d97 Revert "Add PCS lab to SSH hosts"
This reverts commit 2bafe12889.
2022-12-19 18:25:53 +01:00
179ff2c636 Use VLC for iptv 2022-12-05 12:12:11 +01:00
0e9d6ac325 Use constants in the iptv scripts 2022-12-05 11:52:50 +01:00
0d0b51fb09 Add script to stream World Cup 2022-12-05 11:08:50 +01:00
21daa33a81 Change emacs light theme to solarized light 2022-12-01 11:06:13 +01:00
3a16db8de9 Decrease screen backlight to 60% 2022-12-01 11:06:09 +01:00
c6c73741f2 Open URL by clicking on it in kitty 2022-12-01 11:06:09 +01:00
7669aabdeb Copy nix files on init action in project-init 2022-12-01 11:06:09 +01:00
36cffdcd00 Improve parsing of peerflix 2022-11-26 23:47:55 +01:00
2bafe12889 Add PCS lab to SSH hosts 2022-11-18 13:59:45 +01:00
fe83c4be25 Use pipewire and dmabuf as backends in MPV 2022-11-18 13:58:19 +01:00
91c92e08d2 Remove line number neovim hack in switch-theme 2022-11-18 13:57:49 +01:00
f6ace04d40 Add existing project init to project-init 2022-11-16 09:40:25 +01:00
3df053ff6d Add LFS config to git 2022-11-16 09:39:53 +01:00
977cd4a99f Remove redundant shell alias 2022-11-04 14:35:50 +01:00
8e79ec4823 Removed commented code from waybar config 2022-11-02 22:23:53 +01:00
df8305f1e9 Don't disable external monitor when lid is closed 2022-11-01 20:02:22 +01:00
fdd5a029bf Kill firefox sharing indicator automatically 2022-11-01 20:02:21 +01:00
0e4424e1e4 Remove redundant git config 2022-11-01 20:02:21 +01:00
afb3633767 Update SSH hosts 2022-11-01 20:02:21 +01:00
73e9ab7c13 Fix font color problem in waybar 2022-11-01 20:02:20 +01:00
7bcd9aff7c Improve torrent name parsing of peerflix 2022-10-30 23:11:15 +01:00
5c8729b209 Add org-protocol desktop file 2022-10-28 09:46:07 +02:00
7d99784249 Change location of nix files in project-init 2022-10-20 10:35:44 +02:00
e66228c107 Add python data science type in project-init 2022-10-20 09:00:14 +02:00
1d2e5d0571 Refactor directory creation in project-init 2022-10-20 09:00:05 +02:00
403272e426 Force external display resolution in kanshi 2022-10-19 13:48:51 +02:00
4d7320418f Revert "Use delta as git diff pager"
This reverts commit b37187f79e.
2022-10-19 13:48:34 +02:00
1a508bd19e Remove redundant resolution value from kanshi 2022-10-18 14:57:03 +02:00
dbf7828baa Add jupyter checkpoints to global gitignore 2022-10-18 14:57:03 +02:00
9653b8c936 Remove neovim config for neomutt and markdown 2022-10-18 14:57:02 +02:00
d6943d6162 Remove fff config 2022-10-18 14:57:02 +02:00
d5325c5e72 Create kermit-gpu tmuxp session 2022-10-18 14:57:02 +02:00
bd12619ee6 Stop resizing zathura to 70% on workspace 4 2022-10-18 14:57:02 +02:00
34558df58c Replace neomutt with mu4e 2022-10-18 14:57:02 +02:00
4c3a9c65ee Add alias for systemctl --user 2022-09-17 12:14:34 +02:00
252568eb6b Monitor all mailboxes with goimapnotify 2022-09-17 12:14:14 +02:00
88aa7ddc6d Change emacs and delta themes in switch-theme 2022-09-12 01:07:03 +02:00
df08d3b604 Remove idlab files 2022-09-10 13:23:14 +02:00
2023c27d06 Add alias for journalctl --user 2022-09-10 06:17:27 +02:00
d0d686b472 Add shebang-patcher script 2022-09-09 19:18:56 +02:00
cfafac3cae Add IM window to local tmux session 2022-09-09 17:48:49 +02:00
3e7e9342b9 Increase MPD timeout 2022-09-06 22:27:18 +02:00
c398b49653 Update SSH hosts 2022-09-06 22:26:46 +02:00
ef7d21638d Add nix-ld option to project-init 2022-09-04 08:45:22 +02:00
86 changed files with 534 additions and 2064 deletions

View File

@@ -22,5 +22,5 @@ cd ~/.dotfiles
3. Run stow 3. Run stow
#+BEGIN_SRC sh #+BEGIN_SRC sh
stow * stow */
#+END_SRC #+END_SRC

View File

@@ -8,7 +8,7 @@ import:
incremental: yes incremental: yes
quiet_fallback: skip quiet_fallback: skip
timid: no timid: no
plugins: fetchart embedart plugins: fetchart embedart musicbrainz
art_filename: folder art_filename: folder
fetchart: fetchart:
cover_format: jpeg cover_format: jpeg

Binary file not shown.

View File

@@ -0,0 +1,2 @@
[MIME Cache]
x-scheme-handler/org-protocol=org-protocol.desktop;

View File

@@ -0,0 +1,7 @@
[Desktop Entry]
Name=org-protocol
Exec=emacsclient %u
Type=Application
Terminal=false
Categories=System;
MimeType=x-scheme-handler/org-protocol;

View File

@@ -1,6 +0,0 @@
{
"device": "alsa_output.pci-0000_00_1f.3.analog-stereo",
"device-description": "Built-in Audio Analog Stereo",
"device-profile": "analog-output-headphones",
"preset-name": "AKG K361"
}

View File

@@ -1,6 +0,0 @@
{
"device": "alsa_output.pci-0000_00_1f.3.analog-stereo",
"device-description": "Built-in Audio Analog Stereo",
"device-profile": "analog-output-speaker",
"preset-name": "Advanced Auto Gain"
}

View File

@@ -0,0 +1,6 @@
{
"device": "alsa_output.pci-0000_04_00.6.analog-stereo",
"device-description": "Family 17h/19h HD Audio Controller Analog Stereo",
"device-profile": "analog-output-headphones",
"preset-name": "AKG K361"
}

View File

@@ -0,0 +1,6 @@
{
"device": "alsa_output.pci-0000_04_00.6.analog-stereo",
"device-description": "Family 17h/19h HD Audio Controller Analog Stereo",
"device-profile": "analog-output-speaker",
"preset-name": "Laptop speakers"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,16 @@
{
"output": {
"blocklist": [],
"convolver#0": {
"autogain": true,
"bypass": false,
"input-gain": 0.0,
"ir-width": 100,
"kernel-path": "/home/coolneng/.config/easyeffects/irs/AKG K361.irs",
"output-gain": 0.0
},
"plugins_order": [
"convolver#0"
]
}
}

View File

@@ -0,0 +1,16 @@
{
"output": {
"blocklist": [],
"convolver#0": {
"autogain": true,
"bypass": false,
"input-gain": 0.0,
"ir-width": 100,
"kernel-path": "/home/coolneng/.config/easyeffects/irs/AKG K361.irs",
"output-gain": 0.0
},
"plugins_order": [
"convolver#0"
]
}
}

View File

@@ -0,0 +1,16 @@
{
"output": {
"blocklist": [],
"convolver#0": {
"autogain": true,
"bypass": false,
"input-gain": 0.0,
"ir-width": 100,
"kernel-name": "AKG K361",
"output-gain": 0.0
},
"plugins_order": [
"convolver#0"
]
}
}

View File

@@ -6,31 +6,20 @@ set -g man_standout -o blue
set -g man_bold -o magenta set -g man_bold -o magenta
# Aliases # Aliases
alias f "fff"
alias bc "bc -l" alias bc "bc -l"
alias vim "nvim" alias vim "nvim"
alias docker-compose "podman-compose" alias docker-compose "podman-compose"
alias sc "systemctl" alias sc "systemctl"
alias jc "journalctl -u" alias scu "systemctl --user"
alias jc "journalctl -eu"
alias jcu "journalctl --user -eu"
alias webtorrent "webtorrent -i -o /tmp/webtorrent --mpv --player-args='--sub-auto=all --sub-file-paths=Subs:subs'" alias webtorrent "webtorrent -i -o /tmp/webtorrent --mpv --player-args='--sub-auto=all --sub-file-paths=Subs:subs'"
alias ns "nix-shell -p"
alias tmpdir "cd $(mktemp -d)"
# Additional paths # Additional paths
set PATH $PATH $HOME/.emacs.d/bin set PATH $PATH $HOME/.emacs.d/bin
set PATH $PATH $HOME/.local/share/scripts set PATH $PATH $HOME/.local/share/scripts
# fff settings
## colors [0-9]
set -x FFF_COL1 4
set -x FFF_COL2 8
# favourites
set -x FFF_FAV1 $HOME/Documents/Uni
set -x FFF_FAV2 $HOME/Documents/Papers
set -x FFF_FAV3 $HOME/Documents/Books/Academic
set -x FFF_FAV4 $HOME/Documents/Education
# keybindings
set -x FFF_KEY_MOVE off
set -x FFF_KEY_MOVE_ALL off
# Set up direnv # Set up direnv
eval (direnv hook fish) eval (direnv hook fish)

View File

@@ -3,7 +3,7 @@
SETUVAR __fish_init_2_39_8:\x1d SETUVAR __fish_init_2_39_8:\x1d
SETUVAR __fish_init_2_3_0:\x1d SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_init_3_x:\x1d SETUVAR __fish_init_3_x:\x1d
SETUVAR __fish_initialized:3400 SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:555\x1ebrblack SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:white\x1e\x2d\x2dbold SETUVAR fish_color_command:white\x1e\x2d\x2dbold
@@ -22,7 +22,7 @@ SETUVAR fish_color_operator:red
SETUVAR fish_color_param:cyan SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:green SETUVAR fish_color_quote:green
SETUVAR fish_color_redirection:red SETUVAR fish_color_redirection:red
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen SETUVAR fish_color_user:brgreen

View File

@@ -4,7 +4,6 @@
signingkey = 9893DA236405AF57 signingkey = 9893DA236405AF57
[core] [core]
excludesfile = /home/coolneng/.config/git/global_gitignore excludesfile = /home/coolneng/.config/git/global_gitignore
pager = delta
[credential] [credential]
helper = !pass-git-helper $@ helper = !pass-git-helper $@
[commit] [commit]
@@ -15,16 +14,11 @@
gpgsign = true gpgsign = true
[gitlab] [gitlab]
user = akasroua user = akasroua
[filter "git-ignore-line.sh"] [lfs]
clean = /home/coolneng/.dotfiles/scripts/.local/share/scripts/git-ignore-line.sh activitytimeout = 60
smudge = cat [filter "lfs"]
[interactive] clean = git-lfs clean -- %f
diffFilter = delta --color-only smudge = git-lfs smudge -- %f
[add.interactive] process = git-lfs filter-process
useBuiltin = false # required for git 2.37.0 required = true
[delta]
navigate = true # use n and N to move between diff sections
[merge]
conflictstyle = diff3
[diff]
colorMoved = default

View File

@@ -4,8 +4,10 @@ CMakeFiles/
cmake_install.cmake cmake_install.cmake
compile_commands.json compile_commands.json
Debug/ Debug/
.ccls
.ccls-cache .ccls-cache
.cache .cache
.clang_complete
*.o *.o
# LaTeX # LaTeX
auto auto
@@ -18,6 +20,8 @@ auto
# Python # Python
.mypy_cache .mypy_cache
__pycache__ __pycache__
.ipynb_checkpoints
.venv
# Dev environment with Nix # Dev environment with Nix
.envrc .envrc
.direnv .direnv
@@ -30,3 +34,7 @@ __pycache__
.classpath .classpath
.project .project
.settings .settings
# Emacs
.projectile-cache.eld
# Platformio
.pio

View File

@@ -1,15 +0,0 @@
{
"host": "disroot.org",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "akasroua@disroot.org",
"passwordCmd": "pass mail/disroot",
"onNewMail": "mbsync disroot",
"onNewMailPost": "notmuch new",
"boxes": [
"INBOX"
]
}

View File

@@ -1,15 +0,0 @@
{
"host": "imap.gmail.com",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "akasroua@gmail.com",
"passwordCmd": "pass mail/gmail",
"onNewMail": "mbsync gmail",
"onNewMailPost": "notmuch new",
"boxes": [
"INBOX"
]
}

View File

@@ -0,0 +1,22 @@
configurations:
-
host: disroot.org
port: 993
tls: true
tlsOptions:
rejectUnauthorized: true
username: akasroua@disroot.org
passwordCmd: 'pass mail/disroot'
onNewMail: '~/.local/share/scripts/mail-sync disroot'
-
host: imap.gmail.com
port: 993
tls: true
tlsOptions:
rejectUnauthorized: true
username: akasroua@gmail.com
passwordCmd: 'pass mail/gmail'
onNewMail: '~/.local/share/scripts/mail-sync gmail'
boxes:
-
mailbox: INBOX

View File

@@ -1,16 +0,0 @@
{
"host": "outlook.office365.com",
"port": 993,
"tls": true,
"tlsOptions": {
"rejectUnauthorized": true
},
"username": "amin.kasrouaouam@ugent.be",
"passwordCmd": "/home/coolneng/.local/share/scripts/mutt_oauth2.py /home/coolneng/.cache/tokenfile",
"xoauth2": true,
"onNewMail": "mbsync ugent",
"onNewMailPost": "notmuch new",
"boxes": [
"INBOX"
]
}

View File

@@ -1,26 +1,26 @@
profile multihead-DP { profile multihead-dock {
output eDP-1 enable output eDP-1 enable position 1920,0
output DP-1 enable output DP-1 enable mode 1920x1080 position 0,0
exec swaymsg workspace "1: ", move workspace to eDP-1 exec swaymsg workspace "1: ", move workspace to eDP-1
exec swaymsg workspace "3: ", move workspace to eDP-1 exec swaymsg workspace "3: ", move workspace to eDP-1
exec swaymsg workspace "2: ", move workspace to DP-1 exec swaymsg workspace "2: ", move workspace to DP-1
exec swaymsg workspace "4: ", move workspace to DP-1 exec swaymsg workspace "4: 󱓷", move workspace to DP-1
exec light -S 100 exec light -S 100
exec light -s sysfs/leds/tpacpi::kbd_backlight -S 0 exec light -s sysfs/leds/tpacpi::kbd_backlight -S 0
} }
profile multihead-HDMI { profile multihead-HDMI {
output eDP-1 enable output eDP-1 enable position 0,0
output HDMI-A-2 enable output HDMI-A-1 enable mode 1920x1080 position 1920,0
exec swaymsg workspace "1: ", move workspace to eDP-1 exec swaymsg workspace "1: ", move workspace to eDP-1
exec swaymsg workspace "3: ", move workspace to eDP-1 exec swaymsg workspace "3: ", move workspace to eDP-1
exec swaymsg workspace "2: ", move workspace to HDMI-A-2 exec swaymsg workspace "2: ", move workspace to HDMI-A-2
exec swaymsg workspace "4: ", move workspace to HDMI-A-2 exec swaymsg workspace "4: 󱓷", move workspace to HDMI-A-2
exec light -S 100 exec light -S 100
exec light -s sysfs/leds/tpacpi::kbd_backlight -S 0 exec light -s sysfs/leds/tpacpi::kbd_backlight -S 0
} }
profile nomad { profile nomad {
output eDP-1 enable mode 1920x1080 output eDP-1 enable
exec light -S 70 exec light -S 50
} }

View File

@@ -989,9 +989,17 @@ map kitty_mod+delete clear_terminal reset active
#: }}} #: }}}
# }}} # }}}
#
# Open URL by clicking on it
mouse_map left press ungrabbed,grabbed mouse_click_url
confirm_os_window_close 0 confirm_os_window_close 0
# BEGIN_KITTY_THEME
# Nord
include current-theme.conf
# END_KITTY_THEME

View File

@@ -1,39 +0,0 @@
background #161821
foreground #c6c8d1
selection_background #1e2132
selection_foreground #c6c8d1
cursor #d2d4de
# black
color0 #161821
color8 #6b7089
# red
color1 #e27878
color9 #e98989
# green
color2 #b4be82
color10 #c0ca8e
# yellow/orange
color3 #e2a478
color11 #e9b189
# blue
color4 #84a0c6
color12 #91acd1
# magenta/purple
color5 #a093c7
color13 #ada0d3
# cyan
color6 #89b8c2
color14 #95c4ce
# white
color7 #c6c8d1
color15 #d2d4de

View File

@@ -1,40 +0,0 @@
background #e8e9ec
foreground #33374c
selection_background #d2d4dd
selection_foreground #33374c
cursor #33374c
cursor_text_color #e8e9ec
# black
color0 #dcdfe7
color8 #8389a3
# red
color1 #cc517a
color9 #cc3768
# green
color2 #668e3d
color10 #598030
# yellow/orange
color3 #c57339
color11 #b6662d
# blue
color4 #2d539e
color12 #22478e
# magenta/purple
color5 #7759b4
color13 #6845ad
# cyan
color6 #3f83a6
color14 #327698
# white
color7 #33374c
color15 #262a3f

View File

@@ -4,7 +4,7 @@ Host imap.gmail.com
User akasroua@gmail.com User akasroua@gmail.com
AuthMechs LOGIN AuthMechs LOGIN
PassCmd "pass mail/gmail" PassCmd "pass mail/gmail"
SSLType IMAPS TLSType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt CertificateFile /etc/ssl/certs/ca-certificates.crt
IMAPStore gmail-remote IMAPStore gmail-remote
@@ -14,7 +14,7 @@ MaildirStore gmail-local
Subfolders Verbatim Subfolders Verbatim
# The trailing "/" is important # The trailing "/" is important
Path ~/.mail/gmail/ Path ~/.mail/gmail/
Inbox ~/.mail/gmail/Inbox/ Inbox ~/.mail/gmail/inbox/
Channel sync-gmail-default Channel sync-gmail-default
Far :gmail-remote: Far :gmail-remote:
@@ -47,81 +47,26 @@ Create Both
Expunge Both Expunge Both
SyncState * SyncState *
Channel sync-gmail-archive
Far :gmail-remote:"[Gmail]/All Mail"
Near :gmail-local:archive
Create Both
Expunge Both
SyncState *
Group gmail Group gmail
Channel sync-gmail-default Channel sync-gmail-default
Channel sync-gmail-sent Channel sync-gmail-sent
Channel sync-gmail-trash Channel sync-gmail-trash
Channel sync-gmail-junk Channel sync-gmail-junk
Channel sync-gmail-archive
IMAPAccount ugent
Host outlook.office365.com
User amin.kasrouaouam@ugent.be
AuthMechs XOAUTH2
PassCmd "nix-shell -p python3 --command 'python /home/coolneng/.local/share/scripts/mutt_oauth2.py /home/coolneng/.cache/tokenfile'"
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
IMAPStore ugent-remote
Account ugent
MaildirStore ugent-local
Subfolders Verbatim
# The trailing "/" is important
Path ~/.mail/ugent/
Inbox ~/.mail/ugent/inbox/
Channel ugent-default
Far :ugent-remote:
Near :ugent-local:
Create Both
Expunge Both
SyncState *
Channel ugent-sent
Far :ugent-remote:"Sent Items"
Near :ugent-local:sent
Create Both
Expunge Both
SyncState *
Channel ugent-trash
Far :ugent-remote:"Deleted Items"
Near :ugent-local:trash
Create Both
Expunge Both
SyncState *
Channel ugent-archive
Far :ugent-remote:"Archive"
Near :ugent-local:archive
Create Both
Expunge Both
SyncState *
Channel ugent-junk
Far :ugent-remote:"Junk Email"
Near :ugent-local:junk
Create Both
Expunge Both
SyncState *
Group ugent
Channel ugent-default
Channel ugent-sent
Channel ugent-trash
Channel ugent-archive
Channel ugent-junk
IMAPAccount disroot IMAPAccount disroot
Host disroot.org Host disroot.org
User akasroua@disroot.org User akasroua@disroot.org
AuthMechs LOGIN AuthMechs LOGIN
PassCmd "pass mail/disroot" PassCmd "pass mail/disroot"
SSLType IMAPS TLSType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt CertificateFile /etc/ssl/certs/ca-certificates.crt
IMAPStore disroot-remote IMAPStore disroot-remote
@@ -164,6 +109,13 @@ Create Both
Expunge Both Expunge Both
SyncState * SyncState *
Channel sync-disroot-archive
Far :disroot-remote:"Archive"
Near :disroot-local:archive
Create Both
Expunge Both
SyncState *
Channel sync-disroot-bookings Channel sync-disroot-bookings
Far :disroot-remote:"Bookings" Far :disroot-remote:"Bookings"
Near :disroot-local:bookings Near :disroot-local:bookings
@@ -200,13 +152,24 @@ Create Both
Expunge Both Expunge Both
SyncState * SyncState *
Channel sync-disroot-jobs
Far :disroot-remote:"Jobs"
Near :disroot-local:jobs
Create Both
Expunge Both
SyncState *
Group disroot Group disroot
Channel sync-disroot-default Channel sync-disroot-default
Channel sync-disroot-sent Channel sync-disroot-sent
Channel sync-disroot-trash Channel sync-disroot-trash
Channel sync-disroot-archive
Channel sync-disroot-junk Channel sync-disroot-junk
Channel sync-disroot-bookings Channel sync-disroot-bookings
Channel sync-disroot-buying Channel sync-disroot-buying
Channel sync-disroot-services Channel sync-disroot-services
Channel sync-disroot-smart Channel sync-disroot-smart
Channel sync-disroot-travel Channel sync-disroot-travel
Channel sync-disroot-archive
Channel sync-disroot-jobs

View File

@@ -1,8 +1,72 @@
[Default Applications] [Default Applications]
application/pdf=org.pwmt.zathura.desktop
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop x-scheme-handler/https=firefox.desktop
x-scheme-handler/about=firefox.desktop x-scheme-handler/about=firefox.desktop
x-scheme-handler/unknown=firefox.desktop x-scheme-handler/unknown=firefox.desktop
x-scheme-handler/msteams=teams-for-linux.desktop
application/vnd.ms-asf=mpv.desktop
application/vnd.rn-realmedia=mpv.desktop
application/smil+xml=mpv.desktop
application/x-matroska=mpv.desktop
application/mxf=mpv.desktop
application/ogg=mpv.desktop
application/x-shorten=mpv.desktop
application/x-mobipocket-ebook=calibre-gui.desktop
application/x-sony-bbeb=calibre-gui.desktop
application/pdf=org.pwmt.zathura.desktop
application/vnd.oasis.opendocument.spreadsheet-flat-xml=calc.desktop
application/vnd.ms-works=calc.desktop
application/vnd.ms-excel=calc.desktop
application/x-quattropro=calc.desktop
application/vnd.dbf=calc.desktop
application/vnd.stardivision.calc=calc.desktop
application/vnd.oasis.opendocument.spreadsheet-template=calc.desktop
application/vnd.oasis.opendocument.chart=calc.desktop
application/vnd.oasis.opendocument.chart-template=calc.desktop
application/vnd.sun.xml.calc.template=calc.desktop
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=calc.desktop
application/x-gnumeric=calc.desktop
application/vnd.apple.numbers=calc.desktop
application/vnd.lotus-1-2-3=calc.desktop
application/vnd.oasis.opendocument.spreadsheet=calc.desktop
application/vnd.sun.xml.calc=calc.desktop
application/vnd.openxmlformats-officedocument.spreadsheetml.template=calc.desktop
application/vnd.stardivision.chart=calc.desktop
image/jpeg=swayimg.desktop
image/tiff=swayimg.desktop
image/x-tga=swayimg.desktop
image/png=swayimg.desktop
image/x-exr=swayimg.desktop
image/gif=swayimg.desktop
image/x-portable-anymap=swayimg.desktop
image/webp=swayimg.desktop
image/heif=swayimg.desktop
image/avif=swayimg.desktop
image/bmp=swayimg.desktop
image/svg+xml=swayimg.desktop
text/x-tex=emacsclient.desktop
text/x-c++src=emacsclient.desktop
text/x-java=emacsclient.desktop
text/x-chdr=emacsclient.desktop
text/tcl=emacsclient.desktop
text/markdown=emacsclient.desktop
text/x-pascal=emacsclient.desktop
text/x-makefile=emacsclient.desktop
text/x-moc=emacsclient.desktop
text/plain=emacsclient.desktop
text/x-csrc=emacsclient.desktop
text/x-c++hdr=emacsclient.desktop
text/html=firefox.desktop
application/bitwig-device=com.bitwig.BitwigStudio.desktop
application/bitwig-remote-controls=com.bitwig.BitwigStudio.desktop
application/bitwig-package=com.bitwig.BitwigStudio.desktop
application/bitwig-preset=com.bitwig.BitwigStudio.desktop
application/bitwig-module=com.bitwig.BitwigStudio.desktop
application/bitwig-scene=com.bitwig.BitwigStudio.desktop
application/vnd.bitwig.dawproject=com.bitwig.BitwigStudio.desktop
application/bitwig-project=com.bitwig.BitwigStudio.desktop
application/bitwig-template=com.bitwig.BitwigStudio.desktop
application/bitwig-modulator=com.bitwig.BitwigStudio.desktop
application/bitwig-extension=com.bitwig.BitwigStudio.desktop
application/bitwig-clip=com.bitwig.BitwigStudio.desktop

View File

@@ -1,5 +1,6 @@
# mpd # mpd
mpd_music_dir = "~/Music" mpd_music_dir = "~/Music"
mpd_connection_timeout = 60
## Selected tracks ## ## Selected tracks ##
selected_item_prefix = "* " selected_item_prefix = "* "
@@ -24,7 +25,7 @@ statusbar_visibility = "yes"
cyclic_scrolling = "yes" cyclic_scrolling = "yes"
titles_visibility = "no" titles_visibility = "no"
display_bitrate = "yes" display_bitrate = "yes"
playlist_separate_albums = "no" playlist_separate_albums = "yes"
ask_before_clearing_playlists = "no" ask_before_clearing_playlists = "no"
media_library_primary_tag = "album_artist" media_library_primary_tag = "album_artist"
media_library_hide_album_dates = "yes" media_library_hide_album_dates = "yes"

View File

@@ -5,17 +5,21 @@ sub-font='Roboto Condensed'
sub-auto=all sub-auto=all
sub-file-paths=Subs:subs sub-file-paths=Subs:subs
## HW Decoding ## HW Decoding
hwdec=auto-safe hwdec=vaapi
vo=gpu vo=gpu
profile=gpu-hq profile=gpu-hq
## Volume settings ## Volume settings
volume-max=200 volume-max=200
af=acompressor af=acompressor
## Youtube-dl settings ## Youtube-dl settings
ytdl-format=bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best ytdl-format=bestvideo[height<=1080][vcodec!=av1]+bestaudio/best
## Wayland ## Wayland
gpu-context=wayland gpu-context=wayland
## Default window size ## Default window size
geometry=70%x70% geometry=70%x70%
## HACK use API instead of lcoal database for sponsorblock ## HACK use API instead of lcoal database for sponsorblock
script-opts-append=sponsorblock-local_database=no script-opts-append=sponsorblock-local_database=no
## Use pipewire for audio
ao=pipewire
## Save position of the video
save-position-on-quit

View File

@@ -13,13 +13,6 @@ from akasroua@gmail.com
user akasroua@gmail.com user akasroua@gmail.com
passwordeval "pass mail/gmail" passwordeval "pass mail/gmail"
account ugent
auth xoauth2
host smtp.office365.com
from amin.kasrouaouam@ugent.be
user amin.kasrouaouam@ugent.be
passwordeval "nix-shell -p python3 --command 'python /home/coolneng/.local/share/scripts/mutt_oauth2.py /home/coolneng/.cache/tokenfile'"
account disroot account disroot
host disroot.org host disroot.org
from akasroua@disroot.org from akasroua@disroot.org

View File

@@ -1,28 +0,0 @@
# vim: filetype=neomuttrc
# muttrc file for account disroot
set realname = "Amin Kasrou Aouam"
set from = "akasroua@disroot.org"
set sendmail = "~/.config/neomutt/etc/sendmail disroot"
set folder = "~/.mail/disroot"
set mbox_type = Maildir
set ssl_starttls = yes
set ssl_force_tls = yes
bind index,pager gg noop
bind index,pager g noop
bind index gg first-entry
unmailboxes *
mailboxes =junk =inbox =trash =sent =bookings =buying =services =smart =travel
macro index,pager gi "<change-folder>=inbox<enter>" "Go to inbox."
macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
macro index,pager gj "<change-folder>=junk<enter>" "Go to spam."
macro index,pager gb "<change-folder>=bookings<enter>" "Go to bookings."
macro index,pager gy "<change-folder>=buying<enter>" "Go to buying."
macro index,pager ge "<change-folder>=services<enter>" "Go to services."
macro index,pager gm "<change-folder>=smart<enter>" "Go to smart."
macro index,pager gr "<change-folder>=travel<enter>" "Go to travel."
set spoolfile = "+inbox"
set postponed = ""
set trash = "+trash"

View File

@@ -1,24 +0,0 @@
# vim: filetype=neomuttrc
# muttrc file for account gmail
set realname = "Amin Kasrou Aouam"
set from = "akasroua@gmail.com"
set sendmail = "~/.config/neomutt/etc/sendmail gmail"
set folder = "~/.mail/gmail"
set mbox_type = Maildir
set ssl_starttls = yes
set ssl_force_tls = yes
bind index,pager gg noop
bind index,pager g noop
bind index gg first-entry
unmailboxes *
mailboxes =junk =Inbox =trash =sent
macro index,pager gi "<change-folder>=Inbox<enter>" "Go to inbox."
macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
macro index,pager gj "<change-folder>=junk<enter>" "Go to spam."
set spoolfile = "+Inbox"
set record = "+sent"
set postponed = ""
set trash = "+trash"

View File

@@ -1,25 +0,0 @@
# vim: filetype=neomuttrc
# muttrc file for account coolneng
set realname = "Amin Kasrou Aouam"
set from = "amin.kasrouaouam@ugent.be"
set sendmail = "~/.config/neomutt/etc/sendmail ugent"
set folder = "~/.mail/ugent"
set mbox_type = Maildir
set ssl_starttls = yes
set ssl_force_tls = yes
bind index,pager gg noop
bind index,pager g noop
bind index gg first-entry
unmailboxes *
mailboxes =inbox =sent =trash =archive =junk
macro index,pager gi "<change-folder>=inbox<enter>" "Go to inbox."
macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
macro index,pager ga "<change-folder>=archive<enter>" "Go to archive."
macro index,pager gj "<change-folder>=junk<enter>" "Go to junk."
set spoolfile = "+inbox"
set record = "+sent"
set postponed = ""
set trash = "+deleted"

View File

@@ -1,66 +0,0 @@
# Header colors:
color header blue default ".*"
color header brightmagenta default "^(From)"
color header brightcyan default "^(Subject)"
color header brightwhite default "^(CC|BCC)"
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
color normal default default
color indicator brightmagenta default # currently selected message. default makes bar clear, disabled arrow to save space.
color sidebar_highlight red default
color sidebar_divider brightblack black
color sidebar_flagged red black
color sidebar_new green black
color normal brightyellow default
color error red default
color tilde black default
color message cyan default
color markers red white
color attachment white default
color search brightmagenta default
color status magenta black
color hdrdefault brightgreen default
color quoted green default
color quoted1 blue default
color quoted2 cyan default
color quoted3 yellow default
color quoted4 red default
color quoted5 brightred default
color signature brightgreen default
color bold black default
color underline black default
color normal default default
color body brightblue default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body green default "\`[^\`]*\`" # Green text between ` and `
color body brightblue default "^# \.*" # Headings as bold blue
color body brightcyan default "^## \.*" # Subheadings as bold cyan
color body brightgreen default "^### \.*" # Subsubheadings as bold green
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# Default index colors:
color index brightwhite default '.*'
color index_author brightgreen default '.*'
color index_number blue default
color index_subject cyan default '.*'
# For new mail:
color index brightyellow black "~N"
color index_author brightred black "~N"
color index_subject brightcyan black "~N"
color progress black cyan

View File

@@ -1,21 +0,0 @@
## A file for aliases
# UGR professors
alias dani dmolina@decsai.ugr.es
alias cano ccano@decsai.ugr.es
alias merino cmerino@ugr.es
alias fran fjrodriguez@decsai.ugr.es
alias salva salvaguti@decsai.ugr.es
alias marisol marisolbc@ugr.es
# UGent students
alias mickey michael.fatjanov@ugent.be
alias natan natan.tourne@ugent.be
alias conor sean.barr@ugent.be
# Personal
alias barbas arodasaparicio@gmail.com
alias rafika rafibel63@gmail.com
alias oekk luismata06@gmail.com
alias walid mkasrou@gmail.com
alias walida naouam61@gmail.com

View File

@@ -1,131 +0,0 @@
# -*-muttrc-*-
#
# Command formats for gpg.
#
# Version notes:
#
# GPG 2.1 introduces the option "--pinentry-mode", which requires
# the "loopback" argument in instances where "--passphrase-fd" is
# used.
#
# Some of the older commented-out versions of the commands use gpg-2comp from:
# http://70t.de/download/gpg-2comp.tar.gz
#
# %p The empty string when no passphrase is needed,
# the string "PGPPASSFD=0" if one is needed.
#
# This is mostly used in conditional % sequences.
#
# %f Most PGP commands operate on a single file or a file
# containing a message. %f expands to this file's name.
#
# %s When verifying signatures, there is another temporary file
# containing the detached signature. %s expands to this
# file's name.
#
# %a In "signing" contexts, this expands to the value of the
# configuration variable $pgp_sign_as, if set, otherwise
# $pgp_default_key. You probably need to
# use this within a conditional % sequence.
#
# %r In many contexts, neomutt passes key IDs to pgp. %r expands to
# a list of key IDs.
# Section A: Key Management
# The default key for encryption (used by $pgp_self_encrypt and
# $postpone_encrypt).
#
# It will also be used for signing unless $pgp_sign_as is set to a
# key.
#
# Unless your key does not have encryption capability, uncomment this
# line and replace the keyid with your own.
#
# set pgp_default_key="0x12345678"
# If you have a separate signing key, or your key _only_ has signing
# capability, uncomment this line and replace the keyid with your
# signing keyid.
#
# set pgp_sign_as="0x87654321"
# Section B: Commands
# Note that we explicitly set the comment armor header since GnuPG, when used
# in some localiaztion environments, generates 8bit data in that header, thereby
# breaking PGP/MIME.
# decode application/pgp
#
set pgp_decode_command="gpg --status-fd=2 %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
# Verify a signature
#
set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
# Decrypt an attachment
#
set pgp_decrypt_command="gpg --status-fd=2 %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --quiet --batch --output - --decrypt %f"
# Create a PGP/MIME signed attachment
#
# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f"
#
set pgp_sign_command="gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --batch --quiet --output - --armor --textmode %?a?--local-user %a? --detach-sign %f"
# Create a application/pgp inline signed message. This style is obsolete but still needed for Hushmail recipients and some MUAs.
#
# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f"
#
set pgp_clearsign_command="gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --batch --quiet --output - --armor --textmode %?a?--local-user %a? --clearsign %f"
# Create an encrypted attachment (note that some users include the --always-trust option here)
#
# set pgp_encrypt_only_command="/usr/libexec/neomutt/pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
#
set pgp_encrypt_only_command="/usr/libexec/neomutt/pgpewrap gpg --batch --quiet --no-verbose --output - --textmode --armor --encrypt -- --recipient %r -- %f"
# Create an encrypted and signed attachment (note that some users include the --always-trust option here)
#
# set pgp_encrypt_sign_command="/usr/libexec/neomutt/pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
#
set pgp_encrypt_sign_command="/usr/libexec/neomutt/pgpewrap gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - %?a?--local-user %a? --armor --sign --encrypt -- --recipient %r -- %f"
# Import a key into the public key ring
#
set pgp_import_command="gpg --no-verbose --import %f"
# Export a key from the public key ring
#
set pgp_export_command="gpg --no-verbose --armor --export %r"
# Verify a key
#
set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r"
# Read in the public key ring
#
set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r"
# Read in the secret key ring
#
set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r"
# Fetch keys
# set pgp_getkeys_command="pkspxycwrap %r"
# pattern for good signature - may need to be adapted to locale!
# OK, here's a version which uses gnupg's message catalog:
# set pgp_good_sign="^gpgv?: Good signature from"
# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
#
# Output pattern to indicate a valid signature using --status-fd messages
set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
# Output pattern to verify a decryption occurred
# This is now deprecated by pgp_check_gpg_decrypt_status_fd:
# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY"
set pgp_check_gpg_decrypt_status_fd

View File

@@ -1,8 +0,0 @@
text/html; w3m -I %{charset} -T text/html %s; copiousoutput;
text/* ; nvim %s ; edit=nvim %s ; compose=nvim %s ; needsterminal
image/*; imv %s ; copiousoutput
application/pdf; zathura %s ;
application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s ;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; libreoffice %s ;
application/msword; libreoffice %s ;
application/pgp-encrypted; gpg -d '%s'; copiousoutput;

View File

@@ -1,71 +0,0 @@
# vim: filetype=neomuttrc
# Default index colors:
color index yellow default '.*'
color index_author red default '.*'
color index_number blue default
color index_subject cyan default '.*'
# For new mail:
color index brightyellow black "~N"
color index_author brightred black "~N"
color index_subject brightcyan black "~N"
# Header colors:
color header blue default ".*"
color header brightmagenta default "^(From)"
color header brightcyan default "^(Subject)"
color header brightwhite default "^(CC|BCC)"
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
color normal default default
color indicator brightblack white
color sidebar_highlight red default
color sidebar_divider brightblack black
color sidebar_flagged red black
color sidebar_new green black
color normal brightyellow default
color error red default
color tilde black default
color message cyan default
color markers red white
color attachment white default
color search brightmagenta default
color status brightyellow black
color hdrdefault brightgreen default
color quoted green default
color quoted1 blue default
color quoted2 cyan default
color quoted3 yellow default
color quoted4 red default
color quoted5 brightred default
color signature brightgreen default
color bold black default
color underline black default
color normal default default
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body green default "\`[^\`]*\`" # Green text between ` and `
color body brightblue default "^# \.*" # Headings as bold blue
color body brightcyan default "^## \.*" # Subheadings as bold cyan
color body brightgreen default "^### \.*" # Subsubheadings as bold green
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
|FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
|IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]""']))']))']))']))']))']))']))']))']))']))']))']))'])']))))))])]"

View File

@@ -1,3 +0,0 @@
#!/bin/sh
nix-shell -p python3 --command "python ~/.local/bin/MIMEmbellish | msmtp -a $1 -t"

View File

@@ -1,93 +0,0 @@
#vim: filetype=neomuttrc
# This is the general mutt config which has the settings that all accounts use.
bind index,pager i noop
bind index,pager g noop
bind index \Cf noop
source etc/muttcol
source etc/aliases
source personal.muttrc
source colors.muttrc
set sleep_time = 0
set sort = 'reverse-date'
set editor = $EDITOR
set copy = no
set beep_new = yes
set mailcap_path = ~/.config/neomutt/etc/mailcap
set date_format="%d/%m/%y %H:%M"
set index_format="%2C %zs %?X?A& ? %D %-15.15F %s (%-4.4c)"
set markers = no
set mark_old = no
set mime_forward = yes
set smtp_authenticators = 'gssapi:login'
set wait_key = no
auto_view text/html
auto_view application/pgp-encrypted
alternative_order text/plain text/enriched text/html
set rfc2047_parameters = yes
set send_charset = 'us-ascii:utf-8'
set ssl_use_tlsv1_2 = yes
unset help
set pager_stop = yes
set wrap=-20
# General remappings
bind editor <space> noop
bind index G last-entry
bind index gg first-entry
bind pager j next-line
bind pager k previous-line
bind pager gg top
bind pager G bottom
bind index d half-down
bind index u half-up
bind index D delete-message
bind index U undelete-message
bind index F search
bind index,pager R group-reply
bind index,pager \031 previous-undeleted # Mouse wheel
bind index,pager \005 next-undeleted # Mouse wheel
macro index,pager S <sync-mailbox>
macro index,pager \Cu |urlscan\n
macro index,pager ,, |urlscan\n
# View attachments properly.
bind attach <return> view-mailcap
set fast_reply # skip to compose when replying
set fcc_attach # save attachments with the body
unset mime_forward # forward attachments as part of body
set forward_format = "Fwd: %s" # format of subject when forwarding
set forward_decode # decode when forwarding
set forward_quote # include message in forwards
set reverse_name # reply as whomever it was to
set include # include message in replies
#Ctrl-R to mark all as read
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
#
# #sync email
macro index o "<shell-escape>mbsync -a 2>/dev/null 1>&2 &<enter>" "run mbsync to sync all mail"
# #copy/move dialogs
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# Notmuch searching
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern"
macro index A "<limit>all\n" "show all messages (undo limit)"
# # Sidebar mappings
set sidebar_visible = yes
set sidebar_width = 20
set sidebar_short_path = yes
set sidebar_next_new_wrap = yes
set mail_check_stats
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
bind index,pager \Co sidebar-open
bind index,pager \Cp sidebar-prev-new
bind index,pager \Cn sidebar-next-new
bind index,pager B sidebar-toggle-visible
# Remove signature
unset signature

View File

@@ -1,6 +0,0 @@
macro index,pager i3 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/disroot.muttrc<enter><change-folder>!<enter>'
source /home/coolneng/.config/neomutt/accounts/disroot.muttrc
macro index,pager i2 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/gmail.muttrc<enter><change-folder>!<enter>'
source /home/coolneng/.config/neomutt/accounts/gmail.muttrc
macro index,pager i1 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/ugent.muttrc<enter><change-folder>!<enter>'
source /home/coolneng/.config/neomutt/accounts/ugent.muttrc

View File

@@ -1,238 +0,0 @@
#!/usr/bin/env python
import re
import sys
import email
import shlex
import mimetypes
import subprocess
from copy import copy
from hashlib import md5
from email import charset
from email import encoders
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.nonmultipart import MIMENonMultipart
from os.path import basename, splitext, expanduser
charset.add_charset('utf-8', charset.SHORTEST, '8bit')
def pandoc(from_format, to_format='markdown', plain='markdown', title=None):
markdown = ('markdown'
'-blank_before_blockquote')
if from_format == 'plain':
from_format = plain
if from_format == 'markdown':
from_format = markdown
if to_format == 'markdown':
to_format = markdown
command = 'pandoc -f {} -t {} --standalone --highlight-style=tango'
if to_format in ('html', 'html5'):
if title is not None:
command += ' --variable=pagetitle:{}'.format(shlex.quote(title))
command += ' --webtex --template={}'.format(
expanduser('~/.pandoc/templates/email.html'))
return command.format(from_format, to_format)
def gmailfy(payload):
return payload.replace('<blockquote>',
'<blockquote class="gmail_quote" style="'
'padding: 0 7px 0 7px;'
'border-left: 2px solid #cccccc;'
'font-style: italic;'
'margin: 0 0 7px 3px;'
'">')
def make_alternative(message, part):
alternative = convert(part, 'html',
pandoc(part.get_content_subtype(),
to_format='html',
title=message.get('Subject')))
alternative.set_payload(gmailfy(alternative.get_payload()))
return alternative
def make_replacement(message, part):
return convert(part, 'plain', pandoc(part.get_content_subtype()))
def convert(part, to_subtype, command):
payload = part.get_payload()
if isinstance(payload, str):
payload = payload.encode('utf-8')
else:
payload = part.get_payload(None, True)
if not isinstance(payload, bytes):
payload = payload.encode('utf-8')
process = subprocess.run(
shlex.split(command),
input=payload, stdout=subprocess.PIPE, check=True)
return MIMEText(process.stdout, to_subtype, 'utf-8')
def with_alternative(parent, part, from_signed,
make_alternative=make_alternative,
make_replacement=None):
try:
alternative = make_alternative(parent or part, from_signed or part)
replacement = (make_replacement(parent or part, part)
if from_signed is None and make_replacement is not None
else part)
except:
return parent or part
envelope = MIMEMultipart('alternative')
if parent is None:
for k, v in part.items():
if (k.lower() != 'mime-version'
and not k.lower().startswith('content-')):
envelope.add_header(k, v)
del part[k]
envelope.attach(replacement)
envelope.attach(alternative)
if parent is None:
return envelope
payload = parent.get_payload()
payload[payload.index(part)] = envelope
return parent
def tag_attachments(message):
if message.get_content_type() == 'multipart/mixed':
for part in message.get_payload():
if (part.get_content_maintype() in ['image']
and 'Content-ID' not in part):
filename = part.get_param('filename',
header='Content-Disposition')
if isinstance(filename, tuple):
filename = str(filename[2], filename[0] or 'us-ascii')
if filename:
filename = splitext(basename(filename))[0]
if filename:
part.add_header('Content-ID', '<{}>'.format(filename))
return message
def attachment_from_file_path(attachment_path):
try:
mime, encoding = mimetypes.guess_type(attachment_path, strict=False)
maintype, subtype = mime.split('/')
with open(attachment_path, 'rb') as payload:
attachment = MIMENonMultipart(maintype, subtype)
attachment.set_payload(payload.read())
encoders.encode_base64(attachment)
if encoding:
attachment.add_header('Content-Encoding', encoding)
return attachment
except:
return None
attachment_path_pattern = re.compile(r'\]\s*\(\s*file://(/[^)]*\S)\s*\)|'
r'\]\s*:\s*file://(/.*\S)\s*$',
re.MULTILINE)
def link_attachments(payload):
attached = []
attachments = []
def on_match(match):
if match.group(1):
attachment_path = match.group(1)
cid_fmt = '](cid:{})'
else:
attachment_path = match.group(2)
cid_fmt = ']: cid:{}'
attachment_id = md5(attachment_path.encode()).hexdigest()
if attachment_id in attached:
return cid_fmt.format(attachment_id)
attachment = attachment_from_file_path(attachment_path)
if attachment:
attachment.add_header('Content-ID', '<{}>'.format(attachment_id))
attachments.append(attachment)
attached.append(attachment_id)
return cid_fmt.format(attachment_id)
return match.group()
return attachments, attachment_path_pattern.sub(on_match, payload)
def with_local_attachments(parent, part, from_signed,
link_attachments=link_attachments):
if from_signed is None:
attachments, payload = link_attachments(part.get_payload())
part.set_payload(payload)
else:
attachments, payload = link_attachments(from_signed.get_payload())
from_signed = copy(from_signed)
from_signed.set_payload(payload)
if not attachments:
return parent, part, from_signed
if parent is None:
parent = MIMEMultipart('mixed')
for k, v in part.items():
if (k.lower() != 'mime-version'
and not k.lower().startswith('content-')):
parent.add_header(k, v)
del part[k]
parent.attach(part)
for attachment in attachments:
parent.attach(attachment)
return parent, part, from_signed
def is_target(part, target_subtypes):
return (part.get('Content-Disposition', 'inline') == 'inline'
and part.get_content_maintype() == 'text'
and part.get_content_subtype() in target_subtypes)
def pick_from_signed(part, target_subtypes):
for from_signed in part.get_payload():
if is_target(from_signed, target_subtypes):
return from_signed
def seek_target(message, target_subtypes=['plain', 'markdown']):
if message.is_multipart():
if message.get_content_type() == 'multipart/signed':
part = pick_from_signed(message, target_subtypes)
if part is not None:
return None, message, part
elif message.get_content_type() == 'multipart/mixed':
for part in message.get_payload():
if part.is_multipart():
if part.get_content_type() == 'multipart/signed':
from_signed = pick_from_signed(part, target_subtypes)
if from_signed is not None:
return message, part, from_signed
elif is_target(part, target_subtypes):
return message, part, None
else:
if is_target(message, target_subtypes):
return None, message, None
return None, None, None
def main():
try:
message = email.message_from_file(sys.stdin)
parent, part, from_signed = seek_target(message)
if (parent, part, from_signed) == (None, None, None):
print(message)
return
tag_attachments(message)
print(with_alternative(
*with_local_attachments(parent, part, from_signed)))
except (BrokenPipeError, KeyboardInterrupt):
pass
if __name__ == '__main__':
main()

View File

@@ -1,101 +0,0 @@
snippet sign "Signature"
Best regards,
Amin Kasrou Aouam
endsnippet
snippet firma "Spanish Signature"
Un saludo,
Amin Kasrou Aouam
endsnippet
snippet meta "YAML metadata for eisvogel"
---
title: "$1"
author: [Amin Kasrou Aouam]
date: "`date +%F`"
titlepage: true
logo: /home/coolneng/Pictures/Logos/UGR.png
listings-no-page-break: true
toc-own-page: true
...
endsnippet
snippet hand "YAML metadata for tufte-handout"
---
documentclass: tufte-handout
title: $1
author: Amin Kasrou Aouam
date: `date +%F`
fontsize: 12pt
...
endsnippet
snippet ass "YAML metadata for assignment"
---
title: $1
author: Amin Kasrou Aouam
date: `date +%F`
---
endsnippet
snippet slides "YAML metadata for the Metropolis template"
---
title: "$1"
author: [Amin Kasrou Aouam]
date: "`date +%F`"
header-includes:
- \definecolor{dkgreen}{rgb}{0,0.52,0}
- \definecolor{gray}{rgb}{0.5,0.5,0.5}
- \definecolor{mauve}{rgb}{0.4,0,0.7}
- \definecolor{customBlue}{rgb}{0.1,0.1,0.65}
- \definecolor{customOrange}{rgb}{0.88,0.53,0.13}
- \lstset{frame=tb}
- \lstset{language=c}
- \lstset{aboveskip=5mm}
- \lstset{belowskip=5mm}
- \lstset{showstringspaces=false}
- \lstset{columns=flexible}
- \lstset{basicstyle={\scriptsize\ttfamily}}
- \lstset{numbers=left}
- \lstset{numberstyle=\tiny}
- \lstset{stepnumber=1}
- \lstset{numbersep=8pt}
- \lstset{numberstyle=\tiny\color{gray}}
- \lstset{keywordstyle=\color{customBlue}}
- \lstset{commentstyle=\color{dkgreen}}
- \lstset{stringstyle=\color{mauve}}
- \lstset{breaklines=true}
- \lstset{breakatwhitespace=true}
- \lstset{tabsize=4}
...
endsnippet
snippet b "Bullet point"
* $1
endsnippet
snippet sl "Slide notes"
# Slide $1
endsnippet
snippet fsl "First slide notes"
# Slide $1
endsnippet
snippet se "Section notes"
# Section $1
endsnippet
snippet fse "First section notes"
# Section $1
endsnippet

View File

@@ -25,46 +25,20 @@ nnoremap <leader>n :noh<cr>
"Move the current line up or down "Move the current line up or down
nnoremap <leader>k :m-2<cr>== nnoremap <leader>k :m-2<cr>==
nnoremap <leader>j :m+<cr>== nnoremap <leader>j :m+<cr>==
""Markdown
autocmd Filetype markdown Goyo
let g:markdown_fenced_languages = ['cpp', 'python', 'java', 'sql']
let g:vim_markdown_math=1
""Snippets ""Snippets
let g:UltiSnipsExpandTrigger = '<tab>' let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<tab>' let g:UltiSnipsJumpForwardTrigger = '<tab>'
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>' let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
""Vim-plug ""Vim-plug
call plug#begin('~/.config/nvim/plugged') call plug#begin('~/.config/nvim/plugged')
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' }
Plug 'junegunn/goyo.vim', {'for': 'markdown', 'on': 'Goyo' }
Plug 'SirVer/ultisnips', { 'for': 'markdown' }
Plug 'Raimondi/delimitMate' Plug 'Raimondi/delimitMate'
Plug 'cocopon/iceberg.vim' Plug 'nordtheme/vim'
Plug 'rose-pine/neovim'
Plug 'LnL7/vim-nix' Plug 'LnL7/vim-nix'
call plug#end() call plug#end()
""Colors ""Colors
colorscheme iceberg
set termguicolors set termguicolors
colorscheme nord
set background=light
""Disabe status line ""Disabe status line
set laststatus=0 set laststatus=0
""Set Markdown filetype for neomutt
autocmd BufNewFile,BufRead /tmp/neomutt* set filetype=markdown
""Quit whether Goyo is active or not
function! s:goyo_enter()
let b:quitting = 0
let b:quitting_bang = 0
call feedkeys('jk')
autocmd QuitPre <buffer> let b:quitting = 1
cabbrev <buffer> q! let b:quitting_bang = 1 <bar> q!
endfunction
function! s:goyo_leave()
if b:quitting_bang
qa!
else
qa
endif
endfunction
autocmd! User GoyoEnter nested call <SID>goyo_enter()
autocmd! User GoyoLeave nested call <SID>goyo_leave()

View File

@@ -1,4 +0,0 @@
{
allowUnfree = true;
android_sdk.accept_license = true;
}

View File

@@ -1,88 +0,0 @@
# .notmuch-config - Configuration file for the notmuch mail system
#
# For more information about notmuch, see https://notmuchmail.org
# Database configuration
#
# The only value supported here is 'path' which should be the top-level
# directory where your mail currently exists and to where mail will be
# delivered in the future. Files should be individual email messages.
# Notmuch will store its database within a sub-directory of the path
# configured here named ".notmuch".
#
[database]
path=/home/coolneng/.mail
# User configuration
#
# Here is where you can let notmuch know how you would like to be
# addressed. Valid settings are
#
# name Your full name.
# primary_email Your primary email address.
# other_email A list (separated by ';') of other email addresses
# at which you receive email.
#
# Notmuch will use the various email addresses configured here when
# formatting replies. It will avoid including your own addresses in the
# recipient list of replies, and will set the From address based on the
# address to which the original email was addressed.
#
[user]
name=Amin Kasrou Aouam
primary_email=akasroua@gmail.com
other_email=akasroua@correo.ugr.es;
# Configuration for "notmuch new"
#
# The following options are supported here:
#
# tags A list (separated by ';') of the tags that will be
# added to all messages incorporated by "notmuch new".
#
# ignore A list (separated by ';') of file and directory names
# that will not be searched for messages by "notmuch new".
#
# NOTE: *Every* file/directory that goes by one of those
# names will be ignored, independent of its depth/location
# in the mail store.
#
[new]
tags=unread;inbox;
ignore=
# Search configuration
#
# The following option is supported here:
#
# exclude_tags
# A ;-separated list of tags that will be excluded from
# search results by default. Using an excluded tag in a
# query will override that exclusion.
#
[search]
exclude_tags=deleted;spam;
# Maildir compatibility configuration
#
# The following option is supported here:
#
# synchronize_flags Valid values are true and false.
#
# If true, then the following maildir flags (in message filenames)
# will be synchronized with the corresponding notmuch tags:
#
# Flag Tag
# ---- -------
# D draft
# F flagged
# P passed
# R replied
# S unread (added when 'S' flag is not present)
#
# The "notmuch new" command will notice flag changes in filenames
# and update tags, while the "notmuch tag" and "notmuch restore"
# commands will notice tag changes and update flags in filenames
#
[maildir]
synchronize_flags=true

View File

@@ -1,598 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="ProgId" content="Word.Document">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
$for(author-meta)$
<meta name="author" content="$author-meta$" />
$endfor$
$if(date-meta)$
<meta name="date" content="$date-meta$" />
$endif$
$if(keywords)$
<meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$" />
$endif$
<title>$if(title-prefix)$$title-prefix$ $endif$$pagetitle$</title>
<style type="text/css">
body, table, td, a {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
table, td {
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
img {
-ms-interpolation-mode: bicubic;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
}
body {
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
}
figure {
margin: 0;
padding: 0;
}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
display: block;
}
a[x-apple-data-detectors] {
color: inherit !important;
text-decoration: none !important;
font-size: inherit !important;
font-family: inherit !important;
font-weight: inherit !important;
line-height: inherit !important;
}
div[style*="margin: 16px 0;"] {
margin: 0 !important;
}
table,td,div,a {
box-sizing: border-box;
}
img {
-ms-interpolation-mode: bicubic;
max-width: 100%;
display: inline-block;
padding-top: 7px;
}
body, .body {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 14px;
line-height: 1.2;
height: 100% !important;
width: 100% !important;
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
table {
border-collapse: separate !important;
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
width: 100%;
}
table td {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 14px;
vertical-align: top;
}
.ExternalClass {
width: 100%;
}
.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div {
line-height: 100%;
}
strong, b {
font-weight: bold;
}
.ajT {
height: none;
padding-top: none;
}
body {
background-color: #ffffff;
}
.body {
background-color: #ffffff;
width: 100%;
}
.container {
display: block;
Margin: 0 auto !important;
max-width: 800px;
padding: 10px;
width: 100% !important;
}
.content {
display: block;
margin: 0 auto;
max-width: 800px;
padding: 10px;
}
.main {
background: #ffffff;
border: none;
border-radius: 4px;
width: 100%;
}
.wrapper {
padding: 10px;
}
.content-block {
padding: 0 0 10px;
}
.header {
margin-bottom: 10px;
margin-top: 0px;
width: 100%;
}
.footer {
clear: both;
width: 100%;
}
.footer * {
color: #7F7F7F;
font-size: 12px;
}
.footer td {
padding: 20px 0;
}
h1,h2,h3,h4,h5,h6 {
color: #222222 !important;
font-family: "Roboto", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
font-weight: bold;
line-height: 1.2;
margin: 0;
margin-bottom: 7px;
margin-top: 10.5px;
}
h1, h2 {
margin-bottom: 10.5px;
margin-top: 14px;
}
h1 {
font-size: 22.4px;
text-transform: capitalize;
}
h2 {
font-size: 19.6px;
}
h3 {
font-size: 16.8px;
}
h4 {
font-size: 15.4px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12.6px;
}
p,ul,ol {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 14px;
font-weight: normal;
margin: 0;
padding-top: 7px;
color: #111111;
}
ul, ol {
margin: 0;
margin-bottom: 7.5px;
padding-left: 25px;
}
ul li, ol li {
list-style-position: outside;
margin-left: 5px;
margin-bottom: 1px;
}
li > ul, li > ol {
margin-top: 7.5px;
}
a {
color: #348eda;
text-decoration: none;
font-weight: bold;
}
pre > a, code > a {
color: none;
font-weight: normal;
}
code,pre,.word-wrap {
word-break: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
pre, code {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
font-size: 11.9px;
}
pre {
display: block;
width: 96%;
margin: 1em 0;
margin-bottom: 9px;
background: #f8f8f8;
padding: 1%;
white-space: pre-wrap;
border-radius: 4px;
}
p > code {
color: #111111;
background: none;
}
blockquote {
padding: 0 7px 0 7px;
border-left: 2px solid #cccccc;
border-top: 4.2px solid transparent;
font-style: italic;
margin: 0 0 7px 3px;
}
blockquote p {
padding: 0;
}
mark {
background: #ff0;
}
dl dt {
font-weight: bold;
}
dl dd {
margin-left: 28px;
}
.et-btn {
width: 100%;
font-family: "Roboto", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
margin-bottom: 10px;
}
.et-btn table {
width: auto;
}
.et-btn table td {
background-color: #ffffff;
border-radius: 4px;
text-align: center;
}
.et-btn a {
background-color: #ffffff;
border: solid 1px #348eda;
border-radius: 4px;
color: #348eda;
cursor: pointer;
display: inline-block;
font-size: 14px;
font-weight: bold;
margin: 0;
padding: 8px 18px;
text-decoration: none;
text-transform: capitalize;
font-family: "Roboto", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
}
.et-btn-primary table td {
background-color: #348eda;
}
.et-btn-primary a {
background-color: #348eda;
border-color: #348eda;
color: #ffffff;
}
.et-btn-secondary table td {
background-color: transparent;
}
.et-btn-secondary a {
background-color: transparent;
border-color: #348eda;
color: #348eda;
}
.et-notice {
border-collapse: separate;
}
.et-notice-spacer {
padding: 10px 0;
}
.et-notice td {
line-height: 1.2;
font-size: 14px;
font-weight: normal;
font-family: "Roboto", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
}
.et-notice td p {
margin: 0;
padding: 0;
}
.et-notice-info td {
background: #f0f6fb;
border: 1px solid #b7d3ed;
border-radius: 4px;
color: #2c6eac;
padding: 6px 10px;
}
.et-notice-success td {
background: #e1f2bd;
border: 1px solid #c6e682;
border-radius: 4px;
color: #61821a;
padding: 6px 10px;
}
.et-notice-warning td {
background: #f7eed0;
border: 1px solid #edd993;
border-radius: 4px;
color: #9a7d1a;
padding: 6px 10px;
}
.et-notice-danger td {
background: #f5d5d5;
border: 1px solid #e89b9b;
border-radius: 4px;
color: #952222;
padding: 6px 10px;
}
.et-notice-lg td {
font-size: 16.8px;
line-height: 1.2;
}
.divider {
border-collapse: separate;
}
.divider-spacer {
padding: 14px 0;
}
.divider td {
border-top: 1px solid #ccc;
line-height: 0;
font-size: 0;
height: 1px;
margin: 0;
padding: 0;
}
hr {
margin: 28px 0;
border: none;
border-top: 1px solid #cccccc;
color: #ffffff;
}
.last {
margin-bottom: 0;
}
.first {
margin-top: 0;
}
.align-center {
text-align: center;
}
.align-right {
text-align: right;
}
.align-left {
text-align: left;
}
.clear {
clear: both;
}
.mt0 {
margin-top: 0;
}
.mb0 {
margin-bottom: 0;
}
.preheader {
color: transparent;
display: none;
height: 0;
max-height: 0;
max-width: 0;
opacity: 0;
overflow: hidden;
mso-hide: all;
visibility: hidden;
width: 0;
}
@media only screen and (max-width: 840px) {
table[class=body] {
font-size: 12px !important;
}
table[class=body] p,table[class=body] ul,table[class=body] ol {
font-size: 12px !important;
}
table[class=body] .et-btn {
margin-bottom: 15px;
}
table[class=body] h1 {
font-size: 18.2px !important;
}
table[class=body] h2 {
font-size: 16.8px !important;
}
table[class=body] h3 {
font-size: 15.4px !important;
}
table[class=body] h4 {
font-size: 14.7px !important;
}
table[class=body] h5 {
font-size: 12.6px !important;
}
table[class=body] h6 {
font-size: 11.9px !important;
}
table[class=body] h1, table[class=body] h2 {
margin-bottom: 14px !important;
margin-top: 14px !important;
}
table[class=body] .container, table[class=body] .content {
width: 100% !important;
max-width: 100% !important;
}
table[class=body] .content,table[class=body] .wrapper {
padding: 10px !important;
}
table[class=body] .container {
padding: 0 !important;
width: 100% !important;
}
table[class=body] .btn table,table[class=body] .btn a {
width: 100% !important;
}
}
</style>
$if(quotes)$
<style type="text/css">q { quotes: "“" "”" "" ""; }</style>
$endif$
$if(highlighting-css)$
<style type="text/css">
$highlighting-css$
</style>
$endif$
$for(css)$
<link rel="stylesheet" href="$css$" type="text/css" />
$endfor$
$if(math)$
$math$
$endif$
$for(header-includes)$
$header-includes$
$endfor$
</head>
<body>
$for(include-before)$
$include-before$
$endfor$
$if(title)$
<div id="$idprefix$header">
<h1 class="title">$title$</h1>
$if(subtitle)$
<h1 class="subtitle">$subtitle$</h1>
$endif$
$for(author)$
<h2 class="author">$author$</h2>
$endfor$
$if(date)$
<h3 class="date">$date$</h3>
$endif$
</div>
$endif$
$if(toc)$
<div id="$idprefix$TOC">
$toc$
</div>
$endif$
$body$
$for(include-after)$
$include-after$
$endfor$
</body>
</html>

View File

@@ -3,6 +3,11 @@ target=api/gitea
username_extractor=specific_line username_extractor=specific_line
line_username=1 line_username=1
skip_username=7 skip_username=7
[git.psydnd.org*]
target=api/gitea
username_extractor=specific_line
line_username=1
skip_username=7
[github.com*] [github.com*]
target=api/github target=api/github
username_extractor=specific_line username_extractor=specific_line

View File

@@ -0,0 +1,2 @@
[virtualenvs]
in-project = true

View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
tmp_dir="/tmp/cliphist"
rm -rf "$tmp_dir"
if [[ -n "$1" ]]; then
cliphist decode <<<"$1" | wl-copy
exit
fi
mkdir -p "$tmp_dir"
read -r -d '' prog <<EOF
/^[0-9]+\s<meta http-equiv=/ { next }
match(\$0, /^([0-9]+)\s(\[\[\s)?binary.*(jpg|jpeg|png|bmp)/, grp) {
system("echo " grp[1] "\\\\\t | cliphist decode >$tmp_dir/"grp[1]"."grp[3])
print \$0"\0icon\x1f$tmp_dir/"grp[1]"."grp[3]
next
}
1
EOF
cliphist list | gawk "$prog"

View File

@@ -0,0 +1,16 @@
#!/bin/sh
IMAGE_URL="https://earthview.withgoogle.com/download"
ID_FILE="${HOME}/Documents/Misc/earthview-ids"
MAX_ID="$(wc -l <"${ID_FILE}")"
OUTPUT_FILE=/tmp/earthview-wallpaper.jpg
get_random_id() {
RANDOM_ID="$(shuf -n 1 -i 1-"${MAX_ID}")"
ID="$(sed -n "${RANDOM_ID}p" "$ID_FILE")"
}
set -e
get_random_id
curl -fLs "${IMAGE_URL}/${ID}.jpg" -o "${OUTPUT_FILE}"
swaymsg "output * bg $OUTPUT_FILE fill"

View File

@@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
search_directory=~/Documents search_directory=~/Documents
downloads=~/Downloads
xdg-open "$(rg --no-messages --no-ignore --files $search_directory -g "{*.pdf}" -g "{*.doc[x]}" -g "{*.xls[x]}" -g "{*.ppt[x]}" | xdg-open "$(rg --no-messages --no-ignore --files $search_directory $downloads -g "*.{pdf,docx,doc,xlsx,xls,pptx,ppt}" |
rofi -threads 0 -dmenu -sort -sorting-method fzf -i -p "find")" rofi -threads 0 -dmenu -sort -sorting-method fzf -i -p "find")"

View File

@@ -1,87 +0,0 @@
#!/bin/sh
# Git filter to ignore lines in your files.
#
# Copyright (c) 2017-2019 Aryel Mota Góis <aryel.gois@gmail.com>
#
# MIT License
#
#
# SETUP:
#
# cp git-ignore-line.sh ~/bin/git-ignore-line
#
#
# USAGE:
#
# Mark single lines you want to ignore with 'GITIGNORE'. It ignores
# the whole line. It is recommended to be inside a comment in your code.
#
# Mark multiple lines surrounding them with 'GITIGNORE START' and
# 'GITIGNORE END'. It can not be nested.
#
# NOTE: Ignored lines might be lost on checkout.
#
#
# Add files to ignore:
#
# git ignore-line <pattern>
#
# Remove patterns with:
#
# git ignore-line -r <pattern>
#
# List configured patterns:
#
# git ignore-line -l
#
# PATTERN can be a file or a glob pattern: '*.html'. Remember to
# escape the `*`.
#
#
# TODO:
#
# - Stash the lines ignored by this filter before a git checkout.
set -eu
# Check if stdin is not tty and remove ignored lines from it.
[ -t 0 ] || exec sed \
'/GITIGNORE START/,/GITIGNORE END/d; /GITIGNORE/d' \
/dev/stdin
# Running from tty.
program=$(basename "$0")
# Find git repository.
git_dir=$(git rev-parse --git-dir)
# Path to attributes file.
attr_file=$git_dir/info/attributes
# Check arguments.
if [ $# -eq 2 ] && [ "$1" = '-r' ]; then
# Remove filter for pattern.
sed "s|^$2 filter=$program||" "$attr_file" > "$attr_file.tmp"
mv -- "$attr_file.tmp" "$attr_file"
elif [ $# -eq 1 ]; then
if [ "$1" = '-l' ]; then
# List patterns.
grep "filter=$program" "$attr_file" || true
else
# Add filter for pattern.
echo "$1 filter=$program" >> "$attr_file"
# Configure filter.
git config --global "filter.$program.clean" "$program"
git config --global "filter.$program.smudge" cat
fi
else
# Show help.
>&2 echo "Usage: $program [-r] <pattern>"
>&2 echo " or: $program -l"
exit 1
fi

View File

@@ -1,9 +1,14 @@
#!/bin/sh #!/bin/sh
ACCOUNT="$1"
if [ $# -lt 1 ]; then if [ $# -lt 1 ]; then
echo "Usage: mail-sync <account name>" ACCOUNT="-a"
exit 1
fi fi
mbsync "$1" mbsync "$ACCOUNT"
notmuch new if pgrep -f 'mu server'; then
emacsclient -e '(mu4e-update-index)'
else
mu index --lazy-check
fi

View File

@@ -1,5 +0,0 @@
#!/bin/sh
niv init
niv update nixpkgs -b nixpkgs-unstable
sed "s/pkgs ? import <nixpkgs>/sources ? import .\/nix\/sources.nix, pkgs ? import sources.nixpkgs/" -i shell.nix

View File

@@ -2,10 +2,11 @@
directory=/tmp/webtorrent directory=/tmp/webtorrent
player=mpv player=mpv
data_file=$HOME/Documents/IT/peerflix-db.csv data_file=$HOME/Documents/Misc/peerflix-db.csv
parse_csv() { parse_csv() {
show_name=$(echo "$1" | cut -d "=" -f 3 | cut -d "%" -f 1 | tr + " ") show_name=$(echo "$1" | cut -d "=" -f 3 | awk -F "S[0-9]|[S|s]eason|[C|c]omplete|([0-9]+)" '{print $1}' |
tr -d "[:digit:]" | tr "[:punct:]" " " | sed -e 's/[[:space:]]*$//')
episode=$(awk -F ',' -v var="$show_name" '$1 ~ var {print $2}' "$data_file") episode=$(awk -F ',' -v var="$show_name" '$1 ~ var {print $2}' "$data_file")
line_number=$(awk -F ',' -v var="$show_name" '$1 ~ var {print NR}' "$data_file") line_number=$(awk -F ',' -v var="$show_name" '$1 ~ var {print NR}' "$data_file")
} }
@@ -15,6 +16,15 @@ increment_episode() {
sed -e "$line_number s/$episode/$next_episode/" -i "$data_file" sed -e "$line_number s/$episode/$next_episode/" -i "$data_file"
} }
usage() {
echo "Usage: peerflix <magnet link>"
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
parse_csv "$1" parse_csv "$1"
if [ -z "$episode" ]; then if [ -z "$episode" ]; then
webtorrent download "$1" -s -o "$directory" --"$player" webtorrent download "$1" -s -o "$directory" --"$player"

View File

@@ -5,15 +5,23 @@ usage() {
echo "type git: VCS project" echo "type git: VCS project"
echo "type remote-git: VCS project with README, LICENSE and tests" echo "type remote-git: VCS project with README, LICENSE and tests"
echo "type src: Simple coding project" echo "type src: Simple coding project"
echo "type init: Initialize populated project"
echo "type doc: Assignment" echo "type doc: Assignment"
echo "type nix-ld: Run unpatched programs with Nix"
echo "type datasci: Python data science project"
exit 1 exit 1
} }
copy_nix_files() { copy_nix_files() {
if [ "$1" = "flake" ]; then if [ "$1" = "flake" ]; then
cp ~/Documents/IT/flake-template.nix flake.nix cp ~/Projects/devenv/flake-template.nix flake.nix
elif [ "$1" = "nix-ld" ]; then
cp ~/Projects/devenv/nix-ld.nix shell.nix
elif [ "$1" = "datasci" ]; then
cp ~/Projects/devenv/python-data-science.nix shell.nix
else
cp ~/Projects/devenv/shell.nix .
fi fi
cp ~/Documents/IT/shell.nix .
} }
git_initialization() { git_initialization() {
@@ -31,6 +39,12 @@ direnv_integration() {
direnv allow direnv allow
} }
create_dir() {
if [ ! -d "$1" ]; then
mkdir "$1"
fi
}
if [ $# != 1 ]; then if [ $# != 1 ]; then
usage usage
fi fi
@@ -38,24 +52,41 @@ fi
type=$1 type=$1
if [ "$type" = "git" ]; then if [ "$type" = "git" ]; then
mkdir src data copy_nix_files "nix"
copy_nix_files "flake" create_dir data
create_dir src
git_initialization git_initialization
direnv_integration "flake" direnv_integration "nix"
elif [ "$type" = "remote-git" ]; then elif [ "$type" = "remote-git" ]; then
touch README.org touch README.org
cp ~/Documents/IT/gpl-3.0.md LICENSE.md cp ~/Projects/devenv/LICENSE.md LICENSE.md
copy_nix_files "flake" copy_nix_files "flake"
mkdir src tests data create_dir data
create_dir src
git_initialization git_initialization
direnv_integration "flake" direnv_integration "flake"
elif [ "$type" = "doc" ]; then elif [ "$type" = "doc" ]; then
mkdir docs docs/assets create_dir assets
touch docs/Summary.org touch Report.org
touch .project touch .project
elif [ "$type" = "src" ]; then elif [ "$type" = "src" ]; then
copy_nix_files "nix" copy_nix_files "nix"
mkdir src data create_dir data
create_dir src
touch .project
direnv_integration "nix"
elif [ "$type" = "init" ]; then
touch .project
if [ ! -f shell.nix ]; then
copy_nix_files "nix"
fi
direnv_integration "nix"
elif [ "$type" = "nix-ld" ]; then
copy_nix_files "nix-ld"
direnv_integration "nix"
elif [ "$type" = "datasci" ]; then
copy_nix_files "datasci"
create_dir data
touch .project touch .project
direnv_integration "nix" direnv_integration "nix"
else else

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Convert ZFS legacy mountpoints to ZFS mounts
zfs list -Ho name | while read -r dataset; do
zfs set mountpoint="/$dataset" "$dataset"
done

View File

@@ -0,0 +1,12 @@
#!/bin/sh
usage() {
echo "Usage: shebang-patcher <script>"
exit 1
}
if [ $# != 1 ]; then
usage
fi
sed "s/#!\/bin\/bash/#!\/usr\/bin\/env bash/" -i "$1"

View File

@@ -1,6 +1,5 @@
#!/bin/sh #!/bin/sh
if [ $# -lt 2 ]; then if [ $# -lt 2 ]; then
echo "Usage: subject <subject name> <subject type>" echo "Usage: subject <subject name> <subject type>"
echo "subject type 0: programming" echo "subject type 0: programming"
@@ -11,10 +10,11 @@ fi
name=$1 name=$1
type=$2 type=$2
mkdir -p "$name"/Labs formatted_name=$(echo "$name" | tr -s ' ' '_')
mkdir -p "$name"/Exercises mkdir -p "$formatted_name"/Labs
touch "$name"/.project mkdir -p "$formatted_name"/Exercises
touch "$formatted_name"/.project
if [ "$type" -eq 0 ]; then if [ "$type" -eq 0 ]; then
mkdir -p "$name"/Code mkdir -p "$formatted_name"/Code
fi fi

View File

@@ -1,27 +1,24 @@
#!/bin/sh #!/bin/sh
LIGHT_THEME="rose-pine"
DARK_THEME="nord"
KITTY_LIGHT_THEME="Rosé Pine Dawn"
NVIM_COLORSCHEME_LINE=41
capitalize() { capitalize() {
printf '%s' "$1" | head -c 1 | tr "[:lower:]" "[:upper:]" printf '%s' "$1" | head -c 1 | tr "[:lower:]" "[:upper:]"
printf '%s' "$1" | tail -c '+2' printf '%s' "$1" | tail -c '+2' | tr "-" " " | tr "e" "é"
}
modify_delta() {
if [ "$1" = "light" ]; then
sed -e "s/light = false/light = true/" -e "s/Nord/OneHalfLight/" -i ~/.config/git/config
else
sed -e "s/light = true/light = false/" -e "s/OneHalfLight/Nord/" -i ~/.config/git/config
fi
} }
change_theme() { change_theme() {
sed -i "s/iceberg_$1/iceberg_$2/" ~/.config/kitty/kitty.conf sed -e "$NVIM_COLORSCHEME_LINE s/$1/$2/" -i ~/.config/nvim/init.vim
sed -i "s/bg=$1/bg=$2/" ~/.config/nvim/init.vim sed -i "s/$1/$2/" ~/.config/zathura/zathurarc
sed -i "s/iceberg_$1/iceberg_$2/" ~/.dotfiles/tmux/.tmux.conf if [ "$2" = "$LIGHT_THEME" ]; then
sed -i "s/iceberg_$1/iceberg_$2/" ~/.config/zathura/zathurarc kitty +kitten themes --reload-in=all "$KITTY_LIGHT_THEME"
modify_delta "$2" else
kitty +kitten themes --reload-in=all "Iceberg $(capitalize "$2")" kitty +kitten themes --reload-in=all "$(capitalize "$2")"
tmux source-file ~/.tmux.conf fi
nvr --remote-send ":source ~/.config/nvim/init.vim <CR> :set nonumber <CR> :set norelativenumber <CR>" nvr --remote-send ":source ~/.config/nvim/init.vim <CR>"
} }
recolor_zathura() { recolor_zathura() {
@@ -43,11 +40,11 @@ fi
mode=$1 mode=$1
if [ "$mode" = "light" ]; then if [ "$mode" = "light" ]; then
emacsclient --eval "(load-theme 'doom-nord-light 'no-confirm)" emacsclient --eval "(load-theme 'os1 'no-confirm)"
change_theme dark light change_theme "$DARK_THEME" "$LIGHT_THEME"
recolor_zathura recolor_zathura
else else
emacsclient --eval "(load-theme 'doom-nord 'no-confirm)" emacsclient --eval "(load-theme 'doom-one 'no-confirm)"
change_theme light dark change_theme "$LIGHT_THEME" "$DARK_THEME"
recolor_zathura recolor_zathura
fi fi

View File

@@ -5,7 +5,7 @@ select_action() {
"local" "local"
"zion" "zion"
"hpc" "hpc"
"idlab" "kermit-gpu"
) )
action=$(printf '%s\n' "${action_content[@]}" | rofi -no-auto-select -i "$@" -dmenu -p "Choose a session") action=$(printf '%s\n' "${action_content[@]}" | rofi -no-auto-select -i "$@" -dmenu -p "Choose a session")
execute_action "$action" execute_action "$action"
@@ -20,7 +20,7 @@ execute_action() {
"local") launch_session "local" ;; "local") launch_session "local" ;;
"zion") launch_session "zion" ;; "zion") launch_session "zion" ;;
"hpc") launch_session "hpc" ;; "hpc") launch_session "hpc" ;;
"idlab") launch_session "idlab" ;; "kermit-gpu") launch_session "kermit-gpu" ;;
esac esac
} }

View File

@@ -1,6 +1,6 @@
host zion host zion
user coolneng user coolneng
hostname 192.168.13.2 hostname 192.168.128.2
port 22 port 22
identityfile ~/.ssh/zion identityfile ~/.ssh/zion
@@ -14,14 +14,14 @@ host hpc
port 22 port 22
identityfile ~/.ssh/id_ed25519 identityfile ~/.ssh/id_ed25519
host idlab
user akasroua
hostname 10.10.193.39
port 22
identityfile ~/.ssh/idlab
host kobo host kobo
user root user root
hostname 192.168.13.20 hostname 192.168.13.20
port 22 port 22
identityfile ~/.ssh/kobo identityfile ~/.ssh/kobo
host kathreftis
user root
hostname 192.168.13.131
port 22
identityfile ~/.ssh/kathreftis

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -59,10 +59,14 @@ output * bg ~/Photos/Wallpapers/The_parallel_microscopic_Universe_II.jpg fill
# You can get the names of your inputs by running: swaymsg -t get_inputs # You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section. # Read `man 5 sway-input` for more information about this section.
# Keyboard layout # Keyboard layout
input * xkb_layout "es" input type:keyboard {
xkb_layout us
xkb_variant altgr-intl
xkb_options eurosign:4
}
# Touchpad settings # Touchpad settings
input "2:7:SynPS/2_Synaptics_TouchPad" { input type:touchpad {
dwt enabled dwt enabled
tap enabled tap enabled
natural_scroll enabled natural_scroll enabled
@@ -130,12 +134,12 @@ bindsym $mod+L focus right
set $workspace1 "1: " set $workspace1 "1: "
set $workspace2 "2: " set $workspace2 "2: "
set $workspace3 "3: " set $workspace3 "3: "
set $workspace4 "4: " set $workspace4 "4: 󱓷"
set $workspace5 "5: " set $workspace5 "5: "
set $workspace6 "6: " set $workspace6 "6: "
set $workspace7 "7: " set $workspace7 "7: "
set $workspace8 "8: " set $workspace8 "8: "
set $workspace9 "9: " set $workspace9 "9: 󰕧"
set $workspace10 "10: " set $workspace10 "10: "
# Switch to workspace # Switch to workspace
bindsym $mod+1 workspace $workspace1 bindsym $mod+1 workspace $workspace1
@@ -250,8 +254,7 @@ for_window [app_id="imv"] floating enable
for_window [app_id="popup"] floating enable, resize set 1280 720 for_window [app_id="popup"] floating enable, resize set 1280 720
for_window [app_id="firefox" title="^Picture-in-Picture$"] floating enable, resize set 735 415; sticky enable for_window [app_id="firefox" title="^Picture-in-Picture$"] floating enable, resize set 735 415; sticky enable
for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable, resize set width 1030 height 710 for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable, resize set width 1030 height 710
# Resize zathura to 70% in tiling mode for_window [title="Firefox — Sharing Indicator"] kill;
for_window [app_id="org.pwmt.zathura" workspace=$workspace4] resize set width 70 ppt
# Resize R plots to 40% in tiling mode # Resize R plots to 40% in tiling mode
for_window [class="R_x11"] resize set width 40 ppt for_window [class="R_x11"] resize set width 40 ppt
# Split windows vertically # Split windows vertically
@@ -271,21 +274,22 @@ bindsym XF86AudioMicMute exec ~/.local/share/scripts/pulseaudio-mic-mute
bindsym XF86MonBrightnessUp exec light -A 10 bindsym XF86MonBrightnessUp exec light -A 10
bindsym XF86MonBrightnessDown exec light -U 10 bindsym XF86MonBrightnessDown exec light -U 10
# Media control # Media control
bindsym XF86Tools exec mpc toggle bindsym XF86Messenger exec mpc toggle
bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioPlay exec mpc toggle
bindsym XF86Search exec mpc stop bindsym XF86Go exec mpc stop
bindsym XF86LaunchA exec mpc prev bindsym Cancel exec mpc prev
bindsym XF86Explorer exec mpc next bindsym XF86Favorites exec mpc next
# #
# Program keybindings # Program keybindings
# #
# clipman # clipman
bindsym $mod+c exec clipman pick -t rofi --max-items=50 bindsym $mod+c exec rofi -modi clipboard:~/.local/share/scripts/cliphist-rofi-img -show clipboard -show-icons
# grim # grim
bindsym Print exec grim bindsym Print exec grim
# slurp + grim to clipboard # slurp + grim to clipboard
bindsym Shift+Print exec slurp | grim -g - - | wl-copy bindsym Shift+Print exec slurp | grim -g - - | wl-copy
#bindsym Shift+Super_L exec slurp | grim -g - - | wl-copy
# find PDFs with rofi # find PDFs with rofi
bindsym $mod+f exec ~/.local/share/scripts/finder bindsym $mod+f exec ~/.local/share/scripts/finder
# recurrent action launcher # recurrent action launcher
@@ -294,6 +298,8 @@ bindsym $mod+Shift+a exec ~/.local/share/scripts/recurrent-actions
bindsym $mod+Shift+s exec ~/.local/share/scripts/tmuxp-session bindsym $mod+Shift+s exec ~/.local/share/scripts/tmuxp-session
# power menu # power menu
bindsym $mod+Shift+p exec ~/.local/share/scripts/power-menu bindsym $mod+Shift+p exec ~/.local/share/scripts/power-menu
# earth view wallpaper
bindsym $mod+Shift+w exec ~/.local/share/scripts/earth-view-wallpaper
# theme switcher menu # theme switcher menu
bindsym $mod+Shift+t mode "$Theme-switch" bindsym $mod+Shift+t mode "$Theme-switch"
@@ -313,16 +319,15 @@ set $lock_bg ~/Photos/Wallpapers/wallhaven-638719.png
exec swayidle -w \ exec swayidle -w \
before-sleep 'swaylock -f -c 000000 -i $lock_bg' before-sleep 'swaylock -f -c 000000 -i $lock_bg'
# disable external monitor when lid is closed # apply color profile to laptop screen
set $monitor DP-1 output eDP-1 color_profile icc ~/.config/colord/E14-G3.icm
bindswitch --reload --locked lid:on output $monitor disable
bindswitch --reload --locked lid:off output $monitor enable
# #
# Autostart programs # Autostart programs
# #
# clipman # clipman
exec wl-paste -t text --watch clipman store --max-items=50 exec wl-paste -t text --watch cliphist store
exec wl-paste -t image --watch cliphist store
# kanshi # kanshi
exec kanshi exec kanshi
# easyeffects # easyeffects
@@ -334,7 +339,7 @@ exec kitty --class tmux -- tmuxp load ~/.tmuxp/local.yaml
assign [app_id="firefox"] $workspace2 assign [app_id="firefox"] $workspace2
exec firefox exec firefox
# emacs # emacs
assign [class=".*[Ee]macs.*"] $workspace3 assign [app_id="emacs"] $workspace3
# HACK Run a doom sync before launching emacs # HACK Run a doom sync before launching emacs
exec ~/.emacs.d/bin/doom sync && exec emacs exec ~/.emacs.d/bin/doom sync && exec emacs
@@ -354,7 +359,9 @@ assign [app_id="mpv"] $workspace9
# calibre # calibre
assign [app_id="calibre"] $workspace10 assign [app_id="calibre"] $workspace10
# chromium # chromium
assign [class="Chromium-browser"] $workspace10 assign [app_id="chromium-browser"] $workspace10
# teams
assign [class="teams-for-linux"] $workspace6

View File

@@ -8,7 +8,6 @@ set -g bell-action any
## Set default terminal ## Set default terminal
set -g default-terminal "screen-256color" set -g default-terminal "screen-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
# i3 split bindings # i3 split bindings
@@ -78,3 +77,4 @@ set -g mouse on
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M" bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
source ~/.tmux/statusbar.conf

View File

@@ -1,11 +0,0 @@
set -g status-justify "centre"
set -g status "on"
set -g status-left-style "none"
set -g status-style "none,bg=#1e2132"
set -g status-left "#[bold] #S"
set -g status-right ""
set -g pane-border-style "fg=#2e3244"
set -g pane-active-border-style "fg=#454b68"
setw -g window-status-style "none,fg=#c6c8d1,bg=#1e2132"
setw -g window-status-format " #[fg=#c6c8d1] #I #W "
setw -g window-status-current-format " #[fg=#c6c8d1,bg=#2e3244,bold] #I #W "

View File

@@ -1,11 +0,0 @@
set -g status-justify "centre"
set -g status "on"
set -g status-left-style "none"
set -g status-style "none,bg=#d2d4dd"
set -g status-left "#[bold] #S"
set -g status-right ""
set -g pane-border-style "fg=#c6c8d1"
set -g pane-active-border-style "fg=#33374c"
setw -g window-status-style "none,fg=#33374c,bg=#d2d4dd"
setw -g window-status-format " #[fg=#afafaf] #I #W "
setw -g window-status-current-format " #[fg=#282a2e,bold] #I #W "

11
tmux/.tmux/statusbar.conf Normal file
View File

@@ -0,0 +1,11 @@
set -g status-justify "centre"
set -g status "on"
set -g status-left-style "none"
set -g status-style "none,bg=black"
set -g status-left "#[bold] #S"
set -g status-right ""
set -g pane-border-style "fg=#2e3244"
set -g pane-active-border-style "fg=#454b68"
setw -g window-status-style "none,fg=black,bg=brightblack"
setw -g window-status-format "#[fg=black,bg=brightblack] #I #W "
setw -g window-status-current-format "#[fg=black,bg=cyan,bold] #I #W "

View File

@@ -1,13 +0,0 @@
session_name: idlab
suppress_history: false
windows:
- window_name: canvas
layout: even-vertical
panes:
- ssh -C idlab
- ssh -C idlab
- window_name: monitor
panes:
- ssh -C -t idlab "htop"

View File

@@ -0,0 +1,20 @@
session_name: kermit-gpu
suppress_history: false
windows:
- window_name: admin
focus: true
layout: even-vertical
panes:
- ssh -C kermit-gpu
- ssh -C kermit-gpu
- window_name: canvas
layout: even-vertical
panes:
- ssh -C kermit-gpu
- ssh -C kermit-gpu
- window_name: monitor
panes:
- ssh -C -t kermit-gpu "htop"

View File

@@ -25,10 +25,6 @@ windows:
panes: panes:
- ncmpcpp - ncmpcpp
- window_name: mail
panes:
- neomutt
- window_name: stream - window_name: stream
panes: panes:
- null - null

View File

@@ -6,15 +6,15 @@ windows:
focus: true focus: true
layout: even-vertical layout: even-vertical
panes: panes:
- ssh -C root@zion - ssh root@zion
- ssh -C root@zion - ssh root@zion
- window_name: canvas - window_name: canvas
layout: even-vertical layout: even-vertical
panes: panes:
- ssh -C zion - ssh zion
- ssh -C zion - ssh zion
- window_name: monitor - window_name: monitor
panes: panes:
- ssh -C -t zion "htop" - ssh -t zion "htop"

View File

@@ -1,25 +1,9 @@
{ {
"layer": "top", // Waybar at top layer "layer": "top",
"height": 25, // Waybar height (to be removed for auto height) "height": 25,
"modules-left": ["sway/workspaces" ], "modules-left": ["sway/workspaces" ],
"modules-center": ["custom/org-pomodoro", "clock"], "modules-center": ["custom/org-pomodoro", "clock"],
"modules-right": ["mpd", "network", "pulseaudio", "battery", "battery#bat2"], "modules-right": ["mpd", "network", "pulseaudio", "battery" ],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"mpd": { "mpd": {
"format": "<span foreground='#88C0D0'>{stateIcon}</span> {title}", "format": "<span foreground='#88C0D0'>{stateIcon}</span> {title}",
"format-disconnected": "", "format-disconnected": "",
@@ -30,12 +14,14 @@
"on": " " "on": " "
}, },
"state-icons": { "state-icons": {
"paused": "", "paused": "󰝚",
"playing": "" "playing": "󰝚"
}, },
"tooltip-format": "{elapsedTime:%H:%M:%S}/{totalTime:%H:%M:%S}", "tooltip-format": "{elapsedTime:%H:%M:%S}/{totalTime:%H:%M:%S}",
"tooltip-format-disconnected": "MPD (disconnected)", "tooltip-format-disconnected": "MPD (disconnected)",
"title-len": 50 "title-len": 50,
"on-click": "mpc toggle",
"on-click-right": "mpc stop"
}, },
"clock": { "clock": {
"format": "{:%a %d %b %H:%M}", "format": "{:%a %d %b %H:%M}",
@@ -49,52 +35,29 @@
"critical": 10 "critical": 10
}, },
"format": "<span foreground='#88C0D0'>{icon}</span> {capacity}%", "format": "<span foreground='#88C0D0'>{icon}</span> {capacity}%",
"format-charging": "<span foreground='#88C0D0'></span> {capacity}%", "format-charging": "<span foreground='#88C0D0'>󰂄</span> {capacity}%",
"format-plugged": "<span foreground='#88C0D0'></span> {capacity}%", "format-plugged": "<span foreground='#88C0D0'>󰂄</span> {capacity}%",
"format-alt": "{time} {icon}", "format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module "format-full": "<span foreground='#88C0D0'>󰁹</span> 100%",
"format-full": "<span foreground='#88C0D0'></span> 100%", "format-icons": ["󰁼", "󰁿", "󰂁"]
"format-icons": ["", "", ""]
},
"battery#bat2": {
"bat": "BAT1",
"states": {
"good": 95,
"warning": 30,
"critical": 10
},
"format": "<span foreground='#88C0D0'>{icon}</span> {capacity}%",
"format-charging": "<span foreground='#88C0D0'></span> {capacity}%",
"format-plugged": "<span foreground='#88C0D0'></span> {capacity}%",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
"format-full": "<span foreground='#88C0D0'></span> 100%",
"format-icons": ["", "", ""]
}, },
"network": { "network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "<span foreground='#88C0D0'>{icon}</span> {essid}", "format-wifi": "<span foreground='#88C0D0'>{icon}</span> {essid}",
"format-ethernet": "<span foreground='#88C0D0'></span> Connected", "format-ethernet": "<span foreground='#88C0D0'></span> Connected",
"format-linked": "{ifname} (No IP) ", "format-linked": "{ifname} (No IP) ",
"format-disconnected": "<span foreground='#88C0D0'>睊</span> Disconnected", "format-disconnected": "<span foreground='#88C0D0'>睊</span> Disconnected",
"format-alt": "{ifname}: {ipaddr}/{cidr}", "format-alt": "{ifname}: {ipaddr}/{cidr}",
"format-icons": ["", "", ""], "format-icons": ["󰤟", "󰤢", "󰤥"],
"tooltip-format": "Online", "tooltip-format": "Online",
"tooltip-format-disconnected": "Offline" "tooltip-format-disconnected": "Offline"
}, },
"pulseaudio": { "pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "<span foreground='#88C0D0'>{icon}</span> {volume}%", "format": "<span foreground='#88C0D0'>{icon}</span> {volume}%",
"format-muted": "<span foreground='#88C0D0'></span>", "format-muted": "<span foreground='#88C0D0'>󰖁</span>",
"format-icons": { "format-icons": {
"default": ["", "", ""] "default": ["", "󰕾", ""]
}, },
"on-click": "", "on-click": "",
"ignored-sinks": ["EasyEffects Sink"] "ignored-sinks": ["Easy Effects Sink"]
},
"custom/org-pomodoro": {
"format": "<span foreground='#88C0D0'>祥</span> {}",
"exec": "$HOME/.local/share/scripts/org-clock-status",
"interval": 2
} }
} }

View File

@@ -2,6 +2,7 @@
border: none; border: none;
border-radius: 0; border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */ /* `otf-font-awesome` is required to be installed for icons */
all: unset;
font-family: Inconsolata Nerd Font; font-family: Inconsolata Nerd Font;
font-size: 17px; font-size: 17px;
min-height: 0px; min-height: 0px;
@@ -166,3 +167,5 @@ label:focus {
#mpd.paused { #mpd.paused {
} }

View File

@@ -0,0 +1,4 @@
# Limit resolution to 1080p and exclude AV1
-f bestvideo[height<=1080][vcodec!=av1]+bestaudio/best
# Use HEVC codec to save space
-S vcodec:h265

View File

@@ -1,5 +0,0 @@
set recolor-lightcolor "#161821"
set recolor-darkcolor "#c6c8d1"
set completion-bg "#161821"
set statusbar-bg "#161821"
set statusbar-fg "#c6c8d1"

View File

@@ -1,5 +0,0 @@
set recolor-lightcolor "#e8e9ec"
set recolor-darkcolor "#33374c"
set completion-bg "#e8e9ec"
set statusbar-bg "#e8e9ec"
set statusbar-fg "#33374c"

View File

@@ -0,0 +1,10 @@
set completion-bg "#2E3440"
set statusbar-bg "#2E3440"
set statusbar-fg "#E5E9F0"
set recolor-lightcolor "#2E3440"
set recolor-darkcolor "#ECEFF4"
set default-bg "#2E3440"
set default-fg "#ECEFF4"
set render-loading true
set render-loading-bg "#2E3440"
set render-loading-fg "#ECEFF4"

View File

@@ -0,0 +1,38 @@
# https://github.com/rose-pine/rose-pine-theme
# Soho vibes for Zathura: Rosé Pine Dawn
#
# Usage:
# Copy contents of this file to ~/.config/zathura/zathurarc
#
# Change 'recolor' and 'recolor-keephue' to true to change
# the document colors for a more uniform viewing experience.
set default-bg "#faf4ed"
set default-fg "#575279"
set statusbar-fg "#9893a5"
set statusbar-bg "#fffaf3"
set inputbar-bg "#6e6a86"
set inputbar-fg "#faf4ed"
set notification-bg "#6e6a86"
set notification-fg "#faf4ed"
set notification-error-bg "#6e6a86"
set notification-error-fg "#ea9d34"
set notification-warning-bg "#6e6a86"
set notification-warning-fg "#ea9d34"
set highlight-color "#b4637a"
set highlight-active-color "#d7827e"
set completion-bg "#6e6a86"
set completion-fg "#d7827e"
set completion-highlight-fg "#575279"
set completion-highlight-bg "#d7827e"
set recolor-lightcolor "#faf4ed"
set recolor-darkcolor "#575279"

View File

@@ -1,10 +1,11 @@
# Zathura configuration # Zathura configuration
set adjust-open "width" set adjust-open "best-fit"
set selection-clipboard clipboard set selection-clipboard clipboard
set recolor true
set recolor-keephue true set recolor-keephue true
set window-title-basename true set window-title-basename true
set completion-bg "#161821" set completion-bg "#161821"
set highlight-color "#a093c7" set highlight-color "#a093c7"
set highlight-active-color "#a093c7" set highlight-active-color "#a093c7"
set font "Terminus \(TTF\) 15" set font "Terminus \(TTF\) 15"
include nord.conf