Compare commits
10 Commits
1d7f1845f9
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 0573abe905 | |||
| abaa3e2271 | |||
| 230cb70257 | |||
| 6091576170 | |||
| 0c1a801a17 | |||
| 468cbe649b | |||
| bf035507f6 | |||
| c214976757 | |||
| 03cadb8ea5 | |||
| 93f110a501 |
23
README.org
Normal file
23
README.org
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 75f35b3b-f46f-42b6-ac4b-3988f15c46e1
|
||||||
|
:END:
|
||||||
|
#+title: Gortium Dotfiles
|
||||||
|
#+subtitle: My attempt at having my computer do what I want, not the contrary
|
||||||
|
|
||||||
|
* Welcome
|
||||||
|
I use stow to deploy all this to where it need to go (mostly ~/.confg).
|
||||||
|
|
||||||
|
* Apps
|
||||||
|
** emacs (Doom)
|
||||||
|
** nvim
|
||||||
|
** btop
|
||||||
|
** hyprland
|
||||||
|
** kitty
|
||||||
|
** rclone
|
||||||
|
** starship
|
||||||
|
** tmux
|
||||||
|
** waybar
|
||||||
|
** Wireplumber
|
||||||
|
** wofi
|
||||||
|
** yazi
|
||||||
|
** zsh
|
||||||
177
ansible.yml
Normal file
177
ansible.yml
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
- name: Setup Arch Linux
|
||||||
|
hosts: localhost
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Check internet connectivity
|
||||||
|
shell: ping -c 1 archlinux.org
|
||||||
|
register: internet_check
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Prompt user if no internet connection
|
||||||
|
pause:
|
||||||
|
prompt: "No internet detected. Please connect to a network and press Enter to continue."
|
||||||
|
when: internet_check.rc != 0
|
||||||
|
|
||||||
|
- name: Set the timezone to America/Montreal
|
||||||
|
command: timedatectl set-timezone America/Montreal
|
||||||
|
changed_when: false # Prevents Ansible from reporting this task as "changed" unnecessarily
|
||||||
|
|
||||||
|
- name: Enable NTP synchronization
|
||||||
|
command: timedatectl set-ntp true
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Ensure systemd-timesyncd is running and enabled
|
||||||
|
systemd:
|
||||||
|
name: systemd-timesyncd
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
|
|
||||||
|
- name: Sync hardware clock with system time
|
||||||
|
command: hwclock --systohc
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Install base packages
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- base
|
||||||
|
- base-devel
|
||||||
|
- linux
|
||||||
|
- linux-firmware
|
||||||
|
- sof-firmware
|
||||||
|
- efibootmgr
|
||||||
|
- grub
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Enable essential services
|
||||||
|
systemd:
|
||||||
|
name: "{{ item }}"
|
||||||
|
enabled: yes
|
||||||
|
loop:
|
||||||
|
- NetworkManager
|
||||||
|
- bluetooth.service
|
||||||
|
|
||||||
|
- name: Install yay (AUR helper)
|
||||||
|
shell: |
|
||||||
|
sudo pacman -S --needed git base-devel && \
|
||||||
|
git clone https://aur.archlinux.org/yay-bin.git && \
|
||||||
|
cd yay-bin && makepkg -si --noconfirm
|
||||||
|
args:
|
||||||
|
creates: /usr/bin/yay
|
||||||
|
|
||||||
|
- name: Install core utilities
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- networkmanager
|
||||||
|
- openssh
|
||||||
|
- git
|
||||||
|
- wget
|
||||||
|
- neofetch
|
||||||
|
- ripgrep
|
||||||
|
- eza
|
||||||
|
- fd
|
||||||
|
- stow
|
||||||
|
- zoxide
|
||||||
|
- bat
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install desktop environment packages
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- hyprland
|
||||||
|
- hyprlock
|
||||||
|
- hypridle
|
||||||
|
- waybar
|
||||||
|
- swaync
|
||||||
|
- wofi
|
||||||
|
- firefox
|
||||||
|
- hyprshot
|
||||||
|
- power-profiles-daemon
|
||||||
|
- swww
|
||||||
|
- nvidia-lts
|
||||||
|
- brightnessctl
|
||||||
|
- pavucontrol
|
||||||
|
- pipewire
|
||||||
|
- pipewire-alsa
|
||||||
|
- pipewire-pulse
|
||||||
|
- bluez
|
||||||
|
- bluez-utils
|
||||||
|
- udiskie
|
||||||
|
- obsidian
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install TUI utilities
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- bluetuith
|
||||||
|
- lazydocker
|
||||||
|
- lazygit
|
||||||
|
- lazysql
|
||||||
|
- fzf
|
||||||
|
- sshs
|
||||||
|
- yazi
|
||||||
|
- taskwarrior-tui
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install terminal applications
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- kitty
|
||||||
|
- zsh
|
||||||
|
- starship
|
||||||
|
- tmux
|
||||||
|
- tmux-plugin-manager
|
||||||
|
- neovim
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Set default shell to zsh
|
||||||
|
command: chsh -s /usr/bin/zsh
|
||||||
|
|
||||||
|
- name: Install fonts
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- ttf-cascadia-code-nerd
|
||||||
|
- ttf-font-awesome
|
||||||
|
- ttf-jetbrains-mono-nerd
|
||||||
|
- ttf-meslo-nerd
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install AI stack
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- ollama
|
||||||
|
- aichat
|
||||||
|
- pandoc-cli
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install TTS stack
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- piper-tts
|
||||||
|
- paplay
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install theming tools
|
||||||
|
pacman:
|
||||||
|
name:
|
||||||
|
- pywal16
|
||||||
|
- pywalfox
|
||||||
|
- nwg-look
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Clone dotfiles repository
|
||||||
|
git:
|
||||||
|
repo: "https://github.com/yourusername/dotfiles.git"
|
||||||
|
dest: "/home/{{ ansible_user }}/dotfiles"
|
||||||
|
update: yes
|
||||||
|
|
||||||
|
- name: Stow dotfiles
|
||||||
|
shell: |
|
||||||
|
cd /home/{{ ansible_user }}/dotfiles && stow */
|
||||||
|
args:
|
||||||
|
executable: /bin/bash
|
||||||
|
|
||||||
|
- name: Apply pywal theme
|
||||||
|
command: wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
|
||||||
|
args:
|
||||||
|
executable: /bin/zsh
|
||||||
113
archive/README.md
Normal file
113
archive/README.md
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
# config
|
||||||
|
My dot config
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
### For window WSL
|
||||||
|
git config --global core.autocrlf true
|
||||||
|
### To start terminator from WSL
|
||||||
|
DISPLAY=:0 terminator -u &
|
||||||
|
### To use chmod (git clone) from WSL
|
||||||
|
edit: /etc/wsl.conf
|
||||||
|
|
||||||
|
paste:
|
||||||
|
|
||||||
|
[automount]
|
||||||
|
options = "metadata"
|
||||||
|
###
|
||||||
|
|
||||||
|
## VIM
|
||||||
|
|
||||||
|
Is set to save automatically ;)
|
||||||
|
|
||||||
|
Usefull command:
|
||||||
|
* i : insert mode
|
||||||
|
* v : visual mode (selecting)
|
||||||
|
* shift-v : same but by line
|
||||||
|
* ctrl-v : block select
|
||||||
|
* d : cut (visual mode)
|
||||||
|
* y : copy (visual mode)
|
||||||
|
* p : past (normal mode)
|
||||||
|
* [esc] : exit modes
|
||||||
|
* :q : exit
|
||||||
|
* :w : save
|
||||||
|
* NERDTree : open files manager
|
||||||
|
* ? : NERDTREE help menu
|
||||||
|
* I : show hidden files
|
||||||
|
* ctrl-w ctrl-w : change split
|
||||||
|
* ctrl-w [arrows] : change split in this direction
|
||||||
|
* Bd : close file in buffer
|
||||||
|
* [tab] : cycle through buffers
|
||||||
|
* shift-[tab] : cycle through tabs
|
||||||
|
* shift-t : new tab
|
||||||
|
* shift-d : delete tab
|
||||||
|
* :split : open file in a split screen
|
||||||
|
* :hide : close a split
|
||||||
|
* :A : switch between .cpp and .hpp
|
||||||
|
* If ctrl-s and freeze, ctrl-q ;)
|
||||||
|
|
||||||
|
|
||||||
|
### a.vim
|
||||||
|
A few of quick commands to swtich between source files and header files quickly.
|
||||||
|
|
||||||
|
### ctlp
|
||||||
|
Full path fuzzy __file__, __buffer__, __mru__, __tag__, __...__ finder for Vim.
|
||||||
|
|
||||||
|
### delimitMate
|
||||||
|
This plug-in provides automatic closing of quotes, parenthesis, brackets, etc.
|
||||||
|
|
||||||
|
### neocomplete
|
||||||
|
Neocomplete is the abbreviation of "neo-completion with cache". It provides
|
||||||
|
keyword completion system by maintaining a cache of keywords in the current
|
||||||
|
buffer. neocomplete can be customized easily and has many more features than
|
||||||
|
Vim's built-in completion.
|
||||||
|
|
||||||
|
### nerdtree
|
||||||
|
The NERDTree is a file system explorer for the Vim editor. Using this plugin,
|
||||||
|
users can visually browse complex directory hierarchies, quickly open files for
|
||||||
|
reading or editing, and perform basic file system operations.
|
||||||
|
|
||||||
|
### syntastic
|
||||||
|
Syntastic is a syntax checking plugin for [Vim][vim] created by
|
||||||
|
[Martin Grenfell][scrooloose]. It runs files through external syntax checkers
|
||||||
|
and displays any resulting errors to the user. This can be done on demand, or
|
||||||
|
automatically as files are saved. If syntax errors are detected, the user is
|
||||||
|
notified and is happy because they didn't have to compile their code or execute
|
||||||
|
their script to find them.
|
||||||
|
|
||||||
|
### vim-airline-theme
|
||||||
|
Airline themes for vim
|
||||||
|
|
||||||
|
### vim-airline
|
||||||
|
When the plugin is correctly loaded, Vim will draw a nice statusline at the
|
||||||
|
bottom of each window. That line consists of several sections, each one displaying some piece of
|
||||||
|
information.
|
||||||
|
|
||||||
|
### vim-fugitive
|
||||||
|
A git wrapper
|
||||||
|
|
||||||
|
### vim-gitgutter
|
||||||
|
A Vim plugin which shows a git diff in the 'gutter' (sign column). It shows which lines
|
||||||
|
have been added, modified, or removed. You can also preview, stage, and undo individual hunks.
|
||||||
|
The plugin also provides a hunk text object.
|
||||||
|
|
||||||
|
### vim-nerdtree-tab
|
||||||
|
This plugin aims at making NERDTree feel like a true panel, independent of tabs.
|
||||||
|
|
||||||
|
### vim-tmux-navigator
|
||||||
|
This plugin is a repackaging of [Mislav Marohnić's][] tmux-navigator
|
||||||
|
configuration described in [this gist][]. When combined with a set of tmux
|
||||||
|
key bindings, the plugin will allow you to navigate seamlessly between
|
||||||
|
vim and tmux splits using a consistent set of hotkeys.
|
||||||
|
|
||||||
|
### Vundle
|
||||||
|
[Vundle] is short for _Vim bundle_ and is a [Vim] plugin manager.
|
||||||
|
[Vundle] allows you to...
|
||||||
|
* keep track of and [configure] your plugins right in the `.vimrc`
|
||||||
|
* [install] configured plugins (a.k.a. scripts/bundle)
|
||||||
|
* [update] configured plugins
|
||||||
|
* [search] by name all available [Vim scripts]
|
||||||
|
* [clean] unused plugins up
|
||||||
|
* run the above actions in a *single keypress* with [interactive mode]
|
||||||
|
[Vundle] automatically...
|
||||||
|
* manages the [runtime path] of your installed scripts
|
||||||
|
* regenerates [help tags] after installing and updating
|
||||||
192
archive/i3/config
Executable file
192
archive/i3/config
Executable file
@@ -0,0 +1,192 @@
|
|||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
#
|
||||||
|
# This config file uses keycodes (bindsym) and was written for the QWERTY
|
||||||
|
# layout.
|
||||||
|
#
|
||||||
|
# To get a config file with the same key positions, but for your current
|
||||||
|
# layout, use the i3-config-wizard
|
||||||
|
#
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 8
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Before i3 v4.8, we used to recommend this one as the default:
|
||||||
|
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||||
|
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||||
|
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||||
|
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||||
|
# font, it doesn’t scale on retina/hidpi displays.
|
||||||
|
|
||||||
|
# use these keys for focus, movement, and resize directions when reaching for
|
||||||
|
# the arrows is not convenient
|
||||||
|
set $mod Mod4
|
||||||
|
set $sup Shift+Mod4
|
||||||
|
set $up l
|
||||||
|
set $down k
|
||||||
|
set $left j
|
||||||
|
set $right semicolon
|
||||||
|
|
||||||
|
# use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace 1:web
|
||||||
|
bindsym $mod+2 workspace 2:slack
|
||||||
|
bindsym $mod+3 workspace 3:terminal
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
bindsym $mod+9 workspace 9
|
||||||
|
bindsym $mod+0 workspace 10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1:web
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2:slack
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3:terminal
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace 10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym $left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym $down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym $up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym $right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start nm-applet (wifi and other options in the bar)
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Startup layout
|
||||||
|
exec --no-startup-id "i3-msg 'workspace 1:web; append_layout ~/.i3/workspace-1.json; exec /usr/bin/google-chrome'"
|
||||||
|
exec --no-startup-id "i3-msg 'workspace 2:slack; append_layout ~/.i3/workspace-2.json; exec /usr/bin/slack"
|
||||||
|
exec --no-startup-id "i3-msg 'workspace 3:terminal; append_layout ~/.i3/workspace-3.json; exec /usr/bin/gnome-terminal'"
|
||||||
|
|
||||||
|
# Multiscreen
|
||||||
|
exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# automatically start i3-config-wizard to offer the user to create a
|
||||||
|
# keysym-based config which used their favorite modifier (alt or windows)
|
||||||
|
#
|
||||||
|
# i3-config-wizard will not launch if there already is a config file
|
||||||
|
# in ~/.i3/config.
|
||||||
|
#
|
||||||
|
# Please remove the following exec line:
|
||||||
|
#######################################################################
|
||||||
|
exec i3-config-wizard
|
||||||
25
archive/i3/workspace-1.json
Executable file
25
archive/i3/workspace-1.json
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
{
|
||||||
|
"border": "normal",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"floating": "auto_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 729,
|
||||||
|
"width": 1362,
|
||||||
|
"x": 2,
|
||||||
|
"y": 18
|
||||||
|
},
|
||||||
|
"name": "i3: Layout saving in i3 - Google Chrome",
|
||||||
|
"percent": 1,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
"class": "^google-chrome$",
|
||||||
|
"instance": "^Google-chrome$",
|
||||||
|
//"title": "^Google\\ Chrome$",
|
||||||
|
//"transient_for": "^$",
|
||||||
|
"window_role": "^browser$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
25
archive/i3/workspace-2.json
Executable file
25
archive/i3/workspace-2.json
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
{
|
||||||
|
"border": "normal",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"floating": "auto_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 729,
|
||||||
|
"width": 1362,
|
||||||
|
"x": 2,
|
||||||
|
"y": 18
|
||||||
|
},
|
||||||
|
"name": "Slack",
|
||||||
|
"percent": 1,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
"class": "^Slack$",
|
||||||
|
"instance": "^slack$",
|
||||||
|
//"title": "^Slack",
|
||||||
|
//"transient_for": "^$",
|
||||||
|
"window_role": "^browser\\-window$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
24
archive/i3/workspace-3.json
Executable file
24
archive/i3/workspace-3.json
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
{
|
||||||
|
"border": "normal",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"floating": "auto_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 383,
|
||||||
|
"width": 575,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"name": "tpouplier@tpouplier-edge: ~",
|
||||||
|
"percent": 1,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
"class": "^gnome-terminal-server$",
|
||||||
|
"instance": "^Gnome-terminal$",
|
||||||
|
//"title": "^tpouplier\\@tpouplier\\-edge\\:\\ \\~$",
|
||||||
|
//"transient_for": "^$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
567
archive/new_setup.md
Normal file
567
archive/new_setup.md
Normal file
@@ -0,0 +1,567 @@
|
|||||||
|
---
|
||||||
|
id: new_setup
|
||||||
|
aliases: []
|
||||||
|
tags: []
|
||||||
|
---
|
||||||
|
|
||||||
|
# New Computer Setup
|
||||||
|
|
||||||
|
- Switched from Ubuntu to Arch btw.
|
||||||
|
- Tilling window manager
|
||||||
|
- Kept my /home folder for comfiness... May need a big cleanup soon thought.
|
||||||
|
- New dotfile management (stow)
|
||||||
|
- Switch from VScode to... Nvim !! xD (+ kitty, zsh, starship, tmux)
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
- [ ] Set a swaync config for notifications [cool config](https://github.com/ErikReider/SwayNotificationCenter/discussions/183)
|
||||||
|
- [ ] Save firefox extantion and settings
|
||||||
|
- [ ] Explore how to complete snippets with multiple cursor placement (low priority. see luasnip)
|
||||||
|
- [ ] Look into nvim orgmode
|
||||||
|
[Nvim Orgmode website](https://nvim-orgmode.github.io/)
|
||||||
|
[Nvim Orgmode github](https://github.com/nvim-orgmode/orgmode)
|
||||||
|
- This is where shit hit the fan and i found out the emacs is awesome.. xD
|
||||||
|
|
||||||
|
## Package installed
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
comm -23 <(pacman -Qqett | sort) <(pacman -Qqg | sort | uniq)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Base install
|
||||||
|
|
||||||
|
- base
|
||||||
|
Base install
|
||||||
|
|
||||||
|
- base-devel
|
||||||
|
Base install
|
||||||
|
|
||||||
|
- linux
|
||||||
|
Base install, kernel
|
||||||
|
|
||||||
|
- linux-firmware
|
||||||
|
Base install, firmware
|
||||||
|
|
||||||
|
- sof-firmware
|
||||||
|
Firmware needed for audio
|
||||||
|
|
||||||
|
- efibootmgr
|
||||||
|
EFI boot manager
|
||||||
|
|
||||||
|
- grub
|
||||||
|
Bootloader
|
||||||
|
|
||||||
|
### Desktop
|
||||||
|
|
||||||
|
- networkmanager
|
||||||
|
Network manager
|
||||||
|
nmtui
|
||||||
|
|
||||||
|
- hyprland
|
||||||
|
Tile window manager
|
||||||
|
|
||||||
|
- hyprlock
|
||||||
|
Lock screen manager
|
||||||
|
SUPER + SHIFT + l
|
||||||
|
|
||||||
|
- hypridle
|
||||||
|
Trigger lockscreen, screen off, hibernation
|
||||||
|
|
||||||
|
- waybar
|
||||||
|
Top bar in hyprland
|
||||||
|
|
||||||
|
- swaync
|
||||||
|
Notifications
|
||||||
|
|
||||||
|
- wofi
|
||||||
|
App launcher
|
||||||
|
SUPER + R
|
||||||
|
|
||||||
|
- okular
|
||||||
|
Open and edit pdf
|
||||||
|
|
||||||
|
- firefox
|
||||||
|
Browser
|
||||||
|
|
||||||
|
- hyprshot
|
||||||
|
Screenshot manager
|
||||||
|
|
||||||
|
- xdg-desktop-portal-hyprland
|
||||||
|
For screen sharing in discord, team, etc.
|
||||||
|
|
||||||
|
<!-- - power-profiles-daemon -->
|
||||||
|
<!-- Power profile selector (perf, eco..) -->
|
||||||
|
<!-- [!WARNING] May be needed by waybar? not working right now -->
|
||||||
|
|
||||||
|
<!-- - auto-cpufreq -->
|
||||||
|
<!-- Manage cpu freq for better batterie life -->
|
||||||
|
|
||||||
|
- tlp
|
||||||
|
Better cpu freq manager
|
||||||
|
```zsh
|
||||||
|
sudo systemctl enable tlp.service
|
||||||
|
sudo systemctl mask systemd-rfkill.service
|
||||||
|
sudo systemctl mask systemd-rfkill.socket
|
||||||
|
```
|
||||||
|
|
||||||
|
- qimgv
|
||||||
|
GUI image viewer
|
||||||
|
[!ERROR] Not the right package
|
||||||
|
|
||||||
|
- swww-git
|
||||||
|
Setting wallpaper
|
||||||
|
|
||||||
|
- nvidia-lts
|
||||||
|
Nvidia driver
|
||||||
|
|
||||||
|
- brightnessctl
|
||||||
|
Allow brighness control of the screen
|
||||||
|
|
||||||
|
- pipewire
|
||||||
|
|
||||||
|
- wireplumber
|
||||||
|
|
||||||
|
- pipewire-audio
|
||||||
|
|
||||||
|
- pipewire-pulse
|
||||||
|
|
||||||
|
- pipewire-alsa
|
||||||
|
|
||||||
|
- pwvucontrol
|
||||||
|
Audio GUI panel
|
||||||
|
|
||||||
|
- udiskie
|
||||||
|
Auto usb mount
|
||||||
|
|
||||||
|
- openssh
|
||||||
|
Needed for its ssh agent
|
||||||
|
```zsh
|
||||||
|
ssh-keygen -t ed25519 -C "your_email@example.com"
|
||||||
|
eval "$(ssh-agent -s)"
|
||||||
|
ssh-add ~/.ssh/id_ed25519
|
||||||
|
systemctl --user enable ssh-agent.service
|
||||||
|
systemctl --user start ssh-agent.service
|
||||||
|
```
|
||||||
|
|
||||||
|
- obsidian
|
||||||
|
Note taking app in plain text markdown
|
||||||
|
|
||||||
|
- poppler
|
||||||
|
For yazi rendering of pdf (doom emacs dired too)
|
||||||
|
|
||||||
|
- imagemagick
|
||||||
|
For pywal, doom emacs dired
|
||||||
|
|
||||||
|
- rg
|
||||||
|
For file content searching
|
||||||
|
|
||||||
|
- jq
|
||||||
|
For yazi json preview
|
||||||
|
|
||||||
|
- ueberzugpp
|
||||||
|
For yazi image preview under hyprland
|
||||||
|
|
||||||
|
- ffmpeg
|
||||||
|
For yazi rendering of video
|
||||||
|
|
||||||
|
- texlive-pictures
|
||||||
|
|
||||||
|
- texlive-binextra
|
||||||
|
|
||||||
|
- texlive-plaingeneric
|
||||||
|
|
||||||
|
- texlive-basic
|
||||||
|
|
||||||
|
- texlive-latexrecommended
|
||||||
|
|
||||||
|
- texlive-latex
|
||||||
|
|
||||||
|
- texlive-latexextra
|
||||||
|
|
||||||
|
- texlive-bin
|
||||||
|
|
||||||
|
- texlive-binextra
|
||||||
|
All testlive above to have the pdflatex executable to allow emacs to export to latex, then.
|
||||||
|
|
||||||
|
- curlftpfs
|
||||||
|
To mount ftp server
|
||||||
|
```zsh
|
||||||
|
modprobe fuse
|
||||||
|
mkdir /mnt/ftp
|
||||||
|
curlftpfs ftp.exemple.com /mnt/ftp/ -o user=username:password
|
||||||
|
nvim /etc/fstab
|
||||||
|
curlftpfs#USER:PASSWORD@ftp.example.com /mnt/exampleorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
- isync
|
||||||
|
To have mbsync to sync email for mu and mu4e
|
||||||
|
See ~/.config/isyncrc
|
||||||
|
```zsh
|
||||||
|
mbsync -a
|
||||||
|
```
|
||||||
|
|
||||||
|
- mu
|
||||||
|
```zsh
|
||||||
|
mu init --maildir=~/Mail --my-address='tpouplier@exemple.com'
|
||||||
|
mu index
|
||||||
|
```
|
||||||
|
|
||||||
|
- hunspell
|
||||||
|
Spell checking for emacs with multiple dictionaries
|
||||||
|
Dict placed at ~/Library/Spelling/
|
||||||
|
|
||||||
|
- bluez
|
||||||
|
Daemons for the bluetooth protocol stack
|
||||||
|
```zsh
|
||||||
|
systemctl start bluetooth.service
|
||||||
|
systemctl enable bluetooth.service
|
||||||
|
```
|
||||||
|
|
||||||
|
- bluez-utils
|
||||||
|
Provide bluetoothctl
|
||||||
|
|
||||||
|
- unzip
|
||||||
|
- tar
|
||||||
|
- 7zip
|
||||||
|
File compression
|
||||||
|
|
||||||
|
<!-- I use mu4e now -->
|
||||||
|
<!-- - mutt -->
|
||||||
|
<!-- email TUI client -->
|
||||||
|
<!-- ```zsh -->
|
||||||
|
<!-- mkdir -p ~/.mutt/cache/headers -->
|
||||||
|
<!-- mkdir ~/.mutt/cache/bodies -->
|
||||||
|
<!-- touch ~/.mutt/certificates -->
|
||||||
|
<!-- touch ~/.mutt/muttrc -->
|
||||||
|
<!-- ``` -->
|
||||||
|
|
||||||
|
- wlogout
|
||||||
|
hyprland power menu
|
||||||
|
|
||||||
|
- xclip
|
||||||
|
For emacs everywhere
|
||||||
|
|
||||||
|
- xdotool
|
||||||
|
For emacs everywhere
|
||||||
|
|
||||||
|
- xprop
|
||||||
|
For emacs everywhere
|
||||||
|
|
||||||
|
- xwininfo
|
||||||
|
For emacs everywhere
|
||||||
|
|
||||||
|
- uv
|
||||||
|
Serena dependency
|
||||||
|
|
||||||
|
### Devel
|
||||||
|
|
||||||
|
- Edit /etc/locale.gen
|
||||||
|
- uncomment en_US.UTF-8
|
||||||
|
- sudo locale-gen
|
||||||
|
- Needed for those build bellow
|
||||||
|
|
||||||
|
- mono-msbuild-git
|
||||||
|
|
||||||
|
- mono-msbuild-sdkresolver-git
|
||||||
|
|
||||||
|
- mono-git
|
||||||
|
|
||||||
|
- python-debugpy
|
||||||
|
python debuger
|
||||||
|
|
||||||
|
### TUI
|
||||||
|
|
||||||
|
- bluetuith
|
||||||
|
Bluetooth tui
|
||||||
|
|
||||||
|
- lazydocker
|
||||||
|
TUI docker manager
|
||||||
|
|
||||||
|
- lazygit
|
||||||
|
TUI git manager
|
||||||
|
|
||||||
|
- lazysql
|
||||||
|
TUI sql manager
|
||||||
|
[!ERROR] Not able to connect yet
|
||||||
|
|
||||||
|
- fzf
|
||||||
|
Fuzzy terminal finder
|
||||||
|
|
||||||
|
- sshs
|
||||||
|
ssh TUI
|
||||||
|
sshs
|
||||||
|
|
||||||
|
- yazi
|
||||||
|
TUI folder manager
|
||||||
|
```zsh
|
||||||
|
# Install packages
|
||||||
|
ya pack -u
|
||||||
|
```
|
||||||
|
|
||||||
|
- taskwarrior-tui
|
||||||
|
taskwarior tui
|
||||||
|
[!WARNING] May uninstall, not using it very much
|
||||||
|
|
||||||
|
- ncspot
|
||||||
|
spotify player in the terminal
|
||||||
|
|
||||||
|
### Terminal tool
|
||||||
|
|
||||||
|
- tldr
|
||||||
|
better, simple man
|
||||||
|
|
||||||
|
- git
|
||||||
|
code versioning
|
||||||
|
```zsh
|
||||||
|
git config --global user.name "FIRST_NAME LAST_NAME"
|
||||||
|
git config --global user.email "EMAIL"
|
||||||
|
git config --global pull.rebase false
|
||||||
|
git config core.autocrlf input
|
||||||
|
```
|
||||||
|
|
||||||
|
- neofetch
|
||||||
|
Show system info
|
||||||
|
|
||||||
|
- ripgrep
|
||||||
|
Better grep
|
||||||
|
|
||||||
|
- eza
|
||||||
|
Better ls
|
||||||
|
zsh'''
|
||||||
|
eza .config --tree --level=2 --icons
|
||||||
|
'''
|
||||||
|
|
||||||
|
- fd
|
||||||
|
File searching (yayazi use it. doom emacs dired too)
|
||||||
|
|
||||||
|
- stow
|
||||||
|
Dotfile manager
|
||||||
|
cd dotfiles
|
||||||
|
stow [package]
|
||||||
|
[.stowrc]
|
||||||
|
|
||||||
|
- yay
|
||||||
|
Pacman + AUR
|
||||||
|
```zsh
|
||||||
|
sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
- zoxide
|
||||||
|
Better cd
|
||||||
|
```zsh
|
||||||
|
z
|
||||||
|
```
|
||||||
|
|
||||||
|
- bat
|
||||||
|
Better cat
|
||||||
|
```zsh
|
||||||
|
bat --color=always
|
||||||
|
```
|
||||||
|
|
||||||
|
- atuin
|
||||||
|
Command history sync server
|
||||||
|
[!WARNING] To install and setup
|
||||||
|
|
||||||
|
- wget
|
||||||
|
Download utility
|
||||||
|
|
||||||
|
- trash-cli
|
||||||
|
Allow easy management of trashed files
|
||||||
|
|
||||||
|
- rm-improved
|
||||||
|
better rm
|
||||||
|
```zsh
|
||||||
|
rip [TARGET]
|
||||||
|
|
||||||
|
- syncthing
|
||||||
|
```zsh
|
||||||
|
systemctl enable syncthing.service --user
|
||||||
|
systemctl start syncthing.service --user
|
||||||
|
```
|
||||||
|
|
||||||
|
### Fonts
|
||||||
|
|
||||||
|
- ttf-font-awesome
|
||||||
|
Fonts
|
||||||
|
|
||||||
|
- ttf-jetbrains-mono-nerd
|
||||||
|
Fonts
|
||||||
|
|
||||||
|
### Terminal stack
|
||||||
|
|
||||||
|
- kitty
|
||||||
|
Terminal emulator
|
||||||
|
[kitty/.config/kitty.conf]
|
||||||
|
|
||||||
|
- zsh
|
||||||
|
Better bash (shell)
|
||||||
|
[zsh/.zshrc]
|
||||||
|
```zsh
|
||||||
|
chsh -s /usr/bin/zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
- starship
|
||||||
|
Custom prompt
|
||||||
|
[starship/.config/starship.toml]
|
||||||
|
|
||||||
|
- tmux
|
||||||
|
Terminal multiplexer, persistant sessions
|
||||||
|
[tmux/.config/tmux/config]
|
||||||
|
|
||||||
|
- tmux-plugin-manager
|
||||||
|
tmux plugin manager
|
||||||
|
[!ERROR] Not working yet
|
||||||
|
|
||||||
|
- neovim
|
||||||
|
Editor
|
||||||
|
[nvim/.config/nvim/init.lua]
|
||||||
|
|
||||||
|
### AI Stack
|
||||||
|
|
||||||
|
- ollama
|
||||||
|
LLM local server
|
||||||
|
|
||||||
|
- aichat
|
||||||
|
All in one llm cli (session, role, RAG, agent, tools)
|
||||||
|
|
||||||
|
- pandoc-cli
|
||||||
|
document type convertion
|
||||||
|
|
||||||
|
### TTS stack
|
||||||
|
|
||||||
|
- piper-tts
|
||||||
|
Generate the tts audio
|
||||||
|
|
||||||
|
- paplay
|
||||||
|
play the sound
|
||||||
|
|
||||||
|
## Rising
|
||||||
|
|
||||||
|
- pywal16
|
||||||
|
Util that change the wallpaper, then generate color theme from the wallpaper for other app to use.
|
||||||
|
```zsh
|
||||||
|
wal -i ~/.config/wallpapers/green_yellow_forest.jpg -o ~/.config/waybar/launch.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
- pywalfox
|
||||||
|
Util that link with the firefox extension to apply color them to it.
|
||||||
|
|
||||||
|
- nwg-look
|
||||||
|
gtk theming
|
||||||
|
[!WARNING] Not in use right now. may uninstall.
|
||||||
|
|
||||||
|
## Favorite keybinds
|
||||||
|
|
||||||
|
### Hyprland
|
||||||
|
|
||||||
|
- <SUPER-q> : New terminal
|
||||||
|
- <SUPER-c> : Close Hypr window
|
||||||
|
- <SUPER-L> : Lock screen
|
||||||
|
- <SUPER-hjkl> : Move focus to window
|
||||||
|
- <SUPER-(1-9)> : Change workspace
|
||||||
|
- <SUPER-SHIFT-(1-9)> : Move window to workspace
|
||||||
|
- <SUPER-s> : Bring the scratchpad workspace (overlay over any workspace, always accecible)
|
||||||
|
- <SUPER-SHIFT-S>: Move window to scratchpad
|
||||||
|
- <SUPER-P>: Change split mode
|
||||||
|
|
||||||
|
### tmux
|
||||||
|
|
||||||
|
- <CTRL-a> : tmux special key (b by default)
|
||||||
|
- <CTRL-a, SHIFT-I> : inside vim, to install pluggins, source tmux.conf, open it in vim, then.. the keys
|
||||||
|
- <CTRL-a, CTRL-w> : show open windows
|
||||||
|
- <CTRL-a, CTRL-o> : open sessionx manager
|
||||||
|
- <CTRL-a, %> : Split vertical
|
||||||
|
- <CTRL-a, "> : Split horizontly
|
||||||
|
- <CTRL-a, hjkl> : Switch focus
|
||||||
|
- <CTRL-a, :> : Command line
|
||||||
|
- <CTRL-a, c> : New window
|
||||||
|
- <CTRL-a, ()> : Change session
|
||||||
|
- <CTRL-a, 1-9> : Change window
|
||||||
|
- <CTRL-a, :, new> : New session
|
||||||
|
- <CTRL-a, :, rename-> : Rename window, session
|
||||||
|
- <CTRL-a, CTRL-s, CTRL-r> : Save and restore session
|
||||||
|
|
||||||
|
### Nvim
|
||||||
|
|
||||||
|
- <CTRL, " "> : Trigger LSP suggestion
|
||||||
|
- <*> : normal search the word under the cursor
|
||||||
|
- <.> : replay last command
|
||||||
|
- <" ", backspace> : Global which-key!!
|
||||||
|
- <" ", s, k> : Search all nvim keybinds!!
|
||||||
|
- <" ", s, g> : Search in all project file with grep
|
||||||
|
- <" ", s, n> : search in nvim config
|
||||||
|
- <SHIFT-a> : Append at the end of line
|
||||||
|
- <ciw> : Change Inside Word (W to only stop at spaces)
|
||||||
|
- <viw> : select whole Word (W to only stop at spaces)
|
||||||
|
- <CTRL-w, v> : Open a new vertical split window
|
||||||
|
- <CTRL-w, h> : Open a new horizontal split window
|
||||||
|
- <j,j or k,k> : Exit insert mode
|
||||||
|
- <y,y> : Yank the line
|
||||||
|
- <p> : Paste
|
||||||
|
- </> : Search
|
||||||
|
- <n, N> : next, previous results
|
||||||
|
- <CTRL, n-o> : select proposed choices
|
||||||
|
- <CTRL, y> : accept selected choice
|
||||||
|
- <t, j-k> : prev,next buffer
|
||||||
|
- <t, h-l> : last,first buffer
|
||||||
|
- <t,d> : delete buffer
|
||||||
|
- <g,d> : go to definition <3
|
||||||
|
- <CTRL, i-o> : jump through the ressent jump list (comme back from gd)
|
||||||
|
- <SHIFT, v> : Select mode by line
|
||||||
|
- <ALT, j-k> : Move a line (visal bloc work too)
|
||||||
|
- <g,g> : Go to first line
|
||||||
|
- <SHIFT, g> : Go to last line
|
||||||
|
- < = > : format selected lines
|
||||||
|
- <" ", " "> : search buffers
|
||||||
|
|
||||||
|
### Yazi
|
||||||
|
|
||||||
|
- <~> : Help menu
|
||||||
|
- <z> : Cd to a directory via zoxide
|
||||||
|
- <Z> : Cd to a directory or reveal a file via fzf
|
||||||
|
- <" "> : Toggle selection of hovered file/directory
|
||||||
|
- <o or enter> : Open file
|
||||||
|
- <Tab> : show file info
|
||||||
|
- <y> : Yank selected files
|
||||||
|
- <x> : Cut selected files
|
||||||
|
- <p> : Paste yanked files
|
||||||
|
- <Y or X> : Cancel yank
|
||||||
|
- <d> : Delete selected files
|
||||||
|
- <a> : Create a file (end with / for folder)
|
||||||
|
- <r> : Rename selected file(s)
|
||||||
|
- <.> : Toggle the visibility of hidden files
|
||||||
|
- </> : Find next file
|
||||||
|
- <n> : Go to the next found
|
||||||
|
- <N> : Go to the previous found
|
||||||
|
- <s> : Search files by name using fd
|
||||||
|
- <S> : Search files by content using ripgrep
|
||||||
|
- <CTRL-s> : Cancel the ongoing search
|
||||||
|
- <t> : Create a new tab with CWD
|
||||||
|
- <1, 2, ..., 9> : Switch to the N-th tab
|
||||||
|
- <[]> : Switch to the previous tab
|
||||||
|
- <{}> : Switch tab order
|
||||||
|
- <CTRL-c> : Close the current tab
|
||||||
|
- <",", m> : Sort by modified time (M reverse)
|
||||||
|
- <",", b> : Sort by birth time (B reverse)
|
||||||
|
- <",", e> : Sort by file extension (E reverse)
|
||||||
|
- <",", a> : Sort alphabetically (A reverse)
|
||||||
|
- <",", n> : Sort naturally (N reverse)
|
||||||
|
- <",", s> : Sort by size (S reverse)
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
|
||||||
|
- <CTRL-r> : fzf powered command history
|
||||||
|
|
||||||
|
## dotfile inspiration
|
||||||
|
|
||||||
|
### Rising
|
||||||
|
- [typecraft](https://github.com/typecraft-dev/dotfiles/tree/master)
|
||||||
|
- [MrVivekRajan Hyprland themes](https://github.com/MrVivekRajan/Hypr-Dots)
|
||||||
|
- [DevOps toolkit](https://github.com/omerxx/dotfiles)
|
||||||
|
- [Bina](https://github.com/LierB/dotfiles/tree/master)
|
||||||
|
- [elifouts](https://github.com/elifouts/Dotfiles)
|
||||||
|
|
||||||
|
### Dev
|
||||||
|
- [KiLLeRRaT](https://github.com/KiLLeRRaT/.dotfiles/tree/master)
|
||||||
|
- [DerrikCreates](https://github.com/DerrikCreates/dotfiles)
|
||||||
53
archive/terminator/config
Normal file
53
archive/terminator/config
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
[global_config]
|
||||||
|
window_state = fullscreen
|
||||||
|
inactive_color_offset = 0.805555555556
|
||||||
|
suppress_multiple_term_dialog = True
|
||||||
|
always_split_with_profile = True
|
||||||
|
[keybindings]
|
||||||
|
[profiles]
|
||||||
|
[[default]]
|
||||||
|
background_darkness = 0.7
|
||||||
|
background_type = transparent
|
||||||
|
font = Ubuntu Mono 10
|
||||||
|
foreground_color = "#00ffff"
|
||||||
|
show_titlebar = False
|
||||||
|
scrollbar_position = hidden
|
||||||
|
scroll_on_output = True
|
||||||
|
scrollback_infinite = True
|
||||||
|
palette = "#073642:#dc322f:#613583:#b58900:#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#f5c211:#586e75:#f57900:#edd400:#b435c8:#25cc5e:#fdf6e3"
|
||||||
|
custom_command = glances
|
||||||
|
use_system_font = False
|
||||||
|
[layouts]
|
||||||
|
[[default]]
|
||||||
|
[[[child0]]]
|
||||||
|
type = Window
|
||||||
|
parent = ""
|
||||||
|
order = 0
|
||||||
|
position = 0:771
|
||||||
|
maximised = False
|
||||||
|
fullscreen = True
|
||||||
|
size = 1456, 819
|
||||||
|
title = tpouplier@PR-TPOUPL-LP-U:~
|
||||||
|
last_active_term = 5fb46960-7a03-46fd-b5f9-1a0f9b57fac0
|
||||||
|
last_active_window = True
|
||||||
|
[[[child1]]]
|
||||||
|
type = VPaned
|
||||||
|
parent = child0
|
||||||
|
order = 0
|
||||||
|
position = 410
|
||||||
|
ratio = 0.5036855036855037
|
||||||
|
[[[terminal2]]]
|
||||||
|
type = Terminal
|
||||||
|
parent = child1
|
||||||
|
order = 0
|
||||||
|
profile = default
|
||||||
|
uuid = 5fb46960-7a03-46fd-b5f9-1a0f9b57fac0
|
||||||
|
command = glances
|
||||||
|
[[[terminal3]]]
|
||||||
|
type = Terminal
|
||||||
|
parent = child1
|
||||||
|
order = 1
|
||||||
|
profile = default
|
||||||
|
uuid = 2d160bbc-2214-4a61-85a0-33d0f9e5d279
|
||||||
|
command = ""
|
||||||
|
[plugins]
|
||||||
158
archive/vim/vimrc
Normal file
158
archive/vim/vimrc
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
set nocompatible " be iMproved, required
|
||||||
|
set laststatus=2
|
||||||
|
set autowriteall " save when changing buffer
|
||||||
|
set t_Co=256
|
||||||
|
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
|
||||||
|
filetype off " required
|
||||||
|
|
||||||
|
" Buffer Remap
|
||||||
|
nnoremap <Tab> :bnext<CR>
|
||||||
|
" Tab remap
|
||||||
|
nnoremap <S-t> :tabnew<CR>
|
||||||
|
nnoremap <S-d> :tabclose<CR>
|
||||||
|
nnoremap <S-Tab> :tabnext<CR>
|
||||||
|
|
||||||
|
" Command
|
||||||
|
command Bd bp | sp | bn | bd "Close a buffer without closing the window
|
||||||
|
|
||||||
|
" Airline init
|
||||||
|
autocmd VimEnter * AirlineTheme murmur
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
if !exists('g:airline_symbols')
|
||||||
|
let g:airline_symbols = {}
|
||||||
|
endif
|
||||||
|
let g:airline_symbols.space = "\ua0"
|
||||||
|
" unicode symbols
|
||||||
|
"let g:airline_left_sep = '»'
|
||||||
|
"let g:airline_left_sep = '▶'
|
||||||
|
"let g:airline_right_sep = '«'
|
||||||
|
"let g:airline_right_sep = '◀'
|
||||||
|
"let g:airline_symbols.linenr = '␊'
|
||||||
|
"let g:airline_symbols.linenr = ''
|
||||||
|
"let g:airline_symbols.linenr = '¶'
|
||||||
|
"let g:airline_symbols.branch = '⎇'
|
||||||
|
"let g:airline_symbols.paste = 'ρ'
|
||||||
|
"let g:airline_symbols.paste = 'Þ'
|
||||||
|
"let g:airline_symbols.paste = '∥'
|
||||||
|
"let g:airline_symbols.whitespace = 'Ξ'
|
||||||
|
" airline symbols
|
||||||
|
"let g:airline_left_sep = ''
|
||||||
|
"let g:airline_left_alt_sep = ''
|
||||||
|
"let g:airline_right_sep = ''
|
||||||
|
"let g:airline_right_alt_sep = ''
|
||||||
|
"let g:airline_symbols.branch = ''
|
||||||
|
"let g:airline_symbols.readonly = ''
|
||||||
|
"let g:airline_symbols.linenr = ''
|
||||||
|
|
||||||
|
" neocomplete init
|
||||||
|
let g:neocomplcache_enable_at_startup = 1
|
||||||
|
|
||||||
|
" NERDTree init
|
||||||
|
autocmd VimEnter * NERDTree
|
||||||
|
autocmd VimEnter * NERDTreeMirror
|
||||||
|
autocmd VimEnter * wincmd p
|
||||||
|
|
||||||
|
" Syntax checking init
|
||||||
|
set statusline+=%#warningmsg#
|
||||||
|
set statusline+=%{SyntasticStatuslineFlag()}
|
||||||
|
set statusline+=%*
|
||||||
|
let g:syntastic_always_populate_loc_list = 1
|
||||||
|
let g:syntastic_auto_loc_list = 1
|
||||||
|
let g:syntastic_check_on_open = 1
|
||||||
|
let g:syntastic_check_on_wq = 0
|
||||||
|
let g:syntastic_error_symbol = '✘'
|
||||||
|
let g:syntastic_warning_symbol = "▲"
|
||||||
|
let g:syntastic_cpp_check_header = 1
|
||||||
|
let g:syntastic_c_include_dirs = [ '../include', 'include' ]
|
||||||
|
|
||||||
|
" Delimiter init
|
||||||
|
let delimitMate_expand_cr = 1
|
||||||
|
augroup mydelimitMate
|
||||||
|
au!
|
||||||
|
au FileType markdown let b:delimitMate_nesting_quotes = ["`"]
|
||||||
|
au FileType tex let b:delimitMate_quotes = ""
|
||||||
|
au FileType tex let b:delimitMate_matchpairs = "(:),[:],{:},`:'"
|
||||||
|
au FileType python let b:delimitMate_nesting_quotes = ['"', "'"]
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Gitgutter init
|
||||||
|
autocmd VimEnter * GitGutterEnable
|
||||||
|
autocmd VimEnter * GitGutterSignsEnable
|
||||||
|
|
||||||
|
" set the runtime path to include Vundle and initialize
|
||||||
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
call vundle#begin()
|
||||||
|
" alternatively, pass a path where Vundle should install plugins
|
||||||
|
"call vundle#begin('~/some/path/here')
|
||||||
|
|
||||||
|
|
||||||
|
" let Vundle manage Vundle, required
|
||||||
|
Plugin 'VundleVim/Vundle.vim'
|
||||||
|
|
||||||
|
" The following are examples of different formats supported.
|
||||||
|
" Keep Plugin commands between vundle#begin/end.
|
||||||
|
" plugin on GitHub repo
|
||||||
|
"Plugin 'tpope/vim-fugitive'
|
||||||
|
" plugin from http://vim-scripts.org/vim/scripts.html
|
||||||
|
"Plugin 'L9'
|
||||||
|
" Git plugin not hosted on GitHub
|
||||||
|
"Plugin 'git://git.wincent.com/command-t.git'
|
||||||
|
" git repos on your local machine (i.e. when working on your own plugin)
|
||||||
|
"Plugin 'file:///home/gmarik/path/to/plugin'
|
||||||
|
" The sparkup vim script is in a subdirectory of this repo called vim.
|
||||||
|
" Pass the path to set the runtimepath properly.
|
||||||
|
"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
|
||||||
|
" Install L9 and avoid a Naming conflict if you've already installed a
|
||||||
|
" different version somewhere else.
|
||||||
|
"Plugin 'ascenator/L9', {'name': 'newL9'}
|
||||||
|
|
||||||
|
|
||||||
|
" **My plugin seletion**
|
||||||
|
|
||||||
|
" Completion stuff
|
||||||
|
Plugin 'Shougo/neocomplete'
|
||||||
|
|
||||||
|
" File system stuff
|
||||||
|
Plugin 'scrooloose/nerdtree'
|
||||||
|
Plugin 'jistr/vim-nerdtree-tabs'
|
||||||
|
Plugin 'kien/ctrlp.vim'
|
||||||
|
|
||||||
|
" Buttom bar stuff
|
||||||
|
Plugin 'vim-airline/vim-airline-themes'
|
||||||
|
Plugin 'vim-airline/vim-airline'
|
||||||
|
|
||||||
|
" Git stuff
|
||||||
|
Plugin 'airblade/vim-gitgutter'
|
||||||
|
Plugin 'tpope/vim-fugitive'
|
||||||
|
|
||||||
|
" Syntax stuff
|
||||||
|
Plugin 'scrooloose/syntastic'
|
||||||
|
|
||||||
|
" Easy open .h
|
||||||
|
Plugin 'vim-scripts/a.vim'
|
||||||
|
|
||||||
|
" Auto () [] {}
|
||||||
|
Plugin 'Raimondi/delimitMate'
|
||||||
|
|
||||||
|
" ctrl-hjkl to move
|
||||||
|
Plugin 'christoomey/vim-tmux-navigator'
|
||||||
|
|
||||||
|
" Buffer stuff
|
||||||
|
"Plugin 'jeetsukumaran/vim-buffergator'
|
||||||
|
|
||||||
|
|
||||||
|
" All of your Plugins must be added before the following line
|
||||||
|
call vundle#end() " required
|
||||||
|
filetype plugin indent on " required
|
||||||
|
" To ignore plugin indent changes, instead use:
|
||||||
|
"filetype plugin on
|
||||||
|
"
|
||||||
|
" Brief help
|
||||||
|
" :PluginList - lists configured plugins
|
||||||
|
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
||||||
|
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
||||||
|
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
||||||
|
"
|
||||||
|
" see :h vundle for more details or wiki for FAQ
|
||||||
|
" Put your non-Plugin stuff after this line
|
||||||
138
archive/zsh_oh-my-zsh/.zshrc
Executable file
138
archive/zsh_oh-my-zsh/.zshrc
Executable file
@@ -0,0 +1,138 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
|
||||||
|
PATH="$PATH:$PYTHON_BIN_PATH"
|
||||||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH=~/.oh-my-zsh
|
||||||
|
|
||||||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
|
# it'll load a random theme each time that oh-my-zsh is loaded.
|
||||||
|
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||||
|
ZSH_THEME="agnoster"
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||||||
|
# sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
# DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# export UPDATE_ZSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
alias Install='sudo apt-get install'
|
||||||
|
alias Update='sudo apt-get update'
|
||||||
|
alias Upgrade='sudo apt-get upgrade'
|
||||||
|
alias Autoremove='sudo apt-get autoremove'
|
||||||
|
alias Glances='glances --process-short-name'
|
||||||
|
ConnectTo() {
|
||||||
|
|
||||||
|
if [[ "$1" = "horse" ]]; then
|
||||||
|
|
||||||
|
ssh gortium@192.168.1.3
|
||||||
|
|
||||||
|
elif [[ "$1" = "cow" ]]; then
|
||||||
|
|
||||||
|
ssh admin@192.168.1.2
|
||||||
|
|
||||||
|
elif [[ "$1" = "chicken" ]]; then
|
||||||
|
|
||||||
|
ssh root@192.168.1.1
|
||||||
|
|
||||||
|
elif [[ "$1" = "goat" ]]; then
|
||||||
|
|
||||||
|
ssh gortium@192.168.1.4
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo 'Wrong host nickname.'
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# ROS exports
|
||||||
|
#source /opt/ros/neotic/setup.zsh
|
||||||
|
|
||||||
|
#source ~/Short-Circuit/devel/setup.bash
|
||||||
|
#source ~/sara_ws/devel/setup.bash
|
||||||
|
#source ~/phase0_ws/devel/setup.sh
|
||||||
|
#source ~/elmec_ws/devel/setup.zsh
|
||||||
|
#source ~/Projects/ros_kortex/devel/setup.bash
|
||||||
|
|
||||||
|
#export ROSLAUNCH_SSH_UNKNOWN=1
|
||||||
|
|
||||||
|
#export ROS_MASTER_URI=http://192.168.1.100:11311
|
||||||
|
#export ROS_MASTER_URI=http://SARA:11311
|
||||||
|
#export ROS_MASTER_URI=http://10.0.0.1:11311
|
||||||
|
#export ROS_MASTER_URI=http://localhost:11311
|
||||||
|
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
@@ -810,52 +810,54 @@ Handles org-clock and context link capture for tasks."
|
|||||||
:name "Python :: My Script with Args")))
|
:name "Python :: My Script with Args")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Dape
|
** +Dape+
|
||||||
|
Tried it, was not able to make it work, so back to dap mode for now
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
;; (use-package dape
|
(use-package dape
|
||||||
;; :preface
|
:preface
|
||||||
;; ;; By default dape shares the same keybinding prefix as `gud'
|
;; By default dape shares the same keybinding prefix as `gud'
|
||||||
;; ;; If you do not want to use any prefix, set it to nil.
|
;; If you do not want to use any prefix, set it to nil.
|
||||||
;; ;; (setq dape-key-prefix "\C-x\C-a")
|
;; (setq dape-key-prefix "\C-x\C-a")
|
||||||
|
|
||||||
;; :hook
|
:hook
|
||||||
;; ;; Save breakpoints on quit
|
;; Save breakpoints on quit
|
||||||
;; (kill-emacs . dape-breakpoint-save)
|
(kill-emacs . dape-breakpoint-save)
|
||||||
;; ;; Load breakpoints on startup
|
;; Load breakpoints on startup
|
||||||
;; (after-init . dape-breakpoint-load)
|
(after-init . dape-breakpoint-load)
|
||||||
|
|
||||||
;; :custom
|
:custom
|
||||||
;; ;; Turn on global bindings for setting breakpoints with mouse
|
;; Turn on global bindings for setting breakpoints with mouse
|
||||||
;; (dape-breakpoint-global-mode +1)
|
(dape-breakpoint-global-mode +1)
|
||||||
|
|
||||||
;; ;; Info buffers to the right
|
;; Info buffers to the right
|
||||||
;; ;; (dape-buffer-window-arrangement 'right)
|
;; (dape-buffer-window-arrangement 'right)
|
||||||
;; ;; Info buffers like gud (gdb-mi)
|
;; Info buffers like gud (gdb-mi)
|
||||||
;; ;; (dape-buffer-window-arrangement 'gud)
|
;; (dape-buffer-window-arrangement 'gud)
|
||||||
;; ;; (dape-info-hide-mode-line nil)
|
;; (dape-info-hide-mode-line nil)
|
||||||
|
|
||||||
;; ;; Projectile users
|
;; Projectile users
|
||||||
;; (dape-cwd-function 'projectile-project-root)
|
(dape-cwd-function 'projectile-project-root)
|
||||||
|
|
||||||
;; :config
|
:config
|
||||||
;; ;; Pulse source line (performance hit)
|
;; Pulse source line (performance hit)
|
||||||
;; (add-hook 'dape-display-source-hook 'pulse-momentary-highlight-one-line)
|
(add-hook 'dape-display-source-hook 'pulse-momentary-highlight-one-line)
|
||||||
|
|
||||||
;; ;; Save buffers on startup, useful for interpreted languages
|
;; Save buffers on startup, useful for interpreted languages
|
||||||
;; (add-hook 'dape-start-hook (lambda () (save-some-buffers t t)))
|
(add-hook 'dape-start-hook (lambda () (save-some-buffers t t)))
|
||||||
|
|
||||||
;; ;; Kill compile buffer on build success
|
;; Kill compile buffer on build success
|
||||||
;; ;; (add-hook 'dape-compile-hook 'kill-buffer)
|
;; (add-hook 'dape-compile-hook 'kill-buffer)
|
||||||
;; )
|
)
|
||||||
|
|
||||||
;; ;; For a more ergonomic Emacs and `dape' experience
|
;; For a more ergonomic Emacs and `dape' experience
|
||||||
;; (use-package repeat
|
(use-package repeat
|
||||||
;; :custom
|
:custom
|
||||||
;; (repeat-mode +1))
|
(repeat-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** LSP
|
** LSP
|
||||||
|
I had to work on C# Framework 4.8..
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; LSP BABY
|
;; LSP BABY
|
||||||
@@ -865,9 +867,9 @@ Handles org-clock and context link capture for tasks."
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Scroll-Margin
|
** Scroll-Margin
|
||||||
|
To keep my eye in the center of the screen while scrolling. Like in my nvim x)
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; To keep my eye in the center of the screen while scrolling. Like in my nvim x)
|
|
||||||
(setq scroll-margin 10)
|
(setq scroll-margin 10)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -896,9 +898,9 @@ Load org-phscroll after org. This allow horizontal scroll in tables. (No line wr
|
|||||||
** Spellchecking
|
** Spellchecking
|
||||||
|
|
||||||
*** Ispell
|
*** Ispell
|
||||||
|
Now I can write x) (spellchecking)
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Now I can write x) (spellchecking)
|
|
||||||
(after! ispell
|
(after! ispell
|
||||||
(setq ispell-program-name "hunspell"
|
(setq ispell-program-name "hunspell"
|
||||||
ispell-dictionary "en_CA,fr_CA"
|
ispell-dictionary "en_CA,fr_CA"
|
||||||
@@ -922,9 +924,9 @@ Load org-phscroll after org. This allow horizontal scroll in tables. (No line wr
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Writegood Mode
|
*** Writegood Mode
|
||||||
|
Let me write like a broken engineer, thank you.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Let me write like a broken engineer, thank you.
|
|
||||||
(add-hook 'writegood-mode-hook 'writegood-passive-voice-turn-off)
|
(add-hook 'writegood-mode-hook 'writegood-passive-voice-turn-off)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -956,7 +958,6 @@ Load org-phscroll after org. This allow horizontal scroll in tables. (No line wr
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Line Number Type
|
** Line Number Type
|
||||||
|
|
||||||
This determines the style of line numbers in effect. If set to ~nil~, line
|
This determines the style of line numbers in effect. If set to ~nil~, line
|
||||||
numbers are disabled. For relative line numbers, set this to ~relative~.
|
numbers are disabled. For relative line numbers, set this to ~relative~.
|
||||||
|
|
||||||
@@ -965,9 +966,9 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Evile-Escape (JK)
|
** Evile-Escape (JK)
|
||||||
|
JK to escape was not working. Added it back.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; JK to escape was not working. Added it back.
|
|
||||||
(use-package! evil-escape
|
(use-package! evil-escape
|
||||||
:config
|
:config
|
||||||
(setq evil-escape-excluded-states '(normal visual multiedit emacs motion)
|
(setq evil-escape-excluded-states '(normal visual multiedit emacs motion)
|
||||||
@@ -990,9 +991,9 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** KRL Mode
|
** KRL Mode
|
||||||
|
Im not working in WorkVisual. Thank you. (Kuka Robot stuff)
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; KRL mode
|
|
||||||
(add-hook 'krl-mode-hook 'font-lock-mode)
|
(add-hook 'krl-mode-hook 'font-lock-mode)
|
||||||
(add-hook 'krl-mode-hook 'display-line-numbers-mode)
|
(add-hook 'krl-mode-hook 'display-line-numbers-mode)
|
||||||
(use-package! krl-mode
|
(use-package! krl-mode
|
||||||
@@ -1007,12 +1008,12 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
ahs-default-range 'ahs-range-whole-buffer ; highlight in whole buffer
|
ahs-default-range 'ahs-range-whole-buffer ; highlight in whole buffer
|
||||||
ahs-case-fold-search t ; case-INsensitive matching
|
ahs-case-fold-search t ; case-INsensitive matching
|
||||||
ahs-include-definition t)) ; highlight definition too
|
ahs-include-definition t)) ; highlight definition too
|
||||||
|
#+end_src
|
||||||
|
|
||||||
(defcustom krl-formatter-command "python"
|
** KRL formater
|
||||||
"Command to run the KRL formatter."
|
Im a formating nazi now xD
|
||||||
:type 'string
|
|
||||||
:group 'krl)
|
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(defcustom krl-formatter-script-path "~/ExoKortex/1-Projects/Exit_strat/exit_strat/scripts/krl_formatter.py"
|
(defcustom krl-formatter-script-path "~/ExoKortex/1-Projects/Exit_strat/exit_strat/scripts/krl_formatter.py"
|
||||||
"Path to the KRL formatter script."
|
"Path to the KRL formatter script."
|
||||||
:type 'string
|
:type 'string
|
||||||
@@ -1026,7 +1027,7 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
(shell-command-on-region
|
(shell-command-on-region
|
||||||
(point-min)
|
(point-min)
|
||||||
(point-max)
|
(point-max)
|
||||||
(concat krl-formatter-command " " krl-formatter-script-path)
|
(concat "python " krl-formatter-script-path)
|
||||||
t t)
|
t t)
|
||||||
;; Try to restore cursor position
|
;; Try to restore cursor position
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
@@ -1039,7 +1040,7 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
(shell-command-on-region
|
(shell-command-on-region
|
||||||
start
|
start
|
||||||
end
|
end
|
||||||
(concat krl-formatter-command " " krl-formatter-script-path)
|
(concat "python " krl-formatter-script-path)
|
||||||
t t)
|
t t)
|
||||||
(message "KRL region formatted"))
|
(message "KRL region formatted"))
|
||||||
|
|
||||||
@@ -1100,7 +1101,7 @@ numbers are disabled. For relative line numbers, set this to ~relative~.
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Age
|
** Age
|
||||||
Allow me to edit age file directly in emacs buffer.
|
Allow me to edit encryted age file directly in emacs buffer.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package! age
|
(use-package! age
|
||||||
@@ -1182,9 +1183,9 @@ Allow retrieval of password from age file formatted like passwordstore
|
|||||||
#+end_src
|
#+end_src
|
||||||
* Terminal
|
* Terminal
|
||||||
|
|
||||||
** EEE
|
** +EEE+
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp :tangle no
|
||||||
;; TUI tools in emacs
|
;; TUI tools in emacs
|
||||||
(after! eee
|
(after! eee
|
||||||
(setq ee-terminal-command "kitty")
|
(setq ee-terminal-command "kitty")
|
||||||
@@ -1204,6 +1205,7 @@ Allow retrieval of password from age file formatted like passwordstore
|
|||||||
* AI
|
* AI
|
||||||
|
|
||||||
** GPTel
|
** GPTel
|
||||||
|
The best LLM integration I found. Works with MCP server for more functionnalities. And Rewrite is awesome.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; GPTel AI chat for emacs
|
;; GPTel AI chat for emacs
|
||||||
@@ -1252,18 +1254,24 @@ Allow retrieval of password from age file formatted like passwordstore
|
|||||||
:stream t
|
:stream t
|
||||||
:models '("orieg/gemma3-tools:1b"))
|
:models '("orieg/gemma3-tools:1b"))
|
||||||
)
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Rewrite
|
||||||
|
Really useful to do stuff you dont want to do
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(map! :after gptel
|
(map! :after gptel
|
||||||
:leader
|
:leader
|
||||||
(:prefix ("r" . "GPTel Rewrite")
|
(
|
||||||
|
:prefix ("r" . "GPTel Rewrite")
|
||||||
:desc "Rewrite region" "r" #'gptel-rewrite
|
:desc "Rewrite region" "r" #'gptel-rewrite
|
||||||
:desc "Show rewrite diff" "d" #'gptel--rewrite-diff
|
:desc "Show rewrite diff" "d" #'gptel--rewrite-diff
|
||||||
:desc "Accept rewrite" "a" #'gptel--rewrite-accept
|
:desc "Accept rewrite" "a" #'gptel--rewrite-accept
|
||||||
:desc "Reject rewrite" "x" #'gptel--rewrite-reject
|
:desc "Reject rewrite" "x" #'gptel--rewrite-reject
|
||||||
:desc "Iterate rewrite" "i" #'gptel--rewrite-iterate))
|
))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** +MCP+
|
** +MCP+
|
||||||
|
May reuse later with opencode or gptel, but for now, deactivated
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
#+end_(use-package! mcp
|
#+end_(use-package! mcp
|
||||||
@@ -1449,12 +1457,14 @@ Org-AI
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Diff HL Mode
|
* Diff HL Mode
|
||||||
|
Show git changes in the sidebar
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(diff-hl-mode +1)
|
(diff-hl-mode +1)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Tramp
|
* Tramp
|
||||||
|
Remote connection to server inside emacs (with all my config) <3
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; set `tramp-direct-async-process' locally in all ssh connections
|
;; set `tramp-direct-async-process' locally in all ssh connections
|
||||||
@@ -1467,6 +1477,8 @@ Org-AI
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Dirvish
|
* Dirvish
|
||||||
|
Allow fast navigation and preview to files.
|
||||||
|
Recently added the quick access entries. Game changer.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Dirvish config
|
;; Dirvish config
|
||||||
@@ -1524,6 +1536,7 @@ Org-AI
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Org-Modern
|
* Org-Modern
|
||||||
|
Make org task, agenda, tables look nicer, but you need to deactivate it sometimes to really see what is going on.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Modern look for org
|
;; Modern look for org
|
||||||
@@ -1572,6 +1585,7 @@ Org-AI
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Cursor Beacon
|
* Cursor Beacon
|
||||||
|
Useful for the user, but also when you have someone over your sholder trying to follow what is going on x)
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Flash the point (cursor) when moving between window
|
;; Flash the point (cursor) when moving between window
|
||||||
@@ -1694,6 +1708,7 @@ www.tdnde.com \\\\
|
|||||||
** TODO Fix noter if needed
|
** TODO Fix noter if needed
|
||||||
|
|
||||||
* PDF-Tools
|
* PDF-Tools
|
||||||
|
Really useful to be able to have a buffer with notes, and another with the official PDF doc
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Enable midnight mode by default for PDF files
|
;; Enable midnight mode by default for PDF files
|
||||||
|
|||||||
16
rclone/.config/systemd/user/rclone_ftp_mount.service
Normal file
16
rclone/.config/systemd/user/rclone_ftp_mount.service
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Mount Rclone FTP
|
||||||
|
After=network-online.target network.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
# Use Environment to explicitly set $HOME
|
||||||
|
Environment=HOME=%h
|
||||||
|
ExecStartPre=%h/.local/bin/rclone_mount_check.sh
|
||||||
|
ExecStart=/usr/bin/rclone mount tdnde_ftp: %h/mnt/tdnde_server --vfs-cache-mode full --vfs-cache-max-size 1G --ftp-concurrency 20 --timeout 60s --contimeout 30s --dir-cache-time 1h
|
||||||
|
ExecStop=/bin/fusermount -u %h/mnt/tdnde_server
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
18
rclone/.local/bin/rclone_mount_check.sh
Executable file
18
rclone/.local/bin/rclone_mount_check.sh
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Define the network name (SSID) of your work network
|
||||||
|
WORK_SSID="BELL577" # Replace with your actual work network name
|
||||||
|
|
||||||
|
# Get the current SSID (Wi-Fi network name)
|
||||||
|
# CURRENT_SSID=$(iwgetid -r) # If using iwgetid for Wi-Fi; you can also use nmcli for more flexibility
|
||||||
|
|
||||||
|
# Alternatively, use nmcli to get the SSID
|
||||||
|
CURRENT_SSID=$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)
|
||||||
|
|
||||||
|
# Check if the current SSID matches the work network
|
||||||
|
if [ "$CURRENT_SSID" == "$WORK_SSID" ]; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Not on the correct network (SSID: $CURRENT_SSID), skipping mount."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
8
scripts/make_all.sh
Executable file
8
scripts/make_all.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cd ~/ExoKortex/2-Areas/IT/config
|
||||||
|
make all
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
notify-send "Dotfiles" "Configuration reloaded successfully!"
|
||||||
|
else
|
||||||
|
notify-send "Dotfiles" "Failed to reload configuration!"
|
||||||
|
fi
|
||||||
39
scripts/rclone_post_install.sh
Normal file
39
scripts/rclone_post_install.sh
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Define paths
|
||||||
|
CHECK_SCRIPT="$HOME/.local/bin/rclone_mount_check.sh"
|
||||||
|
SERVICE_FILE="$HOME/.config/systemd/user/rclone_ftp_mount.service"
|
||||||
|
|
||||||
|
# Ensure the check script is executable
|
||||||
|
if [ -f "$CHECK_SCRIPT" ] && [ ! -x "$CHECK_SCRIPT" ]; then
|
||||||
|
echo "Making the check script executable: $CHECK_SCRIPT"
|
||||||
|
chmod +x "$CHECK_SCRIPT" || { echo "Failed to make the script executable"; exit 1; }
|
||||||
|
else
|
||||||
|
echo "Check script already executable or doesn't exist."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reload user systemd to recognize the new unit
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
|
||||||
|
# Enable the service if not already enabled
|
||||||
|
if [ -f "$SERVICE_FILE" ]; then
|
||||||
|
if ! systemctl --user is-enabled --quiet rclone_ftp_mount.service; then
|
||||||
|
echo "Enabling the rclone service."
|
||||||
|
systemctl --user enable rclone_ftp_mount.service || { echo "Failed to enable the service"; exit 1; }
|
||||||
|
else
|
||||||
|
echo "Service already enabled."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Service file does not exist at $SERVICE_FILE."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start the service if not already running
|
||||||
|
if systemctl --user is-active --quiet rclone_ftp_mount.service; then
|
||||||
|
echo "Rclone service is already running."
|
||||||
|
else
|
||||||
|
echo "Starting the rclone service."
|
||||||
|
systemctl start rclone_ftp_mount.service || { echo "Failed to start the service"; exit 1; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Post-installation steps for rclone completed successfully."
|
||||||
34
waybar/.config/waybar/config.jsonc
Normal file
34
waybar/.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
// load modules
|
||||||
|
"include": "~/.config/waybar/modules.json",
|
||||||
|
|
||||||
|
// general settings
|
||||||
|
"position": "top",
|
||||||
|
"margin-top": 8,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
"layer": "top",
|
||||||
|
"margin-left": 8,
|
||||||
|
"margin-right": 8,
|
||||||
|
"spacing": 10,
|
||||||
|
"fixed-center": true,
|
||||||
|
"exclusive": true,
|
||||||
|
|
||||||
|
// modules
|
||||||
|
"modules-left": [
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"wlr/taskbar"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"group/hardware",
|
||||||
|
"pulseaudio",
|
||||||
|
"bluetooth",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"custom/exit"
|
||||||
|
]
|
||||||
|
}
|
||||||
11
waybar/.config/waybar/launch.sh
Executable file
11
waybar/.config/waybar/launch.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# terminate running instances
|
||||||
|
killall -q waybar
|
||||||
|
|
||||||
|
# wait until processes have been shut down
|
||||||
|
while pgrep -x waybar >/dev/null; do sleep 0.1; done
|
||||||
|
|
||||||
|
# launch main
|
||||||
|
waybar -c ~/.config/waybar/config.jsonc & -s ~/.config/waybar/style.css
|
||||||
|
|
||||||
26
waybar/.config/waybar/mocha.css
Normal file
26
waybar/.config/waybar/mocha.css
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
@define-color rosewater #f5e0dc;
|
||||||
|
@define-color flamingo #f2cdcd;
|
||||||
|
@define-color pink #f5c2e7;
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color maroon #eba0ac;
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color teal #94e2d5;
|
||||||
|
@define-color sky #89dceb;
|
||||||
|
@define-color sapphire #74c7ec;
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color overlay2 #9399b2;
|
||||||
|
@define-color overlay1 #7f849c;
|
||||||
|
@define-color overlay0 #6c7086;
|
||||||
|
@define-color surface2 #585b70;
|
||||||
|
@define-color surface1 #45475a;
|
||||||
|
@define-color surface0 #313244;
|
||||||
|
@define-color base #1e1e2e;
|
||||||
|
@define-color mantle #181825;
|
||||||
|
@define-color crust #11111b;
|
||||||
161
waybar/.config/waybar/modules.json
Normal file
161
waybar/.config/waybar/modules.json
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
{
|
||||||
|
// workspaces
|
||||||
|
"hyprland/workspaces" : {
|
||||||
|
"on-click": "activate",
|
||||||
|
"active-only": true,
|
||||||
|
"all-outputs": true,
|
||||||
|
"format": "{}",
|
||||||
|
"format-icons": {
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"*": 5
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// taskbar
|
||||||
|
"wlr/taskbar": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"icon-size": 18,
|
||||||
|
"tooltip-format": "{title}",
|
||||||
|
"on-click": "activate",
|
||||||
|
"on-click-middle": "close",
|
||||||
|
},
|
||||||
|
|
||||||
|
// clock
|
||||||
|
"clock": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": "{:%A, %B %d - %H:%M}",
|
||||||
|
//"format": "{:%I:%M %p}", // AM PM format
|
||||||
|
"format-alt": "{:%H:%M}",
|
||||||
|
"tooltip-format": "<big>{calendar}</big>",
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"mode-mon-col": 3,
|
||||||
|
"weeks-pos": "right",
|
||||||
|
"on-scroll": 1,
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#ffffff'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#ffffff'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#ffffff'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#ffffff'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#ffffff'><b><u>{}</u></b></span>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// hardware
|
||||||
|
"group/hardware": {
|
||||||
|
"orientation": "inherit",
|
||||||
|
"drawer": {
|
||||||
|
"transition-duration": 300,
|
||||||
|
"children-class": "not-memory",
|
||||||
|
"transition-left-to-right": false
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
"custom/system",
|
||||||
|
"cpu",
|
||||||
|
"temperature",
|
||||||
|
"disk",
|
||||||
|
"memory"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// system
|
||||||
|
"custom/system": {
|
||||||
|
"format": "<span size='small'> </span>",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// CPU
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}% ",
|
||||||
|
"on-click": "kitty btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// temperature
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureC}°C ",
|
||||||
|
"on-click": "kitty btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// harddisc space
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}% ",
|
||||||
|
"path": "/",
|
||||||
|
"on-click": "kitty btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// memory
|
||||||
|
"memory": {
|
||||||
|
"format": " {}% ",
|
||||||
|
"on-click": "kitty btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
// audio
|
||||||
|
"pulseaudio": {
|
||||||
|
"scroll-step": 1,
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-source": "{volume}% ",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"phone": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pwvucontrol"
|
||||||
|
},
|
||||||
|
|
||||||
|
// bluetooth
|
||||||
|
"bluetooth": {
|
||||||
|
"format": " {status}",
|
||||||
|
"format-disabled": " {status}",
|
||||||
|
"format-off": " {status}",
|
||||||
|
"interval": 30,
|
||||||
|
"on-click": "kitty bluetuith",
|
||||||
|
"format-no-controller": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
// network
|
||||||
|
"network": {
|
||||||
|
"format": "{ifname}",
|
||||||
|
"format-wifi": " {signalStrength}%",
|
||||||
|
"format-ethernet": " {ifname}",
|
||||||
|
"format-disconnected": "disconnected",
|
||||||
|
"tooltip-format": " {ifname} via {gwaddri}",
|
||||||
|
"tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\n {bandwidthUpBits} {bandwidthDownBits}",
|
||||||
|
"tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n {bandwidthUpBits} {bandwidthDownBits}",
|
||||||
|
"tooltip-format-disconnected": "disconnected",
|
||||||
|
"max-length": 50,
|
||||||
|
"on-click": "kitty nmtui"
|
||||||
|
//"on-click": "~/dotfiles/.settings/networkmanager.sh"
|
||||||
|
},
|
||||||
|
|
||||||
|
// battery
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 10
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
"format-plugged": " {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", ""],
|
||||||
|
"on-click": "kitty sudo auto-cpufreq --monitor"
|
||||||
|
},
|
||||||
|
|
||||||
|
// power menu
|
||||||
|
"custom/exit": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "wlogout -b 2",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
}
|
||||||
261
waybar/.config/waybar/style.css
Normal file
261
waybar/.config/waybar/style.css
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
/* pywal colors */
|
||||||
|
@import "../../.cache/wal/colors-waybar.css";
|
||||||
|
@define-color ws @color4;
|
||||||
|
@define-color tt @color1;
|
||||||
|
@define-color clock @color3;
|
||||||
|
@define-color set @color4;
|
||||||
|
@define-color tb rgba(200,200,200,0.2);
|
||||||
|
@define-color tbh @color5;
|
||||||
|
@define-color text #FFFFFF;
|
||||||
|
|
||||||
|
/* general */
|
||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
border: none;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(0,0,0,0.4); /* r, g, b, a(transparency) */
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* workspaces */
|
||||||
|
#workspaces {
|
||||||
|
margin: 4px 1px 4px 1px;
|
||||||
|
padding: 0px 0px;
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 0px;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
margin: 0px 2px;
|
||||||
|
padding: 0px 5px;
|
||||||
|
color: @text;
|
||||||
|
transition: all 0.3s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: @text;
|
||||||
|
background: @ws;
|
||||||
|
transition: all 0.3s ease-in-out;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: @text;
|
||||||
|
background: @ws;
|
||||||
|
opacity: 0.9;
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* taskbar */
|
||||||
|
#taskbar {
|
||||||
|
background: @tb;
|
||||||
|
margin: 4px 15px 4px 1px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#taskbar button {
|
||||||
|
margin: 0px 1px;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#taskbar button:hover {
|
||||||
|
background: @tbh;
|
||||||
|
opacity: 1;
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tooltip */
|
||||||
|
tooltip {
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: @tt;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: @tt;
|
||||||
|
opacity: 0.8;
|
||||||
|
padding: 0px;
|
||||||
|
margin: -5px 0px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* modules */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* clock */
|
||||||
|
#clock {
|
||||||
|
background-color: @clock;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 4px 1px;
|
||||||
|
opacity: 0.9;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hardware group */
|
||||||
|
#cpu,#temperature,#disk,#memory {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* audio */
|
||||||
|
#pulseaudio {
|
||||||
|
background-color: @set;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 4px 1px 4px -15px;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* network */
|
||||||
|
#network {
|
||||||
|
background-color: @set;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 4px 1px;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.ethernet {
|
||||||
|
background-color: @set;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.wifi {
|
||||||
|
background-color: @set;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* bluetooth */
|
||||||
|
#bluetooth, #bluetooth.on, #bluetooth.connected, #bluetooth.off {
|
||||||
|
background-color: @set;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 4px 1px;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* battery */
|
||||||
|
#battery {
|
||||||
|
background-color: @set;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 1px 10px 0px 10px;
|
||||||
|
margin: 4px 1px;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging, #battery.plugged {
|
||||||
|
color: @text;
|
||||||
|
background-color: @set;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: @set;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: @text;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tray */
|
||||||
|
#tray {
|
||||||
|
padding: 0px 15px 0px 0px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* custom modules */
|
||||||
|
#custom-exit {
|
||||||
|
margin: 0px 18px 0px 5px;
|
||||||
|
padding: 0px;
|
||||||
|
font-size: 20px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-system {
|
||||||
|
margin-right: 15px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
opacity: 0.8;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-settings {
|
||||||
|
margin-right: 0px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
opacity: 0.8;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates {
|
||||||
|
background-color: @set;
|
||||||
|
font-size: 16px;
|
||||||
|
color: @text;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 2px 10px 0px 10px;
|
||||||
|
margin: 8px 15px 8px 0px;
|
||||||
|
opacity:0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.green {
|
||||||
|
background-color: @set;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.yellow {
|
||||||
|
background-color: #ff9a3c;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates.red {
|
||||||
|
background-color: #dc2f2f;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Whisper Combined Audio Setup
|
||||||
|
After=pipewire.service wireplumber.service
|
||||||
|
Requires=pipewire.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
ExecStart=/bin/bash -c 'pw-cli create-node adapter "{ factory.name=support.null-audio-sink node.name=whisper-combined node.description=\\"Whisper Combined Audio\\" media.class=Audio/Sink audio.channels=2 audio.position=[FL,FR] }" && sleep 2 && pw-loopback -P @DEFAULT_SINK@ -C whisper-combined --latency=1024 & pw-loopback -P @DEFAULT_SOURCE@ -C whisper-combined --latency=1024 &'
|
||||||
|
ExecStop=/bin/bash -c 'pkill -f "pw-loopback.*whisper-combined"'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"wireplumber.components": [
|
||||||
|
{
|
||||||
|
"name": "whisper-combined-setup",
|
||||||
|
"type": "virtual-item/item",
|
||||||
|
"provides": "virtual-item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"wireplumber.settings": {
|
||||||
|
"node.rules": [
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
{
|
||||||
|
"node.name": "whisper-combined"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"actions": {
|
||||||
|
"update-props": {
|
||||||
|
"node.description": "Whisper Combined Audio",
|
||||||
|
"media.class": "Audio/Sink"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"context.objects": [
|
||||||
|
{
|
||||||
|
"factory": "adapter",
|
||||||
|
"args": {
|
||||||
|
"factory.name": "support.null-audio-sink",
|
||||||
|
"node.name": "whisper-combined",
|
||||||
|
"node.description": "Whisper Combined Audio",
|
||||||
|
"media.class": "Audio/Sink",
|
||||||
|
"audio.channels": 2,
|
||||||
|
"audio.position": "[ FL FR ]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"factory": "adapter",
|
||||||
|
"args": {
|
||||||
|
"factory.name": "support.null-audio-sink",
|
||||||
|
"node.name": "whisper-speaker-loopback",
|
||||||
|
"node.description": "Speaker to Whisper Loopback",
|
||||||
|
"media.class": "Stream/Output/Audio",
|
||||||
|
"audio.channels": 2,
|
||||||
|
"stream.capture.sink": "@DEFAULT_SINK@",
|
||||||
|
"stream.playback.sink": "whisper-combined"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"factory": "adapter",
|
||||||
|
"args": {
|
||||||
|
"factory.name": "support.null-audio-sink",
|
||||||
|
"node.name": "whisper-mic-loopback",
|
||||||
|
"node.description": "Mic to Whisper Loopback",
|
||||||
|
"media.class": "Stream/Output/Audio",
|
||||||
|
"audio.channels": 2,
|
||||||
|
"stream.capture.sink": "@DEFAULT_SOURCE@",
|
||||||
|
"stream.playback.sink": "whisper-combined"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
4
wofi/.config/wofi/config
Normal file
4
wofi/.config/wofi/config
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
key_up=Ctrl-k
|
||||||
|
key_down=Ctrl-j
|
||||||
|
key_left=Ctrl-h
|
||||||
|
key_right=Ctrl-l
|
||||||
107
wofi/.config/wofi/style.css
Normal file
107
wofi/.config/wofi/style.css
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
@import ".cache/wal/colors-waybar.css";
|
||||||
|
|
||||||
|
@define-color txt @color7;
|
||||||
|
@define-color bg @color0;
|
||||||
|
@define-color bg2 @color4;
|
||||||
|
@define-color bginput @color9;
|
||||||
|
@define-color accent @color11;
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'JetBrains Mono Nerd Font', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 1px solid @accent;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: @bg;
|
||||||
|
animation: slideIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slide In */
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inner Box */
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @bg;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fade In */
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outer Box */
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll */
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
#input {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
color: @accent;
|
||||||
|
background-color: @bginput;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text */
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
color: @txt;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected Entry */
|
||||||
|
/*
|
||||||
|
#entry:selected {
|
||||||
|
background-color: @accent;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background: @bg2;
|
||||||
|
border-radius: 5px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @txt;
|
||||||
|
}
|
||||||
3
yazi/.config/yazi/keymap.toml
Normal file
3
yazi/.config/yazi/keymap.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[[mgr.prepend_keymap]]
|
||||||
|
on = "M"
|
||||||
|
run = "plugin mount"
|
||||||
3
yazi/.config/yazi/keymap.toml-1749058747499918
Normal file
3
yazi/.config/yazi/keymap.toml-1749058747499918
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[[manager.prepend_keymap]]
|
||||||
|
on = "M"
|
||||||
|
run = "plugin mount"
|
||||||
7
yazi/.config/yazi/package.toml
Normal file
7
yazi/.config/yazi/package.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[[plugin.deps]]
|
||||||
|
use = "yazi-rs/plugins:mount"
|
||||||
|
rev = "cb6165b"
|
||||||
|
hash = "dd97eede8e20e59cd2604e8006e470e2"
|
||||||
|
|
||||||
|
[flavor]
|
||||||
|
deps = []
|
||||||
222
yazi/.config/yazi/yazi.toml
Normal file
222
yazi/.config/yazi/yazi.toml
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||||
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
|
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||||
|
|
||||||
|
[mgr]
|
||||||
|
ratio = [ 1, 4, 3 ]
|
||||||
|
sort_by = "alphabetical"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_dir_first = true
|
||||||
|
sort_translit = false
|
||||||
|
linemode = "none"
|
||||||
|
show_hidden = true
|
||||||
|
show_symlink = true
|
||||||
|
scrolloff = 5
|
||||||
|
mouse_events = [ "click", "scroll" ]
|
||||||
|
title_format = "Yazi: {cwd}"
|
||||||
|
|
||||||
|
[preview]
|
||||||
|
wrap = "no"
|
||||||
|
tab_size = 2
|
||||||
|
max_width = 600
|
||||||
|
max_height = 900
|
||||||
|
cache_dir = ""
|
||||||
|
image_delay = 30
|
||||||
|
image_filter = "triangle"
|
||||||
|
image_quality = 75
|
||||||
|
sixel_fraction = 15
|
||||||
|
ueberzug_scale = 1
|
||||||
|
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||||
|
|
||||||
|
[opener]
|
||||||
|
edit = [
|
||||||
|
{ run = '$EDITOR "$@"', desc = "$EDITOR", block = true, for = "unix" },
|
||||||
|
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
|
||||||
|
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
|
||||||
|
]
|
||||||
|
open = [
|
||||||
|
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
|
||||||
|
{ run = 'open "$@"', desc = "Open", for = "macos" },
|
||||||
|
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
|
||||||
|
{ run = 'termux-open "$1"', desc = "Open", for = "android" },
|
||||||
|
]
|
||||||
|
reveal = [
|
||||||
|
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||||
|
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
|
||||||
|
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
|
||||||
|
{ run = 'termux-open "$(dirname "$1")"', desc = "Reveal", for = "android" },
|
||||||
|
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
|
||||||
|
]
|
||||||
|
extract = [
|
||||||
|
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
|
||||||
|
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
|
||||||
|
]
|
||||||
|
play = [
|
||||||
|
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
|
||||||
|
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
|
||||||
|
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[open]
|
||||||
|
rules = [
|
||||||
|
# Folder
|
||||||
|
{ name = "*/", use = [ "edit", "open", "reveal" ] },
|
||||||
|
# Text
|
||||||
|
{ mime = "text/*", use = [ "edit", "reveal" ] },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/*", use = [ "open", "reveal" ] },
|
||||||
|
# Media
|
||||||
|
{ mime = "{audio,video}/*", use = [ "play", "reveal" ] },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] },
|
||||||
|
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/empty", use = [ "edit", "reveal" ] },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", use = [ "open", "reveal" ] },
|
||||||
|
]
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
micro_workers = 10
|
||||||
|
macro_workers = 10
|
||||||
|
bizarre_retry = 3
|
||||||
|
image_alloc = 536870912 # 512MB
|
||||||
|
image_bound = [ 0, 0 ]
|
||||||
|
suppress_preload = false
|
||||||
|
|
||||||
|
[plugin]
|
||||||
|
fetchers = [
|
||||||
|
# Mimetype
|
||||||
|
{ id = "mime", name = "*", run = "mime", prio = "high" },
|
||||||
|
]
|
||||||
|
z = "zoxide query {args}"
|
||||||
|
spotters = [
|
||||||
|
{ name = "*/", run = "folder" },
|
||||||
|
# Code
|
||||||
|
{ mime = "text/*", run = "code" },
|
||||||
|
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", run = "file" },
|
||||||
|
]
|
||||||
|
preloaders = [
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/ms-opentype", run = "font" },
|
||||||
|
]
|
||||||
|
previewers = [
|
||||||
|
{ name = "*/", run = "folder", sync = true },
|
||||||
|
# Code
|
||||||
|
{ mime = "text/*", run = "code" },
|
||||||
|
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,ndjson}", run = "json" },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
|
||||||
|
{ mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
|
||||||
|
{ name = "*.{AppImage,appimage}", run = "archive" },
|
||||||
|
# Virtual Disk / Disk Image
|
||||||
|
{ mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
|
||||||
|
{ mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
|
||||||
|
{ name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/ms-opentype", run = "font" },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/empty", run = "empty" },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", run = "file" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[input]
|
||||||
|
cursor_blink = false
|
||||||
|
|
||||||
|
# cd
|
||||||
|
cd_title = "Change directory:"
|
||||||
|
cd_origin = "top-center"
|
||||||
|
cd_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# create
|
||||||
|
create_title = [ "Create:", "Create (dir):" ]
|
||||||
|
create_origin = "top-center"
|
||||||
|
create_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# rename
|
||||||
|
rename_title = "Rename:"
|
||||||
|
rename_origin = "hovered"
|
||||||
|
rename_offset = [ 0, 1, 50, 3 ]
|
||||||
|
|
||||||
|
# filter
|
||||||
|
filter_title = "Filter:"
|
||||||
|
filter_origin = "top-center"
|
||||||
|
filter_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# find
|
||||||
|
find_title = [ "Find next:", "Find previous:" ]
|
||||||
|
find_origin = "top-center"
|
||||||
|
find_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# search
|
||||||
|
search_title = "Search via {n}:"
|
||||||
|
search_origin = "top-center"
|
||||||
|
search_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# shell
|
||||||
|
shell_title = [ "Shell:", "Shell (block):" ]
|
||||||
|
shell_origin = "top-center"
|
||||||
|
shell_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
[confirm]
|
||||||
|
# trash
|
||||||
|
trash_title = "Trash {n} selected file{s}?"
|
||||||
|
trash_origin = "center"
|
||||||
|
trash_offset = [ 0, 0, 70, 20 ]
|
||||||
|
|
||||||
|
# delete
|
||||||
|
delete_title = "Permanently delete {n} selected file{s}?"
|
||||||
|
delete_origin = "center"
|
||||||
|
delete_offset = [ 0, 0, 70, 20 ]
|
||||||
|
|
||||||
|
# overwrite
|
||||||
|
overwrite_title = "Overwrite file?"
|
||||||
|
overwrite_content = "Will overwrite the following file:"
|
||||||
|
overwrite_origin = "center"
|
||||||
|
overwrite_offset = [ 0, 0, 50, 15 ]
|
||||||
|
|
||||||
|
# quit
|
||||||
|
quit_title = "Quit?"
|
||||||
|
quit_content = "The following tasks are still running, are you sure you want to quit?"
|
||||||
|
quit_origin = "center"
|
||||||
|
quit_offset = [ 0, 0, 50, 15 ]
|
||||||
|
|
||||||
|
[pick]
|
||||||
|
open_title = "Open with:"
|
||||||
|
open_origin = "hovered"
|
||||||
|
open_offset = [ 0, 1, 50, 7 ]
|
||||||
|
|
||||||
|
[which]
|
||||||
|
sort_by = "none"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_translit = false
|
||||||
222
yazi/.config/yazi/yazi.toml-1749058747498097
Normal file
222
yazi/.config/yazi/yazi.toml-1749058747498097
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||||
|
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||||
|
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
ratio = [ 1, 4, 3 ]
|
||||||
|
sort_by = "alphabetical"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_dir_first = true
|
||||||
|
sort_translit = false
|
||||||
|
linemode = "none"
|
||||||
|
show_hidden = true
|
||||||
|
show_symlink = true
|
||||||
|
scrolloff = 5
|
||||||
|
mouse_events = [ "click", "scroll" ]
|
||||||
|
title_format = "Yazi: {cwd}"
|
||||||
|
|
||||||
|
[preview]
|
||||||
|
wrap = "no"
|
||||||
|
tab_size = 2
|
||||||
|
max_width = 600
|
||||||
|
max_height = 900
|
||||||
|
cache_dir = ""
|
||||||
|
image_delay = 30
|
||||||
|
image_filter = "triangle"
|
||||||
|
image_quality = 75
|
||||||
|
sixel_fraction = 15
|
||||||
|
ueberzug_scale = 1
|
||||||
|
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||||
|
|
||||||
|
[opener]
|
||||||
|
edit = [
|
||||||
|
{ run = '$EDITOR "$@"', desc = "$EDITOR", block = true, for = "unix" },
|
||||||
|
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
|
||||||
|
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
|
||||||
|
]
|
||||||
|
open = [
|
||||||
|
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
|
||||||
|
{ run = 'open "$@"', desc = "Open", for = "macos" },
|
||||||
|
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
|
||||||
|
{ run = 'termux-open "$1"', desc = "Open", for = "android" },
|
||||||
|
]
|
||||||
|
reveal = [
|
||||||
|
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||||
|
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
|
||||||
|
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
|
||||||
|
{ run = 'termux-open "$(dirname "$1")"', desc = "Reveal", for = "android" },
|
||||||
|
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
|
||||||
|
]
|
||||||
|
extract = [
|
||||||
|
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
|
||||||
|
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
|
||||||
|
]
|
||||||
|
play = [
|
||||||
|
{ run = 'mpv --force-window "$@"', orphan = true, for = "unix" },
|
||||||
|
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
|
||||||
|
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[open]
|
||||||
|
rules = [
|
||||||
|
# Folder
|
||||||
|
{ name = "*/", use = [ "edit", "open", "reveal" ] },
|
||||||
|
# Text
|
||||||
|
{ mime = "text/*", use = [ "edit", "reveal" ] },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/*", use = [ "open", "reveal" ] },
|
||||||
|
# Media
|
||||||
|
{ mime = "{audio,video}/*", use = [ "play", "reveal" ] },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] },
|
||||||
|
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/empty", use = [ "edit", "reveal" ] },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", use = [ "open", "reveal" ] },
|
||||||
|
]
|
||||||
|
|
||||||
|
[tasks]
|
||||||
|
micro_workers = 10
|
||||||
|
macro_workers = 10
|
||||||
|
bizarre_retry = 3
|
||||||
|
image_alloc = 536870912 # 512MB
|
||||||
|
image_bound = [ 0, 0 ]
|
||||||
|
suppress_preload = false
|
||||||
|
|
||||||
|
[plugin]
|
||||||
|
fetchers = [
|
||||||
|
# Mimetype
|
||||||
|
{ id = "mime", name = "*", run = "mime", prio = "high" },
|
||||||
|
]
|
||||||
|
z = "zoxide query {args}"
|
||||||
|
spotters = [
|
||||||
|
{ name = "*/", run = "folder" },
|
||||||
|
# Code
|
||||||
|
{ mime = "text/*", run = "code" },
|
||||||
|
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", run = "file" },
|
||||||
|
]
|
||||||
|
preloaders = [
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/ms-opentype", run = "font" },
|
||||||
|
]
|
||||||
|
previewers = [
|
||||||
|
{ name = "*/", run = "folder", sync = true },
|
||||||
|
# Code
|
||||||
|
{ mime = "text/*", run = "code" },
|
||||||
|
{ mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" },
|
||||||
|
# JSON
|
||||||
|
{ mime = "application/{json,ndjson}", run = "json" },
|
||||||
|
# Image
|
||||||
|
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||||
|
{ mime = "image/*", run = "image" },
|
||||||
|
# Video
|
||||||
|
{ mime = "video/*", run = "video" },
|
||||||
|
# PDF
|
||||||
|
{ mime = "application/pdf", run = "pdf" },
|
||||||
|
# Archive
|
||||||
|
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
|
||||||
|
{ mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
|
||||||
|
{ name = "*.{AppImage,appimage}", run = "archive" },
|
||||||
|
# Virtual Disk / Disk Image
|
||||||
|
{ mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
|
||||||
|
{ mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
|
||||||
|
{ name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
|
||||||
|
# Font
|
||||||
|
{ mime = "font/*", run = "font" },
|
||||||
|
{ mime = "application/ms-opentype", run = "font" },
|
||||||
|
# Empty file
|
||||||
|
{ mime = "inode/empty", run = "empty" },
|
||||||
|
# Fallback
|
||||||
|
{ name = "*", run = "file" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[input]
|
||||||
|
cursor_blink = false
|
||||||
|
|
||||||
|
# cd
|
||||||
|
cd_title = "Change directory:"
|
||||||
|
cd_origin = "top-center"
|
||||||
|
cd_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# create
|
||||||
|
create_title = [ "Create:", "Create (dir):" ]
|
||||||
|
create_origin = "top-center"
|
||||||
|
create_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# rename
|
||||||
|
rename_title = "Rename:"
|
||||||
|
rename_origin = "hovered"
|
||||||
|
rename_offset = [ 0, 1, 50, 3 ]
|
||||||
|
|
||||||
|
# filter
|
||||||
|
filter_title = "Filter:"
|
||||||
|
filter_origin = "top-center"
|
||||||
|
filter_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# find
|
||||||
|
find_title = [ "Find next:", "Find previous:" ]
|
||||||
|
find_origin = "top-center"
|
||||||
|
find_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# search
|
||||||
|
search_title = "Search via {n}:"
|
||||||
|
search_origin = "top-center"
|
||||||
|
search_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
# shell
|
||||||
|
shell_title = [ "Shell:", "Shell (block):" ]
|
||||||
|
shell_origin = "top-center"
|
||||||
|
shell_offset = [ 0, 2, 50, 3 ]
|
||||||
|
|
||||||
|
[confirm]
|
||||||
|
# trash
|
||||||
|
trash_title = "Trash {n} selected file{s}?"
|
||||||
|
trash_origin = "center"
|
||||||
|
trash_offset = [ 0, 0, 70, 20 ]
|
||||||
|
|
||||||
|
# delete
|
||||||
|
delete_title = "Permanently delete {n} selected file{s}?"
|
||||||
|
delete_origin = "center"
|
||||||
|
delete_offset = [ 0, 0, 70, 20 ]
|
||||||
|
|
||||||
|
# overwrite
|
||||||
|
overwrite_title = "Overwrite file?"
|
||||||
|
overwrite_content = "Will overwrite the following file:"
|
||||||
|
overwrite_origin = "center"
|
||||||
|
overwrite_offset = [ 0, 0, 50, 15 ]
|
||||||
|
|
||||||
|
# quit
|
||||||
|
quit_title = "Quit?"
|
||||||
|
quit_content = "The following tasks are still running, are you sure you want to quit?"
|
||||||
|
quit_origin = "center"
|
||||||
|
quit_offset = [ 0, 0, 50, 15 ]
|
||||||
|
|
||||||
|
[pick]
|
||||||
|
open_title = "Open with:"
|
||||||
|
open_origin = "hovered"
|
||||||
|
open_offset = [ 0, 1, 50, 7 ]
|
||||||
|
|
||||||
|
[which]
|
||||||
|
sort_by = "none"
|
||||||
|
sort_sensitive = false
|
||||||
|
sort_reverse = false
|
||||||
|
sort_translit = false
|
||||||
1
yazi/.stow-local-ignore
Normal file
1
yazi/.stow-local-ignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\.config/yazi/plugins
|
||||||
123
zsh/.zshrc
Normal file
123
zsh/.zshrc
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
# NO FUCKING BEEP
|
||||||
|
unsetopt BEEP
|
||||||
|
|
||||||
|
# Run pywal only on WSL
|
||||||
|
if grep -qE "(Microsoft|WSL)" /proc/version &> /dev/null && [ -z "$TMUX" ]; then
|
||||||
|
cat ~/.cache/wal/sequences
|
||||||
|
clear
|
||||||
|
fi
|
||||||
|
|
||||||
|
# hledger
|
||||||
|
export LEDGER_FILE=~/ExoKortex/2-Areas/Finances/finance_vault/tpouplier.hledger
|
||||||
|
|
||||||
|
# emacs client
|
||||||
|
alias emacs="emacsclient -c -a emacs"
|
||||||
|
|
||||||
|
# Opencode
|
||||||
|
alias oc="opencode"
|
||||||
|
|
||||||
|
# Yazi
|
||||||
|
alias y="yazi"
|
||||||
|
function yy() {
|
||||||
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
|
cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
|
# nvim
|
||||||
|
export LANG=en_CA.UTF-8
|
||||||
|
export LC_ALL=en_CA.UTF-8
|
||||||
|
export EDITOR="nvim"
|
||||||
|
|
||||||
|
# Set up fzf key bindings and fuzzy completion
|
||||||
|
source <(fzf --zsh)
|
||||||
|
|
||||||
|
# Capitalization fixing in tab completion
|
||||||
|
autoload -Uz compinit && compinit
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||||
|
|
||||||
|
# bat
|
||||||
|
alias cat=bat
|
||||||
|
|
||||||
|
# aichat
|
||||||
|
alias ai="aichat"
|
||||||
|
alias aido="aichat -e"
|
||||||
|
aitts() {
|
||||||
|
paplay --raw --rate=22050 --format=s16le --channels=1 <(aichat "Answer only with speech. Your answer will be read outlound. No title, no bold or no special character. Only the short and direct answer. $*" | piper-tts --model en_US-amy-medium.onnx --output-raw)
|
||||||
|
}
|
||||||
|
# tmux
|
||||||
|
alias t='tmux attach || tmux new'
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
alias dco="docker compose"
|
||||||
|
alias dps="docker ps"
|
||||||
|
alias dpa="docker ps -a"
|
||||||
|
alias dl="docker ps -l -q"
|
||||||
|
alias dx="docker exec -it"
|
||||||
|
|
||||||
|
# cd
|
||||||
|
alias ..="cd .."
|
||||||
|
alias ...="cd ../.."
|
||||||
|
alias ....="cd ../../.."
|
||||||
|
alias .....="cd ../../../.."
|
||||||
|
alias ......="cd ../../../../.."
|
||||||
|
|
||||||
|
# Git
|
||||||
|
alias gc="git commit -m"
|
||||||
|
alias gca="git commit -a -m"
|
||||||
|
alias gp="git push origin HEAD"
|
||||||
|
alias gpu="git pull origin"
|
||||||
|
alias gst="git status"
|
||||||
|
alias glog="git log --graph --topo-order --pretty='%w(100,0,6)%C(yellow)%h%C(bold)%C(black)%d %C(cyan)%ar %C(green)%an%n%C(bold)%C(white)%s %N' --abbrev-commit"
|
||||||
|
alias gdiff="git diff"
|
||||||
|
alias gco="git checkout"
|
||||||
|
alias gb='git branch'
|
||||||
|
alias gba='git branch -a'
|
||||||
|
alias gadd='git add'
|
||||||
|
alias ga='git add -p'
|
||||||
|
alias gcoall='git checkout -- .'
|
||||||
|
alias gr='git remote'
|
||||||
|
alias gre='git reset'
|
||||||
|
alias gcl='git clone'
|
||||||
|
|
||||||
|
# lazygit
|
||||||
|
alias lg="lazygit"
|
||||||
|
|
||||||
|
# NVIM
|
||||||
|
alias v="nvim"
|
||||||
|
|
||||||
|
# Eza
|
||||||
|
alias l="eza -l --icons --git -a"
|
||||||
|
alias lt="eza --tree --level=2 --icons --git"
|
||||||
|
alias ltree="eza --tree --level=2 --long --icons --git"
|
||||||
|
|
||||||
|
# navigation
|
||||||
|
function cx() { cd "$@" && l; }
|
||||||
|
function fcd() { cd "$(find . -type d -not -path '' | fzf)" && l; }
|
||||||
|
#function f() { echo "$(find . -type f -not -path '*/.*' | fzf)" | pbcopy }
|
||||||
|
function fv() { nvim "$(find . -type f -not -path '*/.*' | fzf)" }
|
||||||
|
|
||||||
|
# Command history
|
||||||
|
HISTFILE=~/.zsh_history
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
setopt appendhistory
|
||||||
|
|
||||||
|
# Starship
|
||||||
|
eval "$(starship init zsh)"
|
||||||
|
|
||||||
|
# Zoxide
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
|
||||||
|
# hyprshot
|
||||||
|
export HYPRSHOT_DIR="Images"
|
||||||
|
|
||||||
|
# direnv
|
||||||
|
# eval "$(direnv hook zsh)"
|
||||||
|
|
||||||
|
# Atuin
|
||||||
|
#eval "$(atuin init zsh)"
|
||||||
|
|
||||||
Reference in New Issue
Block a user