Compare commits
10 commits
749285c90e
...
ce22070ec5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce22070ec5 | ||
|
|
ae5c0239ae | ||
|
|
8b14679c0e | ||
|
|
aad90ca763 | ||
|
|
d60d37e02f | ||
|
|
f77ee4f3dd | ||
|
|
861c3c92a9 | ||
|
|
cb2e9c4fc2 | ||
|
|
477c504322 | ||
|
|
805fa4262a |
18 changed files with 248 additions and 90 deletions
|
|
@ -1,5 +1,15 @@
|
|||
# Installation
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The master (unstable) branch of Stylix follows a rolling-release model. To
|
||||
> ensure version compatibility, all inputs must be kept in sync.
|
||||
>
|
||||
> Avoid partial updates and always update inputs together with:
|
||||
>
|
||||
> ```console
|
||||
> nix flake update
|
||||
> ```
|
||||
|
||||
## NixOS
|
||||
|
||||
You can install Stylix into your NixOS configuration using [Flakes][nix-flakes].
|
||||
|
|
|
|||
|
|
@ -151,7 +151,6 @@
|
|||
inputs = {
|
||||
flake-parts.follows = "dev-flake-parts";
|
||||
nixpkgs.follows = "dev-nixpkgs";
|
||||
nuschtosSearch.follows = "";
|
||||
systems.follows = "dev-systems";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -56,21 +56,7 @@ mkTarget {
|
|||
});
|
||||
}
|
||||
)
|
||||
(
|
||||
{ cfg, colors }:
|
||||
{
|
||||
programs.${name}.profiles = lib.genAttrs cfg.profileNames (_: {
|
||||
settings = {
|
||||
"reader.color_scheme" = "custom";
|
||||
"reader.custom_colors.background" = colors.withHashtag.base00;
|
||||
"reader.custom_colors.foreground" = colors.withHashtag.base05;
|
||||
"reader.custom_colors.selection-highlight" = colors.withHashtag.base04;
|
||||
"reader.custom_colors.unvisited-links" = colors.withHashtag.base0D;
|
||||
"reader.custom_colors.visited-links" = colors.withHashtag.base0E;
|
||||
};
|
||||
});
|
||||
}
|
||||
)
|
||||
(import ./reader-mode.nix { inherit name lib; })
|
||||
(
|
||||
{
|
||||
cfg,
|
||||
|
|
|
|||
15
modules/firefox/reader-mode.nix
Normal file
15
modules/firefox/reader-mode.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# NOTE: also used by /modules/zen-browser
|
||||
{ name, lib }:
|
||||
{ cfg, colors }:
|
||||
{
|
||||
programs.${name}.profiles = lib.genAttrs cfg.profileNames (_: {
|
||||
settings = {
|
||||
"reader.color_scheme" = "custom";
|
||||
"reader.custom_colors.background" = colors.withHashtag.base00;
|
||||
"reader.custom_colors.foreground" = colors.withHashtag.base05;
|
||||
"reader.custom_colors.selection-highlight" = colors.withHashtag.base04;
|
||||
"reader.custom_colors.unvisited-links" = colors.withHashtag.base0D;
|
||||
"reader.custom_colors.visited-links" = colors.withHashtag.base0E;
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ mkTarget, ... }:
|
||||
{ lib, mkTarget, ... }:
|
||||
mkTarget {
|
||||
config = [
|
||||
(
|
||||
|
|
@ -19,9 +19,11 @@ mkTarget {
|
|||
(
|
||||
{ colors, inputs }:
|
||||
{
|
||||
programs.foot.settings.main.include = toString (colors {
|
||||
templateRepo = inputs.tinted-foot;
|
||||
});
|
||||
programs.foot.settings.main.include = lib.singleton (
|
||||
toString (colors {
|
||||
templateRepo = inputs.tinted-foot;
|
||||
})
|
||||
);
|
||||
}
|
||||
)
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,23 +1,39 @@
|
|||
{
|
||||
mkTarget,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
mkTarget {
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"gnome"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"gnome"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
autoEnable = pkgs.stdenv.hostPlatform.isLinux;
|
||||
autoEnableExpr = "pkgs.stdenv.hostPlatform.isLinux";
|
||||
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "GNOME" true;
|
||||
|
||||
config = [
|
||||
(
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
dconf.settings."org/gnome/desktop/background" = {
|
||||
picture-uri = lib.mkIf cfg.useWallpaper "file://${image}";
|
||||
picture-uri-dark = lib.mkIf cfg.useWallpaper "file://${image}";
|
||||
picture-uri = "file://${image}";
|
||||
picture-uri-dark = "file://${image}";
|
||||
};
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ in
|
|||
pkgs.gnome-backgrounds
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
nixpkgs.overlays = lib.mkIf config.stylix.overlays.enable [
|
||||
(_: super: {
|
||||
gnome-shell = super.gnome-shell.overrideAttrs (oldAttrs: {
|
||||
# Themes are usually applied via an extension, but extensions are
|
||||
|
|
|
|||
|
|
@ -1,17 +1,29 @@
|
|||
{
|
||||
mkTarget,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{ mkTarget, lib, ... }:
|
||||
mkTarget {
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Hyprlock" true;
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"hyprlock"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"hyprlock"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
config = [
|
||||
(
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
programs.hyprlock.settings.background.path = lib.mkIf cfg.useWallpaper image;
|
||||
programs.hyprlock.settings.background.path = image;
|
||||
}
|
||||
)
|
||||
(
|
||||
|
|
|
|||
|
|
@ -176,10 +176,11 @@ let
|
|||
mergeWithImage
|
||||
{
|
||||
kwinrc."org.kde.kdecoration2".library = cfg.decorations;
|
||||
plasmarc.Theme.name = "default";
|
||||
kwinrc."org.kde.kdecoration2".theme = cfg.decorationTheme;
|
||||
plasmarc.Theme.name = cfg.applicationStyle;
|
||||
|
||||
kdeglobals = {
|
||||
KDE.widgetStyle = "Breeze";
|
||||
KDE.widgetStyle = cfg.widgetStyle;
|
||||
General.ColorScheme = colorschemeSlug;
|
||||
};
|
||||
}
|
||||
|
|
@ -355,6 +356,35 @@ in
|
|||
imperatively applying the window decoration via the System Settings app.
|
||||
'';
|
||||
};
|
||||
decorationTheme = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
The theme name for the window decoration.
|
||||
|
||||
You probably need to set this if you are targeting a custom theme (i.e.
|
||||
installed manually or from the "Get New..." menu).
|
||||
|
||||
See the `theme` key in the `org.kde.kdecoration2` section of
|
||||
`$HOME/.config/kwinrc` after imperatively applying the window decoration
|
||||
via the System Settings app.
|
||||
'';
|
||||
};
|
||||
widgetStyle = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "Breeze";
|
||||
description = ''
|
||||
The library for the widgets styles.
|
||||
|
||||
Widget styles other than default `Breeze` may not be compatible with
|
||||
stylix.
|
||||
'';
|
||||
};
|
||||
applicationStyle = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "default";
|
||||
description = "The library for the application style.";
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
|
|
|
|||
|
|
@ -1,7 +1,21 @@
|
|||
{ lib, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
config = {
|
||||
stylix.testbed.ui.graphicalEnvironment = "kde";
|
||||
|
||||
services.displayManager.autoLogin.enable = lib.mkForce false;
|
||||
|
||||
home-manager.sharedModules = lib.singleton {
|
||||
stylix.targets.kde = {
|
||||
enable = true;
|
||||
applicationStyle = "Utterly-Round";
|
||||
widgetStyle = "Darkly";
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
darkly
|
||||
darkly-qt5
|
||||
utterly-round-plasma-style
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,27 @@
|
|||
{
|
||||
mkTarget,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{ mkTarget, lib, ... }:
|
||||
mkTarget {
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "LightDM" true;
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"lightdm"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"lightdm"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
config =
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
services.xserver.displayManager.lightdm.background =
|
||||
lib.mkIf cfg.useWallpaper image;
|
||||
services.xserver.displayManager.lightdm.background = image;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,23 @@
|
|||
{
|
||||
mkTarget,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{ mkTarget, lib, ... }:
|
||||
mkTarget {
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Limine" true;
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"limine"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"limine"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
config = [
|
||||
(
|
||||
|
|
@ -25,9 +37,9 @@ mkTarget {
|
|||
}
|
||||
)
|
||||
(
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
boot.loader.limine.style.wallpapers = lib.mkIf cfg.useWallpaper [ image ];
|
||||
boot.loader.limine.style.wallpapers = [ image ];
|
||||
}
|
||||
)
|
||||
(
|
||||
|
|
|
|||
|
|
@ -6,19 +6,35 @@
|
|||
...
|
||||
}:
|
||||
mkTarget {
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"regreet"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"regreet"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
autoEnable = pkgs.stdenv.hostPlatform.isLinux;
|
||||
autoEnableExpr = "pkgs.stdenv.hostPlatform.isLinux";
|
||||
|
||||
options = {
|
||||
useWallpaper = config.lib.stylix.mkEnableWallpaper "ReGreet" true;
|
||||
extraCss = lib.mkOption {
|
||||
description = ''
|
||||
Extra code added to `programs.regreet.extraCss` option.
|
||||
'';
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
example = "window.background { border-radius: 0; }";
|
||||
};
|
||||
options.extraCss = lib.mkOption {
|
||||
description = ''
|
||||
Extra code added to `programs.regreet.extraCss` option.
|
||||
'';
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
example = "window.background { border-radius: 0; }";
|
||||
};
|
||||
|
||||
config = [
|
||||
|
|
@ -67,15 +83,15 @@ mkTarget {
|
|||
}
|
||||
)
|
||||
(
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
programs.regreet.settings.background.path = lib.mkIf cfg.useWallpaper image;
|
||||
programs.regreet.settings.background.path = image;
|
||||
}
|
||||
)
|
||||
(
|
||||
{ cfg, imageScalingMode }:
|
||||
{ imageScalingMode }:
|
||||
{
|
||||
programs.regreet.settings.background.fit = lib.mkIf cfg.useWallpaper (
|
||||
programs.regreet.settings.background.fit =
|
||||
if imageScalingMode == "fill" then
|
||||
"Cover"
|
||||
else if imageScalingMode == "fit" then
|
||||
|
|
@ -84,8 +100,7 @@ mkTarget {
|
|||
"Fill"
|
||||
# No other available options
|
||||
else
|
||||
null
|
||||
);
|
||||
null;
|
||||
}
|
||||
)
|
||||
(
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ mkTarget {
|
|||
lib.versionAtLeast config.home.stateVersion "23.05" && pkgs.stdenv.hostPlatform.isLinux
|
||||
'';
|
||||
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Swaylock" true;
|
||||
|
||||
config = [
|
||||
(
|
||||
{ colors }:
|
||||
|
|
@ -66,9 +64,9 @@ mkTarget {
|
|||
}
|
||||
)
|
||||
(
|
||||
{ cfg, image }:
|
||||
{ image }:
|
||||
{
|
||||
programs.swaylock.settings.image = lib.mkIf cfg.useWallpaper image;
|
||||
programs.swaylock.settings.image = image;
|
||||
}
|
||||
)
|
||||
(
|
||||
|
|
@ -94,5 +92,21 @@ mkTarget {
|
|||
"useWallpaper"
|
||||
];
|
||||
})
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"swaylock"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"swaylock"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,6 +79,12 @@ mkTarget {
|
|||
.modules-${place} #workspaces button.active {
|
||||
border-bottom: 3px solid @base05;
|
||||
}
|
||||
|
||||
.modules-${place} #workspaces button.urgent {
|
||||
border-bottom: 3px solid @base08;
|
||||
background-color: @base08;
|
||||
color: @base00;
|
||||
}
|
||||
'';
|
||||
in
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,12 +1,28 @@
|
|||
{
|
||||
mkTarget,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
mkTarget {
|
||||
options.useWallpaper = config.lib.stylix.mkEnableWallpaper "wayfire" true;
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModuleWith {
|
||||
from = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"wayfire"
|
||||
"useWallpaper"
|
||||
];
|
||||
sinceRelease = 2605;
|
||||
to = [
|
||||
"stylix"
|
||||
"targets"
|
||||
"wayfire"
|
||||
"image"
|
||||
"enable"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
config = [
|
||||
(
|
||||
|
|
@ -17,11 +33,7 @@ mkTarget {
|
|||
}
|
||||
)
|
||||
(
|
||||
{
|
||||
cfg,
|
||||
image,
|
||||
imageScalingMode,
|
||||
}:
|
||||
{ image, imageScalingMode }:
|
||||
let
|
||||
wayfireBackground = pkgs.runCommand "wayfire-background.png" { } ''
|
||||
${lib.getExe' pkgs.imagemagick "convert"} ${image} $out
|
||||
|
|
@ -30,13 +42,13 @@ mkTarget {
|
|||
{
|
||||
wayland.windowManager.wayfire.settings = {
|
||||
cube = {
|
||||
cubemap_image = lib.mkIf cfg.useWallpaper wayfireBackground;
|
||||
skydome_texture = lib.mkIf cfg.useWallpaper wayfireBackground;
|
||||
cubemap_image = wayfireBackground;
|
||||
skydome_texture = wayfireBackground;
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.wayfire.wf-shell.settings = {
|
||||
background.image = lib.mkIf cfg.useWallpaper wayfireBackground;
|
||||
background.image = wayfireBackground;
|
||||
background.fill_mode =
|
||||
if imageScalingMode == "stretch" then
|
||||
"stretch"
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@ mkTarget {
|
|||
});
|
||||
}
|
||||
)
|
||||
(import ../firefox/reader-mode.nix {
|
||||
inherit lib;
|
||||
name = "zen-browser";
|
||||
})
|
||||
(
|
||||
{ cfg, colors }:
|
||||
{
|
||||
|
|
|
|||
|
|
@ -125,8 +125,8 @@ with colors;
|
|||
--identity-icon-color: #${base0F-hex} !important;
|
||||
}
|
||||
|
||||
hbox#titlebar {
|
||||
background-color: #${base00-hex} !important;
|
||||
#navigator-toolbox {
|
||||
--zen-main-browser-background-toolbar: #${base00-hex} !important;
|
||||
}
|
||||
|
||||
#zen-appcontent-navbar-container {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue