Compare commits

...

No commits in common. "main" and "inist" have entirely different histories.
main ... inist

40 changed files with 1494 additions and 391 deletions

View File

@ -0,0 +1,5 @@
dictionaries = [
"fr",
"en_gb",
]
words = ["oxlint"]

View File

@ -0,0 +1,3 @@
[engine]
compose_providers=["/usr/bin/podman-compose", "/usr/libexec/docker/cli-plugins/docker-compose"]
# compose_warning_logs=false

View File

@ -0,0 +1,43 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"display": {
"separator": " ",
"key": {
"type": "icon"
}
},
"modules": [
{ "type": "title", "format": " {user-name-colored}  {host-name-colored}" },
"separator",
{ "type": "os", "keyIcon": "" },
{ "type": "host", "keyIcon": "" },
{ "type": "kernel", "keyIcon": "" },
"break",
{ "type": "cpu", "keyIcon": "" },
{ "type": "gpu", "keyIcon": "󰢮" },
{ "type": "display", "keyIcon": "󰍹" },
{ "type": "memory", "keyIcon": "" },
{ "type": "battery", "keyIcon": "" },
{ "type": "poweradapter", "keyIcon": "󰚥" },
"break",
{ "type": "swap", "keyIcon": "󰾶" },
{ "type": "disk", "keyIcon": "" },
"break",
{ "type": "localip", "keyIcon": "" },
"break",
{ "type": "packages", "keyIcon": "" },
{ "type": "shell", "keyIcon": "" },
{ "type": "terminal", "keyIcon": "" },
"break",
{ "type": "wm", "keyIcon": "" },
{ "type": "wmtheme", "keyIcon": "" },
{ "type": "theme", "keyIcon": "" },
{ "type": "icons", "keyIcon": "" },
{ "type": "font", "keyIcon": "" },
{ "type": "terminalfont", "keyIcon": "" },
{ "type": "cursor", "keyIcon": "󰇀" },
{ "type": "locale", "keyIcon": "" },
"break",
"colors"
]
}

84
.config/kanshi/config Normal file
View File

@ -0,0 +1,84 @@
# === Integrated ===
output "eDP-1" {
alias $INTERNAL
mode 1920x1080
position 0,0
}
# === Office ====
output "Dell Inc. DELL P2414H KKMMW62M0YKU" {
alias $OFFICE_CENTER
mode 1920x1080@60
position 1920,0
}
output "Hewlett Packard LA2405 CN41150LLN" {
alias $OFFICE_RIGHT
mode 1920x1200@59.950
position 3840,0
}
# === Home ===
output "Iiyama North America PL2470H 0x30363738" {
alias $HOME_LEFT
mode 1920x1080@120
position 0,0
}
output "AOC Q24G4 VH0R3HA002164" {
alias $HOME_CENTER
mode 2560x1440@120
position 1920,0
scale 1.25
}
output "Iiyama North America PL2470H 0x30363735" {
alias $HOME_RIGHT
mode 1920x1080@60
position 3968,-235
transform 270
}
# ====================================================
profile Nomad {
output $INTERNAL enable
exec ~/.config/kanshi/lid.sh
exec tuned-adm profile balanced-battery
}
profile Home {
output $INTERNAL disable
output $HOME_LEFT enable
output $HOME_CENTER enable
output $HOME_RIGHT enable
# Workspace 1 on left
exec swaymsg workspace 1, move workspace to "'Iiyama North America PL2470H 0x30363738'"
# Workspace 2 on center
exec swaymsg workspace 2, move workspace to "'AOC Q24G4 VH0R3HA002164'"
# Workspace 3 on right
exec swaymsg workspace 3, move workspace to "'Iiyama North America PL2470H 0x30363735'"
exec tuned-adm profile throughput-performance
}
profile Office {
output $INTERNAL enable position 0,0
output $OFFICE_CENTER enable
output $OFFICE_RIGHT enable
# Workspace 1 on left
exec swaymsg workspace 1, move workspace to "eDP-1"
# Workspace 2 on center
exec swaymsg workspace 2, move workspace to "'Dell Inc. DELL P2414H KKMMW62M0YKU'"
# Workspace 3 on right
exec swaymsg workspace 3, move workspace to "'Hewlett Packard LA2405 CN41150LLN'"
exec tuned-adm profile throughput-performance
}

20
.config/kanshi/lid.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
LAPTOP_OUTPUT="eDP-1"
LID_STATE_FILE="/proc/acpi/button/lid/LID0/state"
# Resume previous state
read -r LS < "$LID_STATE_FILE"
case "$LS" in
*open)
swaymsg output "$LAPTOP_OUTPUT" enable
;;
*closed)
swaymsg output "$LAPTOP_OUTPUT" disable
systemctl suspend
;;
*)
echo "Could not get lid state" >&2
exit 1
;;
esac

View File

@ -1,4 +0,0 @@
--vo=gpu-next
--target-colorspace-hint
--gpu-api=vulkan
--gpu-context=waylandvk

View File

