Compare commits
8 Commits
1d7f1845f9
...
230cb70257
| Author | SHA1 | Date | |
|---|---|---|---|
| 230cb70257 | |||
| 6091576170 | |||
| 0c1a801a17 | |||
| 468cbe649b | |||
| bf035507f6 | |||
| c214976757 | |||
| 03cadb8ea5 | |||
| 93f110a501 |
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
|
||||
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