Compare commits

...

67 Commits

Author SHA1 Message Date
047a4808cc Updated config 2025-04-13 15:20:52 +02:00
ead7d8c480 Updated config 2025-04-04 16:30:58 +02:00
4c2971044a Updated config 2025-03-28 22:12:24 +01:00
9c4c9eb38f Updated config 2025-03-28 15:33:49 +01:00
308823b1e8 Updated config 2025-03-25 16:37:27 +01:00
67c7037866 Updated config 2025-03-24 11:12:08 +01:00
a94d05eede Updated config 2025-03-24 11:08:46 +01:00
08427161a2 Updated config 2025-03-21 20:15:53 +01:00
92efc41e6e Updated config 2025-03-21 17:38:04 +01:00
02cf6da26a Updated config 2025-03-21 17:00:05 +01:00
52cc73aed5 Updated config 2025-03-21 16:31:57 +01:00
03d943541d Updated config 2025-03-10 10:10:09 +01:00
63cc79e5ae Updated config 2025-03-09 22:11:56 +01:00
87007955eb Updated config 2025-03-07 16:22:30 +01:00
3fb4a346b8 Updated config 2025-02-13 15:32:17 +01:00
cf03acd24a Updated config 2025-02-12 10:30:10 +01:00
eff6b82f1f Updated config 2025-02-11 17:54:18 +01:00
8931c1696f Updated config 2025-02-11 17:37:34 +01:00
483f1614a0 Updated config 2025-02-07 19:40:27 +01:00
549b443893 Updated config 2025-02-05 09:58:20 +01:00
e411d35dd3 Updated config 2025-02-02 20:04:52 +01:00
86f53356d1 Updated config 2025-02-02 11:05:39 +01:00
ffd1fd767a Updated config 2025-01-25 22:59:35 +01:00
02248d3c8b Updated config 2025-01-25 22:09:37 +01:00
e2fed71e49 Updated config 2025-01-24 11:18:26 +01:00
56aa5d1e9d Updated config 2025-01-24 11:04:56 +01:00
f0f26f7b6b Updated config 2025-01-21 09:55:39 +01:00
201ef6fd3b Updated config 2025-01-20 22:53:56 +01:00
ff6d581fa5 Updated config 2025-01-20 13:47:32 +01:00
e0b8d3886b Updated config 2024-08-13 00:23:01 +02:00
6051260a5c Updated config 2024-08-10 17:36:39 +02:00
deaf4ecbb9 Updated config 2024-07-31 11:48:59 +02:00
553844b092 Updated config 2024-07-25 12:11:42 +02:00
70a484d2a4 Updated config 2024-07-23 10:34:18 +02:00
86cb944fa1 Updated config 2024-07-23 10:28:52 +02:00
059260eaae Updated config 2024-07-22 09:37:50 +02:00
4262236e71 Updated config 2024-07-15 15:59:55 +02:00
a6622041a9 Updated config 2024-07-14 16:01:03 +02:00
18683b4d79 Updated config 2024-07-12 22:24:07 +02:00
aef5bc74b2 Added zed config 2024-07-11 23:56:03 +02:00
2430319001 Updated config 2024-07-11 11:21:04 +02:00
7dc88dea9c Updated config 2024-07-10 21:40:50 +02:00
8c1ac7bf90 Updated config 2024-07-08 17:51:17 +02:00
72f0126311 Updated config 2024-07-06 16:12:34 +02:00
1d43fe06c2 Updated config 2024-07-02 17:07:24 +02:00
ab3930e7a3 Updated config 2024-06-28 21:10:40 +02:00
c4b2f4946d Updated config 2024-06-28 09:59:26 +02:00
42c60d64ab Updated config 2024-06-27 22:53:41 +02:00
8e0dd3f050 Updated config 2024-06-26 15:49:03 +02:00
63057fae7a Updated config 2024-06-24 10:29:54 +02:00
a789bfb97a Updated config 2024-06-23 11:23:10 +02:00
2449bfbccc Updated config 2024-06-21 16:42:08 +02:00
d356f59c23 Updated config 2024-06-20 09:26:24 +02:00
93a4ec7f7e Updated config 2024-06-19 16:52:32 +02:00
0a339fad34 Updated config 2024-06-17 19:11:29 +02:00
33e490f05f Updated config 2024-06-17 16:19:21 +02:00
cbc235c993 Updated config 2024-06-11 21:02:22 +02:00
d1a86106db Updated config 2024-06-02 13:08:11 +02:00
4749123761 Updated config 2024-05-31 13:04:39 +02:00
723da392b2 Updated config 2024-05-23 18:11:22 +02:00
d39fe31074 Updated config 2024-04-11 18:24:39 +02:00
a6b6c608aa Updated config 2024-04-11 12:53:14 +02:00
ea23c1fbce Updated config 2024-04-05 20:07:55 +02:00
cffa57255b Updated config 2024-03-31 11:54:31 +02:00
6e3a289407 Updated config 2024-03-27 00:09:55 +01:00
b9c4ed16a7 Updated config 2024-03-26 23:48:06 +01:00
6a991f0a61 Updated config 2024-03-26 17:00:49 +01:00
65 changed files with 759 additions and 657 deletions

View File

@ -1,248 +1,76 @@
#? Config file for btop v. 1.3.2
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = True
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_filter_kernel = True
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Show power stats of battery next to charge indicator.
show_battery_watts = True
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""
custom_gpu_name5 = ""

11
.config/cava/config Normal file
View File

@ -0,0 +1,11 @@
[color]
gradient = 1
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'

View File

@ -0,0 +1,51 @@
{
"input": {
"bass_enhancer#0": {
"amount": 3.0,
"blend": 0.0,
"bypass": false,
"floor": 12.0,
"floor-active": true,
"harmonics": 10.0,
"input-gain": 0.0,
"output-gain": 0.0,
"scope": 150.0
},
"blocklist": [],
"limiter#0": {
"alr": false,
"alr-attack": 5.0,
"alr-knee": 0.0,
"alr-release": 50.0,
"attack": 1.0,
"bypass": false,
"dithering": "16bit",
"external-sidechain": false,
"gain-boost": true,
"input-gain": 0.0,
"lookahead": 5.0,
"mode": "Herm Wide",
"output-gain": 0.0,
"oversampling": "Half x2(2L)",
"release": 5.0,
"sidechain-preamp": 0.0,
"stereo-link": 100.0,
"threshold": -1.0
},
"plugins_order": [
"rnnoise#0",
"bass_enhancer#0",
"limiter#0"
],
"rnnoise#0": {
"bypass": false,
"enable-vad": false,
"input-gain": 0.0,
"model-name": "",
"output-gain": 0.0,
"release": 20.0,
"vad-thres": 50.0,
"wet": 0.0
}
}
}