@ -0,0 +1,187 @@
# PulseAudio config file for PipeWire version "1.4.1" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire-pulse.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire-pulse.conf.d/ for local changes.
#
context.properties = {
## Configure properties in the system.
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
#log.level = 2
#default.clock.quantum-limit = 8192
}
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rt
args = {
nice.level = -11
#rt.prio = 55
#rt.time.soft = -1
#rt.time.hard = -1
#uclamp.min = 0
#uclamp.max = 1024
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-adapter }
{ name = libpipewire-module-metadata }
{ name = libpipewire-module-protocol-pulse
args = {
# contents of pulse.properties can also be placed here
# to have config per server.
}
}
]
# Extra scripts can be started here. Setup in default.pa can be moved in
# a script or in pulse.cmd below
context.exec = [
#{ path = "pactl" args = "load-module module-always-sink" }
#{ path = "pactl" args = "upload-sample my-sample.wav my-sample" }
#{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" }
]
# Extra commands can be executed here.
# load-module : loads a module with args and flags
# args = "<module-name> <module-args>"
# ( flags = [ nofail ] )
# ( condition = [ { <key1> = <value1>, ... } ... ] )
# conditions will check the pulse.properties key/values.
pulse.cmd = [
{ cmd = "load-module" args = "module-always-sink" flags = [ ]
condition = [ { pulse.cmd.always-sink = !false } ] }
{ cmd = "load-module" args = "module-device-manager" flags = [ ]
condition = [ { pulse.cmd.device-manager = !false } ] }
{ cmd = "load-module" args = "module-device-restore" flags = [ ]
condition = [ { pulse.cmd.device-restore = !false } ] }
{ cmd = "load-module" args = "module-stream-restore" flags = [ ]
condition = [ { pulse.cmd.stream-restore = !false } ] }
#{ cmd = "load-module" args = "module-switch-on-connect" }
#{ cmd = "load-module" args = "module-gsettings" flags = [ nofail ] }
]
stream.properties = {
#node.latency = 1024/48000
#node.autoconnect = true
#resample.quality = 4
#channelmix.normalize = false
#channelmix.mix-lfe = true
#channelmix.upmix = true
#channelmix.upmix-method = psd # none, simple
#channelmix.lfe-cutoff = 150
#channelmix.fc-cutoff = 12000
#channelmix.rear-delay = 12.0
#channelmix.stereo-widen = 0.0
#channelmix.hilbert-taps = 0
#dither.noise = 0
}
pulse.properties = {
# the addresses this server listens on
server.address = [
"unix:native"
#"unix:/tmp/something" # absolute paths may be used
#"tcp:4713" # IPv4 and IPv6 on all addresses
#"tcp:[::]:9999" # IPv6 on all addresses
#"tcp:127.0.0.1:8888" # IPv4 on a single address
#
#{ address = "tcp:4713" # address
# max-clients = 64 # maximum number of clients
# listen-backlog = 32 # backlog in the server listen queue
# client.access = "restricted" # permissions for clients
#}
]
#server.dbus-name = "org.pulseaudio.Server"
#pulse.allow-module-loading = true
pulse.min.req = 256/48000 # 2.7ms
#pulse.default.req = 960/48000 # 20 milliseconds
pulse.min.frag = 256/48000 # 2.7ms
#pulse.default.frag = 96000/48000 # 2 seconds
#pulse.default.tlength = 96000/48000 # 2 seconds
pulse.min.quantum = 256/48000 # 2.7ms
#pulse.idle.timeout = 0 # don't pause after underruns
#pulse.default.format = F32
#pulse.default.position = [ FL FR ]
}
pulse.properties.rules = [
{ matches = [ { cpu.vm.name = !null } ]
actions = {
update-props = {
# These overrides are only applied when running in a vm.
pulse.min.quantum = 1024/48000 # 22ms
}
}
}
]
# client/stream specific properties
pulse.rules = [
{
matches = [
{
# all keys must match the value. ! negates. ~ starts regex.
#client.name = "Firefox"
#application.process.binary = "teams"
#application.name = "~speech-dispatcher.*"
}
]
actions = {
update-props = {
#node.latency = 512/48000
}
# Possible quirks:"
# force-s16-info forces sink and source info as S16 format
# remove-capture-dont-move removes the capture DONT_MOVE flag
# block-source-volume blocks updates to source volume
# block-sink-volume blocks updates to sink volume
#quirks = [ ]
}
}
{
# skype does not want to use devices that don't have an S16 sample format.
matches = [
{ application.process.binary = "teams" }
{ application.process.binary = "teams-insiders" }
{ application.process.binary = "teams-for-linux" }
{ application.process.binary = "skypeforlinux" }
]
actions = { quirks = [ force-s16-info ] }
}
{
# firefox marks the capture streams as don't move and then they
# can't be moved with pavucontrol or other tools.
matches = [ { application.process.binary = "firefox" } ]
actions = { quirks = [ remove-capture-dont-move ] }
}
{
# speech dispatcher asks for too small latency and then underruns.
matches = [ { application.name = "~speech-dispatcher.*" } ]
actions = {
update-props = {
pulse.min.req = 512/48000 # 10.6ms
pulse.min.quantum = 512/48000 # 10.6ms
pulse.idle.timeout = 5 # pause after 5 seconds of underrun
}
}
}
#{
# matches = [ { application.process.binary = "Discord" } ]
# actions = { quirks = [ block-source-volume ] }
#}
]

22
.config/rofi/cliphist-rofi-img Executable file
View File

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

34
.config/rofi/config.rasi Normal file
View File

@ -0,0 +1,34 @@
configuration {
font: "FiraCode Nerd Font 12";
line-margin: 12;
// display-ssh: " ";
// display-run: " ";
display-drun: " ";
display-window: " ";
display-combi: " ";
display-calc: " ";
display-clipboard: "󰅏";
match: "fuzzy";
combi-hide-mode-prefix: true;
show-icons: true;
calc {
show-match: false;
sort: false;
}
}
@theme "nord.rasi"
listview {
lines: 10;
columns: 1;
}
window {
width: 30%;
}

137
.config/rofi/nord.rasi Normal file
View File

