From 4fea58a29080d9e7bceb4499d8a4b4c539d5ec48 Mon Sep 17 00:00:00 2001 From: oddlama Date: Sat, 7 Jun 2025 13:44:32 +0200 Subject: [PATCH] refactor: remove stylix and some other unused stuff --- config/graphical/default.nix | 73 - config/graphical/fonts.nix | 35 +- config/home-manager.nix | 2 - flake.lock | 660 +- flake.nix | 16 - hosts/kroma/default.nix | 7 - nix/hosts.nix | 1 - pkgs/default.nix | 4 - pkgs/ron.nix | 180 - pkgs/scripts/brightness.nix | 2 - pkgs/scripts/screenshot-screen.nix | 1 - pkgs/scripts/volume.nix | 4 - .../Base16Kvantum/Base16Kvantum.kvconfig | 568 -- .../graphical/Base16Kvantum/Base16Kvantum.svg | 6814 ----------------- users/myuser/graphical/default.nix | 2 - users/myuser/graphical/flameshot.nix | 2 +- users/myuser/graphical/fuzzel.nix | 16 +- users/myuser/graphical/i3.nix | 1 - users/myuser/graphical/kitty.nix | 21 +- users/myuser/graphical/swaync.nix | 2 +- users/myuser/graphical/test_notifications.sh | 129 - users/myuser/graphical/theme.nix | 52 +- users/myuser/graphical/waybar.nix | 29 - users/myuser/graphical/whisper-overlay.nix | 7 - users/myuser/graphical/wired-notify.nix | 666 -- 25 files changed, 81 insertions(+), 9213 deletions(-) delete mode 100644 pkgs/ron.nix delete mode 100644 users/myuser/graphical/Base16Kvantum/Base16Kvantum.kvconfig delete mode 100644 users/myuser/graphical/Base16Kvantum/Base16Kvantum.svg delete mode 100755 users/myuser/graphical/test_notifications.sh delete mode 100644 users/myuser/graphical/whisper-overlay.nix delete mode 100644 users/myuser/graphical/wired-notify.nix diff --git a/config/graphical/default.nix b/config/graphical/default.nix index 56b6a9d..0f2f455 100644 --- a/config/graphical/default.nix +++ b/config/graphical/default.nix @@ -1,6 +1,5 @@ { config, - inputs, lib, minimal, pkgs, @@ -23,9 +22,6 @@ in } // optionalAttrs (!minimal) { imports = [ - inputs.stylix.nixosModules.stylix - inputs.whisper-overlay.nixosModules.default - ./fonts.nix ./steam.nix ./xserver.nix @@ -64,74 +60,5 @@ in binPath = lib.getExe pkgs.hyprland; }; }; - - stylix = { - enable = true; - # I want to choose what to style myself. - autoEnable = false; - image = config.lib.stylix.pixel "base00"; - - polarity = "dark"; - - # onedark - # base16Scheme = { - # base00 = "#282c34"; - # base01 = "#353b45"; - # base02 = "#3e4451"; - # base03 = "#545862"; - # base04 = "#565c64"; - # base05 = "#abb2bf"; - # base06 = "#b6bdca"; - # base07 = "#c8ccd4"; - # base08 = "#e06c75"; - # base09 = "#d19a66"; - # base0A = "#e5c07b"; - # base0B = "#98c379"; - # base0C = "#56b6c2"; - # base0D = "#61afef"; - # base0E = "#c678dd"; - # base0F = "#9378de"; - # }; - - # based on decaycs-dark, normal variant - base16Scheme = { - base00 = "#101419"; - base01 = "#171b20"; - base02 = "#21262e"; - base03 = "#242931"; - base04 = "#485263"; - base05 = "#b6beca"; - base06 = "#dee1e6"; - base07 = "#e3e6eb"; - base08 = "#e05f65"; - base09 = "#f9a872"; - base0A = "#f1cf8a"; - base0B = "#78dba9"; - base0C = "#74bee9"; - base0D = "#70a5eb"; - base0E = "#c68aee"; - base0F = "#9378de"; - }; - - ## based on decaycs-dark, bright variant - #base16Scheme = { - # base00 = "#101419"; - # base01 = "#171B20"; - # base02 = "#21262e"; - # base03 = "#242931"; - # base04 = "#485263"; - # base05 = "#b6beca"; - # base06 = "#dee1e6"; - # base07 = "#e3e6eb"; - # base08 = "#e5646a"; - # base09 = "#f7b77c"; - # base0A = "#f6d48f"; - # base0B = "#94F7C5"; - # base0C = "#79c3ee"; - # base0D = "#75aaf0"; - # base0E = "#cb8ff3"; - # base0F = "#9d85e1"; - #}; - }; }; } diff --git a/config/graphical/fonts.nix b/config/graphical/fonts.nix index 6890945..f3f6e2e 100644 --- a/config/graphical/fonts.nix +++ b/config/graphical/fonts.nix @@ -34,30 +34,21 @@ pkgs.noto-fonts-cjk-serif pkgs.noto-fonts-emoji pkgs.noto-fonts-extra + + pkgs.dejavu_fonts + pkgs.segoe-ui-ttf + pkgs.jetbrains-mono ]; - }; - stylix.fonts = { - serif = { - package = pkgs.dejavu_fonts; - name = "IBM Plex Serif"; - }; - - sansSerif = { - package = pkgs.segoe-ui-ttf; - name = "Segoe UI"; - }; - - monospace = { - # No need for patched nerd fonts, kitty can pick up on them automatically, - # and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font - package = pkgs.jetbrains-mono; - name = "JetBrains Mono"; - }; - - emoji = { - package = pkgs.segoe-ui-ttf; - name = "Segoe UI Emoji"; + fontconfig.defaultFonts = { + serif = [ "IBM Plex Serif" ]; + sansSerif = [ "Segoe UI" ]; + emoji = [ "Segoe UI Emoji" ]; + monospace = [ + # No need for patched nerd fonts, kitty can pick up on them automatically, + # and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font + "JetBrains Mono" + ]; }; }; } diff --git a/config/home-manager.nix b/config/home-manager.nix index 7afbadc..b6955ad 100644 --- a/config/home-manager.nix +++ b/config/home-manager.nix @@ -13,8 +13,6 @@ inputs.nixos-extra-modules.homeManagerModules.default inputs.nix-index-database.hmModules.nix-index inputs.nixvim.homeManagerModules.nixvim - inputs.wired-notify.homeManagerModules.default - inputs.whisper-overlay.homeManagerModules.default { home.stateVersion = config.system.stateVersion; } diff --git a/flake.lock b/flake.lock index 342bcf8..6fb39d1 100644 --- a/flake.lock +++ b/flake.lock @@ -49,73 +49,6 @@ "type": "github" } }, - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, - "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, - "base16-fish": { - "flake": false, - "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", - "type": "github" - }, - "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1732806396, - "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - } - }, "crane": { "flake": false, "locked": { @@ -333,28 +266,6 @@ "type": "github" } }, - "devshell_7": { - "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": [ - "whisper-overlay", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", - "owner": "numtide", - "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -448,22 +359,6 @@ "type": "github" } }, - "firefox-gnome-theme": { - "flake": false, - "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", - "type": "github" - }, - "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -480,37 +375,6 @@ "type": "github" } }, - "flake-compat_10": { - "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_11": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-compat_2": { "flake": false, "locked": { @@ -756,63 +620,6 @@ "type": "github" } }, - "flake-parts_7": { - "inputs": { - "nixpkgs-lib": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_8": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_4" - }, - "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_9": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_5" - }, - "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -885,66 +692,6 @@ "type": "github" } }, - "flake-utils_5": { - "inputs": { - "systems": "systems_8" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" - ], - "gitignore": "gitignore_8", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -1098,67 +845,6 @@ "type": "github" } }, - "gitignore_8": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_9": { - "inputs": { - "nixpkgs": [ - "whisper-overlay", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1744584021, - "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "48.1", - "repo": "gnome-shell", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -1587,30 +1273,6 @@ "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" } }, - "nixpkgs-lib_4": { - "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" - } - }, - "nixpkgs-lib_5": { - "locked": { - "lastModified": 1738452942, - "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1730741070, @@ -1627,38 +1289,6 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1718447546, - "narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "842253bf992c3a7157b67600c2857193f126563a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1736320768, - "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "flake-parts": "flake-parts_6", @@ -1682,32 +1312,6 @@ "type": "github" } }, - "nur": { - "inputs": { - "flake-parts": [ - "stylix", - "flake-parts" - ], - "nixpkgs": [ - "stylix", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_4" - }, - "locked": { - "lastModified": 1748730660, - "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", - "owner": "nix-community", - "repo": "NUR", - "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "NUR", - "type": "github" - } - }, "nuschtosSearch": { "inputs": { "flake-utils": "flake-utils_4", @@ -1943,30 +1547,6 @@ "type": "github" } }, - "pre-commit-hooks_7": { - "inputs": { - "flake-compat": "flake-compat_11", - "gitignore": "gitignore_9", - "nixpkgs": [ - "whisper-overlay", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1718879355, - "narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "purescript-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -2073,10 +1653,7 @@ "nixpkgs": "nixpkgs", "nixvim": "nixvim", "pre-commit-hooks": "pre-commit-hooks_6", - "stylix": "stylix", - "treefmt-nix": "treefmt-nix_5", - "whisper-overlay": "whisper-overlay", - "wired-notify": "wired-notify" + "treefmt-nix": "treefmt-nix_4" } }, "rust-overlay": { @@ -2144,24 +1721,6 @@ "type": "github" } }, - "rust-overlay_4": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1740709839, - "narHash": "sha256-4dF++MXIXna/AwlZWDKr7bgUmY4xoEwvkF1GewjNrt0=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "b4270835bf43c6f80285adac6f66a26d83f0f277", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "slimlock": { "inputs": { "nixpkgs": [ @@ -2226,45 +1785,6 @@ "url": "https://spectrum-os.org/git/spectrum" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-helix": "base16-helix", - "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_10", - "flake-parts": "flake-parts_7", - "git-hooks": "git-hooks", - "gnome-shell": "gnome-shell", - "home-manager": [ - "home-manager" - ], - "nixpkgs": [ - "nixpkgs" - ], - "nur": "nur", - "systems": "systems_7", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-schemes": "tinted-schemes", - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" - }, - "locked": { - "lastModified": 1749236315, - "narHash": "sha256-Ndtdvwz8D4WOYHl5mj9d5F5iC8WPH6uPNF7RcU3QzmE=", - "owner": "danth", - "repo": "stylix", - "rev": "29d006198ee05143cca8b4b89f37025823da1bcc", - "type": "github" - }, - "original": { - "owner": "danth", - "repo": "stylix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -2355,117 +1875,6 @@ "type": "github" } }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_8": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tinted-foot": { - "flake": false, - "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", - "type": "github" - } - }, - "tinted-kitty": { - "flake": false, - "locked": { - "lastModified": 1735730497, - "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "type": "github" - } - }, - "tinted-schemes": { - "flake": false, - "locked": { - "lastModified": 1748180480, - "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", - "owner": "tinted-theming", - "repo": "schemes", - "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "schemes", - "type": "github" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1748740859, - "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", - "type": "github" - } - }, "treefmt": { "inputs": { "nixpkgs": [ @@ -2552,28 +1961,6 @@ } }, "treefmt-nix_4": { - "inputs": { - "nixpkgs": [ - "stylix", - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_5": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -2614,51 +2001,6 @@ "repo": "treefmt-nix", "type": "github" } - }, - "whisper-overlay": { - "inputs": { - "devshell": "devshell_7", - "flake-parts": "flake-parts_8", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks_7" - }, - "locked": { - "lastModified": 1721992624, - "narHash": "sha256-qwfGxSjdUODysf93GtAK6v5GS0JAYwZeWVr8lQEBkPw=", - "owner": "oddlama", - "repo": "whisper-overlay", - "rev": "b851520617887f09be614a990b2d50caba093525", - "type": "github" - }, - "original": { - "owner": "oddlama", - "repo": "whisper-overlay", - "type": "github" - } - }, - "wired-notify": { - "inputs": { - "flake-parts": "flake-parts_9", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay_4" - }, - "locked": { - "lastModified": 1743305055, - "narHash": "sha256-NIsi8Dno9YsOLUUTrLU4p+hxYeJr3Vkg1gIpQKVTaDs=", - "owner": "Toqozz", - "repo": "wired-notify", - "rev": "75d43f54a02b15f2a15f5c1a0e1c7d15100067a6", - "type": "github" - }, - "original": { - "owner": "Toqozz", - "repo": "wired-notify", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 4888286..4a47f6b 100644 --- a/flake.nix +++ b/flake.nix @@ -95,26 +95,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - stylix = { - url = "github:danth/stylix"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.follows = "home-manager"; - }; - treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; - - whisper-overlay = { - url = "github:oddlama/whisper-overlay"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - wired-notify = { - url = "github:Toqozz/wired-notify"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = diff --git a/hosts/kroma/default.nix b/hosts/kroma/default.nix index 2df3790..ab67ee8 100644 --- a/hosts/kroma/default.nix +++ b/hosts/kroma/default.nix @@ -57,13 +57,6 @@ graphical.gaming.enable = true; - stylix.fonts.sizes = { - #desktop = 20; - applications = 10; - terminal = 20; - popups = 20; - }; - nix.settings.trusted-substituters = [ "https://ai.cachix.org" ]; diff --git a/nix/hosts.nix b/nix/hosts.nix index 1055a02..2ab5347 100644 --- a/nix/hosts.nix +++ b/nix/hosts.nix @@ -40,7 +40,6 @@ inputs.nix-topology.overlays.default inputs.nixos-extra-modules.overlays.default inputs.nixvim.overlays.default - inputs.wired-notify.overlays.default ]; node.name = name; diff --git a/pkgs/default.nix b/pkgs/default.nix index ef5abf1..da96a2c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -19,9 +19,5 @@ _inputs: [ # ]; ente-web = prev.callPackage ./ente-web.nix { }; - - formats = prev.formats // { - ron = import ./ron.nix { inherit (prev) lib pkgs; }; - }; }) ] diff --git a/pkgs/ron.nix b/pkgs/ron.nix deleted file mode 100644 index ec03388..0000000 --- a/pkgs/ron.nix +++ /dev/null @@ -1,180 +0,0 @@ -{ - lib, - pkgs, - ... -}: -{ - extensions ? [ ], -}: -let - inherit (lib) - boolToString - concatMapStrings - concatStringsSep - escape - length - mapAttrsToList - stringLength - types - ; - - toRon = - indent: value: - with builtins; - if value == null then - "None" - else if isBool value then - boolToString value - else if isInt value || isFloat value then - toString value - else if isString value then - string value - else if isList value then - list indent value - else if isAttrs value then - attrs indent value - else - abort "formats.ron: should never happen (value = ${value})"; - - specialType = - indent: - { - value, - _ronType, - ... - }@args: - if _ronType == "literal" then - value - else if _ronType == "raw_string" then - rawString value - else if _ronType == "char" then - char value - else if _ronType == "optional" then - some indent value - else if _ronType == "tuple" then - tuple indent value - else if _ronType == "struct" then - struct indent args - else - abort "formats.ron: should never happen (_ronType = ${_ronType})"; - - escapedValues = escape [ - "\\" - "\"" - ]; - string = value: ''"${escapedValues value}"''; - - listContent = indent: values: concatStringsSep ",\n${indent}" (map (toRon indent) values); - - list = - indent: values: - if length values <= 1 then - "[${listContent indent values}]" - else - let - newIndent = "${indent}\t"; - in - "[\n${newIndent}${listContent newIndent values}\n${indent}]"; - - attrs = - indent: set: - if set ? _ronType then - specialType indent set - else - let - newIndent = "${indent}\t"; - toEntry = n: v: "${toRon newIndent n}: ${toRon newIndent v}"; - entries = concatStringsSep ",\n${newIndent}" (mapAttrsToList toEntry set); - in - "{\n${indent}${entries}\n${indent}}"; - - rawString = value: ''r#"${value}"#''; - char = value: "'${escapedValues value}'"; - some = indent: value: "Some(${toRon indent value})"; - tuple = - indent: values: - let - newIndent = "${indent}\t"; - in - "(\n${newIndent}${listContent newIndent values}\n${indent})"; - - struct = - indent: - { - name, - value, - ... - }: - let - newIndent = "${indent}\t"; - toEntry = n: v: "${n}: ${toRon newIndent v}"; - entriesStr = - if value ? _ronType then - specialType indent value - else if !builtins.isAttrs value then - toRon indent value - else - let - entries = mapAttrsToList toEntry value; - entriesStrSpace = concatStringsSep ", " entries; - entriesStrNl = "\n${newIndent}${concatStringsSep ",\n${newIndent}" entries}\n${indent}"; - in - if stringLength (indent + entriesStrSpace) < 120 then entriesStrSpace else entriesStrNl; - in - if stringLength name == 0 then "(${entriesStr})" else "${name} (${entriesStr})"; - - toFile = value: ''${concatMapStrings (x: "${x}\n") extensions}${toRon "" value}''; -in -{ - type = - let - valueType = - types.nullOr ( - types.oneOf [ - types.bool - types.int - types.float - types.str - (types.attrsOf valueType) - (types.listOf valueType) - ] - ) - // { - description = "RON value"; - }; - in - valueType; - - lib = - let - mkType = typeName: value: { - inherit value; - _ronType = typeName; - }; - in - rec { - mkLiteral = mkType "literal"; - rawString = mkType "raw_string"; - char = mkType "character"; - some = mkType "optional"; - enum = mkLiteral; - tuple = mkType "tuple"; - struct = name: value: { - inherit value name; - _ronType = "struct"; - }; - - types = { }; - }; - - generate = - name: value: - pkgs.runCommand name - { - value = toFile value; - passAsFile = [ "value" ]; - } - '' - cp "$valuePath" "$out" - ''; -} diff --git a/pkgs/scripts/brightness.nix b/pkgs/scripts/brightness.nix index ab2ccf2..6873df1 100644 --- a/pkgs/scripts/brightness.nix +++ b/pkgs/scripts/brightness.nix @@ -21,8 +21,6 @@ writeShellApplication { --transient \ --hint=string:image-path:"$image" \ --hint=int:value:"$value" \ - --hint="string:wired-tag:indicator" \ - --hint="string:wired-note:brightness" \ --expire-time=1000 \ || true ''; diff --git a/pkgs/scripts/screenshot-screen.nix b/pkgs/scripts/screenshot-screen.nix index b8c2cc4..44615f0 100644 --- a/pkgs/scripts/screenshot-screen.nix +++ b/pkgs/scripts/screenshot-screen.nix @@ -19,7 +19,6 @@ writeShellApplication { grimblast --freeze save screen "$out" || exit 2 notify-send \ "📷 Screenshot captured" "💾 Saved to $out" \ - --hint="string:wired-tag:screenshot-$date" \ || true ''; } diff --git a/pkgs/scripts/volume.nix b/pkgs/scripts/volume.nix index ec84d3d..192df52 100644 --- a/pkgs/scripts/volume.nix +++ b/pkgs/scripts/volume.nix @@ -27,10 +27,8 @@ writeShellApplication { fi if [[ "$value" -gt 100 ]]; then - note=volume-overdrive indicator_value=$((value - 100)) else - note=volume indicator_value="$value" fi @@ -39,8 +37,6 @@ writeShellApplication { --transient \ --hint=string:image-path:"$image" \ --hint=int:value:"$indicator_value" \ - --hint="string:wired-tag:indicator" \ - --hint="string:wired-note:$note" \ --expire-time=1000 \ || true ''; diff --git a/users/myuser/graphical/Base16Kvantum/Base16Kvantum.kvconfig b/users/myuser/graphical/Base16Kvantum/Base16Kvantum.kvconfig deleted file mode 100644 index 63aecf4..0000000 --- a/users/myuser/graphical/Base16Kvantum/Base16Kvantum.kvconfig +++ /dev/null @@ -1,568 +0,0 @@ -[%General] -author=KvBase16 by oddlama based on KvLibadwaita Dark by Vince Liuice, based on KvAdapta by Tsu Jan -comment=An base16 theme based on KvLibadwaita -x11drag=menubar_and_primary_toolbar -alt_mnemonic=true -left_tabs=false -attach_active_tab=false -mirror_doc_tabs=false -group_toolbar_buttons=true -toolbar_item_spacing=0 -toolbar_interior_spacing=2 -spread_progressbar=true -composite=true -menu_shadow_depth=16 -spread_menuitems=true -tooltip_shadow_depth=7 -splitter_width=1 -scroll_width=9 -scroll_arrows=false -scroll_min_extent=60 -slider_width=2 -slider_handle_width=23 -slider_handle_length=22 -tickless_slider_handle_size=22 -center_toolbar_handle=true -check_size=24 -textless_progressbar=false -progressbar_thickness=2 -menubar_mouse_tracking=true -toolbutton_style=1 -double_click=false -translucent_windows=false -blurring=false -popup_blurring=false -vertical_spin_indicators=false -spin_button_width=24 -fill_rubberband=false -merge_menubar_with_toolbar=true -small_icon_size=16 -large_icon_size=32 -button_icon_size=16 -toolbar_icon_size=16 -combo_as_lineedit=true -animate_states=true -button_contents_shift=false -combo_menu=true -hide_combo_checkboxes=true -combo_focus_rect=false -groupbox_top_label=true -inline_spin_indicators=true -joined_inactive_tabs=false -layout_spacing=6 -layout_margin=9 -scrollbar_in_view=true -transient_scrollbar=true -transient_groove=true -submenu_overlap=0 -tooltip_delay=0 -tree_branch_line=true -no_window_pattern=false -opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam -reduce_window_opacity=0 -respect_DE=true -scrollable_menu=false -submenu_delay=150 -no_inactiveness=false -reduce_menu_opacity=0 -click_behavior=0 -contrast=1.00 -dialog_button_layout=0 -intensity=1.00 -saturation=1.00 -shadowless_popup=false -drag_from_buttons=false -menu_blur_radius=0 -tooltip_blur_radius=0 - -[GeneralColors] -window.color=#2c2c2c -base.color=#2c2c2c -alt.base.color=#2e2e2e -button.color=#4d4d4d -light.color=#535353 -mid.light.color=#474747 -dark.color=#282828 -mid.color=#323232 -highlight.color=#3584e4 -inactive.highlight.color=#3584e4 -text.color=#dfdfdf -window.text.color=#dfdfdf -button.text.color=#dfdfdf -disabled.text.color=#696969 -tooltip.text.color=#efefef -highlight.text.color=#ffffff -link.color=#0057AE -link.visited.color=#E040FB -progress.indicator.text.color=#dfdfdf - -[Hacks] -transparent_ktitle_label=true -transparent_dolphin_view=true -transparent_pcmanfm_sidepane=true -blur_translucent=false -transparent_menutitle=true -respect_darkness=true -kcapacitybar_as_progressbar=true -force_size_grip=true -iconless_pushbutton=true -iconless_menu=false -disabled_icon_opacity=100 -lxqtmainmenu_iconsize=16 -normal_default_pushbutton=true -single_top_toolbar=true -tint_on_mouseover=0 -transparent_pcmanfm_view=true -no_selection_tint=true -transparent_arrow_button=true -middle_click_scroll=false -opaque_colors=false -kinetic_scrolling=false -scroll_jump_workaround=true -centered_forms=false -noninteger_translucency=false -style_vertical_toolbars=false -blur_only_active_window=true - -[PanelButtonCommand] -frame=true -frame.element=button -frame.top=6 -frame.bottom=6 -frame.left=6 -frame.right=6 -interior=true -interior.element=button -indicator.size=8 -text.normal.color=#dfdfdf -text.focus.color=white -text.press.color=white -text.toggle.color=#ffffff -text.shadow=0 -text.margin=4 -text.iconspacing=4 -indicator.element=arrow -frame.expansion=0 - -[PanelButtonTool] -inherits=PanelButtonCommand -text.normal.color=#dfdfdf -text.focus.color=white -text.press.color=white -text.toggle.color=#ffffff -text.bold=false -indicator.element=arrow -indicator.size=0 -frame.expansion=0 - -[ToolbarButton] -frame=true -frame.element=tbutton -interior.element=tbutton -frame.top=16 -frame.bottom=16 -frame.left=16 -frame.right=16 -indicator.element=tarrow -text.normal.color=#dfdfdf -text.focus.color=white -text.press.color=white -text.toggle.color=white -text.bold=false -frame.expansion=32 - -[Dock] -inherits=PanelButtonCommand -interior.element=dock -frame.element=dock -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=#dfdfdf - -[DockTitle] -inherits=PanelButtonCommand -frame=false -interior=false -text.normal.color=#dfdfdf -text.focus.color=white -text.bold=false - -[IndicatorSpinBox] -inherits=PanelButtonCommand -frame=true -interior=true -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -indicator.element=spin -indicator.size=8 -text.normal.color=#dfdfdf -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 - -[RadioButton] -inherits=PanelButtonCommand -frame=false -interior.element=radio -text.normal.color=#dfdfdf -text.focus.color=white -min_width=+0.3font -min_height=+0.3font - -[CheckBox] -inherits=PanelButtonCommand -frame=false -interior.element=checkbox -text.normal.color=#dfdfdf -text.focus.color=white -min_width=+0.3font -min_height=+0.3font - -[Focus] -inherits=PanelButtonCommand -frame=true -frame.element=focus -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -frame.patternsize=14 - -[GenericFrame] -inherits=PanelButtonCommand -frame=true -interior=false -frame.element=common -interior.element=common -frame.top=1 -frame.bottom=1 -frame.left=1 -frame.right=1 - -[LineEdit] -inherits=PanelButtonCommand -frame.element=lineedit -interior.element=lineedit -frame.top=6 -frame.bottom=6 -frame.left=6 -frame.right=6 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 - -[ToolbarLineEdit] -frame.element=lineedit -interior.element=lineedit - -[DropDownButton] -inherits=PanelButtonCommand -indicator.element=arrow-down - -[IndicatorArrow] -indicator.element=arrow -indicator.size=8 - -[ToolboxTab] -inherits=PanelButtonCommand -text.normal.color=#dfdfdf -text.press.color=#dfdfdf -text.focus.color=white - -[Tab] -inherits=PanelButtonCommand -interior.element=tab -text.margin.left=8 -text.margin.right=8 -text.margin.top=0 -text.margin.bottom=0 -frame.element=tab -indicator.element=tab -indicator.size=22 -frame.top=8 -frame.bottom=8 -frame.left=8 -frame.right=8 -text.normal.color=#dfdfdf -text.focus.color=#dfdfdf -text.press.color=white -text.toggle.color=white -frame.expansion=0 -text.bold=false - -[TabFrame] -inherits=PanelButtonCommand -frame.element=tabframe -interior.element=tabframe -frame.top=24 -frame.bottom=24 -frame.left=24 -frame.right=24 - -[TreeExpander] -inherits=PanelButtonCommand -indicator.size=8 -indicator.element=tree - -[HeaderSection] -inherits=PanelButtonCommand -interior.element=header -frame.element=header -frame.top=0 -frame.bottom=1 -frame.left=1 -frame.right=1 -text.normal.color=#dfdfdf -text.focus.color=white -text.press.color=white -text.toggle.color=white -frame.expansion=0 - -[SizeGrip] -indicator.element=resize-grip - -[Toolbar] -inherits=PanelButtonCommand -indicator.element=toolbar -indicator.size=5 -text.margin=0 -interior.element=menubar -frame.element=menubar -text.normal.color=#dfdfdf -text.focus.color=white -text.press.color=#dfdfdf -text.toggle.color=white -frame.left=6 -frame.right=6 -frame.top=0 -frame.bottom=1 -frame.expansion=0 - -[Slider] -inherits=PanelButtonCommand -frame.element=slider -focusFrame=true -interior.element=slider -frame.top=3 -frame.bottom=3 -frame.left=3 -frame.right=3 - -[SliderCursor] -inherits=PanelButtonCommand -frame=false -interior.element=slidercursor - -[Progressbar] -inherits=PanelButtonCommand -frame.element=progress -interior.element=progress -text.margin=0 -text.normal.color=#dfdfdf -text.focus.color=#dfdfdf -text.press.color=#dfdfdf -text.toggle.color=#dfdfdf -text.bold=false -frame.expansion=8 - -[ProgressbarContents] -inherits=PanelButtonCommand -frame=true -frame.element=progress-pattern -interior.element=progress-pattern - -[ItemView] -inherits=PanelButtonCommand -text.margin=0 -frame.element=itemview -interior.element=itemview -frame.top=4 -frame.bottom=4 -frame.left=4 -frame.right=4 -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=8 -text.margin.right=8 -text.normal.color=#dfdfdf -text.focus.color=#dfdfdf -text.press.color=#ffffff -text.toggle.color=#ffffff -min_width=+0.3font -min_height=+0.3font -frame.expansion=0 - -[Splitter] -interior.element=splitter -frame=false -indicator.size=0 - -[Scrollbar] -inherits=PanelButtonCommand -indicator.element=arrow -indicator.size=12 - -[ScrollbarSlider] -inherits=PanelButtonCommand -frame.element=scrollbarslider -interior=false -frame.left=5 -frame.right=5 -frame.top=5 -frame.bottom=5 -indicator.element=grip -indicator.size=12 - -[ScrollbarGroove] -inherits=PanelButtonCommand -interior=false -frame=false - -[Menu] -inherits=PanelButtonCommand -frame.top=8 -frame.bottom=8 -frame.left=8 -frame.right=8 -frame.element=menu -interior.element=menu -text.normal.color=#dedede -text.shadow=false -text.bold=false - -[MenuItem] -inherits=PanelButtonCommand -frame=true -frame.element=menuitem -interior.element=menuitem -indicator.element=menuitem -text.normal.color=#dedede -text.focus.color=#dedede -text.margin.top=0 -text.margin.bottom=0 -text.margin.left=6 -text.margin.right=6 -frame.top=4 -frame.bottom=4 -frame.left=12 -frame.right=12 -text.bold=false -frame.expansion=0 - -[MenuBar] -inherits=PanelButtonCommand -frame.element=menubar -interior.element=menubar -frame.bottom=0 -text.normal.color=#dfdfdf -text.focus.color=#ffffff -text.press.color=#ffffff -text.toggle.color=#ffffff -frame.expansion=0 -text.bold=false - -[MenuBarItem] -inherits=PanelButtonCommand -interior=true -interior.element=menubaritem -frame.element=menubaritem -frame.top=2 -frame.bottom=2 -frame.left=2 -frame.right=2 -text.margin.left=4 -text.margin.right=4 -text.margin.top=0 -text.margin.bottom=0 -text.normal.color=#dfdfdf -text.focus.color=#ffffff -text.press.color=#ffffff -text.toggle.color=#ffffff -text.bold=false -min_width=+0.3font -min_height=+0.3font -frame.expansion=0 - -[TitleBar] -inherits=PanelButtonCommand -frame=false -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -interior.element=titlebar -indicator.size=16 -indicator.element=mdi -text.normal.color=#787878 -text.focus.color=#dfdfdf -text.bold=false -text.italic=true -frame.expansion=0 - -[ComboBox] -inherits=PanelButtonCommand -frame.element=combo -interior.element=combo -frame.top=6 -frame.bottom=6 -frame.left=6 -frame.right=6 -text.margin.top=2 -text.margin.bottom=2 -text.margin.left=2 -text.margin.right=2 -text.focus.color=white -text.press.color=#dfdfdf -text.toggle.color=white - -[GroupBox] -inherits=GenericFrame -frame=false -text.shadow=0 -text.margin=0 -text.normal.color=#dfdfdf -text.focus.color=white -text.bold=false -frame.expansion=0 - -[TabBarFrame] -inherits=GenericFrame -frame=false -frame.element=tabBarFrame -interior=false -frame.top=0 -frame.bottom=0 -frame.left=0 -frame.right=0 - -[ToolTip] -inherits=GenericFrame -frame.top=6 -frame.bottom=6 -frame.left=6 -frame.right=6 -interior=true -text.shadow=0 -text.margin=6 -interior.element=tooltip -frame.element=tooltip -frame.expansion=6 - -[StatusBar] -inherits=GenericFrame -frame=false -interior=false - -[Window] -interior=true -interior.element=window -frame=true -frame.element=window -frame.bottom=10 -frame.top=10 diff --git a/users/myuser/graphical/Base16Kvantum/Base16Kvantum.svg b/users/myuser/graphical/Base16Kvantum/Base16Kvantum.svg deleted file mode 100644 index e03d8f8..0000000 --- a/users/myuser/graphical/Base16Kvantum/Base16Kvantum.svg +++ /dev/null @@ -1,6814 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/users/myuser/graphical/default.nix b/users/myuser/graphical/default.nix index dbdf319..af5fb3a 100644 --- a/users/myuser/graphical/default.nix +++ b/users/myuser/graphical/default.nix @@ -18,7 +18,6 @@ # X11 ./i3.nix ./flameshot.nix - ./wired-notify.nix # Wayland ./gpu-screen-recorder.nix @@ -27,7 +26,6 @@ ./sway.nix ./swaync.nix ./waybar.nix - ./whisper-overlay.nix ] ++ lib.optionals nixosConfig.graphical.gaming.enable [ ./games diff --git a/users/myuser/graphical/flameshot.nix b/users/myuser/graphical/flameshot.nix index 14d3068..0098e9c 100644 --- a/users/myuser/graphical/flameshot.nix +++ b/users/myuser/graphical/flameshot.nix @@ -5,7 +5,7 @@ ... }: let - colors = config.lib.stylix.colors.withHashtag; + colors = config.lib.colors.withHashtag; in { xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini { }).generate "flameshot.ini" { diff --git a/users/myuser/graphical/fuzzel.nix b/users/myuser/graphical/fuzzel.nix index 37cdf22..12f42be 100644 --- a/users/myuser/graphical/fuzzel.nix +++ b/users/myuser/graphical/fuzzel.nix @@ -1,12 +1,26 @@ +{ config, ... }: { home.persistence."/state".files = [ ".cache/fuzzel" ]; - stylix.targets.fuzzel.enable = true; programs.fuzzel = { enable = true; + settings.colors = with config.lib.colors.hex; { + background = "${base00}ff"; + text = "${base05}ff"; + placeholder = "${base03}ff"; + prompt = "${base05}ff"; + input = "${base05}ff"; + match = "${base0A}ff"; + selection = "${base03}ff"; + selection-text = "${base05}ff"; + selection-match = "${base0A}ff"; + counter = "${base06}ff"; + border = "${base0D}ff"; + }; settings.main = { + font = "Segoe UI:size=20"; launch-prefix = "uwsm app --"; }; }; diff --git a/users/myuser/graphical/i3.nix b/users/myuser/graphical/i3.nix index ed37e15..c379c61 100644 --- a/users/myuser/graphical/i3.nix +++ b/users/myuser/graphical/i3.nix @@ -238,7 +238,6 @@ in }; systemd.user.services = { - wired.Install.WantedBy = lib.mkForce [ "i3-session.target" ]; flameshot.Install.WantedBy = lib.mkForce [ "i3-session.target" ]; }; diff --git a/users/myuser/graphical/kitty.nix b/users/myuser/graphical/kitty.nix index f5d8f0f..1ede87f 100644 --- a/users/myuser/graphical/kitty.nix +++ b/users/myuser/graphical/kitty.nix @@ -1,6 +1,4 @@ { - config, - lib, pkgs, ... }: @@ -8,13 +6,18 @@ home.sessionVariables = { TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; }; - stylix.targets.kitty.enable = true; + programs.kitty = { enable = true; + font = { + package = pkgs.jetbrains-mono; + name = "JetBrains Mono"; + size = 20; + }; settings = { - bold_font = "${config.programs.kitty.font.name} Bold"; - italic_font = "${config.programs.kitty.font.name} Italic"; - bold_italic_font = "${config.programs.kitty.font.name} Bold Italic"; + bold_font = "JetBrains Mono Bold"; + italic_font = "JetBrains Mono Italic"; + bold_italic_font = "JetBrains Mono Bold Italic"; # Add nerd font symbol map. Not sure why it is suddenly needed since 0.32.0 (https://github.com/kovidgoyal/kitty/issues/7081) symbol_map = "U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A2,U+E0A3,U+E0B0-U+E0B3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6B1,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F372,U+F400-U+F532,U+F500-U+FD46,U+F0001-U+F1AF0 Symbols Nerd Font Mono"; @@ -73,10 +76,8 @@ "ctrl+shift+," = "change_font_size all +2.0"; "ctrl+shift+w" = "no_op"; }; - # XXX: mkForce to prevent stylix from appending theme. - # Fix this by making a correct theme that can be used. - # TODO aaaaaaaaaa - extraConfig = lib.mkForce '' + + extraConfig = '' # Use nvim as scrollback pager scrollback_pager nvim -u NONE -c "set nonumber nolist showtabline=0 foldcolumn=0 laststatus=0" -c "autocmd TermOpen * normal G" -c "silent write! /tmp/kitty_scrollback_buffer | te head -c-1 /tmp/kitty_scrollback_buffer; rm /tmp/kitty_scrollback_buffer; cat" ''; diff --git a/users/myuser/graphical/swaync.nix b/users/myuser/graphical/swaync.nix index 3602df8..eacb9f6 100644 --- a/users/myuser/graphical/swaync.nix +++ b/users/myuser/graphical/swaync.nix @@ -66,7 +66,7 @@ }; style = lib.concatLines ( - map (c: "@define-color ${c} ${config.lib.stylix.colors.withHashtag.${c}};") [ + map (c: "@define-color ${c} ${config.lib.colors.withHashtag.${c}};") [ "base00" "base01" "base02" diff --git a/users/myuser/graphical/test_notifications.sh b/users/myuser/graphical/test_notifications.sh deleted file mode 100755 index 0a09108..0000000 --- a/users/myuser/graphical/test_notifications.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env bash - -short_summary=("Short summary") -long_summary=("Long summary, it will be truncated because it is really really long") - -short_body=("Short body.") -long_body=("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.") - -app_discord=( - "--app-name=Discord" - "--icon=/run/current-system/etc/profiles/per-user/$USER/share/pixmaps/discord.png" -) - -image_1=("--hint=string:image-path:$HOME/Downloads/img.jpg") - -urgency_low=("--urgency=low") -urgency_normal=("--urgency=normal") -urgency_critical=("--urgency=critical") - -slider_0=("-h" "int:value:0") -slider_25=("-h" "int:value:25") -slider_100=("-h" "int:value:100") - -actions_yes_no=("-A" "yes" "-A" "no") -actions_5=("-A" "yes" "-A" "no" "-A" "maybe" "-A" "cancel" "-A" "very long name is truncated") - -function show() { - args=() - while [[ $# -gt 0 ]]; do - if [[ -v "$1" ]]; then - x="$1[@]" - args+=("${!x}") - else - args+=("$1") - fi - shift - done - notify-send "${args[@]}" -} - -show short_summary -show long_summary -show long_summary long_body - -show "Low urgency" short_body urgency_low -show "Normal urgency" short_body urgency_normal -show "Critical urgency" short_body urgency_critical - -show "With app icon and name" app_discord -show "With app icon and name" long_body app_discord - -show "With image" short_body image_1 -show "With image and body" long_body image_1 - -show "With progress" slider_0 -show "With progress" slider_25 -show "With progress and body" short_body slider_100 - -show "With buttons" actions_yes_no -show "With buttons and body" long_body actions_5 - -show "With everything" long_body app_discord image_1 slider_25 actions_5 - -show "Volume" --hint=string:image-path:$HOME/Downloads/Speaker_Icon.svg \ - -h int:value:69 \ - -h "string:wired-tag:indicator" \ - -h "string:wired-note:volume" - -sleep 5 - -show "Brightness" --hint=string:image-path:$HOME/Downloads/brightness.svg \ - -h int:value:69 \ - -h "string:wired-tag:indicator" \ - -h "string:wired-note:brightness" - -#for summary in \ -# "Short summary" \ -# "Long summary, it will be truncated because it is really really long" \ -#; do -# -#for body in \ -# "Short body." \ -# "$lorem" \ -#; do -# -#for app in \ -# "empty[@]" \ -# "app_discord[@]" \ -#; do -# -#for image in \ -# "empty[@]" \ -# "image_1[@]" \ -#; do -# -#for urgency in \ -# "urgency_low[@]" \ -# "urgency_normal[@]" \ -# "urgency_critical[@]" \ -#; do -# -#for progress in \ -# "empty[@]" \ -# "slider_0[@]" \ -# "slider_25[@]" \ -# "slider_100[@]" \ -#; do -# -#for action in \ -# "empty[@]" \ -#; do -# #"actions_yes_no[@]" \ -# #"actions_5[@]" \ -# -#notify-send "$summary" "$body" \ -# "${!app}" \ -# "${!image}" \ -# "${!progress}" \ -# "${!action}" \ -# "${!urgency}" \ -# ; -# -#done -#done -#done -#done -#done -#done -#done diff --git a/users/myuser/graphical/theme.nix b/users/myuser/graphical/theme.nix index b47b46c..b43bdca 100644 --- a/users/myuser/graphical/theme.nix +++ b/users/myuser/graphical/theme.nix @@ -1,6 +1,6 @@ { config, - nixosConfig, + lib, pkgs, ... }: @@ -35,6 +35,17 @@ package = pkgs.whitesur-icon-theme; }; + font = { + package = pkgs.segoe-ui-ttf; + name = "Segoe UI"; + size = 10; + }; + + theme = { + package = pkgs.adw-gtk3; + name = "adw-gtk3"; + }; + gtk2.extraConfig = "gtk-application-prefer-dark-theme = true"; gtk3.extraConfig = gtk34extraConfig; gtk4.extraConfig = gtk34extraConfig; @@ -44,21 +55,36 @@ qt = { enable = true; - style.name = "kvantum"; - platformTheme.name = "qtct"; + platformTheme.name = "gtk3"; }; - xdg.configFile."Kvantum/kvantum.kvconfig".text = "theme=Base16Kvantum"; - xdg.configFile."Kvantum/Base16Kvantum".source = ./Base16Kvantum; + home.pointerCursor = { + name = "Bibata-Modern-Ice"; + size = 20; + package = pkgs.bibata-cursors; + x11.enable = true; + gtk.enable = true; + }; - stylix = { - inherit (nixosConfig.stylix) polarity base16Scheme; - targets.gtk.enable = true; - - cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 20; + lib.colors = rec { + withHashtag = lib.mapAttrs (_: v: "#${v}") hex; + hex = { + base00 = "101419"; + base01 = "171b20"; + base02 = "21262e"; + base03 = "242931"; + base04 = "485263"; + base05 = "b6beca"; + base06 = "dee1e6"; + base07 = "e3e6eb"; + base08 = "e05f65"; + base09 = "f9a872"; + base0A = "f1cf8a"; + base0B = "78dba9"; + base0C = "74bee9"; + base0D = "70a5eb"; + base0E = "c68aee"; + base0F = "9378de"; }; }; } diff --git a/users/myuser/graphical/waybar.nix b/users/myuser/graphical/waybar.nix index f6ffbb0..eda1231 100644 --- a/users/myuser/graphical/waybar.nix +++ b/users/myuser/graphical/waybar.nix @@ -90,35 +90,6 @@ escape = true; }; - #"custom/whisper_overlay" = { - # tooltip = true; - # format = "{icon}"; - # format-icons = { - # disconnected = ""; - # connected = ""; - # connected-active = ""; - # }; - # return-type = "json"; - # exec = "${lib.getExe pkgs.whisper-overlay} waybar-status"; - # on-click-right = lib.getExe (pkgs.writeShellApplication { - # name = "toggle-realtime-stt-server"; - # runtimeInputs = [ - # pkgs.systemd - # pkgs.libnotify - # ]; - # text = '' - # if systemctl --user is-active --quiet realtime-stt-server; then - # systemctl --user stop realtime-stt-server.service - # notify-send "Stopped realtime-stt-server" "⛔ Stopped" --transient || true - # else - # systemctl --user start realtime-stt-server.service - # notify-send "Started realtime-stt-server" "✅ Started" --transient || true - # fi - # ''; - # }); - # escape = true; - #}; - battery = { interval = 2; format = "{icon} {capacity}%"; diff --git a/users/myuser/graphical/whisper-overlay.nix b/users/myuser/graphical/whisper-overlay.nix deleted file mode 100644 index 6de91ba..0000000 --- a/users/myuser/graphical/whisper-overlay.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - home.persistence."/state".directories = [ - ".local/state/realtime-stt-server" - ]; - - #services.realtime-stt-server.enable = true; -} diff --git a/users/myuser/graphical/wired-notify.nix b/users/myuser/graphical/wired-notify.nix deleted file mode 100644 index acb2d25..0000000 --- a/users/myuser/graphical/wired-notify.nix +++ /dev/null @@ -1,666 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -{ - systemd.user.services.wired.Unit.ConditionEnvironment = "DISPLAY"; - services.wired = { - enable = true; - config = - let - inherit (builtins) floor; - - format = pkgs.formats.ron { }; - inherit (format.lib) mkLiteral struct; - - colors = lib.mapAttrs (_: Color) config.lib.stylix.colors.withHashtag; - inherit (config.stylix) fonts; - - # A global scaling factor to apply to all notifications. - globalScale = 1.2; - - # Ron format shorthands and helpers - unnamedStruct = struct ""; - Color = hex: struct "Color" { inherit hex; }; - Hook = struct "Hook"; - Vec2 = x: y: struct "Vec2" { inherit x y; }; - ShortcutsConfig = struct "ShortcutsConfig"; - And = struct "And"; - Or = struct "Or"; - Not = struct "Not"; - - mkVec2 = x: y: Vec2 (globalScale * x) (globalScale * y); - - mkHook = - parent_anchor: self_anchor: - Hook { - parent_anchor = mkLiteral parent_anchor; - self_anchor = mkLiteral self_anchor; - }; - - mkPaddingLrBt = - left: right: bottom: top: - struct "Padding" { - left = globalScale * left; - right = globalScale * right; - bottom = globalScale * bottom; - top = globalScale * top; - }; - - mkDimensionsWH = - minw: maxw: minh: maxh: - unnamedStruct { - width = unnamedStruct { - min = floor (globalScale * minw); - max = floor (globalScale * maxw); - }; - height = unnamedStruct { - min = floor (globalScale * minh); - max = floor (globalScale * maxh); - }; - }; - - mkTopBar = - name: extra: - map (x: extra // x) [ - { - name = "${name}_app_image"; - parent = "${name}_root"; - hook = mkHook "TL" "TL"; - offset = mkVec2 0 0; - params = struct "ImageBlock" (unnamedStruct { - filter_mode = mkLiteral "Lanczos3"; - image_type = mkLiteral "App"; - min_height = floor (globalScale * 24); - min_width = floor (globalScale * 24); - padding = mkPaddingLrBt 16 (-8) 6 12; - rounding = globalScale * 12.0; - scale_height = floor (globalScale * 24); - scale_width = floor (globalScale * 24); - }); - } - { - name = "${name}_app_name"; - parent = "${name}_app_image"; - hook = mkHook "TR" "TL"; - offset = mkVec2 0 0; - params = struct "TextBlock" (unnamedStruct { - color = colors.base05; - dimensions = mkDimensionsWH 350 350 28 28; - ellipsize = mkLiteral "End"; - font = "${fonts.monospace.name} ${toString (globalScale * 14)}"; - padding = mkPaddingLrBt 16 0 0 12; - text = "%n"; - }); - } - ]; - - mkBody = - name: ident: yOffset: summaryRightPadding: extra: - let - maxWFull = 580 - 12; - maxWImg = maxWFull - 128 - 12; - in - map (x: extra // x) ( - [ - { - name = "${name}_${ident}_hint"; - parent = "${name}_root"; - hook = mkHook "TL" "TL"; - offset = mkVec2 0 yOffset; - params = struct "ImageBlock" (unnamedStruct { - filter_mode = mkLiteral "Lanczos3"; - image_type = mkLiteral "Hint"; - padding = mkPaddingLrBt 12 0 12 12; - rounding = globalScale * 9; - scale_height = floor (globalScale * 128); - scale_width = floor (globalScale * 128); - }); - } - { - name = "${name}_${ident}_summary"; - parent = "${name}_${ident}_hint"; - hook = mkHook "TR" "TL"; - offset = mkVec2 0 0; - params = struct "TextBlock" (unnamedStruct { - text = "%s"; - font = "${fonts.sansSerif.name} Bold ${toString (globalScale * 16)}"; - ellipsize = mkLiteral "End"; - color = colors.base06; - padding = mkPaddingLrBt 16 16 12 8; - dimensions = mkDimensionsWH (maxWFull - summaryRightPadding) (maxWFull - summaryRightPadding) 0 30; - dimensions_image_hint = mkDimensionsWH (maxWImg - summaryRightPadding) ( - maxWImg - summaryRightPadding - ) 0 30; - dimensions_image_both = mkDimensionsWH (maxWImg - summaryRightPadding) ( - maxWImg - summaryRightPadding - ) 0 30; - }); - } - { - name = "${name}_${ident}_body"; - parent = "${name}_${ident}_summary"; - hook = mkHook "BL" "TL"; - offset = mkVec2 0 0; - render_criteria = [ - (And [ - (Or extra.render_criteria) - (mkLiteral "Body") - ]) - ]; - params = struct "TextBlock" (unnamedStruct { - text = "%b"; - font = "${fonts.sansSerif.name} ${toString (globalScale * 16)}"; - ellipsize = mkLiteral "End"; - color = colors.base06; - padding = mkPaddingLrBt 16 16 12 (-4); - dimensions = mkDimensionsWH maxWFull maxWFull 0 88; - dimensions_image_hint = mkDimensionsWH maxWImg maxWImg 0 88; - dimensions_image_both = mkDimensionsWH maxWImg maxWImg 0 88; - }); - } - ] - # We unfortunately cannot move these out of mkBody, because the depend - # on the specific name for the parent, which cannot be changed dynamically. - # So each call to mkBody creates these progress bars which only differ in - # their parent :/ - ++ (mkProgress name "${ident}_hint" (-4) { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (mkLiteral "Progress") - (mkLiteral "HintImage") - ] - )) - ]; - }) - ++ (mkProgress name "${ident}_body" 0 { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (mkLiteral "Progress") - (mkLiteral "Body") - (Not (mkLiteral "HintImage")) - ] - )) - ]; - }) - ++ (mkProgress name "${ident}_summary" 0 { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (mkLiteral "Progress") - (mkLiteral "Summary") - (Not (Or [ - (mkLiteral "Body") - (mkLiteral "HintImage") - ])) - ] - )) - ]; - }) - # Each mkProgress includes a button bar. But if no progress is included in a notification, - # those won't be rendered, so we have to define bars for non-progress notifications. - # (And yes, we need 3 because we cannot have duplicate names or dynamic parents) - ++ (mkButtonBar name "${ident}_hint" { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (Not (mkLiteral "Progress")) - (mkLiteral "HintImage") - ] - )) - ]; - }) - ++ (mkButtonBar name "${ident}_body" { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (Not (mkLiteral "Progress")) - (mkLiteral "Body") - (Not (mkLiteral "HintImage")) - ] - )) - ]; - }) - ++ (mkButtonBar name "${ident}_summary" { - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (Not (mkLiteral "Progress")) - (mkLiteral "Summary") - (Not (Or [ - (mkLiteral "Body") - (mkLiteral "HintImage") - ])) - ] - )) - ]; - }) - ); - - mkProgress = - name: parent: yOffset: extra: - map (x: extra // x) ( - [ - { - name = "${name}_progress_${parent}_text"; - parent = "${name}_${parent}"; - hook = mkHook "BL" "TL"; - offset = mkVec2 0 0; - params = struct "TextBlock" (unnamedStruct { - text = "%p%"; - font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}"; - align = mkLiteral "Right"; - ellipsize = mkLiteral "End"; - color = colors.base06; - padding = mkPaddingLrBt 12 16 12 yOffset; - dimensions = mkDimensionsWH 48 48 24 24; - }); - } - { - name = "${name}_progress_${parent}_bar"; - parent = "${name}_${parent}"; - hook = mkHook "BL" "TL"; - offset = mkVec2 0 0; - params = struct "ProgressBlock" (unnamedStruct { - width = globalScale * 524; - height = globalScale * 12; - border_width = 0.0; - border_rounding = globalScale * 4; - border_color = colors.base03; - background_color = colors.base03; - fill_color = colors.base0D; - fill_rounding = globalScale * 4; - padding = mkPaddingLrBt 68 16 12 (yOffset + 8); - }); - } - ] - ++ (mkButtonBar name "progress_${parent}_text" extra) - ); - - mkButtonBar = - name: parent: extra: - map (x: extra // x) ( - lib.flatten [ - { - name = "${name}_button_bar_for_${parent}"; - parent = "${name}_${parent}"; - hook = mkHook "BL" "TL"; - offset = mkVec2 0 0; - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (Or [ - (struct "ActionOther" 0) - (struct "ActionOther" 1) - (struct "ActionOther" 2) - (struct "ActionOther" 3) - (struct "ActionOther" 4) - (struct "ActionOther" 5) - ]) - ] - )) - ]; - params = struct "TextBlock" (unnamedStruct { - text = ""; - font = "${fonts.monospace.name} 1"; - color = colors.base06; - padding = mkPaddingLrBt 0 0 0 0; - dimensions = mkDimensionsWH 568 568 44 44; - }); - } - (lib.flip map - [ - 0 - 1 - 2 - 3 - 4 - 5 - ] - ( - i: - lib.optionalAttrs (i == 0) { - parent = "${name}_button_bar_for_${parent}"; - hook = mkHook "TL" "TL"; - offset = mkVec2 16 0; - } - // lib.optionalAttrs (i != 0) { - parent = "${name}_action_${toString (i - 1)}_for_${parent}"; - hook = mkHook "TR" "TL"; - offset = mkVec2 8 0; - } - // { - name = "${name}_action_${toString i}_for_${parent}"; - render_criteria = [ - (And ( - extra.render_criteria - ++ [ - (struct "ActionOther" i) - ] - )) - ]; - params = struct "ButtonBlock" (unnamedStruct { - text = "%a"; - font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}"; - ellipsize = mkLiteral "End"; - action = struct "OtherAction" i; - text_color = colors.base06; - text_color_hovered = colors.base06; - background_color = colors.base01; - background_color_hovered = colors.base02; - border_color = colors.base04; - border_color_hovered = colors.base0F; - border_rounding = globalScale * 0; - border_width = globalScale * 2; - padding = mkPaddingLrBt 8 8 4 4; - # Technically distribute like below, but we'll just allow more even - # if it breaks when having > 4 max length buttons, because it probably - # never happens and looks a lot better this way. - dimensions = mkDimensionsWH 32 144 24 24; - # dimensions = mkDimensionsWH 32 (( - # 568 /* available width */ - # - 2 * 16 /* padding lr */ - # - (/* count actions */ 6 - 1) * 8 /* padding between */ - # ) / /* count actions */ 6) 24 24; - }); - } - ) - ) - ] - ); - - mkIndicatorValue = - name: ident: parent: extra: textParamsExtra: progressParamsExtra: - map (x: extra // x) ( - lib.flatten [ - { - name = "${name}_${ident}_value_text"; - parent = "${name}_${parent}"; - hook = mkHook "BM" "TM"; - offset = mkVec2 0 0; - params = struct "TextBlock" ( - unnamedStruct ( - { - text = "%p%"; - font = "${fonts.monospace.name} Bold ${toString (globalScale * 18)}"; - align = mkLiteral "Center"; - color = colors.base06; - padding = mkPaddingLrBt 0 0 12 0; - dimensions = mkDimensionsWH 64 64 32 32; - } - // textParamsExtra - ) - ); - } - { - name = "${name}_${ident}_value_bar"; - parent = "${name}_${ident}_value_text"; - hook = mkHook "BM" "TM"; - offset = mkVec2 0 0; - params = struct "ProgressBlock" ( - unnamedStruct ( - { - width = globalScale * 0.9 * 384; - height = globalScale * 16; - border_width = 0.0; - border_rounding = globalScale * 6; - border_color = colors.base03; - background_color = colors.base03; - fill_color = colors.base0F; - fill_rounding = globalScale * 6; - padding = mkPaddingLrBt 0 0 0 0; - } - // progressParamsExtra - ) - ); - } - ] - ); - in - format.generate "wired.ron" (unnamedStruct { - max_notifications = 10; - timeout = 10000; - poll_interval = 6; # 6ms ~= 166hz. - history_length = 60; - replacing_enabled = true; - replacing_resets_timeout = true; - min_window_width = floor (globalScale * 20); - min_window_height = floor (globalScale * 20); - debug = false; - - # https://github.com/Toqozz/wired-notify/wiki/Shortcuts - shortcuts = ShortcutsConfig { - notification_interact = 1; # left click - notification_pause = 1; - notification_close = 2; # right click - notification_action1 = 3; # middle click - }; - - layout_blocks = - let - criterionHasTopBar = And [ - (mkLiteral "AppImage") - (Not (Or [ - (struct "AppName" "") - (struct "AppName" "notify-send") - ])) - ]; - in - map unnamedStruct ( - lib.flatten [ - # Root block for normal notifications - { - name = "general_root"; - parent = ""; - hook = mkHook "TR" "TR"; - offset = Vec2 (-50) 50; # Vec2 instead of mkVec2 to not apply scaling. - render_criteria = [ - (Not (Or [ - (struct "Tag" "indicator") - ])) - ]; - params = struct "NotificationBlock" (unnamedStruct { - monitor = 1; - border_width = globalScale * 2; - border_rounding = globalScale * 0; - background_color = colors.base00; - border_color = colors.base04; - border_color_low = colors.base04; - border_color_critical = colors.base08; - border_color_paused = colors.base09; - gap = mkVec2 0 8; - notification_hook = mkHook "BR" "TR"; - }); - } - # Dummy text that enforces minimum window size - { - name = "general_size"; - parent = "general_root"; - hook = mkHook "TL" "TL"; - offset = Vec2 0 0; - params = struct "TextBlock" (unnamedStruct { - text = ""; - font = "${fonts.monospace.name} 1"; - color = colors.base06; - padding = mkPaddingLrBt 0 0 0 0; - dimensions = mkDimensionsWH 600 600 1 1; - }); - } - # Time is always shown in the top right corner. - { - name = "general_time"; - parent = "general_root"; - hook = mkHook "TL" "TL"; - offset = mkVec2 (600 - 100) 0; - params = struct "TextBlock" (unnamedStruct { - color = colors.base05; - dimensions = mkDimensionsWH 100 100 28 28; - ellipsize = mkLiteral "End"; - font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}"; - padding = mkPaddingLrBt 0 16 4 12; - text = "%t(%a %H:%M)"; - }); - } - # Top bar for app image, name and time, but only - # if there is an app name or image. - (mkTopBar "general" { - render_criteria = [ criterionHasTopBar ]; - }) - # if no top bar present: A body with no offset and a summary padding to the right (to not overlay the time) - (mkBody "general" "notop" 0 (16 + 100) { - render_criteria = [ (Not criterionHasTopBar) ]; - }) - # if top bar present: A body with matching y offset and no summary padding to the right - (mkBody "general" "withtop" 36 0 { - render_criteria = [ criterionHasTopBar ]; - }) - - # Root block for brightness/volume indicators - { - name = "indicator_root"; - parent = ""; - hook = mkHook "MM" "MM"; - offset = Vec2 0 0; # Vec2 instead of mkVec2 to not apply scaling. - render_criteria = [ - (And [ - (struct "Tag" "indicator") - ]) - ]; - params = struct "NotificationBlock" (unnamedStruct { - monitor = 1; - border_width = globalScale * 2; - border_rounding = globalScale * 0; - background_color = colors.base00; - border_color = colors.base04; - border_color_low = colors.base04; - border_color_critical = colors.base08; - border_color_paused = colors.base09; - gap = mkVec2 0 0; - notification_hook = mkHook "MM" "MM"; - }); - } - # Dummy text that enforces minimum window size - { - name = "indicator_size"; - parent = "indicator_root"; - hook = mkHook "TL" "TL"; - offset = Vec2 0 0; - params = struct "TextBlock" (unnamedStruct { - text = ""; - font = "${fonts.monospace.name} 1"; - color = colors.base06; - padding = mkPaddingLrBt 0 0 0 0; - dimensions = mkDimensionsWH 384 384 384 384; - }); - } - { - name = "indicator_summary"; - parent = "indicator_size"; - hook = mkHook "TM" "TM"; - offset = mkVec2 0 0; - params = struct "TextBlock" (unnamedStruct { - text = "%s"; - font = "${fonts.sansSerif.name} Bold ${toString (globalScale * 18)}"; - align = mkLiteral "Center"; - color = colors.base06; - padding = mkPaddingLrBt 0 0 8 8; - dimensions = mkDimensionsWH 300 300 32 32; - }); - } - { - name = "indicator_hint"; - parent = "indicator_summary"; - hook = mkHook "BM" "TM"; - offset = mkVec2 0 0; - params = struct "ImageBlock" (unnamedStruct { - filter_mode = mkLiteral "Lanczos3"; - image_type = mkLiteral "Hint"; - min_height = floor (globalScale * 180); - min_width = floor (globalScale * 180); - padding = mkPaddingLrBt 0 0 (35 + 8) 35; - rounding = globalScale * 9; - scale_height = floor (globalScale * 180); - scale_width = floor (globalScale * 180); - }); - } - (mkIndicatorValue "indicator" "anything" "hint" - { - render_criteria = [ - (Not (Or [ - (struct "Note" "brightness") - (struct "Note" "volume") - (struct "Note" "volume-overdrive") - ])) - ]; - } - # text extra - { } - # progress extra - { } - ) - (mkIndicatorValue "indicator" "brightness" "hint" - { - render_criteria = [ - (And [ - (struct "Note" "brightness") - ]) - ]; - } - # text extra - { } - # progress extra - { - fill_color = colors.base0A; - } - ) - (mkIndicatorValue "indicator" "volume" "hint" - { - render_criteria = [ - (And [ - (struct "Note" "volume") - ]) - ]; - } - # text extra - { - text = "%b"; - } - # progress extra - { - fill_color = colors.base0B; - } - ) - (mkIndicatorValue "indicator" "volume_overdrive" "hint" - { - render_criteria = [ - (And [ - (struct "Note" "volume-overdrive") - ]) - ]; - } - # text extra - { - text = "%b"; - } - # progress extra - { - background_color = colors.base0B; - fill_color = colors.base0A; - } - ) - ] - ); - }); - }; -}