View File

@ -0,0 +1,77 @@
{
"output": {
"bass_enhancer#0": {
"amount": 3.0,
"blend": 0.0,
"bypass": false,
"floor": 12.0,
"floor-active": true,
"harmonics": 10.0,
"input-gain": 0.0,
"output-gain": 0.0,
"scope": 150.0
},
"blocklist": [],
"filter#0": {
"balance": 0.0,
"bypass": false,
"equal-mode": "IIR",
"frequency": 12.0,
"gain": 0.0,
"input-gain": 0.0,
"mode": "RLC (BT)",
"output-gain": 0.0,
"quality": 0.0,
"slope": "x1",
"type": "High-pass",
"width": 4.0
},
"limiter#0": {
"alr": false,
"alr-attack": 5.0,
"alr-knee": 0.0,
"alr-release": 50.0,
"attack": 2.0,
"bypass": false,
"dithering": "None",
"external-sidechain": false,
"gain-boost": true,
"input-gain": 0.0,
"lookahead": 4.0,
"mode": "Herm Thin",
"output-gain": 0.0,
"oversampling": "Half x4(3L)",
"release": 8.0,
"sidechain-preamp": 0.0,
"stereo-link": 100.0,
"threshold": 0.0
},
"plugins_order": [
"filter#0",
"bass_enhancer#0",
"stereo_tools#0",
"limiter#0"
],
"stereo_tools#0": {
"balance-in": 0.0,
"balance-out": 0.0,
"bypass": false,
"delay": 0.0,
"input-gain": 0.0,
"middle-level": 0.0,
"middle-panorama": 0.0,
"mode": "LR > LR (Stereo Default)",
"mutel": false,
"muter": false,
"output-gain": 0.0,
"phasel": false,
"phaser": false,
"sc-level": 1.0,
"side-balance": 0.0,
"side-level": 0.0,
"softclip": false,
"stereo-base": 0.25,
"stereo-phase": 0.0
}
}
}

View File

@ -1,4 +1,6 @@
XDG_CACHE_HOME=$HOME/.cache
XDG_CONFIG_HOME=$HOME/.config
XDG_DATA_HOME=$HOME/.local/share
XDG_STATE_HOME=$HOME/.local/state
XDG_BIN_HOME=$HOME/.local/bin
XDG_LIB_HOME=$HOME/.local/lib
XDG_STATE_HOME=$HOME/.local/state

View File

@ -4,6 +4,8 @@ DOTNET_CLI_HOME=$XDG_DATA_HOME/dotnet
GOPATH=$XDG_DATA_HOME/go
GTK2_RC_FILES=$XDG_CONFIG_HOME/gtk-2.0/gtkrc
HISTFILE=$XDG_STATE_HOME/bash/history
NIMBLE_DIR=$XDG_DATA_HOME/nimble
NUGET_PACKAGES=$XDG_CACHE_HOME/nuget
RUSTUP_HOME=$XDG_DATA_HOME/rustup
W3M_DIR=$XDG_DATA_HOME/w3m
WINEPREFIX=$XDG_DATA_HOME/wine

View File

@ -1,2 +1,6 @@
BROWSER=firefox
EDITOR=nvim
LANG=en_US.UTF-8
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh
PAGER=less
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
TERMINAL=foot

View File

@ -1,3 +0,0 @@
BROWSER=firefox
EDITOR=nvim
TERMINAL=alacritty

View File

@ -0,0 +1,22 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"modules": [
"os",
"kernel",
"shell",
"packages",
"break",
"cpu",
"gpu",
"memory",
"disk",
"break",
"colors"
// "display",
// "de",
// "host",
// "wm",
// "battery",
// "poweradapter",
]
}

View File

@ -1,24 +1,24 @@
# Git
alias g "git"
alias gc "git clone"
alias gd "git diff"
alias gd "git diff --ignore-space-at-eol"
alias gl "git log --oneline"
alias gp "git pull"
alias gs "git status"
alias home "git --git-dir=$HOME/.home/ --work-tree=$HOME"
# Go
alias gb "go build -v"
alias godeps "go list -f '{{ join .Deps \"\n\"}}' ."
alias gt "go test -v"
alias gts "gotestsum"
# Flatpak
alias f "flatpak"
alias fc "flatpak remove --unused"
alias fi "flatpak install"
alias fl "flatpak list --app"
alias fr "flatpak remove"
alias fu "flatpak update"
alias frepair "sudo flatpak repair"
# Home
alias home "git --git-dir=$HOME/.home/ --work-tree=$HOME"
alias homeinit "git clone --bare https://git.urbach.dev/sys/home $HOME/.home && home checkout"
alias h "home"
alias hs "home status"
alias hd "home diff --ignore-space-at-eol"
alias hp "home pull"
# Hyperfine
alias bench "hyperfine --shell=none"
@ -47,39 +47,41 @@ alias p "pacman"
alias pi "sudo pacman -S"
alias pr "sudo pacman -Rs"
alias pu "sudo pacman -Syu"
alias pl "pacman -Q"
alias po "pacman -Qo"
alias pl "pacman -Qq"
alias pe "pacman -Qe"
alias pc "sudo pacman -Sc"
alias paur "pacman -Qm"
alias pfiles "pacman -Ql"
alias porphan "pacman -Qtdq"
alias powner "pacman -Qo"
# Systemctl
alias start "sudo systemctl start"
alias stop "sudo systemctl stop"
alias enable "sudo systemctl enable"
alias disable "sudo systemctl disable"
alias restart "sudo systemctl restart"
alias running "systemctl list-units --type=service --state=running"
alias disabled "systemctl list-unit-files --type=service --state=disabled"
alias enabled "systemctl list-unit-files --type=service --state=enabled"
alias timers "systemctl list-timers"
# Tmux
alias t "tmux"
alias ta "tmux attach"
alias td "tmux detach"
alias tl "tmux ls"
alias tk "tmux kill-server"
# Systemctl
alias s "systemctl"
alias s+ "sudo systemctl start"
alias s- "sudo systemctl stop"
alias se "sudo systemctl enable"
alias sd "sudo systemctl disable"
alias sr "sudo systemctl restart"
alias ss "systemctl status"
alias sl "systemctl list-units --type=service --state=running"
alias sld "systemctl list-unit-files --type=service --state=disabled"
alias sle "systemctl list-unit-files --type=service --state=enabled"
alias slt "systemctl list-timers"
# ...
alias cdp "cd ~/projects"
alias bios "systemctl reboot --firmware-setup"
alias cfg "config"
alias cls "clear"
alias debug "blinkenlights"
alias disasm "llvm-objdump --disassembler-color=on --x86-asm-syntax=intel -d"
alias ff "fastfetch"
alias hex "hexdump -C"
alias log "journalctl"
alias utc "date -u +'%Y-%m-%dT%H:%M:%SZ'"
# Close all windows
alias closeall "wmctrl -l | awk '{print $1}' | xargs -rn1 wmctrl -ic"
alias dl "yt-dlp -x -f bestaudio"
alias mirror "wget --mirror --page-requisites --adjust-extension --no-parent --convert-links"
alias perfstats "perf stat -etask-clock,context-switches,cpu-migrations,page-faults,cycles,branches,branch-misses,instructions,uops_issued.any,uops_executed.thread,idq_uops_not_delivered.core"

