Compare commits

...

32 Commits

Author SHA1 Message Date
f7620ab2c7 feat(mako): improves notifications 2026-05-04 20:14:54 -04:00
bd25cc4efc feat(mako): notifications now on bottom and colorful 2026-05-04 19:41:29 -04:00
a2abffad09 fix(hyprland): remove second monitor 2026-05-04 19:39:06 -04:00
92c5eb2d18 feat: add some lsp for markdown 2026-05-04 19:37:59 -04:00
ec8f9cf14d feat: improve alacritty readability 2026-05-04 19:27:21 -04:00
63dccc0025 feat: add resize-pane to tmux.conf 2026-04-29 14:38:00 -04:00
ffe45b43c5 feat: add printer cups in bar 2026-04-03 15:34:26 -04:00
1ebcd3ae46 feat: made split equally same a nvim 2026-04-03 01:38:05 -04:00
1d7835bf4c feat: tighter modules icons 2026-04-02 23:54:29 -04:00
13e0add1c2 feat: simplified workspaces 2026-04-02 21:30:41 -04:00
b783b25d32 feat: perfect waybar 2026-04-02 20:58:03 -04:00
373c9fe4aa feat: more like omarchy 2026-04-02 17:40:53 -04:00
10c5d8f9b3 feat: more like omarchy 2026-04-02 16:38:08 -04:00
ffd1dd19bb feat(waybar): improving styling 2026-03-31 21:07:49 -04:00
f9a20c0717 bug: fix waybar after merge 2026-03-31 19:00:14 -04:00
332ed27869 Merge branch 'main' of sobina-git:jbourdon/dotfiles 2026-03-31 18:58:48 -04:00
3762c33a8d feat: shared hyprpaper 2026-03-31 18:55:17 -04:00
9854dc9ea4 feat: now smarter linebreak 2026-03-25 01:00:56 -04:00
054730ba26 fix(waybar/hyprland): made all margins the same 2026-03-24 00:30:34 -04:00
d5cc0a1de1 fix(tmux): make selection the same as in bash and nvim 2026-03-24 00:21:47 -04:00
8e31d1bb5a fix(alacritty): decrease font to a more common standard 2026-03-24 00:18:08 -04:00
10de18f327 fix(hyprland): increase margin to match new waybar 2026-03-24 00:17:03 -04:00
231f72704c fix(bash/zsh): different color for folder and configs files 2026-03-24 00:15:56 -04:00
19e76149a0 feat(tmux): styling complete 2026-03-23 22:51:16 -04:00
a88508e5f9 fix(waybar): was using wrong format for minutes 2026-03-23 20:40:43 -04:00
641d06a8d5 feat(waybar): increase the power button size to match the bar appearance 2026-03-23 15:10:51 -04:00
7c7b0dbb47 feat(waybar): add battery module and styles 2026-03-23 14:25:53 -04:00
1f7ed68ce7 fix: vertical waybar alignment 2026-03-23 14:03:39 -04:00
aac9378d71 feat: ls_colors using palette 2026-03-23 03:27:13 -04:00
6bc4e3e870 fix: use wofi instead of walker 2026-03-23 02:18:07 -04:00
b6d7d77191 fix: center date on waybar, remove unused launcher icon 2026-03-23 02:17:03 -04:00
d8880a303e fix: selection in tmux.conf 2026-03-23 01:51:50 -04:00
21 changed files with 577 additions and 211 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.codex

View File

@@ -1,21 +1,22 @@
[font] [font]
size = 16 size = 13
[font.offset]
y = 0
x = 0
[font.normal] [font.normal]
family = "JetBrainsMono Nerd Font" family = "ComicShannsMono Nerd Font"
style = "Regular" style = "Regular"
[font.bold] [font.bold]
family = "JetBrainsMono Nerd Font"
style = "Bold" style = "Bold"
[font.italic] [font.italic]
family = "JetBrainsMono Nerd Font"
style = "Italic" style = "Italic"
[font.bold_italic] [font.bold_italic]
family = "JetBrainsMono Nerd Font"
style = "Bold Italic" style = "Bold Italic"
[window] [window]

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
cd "$(dirname "$0")" cd "$(dirname "$0")"
stow -t ~ bash zsh tmux nvim hypr waybar alacritty rider-palette walker stow -t ~ bash zsh tmux nvim hypr waybar mako alacritty rider-palette walker

View File

@@ -2,6 +2,7 @@
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples # for examples
export PATH="$HOME/.cargo/bin:$PATH"
# If not running interactively, don't do anything # If not running interactively, don't do anything
case $- in case $- in
*i*) ;; *i*) ;;

View File

@@ -4,7 +4,7 @@ set -euo pipefail
# ====== CONFIG ====== # ====== CONFIG ======
DOTFILES_DIR="${DOTFILES_DIR:-$HOME/repos/dotfiles}" DOTFILES_DIR="${DOTFILES_DIR:-$HOME/repos/dotfiles}"
DOTFILES_GIT_URL="${DOTFILES_GIT_URL:-}" # ex: git@github.com:TON_USER/dotfiles.git DOTFILES_GIT_URL="${DOTFILES_GIT_URL:-}" # ex: git@github.com:TON_USER/dotfiles.git
STOW_PACKAGES_DEFAULT=("zsh" "tmux" "nvim" "hypr" "hypridle" "waybar" "alacritty") STOW_PACKAGES_DEFAULT=("zsh" "tmux" "nvim" "hypr" "waybar" "mako" "alacritty")
INSTALL_FONTS="${INSTALL_FONTS:-1}" # 1 = install nerd font, 0 = skip INSTALL_FONTS="${INSTALL_FONTS:-1}" # 1 = install nerd font, 0 = skip
SET_DEFAULT_SHELL="${SET_DEFAULT_SHELL:-1}" # 1 = chsh to zsh, 0 = skip SET_DEFAULT_SHELL="${SET_DEFAULT_SHELL:-1}" # 1 = chsh to zsh, 0 = skip
@@ -61,7 +61,7 @@ sudo_run apt install -y build-essential || true
# Hypr ecosystem (availability depends on distro/repo) # Hypr ecosystem (availability depends on distro/repo)
# We try, but do not fail if packages aren't found. # We try, but do not fail if packages aren't found.
log "Trying to install Hyprland ecosystem packages (best effort)" log "Trying to install Hyprland ecosystem packages (best effort)"
sudo_run apt install -y hyprland hypridle waybar alacritty 2>/dev/null || true sudo_run apt install -y hyprland hyprpaper hypridle waybar mako-notifier alacritty 2>/dev/null || true
# ====== DOTFILES CLONE (OPTIONAL) ====== # ====== DOTFILES CLONE (OPTIONAL) ======
if [ ! -d "$DOTFILES_DIR/.git" ]; then if [ ! -d "$DOTFILES_DIR/.git" ]; then

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View File

