Compare commits
86
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f71dcc5cd5
|
||
|
|
223e73b7ed
|
||
|
|
0d8c876757
|
||
|
|
84c0123034
|
||
|
|
f51f171586
|
||
|
|
e96d604ac8
|
||
|
|
d825277ed5
|
||
|
|
30ee4caad9 | ||
|
|
fabb7c68ca | ||
|
|
3c634278cd
|
||
|
|
2770b72355
|
||
|
|
d3b0782e84
|
||
|
|
fd8b2c0aac
|
||
|
|
3ac70d1e2e
|
||
|
|
f8c5f62871
|
||
|
|
688b807fa2 | ||
|
|
9e4d04184b | ||
|
|
3065489412 | ||
|
|
aa484bc634 | ||
|
|
1b86c7f07c | ||
|
|
24c08f0ff4 | ||
|
|
76d4defbe7 | ||
|
|
6c4519b70a | ||
|
|
0432e4bc63 | ||
|
|
12fb34790d | ||
|
|
203bf80f82 | ||
|
|
860e8cfa1f | ||
|
|
12de555bb2 | ||
|
|
fcd43e2222 | ||
|
|
52173751aa | ||
|
|
c412133d6d | ||
|
|
b15f6fe848 | ||
|
|
305432a395 | ||
|
|
51c05ecbe1 | ||
|
|
62fd071f33 | ||
|
|
ec1a04e8a0 | ||
|
|
198e3e3698 | ||
|
|
21596b75bb | ||
|
|
da8b2a7f73 | ||
|
|
606f287837 | ||
|
|
208d168b87 | ||
|
|
b13290f579 | ||
|
|
ac282b8c5e | ||
|
|
92d8bdb4e5 | ||
|
|
76ba0edd51 | ||
|
|
c21065c994 | ||
|
|
c3834b205d | ||
|
|
f39489236f | ||
|
|
3f0a64d893 | ||
|
|
1d2b1286b3 | ||
|
|
1b2e9c3153 | ||
|
|
e60d76ecf1 | ||
|
|
16117501cd | ||
|
|
05ebcf6019 | ||
|
|
a51ed03279 | ||
|
|
5a20a32e93 | ||
|
|
59ad93a98a | ||
|
|
70dae5218d | ||
|
|
f5259b86f4 | ||
|
|
b5bbe3af38 | ||
|
|
a625bb99d9 | ||
|
|
9486b8f9fd | ||
|
|
c91a077a58 | ||
|
|
e02c23baee | ||
|
|
b4a1b03df4 | ||
|
|
45fec2ff49 | ||
|
|
5c744b3d6e | ||
|
|
fbc76627f0 | ||
|
|
077b942657 | ||
|
|
7dfecfe1b4 | ||
|
|
1a85eac1bb | ||
|
|
be1afcec6c | ||
|
|
c441610ea8 | ||
|
|
f7935e0451 | ||
|
|
ed61a72c9a | ||
|
|
5b24f235af | ||
|
|
2ffc3aa672 | ||
|
|
61c29ce56e | ||
|
|
120e43d96d | ||
|
|
203ed03f4b | ||
|
|
cdb35cc9f3 | ||
|
|
9802a5b7eb | ||
|
|
7f09a07e27 | ||
|
|
6e16bb5597 | ||
|
|
a794841b60 | ||
|
|
88e99a3a6e |
@@ -0,0 +1 @@
|
|||||||
|
--theme=noctalia
|
||||||
@@ -0,0 +1,280 @@
|
|||||||
|
## Configuration file for CAVA.
|
||||||
|
# Remove the ; to change parameters.
|
||||||
|
|
||||||
|
|
||||||
|
[general]
|
||||||
|
|
||||||
|
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||||
|
; mode = normal
|
||||||
|
|
||||||
|
# Accepts only non-negative values.
|
||||||
|
; framerate = 60
|
||||||
|
|
||||||
|
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||||
|
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||||
|
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||||
|
; autosens = 1
|
||||||
|
; overshoot = 20
|
||||||
|
|
||||||
|
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||||
|
# 200 means double height. Accepts only non-negative values.
|
||||||
|
; sensitivity = 100
|
||||||
|
|
||||||
|
# The number of bars (0-512). 0 sets it to auto (fill up console).
|
||||||
|
# Bars' width and space between bars in number of characters.
|
||||||
|
; bars = 0
|
||||||
|
; bar_width = 2
|
||||||
|
; bar_spacing = 1
|
||||||
|
# bar_height is only used for output in "noritake" format
|
||||||
|
; bar_height = 32
|
||||||
|
|
||||||
|
# For SDL width and space between bars is in pixels, defaults are:
|
||||||
|
; bar_width = 20
|
||||||
|
; bar_spacing = 5
|
||||||
|
|
||||||
|
# sdl_glsl have these default values, they are only used to calulate max number of bars.
|
||||||
|
; bar_width = 1
|
||||||
|
; bar_spacing = 0
|
||||||
|
|
||||||
|
|
||||||
|
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||||
|
# the bandwidth of the visualizer.
|
||||||
|
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||||
|
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||||
|
; lower_cutoff_freq = 50
|
||||||
|
; higher_cutoff_freq = 10000
|
||||||
|
|
||||||
|
|
||||||
|
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||||
|
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||||
|
; sleep_timer = 0
|
||||||
|
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
|
||||||
|
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
|
||||||
|
# On Mac it defaults to 'portaudio' or 'fifo'
|
||||||
|
# On windows this is automatic and no input settings are needed.
|
||||||
|
#
|
||||||
|
# All input methods uses the same config variable 'source'
|
||||||
|
# to define where it should get the audio.
|
||||||
|
#
|
||||||
|
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||||
|
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||||
|
#
|
||||||
|
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
|
||||||
|
# Both input and output devices are supported.
|
||||||
|
#
|
||||||
|
# For alsa 'source' will be the capture device.
|
||||||
|
# For fifo 'source' will be the path to fifo-file.
|
||||||
|
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||||
|
#
|
||||||
|
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
|
||||||
|
# README.md contains further information on how to setup CAVA for sndio.
|
||||||
|
#
|
||||||
|
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
|
||||||
|
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
|
||||||
|
#
|
||||||
|
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
|
||||||
|
# README.md contains further information on how to setup CAVA for JACK.
|
||||||
|
#
|
||||||
|
; method = pulse
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = pipewire
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = alsa
|
||||||
|
; source = hw:Loopback,1
|
||||||
|
|
||||||
|
; method = fifo
|
||||||
|
; source = /tmp/mpd.fifo
|
||||||
|
|
||||||
|
; method = shmem
|
||||||
|
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||||
|
|
||||||
|
; method = portaudio
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = sndio
|
||||||
|
; source = default
|
||||||
|
|
||||||
|
; method = oss
|
||||||
|
; source = /dev/dsp
|
||||||
|
|
||||||
|
; method = jack
|
||||||
|
; source = default
|
||||||
|
|
||||||
|
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
|
||||||
|
# sample_rate: fifo, pipewire, sndio, oss
|
||||||
|
# sample_bits: fifo, pipewire, sndio, oss
|
||||||
|
# channels: sndio, oss, jack
|
||||||
|
# autoconnect: jack
|
||||||
|
# Other methods ignore these settings.
|
||||||
|
#
|
||||||
|
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
|
||||||
|
# by the chosen audio device, the device will use other supported values instead.
|
||||||
|
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
|
||||||
|
# will use 44100, 16 and 1.
|
||||||
|
#
|
||||||
|
; sample_rate = 44100
|
||||||
|
; sample_bits = 16
|
||||||
|
; channels = 2
|
||||||
|
; autoconnect = 2
|
||||||
|
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
|
||||||
|
# or 'sdl_glsl'.
|
||||||
|
# 'noncurses' (default) uses a buffer and cursor movements to only print
|
||||||
|
# changes from frame to frame in the terminal. Uses less resources and is less
|
||||||
|
# prone to tearing (vsync issues) than 'ncurses'.
|
||||||
|
#
|
||||||
|
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||||
|
# stream of the bar heights that can be used to send to other applications.
|
||||||
|
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||||
|
#
|
||||||
|
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
|
||||||
|
# in graphic mode. It only support the 3000 series graphical VFDs for now.
|
||||||
|
#
|
||||||
|
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
|
||||||
|
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
|
||||||
|
# use one of the predefined ones.
|
||||||
|
; method = noncurses
|
||||||
|
|
||||||
|
# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
|
||||||
|
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
|
||||||
|
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
|
||||||
|
# which can make ncurses not look right.
|
||||||
|
; orientation = bottom
|
||||||
|
|
||||||
|
# Visual channels. Can be 'stereo' or 'mono'.
|
||||||
|
# 'stereo' mirrors both channels with low frequencies in center.
|
||||||
|
# 'mono' outputs left to right lowest to highest frequencies.
|
||||||
|
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||||
|
# set 'reverse' to 1 to display frequencies the other way around.
|
||||||
|
; channels = stereo
|
||||||
|
; mono_option = average
|
||||||
|
; reverse = 0
|
||||||
|
|
||||||
|
# Raw output target. A fifo will be created if target does not exist.
|
||||||
|
; raw_target = /dev/stdout
|
||||||
|
|
||||||
|
# Raw data format. Can be 'binary' or 'ascii'.
|
||||||
|
; data_format = binary
|
||||||
|
|
||||||
|
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||||
|
; bit_format = 16bit
|
||||||
|
|
||||||
|
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||||
|
; ascii_max_range = 1000
|
||||||
|
|
||||||
|
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||||
|
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||||
|
; bar_delimiter = 59
|
||||||
|
; frame_delimiter = 10
|
||||||
|
|
||||||
|
# sdl window size and position. -1,-1 is centered.
|
||||||
|
; sdl_width = 1000
|
||||||
|
; sdl_height = 500
|
||||||
|
; sdl_x = -1
|
||||||
|
; sdl_y= -1
|
||||||
|
; sdl_full_screen = 0
|
||||||
|
|
||||||
|
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
|
||||||
|
# 'frequency' displays the lower cut off frequency of the bar above.
|
||||||
|
# Only supported on ncurses and noncurses output.
|
||||||
|
; xaxis = none
|
||||||
|
|
||||||
|
# enable alacritty synchronized updates. 1 = on, 0 = off
|
||||||
|
# removes flickering in alacritty terminal emulator.
|
||||||
|
# defaults to off since the behaviour in other terminal emulators is unknown
|
||||||
|
; alacritty_sync = 0
|
||||||
|
|
||||||
|
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
|
||||||
|
; vertex_shader = pass_through.vert
|
||||||
|
; fragment_shader = bar_spectrum.frag
|
||||||
|
|
||||||
|
; for glsl output mode, keep rendering even if no audio
|
||||||
|
; continuous_rendering = 0
|
||||||
|
|
||||||
|
# disable console blank (screen saver) in tty
|
||||||
|
# (Not supported on FreeBSD)
|
||||||
|
; disable_blanking = 0
|
||||||
|
|
||||||
|
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
|
||||||
|
; show_idle_bar_heads = 1
|
||||||
|
|
||||||
|
# show waveform instead of frequency spectrum, 1 = on, 0 = off
|
||||||
|
; waveform = 0
|
||||||
|
|
||||||
|
[color]
|
||||||
|
theme = "noctalia"
|
||||||
|
|
||||||
|
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||||
|
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||||
|
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||||
|
# default is to keep current terminal color
|
||||||
|
; background = default
|
||||||
|
; foreground = default
|
||||||
|
|
||||||
|
# SDL and sdl_glsl only support hex code colors, these are the default:
|
||||||
|
; background = '#111111'
|
||||||
|
; foreground = '#33ffff'
|
||||||
|
|
||||||
|
|
||||||
|
# Gradient mode, only hex defined colors are supported,
|
||||||
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
|
; gradient = 0
|
||||||
|
; gradient_count = 8
|
||||||
|
; gradient_color_1 = '#59cc33'
|
||||||
|
; gradient_color_2 = '#80cc33'
|
||||||
|
; gradient_color_3 = '#a6cc33'
|
||||||
|
; gradient_color_4 = '#cccc33'
|
||||||
|
; gradient_color_5 = '#cca633'
|
||||||
|
; gradient_color_6 = '#cc8033'
|
||||||
|
; gradient_color_7 = '#cc5933'
|
||||||
|
; gradient_color_8 = '#cc3333'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[smoothing]
|
||||||
|
|
||||||
|
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||||
|
# Higher values means smoother, but less precise. 0 to disable.
|
||||||
|
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||||
|
; integral = 77
|
||||||
|
|
||||||
|
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||||
|
; monstercat = 0
|
||||||
|
; waves = 0
|
||||||
|
|
||||||
|
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||||
|
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||||
|
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||||
|
; gravity = 100
|
||||||
|
|
||||||
|
|
||||||
|
# In bar height, bars that would have been lower that this will not be drawn.
|
||||||
|
# DEPRECATED as of 0.8.0
|
||||||
|
; ignore = 0
|
||||||
|
|
||||||
|
# Noise reduction, int 0 - 100. default 77
|
||||||
|
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
|
||||||
|
# 100 will be very slow and smooth, 0 will be fast but noisy.
|
||||||
|
; noise_reduction = 77
|
||||||
|
|
||||||
|
|
||||||
|
[eq]
|
||||||
|
|
||||||
|
# This one is tricky. You can have as much keys as you want.
|
||||||
|
# Remember to uncomment more than one key! More keys = more precision.
|
||||||
|
# Look at readme.md on github for further explanations and examples.
|
||||||
|
; 1 = 1 # bass
|
||||||
|
; 2 = 1
|
||||||
|
; 3 = 1 # midtone
|
||||||
|
; 4 = 1
|
||||||
|
; 5 = 1 # treble
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
custom/*.lua
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"workspace": {
|
||||||
|
"library": [
|
||||||
|
"/usr/share/hypr/stubs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"diagnostics": {
|
||||||
|
"globals": ["hl"]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-- Machine-specific autostart. Loaded after hyprland/autostart.lua.
|
||||||
|
-- Usage: cp autostart.example autostart.lua (autostart.lua is ignored by git)
|
||||||
|
-- https://wiki.hypr.land/Configuring/Autostart/
|
||||||
|
|
||||||
|
-- hl.on("hyprland.start", function()
|
||||||
|
-- hl.exec_cmd("some-program")
|
||||||
|
-- end)
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Machine-specific environment variables. Loaded after hyprland/environments.lua.
|
||||||
|
-- https://wiki.hypr.land/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
-- hl.env("XCURSOR_SIZE", "24")
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Machine-specific input config (kb_layout, per-device, gestures).
|
||||||
|
-- https://wiki.hypr.land/Configuring/Variables/#input
|
||||||
|
|
||||||
|
-- hl.device({ name = "my-mouse-name", sensitivity = -0.5 })
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Machine-specific keybinds.
|
||||||
|
-- https://wiki.hypr.land/Configuring/Binds/
|
||||||
|
|
||||||
|
-- hl.bind("SUPER + B", hl.dsp.exec_cmd("firefox"))
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
-- Machine-specific monitors.
|
||||||
|
-- https://wiki.hypr.land/Configuring/Monitors/
|
||||||
|
|
||||||
|
-- hl.monitor({ output = "eDP-1", mode = "1920x1080@60", position = "auto", scale = 1 })
|
||||||
|
-- hl.monitor({ output = "DP-1", mode = "2560x1440@144", position = "auto", scale = 1, vrr = 1 })
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Machine-specific window rules
|
||||||
|
-- https://wiki.hypr.land/Configuring/Window-Rules/
|
||||||
|
|
||||||
|
-- Uncomment these lines to enable the ones you want on this machine:
|
||||||
|
-- require("custom/windowrules/godot")
|
||||||
|
-- require("custom/windowrules/signal")
|
||||||
|
-- require("custom/windowrules/telegram")
|
||||||
|
-- require("custom/windowrules/zen")
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
-- Godot application windowrules --
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Resize Godot confirmation dialogs",
|
||||||
|
match = {
|
||||||
|
class = "org.godotengine.Editor",
|
||||||
|
float = true,
|
||||||
|
},
|
||||||
|
size = { "monitor_w * 0.15", "monitor_h * 0.1" },
|
||||||
|
center = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Resize New node dialog",
|
||||||
|
match = {
|
||||||
|
class = "org.godotengine.Editor",
|
||||||
|
title = "Créer un nouveau Node",
|
||||||
|
},
|
||||||
|
size = { 1000, 750 },
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Resize Region edit dialog",
|
||||||
|
match = {
|
||||||
|
class = "org.godotengine.Editor",
|
||||||
|
title = "Éditeur de régions",
|
||||||
|
},
|
||||||
|
size = { 1500, 1000 },
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Resize Region edit dialog",
|
||||||
|
match = {
|
||||||
|
class = "org.godotengine.Editor",
|
||||||
|
title = "Sélectionner une scène",
|
||||||
|
},
|
||||||
|
size = { 550, 450 },
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Floating DEBUG window",
|
||||||
|
match = {
|
||||||
|
class = "org.godotengine.Editor",
|
||||||
|
title = ".*DEBUG.*",
|
||||||
|
},
|
||||||
|
size = { 1280, 720 },
|
||||||
|
float = true,
|
||||||
|
center = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Signal application windowrules --
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Floating Signal",
|
||||||
|
match = { class = "signal" },
|
||||||
|
size = "425 790",
|
||||||
|
move = "(monitor_w*0.72) (monitor_h*0.15)",
|
||||||
|
float = true,
|
||||||
|
pin = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Telegram application windowrules --
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Floating Telegram",
|
||||||
|
match = { class = "org.telegram.desktop" },
|
||||||
|
size = "425 790",
|
||||||
|
move = "(monitor_w*0.72) (monitor_h*0.15)",
|
||||||
|
float = true,
|
||||||
|
pin = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- Zen browser windowrules --
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "Zen Picture-in-Picture",
|
||||||
|
match = { class = "zen", title = "Picture-in-Picture" },
|
||||||
|
center = true,
|
||||||
|
size = "1280 720",
|
||||||
|
float = true,
|
||||||
|
pin = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Machine-specific workspace rules.
|
||||||
|
-- https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||||
|
|
||||||
|
-- hl.workspace_rule({ workspace = "1", monitor = "eDP-1", persistent = true, default_name = "web" })
|
||||||
|
|
||||||
|
-- vim: ft=lua
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
-- ##############################################################
|
||||||
|
-- MY SUPER HYPRLAND CONFIG.
|
||||||
|
-- https://wiki.hypr.land/Configuring/
|
||||||
|
-- ##############################################################
|
||||||
|
|
||||||
|
-- Load a module only if its file exists.
|
||||||
|
local function optional(module)
|
||||||
|
if package.searchpath(module, package.path) then
|
||||||
|
require(module)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Defaults (do not edit) --
|
||||||
|
require("hyprland/monitors")
|
||||||
|
require("hyprland/environments")
|
||||||
|
require("hyprland/autostart")
|
||||||
|
require("hyprland/permissions")
|
||||||
|
require("hyprland/look-and-feel")
|
||||||
|
require("hyprland/inputs")
|
||||||
|
require("hyprland/keybinds")
|
||||||
|
require("hyprland/windowrules")
|
||||||
|
|
||||||
|
-- Custom --
|
||||||
|
optional("custom/autostart")
|
||||||
|
optional("custom/monitors")
|
||||||
|
optional("custom/environments")
|
||||||
|
optional("custom/inputs")
|
||||||
|
optional("custom/keybinds")
|
||||||
|
optional("custom/windowrules")
|
||||||
|
optional("custom/workspacerules")
|
||||||
|
|
||||||
|
-- For Noctalia Color templates
|
||||||
|
require("noctalia").apply_theme()
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Autostart/
|
||||||
|
-- Shared defaults — do not edit. Add user-specific autostart in custom/autostart.lua.
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
hl.exec_cmd("noctalia")
|
||||||
|
end)
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Environment-variables/
|
||||||
|
-- Shared defaults — do not edit. Add user-specific env vars in custom/environments.lua.
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Variables/#input
|
||||||
|
-- Shared defaults — do not edit. Add user-specific input config in custom/inputs.lua.
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "fr",
|
||||||
|
kb_variant = "",
|
||||||
|
kb_model = "",
|
||||||
|
kb_options = "",
|
||||||
|
kb_rules = "",
|
||||||
|
numlock_by_default = true,
|
||||||
|
follow_mouse = 1,
|
||||||
|
sensitivity = 0,
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- https://wiki.hypr.land/Configuring/Gestures
|
||||||
|
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Binds/
|
||||||
|
-- Shared defaults — do not edit. Add user-specific keybindings in custom/keybinds.lua.
|
||||||
|
|
||||||
|
local mainMod = "SUPER"
|
||||||
|
local terminal = "kitty"
|
||||||
|
local fileMgr = "nautilus"
|
||||||
|
local ipc = "noctalia msg"
|
||||||
|
|
||||||
|
hl.bind("CTRL + ALT + T", hl.dsp.exec_cmd(terminal))
|
||||||
|
hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
||||||
|
hl.bind(mainMod .. " + M", hl.dsp.exit())
|
||||||
|
hl.bind(mainMod .. " + F", hl.dsp.exec_cmd(fileMgr))
|
||||||
|
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + F", hl.dsp.window.fullscreen({ mode = "fullscreen", state = "toggle" }))
|
||||||
|
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
|
||||||
|
hl.bind(mainMod .. " + U", hl.dsp.layout("togglesplit"))
|
||||||
|
hl.bind(mainMod .. " + H", hl.dsp.layout("swapsplit"))
|
||||||
|
|
||||||
|
-- Focus: arrow keys + IJKL
|
||||||
|
for _, m in ipairs({
|
||||||
|
{ "left", "l" },
|
||||||
|
{ "right", "r" },
|
||||||
|
{ "up", "u" },
|
||||||
|
{ "down", "d" },
|
||||||
|
{ "J", "l" },
|
||||||
|
{ "L", "r" },
|
||||||
|
{ "I", "u" },
|
||||||
|
{ "K", "d" },
|
||||||
|
}) do
|
||||||
|
hl.bind(mainMod .. " + " .. m[1], hl.dsp.focus({ direction = m[2] }))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Workspaces 1..10: digit + AZERTY keysym, plus SHIFT to move active window
|
||||||
|
local azerty = {
|
||||||
|
"ampersand",
|
||||||
|
"eacute",
|
||||||
|
"quotedbl",
|
||||||
|
"apostrophe",
|
||||||
|
"parenleft",
|
||||||
|
"minus",
|
||||||
|
"egrave",
|
||||||
|
"underscore",
|
||||||
|
"ccedilla",
|
||||||
|
"agrave",
|
||||||
|
}
|
||||||
|
for i = 1, 10 do
|
||||||
|
local digit = (i == 10) and "0" or tostring(i)
|
||||||
|
hl.bind(mainMod .. " + " .. digit, hl.dsp.focus({ workspace = i }))
|
||||||
|
hl.bind(mainMod .. " + " .. azerty[i], hl.dsp.focus({ workspace = i }))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + " .. azerty[i], hl.dsp.window.move({ workspace = i }))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Mouse scroll between workspaces
|
||||||
|
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- Mouse drag / resize
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
|
|
||||||
|
-- Volume / brightness
|
||||||
|
for _, b in ipairs({
|
||||||
|
{ "XF86AudioRaiseVolume", "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" },
|
||||||
|
{ "XF86AudioLowerVolume", "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" },
|
||||||
|
{ "XF86AudioMute", "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" },
|
||||||
|
{ "XF86AudioMicMute", "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" },
|
||||||
|
{ "XF86MonBrightnessUp", "brightnessctl -e4 -n2 set 5%+" },
|
||||||
|
{ "XF86MonBrightnessDown", "brightnessctl -e4 -n2 set 5%-" },
|
||||||
|
}) do
|
||||||
|
hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true, repeating = true })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Media player
|
||||||
|
for _, b in ipairs({
|
||||||
|
{ "XF86AudioNext", "playerctl next" },
|
||||||
|
{ "XF86AudioPause", "playerctl play-pause" },
|
||||||
|
{ "XF86AudioPlay", "playerctl play-pause" },
|
||||||
|
{ "XF86AudioPrev", "playerctl previous" },
|
||||||
|
}) do
|
||||||
|
hl.bind(b[1], hl.dsp.exec_cmd(b[2]), { locked = true })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Screenshot
|
||||||
|
-- hl.bind("Print", hl.dsp.exec_cmd("hyprshot -m region"), { locked = true })
|
||||||
|
-- hl.bind("CTRL + Print", hl.dsp.exec_cmd("hyprshot -m output -m active"), { locked = true })
|
||||||
|
|
||||||
|
hl.bind("XF86Calculator", hl.dsp.exec_cmd("gnome-calculator"))
|
||||||
|
|
||||||
|
-- Noctalia IPC
|
||||||
|
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd(ipc .. " panel-toggle launcher"))
|
||||||
|
hl.bind(mainMod .. " + S", hl.dsp.exec_cmd(ipc .. " panel-toggle control-center"))
|
||||||
|
hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(ipc .. " theme-mode-toggle"))
|
||||||
|
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(ipc .. " panel-toggle noctalia/wallhaven:browser"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + L", hl.dsp.exec_cmd(ipc .. " session lock"))
|
||||||
|
hl.bind("switch:Lid Switch", hl.dsp.exec_cmd(ipc .. " session lock"), { locked = true })
|
||||||
|
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(ipc .. " plugin noctalia/screen_recorder:service all toggle"))
|
||||||
|
hl.bind("Print", hl.dsp.exec_cmd(ipc .. " screenshot-region"), { locked = true })
|
||||||
|
hl.bind("CTRL + Print", hl.dsp.exec_cmd(ipc .. " screenshot-fullscreen pick"))
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Variables/
|
||||||
|
-- Shared defaults — do not edit. No custom/look-and-feel.lua override exists; add one if needed.
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
gaps_in = 5,
|
||||||
|
gaps_out = 10,
|
||||||
|
border_size = 2,
|
||||||
|
col = {
|
||||||
|
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||||
|
inactive_border = "rgba(595959aa)",
|
||||||
|
},
|
||||||
|
resize_on_border = false,
|
||||||
|
allow_tearing = false,
|
||||||
|
layout = "dwindle",
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 12,
|
||||||
|
rounding_power = 2,
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 1.0,
|
||||||
|
shadow = {
|
||||||
|
enabled = true,
|
||||||
|
range = 30,
|
||||||
|
render_power = 5,
|
||||||
|
offset = "0 5",
|
||||||
|
color = "rgba(00000070)",
|
||||||
|
},
|
||||||
|
blur = {
|
||||||
|
enabled = false,
|
||||||
|
size = 3,
|
||||||
|
passes = 1,
|
||||||
|
vibrancy = 0.1696,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
mfact = 0.5,
|
||||||
|
},
|
||||||
|
|
||||||
|
scrolling = {
|
||||||
|
fullscreen_on_one_column = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_splash_rendering = true,
|
||||||
|
force_default_wallpaper = 0,
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Default curves and animations. See https://wiki.hypr.land/Configuring/Animations/
|
||||||
|
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||||
|
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||||
|
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||||
|
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||||
|
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||||
|
hl.curve("easy", { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||||
|
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Monitors/
|
||||||
|
-- Shared defaults — do not edit. Add user-specific monitor config in custom/monitors.lua.
|
||||||
|
|
||||||
|
hl.monitor({ output = "", mode = "preferred", position = "auto", scale = "auto" })
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Permissions/
|
||||||
|
-- Shared defaults — do not edit. No custom/permissions.lua override exists; add one if needed.
|
||||||
|
-- Permission changes require a Hyprland restart, not a reload.
|
||||||
|
|
||||||
|
-- hl.config({ ecosystem = { enforce_permissions = 1 } })
|
||||||
|
|
||||||
|
-- hl.permission({ path = "/usr/(bin|local/bin)/grim", capability = "screencopy", action = "allow" })
|
||||||
|
-- hl.permission({ path = "/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", capability = "screencopy", action = "allow" })
|
||||||
|
-- hl.permission({ path = "/usr/(bin|local/bin)/hyprpm", capability = "plugin", action = "allow" })
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
-- https://wiki.hypr.land/Configuring/Window-Rules/
|
||||||
|
-- Shared defaults — do not edit. Add user-specific window rules in custom/windowrules.lua.
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "floating-window",
|
||||||
|
match = { class = "(Imprimer l'image|org.gnome.Calculator|org.gnome.Loupe)" },
|
||||||
|
float = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "kitty-term",
|
||||||
|
match = { class = "kitty" },
|
||||||
|
size = "995 600",
|
||||||
|
float = true,
|
||||||
|
center = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "filesystems",
|
||||||
|
match = { class = "DevTools|Tous les fichiers|org.gnome.Nautilus" },
|
||||||
|
float = true,
|
||||||
|
center = true,
|
||||||
|
size = "(monitor_w*0.48) (monitor_h*0.5)",
|
||||||
|
})
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
font_family FiraCode Nerd Font
|
||||||
|
bold_font auto
|
||||||
|
italic_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
font_size 12.0
|
||||||
|
|
||||||
|
window_padding_width 4
|
||||||
|
|
||||||
|
enable_audio_bell = no
|
||||||
|
remember_window_size no
|
||||||
|
cursor_trail 10
|
||||||
|
|
||||||
|
tab_bar_min_tabs 1
|
||||||
|
tab_bar_edge bottom
|
||||||
|
tab_bar_style powerline
|
||||||
|
tab_powerline_style slanted
|
||||||
|
|
||||||
|
# OS Window titlebar colors
|
||||||
|
# wayland_titlebar_color system
|
||||||
|
# macos_titlebar_color system
|
||||||
|
|
||||||
|
include themes/noctalia.conf
|
||||||
@@ -0,0 +1,174 @@
|
|||||||
|
# vim:ft=dircolors
|
||||||
|
# (This is not a dircolors file but it helps to highlight colors and comments)
|
||||||
|
|
||||||
|
# default values from dircolors
|
||||||
|
# (entries with a leading # are not implemented in lf)
|
||||||
|
# #no 00 # NORMAL
|
||||||
|
# fi 00 # FILE
|
||||||
|
# #rs 0 # RESET
|
||||||
|
# di 01;34 # DIR
|
||||||
|
# ln 01;36 # LINK
|
||||||
|
# #mh 00 # MULTIHARDLINK
|
||||||
|
# pi 40;33 # FIFO
|
||||||
|
# so 01;35 # SOCK
|
||||||
|
# #do 01;35 # DOOR
|
||||||
|
# bd 40;33;01 # BLK
|
||||||
|
# cd 40;33;01 # CHR
|
||||||
|
# or 40;31;01 # ORPHAN
|
||||||
|
# #mi 00 # MISSING
|
||||||
|
# su 37;41 # SETUID
|
||||||
|
# sg 30;43 # SETGID
|
||||||
|
# #ca 30;41 # CAPABILITY
|
||||||
|
# tw 30;42 # STICKY_OTHER_WRITABLE
|
||||||
|
# ow 34;42 # OTHER_WRITABLE
|
||||||
|
# st 37;44 # STICKY
|
||||||
|
# ex 01;32 # EXEC
|
||||||
|
|
||||||
|
# default values from lf (with matching order)
|
||||||
|
# ln 01;36 # LINK
|
||||||
|
# or 31;01 # ORPHAN
|
||||||
|
# tw 01;34 # STICKY_OTHER_WRITABLE
|
||||||
|
# ow 01;34 # OTHER_WRITABLE
|
||||||
|
# st 01;34 # STICKY
|
||||||
|
# di 01;34 # DIR
|
||||||
|
# pi 33 # FIFO
|
||||||
|
# so 01;35 # SOCK
|
||||||
|
# bd 33;01 # BLK
|
||||||
|
# cd 33;01 # CHR
|
||||||
|
# su 01;32 # SETUID
|
||||||
|
# sg 01;32 # SETGID
|
||||||
|
# ex 01;32 # EXEC
|
||||||
|
# fi 00 # FILE
|
||||||
|
|
||||||
|
# file types (with matching order)
|
||||||
|
ln 01;36 # LINK
|
||||||
|
or 31;01 # ORPHAN
|
||||||
|
tw 34 # STICKY_OTHER_WRITABLE
|
||||||
|
ow 34 # OTHER_WRITABLE
|
||||||
|
st 01;34 # STICKY
|
||||||
|
di 01;34 # DIR
|
||||||
|
pi 33 # FIFO
|
||||||
|
so 01;35 # SOCK
|
||||||
|
bd 33;01 # BLK
|
||||||
|
cd 33;01 # CHR
|
||||||
|
su 01;32 # SETUID
|
||||||
|
sg 01;32 # SETGID
|
||||||
|
ex 01;32 # EXEC
|
||||||
|
fi 00 # FILE
|
||||||
|
|
||||||
|
# archives or compressed (dircolors defaults)
|
||||||
|
*.tar 01;31
|
||||||
|
*.tgz 01;31
|
||||||
|
*.arc 01;31
|
||||||
|
*.arj 01;31
|
||||||
|
*.taz 01;31
|
||||||
|
*.lha 01;31
|
||||||
|
*.lz4 01;31
|
||||||
|
*.lzh 01;31
|
||||||
|
*.lzma 01;31
|
||||||
|
*.tlz 01;31
|
||||||
|
*.txz 01;31
|
||||||
|
*.tzo 01;31
|
||||||
|
*.t7z 01;31
|
||||||
|
*.zip 01;31
|
||||||
|
*.z 01;31
|
||||||
|
*.dz 01;31
|
||||||
|
*.gz 01;31
|
||||||
|
*.lrz 01;31
|
||||||
|
*.lz 01;31
|
||||||
|
*.lzo 01;31
|
||||||
|
*.xz 01;31
|
||||||
|
*.zst 01;31
|
||||||
|
*.tzst 01;31
|
||||||
|
*.bz2 01;31
|
||||||
|
*.bz 01;31
|
||||||
|
*.tbz 01;31
|
||||||
|
*.tbz2 01;31
|
||||||
|
*.tz 01;31
|
||||||
|
*.deb 01;31
|
||||||
|
*.rpm 01;31
|
||||||
|
*.jar 01;31
|
||||||
|
*.war 01;31
|
||||||
|
*.ear 01;31
|
||||||
|
*.sar 01;31
|
||||||
|
*.rar 01;31
|
||||||
|
*.alz 01;31
|
||||||
|
*.ace 01;31
|
||||||
|
*.zoo 01;31
|
||||||
|
*.cpio 01;31
|
||||||
|
*.7z 01;31
|
||||||
|
*.rz 01;31
|
||||||
|
*.cab 01;31
|
||||||
|
*.wim 01;31
|
||||||
|
*.swm 01;31
|
||||||
|
*.dwm 01;31
|
||||||
|
*.esd 01;31
|
||||||
|
|
||||||
|
# image formats (dircolors defaults)
|
||||||
|
*.jpg 01;35
|
||||||
|
*.jpeg 01;35
|
||||||
|
*.mjpg 01;35
|
||||||
|
*.mjpeg 01;35
|
||||||
|
*.gif 01;35
|
||||||
|
*.bmp 01;35
|
||||||
|
*.pbm 01;35
|
||||||
|
*.pgm 01;35
|
||||||
|
*.ppm 01;35
|
||||||
|
*.tga 01;35
|
||||||
|
*.xbm 01;35
|
||||||
|
*.xpm 01;35
|
||||||
|
*.tif 01;35
|
||||||
|
*.tiff 01;35
|
||||||
|
*.png 01;35
|
||||||
|
*.svg 01;35
|
||||||
|
*.svgz 01;35
|
||||||
|
*.mng 01;35
|
||||||
|
*.pcx 01;35
|
||||||
|
*.mov 01;35
|
||||||
|
*.mpg 01;35
|
||||||
|
*.mpeg 01;35
|
||||||
|
*.m2v 01;35
|
||||||
|
*.mkv 01;35
|
||||||
|
*.webm 01;35
|
||||||
|
*.ogm 01;35
|
||||||
|
*.mp4 01;35
|
||||||
|
*.m4v 01;35
|
||||||
|
*.mp4v 01;35
|
||||||
|
*.vob 01;35
|
||||||
|
*.qt 01;35
|
||||||
|
*.nuv 01;35
|
||||||
|
*.wmv 01;35
|
||||||
|
*.asf 01;35
|
||||||
|
*.rm 01;35
|
||||||
|
*.rmvb 01;35
|
||||||
|
*.flc 01;35
|
||||||
|
*.avi 01;35
|
||||||
|
*.fli 01;35
|
||||||
|
*.flv 01;35
|
||||||
|
*.gl 01;35
|
||||||
|
*.dl 01;35
|
||||||
|
*.xcf 01;35
|
||||||
|
*.xwd 01;35
|
||||||
|
*.yuv 01;35
|
||||||
|
*.cgm 01;35
|
||||||
|
*.emf 01;35
|
||||||
|
*.ogv 01;35
|
||||||
|
*.ogx 01;35
|
||||||
|
|
||||||
|
# audio formats (dircolors defaults)
|
||||||
|
*.aac 00;36
|
||||||
|
*.au 00;36
|
||||||
|
*.flac 00;36
|
||||||
|
*.m4a 00;36
|
||||||
|
*.mid 00;36
|
||||||
|
*.midi 00;36
|
||||||
|
*.mka 00;36
|
||||||
|
*.mp3 00;36
|
||||||
|
*.mpc 00;36
|
||||||
|
*.ogg 00;36
|
||||||
|
*.ra 00;36
|
||||||
|
*.wav 00;36
|
||||||
|
*.oga 00;36
|
||||||
|
*.opus 00;36
|
||||||
|
*.spx 00;36
|
||||||
|
*.xspf 00;36
|
||||||
@@ -0,0 +1,377 @@
|
|||||||
|
# vim:ft=conf
|
||||||
|
|
||||||
|
# These examples require Nerd Fonts or a compatible font to be used.
|
||||||
|
# See https://www.nerdfonts.com for more information.
|
||||||
|
|
||||||
|
# default values from lf (with matching order)
|
||||||
|
# ln l # LINK
|
||||||
|
# or l # ORPHAN
|
||||||
|
# tw t # STICKY_OTHER_WRITABLE
|
||||||
|
# ow d # OTHER_WRITABLE
|
||||||
|
# st t # STICKY
|
||||||
|
# di d # DIR
|
||||||
|
# pi p # FIFO
|
||||||
|
# so s # SOCK
|
||||||
|
# bd b # BLK
|
||||||
|
# cd c # CHR
|
||||||
|
# su u # SETUID
|
||||||
|
# sg g # SETGID
|
||||||
|
# ex x # EXEC
|
||||||
|
# fi - # FILE
|
||||||
|
|
||||||
|
# file types (with matching order)
|
||||||
|
ln # LINK
|
||||||
|
or # ORPHAN
|
||||||
|
tw t # STICKY_OTHER_WRITABLE
|
||||||
|
ow # OTHER_WRITABLE
|
||||||
|
st t # STICKY
|
||||||
|
di # DIR
|
||||||
|
pi p # FIFO
|
||||||
|
so s # SOCK
|
||||||
|
bd b # BLK
|
||||||
|
cd c # CHR
|
||||||
|
su u # SETUID
|
||||||
|
sg g # SETGID
|
||||||
|
ex # EXEC
|
||||||
|
fi # FILE
|
||||||
|
|
||||||
|
# disable some default filetype icons, let them choose icon by filename
|
||||||
|
# ln # LINK
|
||||||
|
# or # ORPHAN
|
||||||
|
# tw # STICKY_OTHER_WRITABLE
|
||||||
|
# ow # OTHER_WRITABLE
|
||||||
|
# st # STICKY
|
||||||
|
# di # DIR
|
||||||
|
# pi # FIFO
|
||||||
|
# so # SOCK
|
||||||
|
# bd # BLK
|
||||||
|
# cd # CHR
|
||||||
|
# su # SETUID
|
||||||
|
# sg # SETGID
|
||||||
|
# ex # EXEC
|
||||||
|
# fi # FILE
|
||||||
|
|
||||||
|
# file extensions (vim-devicons)
|
||||||
|
*.styl
|
||||||
|
*.sass
|
||||||
|
*.scss
|
||||||
|
*.htm
|
||||||
|
*.html
|
||||||
|
*.slim
|
||||||
|
*.haml
|
||||||
|
*.ejs
|
||||||
|
*.css
|
||||||
|
*.less
|
||||||
|
*.md
|
||||||
|
*.mdx
|
||||||
|
*.markdown
|
||||||
|
*.rmd
|
||||||
|
*.json
|
||||||
|
*.webmanifest
|
||||||
|
*.js
|
||||||
|
*.mjs
|
||||||
|
*.jsx
|
||||||
|
*.rb
|
||||||
|
*.gemspec
|
||||||
|
*.rake
|
||||||
|
*.php
|
||||||
|
*.py
|
||||||
|
*.pyc
|
||||||
|
*.pyo
|
||||||
|
*.pyd
|
||||||
|
*.coffee
|
||||||
|
*.mustache
|
||||||
|
*.hbs
|
||||||
|
*.conf
|
||||||
|
*.ini
|
||||||
|
*.yml
|
||||||
|
*.yaml
|
||||||
|
*.toml
|
||||||
|
*.bat
|
||||||
|
*.mk
|
||||||
|
*.jpg
|
||||||
|
*.jpeg
|
||||||
|
*.bmp
|
||||||
|
*.png
|
||||||
|
*.webp
|
||||||
|
*.gif
|
||||||
|
*.ico
|
||||||
|
*.twig
|
||||||
|
*.cpp
|
||||||
|
*.c++
|
||||||
|
*.cxx
|
||||||
|
*.cc
|
||||||
|
*.cp
|
||||||
|
*.c
|
||||||
|
*.cs
|
||||||
|
*.h
|
||||||
|
*.hh
|
||||||
|
*.hpp
|
||||||
|
*.hxx
|
||||||
|
*.hs
|
||||||
|
*.lhs
|
||||||
|
*.nix
|
||||||
|
*.lua
|
||||||
|
*.java
|
||||||
|
*.sh
|
||||||
|
*.fish
|
||||||
|
*.bash
|
||||||
|
*.zsh
|
||||||
|
*.ksh
|
||||||
|
*.csh
|
||||||
|
*.awk
|
||||||
|
*.ps1
|
||||||
|
*.ml λ
|
||||||
|
*.mli λ
|
||||||
|
*.diff
|
||||||
|
*.db
|
||||||
|
*.sql
|
||||||
|
*.dump
|
||||||
|
*.clj
|
||||||
|
*.cljc
|
||||||
|
*.cljs
|
||||||
|
*.edn
|
||||||
|
*.scala
|
||||||
|
*.go
|
||||||
|
*.dart
|
||||||
|
*.xul
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.pl
|
||||||
|
*.pm
|
||||||
|
*.t
|
||||||
|
*.rss
|
||||||
|
'*.f#'
|
||||||
|
*.fsscript
|
||||||
|
*.fsx
|
||||||
|
*.fs
|
||||||
|
*.fsi
|
||||||
|
*.rs
|
||||||
|
*.rlib
|
||||||
|
*.d
|
||||||
|
*.erl
|
||||||
|
*.hrl
|
||||||
|
*.ex
|
||||||
|
*.exs
|
||||||
|
*.eex
|
||||||
|
*.leex
|
||||||
|
*.heex
|
||||||
|
*.vim
|
||||||
|
*.ai
|
||||||
|
*.psd
|
||||||
|
*.psb
|
||||||
|
*.ts
|
||||||
|
*.tsx
|
||||||
|
*.jl
|
||||||
|
*.pp
|
||||||
|
*.vue
|
||||||
|
*.elm
|
||||||
|
*.swift
|
||||||
|
*.xcplayground
|
||||||
|
*.tex
|
||||||
|
*.r
|
||||||
|
*.rproj
|
||||||
|
*.sol
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# file names (vim-devicons) (case-insensitive not supported in lf)
|
||||||
|
*gruntfile.coffee
|
||||||
|
*gruntfile.js
|
||||||
|
*gruntfile.ls
|
||||||
|
*gulpfile.coffee
|
||||||
|
*gulpfile.js
|
||||||
|
*gulpfile.ls
|
||||||
|
*mix.lock
|
||||||
|
*dropbox
|
||||||
|
*.ds_store
|
||||||
|
*.gitconfig
|
||||||
|
*.gitignore
|
||||||
|
*.gitattributes
|
||||||
|
*.gitlab-ci.yml
|
||||||
|
*.bashrc
|
||||||
|
*.zshrc
|
||||||
|
*.zshenv
|
||||||
|
*.zprofile
|
||||||
|
*.vimrc
|
||||||
|
*.gvimrc
|
||||||
|
*_vimrc
|
||||||
|
*_gvimrc
|
||||||
|
*.bashprofile
|
||||||
|
*favicon.ico
|
||||||
|
*license
|
||||||
|
*node_modules
|
||||||
|
*react.jsx
|
||||||
|
*procfile
|
||||||
|
*dockerfile
|
||||||
|
*docker-compose.yml
|
||||||
|
*docker-compose.yaml
|
||||||
|
*compose.yml
|
||||||
|
*compose.yaml
|
||||||
|
*rakefile
|
||||||
|
*config.ru
|
||||||
|
*gemfile
|
||||||
|
*makefile
|
||||||
|
*cmakelists.txt
|
||||||
|
*robots.txt
|
||||||
|
|
||||||
|
# file names (case-sensitive adaptations)
|
||||||
|
*Gruntfile.coffee
|
||||||
|
*Gruntfile.js
|
||||||
|
*Gruntfile.ls
|
||||||
|
*Gulpfile.coffee
|
||||||
|
*Gulpfile.js
|
||||||
|
*Gulpfile.ls
|
||||||
|
*Dropbox
|
||||||
|
*.DS_Store
|
||||||
|
*LICENSE
|
||||||
|
*React.jsx
|
||||||
|
*Procfile
|
||||||
|
*Dockerfile
|
||||||
|
*Docker-compose.yml
|
||||||
|
*Docker-compose.yaml
|
||||||
|
*Rakefile
|
||||||
|
*Gemfile
|
||||||
|
*Makefile
|
||||||
|
*CMakeLists.txt
|
||||||
|
|
||||||
|
# file patterns (vim-devicons) (patterns not supported in lf)
|
||||||
|
# .*jquery.*\.js$
|
||||||
|
# .*angular.*\.js$
|
||||||
|
# .*backbone.*\.js$
|
||||||
|
# .*require.*\.js$
|
||||||
|
# .*materialize.*\.js$
|
||||||
|
# .*materialize.*\.css$
|
||||||
|
# .*mootools.*\.js$
|
||||||
|
# .*vimrc.*
|
||||||
|
# Vagrantfile$
|
||||||
|
|
||||||
|
# file patterns (file name adaptations)
|
||||||
|
*jquery.min.js
|
||||||
|
*angular.min.js
|
||||||
|
*backbone.min.js
|
||||||
|
*require.min.js
|
||||||
|
*materialize.min.js
|
||||||
|
*materialize.min.css
|
||||||
|
*mootools.min.js
|
||||||
|
*vimrc
|
||||||
|
Vagrantfile
|
||||||
|
|
||||||
|
# archives or compressed (extensions from dircolors defaults)
|
||||||
|
*.tar
|
||||||
|
*.tgz
|
||||||
|
*.arc
|
||||||
|
*.arj
|
||||||
|
*.taz
|
||||||
|
*.lha
|
||||||
|
*.lz4
|
||||||
|
*.lzh
|
||||||
|
*.lzma
|
||||||
|
*.tlz
|
||||||
|
*.txz
|
||||||
|
*.tzo
|
||||||
|
*.t7z
|
||||||
|
*.zip
|
||||||
|
*.z
|
||||||
|
*.dz
|
||||||
|
*.gz
|
||||||
|
*.lrz
|
||||||
|
*.lz
|
||||||
|
*.lzo
|
||||||
|
*.xz
|
||||||
|
*.zst
|
||||||
|
*.tzst
|
||||||
|
*.bz2
|
||||||
|
*.bz
|
||||||
|
*.tbz
|
||||||
|
*.tbz2
|
||||||
|
*.tz
|
||||||
|
*.deb
|
||||||
|
*.rpm
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.ear
|
||||||
|
*.sar
|
||||||
|
*.rar
|
||||||
|
*.alz
|
||||||
|
*.ace
|
||||||
|
*.zoo
|
||||||
|
*.cpio
|
||||||
|
*.7z
|
||||||
|
*.rz
|
||||||
|
*.cab
|
||||||
|
*.wim
|
||||||
|
*.swm
|
||||||
|
*.dwm
|
||||||
|
*.esd
|
||||||
|
|
||||||
|
# image formats (extensions from dircolors defaults)
|
||||||
|
*.jpg
|
||||||
|
*.jpeg
|
||||||
|
*.mjpg
|
||||||
|
*.mjpeg
|
||||||
|
*.gif
|
||||||
|
*.bmp
|
||||||
|
*.pbm
|
||||||
|
*.pgm
|
||||||
|
*.ppm
|
||||||
|
*.tga
|
||||||
|
*.xbm
|
||||||
|
*.xpm
|
||||||
|
*.tif
|
||||||
|
*.tiff
|
||||||
|
*.png
|
||||||
|
*.svg
|
||||||
|
*.svgz
|
||||||
|
*.mng
|
||||||
|
*.pcx
|
||||||
|
*.mov
|
||||||
|
*.mpg
|
||||||
|
*.mpeg
|
||||||
|
*.m2v
|
||||||
|
*.mkv
|
||||||
|
*.webm
|
||||||
|
*.ogm
|
||||||
|
*.mp4
|
||||||
|
*.m4v
|
||||||
|
*.mp4v
|
||||||
|
*.vob
|
||||||
|
*.qt
|
||||||
|
*.nuv
|
||||||
|
*.wmv
|
||||||
|
*.asf
|
||||||
|
*.rm
|
||||||
|
*.rmvb
|
||||||
|
*.flc
|
||||||
|
*.avi
|
||||||
|
*.fli
|
||||||
|
*.flv
|
||||||
|
*.gl
|
||||||
|
*.dl
|
||||||
|
*.xcf
|
||||||
|
*.xwd
|
||||||
|
*.yuv
|
||||||
|
*.cgm
|
||||||
|
*.emf
|
||||||
|
*.ogv
|
||||||
|
*.ogx
|
||||||
|
|
||||||
|
# audio formats (extensions from dircolors defaults)
|
||||||
|
*.aac
|
||||||
|
*.au
|
||||||
|
*.flac
|
||||||
|
*.m4a
|
||||||
|
*.mid
|
||||||
|
*.midi
|
||||||
|
*.mka
|
||||||
|
*.mp3
|
||||||
|
*.mpc
|
||||||
|
*.ogg
|
||||||
|
*.ra
|
||||||
|
*.wav
|
||||||
|
*.oga
|
||||||
|
*.opus
|
||||||
|
*.spx
|
||||||
|
*.xspf
|
||||||
|
|
||||||
|
# other formats
|
||||||
|
*.pdf
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
set icons true
|
||||||
|
set previewer ~/.config/lf/scripts/lfpreview
|
||||||
|
cmd on-select &{{
|
||||||
|
exec lf -remote 'redraw'
|
||||||
|
}}
|
||||||
|
|
||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
draw() {
|
||||||
|
kitten icat --stdin no --transfer-mode memory \
|
||||||
|
--place "${w}x${h}@${x}x${y}" "$1" </dev/null >/dev/tty
|
||||||
|
}
|
||||||
|
|
||||||
|
file="$1"
|
||||||
|
w="$2"
|
||||||
|
h="$3"
|
||||||
|
x="$4"
|
||||||
|
y="$5"
|
||||||
|
|
||||||
|
case "$(file -Lb --mime-type "$file")" in
|
||||||
|
image/*)
|
||||||
|
draw "$file"
|
||||||
|
;;
|
||||||
|
application/pdf)
|
||||||
|
pdftoppm -f 1 -singlefile "$file" "/tmp/lfoutput"
|
||||||
|
draw "/tmp/lfoutput.ppm"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
bat --color=always "$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 1 # do not cache
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
|
require("config.lazy")
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Set true color
|
||||||
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# Set prefix
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-Space
|
||||||
|
bind C-Space send-prefix
|
||||||
|
|
||||||
|
# Start windows and panes at 1, not 0
|
||||||
|
set -g base-index 1
|
||||||
|
set -g pane-base-index 1
|
||||||
|
set-window-option -g pane-base-index 1
|
||||||
|
set-option -g renumber-windows on
|
||||||
|
|
||||||
|
set -g @catppuccin_flavour 'macchiato'
|
||||||
|
set -g @catppuccin_status_modules_right "application session load"
|
||||||
|
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
set -g @plugin 'catppuccin/tmux'
|
||||||
|
set -g @plugin 'jamesoff/tmux-loadavg'
|
||||||
|
|
||||||
|
run '~/.tmux/plugins/tpm/tpm'
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
include noctaliarc
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# File system
|
||||||
|
if command -v eza &> /dev/null; then
|
||||||
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
||||||
|
alias lsa='ls -a'
|
||||||
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias lta='lt -a'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$TERM" == "xterm-kitty" ]]; then
|
||||||
|
alias ff="fzf --preview 'case \$(file --mime-type -b {}) in image/*) kitty icat --clear --transfer-mode=memory --stdin=no --place=\${FZF_PREVIEW_COLUMNS}x\${FZF_PREVIEW_LINES}@0x0 {} ;; *) bat --style=numbers --color=always {} ;; esac'"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
#alias c='opencode'
|
||||||
|
#alias cx='printf "\033[2J\033[3J\033[H" && claude --permission-mode bypassPermissions'
|
||||||
|
#alias d='docker'
|
||||||
|
#alias r='rails'
|
||||||
|
#alias t='tmux attach || tmux new -s Work'
|
||||||
|
#alias ic='tdl c'
|
||||||
|
#alias ix='tdl cx'
|
||||||
|
#alias icx='tdl c cx'
|
||||||
|
#n() { if [ "$#" -eq 0 ]; then command nvim . ; else command nvim "$@"; fi; }
|
||||||
|
|
||||||
|
# Git
|
||||||
|
alias g='git'
|
||||||
|
alias gcm='git commit -m'
|
||||||
|
alias gcam='git commit -a -m'
|
||||||
|
alias gcad='git commit -a --amend'
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
.idea/
|
||||||
|
|
||||||
@@ -0,0 +1,234 @@
|
|||||||
|
# ANSI formatting function (\033[<code>m)
|
||||||
|
# 0: reset, 1: bold, 4: underline, 22: no bold, 24: no underline, 31: red, 33: yellow
|
||||||
|
omz_f() {
|
||||||
|
[ $# -gt 0 ] || return
|
||||||
|
IFS=";" printf "\033[%sm" $*
|
||||||
|
}
|
||||||
|
# If stdout is not a terminal ignore all formatting
|
||||||
|
[ -t 1 ] || omz_f() { :; }
|
||||||
|
|
||||||
|
# Protect against non-zsh execution of Oh My Zsh (use POSIX syntax here)
|
||||||
|
[ -n "$ZSH_VERSION" ] || {
|
||||||
|
omz_ptree() {
|
||||||
|
# Get process tree of the current process
|
||||||
|
pid=$$; pids="$pid"
|
||||||
|
while [ ${pid-0} -ne 1 ] && ppid=$(ps -e -o pid,ppid | awk "\$1 == $pid { print \$2 }"); do
|
||||||
|
pids="$pids $pid"; pid=$ppid
|
||||||
|
done
|
||||||
|
|
||||||
|
# Show process tree
|
||||||
|
case "$(uname)" in
|
||||||
|
Linux) ps -o ppid,pid,command -f -p $pids 2>/dev/null ;;
|
||||||
|
Darwin|*) ps -o ppid,pid,command -p $pids 2>/dev/null ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If ps command failed, try Busybox ps
|
||||||
|
[ $? -eq 0 ] || ps -o ppid,pid,comm | awk "NR == 1 || index(\"$pids\", \$2) != 0"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
shell=$(ps -o pid,comm | awk "\$1 == $$ { print \$2 }")
|
||||||
|
printf "$(omz_f 1 31)Error:$(omz_f 22) Oh My Zsh can't be loaded from: $(omz_f 1)${shell}$(omz_f 22). "
|
||||||
|
printf "You need to run $(omz_f 1)zsh$(omz_f 22) instead.$(omz_f 0)\n"
|
||||||
|
printf "$(omz_f 33)Here's the process tree:$(omz_f 22)\n\n"
|
||||||
|
omz_ptree
|
||||||
|
printf "$(omz_f 0)\n"
|
||||||
|
} >&2
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if in emulation mode, if so early return
|
||||||
|
# https://github.com/ohmyzsh/ohmyzsh/issues/11686
|
||||||
|
[[ "$(emulate)" = zsh ]] || {
|
||||||
|
printf "$(omz_f 1 31)Error:$(omz_f 22) Oh My Zsh can't be loaded in \`$(emulate)\` emulation mode.$(omz_f 0)\n" >&2
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
unset -f omz_f
|
||||||
|
|
||||||
|
# If ZSH is not defined, use the current script's directory.
|
||||||
|
[[ -n "$ZSH" ]] || export ZSH="${${(%):-%x}:a:h}"
|
||||||
|
|
||||||
|
# Set ZSH_CUSTOM to the path where your custom config files
|
||||||
|
# and plugins exists, or else we will use the default custom/
|
||||||
|
[[ -n "$ZSH_CUSTOM" ]] || ZSH_CUSTOM="$ZSH/custom"
|
||||||
|
|
||||||
|
# Set ZSH_CACHE_DIR to the path where cache files should be created
|
||||||
|
# or else we will use the default cache/
|
||||||
|
[[ -n "$ZSH_CACHE_DIR" ]] || ZSH_CACHE_DIR="$ZSH/cache"
|
||||||
|
|
||||||
|
# Make sure $ZSH_CACHE_DIR is writable, otherwise use a directory in $HOME
|
||||||
|
if [[ ! -w "$ZSH_CACHE_DIR" ]]; then
|
||||||
|
ZSH_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/oh-my-zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create cache and completions dir and add to $fpath
|
||||||
|
mkdir -p "$ZSH_CACHE_DIR/completions"
|
||||||
|
(( ${fpath[(Ie)$ZSH_CACHE_DIR/completions]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
||||||
|
|
||||||
|
# Check for updates on initial load...
|
||||||
|
source "$ZSH/tools/check_for_upgrade.sh"
|
||||||
|
|
||||||
|
# Initializes Oh My Zsh
|
||||||
|
|
||||||
|
# add a function path
|
||||||
|
fpath=($ZSH/{functions,completions} $ZSH_CUSTOM/{functions,completions} $fpath)
|
||||||
|
|
||||||
|
# Load all stock functions (from $fpath files) called below.
|
||||||
|
autoload -U compaudit compinit zrecompile
|
||||||
|
|
||||||
|
is_plugin() {
|
||||||
|
local base_dir=$1
|
||||||
|
local name=$2
|
||||||
|
builtin test -f $base_dir/plugins/$name/$name.plugin.zsh \
|
||||||
|
|| builtin test -f $base_dir/plugins/$name/_$name
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add all defined plugins to fpath. This must be done
|
||||||
|
# before running compinit.
|
||||||
|
for plugin ($plugins); do
|
||||||
|
if is_plugin "$ZSH_CUSTOM" "$plugin"; then
|
||||||
|
fpath=("$ZSH_CUSTOM/plugins/$plugin" $fpath)
|
||||||
|
elif is_plugin "$ZSH" "$plugin"; then
|
||||||
|
fpath=("$ZSH/plugins/$plugin" $fpath)
|
||||||
|
else
|
||||||
|
echo "[oh-my-zsh] plugin '$plugin' not found"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Figure out the SHORT hostname
|
||||||
|
if [[ "$OSTYPE" = darwin* ]]; then
|
||||||
|
# macOS's $HOST changes with dhcp, etc. Use LocalHostName if possible.
|
||||||
|
SHORT_HOST=$(scutil --get LocalHostName 2>/dev/null) || SHORT_HOST="${HOST/.*/}"
|
||||||
|
else
|
||||||
|
SHORT_HOST="${HOST/.*/}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save the location of the current completion dump file.
|
||||||
|
if [[ -z "$ZSH_COMPDUMP" ]]; then
|
||||||
|
ZSH_COMPDUMP="${ZDOTDIR:-$HOME}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Construct zcompdump OMZ metadata
|
||||||
|
zcompdump_revision="#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
|
||||||
|
zcompdump_fpath="#omz fpath: $fpath"
|
||||||
|
|
||||||
|
# Delete the zcompdump file if OMZ zcompdump metadata changed
|
||||||
|
if ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null \
|
||||||
|
|| ! command grep -q -Fx "$zcompdump_fpath" "$ZSH_COMPDUMP" 2>/dev/null; then
|
||||||
|
command rm -f "$ZSH_COMPDUMP"
|
||||||
|
zcompdump_refresh=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then
|
||||||
|
source "$ZSH/lib/compfix.zsh"
|
||||||
|
# Load only from secure directories
|
||||||
|
compinit -i -d "$ZSH_COMPDUMP"
|
||||||
|
# If completion insecurities exist, warn the user
|
||||||
|
handle_completion_insecurities &|
|
||||||
|
else
|
||||||
|
# If the user wants it, load from all found directories
|
||||||
|
compinit -u -d "$ZSH_COMPDUMP"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Append zcompdump metadata if missing
|
||||||
|
if (( $zcompdump_refresh )) \
|
||||||
|
|| ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null; then
|
||||||
|
# Use `tee` in case the $ZSH_COMPDUMP filename is invalid, to silence the error
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/commit/dd1a7269#commitcomment-39003489
|
||||||
|
tee -a "$ZSH_COMPDUMP" &>/dev/null <<EOF
|
||||||
|
|
||||||
|
$zcompdump_revision
|
||||||
|
$zcompdump_fpath
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
unset zcompdump_revision zcompdump_fpath zcompdump_refresh
|
||||||
|
|
||||||
|
# zcompile the completion dump file if the .zwc is older or missing.
|
||||||
|
if command mkdir "${ZSH_COMPDUMP}.lock" 2>/dev/null; then
|
||||||
|
zrecompile -q -p "$ZSH_COMPDUMP"
|
||||||
|
command rm -rf "$ZSH_COMPDUMP.zwc.old" "${ZSH_COMPDUMP}.lock"
|
||||||
|
fi
|
||||||
|
|
||||||
|
_omz_source() {
|
||||||
|
local context filepath="$1"
|
||||||
|
|
||||||
|
# Construct zstyle context based on path
|
||||||
|
case "$filepath" in
|
||||||
|
lib/*) context="lib:${filepath:t:r}" ;; # :t = lib_name.zsh, :r = lib_name
|
||||||
|
plugins/*) context="plugins:${filepath:h:t}" ;; # :h = plugins/plugin_name, :t = plugin_name
|
||||||
|
esac
|
||||||
|
|
||||||
|
local disable_aliases=0
|
||||||
|
zstyle -T ":omz:${context}" aliases || disable_aliases=1
|
||||||
|
|
||||||
|
# Back up alias names prior to sourcing
|
||||||
|
local -A aliases_pre galiases_pre
|
||||||
|
if (( disable_aliases )); then
|
||||||
|
aliases_pre=("${(@kv)aliases}")
|
||||||
|
galiases_pre=("${(@kv)galiases}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Source file from $ZSH_CUSTOM if it exists, otherwise from $ZSH
|
||||||
|
if [[ -f "$ZSH_CUSTOM/$filepath" ]]; then
|
||||||
|
source "$ZSH_CUSTOM/$filepath"
|
||||||
|
elif [[ -f "$ZSH/$filepath" ]]; then
|
||||||
|
source "$ZSH/$filepath"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unset all aliases that don't appear in the backed up list of aliases
|
||||||
|
if (( disable_aliases )); then
|
||||||
|
if (( #aliases_pre )); then
|
||||||
|
aliases=("${(@kv)aliases_pre}")
|
||||||
|
else
|
||||||
|
(( #aliases )) && unalias "${(@k)aliases}"
|
||||||
|
fi
|
||||||
|
if (( #galiases_pre )); then
|
||||||
|
galiases=("${(@kv)galiases_pre}")
|
||||||
|
else
|
||||||
|
(( #galiases )) && unalias "${(@k)galiases}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Load all of the lib files in ~/.oh-my-zsh/lib that end in .zsh
|
||||||
|
# TIP: Add files you don't want in git to .gitignore
|
||||||
|
for lib_file ("$ZSH"/lib/*.zsh); do
|
||||||
|
_omz_source "lib/${lib_file:t}"
|
||||||
|
done
|
||||||
|
unset lib_file
|
||||||
|
|
||||||
|
# Load all of the plugins that were defined in ~/.zshrc
|
||||||
|
for plugin ($plugins); do
|
||||||
|
_omz_source "plugins/$plugin/$plugin.plugin.zsh"
|
||||||
|
done
|
||||||
|
unset plugin
|
||||||
|
|
||||||
|
# Load all of your custom configurations from custom/
|
||||||
|
for config_file ("$ZSH_CUSTOM"/*.zsh(N)); do
|
||||||
|
source "$config_file"
|
||||||
|
done
|
||||||
|
unset config_file
|
||||||
|
|
||||||
|
# Load the theme
|
||||||
|
is_theme() {
|
||||||
|
local base_dir=$1
|
||||||
|
local name=$2
|
||||||
|
builtin test -f $base_dir/$name.zsh-theme
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ -n "$ZSH_THEME" ]]; then
|
||||||
|
if is_theme "$ZSH_CUSTOM" "$ZSH_THEME"; then
|
||||||
|
source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
|
||||||
|
elif is_theme "$ZSH_CUSTOM/themes" "$ZSH_THEME"; then
|
||||||
|
source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
elif is_theme "$ZSH/themes" "$ZSH_THEME"; then
|
||||||
|
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
else
|
||||||
|
echo "[oh-my-zsh] theme '$ZSH_THEME' not found"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set completion colors to be the same as `ls`, after theme has been loaded
|
||||||
|
[[ -z "$LS_COLORS" ]] || zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
# Generated by Powerlevel10k configuration wizard on 2024-05-17 at 10:37 CEST.
|
||||||
|
# Based on romkatv/powerlevel10k/config/p10k-pure.zsh, checksum 35142.
|
||||||
|
# Wizard options: nerdfont-v3 + powerline, small icons, pure, original, rprompt,
|
||||||
|
# 2 lines, sparse, transient_prompt, instant_prompt=verbose.
|
||||||
|
# Type `p10k configure` to generate another config.
|
||||||
|
#
|
||||||
|
# Config file for Powerlevel10k with the style of Pure (https://github.com/sindresorhus/pure).
|
||||||
|
#
|
||||||
|
# Differences from Pure:
|
||||||
|
#
|
||||||
|
# - Git:
|
||||||
|
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
|
||||||
|
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
|
||||||
|
#
|
||||||
|
# Apart from the differences listed above, the replication of Pure prompt is exact. This includes
|
||||||
|
# even the questionable parts. For example, just like in Pure, there is no indication of Git status
|
||||||
|
# being stale; prompt symbol is the same in command, visual and overwrite vi modes; when prompt
|
||||||
|
# doesn't fit on one line, it wraps around with no attempt to shorten it.
|
||||||
|
#
|
||||||
|
# If you like the general style of Pure but not particularly attached to all its quirks, type
|
||||||
|
# `p10k configure` and pick "Lean" style. This will give you slick minimalist prompt while taking
|
||||||
|
# advantage of Powerlevel10k features that aren't present in Pure.
|
||||||
|
|
||||||
|
# Temporarily change options.
|
||||||
|
'builtin' 'local' '-a' 'p10k_config_opts'
|
||||||
|
[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
|
||||||
|
[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
|
||||||
|
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
|
||||||
|
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
|
||||||
|
|
||||||
|
() {
|
||||||
|
emulate -L zsh -o extended_glob
|
||||||
|
|
||||||
|
# Unset all configuration options.
|
||||||
|
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
|
||||||
|
|
||||||
|
# Zsh >= 5.1 is required.
|
||||||
|
[[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
|
||||||
|
|
||||||
|
# Prompt colors.
|
||||||
|
local grey='242'
|
||||||
|
local red='1'
|
||||||
|
local yellow='3'
|
||||||
|
local blue='4'
|
||||||
|
local magenta='5'
|
||||||
|
local cyan='6'
|
||||||
|
local white='7'
|
||||||
|
|
||||||
|
# Left prompt segments.
|
||||||
|
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
|
||||||
|
# =========================[ Line #1 ]=========================
|
||||||
|
# context # user@host
|
||||||
|
dir # current directory
|
||||||
|
vcs # git status
|
||||||
|
# command_execution_time # previous command duration
|
||||||
|
# =========================[ Line #2 ]=========================
|
||||||
|
newline # \n
|
||||||
|
# virtualenv # python virtual environment
|
||||||
|
prompt_char # prompt symbol
|
||||||
|
)
|
||||||
|
|
||||||
|
# Right prompt segments.
|
||||||
|
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
|
||||||
|
# =========================[ Line #1 ]=========================
|
||||||
|
command_execution_time # previous command duration
|
||||||
|
virtualenv # python virtual environment
|
||||||
|
context # user@host
|
||||||
|
# time # current time
|
||||||
|
# =========================[ Line #2 ]=========================
|
||||||
|
newline # \n
|
||||||
|
)
|
||||||
|
|
||||||
|
# Basic style options that define the overall prompt look.
|
||||||
|
typeset -g POWERLEVEL9K_BACKGROUND= # transparent background
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space
|
||||||
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
||||||
|
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
|
||||||
|
|
||||||
|
# Add an empty line before each prompt except the first. This doesn't emulate the bug
|
||||||
|
# in Pure that makes prompt drift down whenever you use the Alt-C binding from fzf or similar.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
|
||||||
|
|
||||||
|
# Magenta prompt symbol if the last command succeeded.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
|
||||||
|
# Red prompt symbol if the last command failed.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
|
||||||
|
# Default prompt symbol.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
|
||||||
|
# Prompt symbol in command vi mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
|
||||||
|
# Prompt symbol in visual vi mode is the same as in command mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮'
|
||||||
|
# Prompt symbol in overwrite vi mode is the same as in command mode.
|
||||||
|
typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
|
||||||
|
|
||||||
|
# Grey Python Virtual Environment.
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
|
||||||
|
# Don't show Python version.
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
|
||||||
|
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
|
||||||
|
|
||||||
|
# Blue current directory.
|
||||||
|
typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
|
||||||
|
|
||||||
|
# Context format when root: user@host. The first part white, the rest grey.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
|
||||||
|
# Context format when not root: user@host. The whole thing grey.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
|
||||||
|
# Don't show context unless root or in SSH.
|
||||||
|
typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
||||||
|
|
||||||
|
# Show previous command duration only if it's >= 5s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
|
||||||
|
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||||
|
# Duration format: 1d 2h 3m 4s.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
|
||||||
|
# Yellow previous command duration.
|
||||||
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
|
||||||
|
|
||||||
|
# Grey Git prompt. This makes stale prompts indistinguishable from up-to-date ones.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
|
||||||
|
|
||||||
|
# Disable async loading indicator to make directories that aren't Git repositories
|
||||||
|
# indistinguishable from large Git repositories without known state.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
|
||||||
|
|
||||||
|
# Don't wait for Git status even for a millisecond, so that prompt always updates
|
||||||
|
# asynchronously when Git state changes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
|
||||||
|
|
||||||
|
# Cyan ahead/behind arrows.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
|
||||||
|
# Don't show remote branch, current tag or stashes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind)
|
||||||
|
# Don't show the branch icon.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
|
||||||
|
# When in detached HEAD state, show @commit where branch normally goes.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
|
||||||
|
# Don't show staged, unstaged, untracked indicators.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
|
||||||
|
# Show '*' when there are staged, unstaged or untracked files.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*'
|
||||||
|
# Show '⇣' if local branch is behind remote.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣'
|
||||||
|
# Show '⇡' if local branch is ahead of remote.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡'
|
||||||
|
# Don't show the number of commits next to the ahead/behind arrows.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
|
||||||
|
# Remove space between '⇣' and '⇡' and all trailing spaces.
|
||||||
|
typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }'
|
||||||
|
|
||||||
|
# Grey current time.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
|
||||||
|
# Format for the current time: 09:51:02. See `man 3 strftime`.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
|
||||||
|
# If set to true, time will update when you hit enter. This way prompts for the past
|
||||||
|
# commands will contain the start times of their commands rather than the end times of
|
||||||
|
# their preceding commands.
|
||||||
|
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
||||||
|
|
||||||
|
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
|
||||||
|
# when accepting a command line. Supported values:
|
||||||
|
#
|
||||||
|
# - off: Don't change prompt when accepting a command line.
|
||||||
|
# - always: Trim down prompt when accepting a command line.
|
||||||
|
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
|
||||||
|
# typed after changing current working directory.
|
||||||
|
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
|
||||||
|
|
||||||
|
# Instant prompt mode.
|
||||||
|
#
|
||||||
|
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
|
||||||
|
# it incompatible with your zsh configuration files.
|
||||||
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
|
# during zsh initialization. Choose this if you've read and understood
|
||||||
|
# https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt.
|
||||||
|
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
||||||
|
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
||||||
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
|
||||||
|
|
||||||
|
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
||||||
|
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
||||||
|
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
|
||||||
|
# really need it.
|
||||||
|
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
|
||||||
|
|
||||||
|
# If p10k is already loaded, reload configuration.
|
||||||
|
# This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
|
||||||
|
(( ! $+functions[p10k] )) || p10k reload
|
||||||
|
}
|
||||||
|
|
||||||
|
# Tell `p10k configure` which file it should overwrite.
|
||||||
|
typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
|
||||||
|
|
||||||
|
(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
|
||||||
|
'builtin' 'unset' 'p10k_config_opts'
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
# Path to your Oh My Zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
export FZF_DEFAULT_OPTS=" \
|
||||||
|
--color=bg+:#363A4F,bg:#24273A,spinner:#F4DBD6,hl:#ED8796 \
|
||||||
|
--color=fg:#CAD3F5,header:#ED8796,info:#C6A0F6,pointer:#F4DBD6 \
|
||||||
|
--color=marker:#B7BDF8,fg+:#CAD3F5,prompt:#C6A0F6,hl+:#ED8796 \
|
||||||
|
--color=selected-bg:#494D64 \
|
||||||
|
--color=border:#6E738D,label:#CAD3F5"
|
||||||
|
|
||||||
|
# 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,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
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
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "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 one of the following lines to change the auto-update behavior
|
||||||
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
||||||
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
||||||
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# zstyle ':omz:update' frequency 13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# You can also set it to another string to have that shown instead of the default red dots.
|
||||||
|
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||||
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||||
|
# 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.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# 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?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
fast-syntax-highlighting
|
||||||
|
zsh-autosuggestions
|
||||||
|
)
|
||||||
|
|
||||||
|
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='nvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
source ~/.config/zsh/config
|
||||||
|
|
||||||
|
export EDITOR="nvim"
|
||||||
|
|
||||||
|
# GPG Key - uncommunt if needed
|
||||||
|
export GPG_TTY=$(tty)
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# 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 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"
|
||||||
|
|
||||||
|
source ~/.config/zsh/aliases
|
||||||
|
|
||||||
|
if [[ "$CLAUDECODE" != "1" ]]; then
|
||||||
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$(~/.local/bin/mise activate zsh --shims)"
|
||||||
@@ -1,15 +1,61 @@
|
|||||||
# Dotfiles
|
# Dotfiles
|
||||||
🏠 - Personal Dotfiles (Managed by GNU Stow)
|
🏠 - Personal Dotfiles (Managed by GNU Stow)
|
||||||
|
|
||||||
## Arch
|

|
||||||
[install here](https://github.com/Thomas-Philippot/dotfiles/tree/arch)
|

|
||||||
|

|
||||||
|
|
||||||
### Specs
|
|
||||||
- Azerty Keyboard layout and french system language.
|
|
||||||
- Desktop environment. (no battery, wifi or brightness controls)
|
|
||||||
|
|
||||||
## Ubuntu 24.04
|
## Overview
|
||||||
[install here](https://github.com/Thomas-Philippot/dotfiles/tree/ubuntu-24)
|
|
||||||
### Specs
|
- **DE**: [Hyprland](https://hyprland.com)
|
||||||
- Us keyboard layout and English system language.
|
- **OS**: [Fedora Linux](https://fedoraproject.org/fr/)
|
||||||
- Laptop environment. (battery, wifi and brightness controls)
|
- **Shell**: ZSH
|
||||||
|
- **Framework**: [oh-my-zsh](https://ohmyz.sh/)
|
||||||
|
- **Prompt**: [p10k](https://github.com/romkatv/powerlevel10k)
|
||||||
|
- **Applications**:
|
||||||
|
- **Spotify**: [Spicetify](https://spicetify.app/)
|
||||||
|
- **Discord**: [vesktop](https://vesktop.dev)
|
||||||
|
- **Terminal**: [kitty](https://github.com/kovidgoyal/kitty)
|
||||||
|
- **Editor**: [Neovim](https://github.com/neovim/neovim/) (using [LazyNvim](https://www.lazyvim.org/) configuration)
|
||||||
|
- **Browser**: [Zen](https://zen-browser.app/)
|
||||||
|
- **Fonts**: Jetbrains Mono, Fira Code Mono [Nerd Font](https://www.nerdfonts.com/)
|
||||||
|
- **Icons**:
|
||||||
|
- **Cursor**: [Catppuccin Cursor](https://github.com/catppuccin/cursors), [Phinger Cursors](https://github.com/phisch/phinger-cursors)
|
||||||
|
- **Colorscheme**: [Catppuccin](https://github.com/catppuccin/catppuccin) Dark : Macchiato / Light : Latte
|
||||||
|
- **Keyboard Layout**: FR-fr (AZERTY)
|
||||||
|
- **System Language**: English
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- [Stow](https://www.gnu.org/software/stow/)
|
||||||
|
- [Git](https://git-scm.com)
|
||||||
|
- [Zoxide](https://github.com/ajeetdsouza/zoxide)
|
||||||
|
- [Eza](https://eza.rocks)
|
||||||
|
- [Hyprshot](https://github.com/Gustash/hyprshot)
|
||||||
|
- [Noctalia](https://noctalia.dev)
|
||||||
|
- [wl-clipboard](https://github.com/bugaevc/wl-clipboard)
|
||||||
|
|
||||||
|
clone the repo into your `$HOME` folder and let stow do its magic !
|
||||||
|
|
||||||
|
````
|
||||||
|
git clone https://github.com/Thomas-Philippot/dotfiles
|
||||||
|
cd dotfiles
|
||||||
|
stow .
|
||||||
|
``````
|
||||||
|
|
||||||
|
all the files should now be simlinked to your $HOME folder
|
||||||
|
|
||||||
|
### Theme switcher
|
||||||
|
|
||||||
|
user the <kbd>SUPER</kbd> + <kbd>T</kbd> shortcut to switch between light and dark theme
|
||||||
|
|
||||||
|
### Issues
|
||||||
|
|
||||||
|
bat might not apply the catppuccin theme at launch, because you need to rebuild it's cache
|
||||||
|
|
||||||
|
```
|
||||||
|
bat cache --build
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user