View File

@ -4,6 +4,13 @@ if status is-interactive
set -x LS_COLORS di=0:ln=0:so=0:pi=0:ex=0:bd=0:cd=0:su=0:sg=0:tw=0:ow=0
end
# Load systemd user environment
set GENERATOR /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator
if test -e $GENERATOR
export ($GENERATOR)
end
# Add to PATH
fish_add_path $GOPATH/bin
fish_add_path $HOME/.local/bin
fish_add_path (go env GOPATH)/bin
fish_add_path $XDG_CONFIG_HOME/fish/scripts

View File

@ -1,6 +1,6 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:707A8C
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:00ff00
@ -42,4 +42,4 @@ SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_prompt_pwd_dir_length:0
SETUVAR fish_user_paths:/home/eduard/\x2elocal/share/go/bin\x1e/home/eduard/\x2elocal/bin
SETUVAR fish_user_paths:/home/eduard/\x2econfig/fish/scripts\x1e/home/eduard/\x2elocal/share/go/bin\x1e/home/eduard/\x2elocal/bin

View File

@ -0,0 +1,3 @@
function countchars
tr -d '\n' < $argv[1] | fold -w1 | sort | uniq -c | sort -nr
end

View File

@ -0,0 +1,8 @@
function f
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end

View File

@ -0,0 +1,9 @@
function gpr
for dir in (find . -type d -name ".git")
set repo (dirname $dir)
set_color green
echo "Updating $repo"
set_color normal
git -C $repo pull
end
end

View File

@ -0,0 +1,15 @@
function t
if not tmux has-session -t main 2>/dev/null
init_session
end
tmux attach-session -t main
end
function init_session
tmux new-session -d -s main -d -x (tput cols) -y (tput lines)
tmux split-window -v -l 10 journalctl -f
tmux select-pane -t 0
tmux split-window -h -l 50 btop
tmux select-pane -t 0
end

20
.config/fish/scripts/backup Executable file
View File

@ -0,0 +1,20 @@
#!/bin/fish
set DIRECTORIES documents music pictures projects videos
set EXCLUDES node_modules .cache .godot .svelte-kit
set FLAGS -avz --delete
set HOSTS $argv
set USER (whoami)
set DESTINATION "~/files/"
for exclude in $EXCLUDES
set -a FLAGS --exclude $exclude
end
for host in $HOSTS
echo "[$host]"
for DIR in $DIRECTORIES
echo "Backing up $DIR..."
rsync $FLAGS ~/$DIR $USER@$host:$DESTINATION
end
end

26
.config/fish/scripts/gitloc Executable file
View File

@ -0,0 +1,26 @@
#!/bin/fish
echo "This will modify your git repository to count the lines of code for each commit."
read -l -P "Do you want to continue? [y/N] " CONFIRM
if test -z $CONFIRM; or test $CONFIRM != 'y'
return
end
if not command -q tokei
echo "tokei is not installed"
return
end
if not command -q jq
echo "jq is not installed"
return
end
git log --pretty=format:"%h" --reverse | read -za COMMITS
for commit in $COMMITS
git checkout $commit &> /dev/null
tokei --output json | jq ".Total.code"
end
git checkout main &> /dev/null

21
.config/foot/foot.ini Normal file
View File

@ -0,0 +1,21 @@
font=UbuntuMono Nerd Font:size=15.5
[colors]
background=26292C
foreground=E0E0E0
regular0=272822
regular1=F92672
regular2=A6E22E
regular3=F4BF75
regular4=66D9EF
regular5=AE81FF
regular6=A1EFE4
regular7=F8F8F2
bright0=75715E
bright1=F92672
bright2=A6E22E
bright3=F4BF75
bright4=66D9EF
bright5=AE81FF
bright6=A1EFE4
bright7=F9F8F5

View File

@ -1,12 +0,0 @@
animations {
enabled = no
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 2, myBezier
animation = windowsOut, 1, 2, default, popin 80%
animation = border, 1, 5, default
animation = borderangle, 1, 3, default
animation = fade, 1, 2, default
animation = workspaces, 1, 1, default
}

View File

@ -1,2 +1,5 @@
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waypaper --restore
exec-once = wl-paste --watch cliphist store
exec-once = $statusbar

View File

@ -1,19 +1,41 @@
# Firefox
env = MOZ_ENABLE_WAYLAND,1
# Qt
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
# Wayland
env = XDG_SESSION_TYPE,wayland
env = CLUTTER_BACKEND,wayland
env = EGL_PLATFORM,wayland
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = GDK_BACKEND,wayland
env = GSK_RENDERER,vulkan
env = MOZ_ENABLE_WAYLAND,1
env = SDL_VIDEODRIVER,wayland,x11,windows
# Wlroots
env = WLR_NO_HARDWARE_CURSORS,1
env = WLR_RENDERER,vulkan
# Load shared objects immediately
env = LD_BIND_NOW,1
# OpenGL
env = __GL_GSYNC_ALLOWED,1
env = __GL_SHADER_DISK_CACHE_SKIP_CLEANUP,1
env = __GL_SYNC_TO_VBLANK,0
env = __GL_VRR_ALLOWED,1
# Proton
env = PROTON_ENABLE_WAYLAND,1
env = PROTON_NO_WM_DECORATION,1
env = PROTON_PREFER_SDL_INPUT,1
# Vulkan
env = DXVK_ASYNC,1
env = GSK_RENDERER,vulkan
# X11
env = XCURSOR_SIZE,24
# XDG
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_UTILS_BROWSER, $browser
env = XDG_UTILS_FILEMANAGER, $files
env = XDG_UTILS_TERMINAL, $terminal