@@ -17,7 +17,6 @@
# You can split this configuration into multiple files # You can split this configuration into multiple files
# Create your files separately and then link them to this file like this: # Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
source = ~/.config/rider-palette/palette.hyprland.conf
################ ################
@@ -26,7 +25,7 @@ source = ~/.config/rider-palette/palette.hyprland.conf
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-1,3440x1440@165, 0x0,1 monitor=DP-1,3440x1440@165, 0x0,1
monitor=DP-3,1920x1080@60, 3440x1200,1
################### ###################
### MY PROGRAMS ### ### MY PROGRAMS ###
################### ###################
@@ -37,7 +36,7 @@ monitor=DP-3,1920x1080@60, 3440x1200,1
$terminal = alacritty $terminal = alacritty
$fileManager = thunar $fileManager = thunar
$navigator = firefox $navigator = firefox
$menu = walker $menu = wofi --show drun
################# #################
@@ -50,7 +49,6 @@ $menu = walker
# exec-once = $terminal # exec-once = $terminal
# exec-once = nm-applet & # exec-once = nm-applet &
exec-once = waybar & hyprpaper & mako & hypridle exec-once = waybar & hyprpaper & mako & hypridle
exec-once = walker --gapplication-service
############################# #############################
@@ -75,13 +73,13 @@ env = QT_QPA_PLATFORMTHEME,qt5ct
# https://wiki.hyprland.org/Configuring/Variables/#general # https://wiki.hyprland.org/Configuring/Variables/#general
general { general {
gaps_in = 2 gaps_in = 4
gaps_out = 4 gaps_out = 8
border_size = 1 border_size = 1
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = $func col.active_border = rgba(33ccffff)
col.inactive_border = $border col.inactive_border = rgba(595959ff)
# Set to true enable resizing windows by clicking and dragging on borders and gaps # Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false resize_on_border = false
@@ -90,11 +88,18 @@ general {
allow_tearing = false allow_tearing = false
layout = dwindle layout = dwindle
# layout = master
}
master {
new_status = inherit
mfact = 0.33
orientation = center
} }
# https://wiki.hyprland.org/Configuring/Variables/#decoration # https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration { decoration {
rounding = 3 rounding = 0
inactive_opacity = 1.00 inactive_opacity = 1.00
active_opacity = 1.00 active_opacity = 1.00
fullscreen_opacity = 1.00 fullscreen_opacity = 1.00
@@ -133,8 +138,8 @@ animations {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle { dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = false # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this preserve_split = false # You probably want this
} }
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
@@ -174,11 +179,6 @@ cursor {
inactive_timeout = 1 inactive_timeout = 1
} }
# https://wiki.hyprland.org/Configuring/Variables/#gestures
# gestures {
# workspace_swipe = false
#}
#################### ####################
### KEYBINDINGSS ### ### KEYBINDINGSS ###
#################### ####################
@@ -189,27 +189,40 @@ $mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Z, exec, $terminal bind = $mainMod, Z, exec, $terminal
bind = $mainMod, C, killactive, bind = $mainMod, C, killactive,
bind = $mainMod, M, exit, # bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager bind = $mainMod, N, exec, $navigator bind = $mainMod, E, exec, $fileManager bind = $mainMod, N, exec, $navigator
bind = $mainMod, V, togglefloating bind = $mainMod, V, togglefloating
bind = $mainMod, F, fullscreen bind = $mainMod, F, fullscreen
bind = $mainMod, R, exec, $menu bind = $mainMod, R, exec, $menu
bind = $mainMod ALT, SPACE, exec, $menu
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, S, togglesplit, # dwindle
bind = $mainMod, Q, exec, hyprlock bind = $mainMod, Q, exec, hyprlock
bind = $mainMod, Y, exec, ~/scripts/screenshot-to-clipboard.sh bind = $mainMod, Y, exec, ~/scripts/screenshot-to-clipboard.sh
# Switch to layouts
bind = $mainMod, M, exec, ~/scripts/toggle_layout.sh
bind = $mainMod, Return, layoutmsg, swapwithmaster
bind = $mainMod, B, layoutmsg, mfact +0.05
bind = $mainMod, N, layoutmsg, mfact -0.05
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l
bind = $mainMod, J, movefocus, d bind = $mainMod, J, movefocus, d
bind = $mainMod, K, movefocus, u bind = $mainMod, K, movefocus, u
bind = $mainMod, L, movefocus, r bind = $mainMod, L, movefocus, r
bind = $mainMod, left, movefocus, l
bind = $mainMod, down, movefocus, d
bind = $mainMod, up, movefocus, u
bind = $mainMod, right, movefocus, r
bind = $mainMod SHIFT, H, swapwindow, l bind = $mainMod SHIFT, H, swapwindow, l
bind = $mainMod SHIFT, J, swapwindow, d bind = $mainMod SHIFT, J, swapwindow, d
bind = $mainMod SHIFT, K, swapwindow, u bind = $mainMod SHIFT, K, swapwindow, u
bind = $mainMod SHIFT, L, swapwindow, r bind = $mainMod SHIFT, L, swapwindow, r
bind = $mainMod SHIFT, left, swapwindow, l
bind = $mainMod SHIFT, down, swapwindow, d
bind = $mainMod SHIFT, up, swapwindow, u
bind = $mainMod SHIFT, right, swapwindow, r
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
@@ -242,16 +255,3 @@ bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$

