From a478599e8452db8dfbd374e0d3e16550f659fb6c Mon Sep 17 00:00:00 2001 From: autumn-the-kitty-cat Date: Sat, 23 May 2026 12:57:54 -0400 Subject: [PATCH] feat: awww -> wawa, easier stylix theming, update flake.lock, refactor home/pc/common/programs/eww/, remove havoc and waybar, config.stylix.base16Scheme.palette -> config.lib.stylix.colors, style neovim and river with stylix --- flake.lock | 90 ++++++------ home/pc/common/programs/eww/default.nix | 8 +- home/pc/common/programs/eww/eww-bar/eww.scss | 48 ------ home/pc/common/programs/eww/eww-bar/eww.yuck | 75 ---------- .../programs/eww/eww-bar/scripts/getvol | 3 - home/pc/common/programs/havoc.nix | 57 -------- home/pc/common/programs/nvim/config.lua | 3 + home/pc/common/programs/nvim/default.nix | 10 +- home/pc/common/programs/rofi/theme.nix | 2 +- home/pc/common/programs/tcsh.nix | 3 + home/pc/common/programs/vesktop.nix | 2 +- home/pc/common/programs/waybar.nix | 137 ------------------ home/pc/common/programs/zathura.nix | 2 +- home/pc/common/programs/zen.nix | 11 +- home/pc/common/river/default.nix | 22 ++- home/pc/common/river/init.sh | 11 +- home/pc/common/river/wawa.nix | 28 ++++ host/pc/common/stylix.nix | 98 ++++++------- 18 files changed, 172 insertions(+), 438 deletions(-) delete mode 100644 home/pc/common/programs/eww/eww-bar/eww.scss delete mode 100644 home/pc/common/programs/eww/eww-bar/eww.yuck delete mode 100755 home/pc/common/programs/eww/eww-bar/scripts/getvol delete mode 100644 home/pc/common/programs/havoc.nix delete mode 100644 home/pc/common/programs/waybar.nix create mode 100644 home/pc/common/river/wawa.nix diff --git a/flake.lock b/flake.lock index 9811471..7993a0f 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1760703920, - "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", + "lastModified": 1776754714, + "narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "d646af9b7d14bff08824538164af99d0c521b185", + "rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581", "type": "github" }, "original": { @@ -89,11 +89,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1775176642, - "narHash": "sha256-2veEED0Fg7Fsh81tvVDNYR6SzjqQxa7hbi18Jv4LWpM=", + "lastModified": 1776136500, + "narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "179704030c5286c729b5b0522037d1d51341022c", + "rev": "0f8ba203d475587f477e7ae12661bd8459e225b7", "type": "github" }, "original": { @@ -126,11 +126,11 @@ ] }, "locked": { - "lastModified": 1775087534, - "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -256,11 +256,11 @@ ] }, "locked": { - "lastModified": 1777151655, - "narHash": "sha256-Th3a5OZyEy4kCoyLfefnt+2dwRIrFQqYgMsayF9qzFw=", + "lastModified": 1779507042, + "narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "6f59831b23d03bbf4fbd13ad167ae25da294cc14", + "rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34", "type": "github" }, "original": { @@ -277,11 +277,11 @@ ] }, "locked": { - "lastModified": 1776184304, - "narHash": "sha256-No6QGBmIv5ChiwKCcbkxjdEQ/RO2ZS1gD7SFy6EZ7rc=", + "lastModified": 1778805320, + "narHash": "sha256-nGFJ01m2CTBKD4ABtcY4vLhHrRN91LKr/pn41PcU78A=", "owner": "nix-community", "repo": "home-manager", - "rev": "3c7524c68348ef79ce48308e0978611a050089b2", + "rev": "9846abe15e7d0d36b8acbd4d05f2b87461744c92", "type": "github" }, "original": { @@ -297,11 +297,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1777162024, - "narHash": "sha256-D0c1qWtSL49RY5K6cEXf6Bjksbiv5oLRefSwMr9Wh4s=", + "lastModified": 1779494629, + "narHash": "sha256-VuZJ76qmY90clvY6RQfAPL5JHwhcf1jmyqBfKR7WQ7Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2256cb2eecdce4ad75ac9a0320f874b900c00529", + "rev": "9b46852004ed151b36e424de6d529a231c622561", "type": "github" }, "original": { @@ -313,11 +313,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1777159037, - "narHash": "sha256-k6uBXGmfdvpnpAUUY+jlCnz+MK0HURldSAkNGEMWABk=", + "lastModified": 1779493669, + "narHash": "sha256-09xuVobnmU/uZLUZLr/lb3tir2v0lwWEj92gGuJIdKU=", "owner": "neovim", "repo": "neovim", - "rev": "924dbf10b8e3bbc35eff629d12583bc9c944660b", + "rev": "f53d9ac90b7a5a0eefb22398a8ce4e249a3fc732", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1776949667, - "narHash": "sha256-GMSVw35Q+294GlrTUKlx087E31z7KurReQ1YHSKp5iw=", + "lastModified": 1779414690, + "narHash": "sha256-gOTcX/9MZVMUE0Xvb4IEcv+0TQJkZFNEnL757ljU360=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01fbdeef22b76df85ea168fbfe1bfd9e63681b30", + "rev": "6dedf69f94d03cbe7bdde106f2d4c23ae2a853bf", "type": "github" }, "original": { @@ -366,11 +366,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1776877367, - "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", + "lastModified": 1779357205, + "narHash": "sha256-cCO8aTqss5x9Ky8GWkpY0Hy5fyTZEbtifSUV8QjSzic=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", + "rev": "f83fc3c307e74bc5fd5adb7eb6b8b13ffd2a36e1", "type": "github" }, "original": { @@ -392,11 +392,11 @@ ] }, "locked": { - "lastModified": 1775228139, - "narHash": "sha256-ebbeHmg+V7w8050bwQOuhmQHoLOEOfqKzM1KgCTexK4=", + "lastModified": 1777598946, + "narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=", "owner": "nix-community", "repo": "NUR", - "rev": "601971b9c89e0304561977f2c28fa25e73aa7132", + "rev": "5d55af01c0f86be583931fe99207fc56c14134b3", "type": "github" }, "original": { @@ -459,11 +459,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1776893932, - "narHash": "sha256-AFD5cf9eNqXq1brHS63xeZy2xKZMgG9J86XJ9I2eLn8=", + "lastModified": 1779378391, + "narHash": "sha256-IsDb9erotvx9npI94UDosvMeYQK17p7/vmU2v9batrY=", "owner": "danth", "repo": "stylix", - "rev": "84971726c7ef0bb3669a5443e151cc226e65c518", + "rev": "c1456cc4ba3c9485e7b4158c909eeca5a752cd59", "type": "github" }, "original": { @@ -521,11 +521,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1772661346, - "narHash": "sha256-4eu3LqB9tPqe0Vaqxd4wkZiBbthLbpb7llcoE/p5HT0=", + "lastModified": 1777041405, + "narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=", "owner": "tinted-theming", "repo": "schemes", - "rev": "13b5b0c299982bb361039601e2d72587d6846294", + "rev": "5f868b3a338b6904c47f3833b9c411be641983a8", "type": "github" }, "original": { @@ -537,11 +537,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1772934010, - "narHash": "sha256-x+6+4UvaG+RBRQ6UaX+o6DjEg28u4eqhVRM9kpgJGjQ=", + "lastModified": 1777169200, + "narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "c3529673a5ab6e1b6830f618c45d9ce1bcdd829d", + "rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac", "type": "github" }, "original": { @@ -553,11 +553,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1772909925, - "narHash": "sha256-jx/5+pgYR0noHa3hk2esin18VMbnPSvWPL5bBjfTIAU=", + "lastModified": 1777463218, + "narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "b4d3a1b3bcbd090937ef609a0a3b37237af974df", + "rev": "5768d08ed2e7944a26a958868cdb073cb8856dae", "type": "github" }, "original": { @@ -574,11 +574,11 @@ ] }, "locked": { - "lastModified": 1777138694, - "narHash": "sha256-yjAFuyqQyOtQ5entLYmSRf/1L0kuSDWQndS2QNBLQlc=", + "lastModified": 1779455631, + "narHash": "sha256-svU6Ro4xiMxMA1KJGwQ/nfKwz3yXE/SONCw2Z1qTXHA=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "5ceb2bfc5671bfca6b1b363669309d6871043d66", + "rev": "5bcdfcef664bf62831dcb4b947004d9c5fbf7201", "type": "github" }, "original": { diff --git a/home/pc/common/programs/eww/default.nix b/home/pc/common/programs/eww/default.nix index 95099ad..a286568 100644 --- a/home/pc/common/programs/eww/default.nix +++ b/home/pc/common/programs/eww/default.nix @@ -8,5 +8,11 @@ ]; xdg.configFile."eww/eww.yuck".source = ./eww.yuck; - xdg.configFile."eww/eww.scss".source = pkgs.replaceVars ./eww.scss config.stylix.base16Scheme.palette; + xdg.configFile."eww/eww.scss".source = + let + colors = with config.lib.stylix.colors; { + inherit base00 base01 base02 base03 base04 base05 base06 base07 base08 base09 base0A base0B base0C base0D base0E base0F; + }; + in + pkgs.replaceVars ./eww.scss colors; } diff --git a/home/pc/common/programs/eww/eww-bar/eww.scss b/home/pc/common/programs/eww/eww-bar/eww.scss deleted file mode 100644 index cf7a235..0000000 --- a/home/pc/common/programs/eww/eww-bar/eww.scss +++ /dev/null @@ -1,48 +0,0 @@ -* { - all: unset; // Unsets everything so you can style everything from scratch -} - -// Global Styles -.bar { - background-color: #1e1e2e; - color: #cdd6f4; - padding: 5px; - font-size: large; -} - -// Styles on classes (see eww.yuck for more information) - -.sidestuff slider { - all: unset; - color: #f5c2e7; -} - -.metric scale trough highlight { - all: unset; - background-color: #f5c2e7; - border-radius: 10px; -} - -.metric scale trough { - all: unset; - background-color: #585b70; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} - -tooltip.background { - background-color: #1e1e2e; - font-size: large; - border: 2px solid #f5c2e7; -} - -.label-ram { - font-size: large; -} - -.workspaces button:hover { - color: #f5c2e7; -} diff --git a/home/pc/common/programs/eww/eww-bar/eww.yuck b/home/pc/common/programs/eww/eww-bar/eww.yuck deleted file mode 100644 index 33b73bf..0000000 --- a/home/pc/common/programs/eww/eww-bar/eww.yuck +++ /dev/null @@ -1,75 +0,0 @@ -; https://github.com/elkowar/eww/blob/master/examples/eww-bar/ - -(defwidget bar [] - (centerbox :orientation "h" - (workspaces) - (time) - (sidestuff))) - -(defwidget sidestuff [] - (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" - (metric :label " " - :tooltip "${volume}% volume" - :value {volume} - :onchange "wpctl set-volume @DEFAULT_SINK@ {}%") - (metric :label "󰍛" - :tooltip "${round(EWW_RAM.used_mem_perc, 0)}% of RAM used" - :value {EWW_RAM.used_mem_perc} - :onchange "") - (metric :label "󰻠" - :tooltip "${round(EWW_CPU.avg, 0)}% average CPU usage" - :value {round((EWW_CPU.avg), 0)} - :onchange "") - (metric :label "󱈑" - :tooltip "${round((EWW_BATTERY["BAT0"].capacity + EWW_BATTERY["BAT1"].capacity) / 2, 0)}% battery life" - :value {round((EWW_BATTERY["BAT0"].capacity + EWW_BATTERY["BAT1"].capacity) / 2, 0)} - :onchange ""))) - -(defwidget workspaces [] - (box :class "workspaces" - :orientation "h" - :space-evenly true - :halign "start" - :spacing 10 - (button :onclick "riverctl set-focused-tags 1" 1) - (button :onclick "riverctl set-focused-tags 2" 2) - (button :onclick "riverctl set-focused-tags 4" 3) - (button :onclick "riverctl set-focused-tags 8" 4) - (button :onclick "riverctl set-focused-tags 16" 5) - (button :onclick "riverctl set-focused-tags 32" 6) - (button :onclick "riverctl set-focused-tags 64" 7) - (button :onclick "riverctl set-focused-tags 128" 8) - (button :onclick "riverctl set-focused-tags 256" 9))) - -(defwidget metric [?tooltip label value onchange] - (box :orientation "h" - :tooltip tooltip - :class "metric" - :space-evenly false - (box :class "label" label) - (scale :min 0 - :max 101 - :active {onchange != ""} - :value value - :onchange onchange))) - -(defpoll volume :interval "1s" - "wpctl get-volume @DEFAULT_SINK@ | awk -F' ' '{print 100 * $2}'") - -(defwidget time [] - (label :text time-poll)) - -(defpoll time-poll :interval "10s" - "date '+%H:%M %b %d, %Y'") - -(defwindow bar - :monitor 0 - :exclusive true - :focusable "none" - :geometry (geometry :x "0%" - :y "0%" - :width "100%" - :height "10px" - :anchor "top center") - :reserve (struts :side "top" :distance "4%") - (bar)) diff --git a/home/pc/common/programs/eww/eww-bar/scripts/getvol b/home/pc/common/programs/eww/eww-bar/scripts/getvol deleted file mode 100755 index 6981f35..0000000 --- a/home/pc/common/programs/eww/eww-bar/scripts/getvol +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -wpctl get-volume @DEFAULT_SINK@ | awk -F' ' '{print 100 * $2}' diff --git a/home/pc/common/programs/havoc.nix b/home/pc/common/programs/havoc.nix deleted file mode 100644 index dc0c8d1..0000000 --- a/home/pc/common/programs/havoc.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ pkgs, ... }: -{ - home.packages = [ pkgs.havoc ]; - xdg.configFile."havoc/havoc.cfg".text = '' - [child] - program=yash - - [window] - margin=yes - - [bind] - C-S-c=copy - C-S-v=paste - C-S-j=scroll down - C-S-k=scroll up - - [font] - size=30 - path=${pkgs.nerd-fonts.caskaydia-cove}/share/fonts/truetype/NerdFonts/CaskaydiaCove/CaskaydiaCoveNerdFontMono-Regular.ttf - - [colors] - foreground=#cdd6f7 - background=#11111b - - # black - color0 = #45475a - color8 = #585b70 - - # red - color1 = #f38ba8 - color9 = #f38ba8 - - # green - color2 = #a6e3a1 - color10 = #a6e3a1 - - # yellow - color3 = #f9e2af - color11 = #f9e2af - - # blue - color4 = #89b4fa - color12 = #89b4fa - - # magenta - color5 = #f5c2e7 - color13 = #f5c2e7 - - # cyan - color6 = #94e2d5 - color14 = #94e2d5 - - # white - color7 = #bac2de - color15 = #a6adc8 - ''; -} diff --git a/home/pc/common/programs/nvim/config.lua b/home/pc/common/programs/nvim/config.lua index 9953058..8946323 100644 --- a/home/pc/common/programs/nvim/config.lua +++ b/home/pc/common/programs/nvim/config.lua @@ -15,6 +15,9 @@ vim.opt.splitbelow = true vim.opt.splitright = true vim.opt.winborder = "rounded" +vim.o.list = true +vim.o.listchars = "eol:" + vim.g.mapleader = " " vim.keymap.set("n", "n", "e .", {}) diff --git a/home/pc/common/programs/nvim/default.nix b/home/pc/common/programs/nvim/default.nix index 005c8fe..843207b 100644 --- a/home/pc/common/programs/nvim/default.nix +++ b/home/pc/common/programs/nvim/default.nix @@ -1,12 +1,18 @@ { config, pkgs, inputs, ... }: { - programs.neovim = { + programs.neovim = + let + # colors = config.stylix.base16Scheme.palette; + colors = with config.lib.stylix.colors; { + inherit base00 base01 base02 base03 base04 base05 base06 base07 base08 base09 base0A base0B base0C base0D base0E base0F; + }; + in { enable = true; package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default; initLua = builtins.readFile ( pkgs.replaceVars ./config.lua ({ shell = "tcsh"; - } // config.stylix.base16Scheme.palette) + } // colors) ); defaultEditor = true; }; diff --git a/home/pc/common/programs/rofi/theme.nix b/home/pc/common/programs/rofi/theme.nix index cfc331c..f105dee 100644 --- a/home/pc/common/programs/rofi/theme.nix +++ b/home/pc/common/programs/rofi/theme.nix @@ -1,6 +1,6 @@ { config, ... }: { - xdg.configFile."rofi/theme.rasi".text = with config.stylix.base16Scheme.palette; '' + xdg.configFile."rofi/theme.rasi".text = with config.lib.stylix.colors; '' * { bg-col: #${base00}; bg-col-light: #${base01}; diff --git a/home/pc/common/programs/tcsh.nix b/home/pc/common/programs/tcsh.nix index 5547881..dc203a5 100644 --- a/home/pc/common/programs/tcsh.nix +++ b/home/pc/common/programs/tcsh.nix @@ -11,5 +11,8 @@ set prompt = "%{\e[35m%}[%h] %~ :3%{\e[0m%} " alias ls 'ls --color=auto' + alias l 'ls -alh --color=auto' + + ''; } diff --git a/home/pc/common/programs/vesktop.nix b/home/pc/common/programs/vesktop.nix index ce9fb74..d3cf12a 100644 --- a/home/pc/common/programs/vesktop.nix +++ b/home/pc/common/programs/vesktop.nix @@ -1,7 +1,7 @@ { config, ... }: { home.file.".config/vesktop/themes/base16.css".text = - with config.stylix.base16Scheme.palette; + with config.lib.stylix.colors; with config.stylix.fonts; '' @import url('https://refact0r.github.io/midnight-discord/build/midnight.css'); diff --git a/home/pc/common/programs/waybar.nix b/home/pc/common/programs/waybar.nix deleted file mode 100644 index 042dd80..0000000 --- a/home/pc/common/programs/waybar.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ config, ... }: -{ - home.file.".config/waybar/config".text = '' - { - "position": "top", - "spacing": 4, - "modules-left": ["custom/icon", "dwl/tags", "tray"], - "modules-center": ["clock"], - "modules-right": ["pulseaudio", "cpu", "memory", "temperature", "battery"], - "custom/icon": { - "format": " ", - "tooltip": false - }, - "tray": { - "spacing": 10 - }, - "clock": { - "format": "{:%Y/%m/%d - %A - %R}", - "tooltip": false - }, - "cpu": { - "format": " {usage}%", - "tooltip": false - }, - "memory": { - "format": " {}%" - }, - "temperature": { - "thermal-zone": 2, - "critical-threshold": 80, - "format-critical": "{icon} {temperatureC}°C", - "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", ""] - }, - "battery": { - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-alt": "{icon} {time}", - "format-icons": ["", "", "", "", ""] - }, - "pulseaudio": { - "scroll-step": 5, // %, can be a float - "format": "{icon} {volume}% {format_source}", - "format-bluetooth": " {icon} {volume}% {format_source}", - "format-bluetooth-muted": "  {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": " {volume}%", - "format-source-muted": "", - "format-icons": { - "default": ["", "", ""] - }, - "on-click-right": "pavucontrol", - }, - } - ''; - programs.waybar = { - enable = true; - style = '' - * { - font-family: "${config.stylix.fonts.serif.name}"; - font-size: 16px; - min-height: 16px; - } - - window#waybar { - margin-top: 6px; - padding-left: 10px; - padding-right: 10px; - } - - #custom-icon, - #tray, - #clock, - #pulseaudio, - #cpu, - #memory, - #temperature, - #battery { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - margin-bottom: 0px; - padding-right: 10px; - color: #${config.stylix.base16Scheme.palette.base05}; - background: #${config.stylix.base16Scheme.palette.base00}; - border: 2px solid #${config.stylix.base16Scheme.palette.base0D}; - } - - #custom-icon { - margin-left: 10px; - } - - #memory { - margin-right: 10px; - } - - #battery.critical:not(.charging) { - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - @keyframes blink { - to { - background-color: #${config.stylix.base16Scheme.palette.base08}; - } - } - - #tags { - margin-top: 6px; - margin-left: 8px; - padding-left: 10px; - margin-bottom: 0px; - padding-right: 10px; - border: 2px solid #${config.stylix.base16Scheme.palette.base0D}; - } - - #tags button.occupied { - color: #${config.stylix.base16Scheme.palette.base0B}; - background: #${config.stylix.base16Scheme.palette.base00}; - } - - #tags button.focused { - color: #${config.stylix.base16Scheme.palette.base0D}; - background: #${config.stylix.base16Scheme.palette.base00}; - } - ''; - }; -} diff --git a/home/pc/common/programs/zathura.nix b/home/pc/common/programs/zathura.nix index d8aefa4..4d82356 100644 --- a/home/pc/common/programs/zathura.nix +++ b/home/pc/common/programs/zathura.nix @@ -2,7 +2,7 @@ { programs.zathura = { enable = true; - options = with config.stylix.base16Scheme.palette; { + options = with config.lib.stylix.colors; { font = "${config.stylix.fonts.serif.name} 14"; default-fg = "#${base05}"; diff --git a/home/pc/common/programs/zen.nix b/home/pc/common/programs/zen.nix index 85ea38b..012bfbc 100644 --- a/home/pc/common/programs/zen.nix +++ b/home/pc/common/programs/zen.nix @@ -15,7 +15,7 @@ let }; replaceWithStylixColours = textFile: - with config.stylix.base16Scheme.palette; + with config.lib.stylix.colors; builtins.replaceStrings [ "1e1e2e" @@ -65,10 +65,12 @@ let installation_mode = "force_installed"; }; }; + + profileName = "6dypj11h.Default Profile"; in { - home.file.".zen/default/chrome/userChrome.css".text = userChromeText; - home.file.".zen/default/chrome/userContent.css".text = userContentText; + home.file.".zen/${profileName}/chrome/userChrome.css".text = userChromeText; + home.file.".zen/${profileName}/chrome/userContent.css".text = userContentText; programs.zen-browser = { enable = true; policies = { @@ -118,6 +120,9 @@ in # Hide shorts for Youtube "{88ebde3a-4581-4c6b-8019-2a05a9e3e938}" + + # Vimium + "{d7742d87-e61d-4b78-b8a1-b469842139fa}" ] ); }; diff --git a/home/pc/common/river/default.nix b/home/pc/common/river/default.nix index 6baf51a..3135aef 100644 --- a/home/pc/common/river/default.nix +++ b/home/pc/common/river/default.nix @@ -1,4 +1,14 @@ -{ config, hostName, pkgs, wallpaper, ... }: +{ + config, + hostName, + lib, + pkgs, + wallpaper, + ... +}: +let + wawa = pkgs.callPackage ./wawa.nix { }; +in { home.packages = [ pkgs.river-bsp-layout ]; @@ -6,9 +16,19 @@ source = pkgs.replaceVars ./init.sh { inherit wallpaper; inherit hostName; + inherit wawa; + inherit (config.lib.stylix.colors) base0D base02; cursorName = config.home.pointerCursor.name; cursorSize = config.home.pointerCursor.size; }; executable = true; }; + + home.activation.reinitRiver = + with config.lib.stylix.colors; + lib.hm.dag.entryAnywhere '' + ${pkgs.river-classic}/bin/riverctl border-color-focused 0x${base0D} + ${pkgs.river-classic}/bin/riverctl border-color-unfocused 0x${base02} + ${wawa}/bin/wawa fill ${wallpaper} & + ''; } diff --git a/home/pc/common/river/init.sh b/home/pc/common/river/init.sh index a319d52..1576b28 100644 --- a/home/pc/common/river/init.sh +++ b/home/pc/common/river/init.sh @@ -2,7 +2,10 @@ # https://codeberg.org/river/river-classic/src/branch/main/example/init +@wawa@/bin/wawa fill @wallpaper@ & + riverctl map normal Super Q spawn foot +riverctl map normal Super B spawn zen-beta riverctl map normal Super D spawn "rofi -show run" riverctl map normal Super+Shift P spawn "rofi -show pm -modi pm:rofi-power-menu" @@ -68,9 +71,8 @@ riverctl map normal Super F toggle-fullscreen riverctl focus-follows-cursor normal riverctl set-cursor-warp on-focus-change -#TODO: stylix it -riverctl border-color-focused 0xf5c2e7 -riverctl border-color-unfocused 0x313244 +riverctl border-color-focused 0x@base0D@ +riverctl border-color-unfocused 0x@base02@ riverctl border-width 2 riverctl xcursor-theme @cursorName@ @cursorSize@ @@ -90,9 +92,6 @@ systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river systemctl --user restart xdg-desktop-portal -awww-daemon & -awww img @wallpaper@ -t none - if [ "@hostName@" = "february" ]; then riverctl keyboard-layout -variant colemak us else diff --git a/home/pc/common/river/wawa.nix b/home/pc/common/river/wawa.nix new file mode 100644 index 0000000..a8ae75d --- /dev/null +++ b/home/pc/common/river/wawa.nix @@ -0,0 +1,28 @@ +{ pkgs, ... }: +pkgs.stdenv.mkDerivation { + name = "wawa"; + version = "1.0"; + src = pkgs.fetchFromCodeberg { + owner = "sewn"; + repo = "wawa"; + rev = "988c5d10a1535b0243a0191f71d522e9abeea2de"; + hash = "sha256-nu8BjALjrlcm0AnBcRZxMjn+soozAU58nvqLuiN3UHk="; + }; + buildInputs = with pkgs; [ + pkg-config + wayland + wayland-protocols + wayland-scanner + ]; + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=" + ]; + patchPhase = '' + runHook prePatch + + sed -i '15s/-Wall/-Wall -Wno-incompatible-pointer-types -D_GNU_SOURCE/' Makefile + + runHook postPatch + ''; +} diff --git a/host/pc/common/stylix.nix b/host/pc/common/stylix.nix index b8b1e29..9ec0388 100644 --- a/host/pc/common/stylix.nix +++ b/host/pc/common/stylix.nix @@ -6,22 +6,22 @@ ... }: let - jsonSchemes = pkgs.stdenv.mkDerivation { - name = "fromYAML"; - phases = "buildPhase"; - buildPhase = '' - mkdir -p $out/ - #for FILE in ${pkgs.base16-schemes}/share/themes/*; do - FILE=${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml - FILEBASENAME="$(basename $FILE .yaml).json" - cat $FILE | ${pkgs.yaml2json}/bin/yaml2json | sed s/#//g > $out/$FILEBASENAME - #done - ls -l $out/ - ''; - }; - - json2Palette = - jsonScheme: (builtins.fromJSON (builtins.readFile "${jsonSchemes}/${jsonScheme}.json")).palette; + makeScheme = + scheme: + (builtins.fromJSON ( + builtins.readFile "${ + pkgs.stdenv.mkDerivation { + name = "fromYAML"; + phases = "buildPhase"; + buildPhase = '' + mkdir -p $out/ + FILE=${pkgs.base16-schemes}/share/themes/${scheme}.yaml + FILEBASENAME="$(basename $FILE .yaml).json" + cat $FILE | ${pkgs.yaml2json}/bin/yaml2json | sed s/#//g > $out/$FILEBASENAME + ''; + } + }/${scheme}.json" + )).palette; font = { package = pkgs.nerd-fonts.caskaydia-cove; @@ -33,10 +33,12 @@ let name = "DejaVu Sans Mono"; }; + + makeTheme = - jsonScheme: polarity: + scheme: polarity: let - palette = json2Palette jsonScheme; + palette = makeScheme scheme; in { enable = true; @@ -68,43 +70,32 @@ let "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; }; + palette = { + base00 = "1C2023"; + base01 = "393F45"; + base02 = "565E65"; + base03 = "747C84"; + base04 = "ADB3BA"; + base05 = "C7CCD1"; + base06 = "DFE2E5"; + base07 = "F3F4F5"; + base08 = "C7AE95"; + base09 = "C7C795"; + base0A = "AEC795"; + base0B = "95C7AE"; + base0C = "95AEC7"; + base0D = "AE95C7"; + base0E = "C795AE"; + base0F = "C79595"; + }; in { - #stylix = makeTheme "catppuccin-mocha" "dark"; + # stylix = makeTheme "ashen" "dark"; - #specialisation = { - # catppuccin-mocha.configuration.stylix = lib.mkForce (makeTheme "catppuccin-mocha" "dark"); - # catppuccin-latte.configuration.stylix = lib.mkForce (makeTheme "catppuccin-latte" "light"); - # gruvbox-dark-hard.configuration.stylix = lib.mkForce (makeTheme "gruvbox-dark-hard" "dark"); - # heetch.configuration.stylix = lib.mkForce (makeTheme "heetch" "dark"); - #}; - - stylix = - let - palette = { - base00 = "100F19"; # #11111a - base01 = "1e1e2e"; # #181825 - base02 = "313244"; # #313244 - base03 = "45475a"; # #45475a - base04 = "585b70"; # #585b70 - base05 = "cdd6f4"; # #cdd6f4 - base06 = "f5e0dc"; # #f5e0dc - base07 = "b4befe"; # #b4befe - base08 = "f38ba8"; # #f38ba8 - base09 = "fab387"; # #fab387 - base0A = "f9e2af"; # #f9e2af - base0B = "a6e3a1"; # #a6e3a1 - base0C = "94e2d5"; # #94e2d5 - base0D = "f5c2e7"; # #f5c2e7 - base0E = "cba6f7"; # #cba6f7 - base0F = "f2cdcd"; # #f2cdcd - }; - polarity = "dark"; - in - { + stylix = { enable = true; base16Scheme.palette = palette; - inherit polarity; + polarity = "dark"; fonts = { emoji = emojiFont; monospace = font; @@ -130,11 +121,4 @@ in in "${wallpaper}/share/wallpapers/nixos-wallpaper.png"; }; - - #security.sudo.extraConfig = '' - # ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/catppuccin-mocha/bin/switch-to-configuration - # ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/catppuccin-latte/bin/switch-to-configuration - # ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/gruvbox-dark-hard/bin/switch-to-configuration - # ${userName} ALL = (root) NOPASSWD: /nix/var/nix/profiles/system/specialisation/heetch/bin/switch-to-configuration - #''; }