@ -0,0 +1,137 @@
/**
* Nordic rofi theme
* Adapted by undiabler <undiabler@gmail.com>
*
* Nord Color palette imported from https://www.nordtheme.com/
*
*/
* {
nord0: #2e3440;
nord1: #3b4252;
nord2: #434c5e;
nord3: #4c566a;
nord4: #d8dee9;
nord5: #e5e9f0;
nord6: #eceff4;
nord7: #8fbcbb;
nord8: #88c0d0;
nord9: #81a1c1;
nord10: #5e81ac;
nord11: #bf616a;
nord12: #d08770;
nord13: #ebcb8b;
nord14: #a3be8c;
nord15: #b48ead;
foreground: @nord9;
backlight: #ccffeedd;
background-color: transparent;
highlight: underline bold #eceff4;
transparent: rgba(46,52,64,0);
}
window {
location: center;
anchor: center;
transparency: "screenshot";
padding: 10px;
border: 0px;
border-radius: 6px;
background-color: @transparent;
spacing: 0;
children: [mainbox];
orientation: horizontal;
}
mainbox {
spacing: 0;
children: [ inputbar, message, listview ];
}
message {
color: @nord0;
padding: 5;
border-color: @foreground;
border: 0px 2px 2px 2px;
background-color: @nord7;
}
inputbar {
color: @nord6;
padding: 11px;
background-color: #3b4252;
border: 1px;
border-radius: 6px 6px 0px 0px;
border-color: @nord10;
}
entry, prompt, case-indicator {
text-font: inherit;
text-color:inherit;
}
prompt {
margin: 0px 1em 0em 0em ;
}
listview {
padding: 8px;
border-radius: 0px 0px 6px 6px;
border-color: @nord10;
border: 0px 1px 1px 1px;
background-color: rgba(46,52,64,0.9);
dynamic: false;
}
element {
padding: 3px;
vertical-align: 0.5;
border-radius: 4px;
background-color: transparent;
color: @foreground;
text-color: rgb(216, 222, 233);
}
element selected.normal {
background-color: @nord7;
text-color: #2e3440;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
button {
padding: 6px;
color: @foreground;
horizontal-align: 0.5;
border: 2px 0px 2px 2px;
border-radius: 4px 0px 0px 4px;
border-color: @foreground;
}
button selected normal {
border: 2px 0px 2px 2px;
border-color: @foreground;
}
textbox {
padding: 8px;
border-radius: 6px 6px 6px 6px;
border-color: @nord10;
border: 1px 1px 1px 1px;
background-color: rgba(46,52,64,0.9);
dynamic: true;
text-color: @backlight;
}

284
.config/sway/config Normal file
View File

@ -0,0 +1,284 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
# Recommends: foot
set $term foot
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
# Recommends: rofi-wayland
set $rofi_cmd rofi -terminal '$term'
# Shows a combined list of the applications with desktop files and
# executables from PATH.
# TODO: add window with the next release of rofi-wayland
set $menu $rofi_cmd -show combi -combi-modes drun#emoji -modes combi#calc#window
### Notification Daemon
exec swaync
# Toggle control center
bindsym $mod+Shift+n exec swaync-client -t -swa
### Clipboard history
exec wl-paste --watch cliphist store
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# Requires: desktop-backgrounds-compat, swaybg, jxl-pixbuf-loader
output * bg ~/Images/Perso/Wallpapers/wave.jpg fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
# -> Managed by Kanshi (~/.config/kanshi/config)
# Watch lid changes
bindswitch --reload --locked lid:on output eDP-1 disable
bindswitch --reload --locked lid:off output eDP-1 enable
### Idle configuration
# -> Managed by swayidle (/usr/share/sway/config.d/90-swayidle.conf)
### Lock configuration
# -> Managed by swaylock (~/.config/swaylock/config)
bindsym $mod+Escape exec loginctl lock-session
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
focus_follows_mouse no
input "type:keyboard" {
xkb_layout fr
xkb_numlock enabled
}
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+Space exec $menu
bindsym $mod+Shift+v exec $rofi_cmd -modi clipboard:~/.config/rofi/cliphist-rofi-img -show clipboard
# Start explorer
bindsym $mod+e exec thunar
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+ampersand workspace number 1
bindsym $mod+eacute workspace number 2
bindsym $mod+quotedbl workspace number 3
bindsym $mod+apostrophe workspace number 4
bindsym $mod+parenleft workspace number 5
bindsym $mod+minus workspace number 6
bindsym $mod+egrave workspace number 7
bindsym $mod+underscore workspace number 8
bindsym $mod+ccedilla workspace number 9
bindsym $mod+agrave workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+ampersand move container to workspace number 1
bindsym $mod+Shift+eacute move container to workspace number 2
bindsym $mod+Shift+quotedbl move container to workspace number 3
bindsym $mod+Shift+apostrophe move container to workspace number 4
bindsym $mod+Shift+parenleft move container to workspace number 5
bindsym $mod+Shift+minus move container to workspace number 6
bindsym $mod+Shift+egrave move container to workspace number 7
bindsym $mod+Shift+underscore move container to workspace number 8
bindsym $mod+Shift+ccedilla move container to workspace number 9
bindsym $mod+Shift+agrave move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
# bindsym $mod+h splith
# bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+v floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+Ctrl+v focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# 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
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
##### Theme config
# Polar Night
set $nord0 #2e3440
set $nord1 #3b4252
set $nord2 #434c5e
set $nord3 #4c566a
# Snow Storm
set $nord4 #d8dee9
set $nord5 #e5e9f0
set $nord6 #eceff4
# Frost
set $nord7 #8fbcbb
set $nord8 #88c0d0
set $nord9 #81a1c1
set $nord10 #5e81ac
# Aurora
set $nord11 #bf616a
set $nord12 #d08770
set $nord13 #ebcb8b
set $nord14 #a3be8c
set $nord15 #b48ead
client.focused $nord0 $nord1 $nord4
client.focused_inactive $nord0 $nord0 $nord4
client.unfocused $nord0 $nord0 $nord4
client.urgent $nord0 $nord11 $nord4
client.background $nord0
# Include configs from 3 locations:
# - /usr/share/sway/config.d
# - /etc/sway/config.d
# - $XDG_CONFIG_HOME/sway/config.d ($HOME/.config/sway/config.d)
#
# If multiple directories contain the files with the same name, the later
# directory takes precedence; `$XDG_CONFIG_HOME/sway/config.d/20-swayidle.conf`
# will always be loaded instead of `/usr/share/sway/config.d/20-swayidle.conf`
# or `/etc/sway/config.d/20-swayidle.conf`
#
# This mechanism permits overriding our default configuration per-system
# (/etc) or per-user ($XDG_CONFIG_HOME) basis. Just create the file you
# want to modify/override in the higher-level directory.
#
# For example, to disable the default bar from Fedora configs, you'll need to
# $ echo -n > "$HOME/.config/sway/config.d/90-bar.conf"
#
# Note the quoting, the $() and the arguments quoting. All the parts are equally
# important to make the magic work. And if you want to learn the secret behind
# the trick, it's all in the `wordexp(3)`.
#
include '$(/usr/libexec/sway/layered-include "/usr/share/sway/config.d/*.conf" "/etc/sway/config.d/*.conf" "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")'

View File

@ -0,0 +1,18 @@
# apply mark for Xwayland and wayland native browser windows
for_window [class="Chromium-browser"] mark Browser
for_window [class="Brave-browser"] mark Browser
for_window [class="firefox"] mark Browser
for_window [app_id="Chromium-browser"] mark Browser
for_window [app_id="brave-browser"] mark Browser
for_window [app_id="firefox"] mark Browser
for_window [app_id="zen"] mark Browser
# inhibit scrensaver for fullscreen browser windows
for_window [con_mark="Browser"] {
inhibit_idle fullscreen
}
# firefox wayland screensharing indicator
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] {
floating enable
}

