feat: trying hyprland again

This commit is contained in:
Nick 2025-05-10 16:28:48 -05:00
parent c5fe1e3538
commit cd01d3e40b
11 changed files with 108 additions and 156 deletions

View file

@ -60,15 +60,14 @@ in
usbImager usbImager
virtManager virtManager
# polychromatic # polychromatic
dolphin
espanso espanso
claudeCode claudeCode
jamesDsp jamesDsp
zoom zoom
academic academic
# hypr hypr
# niri # niri
# wayland wayland
theming theming
; ;
}; };

View file

@ -0,0 +1,12 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
nautilus
sushi
;
};
}

View file

@ -1,91 +0,0 @@
let
superBinds = builtins.map (x: "SUPER, " + x) [
# Apps
"B, exec, brave"
"E, exec, ghostty -e nu -e y"
"S, exec, steam"
"N, exec, signal-desktop"
"D, exec, discordcanary"
"R, exec, flatpak run org.vinegarhq.Sober"
"T, exec, ghostty"
"P, exec, spotify"
"M, exec, prismlauncher"
"J, exec, jellyfinmediaplayer"
"L, exec, lutris"
# Workspaces
"1, workspace, 1"
"2, workspace, 2"
"3, workspace, 3"
"4, workspace, 4"
"5, workspace, 5"
# Windows
"X, killactive"
"bracketright, splitratio, 0.33"
"bracketleft, splitratio, -0.33"
"Tab, fullscreen, 0"
"F, togglefloating"
# Window Focus
"left, movefocus, l"
"up, movefocus, u"
"down, movefocus, d"
"right, movefocus, r"
# Audio
"PageUp, exec, playerctl next"
"PageDown, exec, playerctl previous"
"Home, exec, playerctl play-pause"
"Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun"
];
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [
# Super+shift binds
# Window Move
"left, movewindow, l"
"up, movewindow, u"
"down, movewindow, d"
"right, movewindow, r"
# Quick Action
"S, exec, flameshot gui"
"period, exec, emote"
"Backspace, layoutmsg, togglesplit"
"P, pin, enable"
# "Print, exec, grim -g \"$(slurp)\""
# Utility
"End, exec, shutdown now"
"Insert, exec, systemctl reboot"
"Home, exec, swaylock"
"1, movetoworkspacesilent, 1"
"2, movetoworkspacesilent, 2"
"3, movetoworkspacesilent, 3"
"4, movetoworkspacesilent, 4"
"5, movetoworkspacesilent, 5"
];
superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [
# Super+shift binds
];
altBinds = builtins.map (x: "ALT, " + x) [
# Alt binds
];
shiftBinds = builtins.map (x: "SHIFT, " + x) [
# Shift binds
];
ctrlBinds = builtins.map (x: "CTRL, " + x) [
# Ctrl binds
];
ctrlShiftBinds = builtins.map (x: "CTRL SHIFT, " + x) [
# Ctrl+shift binds
# "End, exec, shutdown now"
];
in
superBinds
++ superShiftBinds
++ superCtrlBinds
++ altBinds
++ ctrlBinds
++ ctrlShiftBinds
++ shiftBinds
# Docs
# https://wiki.hyprland.org/Getting-Started/Master-Tutorial/

View file