View File

@ -1,68 +1,72 @@
general {
gaps_in = 0
gaps_out = 0
border_size = 0
layout = dwindle
gaps_in = 5
gaps_out = 10
border_size = 1
allow_tearing = true
col.active_border = rgb(7f7f7f)
col.inactive_border = rgb(4f4f4f)
}
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
decoration {
rounding = 5
active_opacity = 1.0
inactive_opacity = 0.9
blur {
enabled = true
}
shadow {
enabled = true
range = 100
render_power = 3
color = rgba(1a1a1aaf)
offset = 0 40
scale = 0.9
}
}
animations {
animation = border, 0
animation = borderangle, 0
animation = workspaces, 0
animation = fade, 1, 2, default
animation = windows, 1, 2, default
animation = windowsOut, 1, 2, default, popin 80%
}
render {
explicit_sync = 1
explicit_sync_kms = 1
direct_scanout = true
}
misc {
vrr = true
vfr = true
animate_manual_resizes = false
render_ahead_of_time = false
}
cursor {
use_cpu_buffer = true
no_hardware_cursors = true
}
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
touchpad {
natural_scroll = no
}
follow_mouse = 1
sensitivity = 0
accel_profile = flat
sensitivity = 0
}
dwindle {
preserve_split = yes
}
ecosystem {
no_update_news = true
no_donation_nag = true
}
debug {
overlay = false
}
decoration {
rounding = 0
blur {
enabled = false
size = 4
passes = 4
new_optimizations = on
ignore_opacity = on
xray = false
}
drop_shadow = no
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
#active_opacity = 0.9
#inactive_opacity = 0.9
}
dwindle {
pseudotile = yes
preserve_split = yes
}
master {
new_is_master = true
}
gestures {
workspace_swipe = off
}
misc {
force_default_wallpaper = 0
}
}

View File

@ -3,7 +3,6 @@ source = programs.conf
source = environment.conf
source = autostart.conf
source = general.conf
source = animations.conf
source = rules.conf
source = keys.conf
source = typing.conf
source = typing.conf

View File

@ -4,20 +4,21 @@ $main = SUPER
bind = $main, B, exec, $browser
bind = $main, D, exec, $editor
bind = $main, E, exec, $files
bind = $main, F1, exec, $systeminfo
bind = $main, L, exec, $lockscreen
bind = $main, P, exec, $processmonitor
bind = $main, Return, exec, $floating
bind = $main, S, exec, pkill $statusbar || $statusbar
bind = $main, Super_L, exec, pkill $menu || $menu
bind = $main, Space, exec, pkill $menu || $menu
bind = $main, T, exec, $terminal
bind = $main, W, exec, $wallpaper
bind = $main, Return, exec, $floating
bind = $main, F1, exec, $systeminfo
bind = $main, U, exec, $update
bind = , Print, exec, $screenshot
# Window management
bind = $main, C, killactive,
bind = $main, F, fullscreen,
bind = $main, V, togglefloating,
bind = $main, P, pseudo,
bind = $main, J, togglesplit,
# Session management
@ -89,4 +90,4 @@ bindl =, XF86AudioPrev, exec, playerctl previous
# Volume control
bindle =, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
bindle =, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
bindl =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

View File

@ -1,13 +1,13 @@
# Apps
$browser = firefox
$email = evolution
$files = nautilus
$files = thunar
$logout = wlogout
$lockscreen = swaylock
$menu = fuzzel
$screenshot = IMG=~/pictures/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png && grim -g "$(slurp -d)" $IMG && wl-copy < $IMG
$statusbar = waybar
$terminal = alacritty
$terminal = foot
$wallpaper = waypaper
# Terminal based
@ -15,3 +15,5 @@ $editor = $terminal -e nvim
$center = [float;size 960 540;center]
$floating = $center $terminal
$systeminfo = $center $terminal --hold -e fastfetch
$processmonitor = $terminal -e btop
$update = $floating -e sudo pacman -Syu

View File

@ -1,5 +1,21 @@
# Blur the status bar
# layerrule = blur, $statusbar
layerrule = blur, $statusbar
layerrule = ignorealpha 0.1, $statusbar
# Blur the launcher
layerrule = blur, launcher
layerrule = ignorealpha 0.1, launcher
# Disable maximize event
windowrulev2 = suppressevent maximize, class:.*
windowrule = suppressevent maximize, class:.*
# Open wallpaper selector in float mode
windowrule = float, class:($wallpaper)
# No gaps when there is a single window
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]

View File

@ -8,6 +8,8 @@ bindle = $mod, Grave, exec, wtype ≈
bindle = $mod, T, exec, wtype ™
bindle = $mod, C, exec, wtype ©
bindle = $mod, R, exec, wtype ®
bindle = $mod, L, exec, wtype λ
bindle = $mod, M, exec, wtype μ
# German language
bindle = $mod, A, exec, wtype ä
@ -19,8 +21,7 @@ bindle = $mod SHIFT, U, exec, wtype Ü
bindle = $mod, S, exec, wtype ß
# Emoji
bindle = $mod, W, exec, wtype 👋
bindle = $mod, H, exec, wtype ❤️
bindle = $mod, L, exec, wtype 👍
bindle = $mod, P, exec, wtype 🙏
bindle = $mod, F, exec, wtype 🤣
bindle = $mod, H, exec, wtype ❤️
bindle = $mod, P, exec, wtype 🙏
bindle = $mod, W, exec, wtype 👋

9
.config/mpv/mpv.conf Normal file
View File

@ -0,0 +1,9 @@
deband
dscale=mitchell
gpu-api=vulkan
hwdec=auto
interpolation
no-osd-bar
profile=high-quality
video-sync=display-resample
vo=gpu-next

View File

@ -1,6 +1,6 @@
require("settings")
require("boot")
require("setup")
require("lsp")
require("packages")
require("keys")
require("autocmds")
require("usercmds")
require("usercmds")

View File