View File

@ -0,0 +1,5 @@
# thunderbird reminders
for_window [app_id="org.mozilla.Thunderbird" title="[0-9]+ rappels?"] {
floating enable
resize set 960 540
}

View File

@ -0,0 +1,3 @@
for_window [app_id="xdg-desktop-portal-gtk" title="Open (File|Folder)"] {
floating enable
}

View File

@ -0,0 +1,11 @@
for_window [app_id="Zoom Workplace"] {
floating enable
}
for_window [app_id="Zoom Workplace" title="Zoom Workplace - Free Account"] {
floating disable
}
for_window [app_id="Zoom Workplace" title="Meeting"] {
floating disable
}

View File

@ -0,0 +1,20 @@
# Key bindings for taking screenshots
#
# The image files will be written to XDG_SCREENSHOTS_DIR if this is set
# or defined in user-dirs.dir, or to a fallback location XDG_PICTURES_DIR.
#
# Copy the file to ~/.config/sway/config.d/60-bindings-screenshot.conf (or to
# your $XDG_CONFIG_HOME location if set differently) to be able to overwrite
# existing shortcuts.
# Check 'man grimshot' for additional commands that you may find useful.
#
# Requires: grimshot
bindsym {
# Capture the currently active output
Print exec grimshot copy output
# Capture the currently active window
Ctrl+Print exec grimshot save active
# Select and capture a custom rectangular area
Ctrl+Shift+Print exec grimshot copy area
}

9
.config/swaylock/config Normal file
View File

@ -0,0 +1,9 @@
image=~/Images/Perso/Wallpapers/wave.jpg
scaling=fill
show-keyboard-layout
indicator-caps-lock
indicator-idle-visible
indicator-radius=75
font-size=16

View File

@ -1,29 +0,0 @@
{
"reload_style_on_change": true,
"include": [
"~/.config/waybar/lib/components/workspaces.json",
"~/.config/waybar/lib/components/tray.json",
"~/.config/waybar/lib/components/notifications.json",
"~/.config/waybar/lib/components/cpu.json",
"~/.config/waybar/lib/components/gpu.json",
"~/.config/waybar/lib/components/memory.json",
"~/.config/waybar/lib/components/audio.json",
"~/.config/waybar/lib/components/calendar.json",
"~/.config/waybar/lib/components/clock.json"
],
"modules-left": [
"hyprland/workspaces",
"tray"
],
"modules-center": [
],
"modules-right": [
"custom/notification",
"cpu",
"custom/gpu",
"memory",
"pulseaudio",
"clock#calendar",
"clock"
]
}

View File

@ -1,23 +0,0 @@
{
"reload_style_on_change": true,
"include": [
"~/.config/waybar/lib/components/workspaces.json",
"~/.config/waybar/lib/components/tray.json",
"~/.config/waybar/lib/components/language.json",
"~/.config/waybar/lib/components/audio.json",
"~/.config/waybar/lib/components/calendar.json",
"~/.config/waybar/lib/components/clock.json"
],
"modules-left": [
"hyprland/workspaces",
"tray"
],
"modules-center": [
],
"modules-right": [
"hyprland/language",
"pulseaudio",
"clock#calendar",
"clock"
]
}

View File

