42 Commits
rework ... main

Author SHA1 Message Date
960d3bed91 Add some MacOS ZSH Config 2025-07-10 09:50:55 -04:00
df2ec8491a Add Arch Options; Temp comment Ubuntu and other stuff 2025-05-07 13:44:57 -04:00
77f7501b12 Switch to anyrun from dmenu 2025-02-28 09:11:47 -05:00
f3492deb65 Add zoxide 2025-02-28 09:11:41 -05:00
95b6e5e681 Improve management function and fix a few bugs 2025-02-27 12:28:47 -05:00
4caa3870c3 Begin managing mako config 2025-02-27 11:58:29 -05:00
3485e1c2e3 Add management for configs 2025-02-27 11:56:45 -05:00
3dcc814ff2 Remove btop.log from repo 2025-02-27 11:47:51 -05:00
2d684d4e07 Ignore btop log 2025-02-27 11:47:25 -05:00
0fc1778e60 Manage btop config 2025-02-27 11:46:28 -05:00
61dfa1e0c7 Move waybar to separate config dir 2025-02-27 11:23:45 -05:00
fbe57d0dea Move anyrun to own config dir, and setup for non-nix use 2025-02-27 11:23:10 -05:00
d89a039500 Add anyrun configs 2025-02-27 10:27:33 -05:00
fae800f1ba Update waybar style 2025-02-27 10:24:48 -05:00
1ad45b5e95 Update Spaceship Prompt Config 2025-02-27 10:14:52 -05:00
c76384025b Remove temp hyprland configs 2025-02-27 10:14:28 -05:00
b0e80e023a Ignore hyprland temp configs 2025-02-27 10:13:08 -05:00
1b28cb3eaf Fix mouse binds 2025-02-27 10:11:02 -05:00
aaab5b3caf Touchpad config pls 2025-02-14 23:35:11 -05:00
c01c03b1db Update hyprland keymap 2025-02-14 21:26:54 -05:00
cfc7d48d8b Tweak waybar config 2025-02-14 17:15:58 -05:00
d35b18e12d Add nwg-display files 2025-02-14 17:15:50 -05:00
ec5f2e5c52 Make rebase pull the default 2025-02-14 21:55:11 +00:00
7dbb942911 Modify hyprland 2025-02-14 21:55:11 +00:00
6b5ac5845d Add waybar and restructure hyprland config 2025-02-14 16:53:34 -05:00
95ec4629a9 Comment TMUX code for non-server systems 2025-02-14 18:22:22 +00:00
a5d9f84c5d Set default branch to main 2025-02-14 18:21:27 +00:00
39737b3e89 Minor modifications for non-nix systems 2025-02-14 18:18:18 +00:00
f6d873b51f add hypr 2025-02-14 13:09:59 -05:00
b76182c1cf update tmux bar 2025-02-03 17:16:16 -05:00
dada1ed3dc Switch back to dwindle 2025-02-03 11:42:22 -05:00
34bdf8ebd0 Enable hexchat and discord 2025-02-02 21:50:10 -05:00
42ea7dba23 Update hyprland config 2025-02-02 13:18:48 -05:00
7155974de0 Clean up some imports 2025-02-02 13:09:41 -05:00
6404e6310a Move tmux to separate module and include config 2025-02-02 13:09:31 -05:00
7f58d3cbac Don't install nixpkgs cargo 2025-02-02 12:53:43 -05:00
cce9ea4c9d Don't install nixpkgs version of cargo 2025-02-02 12:52:25 -05:00
07d65867b0 Add foliate for reading ebooks 2025-02-01 22:25:48 -05:00
aaab76c0be Automount linux data 2025-02-01 22:13:44 -05:00
4c78e6a09c Update flake 2025-02-01 22:12:15 -05:00
7f729eceaf Disable greetd 2025-02-01 22:12:08 -05:00
7664b1a90e Enable Hyprland 2025-01-31 19:55:00 -05:00
40 changed files with 1353 additions and 1268 deletions

8
.gitignore vendored
View File

@@ -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

View 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
View 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",
],
)

View File

@@ -0,0 +1,4 @@
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.

BIN
configs/anyrun/plugins/librink.so Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

50
configs/anyrun/style.css Normal file
View 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;
}

View File

@@ -0,0 +1,5 @@
Config(
prefix: ":tr ",
language_delimiter: " to ",
max_entries: 3,
)

248
configs/btop/btop.conf Normal file
View 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 = ""

View File

@@ -3,3 +3,7 @@
name = Aaron Gorodetzky
[credential]
helper = store --file ~/.git-credentials
[init]
defaultBranch = main
[pull]
rebase = true

