Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 960d3bed91 | |||
| df2ec8491a | |||
| 77f7501b12 | |||
| f3492deb65 | |||
| 95b6e5e681 | |||
| 4caa3870c3 | |||
| 3485e1c2e3 | |||
| 3dcc814ff2 | |||
| 2d684d4e07 | |||
| 0fc1778e60 | |||
| 61dfa1e0c7 | |||
| fbe57d0dea | |||
| d89a039500 | |||
| fae800f1ba | |||
| 1ad45b5e95 | |||
| c76384025b | |||
| b0e80e023a | |||
| 1b28cb3eaf | |||
| aaab5b3caf | |||
| c01c03b1db | |||
| cfc7d48d8b | |||
| d35b18e12d | |||
| ec5f2e5c52 | |||
| 7dbb942911 | |||
| 6b5ac5845d | |||
| 95ec4629a9 | |||
| a5d9f84c5d | |||
| 39737b3e89 | |||
| f6d873b51f |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,2 +1,6 @@
|
||||
nvim-config/
|
||||
setup_neovim.sh
|
||||
# Ignore dynamic nwg-displays hypr configs
|
||||
configs/hyprland/monitors.conf
|
||||
configs/hyprland/workspaces.conf
|
||||
|
||||
# Ignore btop logs
|
||||
configs/btop/btop.log
|
||||
|
||||
14
configs/anyrun/applications.ron
Normal file
14
configs/anyrun/applications.ron
Normal file
@@ -0,0 +1,14 @@
|
||||
Config(
|
||||
// Also show the Desktop Actions defined in the desktop files, e.g. "New Window" from LibreWolf
|
||||
desktop_actions: false,
|
||||
max_entries: 5,
|
||||
// The terminal used for running terminal based desktop entries, if left as `None` a static list of terminals is used
|
||||
// to determine what terminal to use.
|
||||
terminal: Some(Terminal(
|
||||
// The main terminal command
|
||||
command: "kitty",
|
||||
// What arguments should be passed to the terminal process to run the command correctly
|
||||
// {} is replaced with the command in the desktop entry
|
||||
args: "-e {}",
|
||||
)),
|
||||
)
|
||||
52
configs/anyrun/config.ron
Normal file
52
configs/anyrun/config.ron
Normal file
@@ -0,0 +1,52 @@
|
||||
Config(
|
||||
// Position/size fields use an enum for the value, it can be either:
|
||||
// Absolute(n): The absolute value in pixels
|
||||
// Fraction(n): A fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window respectively
|
||||
|
||||
// The horizontal position, adjusted so that Relative(0.5) always centers the runner
|
||||
x: Fraction(0.5),
|
||||
|
||||
// The vertical position, works the same as `x`
|
||||
y: Fraction(0.300000),
|
||||
|
||||
// The width of the runner
|
||||
width: Fraction(0.250000),
|
||||
|
||||
// The minimum height of the runner, the runner will expand to fit all the entries
|
||||
height: Absolute(0),
|
||||
|
||||
// Hide match and plugin info icons
|
||||
hide_icons: false,
|
||||
|
||||
// ignore exclusive zones, f.e. Waybar
|
||||
ignore_exclusive_zones: false,
|
||||
|
||||
// Layer shell layer: Background, Bottom, Top, Overlay
|
||||
layer: Overlay,
|
||||
|
||||
// Hide the plugin info panel
|
||||
hide_plugin_info: true, // DEFAULT: false
|
||||
|
||||
// Close window when a click outside the main box is received
|
||||
close_on_click: true, // DEFAULT: false
|
||||
|
||||
// Show search results immediately when Anyrun starts
|
||||
show_results_immediately: true, // DEFAULT: true
|
||||
|
||||
// Limit amount of entries shown in total
|
||||
max_entries: None,
|
||||
|
||||
// List of plugins to be loaded by default, can be specified with a relative path to be loaded from the
|
||||
// `<anyrun config dir>/plugins` directory or with an absolute path to just load the file the path points to.
|
||||
plugins: [
|
||||
// On by default, but disabled for me:
|
||||
// "libsymbols.so",
|
||||
|
||||
"libapplications.so",
|
||||
"libshell.so",
|
||||
"libtranslate.so",
|
||||
"libdictionary.so",
|
||||
"librink.so",
|
||||
"libwebsearch.so",
|
||||
],
|
||||
)
|
||||
4
configs/anyrun/dictionary.ron
Normal file
4
configs/anyrun/dictionary.ron
Normal file
@@ -0,0 +1,4 @@
|
||||
Config(
|
||||
prefix: ":def",
|
||||
max_entries: 5,
|
||||
)
|
||||
BIN
configs/anyrun/plugins/libanyrun_macros.so
Executable file
BIN
configs/anyrun/plugins/libanyrun_macros.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libapplications.so
Executable file
BIN
configs/anyrun/plugins/libapplications.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libdictionary.so
Executable file
BIN
configs/anyrun/plugins/libdictionary.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libkidex.so
Executable file
BIN
configs/anyrun/plugins/libkidex.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/librandr.so
Executable file
BIN
configs/anyrun/plugins/librandr.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/librink.so
Executable file
BIN
configs/anyrun/plugins/librink.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libshell.so
Executable file
BIN
configs/anyrun/plugins/libshell.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libstdin.so
Executable file
BIN
configs/anyrun/plugins/libstdin.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libsymbols.so
Executable file
BIN
configs/anyrun/plugins/libsymbols.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libtranslate.so
Executable file
BIN
configs/anyrun/plugins/libtranslate.so
Executable file
Binary file not shown.
BIN
configs/anyrun/plugins/libwebsearch.so
Executable file
BIN
configs/anyrun/plugins/libwebsearch.so
Executable file
Binary file not shown.
50
configs/anyrun/style.css
Normal file
50
configs/anyrun/style.css
Normal file
@@ -0,0 +1,50 @@
|
||||
/* Stolen From: https://github.com/fufexan/dotfiles/blob/main/home/programs/anyrun/style-dark.css */
|
||||
* {
|
||||
all: unset;
|
||||
font-family: "NotoSansM Nerd Font", monospace;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
#window,
|
||||
#match,
|
||||
#entry,
|
||||
#plugin,
|
||||
#main {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#match.activatable {
|
||||
border-radius: 8px;
|
||||
margin: 4px 0;
|
||||
padding: 4px;
|
||||
transition: 100ms ease-out;
|
||||
}
|
||||
#match.activatable:first-child {
|
||||
margin-top: 12px;
|
||||
}
|
||||
#match.activatable:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#match:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
#match:selected {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
#entry {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 8px;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
box#main {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
box-shadow:
|
||||
inset 0 0 0 1px rgba(255, 255, 255, 0.1),
|
||||
0 30px 30px 15px rgba(0, 0, 0, 0.5);
|
||||
border-radius: 20px;
|
||||
padding: 12px;
|
||||
}
|
||||
5
configs/anyrun/translate.ron
Normal file
5
configs/anyrun/translate.ron
Normal file
@@ -0,0 +1,5 @@
|
||||
Config(
|
||||
prefix: ":tr ",
|
||||
language_delimiter: " to ",
|
||||
max_entries: 3,
|
||||
)
|
||||
248
configs/btop/btop.conf
Normal file
248
configs/btop/btop.conf
Normal file
@@ -0,0 +1,248 @@
|
||||
#? Config file for btop v. 1.4.0
|
||||
|
||||
#* 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 = True
|
||||
|
||||
#* 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 = "cpu mem net proc"
|
||||
|
||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||
update_ms = 100
|
||||
|
||||
#* 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 = False
|
||||
|
||||
#* 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_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 = True
|
||||
|
||||
#* 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 = True
|
||||
|
||||
#* 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 = ""
|
||||
@@ -3,3 +3,7 @@
|
||||
name = Aaron Gorodetzky
|
||||
[credential]
|
||||
helper = store --file ~/.git-credentials
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
144
configs/hyprland/hyprland.conf
Normal file
144
configs/hyprland/hyprland.conf
Normal file
@@ -0,0 +1,144 @@
|
||||
# exec-once = /nix/store/i4rg4244x7fqvsbh6qbx848lfrhy3x3c-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
|
||||
|
||||
# Use ALT for Modifier Key
|
||||
$mod=ALT
|
||||
|
||||
animations {
|
||||
bezier=myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation=windows, 1, 7, myBezier
|
||||
animation=windowsOut, 1, 7, default, popin 80%
|
||||
animation=border, 1, 10, default
|
||||
animation=borderangle, 1, 8, default
|
||||
animation=fade, 1, 7, default
|
||||
animation=workspaces, 1, 6, default
|
||||
enabled=yes
|
||||
}
|
||||
|
||||
debug {
|
||||
disable_logs=false
|
||||
}
|
||||
|
||||
# decoration {
|
||||
# blur {
|
||||
# enabled=true
|
||||
# passes=1
|
||||
# size=3
|
||||
# }
|
||||
# col.shadow=rgba(1a1a1aee)
|
||||
# drop_shadow=yes
|
||||
# rounding=10
|
||||
# shadow_range=4
|
||||
# shadow_render_power=3
|
||||
# }
|
||||
|
||||
dwindle {
|
||||
preserve_split=yes
|
||||
pseudotile=yes
|
||||
}
|
||||
|
||||
general {
|
||||
allow_tearing=false
|
||||
border_size=4
|
||||
col.active_border=rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border=rgba(595959aa)
|
||||
gaps_in=16
|
||||
gaps_out=32
|
||||
layout=dwindle
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe=true
|
||||
workspace_swipe_fingers=4
|
||||
}
|
||||
|
||||
input {
|
||||
touchpad {
|
||||
clickfinger_behavior=true
|
||||
disable_while_typing=yes
|
||||
natural_scroll=yes
|
||||
}
|
||||
follow_mouse=1
|
||||
kb_layout=us
|
||||
kb_options=ctrl:nocaps
|
||||
sensitivity=0
|
||||
}
|
||||
|
||||
master {
|
||||
mfact=0.50
|
||||
new_on_active=after
|
||||
new_status=slave
|
||||
orientation=center
|
||||
}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper=-1
|
||||
}
|
||||
|
||||
# Keybinds
|
||||
bind=$mod, p, exec, anyrun
|
||||
bind=$mod, Return, exec, kitty
|
||||
bind=$mod, SPACE, togglefloating,
|
||||
bind=$mod, f, fullscreen
|
||||
bind=$mod, c, killactive
|
||||
bind=$mod SHIFT, t, pseudo,
|
||||
bind=$mod, V, togglesplit,
|
||||
bind=$mod SHIFT, h, movewindow, l
|
||||
bind=$mod SHIFT, j, movewindow, d
|
||||
bind=$mod SHIFT, k, movewindow, u
|
||||
bind=$mod SHIFT, l, movewindow, r
|
||||
bind=$mod, h, movefocus, l
|
||||
bind=$mod, l, movefocus, r
|
||||
bind=$mod, k, movefocus, u
|
||||
bind=$mod, j, movefocus, d
|
||||
bind=$mod, S, togglespecialworkspace, magic
|
||||
bind=$mod SHIFT, S, movetoworkspace, special:magic
|
||||
bind=$mod, 1, workspace, 1
|
||||
bind=$mod, 2, workspace, 2
|
||||
bind=$mod, 3, workspace, 3
|
||||
bind=$mod, 4, workspace, 4
|
||||
bind=$mod, 5, workspace, 5
|
||||
bind=$mod, 6, workspace, 6
|
||||
bind=$mod, 7, workspace, 7
|
||||
bind=$mod, 8, workspace, 8
|
||||
bind=$mod, 9, workspace, 9
|
||||
bind=$mod, 0, workspace, 10
|
||||
bind=$mod SHIFT, 1, movetoworkspace, 1
|
||||
bind=$mod SHIFT, 2, movetoworkspace, 2
|
||||
bind=$mod SHIFT, 3, movetoworkspace, 3
|
||||
bind=$mod SHIFT, 4, movetoworkspace, 4
|
||||
bind=$mod SHIFT, 5, movetoworkspace, 5
|
||||
bind=$mod SHIFT, 6, movetoworkspace, 6
|
||||
bind=$mod SHIFT, 7, movetoworkspace, 7
|
||||
bind=$mod SHIFT, 8, movetoworkspace, 8
|
||||
bind=$mod SHIFT, 9, movetoworkspace, 9
|
||||
bind=$mod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Mouse Binds
|
||||
bindm = $mod SUPER, mouse:272, movewindow
|
||||
bindm = $mod SUPER, mouse:273, resizewindowpixel
|
||||
bindm = SUPER, ALT_L, movewindow
|
||||
bindm = SUPER SHIFT, ALT_L, resizewindowpixel
|
||||
|
||||
# Environment Variables
|
||||
env=QT_QPA_PLATFORM,wayland;xcb,
|
||||
env=GDK_BACKEND,wayland,x11,
|
||||
env=SDL_VIDEODRIVER,wayland
|
||||
env=XDG_SESSION_TYPE,wayland
|
||||
env=XDG_SESSION_DESKTOP,Hyprland
|
||||
env=XDG_CURRENT_DESKTOP,Hyprland
|
||||
env=CLUTTER_BACKEND,wayland
|
||||
|
||||
# Execs
|
||||
exec-once=hyprpaper
|
||||
exec-once=lxqt-policykit-agent
|
||||
exec-once=fcitx5 -d -r
|
||||
exec-once=fcitx5-remote -r
|
||||
exec-once=waybar
|
||||
|
||||
# Window Rules
|
||||
windowrule=pseudo, fcitx
|
||||
windowrulev2=suppressevent maximize, class:.*
|
||||
|
||||
# # Source other files (nwg-displays)
|
||||
source = ~/.config/hypr/monitors.conf
|
||||
source = ~/.config/hypr/workspaces.conf
|
||||
2
configs/mako/config
Normal file
2
configs/mako/config
Normal file
@@ -0,0 +1,2 @@
|
||||
default-timeout=5000
|
||||
ignore-timeout=0
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
# Settings
|
||||
USER_HOME="$HOME"
|
||||
USER_LOCAL="$USER_HOME/.local"
|
||||
@@ -26,14 +26,14 @@ SSP_LINK_NAME="$ZSH_THEMES/spaceship.zsh-theme"
|
||||
SSP_LINK_TARGET="$SSP_DIR/spaceship.zsh-theme"
|
||||
|
||||
# Setup Basic Dirs
|
||||
mkdir -p "$USER_HOME"
|
||||
mkdir -p "$USER_CONFIGS"
|
||||
mkdir -p "$DATA_LOC"
|
||||
mkdir -p "$APPDATA"
|
||||
mkdir -p "$CONFIGS"
|
||||
mkdir -p "$SCRIPTS"
|
||||
mkdir -p "$SOURCES"
|
||||
mkdir -p "$CACHE"
|
||||
mkdir -pv "$USER_HOME"
|
||||
mkdir -pv "$USER_CONFIGS"
|
||||
mkdir -pv "$DATA_LOC"
|
||||
mkdir -pv "$APPDATA"
|
||||
mkdir -pv "$CONFIGS"
|
||||
mkdir -pv "$SCRIPTS"
|
||||
mkdir -pv "$SOURCES"
|
||||
mkdir -pv "$CACHE"
|
||||
|
||||
# Store the current working directory
|
||||
CWD="$(pwd -P)"
|
||||
@@ -48,31 +48,34 @@ FILES_TO_LINK=(
|
||||
)
|
||||
|
||||
# Make sure git, cmake, build-essential, zsh, tmux, and other items are installed.
|
||||
sudo apt install -y git cmake build-essential zsh tmux curl wget pkg-config libssl-dev || exit 1
|
||||
sudo pacman -Syu base base-devel git cmake zsh tmux curl wget pkg-config openssh openssl
|
||||
#sudo apt install -y git cmake build-essential zsh tmux curl wget pkg-config libssl-dev || exit 1
|
||||
|
||||
# Check if system is WSL2, and install wslu if true
|
||||
if [ -f "/proc/sys/fs/binfmt_misc/WSLInterop" ]; then
|
||||
echo "WSL2 Detected. Installing wslu..."
|
||||
sudo apt install -y wslu || exit 1
|
||||
# sudo apt install -y wslu || exit 1
|
||||
sudo pacman -S wslu
|
||||
fi
|
||||
|
||||
# Ensure Node and NPM are set up. Use Latest LTS (22.x)
|
||||
if ! [ -x "$(command -v npm)" ] || [ -x "$(command -v node)" ]; then
|
||||
echo "Node/NPM not found. Installing from nodesource..."
|
||||
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh || exit 1
|
||||
sudo -E bash nodesource_setup.sh || exit 1
|
||||
sudo apt install nodejs -y || exit 1
|
||||
# # Ensure Node and NPM are set up. Use Latest LTS (22.x)
|
||||
# if ! [ -x "$(command -v npm)" ] || [ -x "$(command -v node)" ]; then
|
||||
# echo "Node/NPM not found. Installing from nodesource..."
|
||||
# curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh || exit 1
|
||||
# sudo -E bash nodesource_setup.sh || exit 1
|
||||
# sudo apt install nodejs -y || exit 1
|
||||
|
||||
if ! [ -x "$(command -v npm)" ] || ! [ -x "$(command -v node)" ]; then
|
||||
echo "Node failed to install for some reason. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
# if ! [ -x "$(command -v npm)" ] || ! [ -x "$(command -v node)" ]; then
|
||||
# echo "Node failed to install for some reason. Exiting."
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
rm nodesource_setup.sh || exit 1
|
||||
fi
|
||||
# rm nodesource_setup.sh || exit 1
|
||||
# fi
|
||||
|
||||
# Make sure rustup is setup
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || exit 1
|
||||
# # Make sure rustup is setup
|
||||
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || exit 1
|
||||
sudo pacman -S rustup
|
||||
|
||||
# Source the new cargo environment
|
||||
source $USER_HOME/.cargo/env
|
||||
@@ -82,9 +85,10 @@ rustup component add rust-analyzer || exit 1
|
||||
rustup component add rust-docs || exit 1
|
||||
|
||||
# Ensure ncspot, dust, and ripgrep are available
|
||||
cargo install du-dust || exit 1
|
||||
cargo install ripgrep || exit 1
|
||||
cargo install ncspot || exit 1
|
||||
# cargo install du-dust || exit 1
|
||||
# cargo install ripgrep || exit 1
|
||||
# cargo install ncspot || exit 1
|
||||
sudo pacman -S dust ripgrep ncspot
|
||||
|
||||
# Download and setup oh-my-zsh, assuming zsh is installed
|
||||
if [ -x "$(command -v zsh)" ]; then
|
||||
@@ -111,26 +115,26 @@ if [ -x "$(command -v zsh)" ]; then
|
||||
fi
|
||||
|
||||
# Download neovim source code and build to ensure we have the latest.
|
||||
if ! [ -x "$(command -v nvim)" ]; then
|
||||
echo "Neovim not installed. Building..."
|
||||
cd "$SOURCES"
|
||||
git clone "https://github.com/neovim/neovim.git" || exit 1
|
||||
cd "neovim" || exit 1
|
||||
git checkout "v$NEOVIM_VERSION" || exit 1
|
||||
# if ! [ -x "$(command -v nvim)" ]; then
|
||||
# echo "Neovim not installed. Building..."
|
||||
# cd "$SOURCES"
|
||||
# git clone "https://github.com/neovim/neovim.git" || exit 1
|
||||
# cd "neovim" || exit 1
|
||||
# git checkout "v$NEOVIM_VERSION" || exit 1
|
||||
|
||||
# Ensure Neovim Build Prereqs are installed
|
||||
sudo apt install -y ninja-build gettext cmake unzip curl build-essential || exit 1
|
||||
# # Ensure Neovim Build Prereqs are installed
|
||||
# sudo apt install -y ninja-build gettext cmake unzip curl build-essential || exit 1
|
||||
|
||||
# Do the build
|
||||
make CMAKE_BUILD_TYPE=RelWithDebInfo || exit 1
|
||||
sudo make install || exit 1
|
||||
# # Do the build
|
||||
# make CMAKE_BUILD_TYPE=RelWithDebInfo || exit 1
|
||||
# sudo make install || exit 1
|
||||
|
||||
# Setup my neovim config
|
||||
cd "USER_HOME"
|
||||
git clone "https://github.com/aargonian/nvim-config" "$CONFIGS/Neovim Config" || exit 1
|
||||
ln -s "$CONFIGS/Neovim Config" "$USER_CONFIGS/nvim" || exit 1
|
||||
cd "$CWD"
|
||||
fi
|
||||
# # Setup my neovim config
|
||||
# cd "USER_HOME"
|
||||
# git clone "https://github.com/aargonian/nvim-config" "$CONFIGS/Neovim Config" || exit 1
|
||||
# ln -s "$CONFIGS/Neovim Config" "$USER_CONFIGS/nvim" || exit 1
|
||||
# cd "$CWD"
|
||||
# fi
|
||||
|
||||
link_config() {
|
||||
local rel_cwd="$1"
|
||||
|
||||
195
configs/waybar/config
Normal file
195
configs/waybar/config
Normal file
@@ -0,0 +1,195 @@
|
||||
[
|
||||
{
|
||||
"battery": {
|
||||
"bat-compatibility": true,
|
||||
"format": "{icon} {capacity}% ({time}) ({power:.2f}W)",
|
||||
"format-alt": "{icon} Health: {health}% {power:.2f}W",
|
||||
"format-charging": " {capacity}% ({time})",
|
||||
"format-charging-full": " {capacity}%",
|
||||
"format-full": "{icon} {capacity}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format-time": "{H}:{M:02}",
|
||||
"interval": 2,
|
||||
"states": {
|
||||
"critical": 15,
|
||||
"warning": 30
|
||||
},
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#date": {
|
||||
"format": "{:%e %b %Y}",
|
||||
"interval": 20,
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#time": {
|
||||
"format": "{:%H:%M:%S}",
|
||||
"interval": 1,
|
||||
"tooltip": false
|
||||
},
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"format-alt": " {load}",
|
||||
"interval": 5,
|
||||
"states": {
|
||||
"critical": 90,
|
||||
"warning": 70
|
||||
},
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow1": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow10": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow11": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow2": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow3": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow4": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow5": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow6": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow7": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow8": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/arrow9": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
"disk": {
|
||||
"format": "💾 {specific_used:0.1f} / {specific_total:0.1f}Gb ({percentage_used}%)",
|
||||
"interval": 30,
|
||||
"path": "/",
|
||||
"unit": "GiB"
|
||||
},
|
||||
"height": 32,
|
||||
"hyprland/workspaces": {
|
||||
"active-only": true,
|
||||
"all-outputs": false,
|
||||
"format": "{name}",
|
||||
"format-window-separator": "\n",
|
||||
"move-to-monitor": true,
|
||||
"show-special": true
|
||||
},
|
||||
"layer": "top",
|
||||
"memory": {
|
||||
"format": "🧠 {used:0.1f}G/{total:0.1f}G",
|
||||
"interval": 5,
|
||||
"states": {
|
||||
"critical": 90,
|
||||
"warning": 70
|
||||
},
|
||||
"tooltip": false
|
||||
},
|
||||
"modules-center": [],
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
"custom/arrow10",
|
||||
"hyprland/window",
|
||||
"custom/arrow11",
|
||||
"hyprland/submap"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/arrow9",
|
||||
"network",
|
||||
"custom/arrow8",
|
||||
"disk",
|
||||
"custom/arrow7",
|
||||
"memory",
|
||||
"custom/arrow6",
|
||||
"cpu",
|
||||
"custom/arrow5",
|
||||
"temperature",
|
||||
"custom/arrow4",
|
||||
"battery",
|
||||
"custom/arrow3",
|
||||
"pulseaudio",
|
||||
"custom/arrow2",
|
||||
"tray",
|
||||
"clock#date",
|
||||
"custom/arrow1",
|
||||
"clock#time"
|
||||
],
|
||||
"network": {
|
||||
"format-alt": " {ipaddr}/{cidr}",
|
||||
"format-disconnected": "No connection",
|
||||
"format-ethernet": " {ifname}",
|
||||
"format-wifi": " {essid} ({signalStrength}% @ {frequency}Ghz) ({ifname}) (↓{bandwidthDownBits}/↑{bandwidthUpBits})",
|
||||
"interval": 5,
|
||||
"tooltip": false
|
||||
},
|
||||
"position": "bottom",
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-icons": {
|
||||
"car": " ",
|
||||
"default": [
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"hands-free": " ",
|
||||
"headphone": " ",
|
||||
"headset": " ",
|
||||
"phone": " ",
|
||||
"portable": " "
|
||||
},
|
||||
"format-muted": " ",
|
||||
"on-click": "pavucontrol",
|
||||
"scroll-step": 1,
|
||||
"tooltip": false
|
||||
},
|
||||
"sway/language": {
|
||||
"format": " {}",
|
||||
"min-length": 5,
|
||||
"on-click": "swaymsg 'input * xkb_switch_layout next'",
|
||||
"tooltip": false
|
||||
},
|
||||
"temperature": {
|
||||
"critical-threshold": 90,
|
||||
"format": "{icon} {temperatureC}°",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"interval": 5,
|
||||
"tooltip": false
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 18
|
||||
}
|
||||
}
|
||||
]
|
||||
293
configs/waybar/style.css
Normal file
293
configs/waybar/style.css
Normal file
@@ -0,0 +1,293 @@
|
||||
/* Keyframes */
|
||||
@keyframes blink-critical {
|
||||
to {
|
||||
/*color: @white;*/
|
||||
background-color: @critical;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink-warning {
|
||||
to {
|
||||
/*color: @white;*/
|
||||
background-color: @warning;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Styles */
|
||||
|
||||
/* Colors (gruvbox) */
|
||||
@define-color black #282828;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color orange #FF7700;
|
||||
@define-color blue #458588;
|
||||
@define-color purple #301934;
|
||||
@define-color aqua #689d6a;
|
||||
@define-color gray #a89984;
|
||||
@define-color brgray #706152;
|
||||
@define-color brred #fb4934;
|
||||
@define-color brgreen #b8bb26;
|
||||
@define-color bryellow #fabd2f;
|
||||
@define-color brblue #83a598;
|
||||
@define-color brpurple #d3869b;
|
||||
@define-color braqua #dec07c;
|
||||
@define-color white #ebdbb2;
|
||||
@define-color bg2 #504945;
|
||||
|
||||
|
||||
@define-color warning @orange;
|
||||
@define-color critical @red;
|
||||
@define-color mode @black;
|
||||
@define-color unfocused @bg2;
|
||||
@define-color focused @braqua;
|
||||
@define-color active @purple;
|
||||
@define-color sound @brpurple;
|
||||
@define-color network @purple;
|
||||
@define-color memory @gray;
|
||||
@define-color cpu @blue;
|
||||
@define-color temp @brgreen;
|
||||
@define-color layout @bryellow;
|
||||
@define-color battery @yellow;
|
||||
@define-color date @black;
|
||||
@define-color time @white;
|
||||
@define-color disk @brgray;
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */
|
||||
color: @white;
|
||||
font-family: JetBrains Mono, Siji;
|
||||
font-size: 14pt;
|
||||
/*font-weight: bold;*/
|
||||
}
|
||||
|
||||
/* Each module */
|
||||
#battery,
|
||||
#clock,
|
||||
#cpu,
|
||||
#language,
|
||||
#memory,
|
||||
#mode,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#backlight,
|
||||
#idle_inhibitor,
|
||||
#disk,
|
||||
#user,
|
||||
#mpris {
|
||||
padding-left: 8pt;
|
||||
padding-right: 8pt;
|
||||
}
|
||||
|
||||
/* Each critical module */
|
||||
#mode,
|
||||
#memory.critical,
|
||||
#cpu.critical,
|
||||
#temperature.critical,
|
||||
#battery.critical
|
||||
{
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
|
||||
/* Each warning */
|
||||
#network.disconnected,
|
||||
#memory.warning,
|
||||
#cpu.warning,
|
||||
#temperature.warning,
|
||||
#battery.warning {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
animation-name: blink-warning;
|
||||
animation-duration: 5s;
|
||||
}
|
||||
|
||||
/* And now modules themselves in their respective order */
|
||||
|
||||
/* Current sway mode (resize etc) */
|
||||
#mode {
|
||||
color: @white;
|
||||
background: @mode;
|
||||
}
|
||||
|
||||
/* Workspaces stuff */
|
||||
#workspaces button {
|
||||
/*font-weight: bold;*/
|
||||
padding-left: 2pt;
|
||||
padding-right: 2pt;
|
||||
color: @white;
|
||||
background: @unfocused;
|
||||
}
|
||||
|
||||
/* Inactive (on unfocused output) */
|
||||
#workspaces button.visible {
|
||||
color: @white;
|
||||
background: @active;
|
||||
}
|
||||
|
||||
/* Active (on focused output) */
|
||||
#workspaces button.focused {
|
||||
color: @black;
|
||||
background: @focused;
|
||||
}
|
||||
|
||||
/* Contains an urgent window */
|
||||
#workspaces button.urgent {
|
||||
color: @black;
|
||||
background: @warning;
|
||||
}
|
||||
|
||||
/* Style when cursor is on the button */
|
||||
#workspaces button:hover {
|
||||
background: @black;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#window {
|
||||
color: @black;
|
||||
background: @brblue;
|
||||
/*
|
||||
margin-right: 35pt;
|
||||
margin-left: 35pt;
|
||||
*/
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background: @sound;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#network {
|
||||
background: @network;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#disk {
|
||||
background: @disk;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background: @memory;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background: @cpu;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background: @temp;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: @layout;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background: @battery;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#clock.date {
|
||||
background: @date;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#clock.time {
|
||||
background: @time;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#custom-arrow1 {
|
||||
font-size: 20pt;
|
||||
color: @time;
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#custom-arrow2 {
|
||||
font-size: 20pt;
|
||||
color: @date;
|
||||
background: @sound;
|
||||
}
|
||||
|
||||
#custom-arrow3 {
|
||||
font-size: 20pt;
|
||||
color: @sound;
|
||||
background: @battery;
|
||||
}
|
||||
|
||||
#custom-arrow4 {
|
||||
font-size: 20pt;
|
||||
color: @battery;
|
||||
background: @temp;
|
||||
}
|
||||
|
||||
#custom-arrow5 {
|
||||
font-size: 20pt;
|
||||
color: @temp;
|
||||
background: @cpu;
|
||||
}
|
||||
|
||||
#custom-arrow6 {
|
||||
font-size: 20pt;
|
||||
color: @cpu;
|
||||
background: @memory;
|
||||
}
|
||||
|
||||
#custom-arrow7 {
|
||||
font-size: 20pt;
|
||||
color: @memory;
|
||||
background: @disk;
|
||||
}
|
||||
|
||||
#custom-arrow8 {
|
||||
font-size: 20pt;
|
||||
color: @disk;
|
||||
background: @network;
|
||||
}
|
||||
|
||||
#custom-arrow9 {
|
||||
font-size: 20pt;
|
||||
color: @network;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#custom-arrow10 {
|
||||
font-size: 20pt;
|
||||
color: @active;
|
||||
background: @brblue;
|
||||
}
|
||||
|
||||
#custom-arrow11 {
|
||||
font-size: 20pt;
|
||||
color: @brblue;
|
||||
background: @transparent;
|
||||
}
|
||||
121
configs/zshrc
121
configs/zshrc
@@ -1,8 +1,14 @@
|
||||
# Useful variable definitions
|
||||
export LANG=en_US.UTF-8
|
||||
export EDITOR='nvim'
|
||||
export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
# Personal Directories
|
||||
export CONFIG_DIR="$HOME/Config"
|
||||
export NVIM_DIR="$CONFIG_DIR/Neovim"
|
||||
export MANAGED_CONFIG_DIR="$CONFIG_DIR/Main/configs"
|
||||
|
||||
ZSH_THEME="spaceship"
|
||||
CASE_SENSITIVE="true"
|
||||
plugins=(git)
|
||||
@@ -17,27 +23,130 @@ alias backup='rsync -ahv --info=progress2 --no-i-r --partial'
|
||||
# Spaceship Settings
|
||||
SPACESHIP_PROMPT_ORDER=(
|
||||
time # Time stamps
|
||||
user # Username section
|
||||
dir # Current directory
|
||||
git # Git branch
|
||||
host # Hostname section
|
||||
exec_time # Execution time
|
||||
rust
|
||||
line_sep # Line break
|
||||
jobs # Background jobs indicator
|
||||
user # Username section
|
||||
host # Hostname section
|
||||
exit_code # Exit code section
|
||||
char # Prompt character
|
||||
)
|
||||
|
||||
# User and Hostname Config
|
||||
SPACESHIP_HOST_SHOW="always"
|
||||
SPACESHIP_HOST_PREFIX="@"
|
||||
SPACESHIP_USER_PREFIX=""
|
||||
SPACESHIP_USER_SUFFIX=""
|
||||
SPACESHIP_USER_SHOW="always"
|
||||
|
||||
# Date and Time Config
|
||||
SPACESHIP_TIME_SHOW=true
|
||||
SPACESHIP_TIME_FORMAT='%D{%H:%M:%S.%.}'
|
||||
|
||||
# Unknown
|
||||
SPACESHIP_DIR_TRUNC=0
|
||||
SPACESHIP_DIR_TRUNC_REPO=false
|
||||
|
||||
# Git
|
||||
SPACESHIP_GIT_ORDER=(git_branch git_commit git_status)
|
||||
SPACESHIP_GIT_COMMIT_SHOW=true
|
||||
SPACESHIP_GIT_COMMIT_PREFIX=" at "
|
||||
|
||||
# Rust Spaceship Config
|
||||
SPACESHIP_RUST_SHOW=true
|
||||
|
||||
# Source Cargo Directory
|
||||
source $HOME/.cargo/env
|
||||
|
||||
# Launch or attach to a Tmux session by default if not already in TMUX
|
||||
if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then
|
||||
# Try to attach to an existing tmux session; if none, create a new one
|
||||
tmux attach || exec tmux
|
||||
fi
|
||||
# if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then
|
||||
# # Try to attach to an existing tmux session; if none, create a new one
|
||||
# tmux attach || exec tmux
|
||||
# fi
|
||||
|
||||
# Function to move and manage config directories as needed
|
||||
manage() {
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: manage <config file or dir>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local src="$(realpath -s "$1")" # Don't resolve symlinks here. We need to check first.
|
||||
local dst="$(realpath "$MANAGED_CONFIG_DIR")"
|
||||
local src_name="$(basename "$src")"
|
||||
local dst_path="$dst/$src_name"
|
||||
|
||||
# Ensure the given path is not a symlink
|
||||
if [ -L "$src" ]; then
|
||||
echo "$src is a symlink. Not managing."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Not a symlink. Re-resolve with actual path in case symlinks exist higher up the chain.
|
||||
src="$(realpath $src)"
|
||||
|
||||
# Ensure the given path is not already managed
|
||||
echo "Checking if $src is a child of $dst"
|
||||
case "$src" in
|
||||
"$dst"|"$dst"/*)
|
||||
echo "Specified directory path is already being managed."
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
mv -n "$src" "$dst_path" || {
|
||||
echo "Failed to move $src to $dst"
|
||||
return 1
|
||||
}
|
||||
|
||||
ln -s "$dst_path" "$src" || {
|
||||
echo "Failed to create symlink $src -> $dst"
|
||||
return 1
|
||||
}
|
||||
|
||||
local CWD="$(pwd)"
|
||||
|
||||
# Determine if we should commit this newly managed config.
|
||||
if [ read -q "choice?Would you like to commit this directory? [n]: " ]; then
|
||||
cd "$dst_path"
|
||||
git add .
|
||||
git commit -m "Begin managing $src_name config"
|
||||
cd "$CWD"
|
||||
else
|
||||
echo
|
||||
echo "Not commiting config to repo."
|
||||
fi
|
||||
|
||||
# Determine if user would like to move to the config dir
|
||||
if [ read -q "choice?Would you like to move to the config directory? [n]: " ]; then
|
||||
if [ -d "$dst_path" ]; then
|
||||
cd "$dst_path"
|
||||
else
|
||||
cd "$dst"
|
||||
fi
|
||||
else
|
||||
echo "Not leaving current directory."
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Add zoxide
|
||||
eval "$(zoxide init zsh)"
|
||||
|
||||
# MACOS
|
||||
# zoxide setup
|
||||
#eval "$(zoxide init zsh)"
|
||||
#alias cd="z"
|
||||
#
|
||||
#alias download="yt-dlp -f bestvideo+bestaudio --merge-output-format mp4 --embed-thumbnail --embed-subs --write-auto-sub --sub-lang \"en.*\" --embed-chapters --embed-metadata --embed-info-json -o '%(timestamp>%Y%m%d - %H%M%S)s - %(id)s - %(uploader)s - %(title)s.%(ext)s'"
|
||||
#
|
||||
## Keep both x86_64 and arm64 Homebrew
|
||||
#if [ "$(arch)" = "arm64" ]; then
|
||||
# eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
#else
|
||||
# eval "$(/usr/local/bin/brew shellenv)"
|
||||
#fi
|
||||
|
||||
@@ -10,12 +10,12 @@ let
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/ROOT_SYS";
|
||||
device = "/dev/disk/by-label/NixRoot";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/2AFA-3BFC";
|
||||
device = "/dev/disk/by-label/BootRoot";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user