@ -1,24 +0,0 @@
{
"reload_style_on_change": true,
"include": [
"~/.config/waybar/lib/components/workspaces.json",
"~/.config/waybar/lib/components/mpris.json",
"~/.config/waybar/lib/components/notifications.json",
"~/.config/waybar/lib/components/calendar.json",
"~/.config/waybar/lib/components/clock.json"
],
"modules-left": [
"hyprland/workspaces",
"mpris"
],
"modules-center": [
],
"modules-right": [
"custom/notification",
"clock#calendar",
"clock"
],
"mpris": {
"dynamic-len": 65
}
}

View File

@ -1,23 +1,162 @@
[
{
"output": ["DP-1"],
"include": [
"~/.config/waybar/lib/common.json",
"~/.config/waybar/bars/DP-1.json"
]
},
{
"output": ["DP-2"],
"include": [
"~/.config/waybar/lib/common.json",
"~/.config/waybar/bars/DP-2.json"
]
},
{
"output": ["DP-3"],
"include": [
"~/.config/waybar/lib/common.json",
"~/.config/waybar/bars/DP-3.json"
]
}
]
{
"layer": "top",
"position": "top",
"modules-left": [
"sway/workspaces",
"custom/right-arrow-dark"
],
"modules-center": [
"custom/left-arrow-dark",
"clock#1",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"clock#2",
"custom/right-arrow-dark",
"custom/right-arrow-light",
"clock#3",
"custom/right-arrow-dark"
],
"modules-right": [
"custom/left-arrow-dark",
"wireplumber",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"memory",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"cpu",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"battery",
"power-profiles-daemon",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"disk",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"custom/notifications",
"custom/left-arrow-light",
"custom/left-arrow-dark",
"tray"
],
"custom/left-arrow-dark": {
"format": "",
"tooltip": false
},
"custom/left-arrow-light": {
"format": "",
"tooltip": false
},
"custom/right-arrow-dark": {
"format": "",
"tooltip": false
},
"custom/right-arrow-light": {
"format": "",
"tooltip": false
},
"sway/workspaces": {
"disable-scroll": true,
"format": "{name}"
},
"custom/notifications": {
"escape": true,
"exec": "swaync-client -swb",
"exec-if": "which swaync-client",
"format": "{icon}",
"format-icons": {
"none": "󰅺",
"notification": "󰡟",
"dnd-notification": "󱙍"
},
"on-click": "sleep 0.1 && swaync-client -t -sw",
"return-type": "json",
"tooltip": false
},
"clock#1": {
"format": "{:%a}",
"tooltip": false
},
"clock#2": {
"format": "{:%H:%M}",
"tooltip": false
},
"clock#3": {
"format": "{:%d/%m}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"mode" : "month",
"weeks-pos" : "right",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
}
},
"wireplumber": {
"format": "{icon} {volume:2}%",
"format-bluetooth": "{icon} {volume}%",
"format-muted": "󰝟",
"format-icons": {
"headphones": "",
"default": [
"",
""
]
},
"scroll-step": 5,
"on-click": "wpctl set-mute @DEFAULT_SINK@ toggle",
"on-click-right": "flatpak run com.saivert.pwvucontrol"
},
"memory": {
"interval": 5,
"format": " {}%"
},
"cpu": {
"interval": 5,
"format": " {usage}%"
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "{icon} {capacity}% 󰚥",
"format-icons": [
"",
"",
"",
"",
""
]
},
"power-profiles-daemon": {
"hide-empty-text": false,
"format": "{icon}",
"format-icons": {
"balanced": "",
"performance": "",
"power-saver": "",
}
},
"disk": {
"interval": 5,
"format": " {percentage_used:2}%",
"path": "/"
},
"tray": {
"icon-size": 12,
"spacing": 10
}
}

View File

@ -1,9 +0,0 @@
{
"layer": "bottom",
"position": "top",
"spacing": 1,
"exclusive": true,
"gtk-layer-shell": true,
"passthrough": false,
"fixed-center": true
}

View File

@ -1,14 +0,0 @@
{
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": " ",
"format-icons": {
"default": [
"",
"",
""
]
},
"on-click": "flatpak run com.saivert.pwvucontrol"
}
}

View File

@ -1,18 +0,0 @@
{
"clock#calendar": {
"format": " {:L%d/%m}",
"calendar": {
"format": {
"days": "<span weight='normal'>{}</span>",
"months": "<span color='#cdd6f4'><b>{}</b></span>",
"today": "<span color='#f38ba8' weight='700'><u>{}</u></span>",
"weekdays": "<span color='#f5e0dc'><b>{}</b></span>",
"weeks": "<span color='#a6e3a1'><b>W{}</b></span>"
},
"mode": "month",
"mode-mon-col": 1,
"on-scroll": 1
},
"tooltip-format": "<span color='#cdd6f4'><tt>{calendar}</tt></span>"
}
}

View File

@ -1,6 +0,0 @@
{
"clock": {
"tooltip": false,
"format": " {:%H:%M}"
}
}

View File

@ -1,8 +0,0 @@
{
"cpu": {
"interval": 10,
"format": " {usage}%",
"max-length": 10,
"tooltip": false
}
}

View File

@ -1,9 +0,0 @@
{
"custom/gpu": {
"exec": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits",
"format": "󰊴 {}%",
"return-type": "",
"interval": 5,
"tooltip": false
}
}

View File

@ -1,8 +0,0 @@
{
"hyprland/language": {
"format": " {}",
"format-en": "QW",
"format-fr": "AZ",
"keyboard-name": "logitech-g512-rgb-mechanical-gaming-keyboard"
}
}

View File

@ -1,7 +0,0 @@
{
"memory": {
"interval": 30,
"format": " {}%",
"max-length": 10
}
}

View File