View 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
View File

@@ -0,0 +1,2 @@
default-timeout=5000
ignore-timeout=0

View File

@@ -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
View 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
View 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;
}

View File

@@ -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

24
flake.lock generated
View File

@@ -9,11 +9,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1731092955,
"narHash": "sha256-L1hLXf4IDZ0KoXbFiSNNZJ7IrReEr/J+CLt6Rl4Ea3M=",
"lastModified": 1735301051,
"narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=",
"owner": "anyrun-org",
"repo": "anyrun",
"rev": "d2017f224b2bfd7e33573c7070e7c3e2960c7dcc",
"rev": "06017e753c8886d5296768dca80745ee09402a2d",
"type": "github"
},
"original": {
@@ -66,11 +66,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1734954597,
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=",
"lastModified": 1737751639,
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "def1d472c832d77885f174089b0d34854b007198",
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"type": "github"
},
"original": {
@@ -82,11 +82,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1734835170,
"narHash": "sha256-JG6n9tQET7ZLjvwjH9BdYE6pES/Alcduxv2FDXliuBM=",
"lastModified": 1735563628,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6df924734e1b626efd70925545de844b1c25246f",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
"type": "github"
},
"original": {
@@ -97,11 +97,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1738142207,
"narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
"type": "github"
},
"original": {

View File

@@ -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" ];
};
@@ -32,8 +32,8 @@ let
options = [ "nofail,noatime,uid=1000,gid=100,fmask=0022,dmask=0022" ];
};
"/data/Portable/Linux" = {
device = "/dev/disk/by-label/LinuxPortable";
"/data/LinuxData" = {
device = "/dev/disk/by-label/LinuxData";
fsType = "btrfs";
options = [ "nofail,noatime,autodefrag" ];
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
{ ...}:
{
imports = [
./programs
./servers
./services
./system
];
}

View File

@@ -4,10 +4,7 @@
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

View File

@@ -13,6 +13,8 @@
custom.programs = {
thunderbird.enable = true;
hexchat.enable = true;
discord.enable = true;
};
};
}

View File

@@ -4,6 +4,7 @@
./anyrun
./waybar
./foliate.nix
./liferea.nix
./transmission.nix
];
@@ -14,6 +15,7 @@
custom.programs = {
transmission.enable = true;
liferea.enable = true;
foliate.enable = true;
};
};
}

View File

@@ -0,0 +1,13 @@
{ 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
];
};
};
}

View File

@@ -8,7 +8,6 @@ let
zip
unzip
lsof
tmux
epubcheck
];

View File

@@ -7,6 +7,7 @@
./printing.nix
./thunar.nix
./tigervnc.nix
./tmux.nix
./touchpad.nix
./via.nix
];
@@ -24,6 +25,7 @@
printing.enable = true;
thunar.enable = true;
tigervnc.enable = true;
tmux.enable = true;
touchpad.enable = true;
via.enable = true;
};

View File

@@ -0,0 +1,102 @@
{ 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'
'';
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }: with lib;
{ lib, config, ... }: with lib;
{
options.custom.programs.touchpad.enable = mkEnableOption "Touchpad drivers from libinput";

View File

@@ -25,6 +25,7 @@
wl-clipboard
wl-screenrec
wlr-randr
wev # Input Event Reader (Determine what keyboard scancodes are etc.)
# We need a polkit agent
lxqt.lxqt-policykit
@@ -43,7 +44,7 @@
enable = true;
xwayland.enable = true;
settings = {
"$mod" = "Mod4";
"$mod" = "Mod1";
debug = {
disable_logs = false;
@@ -96,6 +97,7 @@
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
};
animations = {
enabled = "yes";
@@ -112,34 +114,46 @@
"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,"
@@ -150,6 +164,12 @@
"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"
@@ -163,10 +183,6 @@
"$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"

View File

@@ -1,4 +1,4 @@
{ lib, config, pkgs, ... }: with lib;
{ lib, pkgs, ... }: with lib;
{
options.custom.system.shell = {
package = mkOption {
@@ -8,7 +8,4 @@
description = "Choose a preferred shell program";
};
};
config = {
};
}

View File

@@ -1,4 +1,4 @@
{ lib, config, pkgs, hostname, options, ... }:
{ lib, config, pkgs, hostname, ... }:
let
username = "aargonian";
in
@@ -40,6 +40,7 @@ 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;
@@ -50,7 +51,7 @@ in
####################################################################
services = {
avahi.enable = true;
greetd.enable = true;
greetd.enable = false;
lact.enable = false;
power-profiles-daemon.enable = true;
};