@ -1,21 +0,0 @@
{
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
"flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" },
"gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" },
"lazy.nvim": { "branch": "main", "commit": "08954f723bf2d442ea020551e3acc956f4dc6dc7" },
"mini.completion": { "branch": "main", "commit": "0cf6c4e257b5e8189ac6b3ffa2064a319c4eb8a8" },
"mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" },
"monokai.nvim": { "branch": "master", "commit": "b8bd44d5796503173627d7a1fc51f77ec3a08a63" },
"noice.nvim": { "branch": "main", "commit": "d29b26c329558ee4bb2e7f3cc25078929ef89b2f" },
"nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" },
"nvim-autopairs": { "branch": "master", "commit": "dbfc1c34bed415906395db8303c71039b3a3ffb4" },
"nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
"nvim-tree.lua": { "branch": "master", "commit": "e20966ae558524f8d6f93dc37f5d2a8605f893e2" },
"nvim-treesitter": { "branch": "master", "commit": "965f2e7239ab5e1c5f133d498591f1e70746410c" },
"nvim-web-devicons": { "branch": "master", "commit": "6662f059bf78e6092ba90cd1929599625f448f55" },
"plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" },
"telescope-project.nvim": { "branch": "master", "commit": "1aaf16580a614601a7f7077d9639aeb457dc5559" },
"telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" },
"vim-visual-multi": { "branch": "master", "commit": "fe1ec7e430013b83c8c2dee85ae496251b71e253" }
}

View File

@ -0,0 +1,5 @@
return {
cmd = { "clangd", "--background-index" },
root_markers = { "meson_options.txt", "CMakePresets.json" },
filetypes = { "c", "cpp" },
}

View File

@ -0,0 +1,5 @@
return {
cmd = { "gopls" },
root_markers = { "go.mod", "go.work" },
filetypes = { "go", "gomod", "gowork", "gotmpl" },
}

View File

@ -0,0 +1,5 @@
return {
cmd = { "rust-analyzer" },
root_markers = { "Cargo.toml" },
filetypes = { "rust" },
}

View File

@ -11,6 +11,17 @@ on({ "BufNewFile", "BufRead" }, {
end,
})
on({ "LspAttach" }, {
desc = "LSP completion",
group = group,
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client:supports_method("textDocument/completion") then
vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true })
end
end,
})
on({ "TermOpen", "TermEnter" }, {
desc = "Disable sign column in terminals",
group = group,
@ -56,17 +67,4 @@ on({ "VimEnter" }, {
require("telescope.builtin").find_files()
end
end,
})
-- on({ "VimEnter" }, {
-- desc = "Open file explorer if there is enough horizontal space",
-- group = group,
-- callback = function()
-- local files = require("nvim-tree.api")
-- local width = vim.go.columns
--
-- if width > 120 then
-- files.tree.toggle({ focus = false })
-- end
-- end,
-- })
})

View File

@ -1,12 +0,0 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)

View File

@ -0,0 +1,10 @@
return {
"folke/snacks.nvim",
event = "BufReadPre",
opts = {
explorer = {
replace_netrw = true,
},
},
config = true,
}

View File

