This commit is contained in:
2023-04-12 20:32:07 +02:00
committed by soraefir
parent 10fbbc2654
commit a57512f3e5
90 changed files with 5470 additions and 4 deletions

41
home/gui/theme/default.nix Executable file
View File

@@ -0,0 +1,41 @@
{
pkgs,
inputs,
config,
...
}:
let
colorVariant = " black";
gtkThemeFromScheme = import ./gtk-theme-gen.nix { inherit pkgs config; };
wallpaperGen = import ./wallpaper-gen.nix {inherit pkgs config; };
in
{
home.pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 24;
gtk.enable = true;
x11.enable = true;
};
gtk = {
enable = true;
theme = {
name = "${config.colorscheme.slug}";
package = gtkThemeFromScheme;
};
iconTheme = {
name = "tela-circle-icon-theme";
package = pkgs.tela-circle-icon-theme;
};
};
qt = {
enable = true;
platformTheme = "gtk";
};
home.packages = [
wallpaperGen
];
}

View File

@@ -0,0 +1,69 @@
{ pkgs, config }:
let
rendersvg = pkgs.runCommand "rendersvg" { } ''
mkdir -p $out/bin
ln -s ${pkgs.resvg}/bin/resvg $out/bin/rendersvg
'';
scheme = config.colorScheme;
in
pkgs.stdenv.mkDerivation rec {
name = "generated-gtk-theme-${scheme.slug}";
src = pkgs.fetchFromGitHub {
owner = "nana-4";
repo = "materia-theme";
rev = "6e5850388a25f424b8193fe4523504d1dc364175";
sha256 = "sha256-I6hpH0VTmftU4+/pRbztuTQcBKcOFBFbNZXJL/2bcgU=";
};
buildInputs = with pkgs; [
sassc
bc
which
rendersvg
meson
ninja
nodePackages.sass
gtk4.dev
optipng
];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
HOME=/build
chmod 777 -R .
patchShebangs .
mkdir -p $out/share/themes
mkdir bin
sed -e 's/handle-horz-.*//' -e 's/handle-vert-.*//' -i ./src/gtk-2.0/assets.txt
cat > /build/gtk-colors << EOF
BG=${scheme.colors.base00}
FG=${scheme.colors.base07}
HDR_BG=${scheme.colors.base00}
HDR_FG=${scheme.colors.base07}
SEL_BG=${scheme.colors.base03}
SEL_FG=${scheme.colors.base07}
TXT_BG=${scheme.colors.base01}
TXT_FG=${scheme.colors.base07}
BTN_BG=${scheme.colors.base01}
BTN_FG=${scheme.colors.base07}
HDR_BTN_BG=${scheme.colors.base01}
HDR_BTN_FG=${scheme.colors.base07}
MENU_BG=${scheme.colors.base00}
MENU_FG=${scheme.colors.base07}
ACCENT_BG=${scheme.colors.base0C}
ACCENT_FG=${scheme.colors.base00}
MATERIA_SURFACE=${scheme.colors.base01}
MATERIA_VIEW=${scheme.colors.base00}
WM_BORDER_FOCUS=${scheme.colors.base02}
WM_BORDER_UNFOCUS=${scheme.colors.base02}
UNITY_DEFAULT_LAUNCHER_STYLE=False
ROUNDNESS=7
NAME=${scheme.slug}
MATERIA_STYLE_COMPACT=True
EOF
echo "Changing colours:"
./change_color.sh -o ${scheme.slug} /build/gtk-colors -i False -t "$out/share/themes"
chmod 555 -R .
'';
}

View File

@@ -0,0 +1,34 @@
{ pkgs, config }:
let
scheme = config.colorScheme;
colors = scheme.colors;
dither = "none";
in
pkgs.stdenv.mkDerivation rec {
name = "generated-wallpaper-${scheme.slug}";
src = pkgs.fetchFromGitea {
domain = "git.helcel.net";
owner = "sora";
repo = "nixconfig-wallpaper";
rev = "8825bd0f75bb87175ba9f970a6c73608404daebc";
sha256 = "sha256-AgYeMwsPYoaOsllHZ2WQTctF+Bnkb3YA0sTb2u9//R4=";
};
buildInputs = with pkgs; [
custom.repalette
nodejs
];
buildPhase = ''
echo "${colors.base08},${colors.base09},${colors.base0A},${colors.base0B},${colors.base0C},${colors.base0D},${colors.base0E},${colors.base0F}" > base16.out
node palette-gen.js < base16.out > palette.out
${pkgs.custom.repalette}/bin/repalette dark.jpg newdark.jpg -p $(cat palette.out) --dither ${dither}
cat palette.out
'';
installPhase = ''
mkdir -p $out/share/wallpaper
cp newdark.jpg $out/share/wallpaper/dark.jpg
'';
}