@ -1,15 +0,0 @@
{
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{player_icon} {dynamic}",
"dynamic-order": ["title", "artist"],
"player-icons": {
"default": ""
},
"status-icons": {
"playing": "",
"paused": ""
},
"tooltip": false
}
}

View File

@ -1,15 +0,0 @@
{
"custom/notification": {
"escape": true,
"exec": "swaync-client -swb",
"exec-if": "which swaync-client",
"format": "{icon}",
"format-icons": {
"none": "󰅺",
"notification": "󰡟"
},
"on-click": "sleep 0.1 && swaync-client -t -sw",
"return-type": "json",
"tooltip": false
}
}

View File

@ -1,5 +0,0 @@
{
"tray": {
"spacing": 10
}
}

View File

@ -1,10 +0,0 @@
{
"hyprland/workspaces": {
"show-special": true,
"persistent-workspaces": {
"1": [1],
"2": [2],
"3": [3]
}
}
}

View File

@ -1,40 +0,0 @@
/*
*
* Catppuccin Mocha palette
* Maintainer: rubyowo
*
*/
@define-color mantle #181825;
@define-color crust #11111b;
@define-color text #cdd6f4;
@define-color subtext0 #a6adc8;
@define-color subtext1 #bac2de;
/* @define-color surface0 #313244; */
@define-color surface0 rgba(38,38,43,0.9);
@define-color surface1 #222226;
@define-color surface2 #585b70;
@define-color overlay0 #6c7086;
@define-color overlay1 #7f849c;
@define-color overlay2 #9399b2;
@define-color white #f2f2f2;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color sapphire #74c7ec;
/* @define-color sky #89dceb; */
@define-color sky #007dff;
@define-color teal #94e2d5;
@define-color green #a6e3a1;
@define-color yellow #f9e2af;
@define-color peach #fab387;
@define-color maroon #eba0ac;
@define-color red #f38ba8;
@define-color mauve #cba6f7;
@define-color pink #f5c2e7;
@define-color flamingo #f2cdcd;
@define-color rosewater #f5e0dc;

View File

@ -1,83 +1,110 @@
@import "mocha.css";
@define-color nord0 #2e3440;
@define-color nord1 #3b4252;
@define-color nord2 #434c5e;
@define-color nord3 #4c566a;
@define-color nord4 #d8dee9;
@define-color nord5 #e5e9f0;
@define-color nord6 #eceff4;
@define-color nord7 #8fbcbb;
@define-color nord8 #88c0d0;
@define-color nord9 #81a1c1;
@define-color nord10 #5e81ac;
@define-color nord11 #bf616a;
@define-color nord12 #d08770;
@define-color nord13 #ebcb8b;
@define-color nord14 #a3be8c;
@define-color nord15 #b48ead;
* {
min-height: 0;
min-width: 0;
font-family: "FiraCode Nerd Font Propo";
font-size: 16px;
font-weight: 600;
min-width: 0;
min-height: 0;
font-size: 13px;
font-family: FiraCode Nerd Font Propo;
}
#waybar {
background: transparent;
color: @text;
window#waybar {
background: @nord1;
color: @nord4;
}
tooltip {
background-color: @surface0;
box-shadow: 0 0 10px @surface1;
#custom-right-arrow-dark,
#custom-left-arrow-dark {
font-family: monospace;
font-size: 16px;
color: @nord0;
}
#custom-right-arrow-light,
#custom-left-arrow-light {
font-family: monospace;
font-size: 16px;
color: @nord1;
background: @nord0;
}
#workspaces {
margin-left: 0.5rem;
#custom-notifications,
#workspaces,
#clock.1,
#clock.2,
#clock.3,
#wireplumber,
#memory,
#cpu,
#battery,
#power-profiles-daemon,
#disk,
#tray {
background: @nord0;
}
#workspaces button {
padding: 0.1rem 0.6rem;
margin: 0.4rem 0.25rem 0rem 0.25rem;
border-radius: 4px;
color: @white;
background-color: @surface0;
padding: 0 4px;
color: @nord4;
}
#workspaces button.active {
background-color: @sky;
#workspaces button.focused {
color: @nord8;
}
#workspaces button:hover {
color: @sky;
box-shadow: inherit;
text-shadow: inherit;
background: @nord4;
color: @nord1;
border: @nord0;
}
#mpris,
#tray,
#cpu,
#custom-gpu,
#custom-gpu-temp,
#memory,
#pulseaudio,
#custom-notification,
#clock,
#mpris,
#language,
#tray {
padding: 0.1rem 0.6rem;
margin: 0.4rem 0.25rem 0rem 0.25rem;
border-radius: 4px;
border: 2px solid @surface1;
background-color: @surface0;
#wireplumber {
color: @nord10;
}
#clock {
color: @rosewater;
}
#clock.simpleclock {
margin-right: 0.8rem;
}
#memory {
color: @green;
color: @nord14;
}
#custom-gpu {
color: @yellow;
}
#cpu {
color: @blue;
color: @nord15;
}
#battery, #power-profiles-daemon {
color: @nord13;
}
#disk {
color: @nord12;
}
#pulseaudio,
#mpris {
color: @teal;
#custom-notifications {
padding: 0 6px;
}
#tray,
#clock,
#wireplumber,
#memory,
#cpu,
#battery,
#disk {
padding: 0 10px;
}
#power-profiles-daemon {
padding-right: 10px;
}

View File