@ -2,17 +2,16 @@ let
superBinds = builtins.map (x: "SUPER, " + x) [ superBinds = builtins.map (x: "SUPER, " + x) [
# Apps # Apps
"Z, exec, obsidian" "Z, exec, obsidian"
"L, exec, slack"
"H, exec, feishin" "H, exec, feishin"
"G, exec, scrcpy" "G, exec, scrcpy"
"K, exec, ghostty -e nu -e y" "L, exec, thunar"
"S, exec, steam" "S, exec, steam"
"R, exec, ghostty -e zellij a dotfiles" "R, exec, ghostty -e zellij a dotfiles"
"N, exec, signal-desktop" "N, exec, signal-desktop"
"T, exec, zeditor" "T, exec, zeditor"
"B, exec, floorp" "B, exec, floorp"
"X, exec, freetube" "X, exec, freetube"
"V, exec, discordcanary" "V, exec, vesktop"
"M, exec, element-desktop" "M, exec, element-desktop"
"D, exec, ghostty" "D, exec, ghostty"
"P, exec, bitwarden" "P, exec, bitwarden"
@ -35,7 +34,7 @@ let
"PageUp, exec, playerctl next" "PageUp, exec, playerctl next"
"PageDown, exec, playerctl previous" "PageDown, exec, playerctl previous"
"Home, exec, playerctl play-pause" "Home, exec, playerctl play-pause"
"Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun" "Space, exec, fuzzel"
]; ];
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [ superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [

View file

@ -1,17 +1,13 @@
{ {
flake, flake,
config, config,
pkgs,
... ...
}: }:
let let
inherit (flake.config.people) user1;
user = config.home.username;
configPath = ./config; configPath = ./config;
configImports = { configImports = {
animations = import (configPath + /animations.nix); animations = import (configPath + /animations.nix);
bind = import (configPath + /bind.nix);
bindm = import (configPath + /bindm.nix); bindm = import (configPath + /bindm.nix);
binds = import (configPath + /binds.nix); binds = import (configPath + /binds.nix);
# bindl = import (configPath + /bindl.nix); # bindl = import (configPath + /bindl.nix);
@ -24,15 +20,6 @@ let
windowrulev2 = import (configPath + /windowrulev2.nix); windowrulev2 = import (configPath + /windowrulev2.nix);
xwayland = import (configPath + /xwayland.nix); xwayland = import (configPath + /xwayland.nix);
monitor = import (configPath + /monitor.nix); monitor = import (configPath + /monitor.nix);
bind =
let
bindConfig =
if user == user1 then
import (configPath + /bind-user1.nix)
else
import (configPath + /bind-user0.nix);
in
bindConfig;
}; };
in in
{ {

View file

@ -2,6 +2,7 @@
config, config,
flake, flake,
pkgs, pkgs,
lib,
... ...
}: }:
let let
@ -38,6 +39,11 @@ in
workspace4 = "extra"; workspace4 = "extra";
in in
{ {
# environment = {
# QT_QPA_PLATFORM = "wayland";
# DISPLAY = null;
# };
prefer-no-csd = true; prefer-no-csd = true;
cursor = { cursor = {
@ -50,7 +56,7 @@ in
}; };
spawn-at-startup = [ spawn-at-startup = [
{ command = [ "swaylock" ]; } # { command = [ "xwayland-satellite" ]; }
{ command = [ "wl-clipboard" ]; } { command = [ "wl-clipboard" ]; }
{ command = [ "wpaperd" ]; } { command = [ "wpaperd" ]; }
{ command = [ "gammastep" ]; } { command = [ "gammastep" ]; }
@ -144,9 +150,9 @@ in
# "Super+Enter".action = niri.toggle-overview; # "Super+Enter".action = niri.toggle-overview;
"Super+1".action = niri.focus-workspace workspace0; "Super+1".action = niri.focus-workspace workspace0;
"Super+2".action = niri.focus-workspace workspace1; "Super+4".action = niri.focus-workspace workspace1;
"Super+3".action = niri.focus-workspace workspace2; "Super+3".action = niri.focus-workspace workspace2;
"Super+4".action = niri.focus-workspace workspace3; "Super+2".action = niri.focus-workspace workspace3;
"Super+5".action = niri.focus-workspace workspace4; "Super+5".action = niri.focus-workspace workspace4;
"Super+c".action = niri.focus-column-or-monitor-left; "Super+c".action = niri.focus-column-or-monitor-left;
@ -291,6 +297,7 @@ in
open-on-workspace = workspace3; open-on-workspace = workspace3;
} }
{ {
# opacity = 0.90;
clip-to-geometry = true; clip-to-geometry = true;
focus-ring.enable = false; focus-ring.enable = false;
geometry-corner-radius = geometry-corner-radius =
@ -307,16 +314,22 @@ in
]; ];
layout = { layout = {
# always-center-single-column = true;
default-column-width = { default-column-width = {
proportion = 0.5; proportion = 0.5;
}; };
preset-column-widths = [
{ proportion = 1. / 3.; }
{ proportion = 1. / 2.; }
{ proportion = 2. / 3.; }
];
border = { border = {
enable = true; enable = true;
width = 2; width = 2;
active.color = makeColour el.base0E; active.color = makeColour el.base0E;
inactive.color = makeColour el.base02; inactive.color = makeColour el.base02;
}; };
gaps = 10; gaps = 5;
shadow = { shadow = {
enable = true; enable = true;
color = el.base11; color = el.base11;
@ -346,5 +359,9 @@ in
}; };
}; };
}; };
# home.packages = builtins.attrValues {
# inherit (pkgs)
# xwayland-satellite
# ;
# };
} }

View file

