new wm, hyprland gone

This commit is contained in:
Reid 2025-05-18 23:05:26 -07:00
parent 003f37bfbd
commit cb4b22b4e5
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
41 changed files with 1145 additions and 1364 deletions

View file

@ -31,14 +31,6 @@ in {
package = mkPackageOption pkgs "cursor" {};
size = mkOpt int 24;
};
sddmTheme = {
name = mkOpt str "";
package = mkPackageOption pkgs "sddm" {};
};
plymouthTheme = {
name = mkOpt str "";
package = mkPackageOption pkgs "plymouth" {};
};
editor = {
vscode = {
@ -53,9 +45,10 @@ in {
};
};
hyprland = {
source = mkOpt (nullOr str) null;
extraConfig = mkOpt (nullOr str) null;
niri = {
accent = mkOpt str "";
inactive = mkOpt str "";
shadow = mkOpt str "";
};
waybar = mkOpt str "";
@ -66,11 +59,11 @@ in {
barColor = mkOpt (nullOr str) null;
};
rofi = mkOpt (nullOr path) null;
rofi = mkOpt (nullOr str) null;
fuzzel = mkOpt (nullOr str) null;
wezterm = mkOpt (nullOr str) null;
nwg-drawer = mkOpt (nullOr str) null;
};
config = mkIf (cfg.active != null) {
@ -120,7 +113,7 @@ in {
package = cfg.iconTheme.package;
};
hm.programs.vscode = {
hm.programs.vscode.profiles.default = {
extensions = [
cfg.editor.vscode.colorTheme.extension
cfg.editor.vscode.iconTheme.extension
@ -131,11 +124,6 @@ in {
};
};
hm.wayland.windowManager.hyprland = {
settings.source = mkIf (cfg.hyprland.source != null) [ cfg.hyprland.source ];
extraConfig = mkIf (cfg.hyprland.extraConfig != null) cfg.hyprland.extraConfig;
};
hm.programs.waybar.style = cfg.waybar;
hm.services.wob.settings."" = {
@ -144,11 +132,23 @@ in {
bar_color = cfg.wob.barColor;
};
hm.programs.rofi.theme = cfg.rofi;
# silly litle hack--rofi hm module doesn't play nice with strings
# so, we have to write the config to a file and then read it :P
# ...and then back to a string
hm.programs.rofi.theme = "${pkgs.writeTextFile {
name = "rofi-theme.rasi";
text = cfg.rofi;
}}";
hm.programs.fuzzel.settings.main = {
include = cfg.fuzzel;
icon-theme = cfg.iconTheme.name;
};
hm.xdg.configFile = let
iniFmt = pkgs.formats.ini {};
# souls are forged in the fires of hell
mkQtctConf = version: let
zeroCount = if version == 5 then 5 else if version == 6 then 10 else builtins.throw "invalid qtct version";
zeros = builtins.concatStringsSep "," (builtins.genList (_: "0") zeroCount);
@ -161,21 +161,12 @@ in {
};
Fonts = with config.modules.desktop.fonts.fonts; {
# i'm going to go on a rant here
# this actually SUCKS omg
# god is dead and The Qt Company killed him
# (for qt5, font weight is on a different scale where 50 is equivalent to 400 in qt6, even more fun)
# font weight is set to 400, this is the default weight for every font ever and it will fall back to something else if the font doesn't have a 400 weight (ex. cozette only has a 500 weight)
# setting the font style name is BAD!! i found it breaks font selection for others that aren't the weight that is given, and it's not required anyway
# technically this isn't perfect because we are setting the font size in points to the pixel size, but it doesn't matter since we define it in pixels right afterwards. this is a bit annoying but whatever man
# oh and, because why not, the qt5 font config has less zeros than the qt6 font config. the docs don't say anything about this. i am going to kill myself @The Qt Company
# yapping over. this is the best we can do for now
general = ''"${sansSerif.family},${toString sansSerif.size},${toString sansSerif.size},5,${toString weight},${zeros},1"'';
fixed = ''"${monospace.family},${toString monospace.size},${toString monospace.size},5,${toString weight},${zeros},1"'';
general = ''"${sansSerif.family},${toString sansSerif.size},-1,5,${toString weight},${zeros},1"'';
fixed = ''"${monospace.family},-1,${toString monospace.size},5,${toString weight},${zeros},1"'';
};
};
in {
# technically could cause issues w KDE if we use that
# technically could cause issues with KDE if we use that
# not a concern for now
"kdeglobals".text = ''
[Icons]