Use base16 themes, custom base16 theme

This commit is contained in:
Alexander Bantyev 2021-06-10 18:58:51 +03:00
parent 44675f51d5
commit 2699110467
Signed by: balsoft
GPG Key ID: E081FF12ADCB4AD5
19 changed files with 345 additions and 305 deletions

View File

@ -3,11 +3,11 @@
"NUR": {
"flake": false,
"locked": {
"lastModified": 1593719873,
"narHash": "sha256-AK0s3BOp7qO/d1vGL6Lh7hLjbqv3Zjo9KIr61UjBD78=",
"lastModified": 1623311631,
"narHash": "sha256-3lzdbWWoSE8zbNKvB2yOY1AAtLL/nIWcD94uRCwATvU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "8654e8b452aee888d4cc67c649b70ddf1f50ea5e",
"rev": "97b0f023d370295a84c644be037b49bcf9c63c85",
"type": "github"
},
"original": {
@ -16,19 +16,19 @@
"type": "github"
}
},
"base16-unclaimed-schemes": {
"base16-black-metal-scheme": {
"flake": false,
"locked": {
"lastModified": 1527170198,
"narHash": "sha256-YV2tgexpyeLqm6d8WaBwT9QPAHT/gxhiFpxQq03xdhA=",
"owner": "chriskempson",
"repo": "base16-unclaimed-schemes",
"rev": "d6b93456dc1012628faec572387814f59e0b854a",
"lastModified": 1585330710,
"narHash": "sha256-ctsMdfUpqVZfqtg4paYg4oCataRHoapxSiYRsi0lwhI=",
"owner": "metalelf0",
"repo": "base16-black-metal-scheme",
"rev": "c7a32bec8105a1ceddb9fcc90b713dabde5e7e5e",
"type": "github"
},
"original": {
"owner": "chriskempson",
"repo": "base16-unclaimed-schemes",
"owner": "metalelf0",
"repo": "base16-black-metal-scheme",
"type": "github"
}
},
@ -376,11 +376,11 @@
"nixpkgs-old": {
"flake": false,
"locked": {
"lastModified": 1592518222,
"narHash": "sha256-dkWpvJM3y7vXNu2FFrj4XHE3GoX0h+pIyc4gLQpQsmQ=",
"lastModified": 1600952148,
"narHash": "sha256-GUKHrnng33luc6mUT3rDnZ3Hm+4MMEJpEchRIAQx7JQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "289466dd6a11c65a7de4a954d6ebf66c1ad07652",
"rev": "75f4ba05c63be3f147bcc2f7bd4ba1f029cedcb1",
"type": "github"
},
"original": {
@ -531,7 +531,7 @@
"root": {
"inputs": {
"NUR": "NUR",
"base16-unclaimed-schemes": "base16-unclaimed-schemes",
"base16-black-metal-scheme": "base16-black-metal-scheme",
"crdt": "crdt",
"deploy-rs": "deploy-rs",
"emacs-overlay": "emacs-overlay",
@ -546,6 +546,7 @@
"nixpkgs": "nixpkgs_7",
"nixpkgs-old": "nixpkgs-old",
"nixpkgs-wayland": "nixpkgs-wayland",
"rycee": "rycee",
"simple-nixos-mailserver": "simple-nixos-mailserver",
"simple-osd-daemons": "simple-osd-daemons",
"sonoff-lan": "sonoff-lan",
@ -571,6 +572,22 @@
"type": "github"
}
},
"rycee": {
"flake": false,
"locked": {
"lastModified": 1623298028,
"narHash": "sha256-ewN6rXEIiwysCZ6EN469Kdj3kuq/cEbEJOK0ZVWqK84=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "32bbce160cc8472102cf618d47f353781b903865",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nur-expressions",
"type": "gitlab"
}
},
"simple-nixos-mailserver": {
"flake": false,
"locked": {

View File

@ -14,8 +14,8 @@
url = "github:nix-community/NUR";
flake = false;
};
base16-unclaimed-schemes = {
url = "github:chriskempson/base16-unclaimed-schemes";
base16-black-metal-scheme = {
url = "github:metalelf0/base16-black-metal-scheme";
flake = false;
};
home-manager.url = "github:rycee/home-manager";
@ -53,6 +53,11 @@
};
himalaya.url = "github:soywod/himalaya";
impermanence.url = "github:nix-community/impermanence";
rycee = {
url = "gitlab:rycee/nur-expressions";
flake = false;
};
};
outputs = { nixpkgs, nix, self, deploy-rs, ... }@inputs: {

View File

@ -1,13 +1,12 @@
{ config, pkgs, lib, ... }:
let thm = config.themes.colors;
in {
{
home-manager.users.balsoft.programs.alacritty = {
enable = true;
settings = {
font = rec {
normal.family = "IBM Plex Mono";
size = 11;
normal.family = config.themes.fonts.mono.family;
size = config.themes.fonts.mono.size;
bold = { style = "Bold"; };
};
@ -20,20 +19,23 @@ in {
cursor.style = "Beam";
colors = {
colors = with pkgs.my-lib.thmHash; {
primary = {
background = thm.bg;
foreground = thm.fg;
background = base00;
foreground = base05;
};
cursor = {
text = thm.alt;
cursor = thm.fg;
text = base02;
cursor = base00;
};
normal = {
black = thm.bg;
inherit (thm) red green yellow blue cyan;
magenta = thm.purple;
white = thm.fg;
black = base00;
red = base08;
green = base0B;
yellow = base0A;
blue = base0D;
magenta = base0E;
white = base07;
};
};
};

View File

@ -15,7 +15,8 @@ in {
# directory = "emacs";
# };
persist.state.homeFiles = [ ".config/emacs/custom" ".config/emacs/eshell/history" ];
persist.state.homeFiles =
[ ".config/emacs/custom" ".config/emacs/eshell/history" ];
home-manager.users.balsoft = {
programs.emacs = {
@ -70,6 +71,7 @@ in {
dap-mode
forge
crdt
base16-theme
];
};
@ -80,6 +82,9 @@ in {
systemd.user.services.emacs.Service.Environment =
"PATH=/run/current-system/sw/bin:/etc/profiles/per-user/balsoft/bin";
xdg.configFile."emacs/init.el".source = ./init.el;
xdg.configFile."emacs/init.el".source = pkgs.substituteAll ({
src = ./init.el;
font = with config.themes.fonts; "${mono.family} ${toString mono.size}";
} // pkgs.my-lib.thmHash);
};
}

View File

@ -61,6 +61,7 @@
(tool-bar-mode -1)
(cua-selection-mode 1)
(setq auto-revert-check-vc-info t)
(vc-mode-line t)
@ -186,8 +187,8 @@
;; (load-theme 'xresources t)
;; (set-frame-font "IBM Plex Mono 11" nil t)))))
(add-to-list 'default-frame-alist '(font . "IBM Plex Mono 11"))
(set-face-attribute 'default nil :font "IBM Plex Mono 11")
(add-to-list 'default-frame-alist '(font . "@font@"))
(set-face-attribute 'default nil :font "@font@")
(setq inhibit-startup-screen t)
@ -215,5 +216,35 @@
(use-package treemacs-projectile)
(load-theme 'manoj-dark t)
(require 'base16-theme)
(defvar base16-generated-colors
'(:base00 "@base00@"
:base01 "@base01@"
:base02 "@base02@"
:base03 "@base03@"
:base04 "@base04@"
:base05 "@base05@"
:base06 "@base06@"
:base07 "@base07@"
:base08 "@base08@"
:base09 "@base09@"
:base0A "@base0A@"
:base0B "@base0B@"
:base0C "@base0C@"
:base0D "@base0D@"
:base0E "@base0E@"
:base0F "@base0F@")
"All colors for Base16 are defined here.")
;; Define the theme
(deftheme base16-generated)
;; Add all the faces to the theme
(base16-theme-define 'base16-generated base16-generated-colors)
;; Mark the theme as provided
(provide-theme 'base16-generated)
(enable-theme 'base16-generated)
;;; init.el ends here

View File

@ -1,5 +1,7 @@
{ config, pkgs, lib, ... }:
let thm = config.themes.colors;
let
thm = pkgs.my-lib.thmHash;
fonts = config.themes.fonts;
in {
environment.sessionVariables = {
MOZ_USE_XINPUT2 = "1";
@ -24,10 +26,10 @@ in {
visibility: collapse;
}
toolbar#nav-bar, nav-bar-customization-target {
background: ${thm.bg} !important;
background: ${thm.base00} !important;
}
@-moz-document url("about:newtab") {
* { background-color: ${thm.bg} !important; }
* { background-color: ${thm.base00} !important; }
}
'';
settings = {
@ -39,21 +41,21 @@ in {
"browser.search.selectedEngine" = "Google";
"browser.urlbar.placeholderName" = "Google";
"browser.search.region" = "US";
"browser.uidensity" = 1;
"browser.search.openintab" = true;
"xpinstall.signatures.required" = false;
"extensions.update.enabled" = false;
"font.name.monospace.x-western" = "IBM Plex Mono";
"font.name.sans-serif.x-western" = "IBM Plex Sans";
"font.name.serif.x-western" = "IBM Plex Serif";
"font.name.monospace.x-western" = "${fonts.mono.family}";
"font.name.sans-serif.x-western" = "${fonts.main.family}";
"font.name.serif.x-western" = "${fonts.serif.family}";
"browser.display.background_color" = thm.bg;
"browser.display.foreground_color" = thm.fg;
"browser.display.background_color" = thm.base00;
"browser.display.foreground_color" = thm.base05;
"browser.display.document_color_use" = 2;
"browser.anchor_color" = thm.fg;
"browser.visited_color" = thm.blue;
"browser.anchor_color" = thm.base0D;
"browser.visited_color" = thm.base0C;
"browser.display.use_document_fonts" = true;
"pdfjs.disabled" = true;
"media.videocontrols.picture-in-picture.enabled" = true;
@ -65,7 +67,6 @@ in {
};
};
extensions = with pkgs.nur.rycee.firefox-addons; [
torswitch
adsum-notabs
ublock-origin
browserpass

View File

@ -60,12 +60,12 @@ in {
home-manager.users.balsoft = {
xdg.configFile."geary/user-style.css".text = ''
*, html, body, body.plain div, body.plain a, body.plain p, body.plain span {
background: ${config.themes.colors.bg} !important;
color: ${config.themes.colors.fg} !important;
font-family: 'IBM Plex Mono', monospace !important;
background: ${pkgs.my-lib.thmHash.base00} !important;
color: ${pkgs.my-lib.thmHash.base05} !important;
font-family: '${config.themes.fonts.mono.family}', monospace !important;
}
*, html, body {
font-size: 16px;
font-size: ${toString config.themes.fonts.mono.size}pt;
}
'';
home.activation.geary = ''

View File

@ -2,17 +2,17 @@
with import ../../support.nix { inherit lib config; }; {
home-manager.users.balsoft.xdg.configFile."okularpartrc".text = genIni {
"Dlg Accessibility" = {
RecolorBackground = thmDec.bg;
RecolorForeground = thmDec.fg;
RecolorBackground = thmDec.base00;
RecolorForeground = thmDec.base05;
};
"Document" = {
ChangeColors = true;
PaperColor = thmDec.bg;
PaperColor = thmDec.base00;
RenderMode = "Recolor";
};
"Main View" = { ShowLeftPanel = false; };
PageView = {
BackgroundColor = thmDec.bg;
BackgroundColor = thmDec.base00;
UseCustomBackgroundColor = true;
};
};

View File

@ -30,7 +30,7 @@
gnumeric
gcalcli
xdg_utils
# inputs.yt-utilities.defaultPackage.x86_64-linux
inputs.yt-utilities.defaultPackage.x86_64-linux
lambda-launcher
nix-patch
pass-wayland

View File

@ -3,7 +3,7 @@ builtins.listToAttrs (builtins.map (path: {
b = builtins.baseNameOf path;
m = builtins.match "(.*)\\.nix" b;
in if isNull m then [ b ] else m);
value = import path;
value = path;
}) [
./applications.nix
./applications/alacritty.nix

View File

@ -41,7 +41,7 @@ in {
thm = config.themes.colors;
splitHex = hexStr:
map (x: builtins.elemAt x 0) (builtins.filter (a: a != "" && a != [ ])
(builtins.split "(.{2})" (builtins.substring 1 6 hexStr)));
(builtins.split "(.{2})" hexStr));
hex2decDigits = rec {
"0" = 0;
"1" = 1;
@ -71,6 +71,7 @@ in {
16 * hex2decDigits."${builtins.substring 0 1 hex}"
+ hex2decDigits."${builtins.substring 1 2 hex}";
thmDec = builtins.mapAttrs (name: color: colorHex2Dec color) thm;
thmHash = builtins.mapAttrs (name: color: "#${color}") thm;
colorHex2Dec = color:
builtins.concatStringsSep ","
(map (x: toString (doubleDigitHexToDec x)) (splitHex color));
@ -88,8 +89,6 @@ in {
simple-osd = inputs.simple-osd-daemons.packages.x86_64-linux;
inherit old;
yt-utilities = inputs.yt-utilities.defaultPackage.x86_64-linux;
nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd;

View File

@ -1,30 +1,14 @@
{ config, lib, pkgs, inputs, ... }:
with lib;
let
colorType = types.str;
color = (name:
(mkOption {
description = "${name} color of palette";
type = colorType;
}));
fromBase16 = { base00, base01, base02, base03, base04, base05, base06, base07
, base08, base09, base0A, base0B, base0C, base0D, base0E, base0F, ... }:
builtins.mapAttrs (_: v: "#" + v) {
bg = base00;
fg = base07;
colorType =
types.addCheck types.str (x: !isNull (builtins.match "[0-9a-fA-F]{6}" x));
color = mkOption { type = colorType; };
gray = base03;
alt = base02;
dark = base01;
red = base08;
orange = base09;
yellow = base0A;
green = base0B;
cyan = base0C;
blue = base0D;
purple = base0E;
};
font = {
family = mkOption { type = types.str; };
size = mkOption { type = types.int; };
};
fromYAML = yaml:
builtins.fromJSON (builtins.readFile (pkgs.stdenv.mkDerivation {
@ -35,41 +19,55 @@ let
in {
options = {
themes = {
colors = mkOption {
description =
"Set of colors from which the themes for various applications will be generated";
type = with types;
submodule {
options = {
bg = color "background";
fg = color "foreground";
gray = color "gray";
alt = color "alternative";
dark = color "darker";
blue = color "blue";
green = color "green";
red = color "red";
orange = color "orange";
yellow = color "yellow";
cyan = color "cyan";
purple = color "purple";
};
};
colors = builtins.listToAttrs (map (name: {
inherit name;
value = color;
}) [
"base00"
"base01"
"base02"
"base03"
"base04"
"base05"
"base06"
"base07"
"base08"
"base09"
"base0A"
"base0B"
"base0C"
"base0D"
"base0E"
"base0F"
]);
fonts = {
main = font;
serif = font;
mono = font;
};
};
};
config = {
themes.colors = (fromBase16 (fromYAML
(builtins.readFile "${inputs.base16-unclaimed-schemes}/irblack.yaml")))
// {
alt = "#001d6c";
red = "#da1e28";
green = "#24a148";
orange = "#ff832b";
yellow = "#f1c21b";
};
themes.colors = {
# H = 0, S = 0%
base00 = "000000"; # L = 0%
base01 = "333333"; # L = 20%
base02 = "666666"; # L = 40%
base03 = "999999"; # L = 60%
base04 = "cccccc"; # L = 80%
base05 = "ffffff"; # L = 100%
base06 = "e6e6e6"; # L = 90%
base07 = "e6e6e6"; # L = 90%
# L = 50%, S = 50%
base08 = "bf4040"; # H = 0 RED
base09 = "bf8040"; # H = 30 ORANGE
base0A = "bfbf40"; # H = 60 YELLOW-ish
base0B = "80bf40"; # H = 90 GREEN
# Whoa, a lot of hues are green!
base0C = "40bfbf"; # H = 180 TEAL
base0D = "407fbf"; # H = 210 BLUE
base0E = "7f40bf"; # H = 270 PURPLE
base0F = "bf40bf"; # H = 300 MAGENTA
};
};
}

View File

@ -1,5 +1,4 @@
{ pkgs, config, lib, ... }:
{
{ pkgs, config, lib, ... }: {
fonts = {
fonts = with pkgs; [
ibm-plex
@ -8,14 +7,29 @@
material-design-icons
material-icons
];
fontconfig = {
fontconfig = let fonts = config.themes.fonts;
in {
enable = lib.mkForce true;
defaultFonts = {
monospace = [ "IBM Plex Mono 13" ];
sansSerif = [ "IBM Plex Sans 13" ];
serif = [ "IBM Plex Serif 13" ];
monospace = [ "${fonts.mono.family} ${toString fonts.mono.size}" ];
sansSerif = [ "${fonts.main.family} ${toString fonts.main.size}" ];
serif = [ "${fonts.serif.family} ${toString fonts.serif.size}" ];
};
};
enableDefaultFonts = true;
};
themes.fonts = {
main = {
family = "IBM Plex Sans";
size = 13;
};
serif = {
family = "IBM Plex Serif";
size = 13;
};
mono = {
family = "IBM Plex Mono";
size = 13;
};
};
}

View File

@ -1,56 +1,21 @@
{ pkgs, config, lib, inputs, ... }:
let
thm = config.themes.colors;
thm' = builtins.mapAttrs (name: value: builtins.substring 1 7 value) thm;
materia_colors = pkgs.writeTextFile {
name = "gtk-generated-colors";
text = ''
BG=${thm'.bg}
FG=${thm'.fg}
BTN_BG=${thm'.bg}
BTN_FG=${thm'.fg}
MENU_BG=${thm'.bg}
MENU_FG=${thm'.fg}
ACCENT_BG=${thm'.alt}
SEL_BG=${thm'.blue}
SEL_FG=${thm'.bg}
TXT_BG=${thm'.bg}
TXT_FG=${thm'.fg}
HDR_BTN_BG=${thm'.bg}
HDR_BTN_FG=${thm'.fg}
WM_BORDER_FOCUS=${thm'.alt}
WM_BORDER_UNFOCUS=${thm'.dark}
MATERIA_STYLE_COMPACT=True
MATERIA_COLOR_VARIANT=dark
UNITY_DEFAULT_LAUNCHER_STYLE=False
NAME=generated
'';
};
thm' = builtins.mapAttrs (name: value: { hex.rgb = value; }) thm;
in {
nixpkgs.overlays = [
(self: super: {
rendersvg = self.runCommandNoCC "rendersvg" {} ''
mkdir -p $out/bin
ln -s ${self.resvg}/bin/resvg $out/bin/rendersvg
'';
generated-gtk-theme = self.stdenv.mkDerivation rec {
name = "generated-gtk-theme";
src = inputs.materia-theme;
buildInputs = with self; [ sassc bc which rendersvg meson ninja nodePackages.sass gtk4.dev optipng ];
MATERIA_COLORS = materia_colors;
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
echo "Changing colours:"
./change_color.sh -o Generated "$MATERIA_COLORS" -i False -t "$out/share/themes"
chmod 555 -R .
'';
};
generated-gtk-theme =
pkgs.callPackage "${inputs.rycee}/pkgs/materia-theme" {
configBase16 = {
name = "Generated";
kind = "dark";
colors = thm' // {
base01 = thm'.base00;
base02 = thm'.base00;
};
};
};
})
];
programs.dconf.enable = true;
@ -66,7 +31,9 @@ in {
name = "Generated";
package = pkgs.generated-gtk-theme;
};
font = { name = "IBM Plex 12"; };
font = {
name = with config.themes.fonts; "${main.family} ${toString main.size}";
};
gtk3 = {
bookmarks = [
"file:///home/balsoft/projects Projects"

View File

@ -1,5 +1,5 @@
{ pkgs, config, lib, ... }:
with lib;
with lib; with pkgs.my-lib;
let scripts = import ./scripts pkgs config;
in {
secrets.wage = {
@ -19,24 +19,24 @@ in {
trayOutput = "primary";
command = "true";
colors = let
thm = config.themes.colors;
thm = pkgs.my-lib.thmHash;
default = {
background = thm.bg;
border = thm.bg;
background = thm.base00;
border = thm.base00;
};
in {
background = thm.bg;
statusline = thm.fg;
separator = thm.alt;
focusedWorkspace = default // { text = thm.red; };
activeWorkspace = default // { text = thm.green; };
inactiveWorkspace = default // { text = thm.fg; };
urgentWorkspace = default // { text = thm.orange; };
bindingMode = default // { text = thm.yellow; };
background = thm.base00;
statusline = thm.base05;
separator = thm.base02;
focusedWorkspace = default // { text = thm.base08; };
activeWorkspace = default // { text = thm.base0B; };
inactiveWorkspace = default // { text = thm.base05; };
urgentWorkspace = default // { text = thm.base09; };
bindingMode = default // { text = thm.base0A; };
};
statusCommand = "${pkgs.i3blocks}/bin/i3blocks";
fonts = {
names = [ "IBM Plex Sans" "Material Icons" "Roboto Mono" ];
names = [ "${config.themes.fonts.main.family}" "Material Icons" "Roboto Mono" ];
style = "Regular";
size = 12.0;
};

View File

@ -1,6 +1,5 @@
{ pkgs, lib, config, ... }:
with pkgs.my-lib;
{
with pkgs.my-lib; {
xdg.portal.enable = true;
services.dbus.packages =
[ pkgs.firefox pkgs.systemd pkgs.papirus-icon-theme ];
@ -17,103 +16,105 @@ with pkgs.my-lib;
KDEDIRS =
"/run/current-system/sw:/run/current-system/sw/share/kservices5:/run/current-system/sw/share/kservicetypes5:/run/current-system/sw/share/kxmlgui5";
};
home-manager.users.balsoft = {
home-manager.users.balsoft = let fonts = config.themes.fonts;
in {
services.kdeconnect.enable = true;
xdg.configFile."kdeglobals".text = genIni {
xdg.configFile."kdeglobals".text = with thmDec; genIni {
"Colors:Button" = {
BackgroundAlternate = thmDec.dark;
BackgroundNormal = thmDec.bg;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.alt;
ForegroundInactive = thmDec.dark;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.orange;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.gray;
BackgroundAlternate = base01;
BackgroundNormal = base00;
DecorationFocus = base02;
DecorationHover = base02;
ForegroundActive = base02;
ForegroundInactive = base01;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base09;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base03;
};
"Colors:Complementary" = {
BackgroundAlternate = thmDec.dark;
BackgroundNormal = thmDec.bg;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.orange;
ForegroundInactive = thmDec.dark;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.yellow;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.alt;
BackgroundAlternate = base01;
BackgroundNormal = base00;
DecorationFocus = base02;
DecorationHover = base02;
ForegroundActive = base09;
ForegroundInactive = base01;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base0A;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base02;
};
"Colors:Selection" = {
BackgroundAlternate = thmDec.alt;
BackgroundNormal = thmDec.alt;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.fg;
ForegroundInactive = thmDec.fg;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.orange;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.alt;
BackgroundAlternate = base0D;
BackgroundNormal = base0D;
DecorationFocus = base0D;
DecorationHover = base0D;
ForegroundActive = base05;
ForegroundInactive = base05;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base09;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base02;
};
"Colors:Tooltip" = {
BackgroundAlternate = thmDec.dark;
BackgroundNormal = thmDec.bg;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.alt;
ForegroundInactive = thmDec.dark;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.orange;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.gray;
BackgroundAlternate = base01;
BackgroundNormal = base00;
DecorationFocus = base02;
DecorationHover = base02;
ForegroundActive = base02;
ForegroundInactive = base01;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base09;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base03;
};
"Colors:View" = {
BackgroundAlternate = thmDec.dark;
BackgroundNormal = thmDec.bg;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.alt;
ForegroundInactive = thmDec.dark;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.orange;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.gray;
BackgroundAlternate = base01;
BackgroundNormal = base00;
DecorationFocus = base02;
DecorationHover = base02;
ForegroundActive = base02;
ForegroundInactive = base01;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base09;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base03;
};
"Colors:Window" = {
BackgroundAlternate = thmDec.dark;
BackgroundNormal = thmDec.bg;
DecorationFocus = thmDec.alt;
DecorationHover = thmDec.alt;
ForegroundActive = thmDec.alt;
ForegroundInactive = thmDec.dark;
ForegroundLink = thmDec.blue;
ForegroundNegative = thmDec.red;
ForegroundNeutral = thmDec.orange;
ForegroundNormal = thmDec.fg;
ForegroundPositive = thmDec.green;
ForegroundVisited = thmDec.gray;
BackgroundAlternate = base01;
BackgroundNormal = base00;
DecorationFocus = base02;
DecorationHover = base02;
ForegroundActive = base02;
ForegroundInactive = base01;
ForegroundLink = base0D;
ForegroundNegative = base08;
ForegroundNeutral = base09;
ForegroundNormal = base05;
ForegroundPositive = base0B;
ForegroundVisited = base03;
};
General = {
ColorScheme = "Generated";
Name = "Generated";
fixed = "IBM Plex Mono,11,-1,5,50,0,0,0,0,0";
font = "IBM Plex,11,-1,5,50,0,0,0,0,0";
menuFont = "IBM Plex,11,-1,5,50,0,0,0,0,0";
fixed = "${fonts.mono.family},${toString fonts.mono.size},-1,5,50,0,0,0,0,0";
font = "${fonts.main.family},${toString fonts.main.size},-1,5,50,0,0,0,0,0";
menuFont = "${fonts.main.family},${toString fonts.main.size},-1,5,50,0,0,0,0,0";
shadeSortColumn = true;
smallestReadableFont = "IBM Plex,8,-1,5,57,0,0,0,0,0,Medium";
toolBarFont = "IBM Plex,11,-1,5,50,0,0,0,0,0";
smallestReadableFont =
"${fonts.main.family},${toString fonts.main.size},-1,5,57,0,0,0,0,0,Medium";
toolBarFont = "${fonts.main.family},${toString fonts.main.size},-1,5,50,0,0,0,0,0";
};
KDE = {
DoubleClickInterval = 400;

View File

@ -1,18 +1,18 @@
{ pkgs, config, ... }: {
home-manager.users.balsoft = {
wayland.windowManager.sway.config.startup = [{ command = "mako"; }];
programs.mako = {
programs.mako = with pkgs.my-lib.thmHash; {
enable = true;
layer = "overlay";
font = "IBM Plex 13";
font = with config.themes.fonts; "${main.family} ${toString main.size}";
width = 500;
height = 80;
defaultTimeout = 10000;
maxVisible = 10;
backgroundColor = "${config.themes.colors.bg}AA";
textColor = config.themes.colors.fg;
borderColor = "${config.themes.colors.blue}AA";
progressColor = "over ${config.themes.colors.green}";
backgroundColor = "${base00}AA";
textColor = base05;
borderColor = "${base0D}AA";
progressColor = "over ${base0B}";
iconPath = "${pkgs.papirus-icon-theme}/share/icons/Papirus-Dark";
maxIconSize = 24;
};

View File

@ -1,6 +1,6 @@
{ pkgs, lib, config, ... }:
let
thm = config.themes.colors;
thm = pkgs.my-lib.thmHash;
apps = config.defaultApplications;
lock_fork =
pkgs.writeShellScript "lock_fork" "sudo /run/current-system/sw/bin/lock &";
@ -39,31 +39,31 @@ in {
"" = [{ app_id = "cantata"; }];
};
fonts = {
names = [ "IBM Plex" ];
names = [ config.themes.fonts.main.family ];
style = "Regular";
size = 9.0;
};
colors = rec {
background = thm.bg;
background = thm.base00;
unfocused = {
text = thm.dark;
border = thm.dark;
background = thm.bg;
childBorder = thm.dark;
indicator = thm.fg;
text = thm.base02;
border = thm.base01;
background = thm.base00;
childBorder = thm.base01;
indicator = thm.base07;
};
focusedInactive = unfocused;
urgent = unfocused // {
text = thm.fg;
border = thm.orange;
childBorder = thm.orange;
text = thm.base05;
border = thm.base09;
childBorder = thm.base09;
};
focused = unfocused // {
childBorder = thm.gray;
border = thm.gray;
background = thm.dark;
text = thm.fg;
childBorder = thm.base03;
border = thm.base03;
background = thm.base01;
text = thm.base05;
};
};
gaps = {
@ -227,7 +227,7 @@ in {
};
};
output = {
"*".bg = "${thm.bg} solid_color";
"*".bg = "${thm.base00} solid_color";
} // lib.optionalAttrs (config.device == "AMD-Workstation") {
DP-1.position = "0 400";
HDMI-A-1 = {

View File

@ -1,27 +1,27 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.balsoft = {
xresources.properties = with config.themes.colors; {
"*background" = bg;
"*foreground" = fg;
"*color0" = dark;
"*color1" = orange;
"*color2" = green;
"*color3" = yellow;
"*color4" = blue;
"*color5" = purple;
"*color6" = cyan;
"*color7" = fg;
"*color8" = dark;
"*color9" = orange;
"*color10" = green;
"*color11" = yellow;
"*color12" = blue;
"*color13" = purple;
"*color14" = cyan;
"*color15" = fg;
xresources.properties = with pkgs.my-lib.thmHash; {
"*background" = base00;
"*foreground" = base07;
"*color0" = base00;
"*color1" = base08;
"*color2" = base0B;
"*color3" = base0A;
"*color4" = base0D;
"*color5" = base0E;
"*color6" = base0C;
"*color7" = base07;
"*color8" = base03;
"*color9" = base09;
"*color10" = base01;
"*color11" = base02;
"*color12" = base04;
"*color13" = base07;
"*color14" = base0F;
"*color15" = base07;
"emacs.font" = "IBM Plex Mono 10";
"emacs.font" = "${config.themes.fonts.mono.family} ${toString config.themes.fonts.mono.size}";
# "emacs.color0" = dark;
# "emacs.color1" = green;