@ -1,29 +1,37 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"version": 2,
"secondary_prompt": {
"template": " ",
"foreground": "#ffffff",
"background": "transparent"
},
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"type": "os",
"style": "diamond",
"properties": {
"cache_duration": "none"
},
"trailing_diamond": "\ue0b0",
"template": " {{.Icon}} ",
"foreground": "#FFF",
"background": "233",
"trailing_diamond": "\ue0b0",
"template": " {{.Icon}} "
"type": "os",
"style": "diamond"
},
{
"type": "path",
"style": "diamond",
"foreground": "#26C6DA",
"background": "236",
"properties": {
"cache_duration": "none",
"style": "full"
},
"trailing_diamond": "\ue0b0",
"template": " {{ .Path }} ",
"properties": {
"style": "full"
}
"foreground": "#26C6DA",
"background": "236",
"type": "path",
"style": "diamond"
}
]
},
@ -32,15 +40,16 @@
"alignment": "right",
"segments": [
{
"type": "time",
"style": "diamond",
"foreground": "#597E7E",
"background": "233",
"properties": {
"cache_duration": "none",
"time_format": "15:03"
},
"leading_diamond": "\ue0b2",
"template": " {{ .CurrentDate | date .Format }} \uf017 ",
"properties": {
"time_format": "15:03"
}
"foreground": "#597E7E",
"background": "233",
"type": "time",
"style": "diamond"
}
]
},
@ -49,16 +58,17 @@
"alignment": "left",
"segments": [
{
"properties": {
"always_enabled": true,
"cache_duration": "none"
},
"template": " ",
"foreground": "#5ACA00",
"type": "status",
"style": "plain",
"foreground": "#5ACA00",
"foreground_templates": [
"{{ if gt .Code 0 }}#FF5252{{ end }}"
],
"template": " ",
"properties": {
"always_enabled": true
}
]
}
],
"newline": true
@ -68,19 +78,47 @@
"alignment": "right",
"segments": [
{
"type": "git",
"style": "diamond",
"foreground": "#4D9D0F",
"background": "236",
"properties": {
"fetch_package_manager": true,
"pnpm_icon": "",
"yarn_icon": "",
"npm_icon": "(npm)"
},
"leading_diamond": "\ue0b2",
"template": " {{ .HEAD }} "
"template": " 󰎙 {{ .Full }} {{if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ else }}{{ if .PackageManagerName }}({{ .PackageManagerName }}){{ end }}{{ end }}",
"foreground": "#4D9D0F",
"foreground_templates": [
"{{ if .Mismatch }}#FFEB3B{{ end }}"
],
"background": "236",
"type": "node",
"style": "diamond"
},
{
"properties": {
"fetch_status": true,
"source": "cli",
"mapped_branches": {
"feature/*": " 🚀 ",
"hotfix/*": " 🚑️ ",
"bug/*": " 🐛 "
}
},
"leading_diamond": "\ue0b2",
"background": "233",
"foreground": "#597E7E",
"foreground_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}#FFEB3B{{ end }}",
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}#FFCC80{{ end }}",
"{{ if gt .Ahead 0 }}#B388FF{{ end }}",
"{{ if gt .Behind 0 }}#B388FB{{ end }}"
],
"type": "git",
"template": " {{ .HEAD }} {{if .BranchStatus }}{{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }}{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }} ",
"style": "diamond"
}
]
}
],
"secondary_prompt": {
"background": "transparent",
"foreground": "#ffffff",
"template": " "
}
"version": 3
}

107
.ssh/config Normal file
View File

@ -0,0 +1,107 @@
# ezTeam
Host vd-ezt
HostName vdezteam.intra.inist.fr
Host *-ezt
User outline
# ezDoc
Host vd-ezdoc
HostName vdezdoc.intra.inist.fr
Host vi-ezdoc
HostName viezdoc.intra.inist.fr
Host *-ezdoc
User ezdoc
# ezMesure
Host vd-ezm
HostName vdezmesure.intra.inist.fr
Host vi-ezm
HostName viezmesure1.intra.inist.fr
Host *-ezm
User ezmesure
# ezPaarse
Host vd-ezp
HostName vdezpaarse.intra.inist.fr
Host vi-ezp
HostName viezpaarse2.intra.inist.fr
Host vp-ezp
HostName vpezpaarse.intra.inist.fr
Host *-ezp
User ezpaarse
# Analogist
Host vd-analogist
HostName vdanalogist.intra.inist.fr
IdentityFile analogist
Host vi-analogist
HostName vianalogist1.intra.inist.fr
Host *-analogist
User analogist
# Bibliomap
Host *-biblio
User bibliomap
# ezUnpaywall
Host vd-ezu
HostName vdunpaywall.intra.inist.fr
Host vi-ezu
HostName viunpaywall.intra.inist.fr
Host *-ezu
User ezunpaywall
# ReadHoldings
Host vd-readholdings
HostName vdreadholdings.intra.inist.fr
Host *-readholdings
User readholdings
# ReadLabs
Host vd-readlabs
HostName vdreadlabs.intra.inist.fr
Host vi-readlabs
HostName vireadlabs.intra.inist.fr
Host *-readlabs
User readlabs
# ezDoc
Host vd-ezdoc
HostName vdezdoc.intra.inist.fr
Host vi-ezdoc
HostName viezdoc.intra.inist.fr
Host *-ezdoc
User ezdoc
# =====
# ezMeta K3S
Host vk0-ezmeta-k3s
HostName vkdezmeta-api.intra.inist.fr
Host vk1-ezmeta-k3s
HostName vkdezmeta-wrk1.intra.inist.fr
Host vk2-ezmeta-k3s
HostName vkdezmeta-wrk2.intra.inist.fr
Host vk3-ezmeta-k3s
HostName vkdezmeta-wrk3.intra.inist.fr
# ezunpaywall K3S
Host vk-ezu-k3s
HostName vkdunpaywall-mono.intra.inist.fr
# ezTeam K3S
Host vk0-ezt-k3s
HostName vkdezteam-api.intra.inist.fr
Host vk1-ezt-k3s
HostName vkdezteam-wrk1.intra.inist.fr
Host vk2-ezt-k3s
HostName vkdezteam-wrk2.intra.inist.fr
Host vk3-ezt-k3s
HostName vkdezteam-wrk3.intra.inist.fr
# ez* K3S
Host vk*-ez*-k3s
User sublet
# =====
# Global
Host *
IdentityFile ~/.ssh/id_rsa
SetEnv TERM=xterm

