Compare commits

..

No commits in common. "32971e91bf4618c9c09f5fb728dbe67757d8b08a" and "00bb0ea051b2658b71fb1937e05b7d469fbe8227" have entirely different histories.

10 changed files with 54 additions and 35 deletions

View file

@ -24,7 +24,10 @@
}; };
}); });
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper); formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
nixosConfigurations = import ./hosts {inherit inputs;}; nixosConfigurations = let
lib' = import ./lib {inherit inputs lib';};
in
import ./hosts {inherit inputs lib';};
packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;}); packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;});
deploy.nodes = import ./nodes {inherit inputs;}; deploy.nodes = import ./nodes {inherit inputs;};
checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;

View file

@ -15,7 +15,7 @@
font = "monospace:size=14"; font = "monospace:size=14";
}; };
colors = let colors = let
inherit (osConfig.theme.scheme) palette; inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
in { in {
background = "${palette.base00}ff"; background = "${palette.base00}ff";
text = "${palette.base05}ff"; text = "${palette.base05}ff";

View file

@ -1,11 +1,12 @@
{ {
inputs,
pkgs, pkgs,
config, config,
osConfig, osConfig,
lib, lib,
... ...
}: let }: let
isDark = osConfig.theme.scheme.variant == "dark"; isDark = inputs.basix.schemeData.base16.${osConfig.theme.scheme}.variant == "dark";
in { in {
home.pointerCursor = { home.pointerCursor = {
inherit (osConfig.theme.cursorTheme) name package size; inherit (osConfig.theme.cursorTheme) name package size;

View file

@ -1,11 +1,13 @@
{ {
inputs,
lib, lib,
pkgs, pkgs,
config, config,
osConfig, osConfig,
... ...
}: let }: let
inherit (osConfig.theme.scheme) palette; inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
inherit (lib) getExe mkIf;
in { in {
imports = [./binds.nix]; imports = [./binds.nix];

View file

@ -1,9 +1,10 @@
{ {
inputs,
pkgs, pkgs,
osConfig, osConfig,
... ...
}: let }: let
inherit (osConfig.theme.scheme) palette; inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
in { in {
# requires `security.pam.services.swaylock = { };` at the system level or else # requires `security.pam.services.swaylock = { };` at the system level or else
# unlock will not work. # unlock will not work.

View file

@ -1,9 +1,10 @@
{ {
inputs,
lib, lib,
osConfig, osConfig,
... ...
}: let }: let
inherit (osConfig.theme.scheme) palette; inherit (inputs.basix.schemeData.base16.${osConfig.theme.scheme}) palette;
inherit (builtins) concatStringsSep; inherit (builtins) concatStringsSep;
inherit (lib) mapAttrsToList; inherit (lib) mapAttrsToList;

View file

@ -1,4 +1,5 @@
{ {
inputs,
osConfig, osConfig,
config, config,
lib, lib,
@ -16,7 +17,7 @@
inherit (lib) mapAttrs; inherit (lib) mapAttrs;
inherit (lib.strings) removePrefix; inherit (lib.strings) removePrefix;
# because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b # because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b
palette = mapAttrs (_: color: removePrefix "#" color) osConfig.theme.scheme.palette; palette = mapAttrs (_: color: removePrefix "#" color) inputs.basix.schemeData.base16.${osConfig.theme.scheme}.palette;
in { in {
background = palette.base00; background = palette.base00;
foreground = palette.base05; foreground = palette.base05;

View file

@ -1,12 +1,12 @@
{inputs, ...}: let {
lib' = import ../lib; inputs,
mkSystem = args: lib',
inputs.nixpkgs.lib.nixosSystem { ...
specialArgs = {inherit inputs lib';}; }: let
modules = args.modules or []; inherit (lib') mkSystem;
};
in { in {
vamos = mkSystem { vamos = mkSystem {
system = "x86_64-linux";
modules = [ modules = [
./vamos ./vamos
../modules ../modules
@ -15,6 +15,7 @@ in {
}; };
solaire = mkSystem { solaire = mkSystem {
system = "x86_64-linux";
modules = [ modules = [
./solaire ./solaire
../modules ../modules
@ -22,6 +23,7 @@ in {
}; };
anastacia = mkSystem { anastacia = mkSystem {
system = "x86_64-linux";
modules = [ modules = [
./anastacia ./anastacia
]; ];

View file

@ -1,4 +1,9 @@
{lib, ...}: let {
inputs,
lib',
...
}: let
inherit (inputs.nixpkgs) lib;
# convert rrggbb hex to rgba(r, g, b, a) # convert rrggbb hex to rgba(r, g, b, a)
rgba = c: let rgba = c: let
r = toString (hexToDec (builtins.substring 0 2 c)); r = toString (hexToDec (builtins.substring 0 2 c));
@ -84,6 +89,23 @@
# Create a KDE konsole color scheme from base16 colors # Create a KDE konsole color scheme from base16 colors
mkKonsoleColorScheme = pkgs: scheme: mkKonsoleColorScheme = pkgs: scheme:
pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme); pkgs.writeText "${scheme.name}.colorscheme" (schemeToKonsole scheme);
in {
inherit mkKonsoleColorScheme rgba; # https://github.com/diniamo/niqs/blob/caf396bb470619fa06936a379eec6e283c3c3d95/lib/default.nix#L13-L35C7
mkSystem = {system, ...} @ args:
lib.nixosSystem {
system = null;
specialArgs = {inherit inputs;};
modules =
[
{
_module.args = {
inherit system lib';
};
nixpkgs = {inherit system;};
}
]
++ args.modules or [];
};
in {
inherit mkKonsoleColorScheme rgba mkSystem;
} }

View file

@ -1,33 +1,22 @@
{ {
inputs,
config,
lib, lib,
pkgs, pkgs,
... ...
}: let }: let
inherit (lib) mkEnableOption mkOption mkIf attrNames; inherit (lib) mkEnableOption mkOption;
inherit (lib.types) path package enum; inherit (lib.types) string path package;
cfg = config.theme;
in { in {
imports = [./gtk.nix]; imports = [./gtk.nix];
options.theme = { options.theme = {
enable = mkEnableOption "theme"; enable = mkEnableOption "theme";
schemeName = mkOption { scheme = mkOption {
description = '' description = ''
Name of the tinted-scheming color scheme to use. Name of the tinted-scheming color scheme to use.
''; '';
type = enum (attrNames inputs.basix.schemeData.base16); type = string;
example = "catppuccin-macchiato"; example = lib.literalExpression "catppuccin-macchiato";
default = "catppuccin-macchiato"; default = "catppuccin-macchiato";
}; };
scheme = mkOption {
description = ''
Resolved scheme from the tinted-scheming library.
'';
type = lib.types.attrs;
};
wallpaper = mkOption { wallpaper = mkOption {
description = '' description = ''
Location of the wallpaper that will be used throughout the system. Location of the wallpaper that will be used throughout the system.
@ -62,7 +51,4 @@ in {
}; };
}; };
}; };
config.theme = mkIf cfg.enable {
scheme = inputs.basix.schemeData.base16.${config.theme.schemeName};
};
} }