@ -12,13 +12,12 @@ in
margin-left = 5; margin-left = 5;
margin-right = 5; margin-right = 5;
modules-left = [ modules-left = [
"custom/weather" "custom/launcher"
# "niri/workspaces" "hyprland/workspaces"
]; ];
modules-center = [ modules-center = [
# "custom/launcher" "custom/weather"
"clock"
]; ];
modules-right = [ modules-right = [
@ -30,7 +29,7 @@ in
"pulseaudio" "pulseaudio"
# "network" # "network"
"battery" "battery"
# "clock" "clock"
]; ];
clock = { clock = {
@ -45,24 +44,33 @@ in
format-alt = " {:%d/%m}"; format-alt = " {:%d/%m}";
}; };
# "niri/workspaces" = { "hyprland/workspaces" = {
# active-only = false; active-only = false;
# disable-scroll = true; disable-scroll = true;
# format = "{icon}"; format = "{icon}";
# on-click = "activate"; on-click = "activate";
# format-icons = { format-icons = {
# # focused = "◉"; "1" = "";
# # active = "◉"; "2" = "";
# # empty = "◯"; "3" = "";
# # urgent = ""; "4" = "";
# # default = "◯"; "5" = "";
# # sort-by-number = true; urgent = "";
# }; default = "";
# }; sort-by-number = true;
};
persistent-workspaces = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
"5" = [ ];
};
};
memory = { memory = {
format = "󰟜 {}%"; format = " {}%";
format-alt = "󰟜 {used} GiB"; #  format-alt = " {used} GiB"; # 
interval = 2; interval = 2;
}; };
@ -115,8 +123,7 @@ in
}; };
"custom/launcher" = { "custom/launcher" = {
format = ""; format = "";
on-click = "rm -r /home/$USER/.cache/tofi* ; tofi-drun"; on-click = "fuzzel";
# on-click-right = "pkill tofi || wallpaper-picker";
tooltip = false; tooltip = false;
}; };

View file

@ -41,7 +41,7 @@ in
'' ''
* { * {
min-height: 30px; min-height: 34px;
border-radius: 0; border-radius: 0;
font-family: ${custom.font}; font-family: ${custom.font};
font-weight: ${custom.font_weight}; font-weight: ${custom.font_weight};
@ -58,20 +58,18 @@ in
#workspaces { #workspaces {
font-size: 18px; font-size: 18px;
padding-left: 15px; padding-left: 5px;
margin-bottom: 2px; margin-bottom: 0px;
} }
#workspaces button { #workspaces button {
color: #${custom.button_color}; color: #${custom.button_color};
padding: 5px 0px 5px 0px; padding: 0px 5px 0px 5px;
} opacity: ${custom.opacityBt};
#workspaces button.active {
color: #${custom.text_color};
} }
#workspaces button.empty { #workspaces button.empty {
color: #${custom.button_color}; color: #${custom.background_3};
} }
#workspaces button.focused { #workspaces button.active {
color: #${custom.text_color}; color: #${custom.text_color};
} }
@ -100,7 +98,6 @@ in
} }
#clock { #clock {
font-size: 14px;
} }
#battery { #battery {
@ -121,6 +118,5 @@ in
font-size: 14px; font-size: 14px;
color: #${custom.text_color}; color: #${custom.text_color};
font-weight: ${custom.font_weight}; font-weight: ${custom.font_weight};
padding-left: 10px;
} }
'' ''

View file

@ -10,13 +10,12 @@ in
mullvad mullvad
syncthing syncthing
ollama ollama
plasma # plasma
sddm sddm
# hypr hypr
# niri # niri
# wayland wayland
searx searx
portals
xserver xserver
flatpak flatpak
wireGuard wireGuard

View file

@ -1,10 +1,26 @@
{ pkgs, flake, ... }:
let
inherit (flake.config.aesthetics.themes) fonts;
in
{ {
services = { services = {
displayManager = { displayManager = {
sddm = { sddm = {
enable = true; enable = true;
wayland.enable = true; enableHidpi = true;
theme = "catppuccin-mocha";
}; };
}; };
}; };
environment = {
systemPackages = [
(pkgs.catppuccin-sddm.override {
flavor = "mocha";
font = "${fonts.names.name0}";
fontSize = "${toString fonts.sizes.desktop.size0}";
loginBackground = true;
})
];
};
} }

View file

@ -5,12 +5,23 @@
xdg = { xdg = {
portal = { portal = {
enable = true; enable = true;
config = {
niri = {
default = [
"wlr"
"gtk"
"gnome"
];
};
};
wlr.enable = true; wlr.enable = true;
config.common.default = "*"; config.common.default = "*";
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
extraPortals = builtins.attrValues { extraPortals = builtins.attrValues {
inherit (pkgs) inherit (pkgs)
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-gnome
# xdg-desktop-portal-hyprland # xdg-desktop-portal-hyprland
xdg-desktop-portal-wlr xdg-desktop-portal-wlr
; ;