65 lines
1.6 KiB
Nix
65 lines
1.6 KiB
Nix
{
|
|
pkgs,
|
|
self,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
let
|
|
wallpaper = "${self}/media/wallpapers/sine.png";
|
|
|
|
# Generate base16 color scheme from wallpaper
|
|
scheme_string_step1 = pkgs.runCommand "scheme_string" { }''
|
|
${pkgs.flavours}/bin/flavours generate dark ${wallpaper} --stdout | sed 's/"//g' | sed 's/://' | tail -n 16 > $out
|
|
'';
|
|
scheme_string = builtins.readFile scheme_string_step1;
|
|
scheme_list = lib.filter (x: x != "") (lib.splitString "\n" scheme_string);
|
|
scheme_set = lib.lists.foldl' (acc: line:
|
|
let
|
|
splitLine = lib.splitString " " line;
|
|
key = builtins.elemAt splitLine 0;
|
|
value = builtins.elemAt splitLine 1;
|
|
in
|
|
acc // { "${key}" = value; }
|
|
) {} scheme_list;
|
|
in
|
|
{
|
|
stylix = {
|
|
enable = true;
|
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/chalk.yaml";
|
|
image = wallpaper;
|
|
polarity = "dark";
|
|
autoEnable = true;
|
|
opacity.terminal = 0.95;
|
|
targets = {
|
|
console.enable = true;
|
|
feh.enable = true;
|
|
grub.enable = true;
|
|
};
|
|
cursor = {
|
|
package = pkgs.bibata-cursors;
|
|
name = "Bibata-Modern-Ice";
|
|
};
|
|
fonts = {
|
|
monospace = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
sansSerif = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
serif = {
|
|
package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
|
|
name = "Iosevka Nerd Font";
|
|
};
|
|
sizes = {
|
|
desktop = 10;
|
|
applications = 14;
|
|
terminal = 16;
|
|
popups = 12;
|
|
};
|
|
};
|
|
};
|
|
}
|