Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 72af415009 |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,6 +1,2 @@
|
||||
# Ignore dynamic nwg-displays hypr configs
|
||||
configs/hyprland/monitors.conf
|
||||
configs/hyprland/workspaces.conf
|
||||
|
||||
# Ignore btop logs
|
||||
configs/btop/btop.log
|
||||
nvim-config/
|
||||
setup_neovim.sh
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
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 {}",
|
||||
)),
|
||||
)
|
||||
@@ -1,52 +0,0 @@
|
||||
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",
|
||||
],
|
||||
)
|
||||
@@ -1,4 +0,0 @@
|
||||
Config(
|
||||
prefix: ":def",
|
||||
max_entries: 5,
|
||||
)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,50 +0,0 @@
|
||||
/* 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;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
Config(
|
||||
prefix: ":tr ",
|
||||
language_delimiter: " to ",
|
||||
max_entries: 3,
|
||||
)
|
||||
@@ -1,248 +0,0 @@
|
||||
#? 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,7 +3,3 @@
|
||||
name = Aaron Gorodetzky
|
||||
[credential]
|
||||
helper = store --file ~/.git-credentials
|
||||
[init]
|
||||
defaultBranch = main
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
# 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
|
||||
@@ -1,2 +0,0 @@
|
||||
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 -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"
|
||||
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"
|
||||
|
||||
# Store the current working directory
|
||||
CWD="$(pwd -P)"
|
||||
@@ -48,34 +48,31 @@ FILES_TO_LINK=(
|
||||
)
|
||||
|
||||
# Make sure git, cmake, build-essential, zsh, tmux, and other items are installed.
|
||||
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
|
||||
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 pacman -S wslu
|
||||
sudo apt install -y wslu || exit 1
|
||||
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
|
||||
sudo pacman -S rustup
|
||||
# Make sure rustup is setup
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y || exit 1
|
||||
|
||||
# Source the new cargo environment
|
||||
source $USER_HOME/.cargo/env
|
||||
@@ -85,10 +82,9 @@ 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
|
||||
sudo pacman -S dust ripgrep ncspot
|
||||
cargo install du-dust || exit 1
|
||||
cargo install ripgrep || exit 1
|
||||
cargo install ncspot || exit 1
|
||||
|
||||
# Download and setup oh-my-zsh, assuming zsh is installed
|
||||
if [ -x "$(command -v zsh)" ]; then
|
||||
@@ -115,26 +111,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"
|
||||
|
||||
@@ -1,195 +0,0 @@
|
||||
[
|
||||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,293 +0,0 @@
|
||||
/* 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,14 +1,8 @@
|
||||
# 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)
|
||||
@@ -23,130 +17,27 @@ 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
|
||||
|
||||
# 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
|
||||
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
|
||||
|
||||
24
flake.lock
generated
24
flake.lock
generated
@@ -9,11 +9,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735301051,
|
||||
"narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=",
|
||||
"lastModified": 1731092955,
|
||||
"narHash": "sha256-L1hLXf4IDZ0KoXbFiSNNZJ7IrReEr/J+CLt6Rl4Ea3M=",
|
||||
"owner": "anyrun-org",
|
||||
"repo": "anyrun",
|
||||
"rev": "06017e753c8886d5296768dca80745ee09402a2d",
|
||||
"rev": "d2017f224b2bfd7e33573c7070e7c3e2960c7dcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -66,11 +66,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1737751639,
|
||||
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
|
||||
"lastModified": 1734954597,
|
||||
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
|
||||
"rev": "def1d472c832d77885f174089b0d34854b007198",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -82,11 +82,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1735563628,
|
||||
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
|
||||
"lastModified": 1734835170,
|
||||
"narHash": "sha256-JG6n9tQET7ZLjvwjH9BdYE6pES/Alcduxv2FDXliuBM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
|
||||
"rev": "6df924734e1b626efd70925545de844b1c25246f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -97,11 +97,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1738142207,
|
||||
"narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
|
||||
"lastModified": 1734649271,
|
||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
|
||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -10,12 +10,12 @@ let
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NixRoot";
|
||||
device = "/dev/disk/by-label/ROOT_SYS";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-label/BootRoot";
|
||||
device = "/dev/disk/by-uuid/2AFA-3BFC";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
@@ -32,8 +32,8 @@ let
|
||||
options = [ "nofail,noatime,uid=1000,gid=100,fmask=0022,dmask=0022" ];
|
||||
};
|
||||
|
||||
"/data/LinuxData" = {
|
||||
device = "/dev/disk/by-label/LinuxData";
|
||||
"/data/Portable/Linux" = {
|
||||
device = "/dev/disk/by-label/LinuxPortable";
|
||||
fsType = "btrfs";
|
||||
options = [ "nofail,noatime,autodefrag" ];
|
||||
};
|
||||
|
||||
1179
modules/default.nix
1179
modules/default.nix
File diff suppressed because it is too large
Load Diff
9
modules/old.nix
Normal file
9
modules/old.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ ...}:
|
||||
{
|
||||
imports = [
|
||||
./programs
|
||||
./servers
|
||||
./services
|
||||
./system
|
||||
];
|
||||
}
|
||||
@@ -4,7 +4,10 @@
|
||||
|
||||
config = mkIf config.custom.programs.development.rust.all {
|
||||
environment.systemPackages = with pkgs; [
|
||||
cargo
|
||||
# rustc
|
||||
rustup
|
||||
ripgrep
|
||||
];
|
||||
|
||||
# TODO: Make a nix shell to solve this issue
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
custom.programs = {
|
||||
thunderbird.enable = true;
|
||||
hexchat.enable = true;
|
||||
discord.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
./anyrun
|
||||
./waybar
|
||||
|
||||
./foliate.nix
|
||||
./liferea.nix
|
||||
./transmission.nix
|
||||
];
|
||||
@@ -15,7 +14,6 @@
|
||||
custom.programs = {
|
||||
transmission.enable = true;
|
||||
liferea.enable = true;
|
||||
foliate.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
# An Ebook Reader that is actually very nice...
|
||||
options.custom.programs.foliate.enable = lib.mkEnableOption "Foliate Ebook Reader";
|
||||
|
||||
config = lib.mkIf config.custom.programs.foliate.enable {
|
||||
home-manager.users.${config.custom.username} = {
|
||||
home.packages = with pkgs; [
|
||||
foliate
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,6 +8,7 @@ let
|
||||
zip
|
||||
unzip
|
||||
lsof
|
||||
tmux
|
||||
epubcheck
|
||||
];
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
./printing.nix
|
||||
./thunar.nix
|
||||
./tigervnc.nix
|
||||
./tmux.nix
|
||||
./touchpad.nix
|
||||
./via.nix
|
||||
];
|
||||
@@ -25,7 +24,6 @@
|
||||
printing.enable = true;
|
||||
thunar.enable = true;
|
||||
tigervnc.enable = true;
|
||||
tmux.enable = true;
|
||||
touchpad.enable = true;
|
||||
via.enable = true;
|
||||
};
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
{ lib, config, ... }: with lib;
|
||||
{
|
||||
options.custom.programs.tmux.enable = mkEnableOption "tmux terminal multiplexer";
|
||||
|
||||
config = mkIf config.custom.programs.tmux.enable {
|
||||
home-manager.users.${config.custom.username} = {
|
||||
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
# Enable reloading via hotkey
|
||||
unbind r
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# Change our prefix to something easier
|
||||
set -g prefix C-Space
|
||||
unbind C-b
|
||||
bind C-Space send-prefix
|
||||
|
||||
# Enable the Mouse
|
||||
set -g mouse on
|
||||
|
||||
# More Sane Pane Splitting
|
||||
bind | split-window -h
|
||||
bind - split-window -v
|
||||
unbind '"'
|
||||
unbind %
|
||||
|
||||
# Use VIM Keybinds
|
||||
setw -g mode-keys vi
|
||||
bind-key h select-pane -L
|
||||
bind-key j select-pane -D
|
||||
bind-key k select-pane -U
|
||||
bind-key l select-pane -R
|
||||
|
||||
# Window Commands
|
||||
unbind o
|
||||
unbind c
|
||||
bind-key o new-window
|
||||
|
||||
# bind-key c kill-window
|
||||
bind-key c if-shell -F '#{==:#{session_windows},1}' \
|
||||
'display-message "This is the last window, cannot close it."' \
|
||||
'kill-window'
|
||||
|
||||
# Window Renaming
|
||||
set-option -g allow-rename off
|
||||
|
||||
# DESIGN TWEAKS
|
||||
|
||||
# don't do anything when a 'bell' rings
|
||||
set -g visual-activity off
|
||||
set -g visual-bell off
|
||||
set -g visual-silence off
|
||||
setw -g monitor-activity off
|
||||
set -g bell-action none
|
||||
|
||||
# Colors
|
||||
set -g default-terminal "xterm-256color"
|
||||
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
||||
set-option -sa terminal-features ',xterm-256color:RGB'
|
||||
|
||||
# clock mode
|
||||
setw -g clock-mode-colour colour226
|
||||
|
||||
# copy mode
|
||||
setw -g mode-style 'fg=colour0 bg=red bold'
|
||||
|
||||
# panes
|
||||
set -g pane-border-style 'fg=red'
|
||||
set -g pane-active-border-style 'fg=colour226'
|
||||
|
||||
# statusbar
|
||||
set -g status-position top
|
||||
set -g status-justify left
|
||||
set -g status-style 'fg=red bg=colour22'
|
||||
|
||||
|
||||
# Show hostname in top-left
|
||||
set -g status-left-style 'fg=colour226 bg=colour0'
|
||||
set -g status-left ' #(hostname) '
|
||||
set -g status-left-length 30
|
||||
|
||||
set -g status-right-style 'fg=colour0 bg=colour226'
|
||||
set -g status-right '%Y-%m-%d %H:%M '
|
||||
set -g status-right-length 50
|
||||
|
||||
# Tab Styles
|
||||
setw -g window-status-current-style 'fg=colour231 bg=blue'
|
||||
setw -g window-status-current-format ' #I #W #F '
|
||||
setw -g window-status-style 'fg=white bg=colour0'
|
||||
setw -g window-status-format ' #I #[fg=white]#W #[fg=colour226]#F '
|
||||
setw -g window-status-bell-style 'fg=colour226 bg=red bold'
|
||||
|
||||
# messages
|
||||
set -g message-style 'fg=colour226 bg=red bold'
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, ... }: with lib;
|
||||
{ lib, config, pkgs, ... }: with lib;
|
||||
{
|
||||
options.custom.programs.touchpad.enable = mkEnableOption "Touchpad drivers from libinput";
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
wl-clipboard
|
||||
wl-screenrec
|
||||
wlr-randr
|
||||
wev # Input Event Reader (Determine what keyboard scancodes are etc.)
|
||||
|
||||
# We need a polkit agent
|
||||
lxqt.lxqt-policykit
|
||||
@@ -44,7 +43,7 @@
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
"$mod" = "Mod1";
|
||||
"$mod" = "Mod4";
|
||||
|
||||
debug = {
|
||||
disable_logs = false;
|
||||
@@ -97,7 +96,6 @@
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
|
||||
@@ -114,46 +112,34 @@
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
# master switch for pseudotiling. Enabling is bound to mod + P in the keybinds section below
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes"; # you probably want this
|
||||
};
|
||||
|
||||
master = {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_on_active= "after";
|
||||
mfact = "0.50";
|
||||
|
||||
# New Windows become sub-windows, first window is master
|
||||
new_status = "slave";
|
||||
|
||||
# Put the master window in the center
|
||||
orientation = "center";
|
||||
};
|
||||
|
||||
gestures = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = true;
|
||||
workspace_swipe_fingers = 4;
|
||||
};
|
||||
|
||||
misc = {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = -1; # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
};
|
||||
|
||||
windowrule = [
|
||||
"pseudo, fcitx"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"suppressevent maximize, class:.*" # You'll probably like this.
|
||||
#"opacity 0.95 0.50, title:(.*)$"
|
||||
];
|
||||
|
||||
# Making things not break in Wayland
|
||||
# Making things not break in Wayland
|
||||
env = [
|
||||
"QT_QPA_PLATFORM,wayland;xcb,"
|
||||
"GDK_BACKEND,wayland,x11,"
|
||||
@@ -164,12 +150,6 @@
|
||||
"CLUTTER_BACKEND,wayland"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
# Move with LMB, Resize with RMB
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindowpixel"
|
||||
];
|
||||
|
||||
bind = [
|
||||
"$mod, p, exec, anyrun"
|
||||
"$mod, Return, exec, xfce4-terminal"
|
||||
@@ -183,6 +163,10 @@
|
||||
"$mod SHIFT, t, pseudo,"
|
||||
"$mod, V, togglesplit,"
|
||||
|
||||
# Move with LMB, Resize with RMB
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindowpixel"
|
||||
|
||||
# Move window with Keyboard
|
||||
"$mod SHIFT, h, movewindow, l"
|
||||
"$mod SHIFT, j, movewindow, d"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, ... }: with lib;
|
||||
{ lib, config, pkgs, ... }: with lib;
|
||||
{
|
||||
options.custom.system.shell = {
|
||||
package = mkOption {
|
||||
@@ -8,4 +8,7 @@
|
||||
description = "Choose a preferred shell program";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, hostname, ... }:
|
||||
{ lib, config, pkgs, hostname, options, ... }:
|
||||
let
|
||||
username = "aargonian";
|
||||
in
|
||||
@@ -40,7 +40,6 @@ in
|
||||
display.enable = true;
|
||||
display.desktopManagers.cinnamon.enable = true;
|
||||
display.windowManagers.i3.enable = true;
|
||||
display.windowManagers.hyprland.enable = true;
|
||||
|
||||
# Enable Virtualbox
|
||||
virtualization.virtualbox.host = true;
|
||||
@@ -51,7 +50,7 @@ in
|
||||
####################################################################
|
||||
services = {
|
||||
avahi.enable = true;
|
||||
greetd.enable = false;
|
||||
greetd.enable = true;
|
||||
lact.enable = false;
|
||||
power-profiles-daemon.enable = true;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user