diff --git a/configuration/modules/ld.nix b/configuration/modules/ld.nix index 4c37538..51a20c5 100644 --- a/configuration/modules/ld.nix +++ b/configuration/modules/ld.nix @@ -14,12 +14,12 @@ pipewire # Display / input - xorg.libX11 - xorg.libXcursor - xorg.libXrandr - xorg.libXi - xorg.libXext - xorg.libXfixes + libX11 + libXcursor + libXrandr + libXi + libXext + libXfixes wayland # Common runtime deps most Unity/Godot/etc games need diff --git a/flake.nix b/flake.nix index a7bd823..680d626 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,11 @@ url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + + stylix = { + url = "github:danth/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = {nixpkgs, ...} @ inputs: let @@ -49,6 +54,7 @@ ./configuration/${device-name}/configuration.nix ./configuration/${device-name}/hardware-configuration.nix inputs.home-manager.nixosModules.default + inputs.stylix.nixosModules.stylix { home-manager = { useUserPackages = true; @@ -64,6 +70,10 @@ imports = [./home/${device-name}/home.nix]; home.stateVersion = "25.11"; }; + + sharedModules = [ + inputs.stylix.homeModules.stylix + ]; }; } ]; diff --git a/home/modules/default.nix b/home/modules/default.nix index 4fa5372..57edb74 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -13,5 +13,6 @@ ./shell ./create-project/create-project.nix ./games + ./theming.nix ]; } diff --git a/home/modules/theming.nix b/home/modules/theming.nix new file mode 100644 index 0000000..d18980f --- /dev/null +++ b/home/modules/theming.nix @@ -0,0 +1,92 @@ +{pkgs, ...}: { + stylix = { + enable = true; + overlays.enable = false; + + targets = { + gtk.enable = true; + qt.enable = true; + }; + + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark.yaml"; + opacity.terminal = 0.75; + + cursor = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Ice"; + size = 14; + }; + + fonts = { + sizes = { + applications = 10; + desktop = 10; + terminal = 9; + popups = 8; + }; + + monospace = { + package = pkgs.nerd-fonts.jetbrains-mono; + name = "JetBrainsMono Nerd Font"; + }; + + sansSerif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans"; + }; + + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + }; + + polarity = "dark"; + image = ../../assets/shadow_dark.png; + }; + + qt.enable = true; + + gtk = { + enable = true; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + + gtk3.extraConfig = { + gtk-recent-files-enabled = 0; + gtk-recent-files-limit = 0; + gtk-recent-files-max-age = 0; + }; + }; + + wayland.desktopManager.cosmic.appearance = { + theme = "Dark"; + darkTheme = { + # ── Backgrounds ─────────────────────────────────────────── + backgroundColor = { r = 0.157; g = 0.157; b = 0.157; a = 1.0; }; # #282828 bg0 + primaryContainerColor = { r = 0.196; g = 0.196; b = 0.196; a = 1.0; }; # #323232 bg1 + secondaryContainerColor = { r = 0.224; g = 0.212; b = 0.196; a = 1.0; }; # #3c3836 bg2 + + # ── Accent (yellow — swap base0D for blue if preferred) ─── + accentColor = { r = 0.980; g = 0.737; b = 0.184; }; # #fac232 yellow + + # ── Text ────────────────────────────────────────────────── + onBackgroundColor = { r = 0.922; g = 0.859; b = 0.698; a = 1.0; }; # #ebdbb2 fg1 + + # ── Semantic colors ─────────────────────────────────────── + destructiveColor = { r = 0.984; g = 0.286; b = 0.204; }; # #fb4934 red + successColor = { r = 0.722; g = 0.733; b = 0.149; }; # #b8bb26 green + warningColor = { r = 0.980; g = 0.737; b = 0.184; }; # #fabd2f yellow + + # ── Shape ───────────────────────────────────────────────── + cornerRadii = { + roundedSmall = 4; + roundedMedium = 8; + roundedLarge = 16; + }; + windowHintOutlineWidth = 2; + }; +}; +}