Use base16 themes, custom base16 theme
This commit is contained in:
parent
44675f51d5
commit
2699110467
47
flake.lock
47
flake.lock
@ -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": {
|
||||
|
@ -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: {
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user