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; - } - ) - ] - ); - }); - }; -}