@ -2,47 +2,36 @@ local function map(mode, lhs, rhs, info)
vim.keymap.set(mode, lhs, rhs, { desc = info })
end
-- Basics
map("n", ";", ":", "Command mode")
map({ "i", "n" }, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
map({"n", "v"}, "<leader>q", "<cmd>qa!<cr>", "Quit all")
-- Buffer management
map("n", "<C-t>", "<cmd>enew<cr>", "New file")
map({ "i", "n", "s", "v" }, "<C-s>", "<cmd>w<cr>", "Save file")
map("n", "U", "<cmd>redo<cr>", "Redo")
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
map("n", "<C-q>", "<cmd>close<cr>", "Close window")
map("n", "<leader>l", "<cmd>Lazy<cr>", "Lazy")
map({"n", "v"}, "q", "<cmd>qa<cr>", "Quit all")
map({"n", "v"}, "<leader>q", "<cmd>qa!<cr>", "Quit all")
map({"n", "i"}, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
map({"n", "i", "s", "v"}, "<C-s>", "<cmd>w<cr><esc>", "Save file")
-- Copy and paste
map("v", "<C-c>", "y")
map("n", "<C-v>", '"+P<right>')
-- Add or delete empty lines
map("n", "<C-j>", "<cmd>set paste<cr>m`O<esc>``<cmd>set nopaste<cr>", "Add empty line above")
map("n", "<C-k>", "m`<cmd>-g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line above")
map("n", "<A-j>", "<cmd>set paste<cr>m`o<esc>``<cmd>set nopaste<cr>", "Add empty line below")
map("n", "<A-k>", "m`<cmd>+g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line below")
-- Editing lines
map({ "n", "v" }, "<C-b>", "^", "Beginning of line")
map("i", "<C-b>", "<esc>^i", "Beginning of line")
map({ "i", "n", "v" }, "<C-e>", "<end>", "End of line")
map("n", "<C-l>", "^Da", "Rewrite line")
map("i", "<C-l>", "<esc>^Da", "Rewrite line")
map("v", "<C-l>", "V", "Select line")
map("n", "<C-Enter>", "i<Enter>", "Split line")
map({"n", "v"}, "<C-a>", "<esc>ggVG", "Select all")
-- Quick movement
map("n", "J", "}", "Next paragraph")
map("n", "K", "{", "Previous paragraph")
-- Editing multiple instances
map("n", "<f2>", "*#:%s//<C-r><C-w>/g<left><left>", "Replace word under cursor")
map("v", "<f2>", "y/<C-r>\"<cr>N:%s//<C-r>\"/g<left><left>", "Replace selection")
map("n", "<f3>", "#*", "Search word under cursor")
map("v", "<f3>", "y/<C-r>\"<cr>N", "Search selection")
-- map("n", "<C-d>", "viw", "Select word under cursor")
-- map("v", "<C-d>", "y/<C-r>\"<cr>N", "Search selection")
map("n", "<C-r>", "*#:%s//<C-r><C-w>/g<left><left>", "Replace word under cursor")
map("v", "<C-r>", "y/<C-r>\"<cr>N:%s//<C-r>\"/g<left><left>", "Replace selection")
-- Editing words
map("n", "<C-w>", "ciw", "Rewrite word")
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
-- Indenting
map("n", "<Tab>", "V>gv<esc>")
map("n", "<S-Tab>", "V<gv<esc>")
map("v", "<Tab>", ">gv")
map("v", "<S-Tab>", "<gv")
-- Line movement
map({"n", "v"}, "<C-b>", "^", "Beginning of line")
map("i", "<C-b>", "<esc>^i", "Beginning of line")
map({"i", "n", "v"}, "<C-e>", "<end>", "End of line")
-- Increasing and decreasing numbers
map("n", "+", "<C-a>", "Increase number")
@ -50,11 +39,11 @@ map("n", "-", "<C-x>", "Decrease number")
map("n", "<kPlus>", "<C-a>", "Increase number")
map("n", "<kMinus>", "<C-x>", "Decrease number")
-- Package manager
map("n", "<leader>l", "<cmd>Lazy<cr>", "Lazy")
-- Redo
map("n", "U", "<cmd>redo<cr>", "Redo")
-- Indenting
map("n", "<Tab>", "V>gv<esc>")
map("n", "<S-Tab>", "V<gv<esc>")
map("v", "<Tab>", ">gv")
map("v", "<S-Tab>", "<gv")
-- Shift arrow selection
map("n", "<S-Up>", "v<Up>")

9
.config/nvim/lua/lsp.lua Normal file
View File

@ -0,0 +1,9 @@
vim.diagnostic.config({
virtual_lines = true,
})
vim.lsp.enable({
"clangd",
"gopls",
"rust-analyzer",
})

View File

@ -1,3 +1,20 @@
-- Install the package manager if needed
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- Load plugins
require("lazy").setup("plugins", {
defaults = {
lazy = true,
@ -5,6 +22,9 @@ require("lazy").setup("plugins", {
change_detection = {
notify = false
},
rocks = {
enabled = false
},
ui = {
icons = {
ft = "",
@ -46,4 +66,4 @@ require("lazy").setup("plugins", {
},
},
},
})
})

View File

@ -1,5 +1,5 @@
return {
"windwp/nvim-autopairs",
event = "InsertEnter",
config = true,
event = "InsertEnter",
config = true,
}

View File

@ -2,4 +2,4 @@ return {
"lewis6991/gitsigns.nvim",
event = "BufReadPre",
config = true,
}
}

View File

@ -1,20 +1,14 @@
return {
"nvim-telescope/telescope.nvim",
event = "VeryLazy",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-project.nvim",
-- "nvim-telescope/telescope-ui-select.nvim",
},
keys = {
{"<C-Tab>", "<cmd>Telescope buffers<cr>", desc = "Buffers"},
{"<leader>f", "<cmd>Telescope find_files<cr>", desc = "Find files"},
{"<leader>h", "<cmd>Telescope help_tags<cr>", desc = "Help"},
{"<leader>p", "<cmd>Telescope project<cr>", desc = "Projects"},
{"<leader>r", "<cmd>Telescope oldfiles<cr>", desc = "Recent files"},
{"<leader>w", "<cmd>Telescope grep_string<cr>", desc = "Word"},
{"<leader>ds", "<cmd>Telescope lsp_document_symbols<cr>", desc = "Document symbols"},
{"<leader>ws", "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>", desc = "Workspace symbols"},
},
config = function()
require("telescope").setup({
@ -36,14 +30,7 @@ return {
sync_with_nvim_tree = true,
theme = "dropdown",
},
-- ["ui-select"] = {
-- require("telescope.themes").get_dropdown(),
-- },
},
})
require("telescope").load_extension("project")
require("telescope").load_extension("notify")
-- require("telescope").load_extension("ui-select")
end,
}

View File

@ -4,30 +4,10 @@ return {
build = ":TSUpdate",
opts = {
ensure_installed = {
-- basics
"bash",
"json",
"markdown",
"markdown_inline",
"lua",
"regex",
"vim",
-- go
"go",
"gomod",
"gowork",
"gosum",
-- web dev
"html",
"css",
"javascript",
"typescript",
"svelte",
-- game dev
"gdscript",
},
highlight = { enable = true },
indent = { enable = true },

View File

@ -10,6 +10,7 @@ end
local opt = vim.opt
opt.autowrite = false
opt.clipboard = "unnamedplus"
opt.cmdheight = 0
opt.completeopt = "menu,menuone,noinsert"
opt.conceallevel = 0
opt.cursorline = true
@ -51,3 +52,7 @@ opt.statusline = "%{repeat('─',winwidth('.'))}"
-- Undo
opt.undofile = true
opt.undolevels = 10000
-- Virtual text
vim.diagnostic.config({ virtual_lines = true })
vim.lsp.enable({"clangd", "gopls", "rust-analyzer"})

View File

@ -1,7 +1,9 @@
-- ToggleWord
vim.api.nvim_create_user_command("ToggleWord", function()
local inverse = {
["bottom"] = "top",
["horizontal"] = "vertical",
["left"] = "right",
["on"] = "off",
["true"] = "false",
["True"] = "False",
@ -21,8 +23,12 @@ vim.api.nvim_create_user_command("ToggleWord", function()
["=="] = "!=",
}
vim.tbl_add_reverse_lookup(inverse)
for key, value in pairs(inverse) do
inverse[value] = key
end
vim.cmd("normal! yiw")
local yanked = vim.fn.getreg('"')
local flipped = inverse[yanked]
@ -31,4 +37,4 @@ vim.api.nvim_create_user_command("ToggleWord", function()
end
vim.cmd("normal! ciw" .. flipped)
end, {})
end, {})

View File

@ -2,5 +2,19 @@
{
"key": "ctrl+,",
"command": "workbench.action.openSettingsJson"
},
{
"key": "alt+e",
"command": "editor.action.insertSnippet",
"args": {
"snippet": "if err != nil {\n\treturn err$0\n}"
}
},
{
"key": "alt+n",
"command": "editor.action.insertSnippet",
"args": {
"snippet": "$CURSOR_NUMBER"
}
}
]
]

View File

@ -7,9 +7,11 @@
"editor.glyphMargin": false,
"editor.guides.indentation": false,
"editor.hideCursorInOverviewRuler": true,
"editor.inlayHints.enabled": "off",
"editor.insertSpaces": false,
"editor.lineNumbers": "off",
"editor.renderFinalNewline": "off",
"editor.renderLineHighlight": "none",
"editor.scrollbar.vertical": "hidden",
"editor.scrollbar.verticalScrollbarSize": 0,
"editor.scrollBeyondLastLine": false,
@ -32,12 +34,14 @@
"godotTools.editorPath.godot4": "/usr/bin/godot",
"godotTools.lsp.serverPort": 6005,
"security.workspace.trust.enabled": false,
"svelte.enable-ts-plugin": true,
"telemetry.telemetryLevel": "off",
"typescript.updateImportsOnFileMove.enabled": "always",
"window.customTitleBarVisibility": "never",
"window.menuBarVisibility": "hidden",
"window.titleBarStyle": "native",
"window.zoomLevel": 1,
"workbench.activityBar.location": "hidden",
"workbench.colorCustomizations": {"scrollbar.shadow": "#0000"},
"workbench.colorTheme": "Monokai",
"workbench.editor.enablePreview": false,
"workbench.editor.showTabs": "none",

View File

@ -1,24 +1,8 @@
{
"layer": "top",
"position": "bottom",
"modules-left": [],
"modules-center": [],
"modules-right": [
"group/hardware",
"custom/updates",
"wireplumber",
"clock",
],
"group/hardware": {
"orientation": "horizontal",
"modules": [
"cpu",
"custom/gpu",
"memory",
"disk",
"network#up",
"network#down",
],
},
"position": "top",
"modules-left": ["cpu", "custom/gpu", "memory", "disk"],
"modules-center": ["hyprland/workspaces"],
"modules-right": ["wireplumber", "clock"],
"include": "~/.config/waybar/modules.jsonc",
}
}

View File

@ -1,83 +1,61 @@
{
"clock": {
"interval": 60,
"format": "<span color='#00000040'> </span> {:%H : %M}",
"tooltip-format": "{:%A, %Y-%m-%d}",
"on-click": "gnome-clocks",
"on-click-right": "date -u +'%Y-%m-%dT%H:%M:%SZ' | wl-copy",
},
"cpu": {
"interval": 2,
"format": "<span color='#00000040'>{icon}</span> {usage}%",
"format-icons": ["󰾆", "󰾅", "󰓅"],
"max-length": 10,
"on-click": "$TERMINAL -e btop",
},
"custom/updates": {
"interval": 300,
"format": "<span color='#00000040'>󰏖 </span> {}",
"exec": "~/.bin/updates",
"return-type": "json",
"on-click": "$TERMINAL -e yay",
"format": "{icon} {usage}%",
"format-icons": ["󰾆 ", "󰾅 ", "󰓅 "],
"on-click": "$TERMINAL -- btop",
},
"custom/gpu": {
"interval": 2,
"format": " {}%",
"exec": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits",
"format": "<span color='#00000040'> </span> {}%",
"return-type": "",
"on-click": "$TERMINAL -e nvtop",
"max-length": 10,
"on-click": "$TERMINAL -- nvtop",
},
"memory": {
"interval": 2,
"format": "<span color='#00000040'> </span>{used} GiB",
"max-length": 10,
"on-click": "$TERMINAL -e btop",
},
"network#up": {
"interval": 2,
"format": "<span color='#00000040'> </span>{bandwidthUpBits}",
"tooltip-format": " {ifname} upload",
"max-length": 10,
"on-click": "$TERMINAL -e nethogs",
},
"network#down": {
"interval": 2,
"format": "<span color='#00000040'> </span>{bandwidthDownBits}",
"tooltip-format": " {ifname} download",
"max-length": 10,
"on-click": "$TERMINAL -e nethogs",
"format": "{used} G",
"on-click": "$TERMINAL -- btop",
},
"disk": {
"interval": 30,
"format": "<span color='#00000040'>󰋊 </span>{used}",
"format": "󰋊 {specific_used:0.0f} G",
"path": "/",
"max-length": 10,
"on-click": "$TERMINAL -e dua i",
"unit": "GiB",
"on-click": "$TERMINAL -- dua i /",
},
"mpris": {
"format": "<span color='#00000040'>{player_icon}</span> {title}",
"format-paused": "<span color='#00000040'>{status_icon}</span> {title}",
"player-icons": {
"default": "󰝚",
"mpv": "󰝚"
},
"status-icons": {
"paused": "󰏤"
},
"title-len": 30,
"custom/pacman": {
"format": " {}",
"interval": 30,
"exec": "checkupdates | wc -l",
"exec-if": "exit 0",
"on-click": "$TERMINAL -- sudo pacman -Syu",
"signal": 8,
"tooltip": false,
},
"wireplumber": {
"format": "<span color='#00000040'>{icon}</span> {volume}%",
"format-muted": "",
"scroll-step": 5,
"format-icons": ["", "", ""],
"max-length": 10,
"on-click": "helvum",
"custom/processes": {
"interval": 2,
"format": "[PRC] {}",
"exec": "ps --ppid 2 -p 2 --deselect --no-headers | wc -l",
"return-type": "",
"tooltip-format": "Number of running processes",
"on-click": "$TERMINAL -- btop",
},
"hyprland/window": {
"format": "󰘔 {initialTitle}",
"separate-outputs": true
"custom/tcp": {
"interval": 2,
"format": "[TCP] {}",
"exec": "lsof -tPniTCP | wc -l",
"return-type": "",
"tooltip-format": "Number of processes with TCP connections",
"on-click": "$TERMINAL -- bandwhich",
},
"custom/udp": {
"interval": 2,
"format": "[UDP] {}",
"exec": "lsof -tPniUDP | wc -l",
"return-type": "",
"tooltip-format": "Number of processes with UDP connections",
"on-click": "$TERMINAL -- bandwhich",
},
"hyprland/workspaces": {
"format": "{icon}",
@ -85,34 +63,30 @@
"*": 9
},
"format-icons": {
"default": "",
"empty": "",
"active": "",
"urgent": "",
"default": " ",
"empty": " ",
"active": "",
"urgent": " ",
},
"sort-by-number": true,
"on-click": "activate",
},
"custom/os":{
"format": "",
"tooltip": false,
"on-click": "$TERMINAL --hold -e fastfetch",
"wireplumber": {
"format": "{icon} {volume}%",
"format-muted": " ",
"format-icons": [" ", " ", " "],
"scroll-step": 5,
"on-click": "easyeffects",
},
"wlr/taskbar": {
"format": "{icon}",
"icon-size": 14,
"icon-theme": "Adwaita",
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"Alacritty",
],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition",
},
"rewrite": {
"Firefox Web Browser": "Firefox",
"clock": {
"interval": 60,
"format": " {:%H:%M}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"format": {
"today": "<span color='#fAfBfC'><b>{}</b></span>"
}
},
"on-click": "date -u +'%Y-%m-%dT%H:%M:%SZ' | wl-copy",
},
}
}

View File

@ -1,124 +1,42 @@
/* ===== Generic ===== */
* {
border: none;
font-family: "Ubuntu Nerd Font";
font-size: 12px;
all: unset;
font-family: "UbuntuMono Nerd Font";
font-size: 15px;
padding: 0;
margin: 0;
}
/* ===== Waybar ===== */
#waybar {
background: transparent;
/* background: rgba(54, 137, 230, 0.8); */
/* border-top: 1px solid rgba(54, 137, 230, 0.8); */
}
#waybar.hidden {
opacity: 0.2;
}
#waybar #window {
opacity: 1;
transition: opacity 200ms ease;
}
#waybar.empty #window {
opacity: 0;
}
/* ===== Modules ===== */
#clock,
#cpu,
#disk,
#memory,
#mpris,
#network,
#window,
#wireplumber,
#custom-gpu,
#custom-updates {
color: rgba(32, 32, 32, 0.8);
padding: 4px 8px;
margin: 2px;
margin-right: 0;
.modules-left, .modules-center, .modules-right {
background-color: rgba(38, 41, 44, 0.5);
border: 1px #4f4f4f solid;
border-radius: 3px;
margin: 8px;
margin-bottom: 0;
}
#custom-os {
font-size: 150%;
color: rgb(137, 220, 235);
/* background: transparent; */
#cpu, #custom-gpu, #memory, #disk, #custom-processes, #custom-tcp, #custom-udp, #custom-pacman, #wireplumber, #clock {
color: rgba(255, 255, 255, 0.75);
border-radius: 3px;
padding: 4px 8px;
margin-left: 4px;
}
#custom-updates.disabled {
opacity: 0;
tooltip {
background-color: rgba(38, 41, 44, 0.5);
border: 1px #4f4f4f solid;
border-radius: 3px;
padding: 4px 8px;
}
/* ===== Taskbar ===== */
#taskbar button {
padding: 0px 5px;
}
#taskbar button:hover {}
#taskbar button.active {}
/* ===== Workspaces ===== */
#workspaces button {
/* color: rgba(38, 41, 44, 0.9); */
padding: 0px 5px;
color: white;
background: transparent;
text-shadow: none;
border-radius: 0;
opacity: 0.5;
color: rgba(255, 255, 255, 0.1);
padding: 4px;
}
#workspaces button.empty {
opacity: 0.5;
color: transparent;
}
#workspaces button.active {
opacity: 1.0;
}
#workspaces button.visible {}
#workspaces button.urgent {}
#workspaces button.persistent {}
#workspaces button.hidden {}
/* ===== Extra colors ===== */
#cpu {
background: rgb(50.15%, 92.07%, 99.48%);
}
#custom-gpu {
background: rgb(67.06%, 91.37%, 70.2%);
}
#memory {
background: rgb(100%, 81.7%, 68.38%);
}
#disk {
background: rgb(100%, 80.74%, 81.04%);
}
#network {
background: rgb(92.54%, 81.78%, 100%);
}
#wireplumber {
background: rgb(90%, 90%, 90%);
}
#clock {
background: rgb(90%, 90%, 90%);
}
color: rgba(255, 255, 255, 0.75);
}