View File

@ -0,0 +1,16 @@
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"context": "Editor",
"bindings": {
"ctrl-k ctrl-c": "editor::ToggleComments",
"ctrl-k ctrl-u": "editor::ToggleComments"
}
}
]

View File

@ -0,0 +1,120 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"disable_ai": true,
"vim_mode": false,
"telemetry": {
"metrics": false,
"diagnostics": false
},
"base_keymap": "VSCode",
"theme": "One Dark - Darkened",
"icon_theme": "Catppuccin Mocha",
"ui_font_size": 14,
"buffer_font_size": 12,
"buffer_font_family": "FiraCode Nerd Font Mono",
"buffer_line_height": "standard",
"buffer_font_features": {
"calt": true
},
"bottom_dock_layout": "left_aligned",
"terminal": {
"font_family": "FiraCode Nerd Font Mono",
"font_size": 12,
"line_height": "standard",
"toolbar": {
"breadcrumbs": false
},
"font_features": {
"calt": true
}
},
"minimap": {
"show": "auto"
},
"tabs": {
"file_icons": true,
"git_status": true,
"show_diagnostics": "all"
},
"project_panel": {
"entry_spacing": "standard"
},
"agent": {
"default_profile": "ask",
"default_model": {
"provider": "zed.dev",
"model": "claude-sonnet-4"
}
},
"show_edit_predictions": false,
"collaboration_panel": {
"button": false
},
"notification_panel": {
"button": false
},
"title_bar": {
"show_branch_icon": true
},
"tab_bar": {
"show_nav_history_buttons": false
},
"toolbar": {
"agent_review": false,
"code_actions": true
},
"diagnostics": {
"inline": {
"enabled": true,
"max_severity": "warning"
}
},
"inlay_hints": {
"enabled": true,
"show_type_hints": false
},
"indent_guides": {
"coloring": "indent_aware"
},
"tab_size": 2,
"show_whitespaces": "trailing",
"wrap_guides": [110],
"inline_code_actions": false,
"relative_line_numbers": true,
"file_types": {
"JSONC": [".oxlintrc.json"]
},
"languages": {
"YAML": {
"format_on_save": "off"
}
}
}

73
.zshrc
View File

@ -1,15 +1,21 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=$PATH:/home/oxytom/.spicetify
# # If you come from bash you might have to change your $PATH.
# export PATH=$HOME/.local/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
# # pnpm
# export PNPM_HOME="/home/sublet/.local/share/pnpm"
# case ":$PATH:" in
# *":$PNPM_HOME:"*) ;;
# *) export PATH="$PNPM_HOME:$PATH" ;;
# esac
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="powerlevel10k/powerlevel10k"
# ZSH_THEME="robbyrussell"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
@ -79,6 +85,15 @@ unsetopt HIST_VERIFY # Execute commands using history (e.g.: using !$) immediate
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# nvm configuration
# zstyle ':omz:plugins:nvm' lazy yes
zstyle ':omz:plugins:nvm' autoload yes
zstyle ':omz:plugins:nvm' silent-autoload yes # optionally remove the output generated by NVM when autoloading
# fzf-tab configuration
zstyle ':fzf-tab:complete:cd:*' fzf-preview '/bin/eza -1 --color=always $realpath'
zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl --user status $word'
ZOXIDE_CMD_OVERRIDE="cd"
# Which plugins would you like to load?
@ -90,8 +105,11 @@ plugins=(
fzf
nvm
zoxide
podman
nvm
sudo
command-not-found
you-should-use
fzf-tab
zsh-autosuggestions
zsh-syntax-highlighting
@ -102,53 +120,50 @@ eval "$(oh-my-posh init zsh --config ~/.p10k.omp.json)"
# User configuration
# fzf-tab configuration
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl --user status $word'
# export MANPATH="/usr/local/man:$MANPATH"
# VSCode shell integration
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
# SSH with kitty
kssh() {
kitty +kitten ssh $@
}
compdef _ssh kssh=ssh
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
export EDITOR="hx"
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# export EDITOR='nvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# export ARCHFLAGS="-arch $(uname -m)"
# 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.
# 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 a top-level file in
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
# - $ZSH_CUSTOM/aliases.zsh
# - $ZSH_CUSTOM/macos.zsh
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias ls="eza --icons"
alias ls="/bin/eza --icons"
alias tree="/bin/eza --icons -T"
alias less="batcat"
alias less="bat"
alias df="duf --hide-fs squashfs,tmpfs,efivarfs,devtmpfs"
# alias cd="zoxide"
alias grep="ugrep"
alias ssh="kssh"
alias code="snap run code"
alias curl="curlie"
# alias code="snap run code"
alias docker-compose="PODMAN_COMPOSE_PROVIDER=/usr/libexec/docker/cli-plugins/docker-compose podman compose"
# Funny work aliases
alias rip-yannick="gh pr create -w"
alias rip-leo="rip-yannick"
# # Startup hyprland
# if uwsm check may-start; then
# exec uwsm start hyprland.desktop
# fi
# Generated for envman. Do not edit.
[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
. "$HOME/.cargo/env"