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:
31
flake.nix
31
flake.nix
@@ -41,31 +41,6 @@
|
|||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
username = "pagedmov";
|
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 {
|
in {
|
||||||
homeManagerModules.default = ./modules/home;
|
homeManagerModules.default = ./modules/home;
|
||||||
|
|
||||||
@@ -73,7 +48,7 @@
|
|||||||
oganesson = nixpkgs.lib.nixosSystem {
|
oganesson = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "oganesson";
|
host = "oganesson";
|
||||||
inherit self inputs scheme wallpaper username;
|
inherit self inputs username;
|
||||||
};
|
};
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
@@ -88,7 +63,7 @@
|
|||||||
mercury = nixpkgs.lib.nixosSystem {
|
mercury = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "mercury";
|
host = "mercury";
|
||||||
inherit self inputs scheme wallpaper username;
|
inherit self inputs username;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/laptop/config.nix
|
./hosts/laptop/config.nix
|
||||||
@@ -102,7 +77,7 @@
|
|||||||
xenon = nixpkgs.lib.nixosSystem {
|
xenon = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
host = "xenon";
|
host = "xenon";
|
||||||
inherit self inputs scheme username;
|
inherit self inputs username;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/server/config.nix
|
./hosts/server/config.nix
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
self,
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
username,
|
username,
|
||||||
wallpaper,
|
|
||||||
lib,
|
lib,
|
||||||
scheme ? {},
|
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
@@ -17,7 +15,7 @@ in {
|
|||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
extraSpecialArgs = {inherit self inputs host wallpaper scheme username nur;};
|
extraSpecialArgs = {inherit self inputs host username nur;};
|
||||||
users = {
|
users = {
|
||||||
${username} = {
|
${username} = {
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
self,
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
username,
|
username,
|
||||||
wallpaper,
|
|
||||||
lib,
|
lib,
|
||||||
scheme ? {},
|
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
@@ -17,7 +15,7 @@ in {
|
|||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
extraSpecialArgs = {inherit self inputs host wallpaper scheme username nur;};
|
extraSpecialArgs = {inherit self inputs host username nur;};
|
||||||
users = {
|
users = {
|
||||||
${username} = {
|
${username} = {
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
self,
|
self,
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
scheme,
|
|
||||||
username,
|
username,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
@@ -17,7 +16,7 @@ in {
|
|||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
extraSpecialArgs = { inherit self inputs scheme host username nur; };
|
extraSpecialArgs = { inherit self inputs host username nur; };
|
||||||
users = {
|
users = {
|
||||||
${username} = {
|
${username} = {
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{lib, config, pkgs, inputs, scheme ? {}, ... }: let
|
{lib, config, pkgs, inputs, ... }: let
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
|
scheme = config.lib.stylix.colors;
|
||||||
in {
|
in {
|
||||||
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
||||||
options = {
|
options = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{lib, config, pkgs, scheme ? {}, wallpaper, ... }: {
|
{lib, config, pkgs, ... }: {
|
||||||
options = {
|
options = {
|
||||||
stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
|
stylixHomeConfig.enable = lib.mkEnableOption "enables my stylix Home-Manager options";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, scheme ? {}, host, lib, config, ...}:
|
{pkgs, host, lib, config, ...}:
|
||||||
|
|
||||||
let
|
let
|
||||||
desktop = host == "oganesson";
|
desktop = host == "oganesson";
|
||||||
@@ -22,6 +22,8 @@ let
|
|||||||
"eDP-1" = [1 2 3 4];
|
"eDP-1" = [1 2 3 4];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scheme = config.lib.stylix.colors;
|
||||||
bg = {
|
bg = {
|
||||||
darkester = scheme.base00;
|
darkester = scheme.base00;
|
||||||
darkest = scheme.base01;
|
darkest = scheme.base01;
|
||||||
@@ -435,7 +437,7 @@ in {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#custom-power {
|
#custom-power {
|
||||||
color: #${colors.color0};
|
color: #${colors.color2};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,7 +447,7 @@ in {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#custom-reboot {
|
#custom-reboot {
|
||||||
color: #${colors.color2};
|
color: #${colors.color0};
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
# 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.
|
# Basically a to-do list for stuff I need to write my own modules for.
|
||||||
let
|
let
|
||||||
# Custom theme that activates in ssh
|
# Custom theme that activates in ssh
|
||||||
ssh_base16 = "atelier-cave";
|
ssh_base16 = "atelier-cave";
|
||||||
|
def_scheme = config.lib.stylix.colors;
|
||||||
|
|
||||||
scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
|
scheme_path = "${pkgs.base16-schemes}/share/themes/${ssh_base16}.yaml";
|
||||||
scheme_string = builtins.readFile scheme_path;
|
scheme_string = builtins.readFile scheme_path;
|
||||||
@@ -140,39 +141,39 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
".config/kitty/default-theme.conf".text = ''
|
".config/kitty/default-theme.conf".text = ''
|
||||||
background #${scheme.base00}
|
background #${def_scheme.base00}
|
||||||
foreground #${scheme.base05}
|
foreground #${def_scheme.base05}
|
||||||
selection_background #${scheme.base05}
|
selection_background #${def_scheme.base05}
|
||||||
selection_foreground #${scheme.base00}
|
selection_foreground #${def_scheme.base00}
|
||||||
url_color #${scheme.base04}
|
url_color #${def_scheme.base04}
|
||||||
cursor #${scheme.base05}
|
cursor #${def_scheme.base05}
|
||||||
active_border_color #${scheme.base03}
|
active_border_color #${def_scheme.base03}
|
||||||
inactive_border_color #${scheme.base01}
|
inactive_border_color #${def_scheme.base01}
|
||||||
active_tab_background #${scheme.base00}
|
active_tab_background #${def_scheme.base00}
|
||||||
active_tab_foreground #${scheme.base05}
|
active_tab_foreground #${def_scheme.base05}
|
||||||
inactive_tab_background #${scheme.base01}
|
inactive_tab_background #${def_scheme.base01}
|
||||||
inactive_tab_foreground #${scheme.base04}
|
inactive_tab_foreground #${def_scheme.base04}
|
||||||
tab_bar_background #${scheme.base01}
|
tab_bar_background #${def_scheme.base01}
|
||||||
|
|
||||||
# normal
|
# normal
|
||||||
color0 #${scheme.base01}
|
color0 #${def_scheme.base01}
|
||||||
color1 #${scheme.base08}
|
color1 #${def_scheme.base08}
|
||||||
color2 #${scheme.base0B}
|
color2 #${def_scheme.base0B}
|
||||||
color3 #${scheme.base0A}
|
color3 #${def_scheme.base0A}
|
||||||
color4 #${scheme.base0D}
|
color4 #${def_scheme.base0D}
|
||||||
color5 #${scheme.base0E}
|
color5 #${def_scheme.base0E}
|
||||||
color6 #${scheme.base0C}
|
color6 #${def_scheme.base0C}
|
||||||
color7 #${scheme.base05}
|
color7 #${def_scheme.base05}
|
||||||
|
|
||||||
# bright
|
# bright
|
||||||
color8 #${scheme.base03}
|
color8 #${def_scheme.base03}
|
||||||
color9 #${scheme.base09}
|
color9 #${def_scheme.base09}
|
||||||
color10 #${scheme.base01}
|
color10 #${def_scheme.base01}
|
||||||
color11 #${scheme.base02}
|
color11 #${def_scheme.base02}
|
||||||
color12 #${scheme.base04}
|
color12 #${def_scheme.base04}
|
||||||
color13 #${scheme.base06}
|
color13 #${def_scheme.base06}
|
||||||
color14 #${scheme.base0F}
|
color14 #${def_scheme.base0F}
|
||||||
color15 #${scheme.base07}
|
color15 #${def_scheme.base07}
|
||||||
'';
|
'';
|
||||||
".config/kitty/ssh-theme.conf".text = ''
|
".config/kitty/ssh-theme.conf".text = ''
|
||||||
background #${ssh_scheme.base00}
|
background #${ssh_scheme.base00}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{lib, config, pkgs, scheme ? {}, ... }: {
|
{lib, config, pkgs, ... }: {
|
||||||
options = {
|
options = {
|
||||||
kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
|
kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,19 +1,27 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
scheme ? {},
|
self,
|
||||||
wallpaper,
|
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
scheme = "black-metal-venom";
|
||||||
|
in
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
|
stylixConfig.enable = lib.mkEnableOption "enables custom stylix options";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.stylixConfig.enable {
|
config = lib.mkIf config.stylixConfig.enable {
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
base16Scheme = scheme;
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/${scheme}.yaml";
|
||||||
image = wallpaper;
|
image = "${self}/assets/wallpapers/sleeping-blackmetal.png";
|
||||||
|
homeManagerIntegration = {
|
||||||
|
autoImport = true;
|
||||||
|
followSystem = true;
|
||||||
|
};
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
opacity.terminal = 0.5;
|
opacity.terminal = 0.5;
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
{
|
{
|
||||||
scheme ? {},
|
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
scheme = config.lib.stylix.colors;
|
||||||
|
in
|
||||||
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
colorschemes.base16 = {
|
colorschemes.base16 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user