View File

@ -1,27 +1,26 @@
* {
background-image: none;
font-family: "Ubuntu Nerd Font";
font-size: 20px;
}
window {
background-color: rgba(0, 0, 0, 0.5);
background-color: rgba(0, 0, 0, 0.9);
}
button {
color: #ffffff;
background-color: rgba(0, 0, 0, 1);
border-style: solid;
border-color: #33ccfe;
background-color: rgba(0, 0, 0, 0.5);
border-width: 2px;
border-radius: 10px;
border-style: solid;
border-color: rgba(255, 255, 255, 0.5);
background-repeat: no-repeat;
background-position: center;
background-size: 25%;
margin: 50px;
background-size: 10%;
margin: 25px;
}
button:focus, button:active, button:hover {
background-color: #353c4a;
outline-style: none;
border-color: rgb(255, 255, 255);
}
#logout {
@ -43,4 +42,4 @@ button:focus, button:active, button:hover {
url("/usr/share/wlogout/icons/reboot.png"),
url("/usr/local/share/wlogout/icons/reboot.png")
);
}
}

4
.config/yazi/keymap.toml Normal file
View File

@ -0,0 +1,4 @@
[[manager.prepend_keymap]]
on = [ "<C-s>" ]
run = 'shell "$SHELL" --block --confirm'
desc = "Open shell here"

