finally caved and removed my redundant color scheme definition in the flake.nix file to use stylix's built-in color scheme definition

This commit is contained in:
pagedmov
2024-11-03 15:55:36 -05:00
parent 62bbbfa71d
commit e4369939f4
11 changed files with 65 additions and 79 deletions

View File

@@ -41,31 +41,6 @@
} @ inputs: let
system = "x86_64-linux";
username = "pagedmov";
wallpaper = "${self}/assets/wallpapers/sleeping-blackmetal.png";
base16scheme = "black-metal-immortal"; # can be easily changed with the chscheme script
# Map colors from yaml to attribute set
# Extracting colors into a set here allows them to be propagated across the entire config, with or without stylix
lib = nixpkgs.lib;
pkgs = import nixpkgs {system = "x86_64-linux";};
scheme_path = "${pkgs.base16-schemes}/share/themes/${base16scheme}.yaml";
scheme_string = builtins.readFile scheme_path;
scheme_list = lib.splitString "\n" "${scheme_string}";
colors = lib.filter (line: builtins.match "^ *base[0-9A-F]{2}: .*" line != null) scheme_list;
scheme =
lib.lists.foldl' (
acc: line: let
splitLine = lib.splitString ": " line;
key = builtins.elemAt splitLine 0;
value = builtins.elemAt splitLine 1;
trimmedKey = lib.trim key;
cleanValue_step1 = lib.splitString " " value;
cleanValue_step2 = builtins.elemAt cleanValue_step1 0;
cleanValue_final = builtins.substring 1 (builtins.stringLength cleanValue_step2 - 2) cleanValue_step2;
in
acc // {"${trimmedKey}" = cleanValue_final;}
) {}
colors;
in {
homeManagerModules.default = ./modules/home;
@@ -73,7 +48,7 @@
oganesson = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "oganesson";
inherit self inputs scheme wallpaper username;
inherit self inputs username;
};
inherit system;
modules = [
@@ -88,7 +63,7 @@
mercury = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "mercury";
inherit self inputs scheme wallpaper username;
inherit self inputs username;
};
modules = [
./hosts/laptop/config.nix
@@ -102,7 +77,7 @@
xenon = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "xenon";
inherit self inputs scheme username;
inherit self inputs username;
};
modules = [
./hosts/server/config.nix

View File

@@ -4,9 +4,7 @@
self,
inputs,
username,
wallpaper,
lib,
scheme ? {},
config,
...
}: let
@@ -17,7 +15,7 @@ in {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {inherit self inputs host wallpaper scheme username nur;};
extraSpecialArgs = {inherit self inputs host username nur;};
users = {
${username} = {
programs.home-manager.enable = true;

View File

@@ -4,9 +4,7 @@
self,
inputs,
username,
wallpaper,
lib,
scheme ? {},
config,
...
}: let
@@ -17,7 +15,7 @@ in {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {inherit self inputs host wallpaper scheme username nur;};
extraSpecialArgs = {inherit self inputs host username nur;};
users = {
${username} = {
programs.home-manager.enable = true;

View File

@@ -4,7 +4,6 @@
self,
inputs,
lib,
scheme,
username,
config,
...
@@ -17,7 +16,7 @@ in {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = { inherit self inputs scheme host username nur; };
extraSpecialArgs = { inherit self inputs host username nur; };
users = {
${username} = {
programs.home-manager.enable = true;

View File

@@ -1,5 +1,6 @@
{lib, config, pkgs, inputs, scheme ? {}, ... }: let
{lib, config, pkgs, inputs, ... }: let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
scheme = config.lib.stylix.colors;
in {
imports = [inputs.spicetify-nix.homeManagerModules.default];
options = {

View File

@@ -1,4 +1,4 @@
{lib, config, pkgs, scheme ? {}, wallpaper, ... }: {
{lib, config, pkgs, ... }: {
options = {
stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
};

View File

@@ -1,4 +1,4 @@
{pkgs, scheme ? {}, host, lib, config, ...}:
{pkgs, host, lib, config, ...}:
let
desktop = host == "oganesson";
@@ -22,6 +22,8 @@ let
"eDP-1" = [1 2 3 4];
};
};
scheme = config.lib.stylix.colors;
bg = {
darkester = scheme.base00;
darkest = scheme.base01;
@@ -435,7 +437,7 @@ in {
}
#custom-power {
color: #${colors.color0};
color: #${colors.color2};
font-size: 18px;
}
@@ -445,7 +447,7 @@ in {
}
#custom-reboot {
color: #${colors.color2};
color: #${colors.color0};
font-size: 18px;
}

View File

@@ -1,10 +1,11 @@
{pkgs, scheme, lib, self, config, ... }:
{pkgs, lib, self, config, ... }:
# This folder is for programs that do not have existing configuration modules in NixOS.
# Basically a to-do list for stuff I need to write my own modules for.
let
# Custom theme that activates in ssh
ssh_base16 = "atelier-cave";
def_scheme = config.lib.stylix.colors;
scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
scheme_string = builtins.readFile scheme_path;
@@ -140,39 +141,39 @@ in
'';
".config/kitty/default-theme.conf".text = ''
background #${scheme.base00}
foreground #${scheme.base05}
selection_background #${scheme.base05}
selection_foreground #${scheme.base00}
url_color #${scheme.base04}
cursor #${scheme.base05}
active_border_color #${scheme.base03}
inactive_border_color #${scheme.base01}
active_tab_background #${scheme.base00}
active_tab_foreground #${scheme.base05}
inactive_tab_background #${scheme.base01}
inactive_tab_foreground #${scheme.base04}
tab_bar_background #${scheme.base01}
background #${def_scheme.base00}
foreground #${def_scheme.base05}
selection_background #${def_scheme.base05}
selection_foreground #${def_scheme.base00}
url_color #${def_scheme.base04}
cursor #${def_scheme.base05}
active_border_color #${def_scheme.base03}
inactive_border_color #${def_scheme.base01}
active_tab_background #${def_scheme.base00}
active_tab_foreground #${def_scheme.base05}
inactive_tab_background #${def_scheme.base01}
inactive_tab_foreground #${def_scheme.base04}
tab_bar_background #${def_scheme.base01}
# normal
color0 #${scheme.base01}
color1 #${scheme.base08}
color2 #${scheme.base0B}
color3 #${scheme.base0A}
color4 #${scheme.base0D}
color5 #${scheme.base0E}
color6 #${scheme.base0C}
color7 #${scheme.base05}
color0 #${def_scheme.base01}
color1 #${def_scheme.base08}
color2 #${def_scheme.base0B}
color3 #${def_scheme.base0A}
color4 #${def_scheme.base0D}
color5 #${def_scheme.base0E}
color6 #${def_scheme.base0C}
color7 #${def_scheme.base05}
# bright
color8 #${scheme.base03}
color9 #${scheme.base09}
color10 #${scheme.base01}
color11 #${scheme.base02}
color12 #${scheme.base04}
color13 #${scheme.base06}
color14 #${scheme.base0F}
color15 #${scheme.base07}
color8 #${def_scheme.base03}
color9 #${def_scheme.base09}
color10 #${def_scheme.base01}
color11 #${def_scheme.base02}
color12 #${def_scheme.base04}
color13 #${def_scheme.base06}
color14 #${def_scheme.base0F}
color15 #${def_scheme.base07}
'';
".config/kitty/ssh-theme.conf".text = ''
background #${ssh_scheme.base00}

View File

@@ -1,4 +1,4 @@
{lib, config, pkgs, scheme ? {}, ... }: {
{lib, config, pkgs, ... }: {
options = {
kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
};

View File

@@ -1,19 +1,27 @@
{
pkgs,
scheme ? {},
wallpaper,
self,
lib,
config,
...
}: {
}:
let
scheme = "black-metal-venom";
in
{
options = {
stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
};
config = lib.mkIf config.stylixConfig.enable {
stylix = {
enable = true;
base16Scheme = scheme;
image = wallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme}.yaml";
image = "${self}/assets/wallpapers/sleeping-blackmetal.png";
homeManagerIntegration = {
autoImport = true;
followSystem = true;
};
polarity = "dark";
autoEnable = true;
opacity.terminal = 0.5;

View File

@@ -1,8 +1,12 @@
{
scheme ? {},
config,
...
}: {
}:
let
scheme = config.lib.stylix.colors;
in
{
programs.nixvim = {
colorschemes.base16 = {
enable = true;