This commit is contained in:
2026-03-23 21:48:04 -04:00
parent 0e67e4b509
commit 5d5dec5688

View File

@@ -70,104 +70,118 @@
backupFileExtension = "not-nix"; # Add this line backupFileExtension = "not-nix"; # Add this line
users.jeremy = { pkgs, ... }: { users.jeremy = { pkgs, ... }: {
home.stateVersion = "25.11"; home.stateVersion = "25.11";
wayland.windowManager.hyprland = { # Configure hyprland # wayland.windowManager.hyprland = { # Configure hyprland
# enable = true;
# settings = {
# general = {
# gaps_in = 0;
# gaps_out = 0;
# border_size = 2;
# };
# decoration = {
# rounding = 10;
# # active_opacity = 0.9;
# # inactive_opacity = 0.8;
# # blur = {
# # enabled = true;
# # size = 10;
# # passes = 3;
# # vibrancy = 1;
# # new_optimizations = true;
# # ignore_opacity = true;
# # noise = 0;
# # brightness = 0.9;
# # };
# };
# misc = {
# key_press_enables_dpms = true;
# mouse_move_enables_dpms = true;
# };
# "$mainMod" = "SUPER";
# bind = [
# "$mainMod, C, exec, alacritty"
# "$mainMod, Q, killactive,"
# "$mainMod, grave, exec, rofi -show drun"
# "$mainMod, F, fullscreen"
# "$mainMod, V, togglefloating,"
# ",F4, exec, rofi -show combi -combi-modes 'drun,filebrowser'"
# "$mainMod, A, togglesplit"
# ", PRINT, exec, hyprshot -zm region -o ~/pics/screenshots/"
# "SHIFT, PRINT, exec, hyprshot -zm window -o ~/pics/screenshots/"
# "SUPER, PRINT, exec, hyprshot -zm output -o ~/pics/screenshots/"
# "$mainMod, N, exec, codium ~/etc/nixos/configuration.nix"
# "$mainMod, L, exec, sleep 1s; hyprctl dispatch dpms off" # screen off
# # Move between windows
# "$mainMod, h, movefocus, l"
# "$mainMod, j, movefocus, d"
# "$mainMod, k, movefocus, u"
# "$mainMod, l, movefocus, r"
# # Switch workspaces with mainMod + [0-9]
# "$mainMod, 1, workspace, 1"
# "$mainMod, 2, workspace, 2"
# "$mainMod, 3, workspace, 3"
# "$mainMod, 4, workspace, 4"
# "$mainMod, 5, workspace, 5"
# "$mainMod, 6, workspace, 6"
# "$mainMod, 7, workspace, 7"
# "$mainMod, 8, workspace, 8"
# "$mainMod, 9, workspace, 9"
# "$mainMod, 0, workspace, 10"
# # Move active window to a workspace with mainMod + SHIFT + [0-9]
# "$mainMod SHIFT, 1, movetoworkspace, 1"
# "$mainMod SHIFT, 2, movetoworkspace, 2"
# "$mainMod SHIFT, 3, movetoworkspace, 3"
# "$mainMod SHIFT, 4, movetoworkspace, 4"
# "$mainMod SHIFT, 5, movetoworkspace, 5"
# "$mainMod SHIFT, 6, movetoworkspace, 6"
# "$mainMod SHIFT, 7, movetoworkspace, 7"
# "$mainMod SHIFT, 8, movetoworkspace, 8"
# "$mainMod SHIFT, 9, movetoworkspace, 9"
# "$mainMod SHIFT, 0, movetoworkspace, 10"
# ];
# bindm = [
# "$mainMod, mouse:272, movewindow"
# "$mainMod, mouse:273, resizewindow"
# ];
# binde = [
# ", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
# ", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
# ];
# bindl = [
# ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
# ];
# monitor = [
# "DP-2, 2560x1440@170, 0x0, 1"
# "HDMI-A-1, 2560x1440@144, 2560x0, 1"
# ];
# windowrulev2 = [
# "tile, initialClass:^(Godot)$, initialTitle: ^(Godot)$"
# "float, class:^(Godot)$, title:^(?!(.*Godot)).*$"
# "float, initialTitle:^(Godot)$, class:^(?!(Godot)).*$"
# ];
# exec-once = [
# "swaybg -i ~/.wallpaper -m fill"
# "nextcloud --background"
# ];
# };
# };
wayland.windowManager.sway = {
enable = true; enable = true;
settings = { config = rec {
general = { modifier = "Mod4";
gaps_in = 0; # Use kitty as default terminal
gaps_out = 0; terminal = "kitty";
border_size = 2; startup = [
}; # Launch Firefox on start
decoration = { {command = "firefox";}
rounding = 10;
# active_opacity = 0.9;
# inactive_opacity = 0.8;
# blur = {
# enabled = true;
# size = 10;
# passes = 3;
# vibrancy = 1;
# new_optimizations = true;
# ignore_opacity = true;
# noise = 0;
# brightness = 0.9;
# };
};
misc = {
key_press_enables_dpms = true;
mouse_move_enables_dpms = true;
};
"$mainMod" = "SUPER";
bind = [
"$mainMod, C, exec, alacritty"
"$mainMod, Q, killactive,"
"$mainMod, grave, exec, rofi -show drun"
"$mainMod, F, fullscreen"
"$mainMod, V, togglefloating,"
",F4, exec, rofi -show combi -combi-modes 'drun,filebrowser'"
"$mainMod, A, togglesplit"
", PRINT, exec, hyprshot -zm region -o ~/pics/screenshots/"
"SHIFT, PRINT, exec, hyprshot -zm window -o ~/pics/screenshots/"
"SUPER, PRINT, exec, hyprshot -zm output -o ~/pics/screenshots/"
"$mainMod, N, exec, codium ~/etc/nixos/configuration.nix"
"$mainMod, L, exec, sleep 1s; hyprctl dispatch dpms off" # screen off
# Move between windows
"$mainMod, h, movefocus, l"
"$mainMod, j, movefocus, d"
"$mainMod, k, movefocus, u"
"$mainMod, l, movefocus, r"
# Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
];
bindl = [
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
];
monitor = [
"DP-2, 2560x1440@170, 0x0, 1"
"HDMI-A-1, 2560x1440@144, 2560x0, 1"
];
windowrulev2 = [
"tile, initialClass:^(Godot)$, initialTitle: ^(Godot)$"
"float, class:^(Godot)$, title:^(?!(.*Godot)).*$"
"float, initialTitle:^(Godot)$, class:^(?!(Godot)).*$"
];
exec-once = [
"swaybg -i ~/.wallpaper -m fill"
"nextcloud --background"
]; ];
}; };
}; };
programs.neovim = { # Configure nvim programs.neovim = { # Configure nvim
enable = true; enable = true;
extraConfig = '' extraConfig = ''
@@ -199,60 +213,60 @@
} }
]; ];
}; };
programs.rofi = { # Rofi config # programs.rofi = { # Rofi config
enable = true; # enable = true;
theme = "dmenu"; # theme = "dmenu";
font = "sans-serif"; # font = "sans-serif";
package = pkgs.rofi; # package = pkgs.rofi;
modes = [ # modes = [
"drun" # "drun"
"run" # "run"
"window" # "window"
"ssh" # "ssh"
]; # ];
extraConfig = { # extraConfig = {
show-icons = true; # show-icons = true;
display-drun = ""; # display-drun = "";
drun-display-format = "{name}"; # drun-display-format = "{name}";
}; # };
}; # };
programs.waybar.enable = true; # programs.waybar.enable = true;
programs.waybar.settings.main = { # programs.waybar.settings.main = {
layer = "top"; # layer = "top";
position = "top"; # position = "top";
reload_style_on_change = true; # reload_style_on_change = true;
modules-left = []; # modules-left = [];
modules-center = ["hyprland/workspaces"]; # modules-center = ["hyprland/workspaces"];
modules-right = [ # modules-right = [
"tray" # "tray"
"bluetooth" # "bluetooth"
"network" # "network"
"clock" # "clock"
]; # ];
}; # };
home.pointerCursor = # home.pointerCursor =
let # let
getFrom = url: hash: name: { # getFrom = url: hash: name: {
gtk.enable = true; # gtk.enable = true;
x11.enable = true; # x11.enable = true;
name = name; # name = name;
size = 48; # size = 48;
package = # package =
pkgs.runCommand "moveUp" {} '' # pkgs.runCommand "moveUp" {} ''
mkdir -p $out/share/icons # mkdir -p $out/share/icons
ln -s ${pkgs.fetchzip { # ln -s ${pkgs.fetchzip {
url = url; # url = url;
hash = hash; # hash = hash;
}} $out/share/icons/${name} # }} $out/share/icons/${name}
''; # '';
}; # };
in # in
getFrom # getFrom
"https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz" # "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz"
"sha256-BvVE9qupMjw7JRqFUj1J0a4ys6kc9fOLBPx2bGaapTk=" # "sha256-BvVE9qupMjw7JRqFUj1J0a4ys6kc9fOLBPx2bGaapTk="
"Fuchsia-Pop"; # "Fuchsia-Pop";
};
}; };
};
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true; # services.libinput.enable = true;
@@ -283,7 +297,7 @@
ollama-rocm ollama-rocm
python3 python3
direnv # develop projects in custom environments direnv # develop projects in custom environments
hyprshot # screenshots # hyprshot # screenshots
typst # typst compilation typst # typst compilation
tinymist # typst previews tinymist # typst previews
binaryninja-free # broke ahh cracker binaryninja-free # broke ahh cracker
@@ -316,8 +330,20 @@
pavucontrol # PulseAudio Volume Control pavucontrol # PulseAudio Volume Control
bluez # Bluetooth support bluez # Bluetooth support
bluez-tools # Bluetooth tools bluez-tools # Bluetooth tools
grim # screenshot functionality
slurp # screenshot functionality
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
mako # notification system developed by swaywm maintainer
]; ];
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
# services.gnome.gnome-keyring.enable = true;
boot.initrd.kernelModules = [ "amdgpu" ]; boot.initrd.kernelModules = [ "amdgpu" ];
environment.sessionVariables = { environment.sessionVariables = {
@@ -356,7 +382,7 @@
}; };
services.udisks2.enable = true; # Enable gnome-disks services.udisks2.enable = true; # Enable gnome-disks
services.displayManager.sddm.enable = true; # Enable display manager services.displayManager.sddm.enable = true; # Enable display manager
services.displayManager.sddm.wayland.enable = true; # Wayland - hyprland services.displayManager.sddm.wayland.enable = true; # Wayland
services.mullvad-vpn.package = pkgs.mullvad-vpn; # arr services.mullvad-vpn.package = pkgs.mullvad-vpn; # arr
services.resolved.enable = true; # for mullvad services.resolved.enable = true; # for mullvad