2
.config/yazi/yazi.toml Normal file
View File

@ -0,0 +1,2 @@
[manager]
show_hidden = true

43
.config/zed/settings.json Normal file
View File

@ -0,0 +1,43 @@
{
"buffer_font_family": "UbuntuMono Nerd Font",
"buffer_font_size": 17,
"buffer_line_height": "standard",
"current_line_highlight": "none",
"ensure_final_newline_on_save": false,
"hard_tabs": true,
"icon_theme": "VSCode Icons (Dark)",
"scroll_beyond_last_line": "off",
"show_wrap_guides": false,
"tab_size": 4,
"ui_font_family": "Ubuntu Nerd Font",
"ui_font_size": 17,
"features": {
"edit_prediction_provider": "zed"
},
"git": {
"inline_blame": {
"enabled": false
}
},
"gutter": {
"code_actions": false,
"folds": false,
"line_numbers": false,
"runnables": false
},
"indent_guides": {
"enabled": false
},
"terminal": {
"line_height": "standard"
},
"theme": {
"mode": "dark",
"light": "KTRZ Monokai",
"dark": "KTRZ Monokai"
},
"toolbar": {
"breadcrumbs": false,
"quick_actions": false
}
}

9
.editorconfig Normal file
View File

@ -0,0 +1,9 @@
root = true
[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false

13
.gitignore vendored
View File

@ -1,18 +1,31 @@
/*
*.frag
*.log
*.vert
lazy-lock.json
!.editorconfig
!.gitignore
!.init
!/.config
/.config/*
!/.config/alacritty
!/.config/btop
!/.config/cava
!/.config/easyeffects
!/.config/environment.d
!/.config/fastfetch
!/.config/foot
!/.config/fish
!/.config/fuzzel
!/.config/hypr
!/.config/mako
!/.config/mpd
!/.config/mpv
!/.config/nvim
!/.config/swaylock
!/.config/tmux
!/.config/vscode
!/.config/waybar
!/.config/wlogout
!/.config/yazi
!/.config/zed

2
.init Executable file
View File

@ -0,0 +1,2 @@
#!/bin/fish
uwsm start hyprland.desktop