View File

@@ -1,14 +1,13 @@
preload = ~/Pictures/background.png preload = ~/repos/dotfiles/hypr/.config/hypr/assets/background.png
splash = false
#set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used #set the default wallpaper(s) seen on initial workspace(s) --depending on the number of monitors used
wallpaper = DP-1,~/Pictures/background.png wallpaper {
wallpaper = DP-2,~/Pictures/background.png monitor =
wallpaper = DP-3,~/Pictures/background.png path = ~/repos/dotfiles/hypr/.config/hypr/assets/background.png
}
#enable splash text rendering over the wallpaper #enable splash text rendering over the wallpaper
#splash = true
#fully disable ipc #fully disable ipc
# ipc = off # ipc = off

30
mako/.config/mako/config Normal file
View File

@@ -0,0 +1,30 @@
font=JetBrainsMono Nerd Font 12
background-color=#191A1C
text-color=#BDBDBD
border-color=#39CC9B
progress-color=over #39CC9B
width=420
height=160
outer-margin=16
margin=12
padding=14
border-size=1
border-radius=7
icons=1
max-icon-size=48
markup=1
actions=1
max-visible=5
max-history=50
default-timeout=8000
ignore-timeout=0
anchor=bottom-right
layer=overlay
sort=-time
[urgency=high]
border-color=#FF5647
default-timeout=0
[mode=do-not-disturb]
invisible=1

View File

