latest hyprlanding

This commit is contained in:
agryphus 2024-09-02 15:21:26 -04:00
parent 7077e3af71
commit b08978f399
2 changed files with 39 additions and 26 deletions

View file

@ -1,14 +1,14 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,highrr,auto,auto
monitor=eDP-1, 1920x1080@60Hz, 1280x1480, 1
monitor=DP-5, 1920x1080@60Hz, 1920x400, 1
monitor=DP-7, 2560x1440@60Hz, 3840x0, 1, transform, 3
monitor=DP-6, disable
# Source monitor config for machine
source = ./monitors.conf
# Wayland related environment variables.
env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,McMojave
env = HYPRCURSOR_SIZE,30
env = WLR_NO_HARDWARE_CURSORS,1
env = TERMINAL,foot
env = QT_QPA_PLATFORM,wayland
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
@ -40,7 +40,9 @@ general {
gaps_out = 12
border_size = 2
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.active_border = rgba(ffffffff) rgba(ffffffff) 45deg
col.active_border = rgba(83a598ff) rgba(acc3baff) 45deg
# col.active_border = rgba(fc8577ff) rgba(fb4934ff) 45deg
# col.active_border = rgba(b3d5a7ff) rgba(8ec07cff) 45deg
col.inactive_border = rgba(595959aa)
layout = master
@ -92,7 +94,7 @@ dwindle {
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_on_top = true
new_is_master = true
new_status = master
no_gaps_when_only = true
}
@ -112,7 +114,8 @@ misc {
# Window rules
windowrule = tile,title:^(VRChat)$
windowrule = tile,title:^(nsxiv)$
windowrule = bordercolor rgb(FF0000) rgb(880808),title:^(rofi.*)$
windowrulev2 = suppressevent maximize, class:.* # Some windows try to maximize themselves instantly
$mainMod = SUPER
@ -129,10 +132,10 @@ bind = $mainMod, M, exec, foot -e zsh -c 'neomutt'
bind = $mainMod, R, exec, fuzzel
# System control keybinds
binde = $mainMod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; test -z "$(pidof waybar)" && notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod SHIFT, MINUS, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-; test -z "$(pidof waybar)" && notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; test -z "$(pidof waybar)" && notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = $mainMod SHIFT, EQUAL, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+; test -z "$(pidof waybar)" && notify-send -r 44 "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
binde = ,F7, exec, change-brightness up
binde = ,XF86MonBrightnessUp, exec, change-brightness up
binde = ,F6, exec, change-brightness down
@ -195,7 +198,7 @@ bind = $mainMod SHIFT, T, layoutmsg, orientationtop
# Special windows
bind = $mainMod, F, togglefloating,
bind = $mainMod SHIFT, F, fakefullscreen
bind = $mainMod SHIFT, F, fullscreenstate, 1
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
@ -221,7 +224,7 @@ bind = $mainMod SHIFT, 6, exec, hyprdwm moveto 6
bind = $mainMod SHIFT, 7, exec, hyprdwm moveto 7
bind = $mainMod SHIFT, 8, exec, hyprdwm moveto 8
bind = $mainMod SHIFT, 9, exec, hyprdwm moveto 9
bind = $mainMod SHIFT, 9, exec, hyprdwm moveto 10
bind = $mainMod SHIFT, 0, exec, hyprdwm moveto 10
# Moving windows between monitors
bind = $mainMod SHIFT, COMMA, movewindow, mon:-1

View file

@ -8,14 +8,15 @@ let
nixos-unstable = (import <nixos-unstable> {});
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland = (import flake-compat {
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
hyprland_nightly = (import flake-compat {
# we're not using pkgs.fetchgit as that requires a hash to be provided
src = builtins.fetchGit {
url = "https://github.com/hyprwm/Hyprland.git";
submodules = true;
};
}).defaultNix;
in {
imports = [
hyprland.nixosModules.default
];
# Trusted Hyprland cache, as to not have to rebuild nightly
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
@ -29,23 +30,26 @@ in {
hyprland = { # Dynamic tiling window manager
enable = true;
xwayland.enable = true;
# package = ((hyprland.packages.${pkgs.system}.default).override (o: {
# });
# package = nixos-unstable.hyprland;
package = hyprland_nightly.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
};
};
systemd.user.services = {
hyprland-autoname-workspaces = {
description = "Hyprland-autoname-workspaces as systemd service";
after = [ "graphical-session.target" ];
requires = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
script = "${pkgs.hyprland-autoname-workspaces}/bin/hyprland-autoname-workspaces";
serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1;
};
network-manager-applet = {
description = "Start the network manager applet";
wantedBy = [ "default.target" ];
after = [ "graphical-session.target" ];
requires = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ];
serviceConfig.Type = "forking";
serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1;
@ -56,7 +60,7 @@ in {
environment.systemPackages = with pkgs; [
ags # GTK shell for status bar and widgets
blueman # Bluetooth manager
# dunst # Notification daemon
dunst # Notification daemon
firefox # My browser of choice
foot # Wayland native terminal
fuzzel # Fuzzy finding menuing program
@ -79,9 +83,11 @@ in {
rofi-pass # Rofi frontend for password store
sassc # SCSS interpreter
slurp # Screen selection utility
sassc # Styling language for AGS
swaylock # Wayland session locker
swww # Sets background images
texlive.combined.scheme-full # LaTeX to create documents
tor-browser # Onion network browser
typst # Cool, minimal LaTeX alternative
ungoogled-chromium # If I need a special chrome feature
waybar # Status bar
@ -90,6 +96,7 @@ in {
wl-clipboard # Copy/paste utility
wlr-randr # Xrandr substitute
xwaylandvideobridge # Allows screensharing from XWayland programs
xorg.xcursorthemes
zathura # Minimalist PDF reader
# GTK Themes
@ -99,6 +106,9 @@ in {
nixpkgs.overlays = [
(self: super: {
hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces;
waybar = nixos-unstable.waybar;
typst = nixos-unstable.typst;
hyprpicker = hyprpicker_0_1_1;
grimblast = super.grimblast.override (o: {
hyprpicker = hyprpicker_0_1_1;