diff --git a/default.nix b/default.nix
index 673f1dc..ea4fb0c 100644
--- a/default.nix
+++ b/default.nix
@@ -5,6 +5,7 @@ rec {
imports = [
(./hardware-configuration + "/${name}.nix")
inputs.home-manager.nixosModules.home-manager
+ (import inputs.base16.hmModule)
(import ./modules device)
];
diff --git a/flake.lock b/flake.lock
index 12173a5..3d6f94a 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,5 +1,23 @@
{
"nodes": {
+ "base16": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ },
+ "locked": {
+ "lastModified": 1597006283,
+ "narHash": "sha256-O7vu1L1TxSx7IS2BQL90RCR6S/9rGLs2NL+Porppp4I=",
+ "owner": "alukardbf",
+ "repo": "base16-nix",
+ "rev": "ee0b1e4c6aaf2e9ea959eb649bc409bd10eeb7dc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "alukardbf",
+ "repo": "base16-nix",
+ "type": "github"
+ }
+ },
"base16-horizon-scheme": {
"flake": false,
"locked": {
@@ -18,7 +36,7 @@
},
"home-manager": {
"inputs": {
- "nixpkgs": "nixpkgs"
+ "nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1591751635,
@@ -69,7 +87,7 @@
},
"nix": {
"inputs": {
- "nixpkgs": "nixpkgs_2"
+ "nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1596554686,
@@ -86,15 +104,16 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1591748508,
- "narHash": "sha256-GdYYaYsSBgYUhbDT1JJQ7vEgo8FWeW/AW7/qqJuCvRA=",
+ "lastModified": 1593360652,
+ "narHash": "sha256-8dXbDWhLzgZfiQ+XZ2rtSnUAafFizeeXJa5fuF/9n4w=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "1d8c4410687390f9b8f92dbe6ff39fd8fc2b17c6",
+ "rev": "c5299e9d5bb18f1ebd817e0a4767103b9935f0ee",
"type": "github"
},
"original": {
"id": "nixpkgs",
+ "ref": "release-20.03",
"type": "indirect"
}
},
@@ -115,6 +134,20 @@
}
},
"nixpkgs_2": {
+ "locked": {
+ "lastModified": 1591748508,
+ "narHash": "sha256-GdYYaYsSBgYUhbDT1JJQ7vEgo8FWeW/AW7/qqJuCvRA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "1d8c4410687390f9b8f92dbe6ff39fd8fc2b17c6",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_3": {
"locked": {
"lastModified": 1591633336,
"narHash": "sha256-oVXv4xAnDJB03LvZGbC72vSVlIbbJr8tpjEW5o/Fdek=",
@@ -129,7 +162,7 @@
"type": "indirect"
}
},
- "nixpkgs_3": {
+ "nixpkgs_4": {
"locked": {
"lastModified": 1596265691,
"narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=",
@@ -147,12 +180,13 @@
},
"root": {
"inputs": {
+ "base16": "base16",
"base16-horizon-scheme": "base16-horizon-scheme",
"home-manager": "home-manager",
"i3lock-fancy-rapid": "i3lock-fancy-rapid",
"materia-theme": "materia-theme",
"nix": "nix",
- "nixpkgs": "nixpkgs_3",
+ "nixpkgs": "nixpkgs_4",
"nixpkgs-mozilla": "nixpkgs-mozilla",
"spotify-tui": "spotify-tui",
"zsh-autosuggestions": "zsh-autosuggestions",
diff --git a/flake.nix b/flake.nix
index e11b426..d4ae3ae 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,9 +2,10 @@
description = "System configuration";
inputs = {
- # nixpkgs = github:nixos/nixpkgs-channels/840c782d507d60aaa49aa9e3f6d0b0e780912742;
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
home-manager.url = github:rycee/home-manager/bqv-flakes;
+ base16.url = github:alukardbf/base16-nix;
+ # base16.url = "/shared/nixos/base16-nix";
base16-horizon-scheme = {
url = github:AlukardBF/base16-horizon-scheme;
flake = false;
diff --git a/modules/applications.nix b/modules/applications.nix
index 8cd4049..5038634 100644
--- a/modules/applications.nix
+++ b/modules/applications.nix
@@ -7,8 +7,8 @@ with import ../support.nix { inherit lib config; }; {
config = rec {
defaultApplications = {
term = {
- cmd = "${pkgs.rxvt_unicode}/bin/urxvt";
- desktop = "urxvt";
+ cmd = "${pkgs.alacritty}/bin/alacritty";
+ desktop = "alacritty";
};
dmenu = {
cmd = "${pkgs.rofi}/bin/rofi -show run";
diff --git a/modules/applications/alacritty.nix b/modules/applications/alacritty.nix
new file mode 100644
index 0000000..da4bf1f
--- /dev/null
+++ b/modules/applications/alacritty.nix
@@ -0,0 +1,94 @@
+{ pkgs, lib, config, ... }:
+let
+ thm = config.lib.base16.theme;
+in
+{
+ home-manager.users.alukard = {
+ programs.alacritty = {
+ enable = true;
+ settings = {
+ font = {
+ # normal.family = "Roboto Mono for Powerline";
+ # bold = { style = "Bold"; };
+ normal = {
+ family = "${thm.powerlineFont}";
+ style = "Regular";
+ };
+ bold = {
+ family = "${thm.powerlineFont}";
+ style = "Bold";
+ };
+ italic = {
+ family = "${thm.powerlineFont}";
+ style = "Italic";
+ };
+ bold_italic = {
+ family = "${thm.powerlineFont}";
+ style = "Bold Italic";
+ };
+ size = 11;
+ };
+
+ window.padding = {
+ x = 2;
+ y = 2;
+ };
+
+ shell.program = "${pkgs.zsh}/bin/zsh";
+
+ cursor.style = "Beam";
+
+ colors = {
+ primary = {
+ background = "0x${thm.base00-hex}";
+ foreground = "0x${thm.base05-hex}";
+ };
+ cursor = {
+ text = "0x${thm.base00-hex}";
+ cursor = "0x${thm.base05-hex}";
+ };
+ normal = {
+ black = "0x${thm.base00-hex}";
+ red = "0x${thm.base08-hex}";
+ green = "0x${thm.base0B-hex}";
+ yellow = "0x${thm.base0A-hex}";
+ blue = "0x${thm.base0D-hex}";
+ magenta = "0x${thm.base0E-hex}";
+ cyan = "0x${thm.base0C-hex}";
+ white = "0x${thm.base05-hex}";
+ };
+ bright = {
+ black = "0x${thm.base03-hex}";
+ red = "0x${thm.base09-hex}";
+ green = "0x${thm.base01-hex}";
+ yellow = "0x${thm.base02-hex}";
+ blue = "0x${thm.base04-hex}";
+ magenta = "0x${thm.base06-hex}";
+ cyan = "0x${thm.base0F-hex}";
+ white = "0x${thm.base07-hex}";
+ };
+ draw_bold_text_with_bright_colors = "false";
+ # bright = {
+ # black = "0x${thm.base03-hex}";
+ # red = "0x${thm.base08-hex}";
+ # green = "0x${thm.base0B-hex}";
+ # yellow = "0x${thm.base0A-hex}";
+ # blue = "0x${thm.base0D-hex}";
+ # magenta = "0x${thm.base0E-hex}";
+ # cyan = "0x${thm.base0C-hex}";
+ # white = "0x${thm.base07-hex}";
+ # };
+ # indexed_colors = {
+ # - { index: 16, color: '0xff8700' }
+ # - { index: 17, color: '0xd65d0e' }
+ # - { index: 18, color: '0x3a3a3a' }
+ # - { index: 19, color: '0x4e4e4e' }
+ # - { index: 20, color: '0x949494' }
+ # - { index: 21, color: '0xd5c4a1' }
+ # };
+
+ };
+ };
+ };
+ };
+}
\ No newline at end of file
diff --git a/modules/applications/packages.nix b/modules/applications/packages.nix
index 69b3f41..806491b 100644
--- a/modules/applications/packages.nix
+++ b/modules/applications/packages.nix
@@ -40,7 +40,6 @@ in {
vdpauinfo
libva-utils
lm_sensors
- libnotify
gparted
neofetch
bashmount
@@ -64,13 +63,13 @@ in {
# cli
ranger
youtube-dl
- wpgtk
+ # wpgtk
# pywal
# python27Packages.pygtk # pywal GTK2 reload
# python2 # pywal GTK2 reload
# ncmpcpp
- (youtube-to-mpv.override { isLaptop = isLaptop; })
+ youtube-to-mpv
wg-conf
(vivaldi.override { proprietaryCodecs = true; })
diff --git a/modules/applications/rofi.nix b/modules/applications/rofi.nix
new file mode 100644
index 0000000..3a032af
--- /dev/null
+++ b/modules/applications/rofi.nix
@@ -0,0 +1,15 @@
+{ pkgs, config, lib, ... }:
+let
+ thm = config.lib.base16.theme;
+ themeFile = config.lib.base16.templateFile { name = "rofi"; };
+in
+{
+ home-manager.users.alukard = {
+ programs.rofi = {
+ enable = true;
+ font = "${thm.fontMono} ${thm.headerSize}";
+ terminal = config.defaultApplications.term.cmd;
+ theme = "${themeFile}";
+ };
+ };
+}
\ No newline at end of file
diff --git a/modules/applications/vscode.nix b/modules/applications/vscode.nix
new file mode 100644
index 0000000..e32f157
--- /dev/null
+++ b/modules/applications/vscode.nix
@@ -0,0 +1,26 @@
+{ pkgs, lib, config, ... }:
+let
+ thm = config.lib.base16.theme;
+in
+{
+
+ # Support Wal color theme
+ home-manager.users.alukard.home.file.".cache/wal/colors".text = ''
+ #${thm.base00-hex}
+ #${thm.base01-hex}
+ #${thm.base02-hex}
+ #${thm.base03-hex}
+ #${thm.base04-hex}
+ #${thm.base05-hex}
+ #${thm.base06-hex}
+ #${thm.base07-hex}
+ #${thm.base08-hex}
+ #${thm.base09-hex}
+ #${thm.base0A-hex}
+ #${thm.base0B-hex}
+ #${thm.base0C-hex}
+ #${thm.base0D-hex}
+ #${thm.base0E-hex}
+ #${thm.base0F-hex}
+ '';
+}
\ No newline at end of file
diff --git a/modules/applications/youtube-to-mpv.nix b/modules/applications/youtube-to-mpv.nix
deleted file mode 100644
index 7e701f5..0000000
--- a/modules/applications/youtube-to-mpv.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-
-{ stdenv, pkgs, isLaptop ? false }:
-# TODO: отвязать от urxvt
-let
- # myScript = if isLaptop then
- # pkgs.writeShellScriptBin "yt-mpv" ''
- # if [[ "$1" != "--no-video" ]]; then
- # BATTERY="`${pkgs.acpi}/bin/acpi -b | grep --invert-match unavailable | head -1`"
- # STATUS=`awk -F'[,:] ' '{print $2}' <<< "$BATTERY"`
- # ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)"
- # if [[ "$STATUS" == "Discharging" ]]; then
- # ${pkgs.mpv}/bin/mpv --fs --ytdl-format="bestvideo[height<=?1080][fps<=?30][vcodec!=?vp9]+bestaudio/best" "$(xclip -o)"
- # else
- # ${pkgs.mpv}/bin/mpv --fs "$(xclip -o)"
- # fi
- # else
- # ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(xclip -o)"
- # ${pkgs.rxvt_unicode}/bin/urxvt -e ${pkgs.mpv}/bin/mpv --no-video "$(xclip -o)"
- # fi
- # ''
- # else
- myScript = pkgs.writeShellScriptBin "yt-mpv" ''
- if [[ "$1" != "--no-video" ]]; then
- ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)"
- ${pkgs.mpv}/bin/mpv --fs "$(xclip -o)"
- else
- ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(xclip -o)"
- ${pkgs.rxvt_unicode}/bin/urxvt -e ${pkgs.mpv}/bin/mpv --no-video "$(xclip -o)"
- fi
- '';
-in
-stdenv.mkDerivation rec {
- name = "youtube-to-mpv";
- src = myScript;
- installPhase = ''
- mkdir -p $out/bin
- mv ./bin/yt-mpv $out/bin/yt-mpv
- '';
-}
\ No newline at end of file
diff --git a/modules/default.nix b/modules/default.nix
index bf25b72..b25affd 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -1,7 +1,10 @@
device:
{ config, lib, ... }: {
imports = [
+ ./applications/alacritty.nix
./applications/packages.nix
+ ./applications/rofi.nix
+ ./applications/vscode.nix
# ./workspace/barrier.nix
./workspace/dunst.nix
@@ -16,7 +19,6 @@ device:
./workspace/mpv.nix
./workspace/pulseeffects
./workspace/qbittorrent
- ./workspace/rofi.nix
# ./workspace/spotifyd.nix
./workspace/ssh.nix
./workspace/xresources.nix
diff --git a/modules/packages.nix b/modules/packages.nix
index 1a4bae8..18df33e 100644
--- a/modules/packages.nix
+++ b/modules/packages.nix
@@ -10,19 +10,21 @@
rec {
inherit inputs;
- youtube-to-mpv = pkgs.callPackage ./applications/youtube-to-mpv.nix { };
+ youtube-to-mpv = pkgs.callPackage ./packages/youtube-to-mpv.nix { };
- wg-conf = pkgs.callPackage ./applications/wg-conf.nix { };
+ wg-conf = pkgs.callPackage ./packages/wg-conf.nix { };
- i3lock-fancy-rapid = pkgs.callPackage ./applications/i3lock-fancy-rapid.nix { };
+ i3lock-fancy-rapid = pkgs.callPackage ./packages/i3lock-fancy-rapid.nix { };
- xonar-fp = pkgs.callPackage ./applications/xonar-fp.nix { };
+ xonar-fp = pkgs.callPackage ./packages/xonar-fp.nix { };
- advance-touch = pkgs.callPackage ./applications/advance-touch.nix { };
+ advance-touch = pkgs.callPackage ./packages/advance-touch.nix { };
- nomino = pkgs.callPackage ./applications/nomino.nix { };
+ nomino = pkgs.callPackage ./packages/nomino.nix { };
- bpytop = pkgs.callPackage ./applications/bpytop.nix { };
+ bpytop = pkgs.callPackage ./packages/bpytop.nix { };
+
+ ibm-plex-powerline = pkgs.callPackage ./packages/ibm-plex-powerline.nix { };
# micro = super.micro.overrideAttrs (old: rec {
# version = "2.0.6";
diff --git a/modules/applications/advance-touch.nix b/modules/packages/advance-touch.nix
similarity index 100%
rename from modules/applications/advance-touch.nix
rename to modules/packages/advance-touch.nix
diff --git a/modules/applications/bpytop.nix b/modules/packages/bpytop.nix
similarity index 100%
rename from modules/applications/bpytop.nix
rename to modules/packages/bpytop.nix
diff --git a/modules/applications/flatcolor-gtk-theme.nix b/modules/packages/flatcolor-gtk-theme.nix
similarity index 100%
rename from modules/applications/flatcolor-gtk-theme.nix
rename to modules/packages/flatcolor-gtk-theme.nix
diff --git a/modules/applications/i3lock-fancy-rapid.nix b/modules/packages/i3lock-fancy-rapid.nix
similarity index 100%
rename from modules/applications/i3lock-fancy-rapid.nix
rename to modules/packages/i3lock-fancy-rapid.nix
diff --git a/modules/packages/ibm-plex-powerline.nix b/modules/packages/ibm-plex-powerline.nix
new file mode 100644
index 0000000..caa1c51
--- /dev/null
+++ b/modules/packages/ibm-plex-powerline.nix
@@ -0,0 +1,38 @@
+{ python3Packages, python2, fetchFromGitHub, fetchzip }:
+let
+ fontpatcher = python3Packages.buildPythonApplication rec {
+ name = "fontpatcher";
+ src = fetchFromGitHub {
+ owner = "powerline";
+ repo = "fontpatcher";
+ rev = "c3488091611757cb02014ed7ed2f11be0208da83";
+ sha256 = "1261h8233spflbbwbjz9w9bxcmznjldxwff08xn2cly6r9f49a0s";
+ };
+ propagatedBuildInputs = [
+ python2
+ python3Packages.fontforge
+ ];
+ doCheck = false;
+ preFixup = ''
+ mkdir -p $out/fonts
+ cp fonts/* $out/fonts
+ '';
+ };
+
+ version = "5.1.0";
+in fetchzip {
+ name = "ibm-plex-powerline-${version}";
+
+ url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
+
+ postFetch = ''
+ mkdir -p $out/share/fonts/opentype
+ unzip -j $downloadedFile "OpenType/*/IBMPlexMono*.otf" -d $out/share/fonts/opentype
+ cd $out/share/fonts/opentype
+ ${fontpatcher}/bin/powerline-fontpatcher $out/share/fonts/opentype/*
+ rm -f $out/share/fonts/opentype/IBMPlex*
+ '';
+
+ sha256 = "sha256-DaNXraX1gXhoS3Pnttw4VVHRvGrQRR2wuplNJn+c6cg=";
+}
+
diff --git a/modules/applications/nomino.nix b/modules/packages/nomino.nix
similarity index 100%
rename from modules/applications/nomino.nix
rename to modules/packages/nomino.nix
diff --git a/modules/applications/wg-conf.nix b/modules/packages/wg-conf.nix
similarity index 100%
rename from modules/applications/wg-conf.nix
rename to modules/packages/wg-conf.nix
diff --git a/modules/applications/xonar-fp.nix b/modules/packages/xonar-fp.nix
similarity index 100%
rename from modules/applications/xonar-fp.nix
rename to modules/packages/xonar-fp.nix
diff --git a/modules/packages/youtube-to-mpv.nix b/modules/packages/youtube-to-mpv.nix
new file mode 100644
index 0000000..bec03bd
--- /dev/null
+++ b/modules/packages/youtube-to-mpv.nix
@@ -0,0 +1,22 @@
+
+{ stdenv, pkgs, config }:
+# TODO: config.defaultApplications doesn't work
+let
+ yt-mpv = pkgs.writeShellScriptBin "yt-mpv" ''
+ if [[ "$1" != "--no-video" ]]; then
+ ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)"
+ ${pkgs.mpv}/bin/mpv --fs "$(xclip -o)"
+ else
+ ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(xclip -o)"
+ ${pkgs.alacritty}/bin/alacritty -e ${pkgs.mpv}/bin/mpv --no-video "$(xclip -o)"
+ fi
+ '';
+in
+stdenv.mkDerivation rec {
+ name = "youtube-to-mpv";
+ src = yt-mpv;
+ installPhase = ''
+ mkdir -p $out/bin
+ mv ./bin/yt-mpv $out/bin/yt-mpv
+ '';
+}
\ No newline at end of file
diff --git a/modules/themes.nix b/modules/themes.nix
index ada2c7d..9416dcd 100644
--- a/modules/themes.nix
+++ b/modules/themes.nix
@@ -1,79 +1,52 @@
{ 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;
+# let
+# fromBase16 = base16scheme:
+# builtins.mapAttrs (_: v: "#" + v) {
+# bg = base00-hex;
+# # fg = base07-hex;
+# fg = base05-hex;
+# };
+# in
+{
+ # options = {
+ # themes = {
+ # colors = mkOption {
+ # description =
+ # "Set of colors from which the themes for various applications will be generated";
+ # type = with types;
+ # submodule {
- gray = base03;
- alt = base02;
- dark = base01;
-
- red = base08;
- orange = base09;
- yellow = base0A;
- green = base0B;
- cyan = base0C;
- blue = base0D;
- purple = base0E;
- };
-
- fromYAML = yaml:
- builtins.fromJSON (builtins.readFile (pkgs.stdenv.mkDerivation {
- name = "fromYAML";
- phases = [ "buildPhase" ];
- buildPhase = "echo '${yaml}' | ${pkgs.yaml2json}/bin/yaml2json > $out";
- }));
-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";
- };
- };
- };
- };
- };
- # config = {
- # themes.colors = (fromBase16 (fromYAML
- # (builtins.readFile "${inputs.base16-unclaimed-schemes}/irblack.yaml")))
- # // {
- # alt = "#001d6c";
-
- # red = "#da1e28";
- # green = "#24a148";
- # orange = "#ff832b";
- # yellow = "#f1c21b";
+ # options = let
+ # colors = (builtins.genList (x: (toString x) ) 15);
+ # in {
+ # bg = types.str;
+ # fg = types.str;
+ # } // builtins.listToAttrs (builtins.map (x: {
+ # name = "base${x}";
+ # value = types.str;
+ # }) colors);
+ # };
# };
+ # };
# };
- config = {
- themes.colors = (fromBase16 (fromYAML
- (builtins.readFile "${inputs.base16-horizon-scheme}/horizon-dark.yaml")));
+ config.themes.base16 = {
+ enable = true;
+ # scheme = "tomorrow";
+ # variant = "tomorrow-night";
+ scheme = "gruvbox";
+ variant = "gruvbox-dark-medium";
+ extraParams = {
+ font = "IBM Plex Sans";
+ fontMono = "IBM Plex Mono";
+ fontSerif = "IBM Plex Serif";
+ fallbackFont = "Roboto";
+ fallbackFontMono = "Roboto Mono";
+ fallbackFontSerif = "Roboto Slab";
+ fontSize = "12";
+ headerSize = "14";
+ iconFont = "Material Icons";
+ powerlineFont = "IBM Plex Mono for Powerline";
+ };
};
-}
+}
\ No newline at end of file
diff --git a/modules/workspace/dunst.nix b/modules/workspace/dunst.nix
index 383e0f7..e5242c3 100644
--- a/modules/workspace/dunst.nix
+++ b/modules/workspace/dunst.nix
@@ -1,5 +1,5 @@
{ pkgs, config, lib, ... }:
-let thm = config.themes.colors;
+let thm = config.lib.base16.theme;
in {
home-manager.users.alukard = {
services.dunst = {
@@ -12,8 +12,9 @@ in {
global = {
geometry = "500x5-30+50";
transparency = 10;
- frame_color = thm.blue;
- font = "Roboto 13";
+ frame_color = "#${thm.base05-hex}";
+ separator_color = "#${thm.base05-hex}";
+ font = "${thm.font} ${thm.fontSize}";
padding = 15;
horizontal_padding = 17;
word_wrap = true;
@@ -25,20 +26,20 @@ in {
};
urgency_low = {
- background = thm.bg;
- foreground = thm.fg;
+ background = "#${thm.base01-hex}";
+ foreground = "#${thm.base03-hex}";
timeout = 5;
};
urgency_normal = {
- background = thm.alt;
- foreground = thm.fg;
+ background = "#${thm.base02-hex}";
+ foreground = "#${thm.base05-hex}";
timeout = 10;
};
urgency_critical = {
- background = thm.fg;
- foreground = thm.bg;
+ background = "#${thm.base08-hex}";
+ foreground = "#${thm.base06-hex}";
timeout = 15;
};
};
diff --git a/modules/workspace/fonts.nix b/modules/workspace/fonts.nix
index 2546e6f..d795e30 100644
--- a/modules/workspace/fonts.nix
+++ b/modules/workspace/fonts.nix
@@ -1,26 +1,29 @@
-{ pkgs, config, lib, ... }: {
+{ pkgs, config, lib, ... }:
+let
+ thm = config.lib.base16.theme;
+in
+{
fonts = {
fonts = with pkgs; [
- # terminus_font
- # opensans-ttf
+ ibm-plex
+ ibm-plex-powerline
+ fira-code
+ material-design-icons
+ material-icons
roboto
roboto-mono
roboto-slab
- fira-code
- # noto-fonts
- # noto-fonts-emoji
- powerline-fonts
- material-icons
font-awesome_4
+ # powerline-fonts
];
fontconfig = {
enable = true;
defaultFonts = {
- monospace = ["Roboto Mono 13"];
- sansSerif = ["Roboto 13"];
- serif = ["Roboto Slab 13"];
+ monospace = [ "${thm.fontMono} 13" ];
+ sansSerif = [ "${thm.font} 13" ];
+ serif = [ "${thm.fontSerif} 13" ];
};
};
enableDefaultFonts = true;
};
-}
+}
\ No newline at end of file
diff --git a/modules/workspace/gtk.nix b/modules/workspace/gtk.nix
index af1b52a..72794ac 100644
--- a/modules/workspace/gtk.nix
+++ b/modules/workspace/gtk.nix
@@ -1,25 +1,24 @@
{ pkgs, config, lib, inputs, ... }:
let
- thm = config.themes.colors;
- thm' = builtins.mapAttrs (name: value: builtins.substring 1 7 value) thm;
+ thm = config.lib.base16.theme;
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'.blue}
- 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'.blue}
- WM_BORDER_UNFOCUS=${thm'.alt}
+ BG=${thm.base00-hex}
+ FG=${thm.base05-hex}
+ BTN_BG=${thm.base00-hex}
+ BTN_FG=${thm.base05-hex}
+ MENU_BG=${thm.base00-hex}
+ MENU_FG=${thm.base05-hex}
+ ACCENT_BG=${thm.base02-hex}
+ SEL_BG=${thm.base0D-hex}
+ SEL_FG=${thm.base00-hex}
+ TXT_BG=${thm.base00-hex}
+ TXT_FG=${thm.base05-hex}
+ HDR_BTN_BG=${thm.base00-hex}
+ HDR_BTN_FG=${thm.base05-hex}
+ WM_BORDER_FOCUS=${thm.base02-hex}
+ WM_BORDER_UNFOCUS=${thm.base01-hex}
MATERIA_STYLE_COMPACT=True
MATERIA_COLOR_VARIANT=dark
UNITY_DEFAULT_LAUNCHER_STYLE=False
@@ -59,7 +58,7 @@ in {
# package = pkgs.flatcolor-gtk-theme;
};
font = {
- name = "Roboto 12";
+ name = "${thm.font} ${thm.fontSize}";
};
gtk3.extraConfig.gtk-cursor-theme-name = "bibata_oil";
};
diff --git a/modules/workspace/i3/default.nix b/modules/workspace/i3/default.nix
index 4384bad..770cec5 100644
--- a/modules/workspace/i3/default.nix
+++ b/modules/workspace/i3/default.nix
@@ -1,6 +1,6 @@
{ pkgs, config, ... }:
let
- thm = config.themes.colors;
+ thm = config.lib.base16.theme;
apps = config.defaultApplications;
# lock = pkgs.writeShellScript "lock" "sudo /run/current-system/sw/bin/lock";
in {
@@ -21,60 +21,55 @@ in {
];
"ﱘ" = [{ class = "cantata"; }];
};
- fonts = [ "RobotoMono 9" ];
+ fonts = [ "${thm.fontMono} 9" ];
bars = [ ];
- # colors = rec {
- # background = thm.bg;
- # unfocused = {
- # border = thm.dark;
- # background = thm.bg;
- # text = thm.alt;
- # indicator = thm.fg;
- # childBorder = thm.dark;
- # };
- # focusedInactive = unfocused;
- # urgent = unfocused // {
- # border = thm.orange;
- # text = thm.fg;
- # childBorder = thm.orange;
- # };
- # focused = unfocused // {
- # border = thm.blue;
- # background = thm.dark;
- # text = thm.fg;
- # childBorder = thm.blue;
- # };
- # };
- colors = rec {
- background = "\$bg";
+ colors = {
+ focused = {
+ border = "#${thm.base05-hex}";
+ background = "#${thm.base00-hex}";
+ text = "#${thm.base0D-hex}";
+ indicator = "#${thm.base0D-hex}";
+ childBorder = "#${thm.base0C-hex}";
+ };
+ focusedInactive = {
+ border = "#${thm.base01-hex}";
+ background = "#${thm.base01-hex}";
+ text = "#${thm.base05-hex}";
+ indicator = "#${thm.base03-hex}";
+ childBorder = "#${thm.base01-hex}";
+ };
unfocused = {
- border = "\$dark";
- background = "\$bg";
- text = "\$alt";
- indicator = "\$fg";
- childBorder = "\$dark";
+ border = "#${thm.base01-hex}";
+ background = "#${thm.base00-hex}";
+ text = "#${thm.base05-hex}";
+ indicator = "#${thm.base01-hex}";
+ childBorder = "#${thm.base01-hex}";
};
- focusedInactive = unfocused;
- urgent = unfocused // {
- border = "\$purple";
- text = "\$fg";
- childBorder = "\$purple";
+ urgent = {
+ border = "#${thm.base08-hex}";
+ background = "#${thm.base08-hex}";
+ text = "#${thm.base00-hex}";
+ indicator = "#${thm.base08-hex}";
+ childBorder = "#${thm.base08-hex}";
};
- focused = unfocused // {
- border = "\$blue";
- background = "\$dark";
- text = "\$fg";
- childBorder = "\$blue";
+ placeholder = {
+ border = "#${thm.base00-hex}";
+ background = "#${thm.base00-hex}";
+ text = "#${thm.base05-hex}";
+ indicator = "#${thm.base00-hex}";
+ childBorder = "#${thm.base00-hex}";
};
+ background = "#${thm.base07-hex}";
};
+
gaps = {
inner = 6;
smartGaps = true;
smartBorders = "on";
};
- focus.mouseWarping = true;
+ focus.mouseWarping = false;
focus.followMouse = false;
modifier = "Mod4";
window = {
@@ -89,7 +84,7 @@ in {
];
};
startup = map (a: { notification = false; } // a) [
- # { command = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources"; }
+ { command = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources"; }
{ command = "${pkgs.pywal}/bin/wal -R"; }
{ command = "${pkgs.tdesktop}/bin/telegram-desktop"; }
{
@@ -188,12 +183,23 @@ in {
default_border pixel 1
hide_edge_borders smart
- set_from_resource $bg i3wm.background "{background}"
- set_from_resource $fg i3wm.foreground "{foreground}"
- set_from_resource $dark i3wm.color0 "{color0}"
- set_from_resource $alt i3wm.color8 "{color8}"
- set_from_resource $purple i3wm.color5 "{color5}"
- set_from_resource $blue i3wm.color4 "{color4}"
+ # Set colors
+ set $base00 #${thm.base00-hex}
+ set $base01 #${thm.base01-hex}
+ set $base02 #${thm.base02-hex}
+ set $base03 #${thm.base03-hex}
+ set $base04 #${thm.base04-hex}
+ set $base05 #${thm.base05-hex}
+ set $base06 #${thm.base06-hex}
+ set $base07 #${thm.base07-hex}
+ set $base08 #${thm.base08-hex}
+ set $base09 #${thm.base09-hex}
+ set $base0A #${thm.base0A-hex}
+ set $base0B #${thm.base0B-hex}
+ set $base0C #${thm.base0C-hex}
+ set $base0D #${thm.base0D-hex}
+ set $base0E #${thm.base0E-hex}
+ set $base0F #${thm.base0F-hex}
'';
};
}
diff --git a/modules/workspace/i3status-rust/default.nix b/modules/workspace/i3status-rust/default.nix
index 7f86dd0..542f87d 100644
--- a/modules/workspace/i3status-rust/default.nix
+++ b/modules/workspace/i3status-rust/default.nix
@@ -4,12 +4,14 @@ with rec {
};
with deviceSpecific;
with import ../../../support.nix { inherit pkgs config lib; };
-let scripts = import ./scripts pkgs config;
+let
+ scripts = import ./scripts pkgs config;
+ thm = config.lib.base16.theme;
in {
home-manager.users.alukard.xsession.windowManager.i3.extraConfig = ''
bar {
id top
- font pango:Roboto Mono 11, FontAwesome 11
+ font pango:${thm.iconFont} 11, ${thm.fontMono} 11, ${thm.fallbackFontMono} 11
mode dock
hidden_state hide
position top
@@ -18,22 +20,36 @@ in {
strip_workspace_numbers no
tray_output primary
colors {
- background $bg
- statusline $fg
- separator $alt
- focused_workspace $bg $bg $blue
- active_workspace $bg $bg $green
- inactive_workspace $bg $bg $fg
- urgent_workspace $bg $bg $orange
- binding_mode $bg $bg $yellow
+ background #${thm.base00-hex}
+ separator #${thm.base01-hex}
+ statusline #${thm.base04-hex}
+ focused_workspace #${thm.base00-hex} #${thm.base00-hex} #${thm.base0D-hex}
+ active_workspace #${thm.base00-hex} #${thm.base03-hex} #${thm.base00-hex}
+ inactive_workspace #${thm.base00-hex} #${thm.base01-hex} #${thm.base05-hex}
+ urgent_workspace #${thm.base00-hex} #${thm.base0A-hex} #${thm.base00-hex}
+ binding_mode #${thm.base00-hex} #${thm.base0A-hex} #${thm.base00-hex}
}
}
'';
- # TODO: rewrite concat
home-manager.users.alukard.xdg.configFile."i3status-rust/config.toml".text = lib.concatStrings [''
- theme = "slick"
- icons = "awesome"
+
+ [theme]
+ name = "solarized-dark"
+ [theme.overrides]
+ idle_bg = "#${thm.base00-hex}"
+ idle_fg = "#${thm.base05-hex}"
+ info_bg = "#${thm.base0C-hex}"
+ info_fg = "#${thm.base00-hex}"
+ good_bg = "#${thm.base0B-hex}"
+ good_fg = "#${thm.base00-hex}"
+ warning_bg = "#${thm.base0A-hex}"
+ warning_fg = "#${thm.base00-hex}"
+ critical_bg = "#${thm.base08-hex}"
+ critical_fg = "#${thm.base00-hex}"
+
+ [icons]
+ name = "material"
[[block]]
block = "net"
diff --git a/modules/workspace/i3status-rust/scripts/df.nix b/modules/workspace/i3status-rust/scripts/df.nix
index 64fa788..7d90f34 100644
--- a/modules/workspace/i3status-rust/scripts/df.nix
+++ b/modules/workspace/i3status-rust/scripts/df.nix
@@ -1,4 +1,4 @@
-{ bash, config, curl, ... }: ''
+{ bash, config, curl, ... }: with config.lib.base16.theme; ''
#!/usr/bin/env bash
- echo 'folder' `df -h / | tail -1 | awk '{print $4}'`iB
+ echo 'folder' `df -h / | tail -1 | awk '{print $4}'`iB
''
diff --git a/modules/workspace/kde/default.nix b/modules/workspace/kde/default.nix
index c051f7e..aba11fa 100644
--- a/modules/workspace/kde/default.nix
+++ b/modules/workspace/kde/default.nix
@@ -41,90 +41,90 @@ with import ../../../support.nix { inherit lib config; }; {
};
home-manager.users.alukard.xdg.configFile."kdeglobals".text = 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;
- };
- "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;
- };
- "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;
- };
- "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;
- };
- "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;
- };
- "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;
- };
+ # "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;
+ # };
+ # "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;
+ # };
+ # "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;
+ # };
+ # "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;
+ # };
+ # "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;
+ # };
+ # "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;
+ # };
General = {
ColorScheme = "Generated";
Name = "Generated";
diff --git a/modules/workspace/rofi.nix b/modules/workspace/rofi.nix
deleted file mode 100644
index aba6625..0000000
--- a/modules/workspace/rofi.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, config, lib, ... }: {
- home-manager.users.alukard.programs.rofi = {
- enable = true;
- font = "Roboto Mono 14";
- terminal = config.defaultApplications.term.cmd;
- theme = "~/.cache/wal/colors-rofi-dark.rasi";
- };
-}
\ No newline at end of file
diff --git a/modules/workspace/xresources.nix b/modules/workspace/xresources.nix
index 075e850..c491ca8 100644
--- a/modules/workspace/xresources.nix
+++ b/modules/workspace/xresources.nix
@@ -2,30 +2,31 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.alukard = {
- xresources.properties = with config.themes.colors; {
- "*background" = bg;
- "*foreground" = fg;
- "*color0" = dark;
- "*color1" = red;
- "*color2" = green;
- "*color3" = yellow;
- "*color4" = blue;
- "*color5" = purple;
- "*color6" = cyan;
- "*color7" = fg;
- "*color8" = dark;
- "*color9" = red;
- "*color10" = green;
- "*color11" = yellow;
- "*color12" = blue;
- "*color13" = purple;
- "*color14" = cyan;
- "*color15" = fg;
+ xresources.properties = with config.lib.base16.theme; {
+ "*background" = "#${base00-hex}";
+ "*foreground" = "#${base05-hex}";
+ "*color0" = "#${base00-hex}";
+ "*color1" = "#${base08-hex}";
+ "*color2" = "#${base0B-hex}";
+ "*color3" = "#${base0A-hex}";
+ "*color4" = "#${base0D-hex}";
+ "*color5" = "#${base0E-hex}";
+ "*color6" = "#${base0C-hex}";
+ "*color7" = "#${base05-hex}";
+ "*color8" = "#${base03-hex}";
+ "*color9" = "#${base09-hex}";
+ "*color10" = "#${base01-hex}";
+ "*color11" = "#${base02-hex}";
+ "*color12" = "#${base04-hex}";
+ "*color13" = "#${base06-hex}";
+ "*color14" = "#${base0F-hex}";
+ "*color15" = "#${base07-hex}";
+ "*cursorColor" = "#${base05-hex}";
- "URxvt.font" = "xft:Roboto Mono for Powerline:style=Regular:size=11";
- "URxvt.boldFont" = "xft:Roboto Mono for Powerline:style=Bold:size=11";
- "URxvt.italicFont" = "xft:Roboto Mono for Powerline:style=Italic:size=11";
- "URxvt.boldItalicfont" = "xft:Roboto Mono for Powerline:style=Bold Italic:size=11";
+ "URxvt.font" = "xft:${powerlineFont}:style=Regular:size=11";
+ "URxvt.boldFont" = "xft:${powerlineFont}:style=Bold:size=11";
+ "URxvt.italicFont" = "xft:${powerlineFont}:style=Italic:size=11";
+ "URxvt.boldItalicfont" = "xft:${powerlineFont}:style=Bold Italic:size=11";
"URxvt.letterSpace" = "0";
"URxvt.lineSpace" = "0";
@@ -46,12 +47,6 @@
"URxvt.keysym.Control-Down" = "\\033[1;5B";
"URxvt.keysym.Control-Right" = "\\033[1;5C";
"URxvt.keysym.Control-Left" = "\\033[1;5D";
-
};
- # home.activation.xrdb = {
- # after = ["linkGeneration"];
- # before = [];
- # data = "DISPLAY=:0 ${pkgs.xorg.xrdb}/bin/xrdb -merge ${config.users.users.alukard.home}/.Xresources";
- # };
};
}
\ No newline at end of file
diff --git a/modules/workspace/zsh.nix b/modules/workspace/zsh.nix
index c91ab23..8a9c9ab 100644
--- a/modules/workspace/zsh.nix
+++ b/modules/workspace/zsh.nix
@@ -43,7 +43,7 @@
"grep" = "rg";
# "mkdir" = "ad";
"man" = "pinfo";
- "l" = "exa -lahgGF@ --git --group-directories-first";
+ "l" = "exa -lahgF@ --git --group-directories-first";
"tree" = "exa -T";
"ltree" = "exa -lhgFT@ --git";
"atree" = "exa -aT";
diff --git a/modules/xserver.nix b/modules/xserver.nix
index 21e832e..3d2f8bf 100644
--- a/modules/xserver.nix
+++ b/modules/xserver.nix
@@ -1,8 +1,11 @@
{ pkgs, lib, config, ... }:
+let
+ thm = config.lib.base16.theme;
+in
with rec {
- inherit (config) deviceSpecific themes;
+ inherit (config) deviceSpecific;
};
-with deviceSpecific; with themes; {
+with deviceSpecific; {
services.xserver = {
enable = true;
@@ -37,18 +40,18 @@ with deviceSpecific; with themes; {
show-input-cursor = false
password-alignment = right
[greeter-theme]
- font = "Roboto Mono"
+ font = "#${thm.font} Mono"
font-size = 14pt
- text-color = "${colors.green}"
- error-color = "${colors.green}"
+ text-color = "#${thm.base0B-hex}"
+ error-color = "#${thm.base0B-hex}"
background-image = ""
- background-color = "${colors.bg}"
- window-color = "${colors.dark}"
- border-color = "${colors.blue}"
+ background-color = "#${thm.base00-hex}"
+ window-color = "#${thm.base01-hex}"
+ border-color = "#${thm.base0D-hex}"
border-width = 1px
layout-space = 14
- password-color = "${colors.green}"
- password-background-color = "${colors.bg}"
+ password-color = "#${thm.base0B-hex}"
+ password-background-color = "#${thm.base00-hex}"
'';
};
};
diff --git a/support.nix b/support.nix
index 7bbb199..454ef08 100644
--- a/support.nix
+++ b/support.nix
@@ -10,41 +10,41 @@
builtins.toString value;
in "${key}=${mvalue}";
};
- 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)));
- hex2decDigits = rec {
- "0" = 0;
- "1" = 1;
- "2" = 2;
- "3" = 3;
- "4" = 4;
- "5" = 5;
- "6" = 6;
- "7" = 7;
- "8" = 8;
- "9" = 9;
- "a" = 10;
- "b" = 11;
- "c" = 12;
- "d" = 13;
- "e" = 14;
- "f" = 15;
- A = a;
- B = b;
- C = c;
- D = d;
- E = e;
- F = f;
- };
+ # 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)));
+ # hex2decDigits = rec {
+ # "0" = 0;
+ # "1" = 1;
+ # "2" = 2;
+ # "3" = 3;
+ # "4" = 4;
+ # "5" = 5;
+ # "6" = 6;
+ # "7" = 7;
+ # "8" = 8;
+ # "9" = 9;
+ # "a" = 10;
+ # "b" = 11;
+ # "c" = 12;
+ # "d" = 13;
+ # "e" = 14;
+ # "f" = 15;
+ # A = a;
+ # B = b;
+ # C = c;
+ # D = d;
+ # E = e;
+ # F = f;
+ # };
- doubleDigitHexToDec = hex:
- 16 * hex2decDigits."${builtins.substring 0 1 hex}"
- + hex2decDigits."${builtins.substring 1 2 hex}";
- thmDec = builtins.mapAttrs (name: color: colorHex2Dec color) thm;
- colorHex2Dec = color:
- builtins.concatStringsSep ","
- (map (x: toString (doubleDigitHexToDec x)) (splitHex color));
+ # doubleDigitHexToDec = hex:
+ # 16 * hex2decDigits."${builtins.substring 0 1 hex}"
+ # + hex2decDigits."${builtins.substring 1 2 hex}";
+ # thmDec = builtins.mapAttrs (name: color: colorHex2Dec color) thm;
+ # colorHex2Dec = color:
+ # builtins.concatStringsSep ","
+ # (map (x: toString (doubleDigitHexToDec x)) (splitHex color));
}
diff --git a/todo.md b/todo.md
index 2ef2b38..3ddcc22 100644
--- a/todo.md
+++ b/todo.md
@@ -1,7 +1,8 @@
# TODO
-* i3 хоткеи на русской раскладке
-* Добавить словарь
-* Spotifyd + cli
-* [Make i3status-rust theme](https://github.com/greshake/i3status-rust/blob/master/themes.md)
-* make overlay
\ No newline at end of file
+* i3 hotkeys with ru keyboard layout
+* Add some dictionary program
+* spotifyd + cli
+* generated gtk icons
+* overlay for my packages
+* separators and icons in i3status-rust