diff --git a/assets/wp6553608.jpg b/assets/wp6553608.jpg new file mode 100644 index 0000000..c9e5a79 Binary files /dev/null and b/assets/wp6553608.jpg differ diff --git a/flake.lock b/flake.lock index 7224c8d..72ab592 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,72 @@ { "nodes": { + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "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": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", + "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" + } + }, "c3d2-user-module": { "inputs": { "nixos-modules": "nixos-modules", @@ -100,6 +167,22 @@ "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.1/x86_64-linux" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1756083905, + "narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -137,6 +220,27 @@ "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "4524271976b625a4a605beefd893f270620fd751", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -155,6 +259,22 @@ "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-nix": { "inputs": { "flake-compat": "flake-compat", @@ -181,6 +301,23 @@ "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" } }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1748186689, + "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "48.2", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -460,6 +597,31 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756961635, + "narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=", + "owner": "nix-community", + "repo": "NUR", + "rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -491,9 +653,44 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_5", "quickshell": "quickshell", + "stylix": "stylix", "treefmt-nix": "treefmt-nix" } }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_2", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur", + "systems": "systems_2", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1757360005, + "narHash": "sha256-VwzdFEQCpYMU9mc7BSQGQe5wA1MuTYPJnRc9TQCTMcM=", + "owner": "nix-community", + "repo": "stylix", + "rev": "834a743c11d66ea18e8c54872fbcc72ce48bc57f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -509,6 +706,102 @@ "type": "github" } }, + "systems_2": { + "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": 1754779259, + "narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "097d751b9e3c8b97ce158e7d141e5a292545b502", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1754788770, + "narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "fb2175accef8935f6955503ec9dd3c973eec385c", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1755613540, + "narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index d7583bb..4d53cfe 100644 --- a/flake.nix +++ b/flake.nix @@ -27,6 +27,10 @@ url = "github:nlewo/comin"; inputs.nixpkgs.follows = "nixpkgs"; }; + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -41,6 +45,7 @@ determinate, nix-index-db, quickshell, + stylix, comin, }: let @@ -115,6 +120,8 @@ ./modules/fonts.nix comin.nixosModules.comin ./modules/comin.nix + stylix.nixosModules.stylix + ./modules/stylix.nix ]; }; diff --git a/modules/home.nix b/modules/home.nix index 8576b7a..088c87f 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -43,34 +43,7 @@ programs.nix-index = { enable = true; }; - /* - stylix = { - enable = true; - polarity = "dark"; - opacity = { - popups = 1.0; - terminal = 1.0; - }; - fonts = { - serif = config.stylix.fonts.sansSerif; - sansSerif = { - package = pkgs.adwaita-fonts; - name = "Adwaita Sans"; - }; - - monospace = { - package = pkgs.nerd-fonts.geist-mono; - name = "Geist Nerd Font Mono"; - }; - - emoji = { - package = pkgs.noto-fonts-emoji; - name = "Noto Color Emoji"; - }; - }; - }; - */ # set cursor size and dpi for 4k monitor # Packages that should be installed to the user profile. diff --git a/modules/niri/settings.nix b/modules/niri/settings.nix index 3f12c6e..43b7521 100644 --- a/modules/niri/settings.nix +++ b/modules/niri/settings.nix @@ -1,7 +1,8 @@ -{ config -, lib -, pkgs -, ... +{ + config, + lib, + pkgs, + ... }: let makeCommand = command: { @@ -93,11 +94,11 @@ in border = { enable = true; width = 2; - #active.color = "#${base0D}"; - #inactive.color = "#${base07}"; + active.color = "#ff69b4"; + inactive.color = "#7d0d2d"; }; shadow = { - enable = false; + enable = true; }; preset-column-widths = [ { proportion = 0.25; } diff --git a/modules/stylix.nix b/modules/stylix.nix new file mode 100644 index 0000000..6df11a3 --- /dev/null +++ b/modules/stylix.nix @@ -0,0 +1,30 @@ +{ pkgs, config, ... }: +{ + stylix = { + image = ../assets/wp6553608.jpg; + enable = true; + polarity = "dark"; + opacity = { + popups = 1.0; + terminal = 1.0; + }; + + fonts = { + serif = config.stylix.fonts.sansSerif; + sansSerif = { + package = pkgs.adwaita-fonts; + name = "Adwaita Sans"; + }; + + monospace = { + package = pkgs.nerd-fonts.geist-mono; + name = "Geist Nerd Font Mono"; + }; + + emoji = { + package = pkgs.noto-fonts-emoji; + name = "Noto Color Emoji"; + }; + }; + }; +} diff --git a/modules/waybar.nix b/modules/waybar.nix index 27b779c..f56b919 100644 --- a/modules/waybar.nix +++ b/modules/waybar.nix @@ -1,4 +1,123 @@ -{ ... }: { - programs.waybar.enable = true; + programs.waybar = { + enable = true; + + settings = { + mainBar = { + layer = "top"; + position = "top"; + height = 28; + output = [ "eDP-1" ]; + margin = "10 20"; + modules-left = [ + "niri/workspaces" + "custom/catgirl-status" + ]; + modules-center = [ "sway/window" ]; + modules-right = [ + "battery" + "network" + "clock" + ]; + + # Empty but cute custom catgirl status + "custom/catgirl-status" = { + interval = 10; + exec = '' + echo "" + ''; + format = "{}"; + max-length = 40; + tooltip = false; + }; + + # Niri workspaces with icons & cute style + "niri/workspaces" = { + all-outputs = true; + disable-click = false; # allow click to switch workspaces + format = "{icon}"; + format-icons = { + # Named workspaces, you must have matching names in niri config + "browser" = "🌐"; + "discord" = "💬"; + "chat" = "🐱"; + # States + "focused" = "⭐"; + "active" = "●"; + "urgent" = "❗"; + "empty" = "○"; + "default" = "•"; + }; + disable-markup = false; + max-length = 6; + }; + + battery = { + format = "🔋 {capacity}%"; + low = 20; + critical = 10; + format-low = "⚠️ {capacity}%"; + format-critical = "🚨 {capacity}%"; + tooltip = true; + }; + + network = { + interface = "wlan0"; + format-connected = "📶 {essid}"; + format-disconnected = "📡 disconnected"; + tooltip = true; + }; + + clock = { + format = "{:%a %b %d, %H:%M}"; + tooltip = false; + }; + }; + }; + + style = '' + * { + font-family: "Comic Mono", "Fira Mono", monospace; + border-radius: 12px; + font-weight: 600; + padding: 5px 15px; + } + window#waybar { + background-color: #3A3A58; + color: #FF69B4; + border: 2px solid #FF69B4; + box-shadow: 0 0 15px #FF69B4AA; + } + #workspaces button { + background-color: #FF69B4; + color: #3A3A58; + margin: 0 3px; + border-radius: 8px; + padding: 3px 10px; + transition: background-color 0.2s ease; + } + #workspaces button:hover { + background-color: #FFB6C1; + color: #1A1A2E; + } + #workspaces button.active { + background-color: #FF69B4; + color: #FFF0F5; + font-weight: bold; + } + #clock { + font-style: italic; + color: #FFC0CB; + } + #battery, #network { + color: #FFB6C1; + } + #custom-catgirl-status { + font-size: 1.1em; + color: #FF69B4; + font-weight: bold; + font-family: "Comic Mono", monospace; + } + ''; + }; }