@@ -100,6 +100,10 @@ vim.g.have_nerd_font = true
-- Make line numbers default -- Make line numbers default
vim.o.number = true vim.o.number = true
vim.o.wrap = true
vim.o.linebreak = true
vim.o.breakindent = true
-- You can also add relative line numbers, to help with jumping. -- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it! -- Experiment for yourself to see if you like it!
vim.o.relativenumber = true vim.o.relativenumber = true
@@ -719,6 +723,10 @@ require('lazy').setup({
-- ts_ls = {}, -- ts_ls = {},
-- --
marksman = {},
dockerls = {},
docker_compose_language_service = {},
lua_ls = { lua_ls = {
-- cmd = { ... }, -- cmd = { ... },
-- filetypes = { ... }, -- filetypes = { ... },
@@ -750,6 +758,8 @@ require('lazy').setup({
-- for you, so that they are available from within Neovim. -- for you, so that they are available from within Neovim.
local ensure_installed = vim.tbl_keys(servers or {}) local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, { vim.list_extend(ensure_installed, {
'hadolint', -- Used to lint Dockerfiles
'markdownlint', -- Used to lint Markdown files
'stylua', -- Used to format Lua code 'stylua', -- Used to format Lua code
}) })
require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-tool-installer').setup { ensure_installed = ensure_installed }

View File

@@ -47,11 +47,11 @@ def build_ls_colors(colors: dict[str, str]) -> str:
entries = { entries = {
"no": "0", "no": "0",
"fi": "0", "fi": "0",
"di": sgr_fg(colors["func"], bold=True), "di": sgr_fg(colors["keyword"], bold=True),
"ln": sgr_fg(colors["field"], bold=True), "ln": sgr_fg(colors["field"], bold=True),
"or": sgr_fg(colors["error"], bold=True), "or": sgr_fg(colors["error"]),
"mi": "0", "mi": "0",
"so": sgr_fg(colors["type"]), "so": sgr_fg(colors["field"]),
"pi": sgr_fg(colors["string"]), "pi": sgr_fg(colors["string"]),
"do": sgr_fg(colors["func"], bold=True), "do": sgr_fg(colors["func"], bold=True),
"bd": sgr_fg(colors["number"]), "bd": sgr_fg(colors["number"]),
@@ -59,52 +59,53 @@ def build_ls_colors(colors: dict[str, str]) -> str:
"su": sgr_fg(colors["error"], bold=True), "su": sgr_fg(colors["error"], bold=True),
"sg": sgr_fg(colors["escape"], bold=True), "sg": sgr_fg(colors["escape"], bold=True),
"ex": sgr_fg(colors["func"], bold=True), "ex": sgr_fg(colors["func"], bold=True),
"*.tar": sgr_fg(colors["string"]), "*.tar": sgr_fg(colors["type_alt"]),
"*.tgz": sgr_fg(colors["string"]), "*.tgz": sgr_fg(colors["type_alt"]),
"*.gz": sgr_fg(colors["string"]), "*.gz": sgr_fg(colors["type_alt"]),
"*.bz2": sgr_fg(colors["string"]), "*.bz2": sgr_fg(colors["type_alt"]),
"*.xz": sgr_fg(colors["string"]), "*.xz": sgr_fg(colors["type_alt"]),
"*.zip": sgr_fg(colors["string"]), "*.zip": sgr_fg(colors["type_alt"]),
"*.7z": sgr_fg(colors["string"]), "*.7z": sgr_fg(colors["type_alt"]),
"*.zst": sgr_fg(colors["string"]), "*.zst": sgr_fg(colors["type_alt"]),
"*.rar": sgr_fg(colors["string"]), "*.rar": sgr_fg(colors["type_alt"]),
"*.jpg": sgr_fg(colors["field"]), "*.jpg": sgr_fg(colors["type"]),
"*.jpeg": sgr_fg(colors["field"]), "*.jpeg": sgr_fg(colors["type"]),
"*.png": sgr_fg(colors["field"]), "*.png": sgr_fg(colors["type"]),
"*.gif": sgr_fg(colors["field"]), "*.gif": sgr_fg(colors["type"]),
"*.svg": sgr_fg(colors["field"]), "*.svg": sgr_fg(colors["type"]),
"*.webp": sgr_fg(colors["field"]), "*.webp": sgr_fg(colors["type"]),
"*.mp3": sgr_fg(colors["type"]), "*.mp3": sgr_fg(colors["type"]),
"*.flac": sgr_fg(colors["type"]), "*.flac": sgr_fg(colors["type"]),
"*.wav": sgr_fg(colors["type"]), "*.wav": sgr_fg(colors["type"]),
"*.mp4": sgr_fg(colors["type"]), "*.mp4": sgr_fg(colors["type"]),
"*.mkv": sgr_fg(colors["type"]), "*.mkv": sgr_fg(colors["type"]),
"*.mov": sgr_fg(colors["type"]), "*.mov": sgr_fg(colors["type"]),
"*.pdf": sgr_fg(colors["number"]), "*.pdf": sgr_fg(colors["comment"]),
"*.md": sgr_fg(colors["comment"]), "*.md": sgr_fg(colors["comment"]),
"*.txt": sgr_fg(colors["fg"]), "*.txt": sgr_fg(colors["comment"]),
"*.log": sgr_fg(colors["comment"]), "*.log": sgr_fg(colors["comment"]),
"*.conf": sgr_fg(colors["keyword"]), "*.conf": sgr_fg(colors["string"]),
"*.json": sgr_fg(colors["keyword"]), "*.json": sgr_fg(colors["string"]),
"*.yaml": sgr_fg(colors["keyword"]), "*.yaml": sgr_fg(colors["string"]),
"*.yml": sgr_fg(colors["keyword"]), "*.yml": sgr_fg(colors["string"]),
"*.toml": sgr_fg(colors["keyword"]), "*.toml": sgr_fg(colors["string"]),
"*.ini": sgr_fg(colors["keyword"]), "*.ini": sgr_fg(colors["string"]),
"*.sh": sgr_fg(colors["func"], bold=True), "*.sh": sgr_fg(colors["func"]),
"*.bash": sgr_fg(colors["func"], bold=True), "*.bash": sgr_fg(colors["func"]),
"*.zsh": sgr_fg(colors["func"], bold=True), "*.zsh": sgr_fg(colors["func"]),
"*.py": sgr_fg(colors["func"]), "*.py": sgr_fg(colors["field"]),
"*.js": sgr_fg(colors["keyword"]), "*.js": sgr_fg(colors["field"]),
"*.ts": sgr_fg(colors["keyword"]), "*.ts": sgr_fg(colors["field"]),
"*.tsx": sgr_fg(colors["keyword"]), "*.tsx": sgr_fg(colors["field"]),
"*.jsx": sgr_fg(colors["keyword"]), "*.jsx": sgr_fg(colors["field"]),
"*.lua": sgr_fg(colors["type_alt"]), "*.lua": sgr_fg(colors["field"]),
"*.rs": sgr_fg(colors["type_alt"]), "*.rs": sgr_fg(colors["field"]),
"*.go": sgr_fg(colors["type_alt"]), "*.go": sgr_fg(colors["field"]),
"*.c": sgr_fg(colors["field"]), "*.c": sgr_fg(colors["field"]),
"*.h": sgr_fg(colors["field"]), "*.h": sgr_fg(colors["field"]),
"*.cpp": sgr_fg(colors["field"]), "*.cpp": sgr_fg(colors["field"]),
"*.hpp": sgr_fg(colors["field"]), "*.hpp": sgr_fg(colors["field"]),
"*.cs": sgr_fg(colors["field"]),
} }
return ":".join(f"{key}={value}" for key, value in entries.items()) return ":".join(f"{key}={value}" for key, value in entries.items())

View File

@@ -20,4 +20,4 @@ export RIDER_ESCAPE="#D688D4"
export RIDER_ERROR="#FF5647" export RIDER_ERROR="#FF5647"
# Shared Rider palette for GNU ls and compatible tools. # Shared Rider palette for GNU ls and compatible tools.
export LS_COLORS="no=0:fi=0:di=1;38;2;57;204;155:ln=1;38;2;102;195;204:or=1;38;2;255;86;71:mi=0:so=38;2;193;145;255:pi=38;2;201;162;109:do=1;38;2;57;204;155:bd=38;2;237;148;192:cd=38;2;237;148;192:su=1;38;2;255;86;71:sg=1;38;2;214;136;212:ex=1;38;2;57;204;155:*.tar=38;2;201;162;109:*.tgz=38;2;201;162;109:*.gz=38;2;201;162;109:*.bz2=38;2;201;162;109:*.xz=38;2;201;162;109:*.zip=38;2;201;162;109:*.7z=38;2;201;162;109:*.zst=38;2;201;162;109:*.rar=38;2;201;162;109:*.jpg=38;2;102;195;204:*.jpeg=38;2;102;195;204:*.png=38;2;102;195;204:*.gif=38;2;102;195;204:*.svg=38;2;102;195;204:*.webp=38;2;102;195;204:*.mp3=38;2;193;145;255:*.flac=38;2;193;145;255:*.wav=38;2;193;145;255:*.mp4=38;2;193;145;255:*.mkv=38;2;193;145;255:*.mov=38;2;193;145;255:*.pdf=38;2;237;148;192:*.md=38;2;133;196;108:*.txt=38;2;189;189;189:*.log=38;2;133;196;108:*.conf=38;2;108;149;235:*.json=38;2;108;149;235:*.yaml=38;2;108;149;235:*.yml=38;2;108;149;235:*.toml=38;2;108;149;235:*.ini=38;2;108;149;235:*.sh=1;38;2;57;204;155:*.bash=1;38;2;57;204;155:*.zsh=1;38;2;57;204;155:*.py=38;2;57;204;155:*.js=38;2;108;149;235:*.ts=38;2;108;149;235:*.tsx=38;2;108;149;235:*.jsx=38;2;108;149;235:*.lua=38;2;225;191;255:*.rs=38;2;225;191;255:*.go=38;2;225;191;255:*.c=38;2;102;195;204:*.h=38;2;102;195;204:*.cpp=38;2;102;195;204:*.hpp=38;2;102;195;204" export LS_COLORS="no=0:fi=0:di=1;38;2;108;149;235:ln=1;38;2;102;195;204:or=38;2;255;86;71:mi=0:so=38;2;102;195;204:pi=38;2;201;162;109:do=1;38;2;57;204;155:bd=38;2;237;148;192:cd=38;2;237;148;192:su=1;38;2;255;86;71:sg=1;38;2;214;136;212:ex=1;38;2;57;204;155:*.tar=38;2;225;191;255:*.tgz=38;2;225;191;255:*.gz=38;2;225;191;255:*.bz2=38;2;225;191;255:*.xz=38;2;225;191;255:*.zip=38;2;225;191;255:*.7z=38;2;225;191;255:*.zst=38;2;225;191;255:*.rar=38;2;225;191;255:*.jpg=38;2;193;145;255:*.jpeg=38;2;193;145;255:*.png=38;2;193;145;255:*.gif=38;2;193;145;255:*.svg=38;2;193;145;255:*.webp=38;2;193;145;255:*.mp3=38;2;193;145;255:*.flac=38;2;193;145;255:*.wav=38;2;193;145;255:*.mp4=38;2;193;145;255:*.mkv=38;2;193;145;255:*.mov=38;2;193;145;255:*.pdf=38;2;133;196;108:*.md=38;2;133;196;108:*.txt=38;2;133;196;108:*.log=38;2;133;196;108:*.conf=38;2;201;162;109:*.json=38;2;201;162;109:*.yaml=38;2;201;162;109:*.yml=38;2;201;162;109:*.toml=38;2;201;162;109:*.ini=38;2;201;162;109:*.sh=38;2;57;204;155:*.bash=38;2;57;204;155:*.zsh=38;2;57;204;155:*.py=38;2;102;195;204:*.js=38;2;102;195;204:*.ts=38;2;102;195;204:*.tsx=38;2;102;195;204:*.jsx=38;2;102;195;204:*.lua=38;2;102;195;204:*.rs=38;2;102;195;204:*.go=38;2;102;195;204:*.c=38;2;102;195;204:*.h=38;2;102;195;204:*.cpp=38;2;102;195;204:*.hpp=38;2;102;195;204:*.cs=38;2;102;195;204"

View File

@@ -2,18 +2,16 @@
# Source this near the end of ~/.tmux.conf. # Source this near the end of ~/.tmux.conf.
set -g status-style "bg=#191A1C,fg=#F0F0F0" set -g status-style "bg=#191A1C,fg=#F0F0F0"
set -g status-left-style "bg=#191A1C,fg=#F0F0F0" set -g status-left-length 80
set -g status-right-style "bg=#191A1C,fg=#F0F0F0"
set -g status-left-length 48
set -g status-right-length 80 set -g status-right-length 80
set -g status-justify centre set -g status-justify centre
set -g window-status-separator " " set -g window-status-separator " "
set -g status-left "#[fg=#191A1C,bg=#39CC9B,bold] #S #[fg=#39CC9B,bg=#191A1C]" set -g status-left "#[fg=#191A1C,bg=#39CC9B,bold] #S #[fg=#39CC9B,bg=#191A1C]"
set -g status-right "#[fg=#66C3CC,bg=#191A1C]#[fg=#191A1C,bg=#66C3CC] %Y-%m-%d #[fg=#C9A26D,bg=#66C3CC]#[fg=#191A1C,bg=#C9A26D] %H:%M#[fg=#C9A26D,bg=#191A1C]" set -g status-right "#[fg=#66C3CC,bg=#191A1C]#[fg=#191A1C,bg=#66C3CC] %Y-%m-%d #[fg=#C9A26D,bg=#66C3CC]#[fg=#191A1C,bg=#C9A26D] %H:%M#[fg=#C9A26D,bg=#191A1C]"
set -g message-style "bg=#202424,fg=#F0F0F0" set -g message-style "bg=#202424,fg=#F0F0F0"
set -g message-command-style "bg=#202424,fg=#F0F0F0" set -g message-command-style "bg=#202424,fg=#F0F0F0"
set -g mode-style "bg=#08335E,fg=#F0F0F0" set -g mode-style "bg=#08335E"
set -g pane-border-style "fg=#404040" set -g pane-border-style "fg=#404040"
set -g pane-active-border-style "fg=#6C95EB" set -g pane-active-border-style "fg=#6C95EB"

View File

@@ -13,12 +13,21 @@ set -g pane-base-index 1
set -g renumber-windows on set -g renumber-windows on
set -g status-position top set -g status-position top
unbind =
bind = select-layout -E
# using vim motions # using vim motions
bind-key h select-pane -L bind-key h select-pane -L
bind-key j select-pane -D bind-key j select-pane -D
bind-key k select-pane -U bind-key k select-pane -U
bind-key l select-pane -R bind-key l select-pane -R
# resize panes
bind -r H resize-pane -L
bind -r J resize-pane -D
bind -r K resize-pane -U
bind -r L resize-pane -R
# Split panes in the same directory # Split panes in the same directory
bind '"' split-window -v -c "#{pane_current_path}" bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}"

View File

@@ -1,50 +1,55 @@
{ {
"layer": "top", "layer": "bottom",
"position": "top", "position": "bottom",
"mod": "dock", "mod": "dock",
"margin-left": 10, "margin-left": 0,
"margin-right": 10, "margin-right": 0,
"margin-top": 10, "margin-top": 0,
"margin-bottom": 0, "margin-bottom": 0,
"exclusive": true, "exclusive": true,
"passthrough": false, "passthrough": false,
"gtk-layer-shell": true, "gtk-layer-shell": true,
"reload_style_on_change": true, "reload_style_on_change": true,
"modules-left": [ "modules-left": [
"custom/launcher", "hyprland/workspaces"
"hyprland/workspaces",
"hyprland/window"
], ],
"modules-center": [ "modules-center": [
"clock" "clock"
], ],
"modules-right": [ "modules-right": [
"tray",
"custom/print-queue",
"network", "network",
"bluetooth", "bluetooth",
"pulseaudio", "pulseaudio",
"cpu", "battery",
"memory", "custom/mako",
"tray",
"custom/power" "custom/power"
], ],
"custom/launcher": { "battery": {
"format": "", "states": {
"tooltip": true, "warning": 30,
"tooltip-format": "Open Walker", "critical": 15
"on-click": "walker",
"on-click-right": "thunar"
}, },
"memory": { "format": "{icon} {capacity}%",
"interval": 5, "format-charging": "󰂄 {capacity}%",
"format": "󰍛 {}%" "format-plugged": " {capacity}%",
}, "format-full": "󰁹 100%",
"cpu": { "format-icons": [
"interval": 5, "󰂎",
"format": "󰻠 {usage}%" "󰁺",
"󰁼",
"󰁾",
"󰂀",
"󰂂",
"󰁹"
],
"interval": 10,
"tooltip": true
}, },
"tray": { "tray": {
"icon-size": 18, "icon-size": 22,
"spacing": 6, "spacing": 14,
"rotate": 0 "rotate": 0
}, },
"custom/power": { "custom/power": {
@@ -61,26 +66,27 @@
"lock": "hyprlock" "lock": "hyprlock"
} }
}, },
"custom/print-queue": {
"exec": "$HOME/.config/waybar/scripts/print-queue.sh",
"return-type": "json",
"interval": 10,
"format": "{}",
"tooltip": true,
"on-click": "$HOME/.config/waybar/scripts/print-queue-view.sh"
},
"custom/mako": {
"exec": "$HOME/.config/waybar/scripts/mako-notifications.sh status",
"return-type": "json",
"interval": 5,
"signal": 8,
"format": "{}",
"tooltip": true,
"on-click": "$HOME/.config/waybar/scripts/mako-notifications.sh toggle",
"on-click-right": "$HOME/.config/waybar/scripts/mako-notifications.sh list"
},
"hyprland/workspaces": { "hyprland/workspaces": {
"all-outputs": false, "all-outputs": false,
"sort-by-number": true, "sort-by-number": true
"format": "{icon}",
"format-icons": {
"1": "󰎤",
"2": "󰎧",
"3": "󰎪",
"4": "󰎭",
"5": "󰎱",
"6": "󰎳",
"7": "󰎶",
"8": "󰎹",
"9": "󰎼",
"10": "󰽽",
"urgent": "",
"active": "",
"default": "",
"empty": ""
}
}, },
"hyprland/window": { "hyprland/window": {
"separate-outputs": true, "separate-outputs": true,
@@ -91,9 +97,8 @@
} }
}, },
"clock": { "clock": {
"format": "󰃰 {:%a %d %b} 󰥔 {:%H:%M}", "format": "{:%A %R}",
"rotate": 0, "rotate": 0,
"on-click": "walker",
"tooltip-format": "<tt>{calendar}</tt>", "tooltip-format": "<tt>{calendar}</tt>",
"calendar": { "calendar": {
"mode": "year", "mode": "year",

View File

@@ -1,17 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<interface> <interface>
<object class="GtkMenu" id="menu"> <object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="section-session">
<property name="label">Session</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<style>
<class name="section-header"/>
</style>
</object>
</child>
<!-- Session controls -->
<child> <child>
<object class="GtkMenuItem" id="lock"> <object class="GtkMenuItem" id="lock">
<property name="label"> Lock</property> <property name="label">󰌾 Lock</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkMenuItem" id="logout"> <object class="GtkMenuItem" id="logout">
<property name="label">󰍃 Logout</property> <property name="label">󰍃 Log Out</property>
</object> </object>
</child> </child>
@@ -19,15 +28,26 @@
<object class="GtkSeparatorMenuItem" id="sep1"/> <object class="GtkSeparatorMenuItem" id="sep1"/>
</child> </child>
<!-- Power controls -->
<child> <child>
<object class="GtkMenuItem" id="suspend"> <object class="GtkMenuItem" id="section-sleep">
<property name="label"> Suspend</property> <property name="label">Sleep</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<style>
<class name="section-header"/>
</style>
</object> </object>
</child> </child>
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">󰤄 Suspend</property>
</object>
</child>
<child> <child>
<object class="GtkMenuItem" id="hibernate"> <object class="GtkMenuItem" id="hibernate">
<property name="label"> Hibernate</property> <property name="label">󰒲 Hibernate</property>
</object> </object>
</child> </child>
@@ -36,16 +56,26 @@
</child> </child>
<child> <child>
<object class="GtkMenuItem" id="shutdown"> <object class="GtkMenuItem" id="section-power">
<property name="label">⏻ Shutdown</property> <property name="label">Power</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<style>
<class name="section-header"/>
</style>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkMenuItem" id="reboot"> <object class="GtkMenuItem" id="reboot">
<property name="label"> Reboot</property> <property name="label">󰜉 Reboot</property>
</object> </object>
</child> </child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">󰐥 Shut Down</property>
</object>
</child>
</object> </object>
</interface> </interface>

View File

@@ -0,0 +1,135 @@
#!/usr/bin/env sh
set -eu
dnd_mode="do-not-disturb"
json_string() {
if command -v jq >/dev/null 2>&1; then
printf '%s' "$1" | jq -Rs .
return
fi
printf '%s' "$1" | awk '
BEGIN { ORS = "" }
{
gsub(/\\/, "\\\\")
gsub(/"/, "\\\"")
gsub(/\t/, "\\t")
if (NR > 1) {
printf "\\n"
}
printf "%s", $0
}
END { printf "\n" }
'
}
refresh_waybar() {
pkill -RTMIN+8 waybar >/dev/null 2>&1 || true
}
notification_count() {
if ! command -v jq >/dev/null 2>&1; then
printf '0'
return
fi
makoctl list -j 2>/dev/null \
| jq '[.. | objects | select(has("id"))] | length' 2>/dev/null \
|| printf '0'
}
is_dnd() {
makoctl mode 2>/dev/null | grep -qx "$dnd_mode"
}
status() {
if ! modes="$(makoctl mode 2>/dev/null)"; then
text="$(json_string " n/a")"
class="$(json_string "disabled")"
tooltip="$(json_string "Mako is unavailable")"
printf '{"text":%s,"class":%s,"tooltip":%s}\n' "$text" "$class" "$tooltip"
return
fi
count="$(notification_count)"
count="${count:-0}"
if printf '%s\n' "$modes" | grep -qx "$dnd_mode"; then
state="dnd"
icon=""
label="Do Not Disturb is on"
elif [ "$count" -gt 0 ] 2>/dev/null; then
state="active"
icon=""
label="Do Not Disturb is off"
else
state="normal"
icon=""
label="Do Not Disturb is off"
fi
text="$(json_string "$icon $count")"
class="$(json_string "$state")"
tooltip="$(json_string "$label
$count pending notifications
Left click toggles DND
Right click opens the notification list")"
printf '{"text":%s,"class":%s,"tooltip":%s}\n' "$text" "$class" "$tooltip"
}
toggle() {
makoctl mode -t "$dnd_mode" >/dev/null 2>&1 || true
refresh_waybar
}
list_notifications() {
title="Notifications"
if command -v jq >/dev/null 2>&1; then
list="$(
makoctl list -j 2>/dev/null \
| jq -r '
[.. | objects | select(has("id"))]
| if length == 0 then
"No pending notifications"
else
.[]
| [
(."app-name" // .app_name // "app"),
(.summary // ""),
(.body // "")
]
| map(select(. != ""))
| join(" - ")
end
' 2>/dev/null
)"
else
list="$(makoctl list 2>/dev/null || printf 'No pending notifications')"
fi
if [ -z "$list" ]; then
list="No pending notifications"
fi
if command -v wofi >/dev/null 2>&1; then
printf '%s\n' "$list" | wofi --dmenu --prompt "$title" >/dev/null 2>&1 || true
elif command -v alacritty >/dev/null 2>&1; then
tmp="${TMPDIR:-/tmp}/mako-notifications.$$"
printf '%s\n' "$list" > "$tmp"
alacritty -e sh -c 'printf "%s\n\n" "$1"; cat "$2"; printf "\nPress Enter to close."; read -r _' sh "$title" "$tmp"
rm -f "$tmp"
else
printf '%s\n' "$list"
fi
}
case "${1:-status}" in
status) status ;;
toggle) toggle ;;
list) list_notifications ;;
*) status ;;
esac

View File

@@ -0,0 +1,30 @@
#!/usr/bin/env sh
if command -v system-config-printer >/dev/null 2>&1; then
exec system-config-printer
fi
if command -v alacritty >/dev/null 2>&1; then
exec alacritty -e sh -lc '
while :; do
clear
printf "Print Queue\n"
printf "===========\n\n"
if ! lpstat -r >/dev/null 2>&1; then
printf "CUPS scheduler is not running.\n"
else
if ! lpstat -o 2>/dev/null | sed "/^[[:space:]]*$/d" | grep . >/dev/null 2>&1; then
printf "No print jobs queued.\n"
else
lpstat -o
fi
fi
printf "\nRefreshing every 3 seconds. Press Ctrl+C to close."
sleep 3
done
'
fi
exec xdg-open http://localhost:631/jobs/

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env sh
jobs_output="$(lpstat -o 2>/dev/null)"
status=$?
if [ "$status" -ne 0 ]; then
printf '%s\n' '{"text":"󰐪 n/a","class":"disabled","tooltip":"CUPS is unavailable"}'
exit 0
fi
if [ -z "$jobs_output" ]; then
printf '%s\n' '{"text":"","class":"idle","tooltip":"No print jobs queued"}'
exit 0
fi
job_count="$(printf '%s\n' "$jobs_output" | sed '/^[[:space:]]*$/d' | wc -l | tr -d ' ')"
if [ "$job_count" = "1" ]; then
tooltip="1 print job queued"
else
tooltip="$job_count print jobs queued"
fi
printf '{"text":"󰐪 %s","class":"active","tooltip":"%s"}\n' "$job_count" "$tooltip"

View File

@@ -1,6 +1,6 @@
@import url("../rider-palette/palette.css"); @import url("../rider-palette/palette.css");
@define-color foreground @rider-fg-bright; @define-color foreground @rider-fg;
@define-color foreground-muted @rider-fg-gutter; @define-color foreground-muted @rider-fg-gutter;
@define-color background @rider-bg; @define-color background @rider-bg;
@define-color background-alt @rider-cursor-line; @define-color background-alt @rider-cursor-line;
@@ -11,22 +11,29 @@
@define-color warning @rider-string; @define-color warning @rider-string;
@define-color danger @rider-error; @define-color danger @rider-error;
/* font-family: 'JetBrainsMono Nerd Font Mono';*/
* { * {
color: @foreground; color: @foreground;
font-family: 'JetBrainsMono Nerd Font Mono'; font-family: 'JetBrainsMono Nerd Font';
font-size: 15px; font-size: 17px;
min-height: 0;
} }
window#waybar { window#waybar {
background: transparent; background: @background;
border-top: 1px solid alpha(@foreground, 0.28);
border-radius: 0px;
box-shadow: none;
color: @foreground; color: @foreground;
} }
window#waybar>box {
padding: 4px 2px;
}
tooltip { tooltip {
background: @background; background: @background;
border: 1px solid @accent-alt; border: 1px solid @accent-alt;
border-radius: 12px; border-radius: 14px;
} }
.modules-left, .modules-left,
@@ -39,27 +46,50 @@ tooltip {
#workspaces, #workspaces,
#window, #window,
#clock, #clock,
#custom-print-queue,
#network, #network,
#bluetooth, #bluetooth,
#pulseaudio, #pulseaudio,
#cpu, #battery,
#memory, #custom-mako,
#tray, #tray,
#custom-power { #custom-power {
background: @background; background: transparent;
border: 1px solid alpha(@accent-alt, 0.22); border: none;
border-radius: 14px; border-left: 1px solid alpha(@foreground, 0.18);
margin: 0 5px; border-radius: 0;
box-shadow: none;
margin: 0;
padding: 0 12px; padding: 0 12px;
min-height: 34px;
} }
#custom-launcher { #custom-launcher,
background: @accent; #workspaces,
border-color: @accent; #clock,
color: @background; #custom-print-queue,
font-size: 18px; #tray {
padding: 0 14px 0 12px; border-left: none;
}
#bluetooth,
#pulseaudio {
border-left: none;
}
#custom-print-queue {
padding: 0 12px;
}
#network {
padding: 0 7px 0 12px;
}
#bluetooth {
padding: 0 7px;
}
#pulseaudio {
padding: 0 12px 0 7px;
} }
#workspaces { #workspaces {
@@ -68,14 +98,19 @@ tooltip {
#workspaces button { #workspaces button {
all: initial; all: initial;
min-width: 18px; min-width: 29px;
padding: 0 8px; padding: 0 5px;
margin: 5px 2px; margin: 2px 2px;
border-radius: 10px; border-radius: 7px;
color: @foreground-muted;
opacity: 0.9; opacity: 0.9;
} }
#workspaces button label {
color: inherit;
margin: 0;
padding: 0;
}
#workspaces button.empty { #workspaces button.empty {
color: @foreground-muted; color: @foreground-muted;
opacity: 0.45; opacity: 0.45;
@@ -87,38 +122,32 @@ tooltip {
} }
#workspaces button.active { #workspaces button.active {
color: @background; color: @accent;
background: @accent; background: alpha(@accent, 0.16);
opacity: 1; }
#workspaces button.active label {
color: @accent;
}
#workspaces button.urgent {
color: @foreground;
background: alpha(@danger, 0.26);
}
#workspaces button.urgent label {
color: @foreground;
} }
#window { #window {
color: @foreground-muted; color: @foreground-muted;
padding-right: 16px; padding: 0 17px;
} }
#clock { #clock {
border-color: alpha(@accent, 0.35);
color: @foreground;
font-weight: 700;
padding: 0 18px; padding: 0 18px;
} box-shadow: none;
border: none;
#network {
color: @accent-soft;
}
#bluetooth {
color: @type;
}
#pulseaudio {
color: @accent;
}
#cpu,
#memory {
color: @warning;
} }
#tray { #tray {
@@ -126,29 +155,88 @@ tooltip {
} }
#custom-power { #custom-power {
color: @danger; padding: 0px 19px 0px 14px;
padding: 0 13px; }
#custom-mako {
min-width: 42px;
}
#custom-mako.active {
color: @accent;
} }
#custom-launcher:hover, #custom-launcher:hover,
#workspaces button:hover, #workspaces button:hover,
#network:hover, #network:hover,
#custom-print-queue:hover,
#bluetooth:hover, #bluetooth:hover,
#pulseaudio:hover, #pulseaudio:hover,
#cpu:hover, #battery:hover,
#memory:hover, #custom-mako:hover,
#tray:hover, #tray:hover,
#custom-power:hover, #custom-power:hover,
#clock:hover { #clock:hover {
box-shadow: none; box-shadow: none;
background: @background-alt; background: alpha(@background-alt, 0.68);
} }
#custom-launcher:hover, #custom-launcher:hover,
#workspaces button.active:hover { #workspaces button.active:hover {
background: @accent; background: alpha(@accent, 0.28);
} }
.hidden { .hidden {
opacity: 0; opacity: 0;
} }
menu#menu {
background: @background;
border: 1px solid alpha(@accent-alt, 0.24);
border-radius: 17px;
padding: 10px;
}
menu#menu menuitem {
border-radius: 12px;
margin: 12px;
padding: 10px 14px;
}
menu#menu menuitem:hover {
background: @background-alt;
}
menu#menu menuitem.section-header {
color: @foreground-muted;
font-size: 17px;
margin-top: 4px;
padding: 5px 14px;
}
menu#menu menuitem#lock {
color: @accent;
}
menu#menu menuitem#logout {
color: @accent-soft;
}
menu#menu menuitem#suspend,
menu#menu menuitem#hibernate {
color: @type;
}
menu#menu menuitem#reboot {
color: @warning;
}
menu#menu menuitem#shutdown {
color: @danger;
font-weight: 700;
}
menu#menu separator {
background: alpha(@accent-alt, 0.24);
margin: 7px 12px;
}

View File

@@ -8,6 +8,9 @@ fi
# If you come from bash you might have to change your $PATH. # 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/bin:$HOME/.local/bin:/usr/local/bin:$PATH
# Export path to include Cargo
export PATH="$HOME/.cargo/bin:$PATH"
# Path to your Oh My Zsh installation. # Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh" export ZSH="$HOME/.oh-my-zsh"
@@ -130,3 +133,4 @@ fi
if ls --color=auto -d . >/dev/null 2>&1; then if ls --color=auto -d . >/dev/null 2>&1; then
alias ls='ls --color=auto' alias ls='ls --color=auto'
fi fi
export PATH="$HOME/go/bin:$HOME/.cargo/bin:$PATH"