diff --git a/README.md b/README.md index 2f7950f5..ebde01fd 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,13 @@ nix develop -c /etc/nixos/git/docs/setup.sh ## Home-Manager * [ ] Figure out what the home-manager `account` options are for. * [ ] home-manager/common/software/cli/bash.nix - Break this out for theming -- Currently statically set to 'gruvbox' +* [ ] Redo Hyprland config with Stylix / more nix-centric configuration + * [ ] Look at `services.gammastep` + * [ ] Look at `wayland.windowManager.hyprland` - [Example](https://github.com/SomeGuyNamedMy/users/blob/master/config/mason/desktop.nix) + * [ ] Look at `programs.rofi` + * [ ] Look at `programs.waybar` + * [ ] Look at `services.udiskie`, `services.mako`, `programs.wlogout`, `services.clipmenu` + * [ ] Essentially, move most of the configs to `home-manager` instead of `nixos` ## Desktop / GUI * [ ] Syncthing + Logseq diff --git a/home-manager/common/desktops/hyprland/themes/stylix/hyprland-conf.nix b/home-manager/common/desktops/hyprland/themes/stylix/hyprland-conf.nix index 9c8635f2..9257d019 100644 --- a/home-manager/common/desktops/hyprland/themes/stylix/hyprland-conf.nix +++ b/home-manager/common/desktops/hyprland/themes/stylix/hyprland-conf.nix @@ -1,100 +1,76 @@ { theme, ... }: { - home.file = { - ".config/hypr/hyprland.conf" = { - enable = true; - text = '' - # https://wiki.hyprland.org/Configuring/Variables/ - env = GDK_SCALE,1 - env = XCURSOR_SIZE,22 - # unscale XWayland - xwayland { - force_zero_scaling = true - } - - layerrule = blur, waybar - - # nVidia Speficic Settings: - # https://wiki.hyprland.org/Nvidia/ - # env = LIBVA_DRIVER_NAME,nvidia - # env = XDG_SESSION_TYPE,wayland - # env = GBM_BACKEND,nvidia-drm - # env = __GLX_VENDOR_LIBRARY_NAME,nvidia - env = WLR_NO_HARDWARE_CURSORS,1 - - general { - gaps_in = 5 - gaps_out = 15 - border_size = 3 - # First six are color, last 2 are opacity - col.active_border = rgba(2a9b34bb) # Gruvbox fg2, opacity bb - col.inactive_border = rgba(207427dd) # Gruvbox bg2, opacity aa - resize_on_border = true - extend_border_grab_area = 15 - layout = dwindle - } - input { - kb_layout = us - follow_mouse = 1 - touchpad { - natural_scroll = true - disable_while_typing = true - tap-to-click = true - clickfinger_behavior = true - drag_lock = true - } - sensitivity = 0 - } - gestures { - # https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures - workspace_swipe = true - workspace_swipe_fingers = 3 - workspace_swipe_numbered = false - } - misc { - disable_hyprland_logo = true - mouse_move_enables_dpms = true - key_press_enables_dpms = true - } - decoration { - rounding = 5 - active_opacity = 0.8 - inactive_opacity = 0.6 - fullscreen_opacity = 1.0 - drop_shadow = true - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(05050500) - blur { - size = 8 - passes = 3 - ignore_opacity = true - } - - } - animations { - # https://wiki.hyprland.org/Configuring/Animations/ - enabled = true - 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 - } - dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # you probably want this - no_gaps_when_only = 1 - - } - master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true - } - ''; + wayland.windowManager.hyprland = { + enable = true; + settings = { + layerrule = "blur, waybar"; + xwayland.force_zero_scaling = true; + env = "GTK_SCALE,1"; + env = "XCURSOR_SIZE,22"; + general = { + gaps_in = "8"; + gaps_out = "8"; + border_size = "2"; + resize_on_border = "true"; + extend_border_grab_area = "15"; + layout = "dwindle"; + }; + input = { + kb_layout = "us"; + follow_mouse = "1"; + touchpad = { + natural_scroll = true; + disable_while_typing = true; + tap-to-click = true; + clickfinger_behavior = true; + drag_lock = true; + }; + sensitivity = 0; + }; + gestures = { + workspace_swipe = true; + workspace_swipe_fingers = 3; + workspace_swipe_numbered = false; + }; + misc = { + disable_hyprland_logo = true; + mouse_move_enables_dpms = true; + key_press_enables_dpms = true; + }; + decoration = { + rounding = 5; + active_opacity = 0.8; + inactive_opacity = 0.6; + fullscreen_opacity = 1.0; + drop_shadow = true; + shadow_range = 4; + shadow_render_power = 3; + blur = { + size = 8; + passes = 3; + ignore_opacity = true; + }; + }; + animations = { + # https://wiki.hyprland.org/Configuring/Animations/ + enabled = true; + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + animation = [ + "windows,1,7,myBezier" + "windowsOut,1,7,default,popin80%" + "border,1,10,default" + "borderangle,1,8,default" + "fade,1,7,default" + "workspaces,1,6,default" + ]; + }; + dwindle = { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true;# you probably want this + no_gaps_when_only = 1; + }; + master.new_is_master = true; }; }; }