From 96dc27ff5043d5b0bacab1ce18f218abecdc18d0 Mon Sep 17 00:00:00 2001 From: Pedro Rey Anca Date: Mon, 9 Jun 2025 18:49:44 +0200 Subject: [PATCH] Use stylix and refactor related things --- flake.lock | 429 +++++++++++++++++++++++++--- flake.nix | 28 +- modules/core/user.nix | 4 +- modules/home/bat.nix | 7 - modules/home/browsers/librewolf.nix | 4 +- modules/home/btop.nix | 3 - modules/home/cava.nix | 7 +- modules/home/default.nix | 5 +- modules/home/fuzzel.nix | 14 +- modules/home/gtk.nix | 26 -- modules/home/hyprland/config.nix | 35 +-- modules/home/hyprland/hyprlock.nix | 154 +++++----- modules/home/kitty.nix | 8 - modules/home/qt.nix | 30 -- modules/home/starship.nix | 58 ++-- modules/home/stylix.nix | 56 ++++ modules/home/vscodium.nix | 10 - modules/home/waybar/settings.nix | 15 +- modules/home/waybar/style.nix | 104 +++---- 19 files changed, 600 insertions(+), 397 deletions(-) create mode 100644 modules/home/stylix.nix diff --git a/flake.lock b/flake.lock index 34db7a5..58c5938 100644 --- a/flake.lock +++ b/flake.lock @@ -1,50 +1,69 @@ { "nodes": { - "catppuccin-bat": { - "flake": false, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, "locked": { - "lastModified": 1734996624, - "narHash": "sha256-6fWoCH90IGumAMc4buLRWL0N61op+AuMNN9CAR9/OdI=", - "owner": "catppuccin", - "repo": "bat", - "rev": "699f60fc8ec434574ca7451b444b880430319941", + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "type": "github" }, "original": { - "owner": "catppuccin", - "repo": "bat", + "owner": "SenchoPens", + "repo": "base16.nix", "type": "github" } }, - "catppuccin-cava": { + "base16-fish": { "flake": false, "locked": { - "lastModified": 1725405604, - "narHash": "sha256-5AQcCRGaAxP5KFzkJtkKFYq0Ug2xVIEqr2r/k87uWwY=", - "owner": "catppuccin", - "repo": "cava", - "rev": "0746f77974330338ee2e1e4d1ef9872eba57eb26", + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", "type": "github" }, "original": { - "owner": "catppuccin", - "repo": "cava", + "owner": "tomyun", + "repo": "base16-fish", "type": "github" } }, - "catppuccin-starship": { + "base16-helix": { "flake": false, "locked": { - "lastModified": 1733541952, - "narHash": "sha256-1w0TJdQP5lb9jCrCmhPlSexf0PkAlcz8GBDEsRjPRns=", - "owner": "catppuccin", - "repo": "starship", - "rev": "e99ba6b210c0739af2a18094024ca0bdf4bb3225", + "lastModified": 1736852337, + "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", "type": "github" }, "original": { - "owner": "catppuccin", - "repo": "starship", + "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" } }, @@ -70,6 +89,22 @@ "type": "gitlab" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1744642301, + "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "fjordlauncher": { "inputs": { "libnbtplusplus": "libnbtplusplus", @@ -91,6 +126,21 @@ "type": "github" } }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -112,6 +162,108 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "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", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "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" + } + }, + "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": [ @@ -133,6 +285,28 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747556831, + "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-25.05", + "repo": "home-manager", + "type": "github" + } + }, "hypr-contrib": { "inputs": { "nixpkgs": "nixpkgs" @@ -183,22 +357,6 @@ "type": "github" } }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1749143949, - "narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1749086602, @@ -251,18 +409,175 @@ "type": "github" } }, + "nur_2": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1746056780, + "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=", + "owner": "nix-community", + "repo": "NUR", + "rev": "d476cd0972dd6242d76374fcc277e6735715c167", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { - "catppuccin-bat": "catppuccin-bat", - "catppuccin-cava": "catppuccin-cava", - "catppuccin-starship": "catppuccin-starship", "firefox-addons": "firefox-addons", "fjordlauncher": "fjordlauncher", "home-manager": "home-manager", "hypr-contrib": "hypr-contrib", "nixpkgs": "nixpkgs_2", - "nixpkgs-unstable": "nixpkgs-unstable", - "nur": "nur" + "nur": "nur", + "stylix": "stylix" + } + }, + "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", + "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur_2", + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1749389855, + "narHash": "sha256-//wZBnlBJ7Ki5/ZdafiAZwVFZd/2HhKqEbOupo/HcRA=", + "owner": "nix-community", + "repo": "stylix", + "rev": "bf5ab9df57a3d77847289c39c3a537bd6e6ac6f4", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-25.05", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "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": 1744974599, + "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1745111349, + "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9", + "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-nix": { @@ -285,6 +600,28 @@ "repo": "treefmt-nix", "type": "github" } + }, + "treefmt-nix_2": { + "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" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 8154ccc..950fc37 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,6 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nur.url = "github:nix-community/NUR"; firefox-addons = { @@ -23,23 +22,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - catppuccin-bat = { - url = "github:catppuccin/bat"; - flake = false; - }; - catppuccin-cava = { - url = "github:catppuccin/cava"; - flake = false; - }; - catppuccin-starship = { - url = "github:catppuccin/starship"; - flake = false; + stylix = { + url = "github:nix-community/stylix/release-25.05"; + inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, - nixpkgs-unstable, self, ... } @ inputs: let @@ -49,10 +39,6 @@ inherit system; config.allowUnfree = true; }; - pkgs-unstable = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; - }; lib = nixpkgs.lib; in { nixosConfigurations = { @@ -61,7 +47,7 @@ modules = [(import ./hosts/frues-pc)]; specialArgs = { host = "frues-pc"; - inherit self inputs username pkgs-unstable; + inherit self inputs username; }; }; frues-port = nixpkgs.lib.nixosSystem { @@ -69,7 +55,7 @@ modules = [(import ./hosts/frues-port)]; specialArgs = { host = "frues-port"; - inherit self inputs username pkgs-unstable; + inherit self inputs username; }; }; frues-vm = nixpkgs.lib.nixosSystem { @@ -77,7 +63,7 @@ modules = [(import ./hosts/frues-vm)]; specialArgs = { host = "frues-vm"; - inherit self inputs username pkgs-unstable; + inherit self inputs username; }; }; fruesos-live = nixpkgs.lib.nixosSystem { @@ -88,7 +74,7 @@ ]; specialArgs = { host = "fruesos-live"; - inherit self inputs username pkgs-unstable; + inherit self inputs username; }; }; }; diff --git a/modules/core/user.nix b/modules/core/user.nix index 47df7a2..d5d95cf 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -3,14 +3,14 @@ inputs, username, host, - pkgs-unstable, ... }: { imports = [inputs.home-manager.nixosModules.home-manager]; home-manager = { + backupFileExtension = "hmbkp"; useUserPackages = true; useGlobalPkgs = true; - extraSpecialArgs = {inherit inputs username host pkgs-unstable;}; + extraSpecialArgs = {inherit inputs username host;}; users.${username} = { imports = [./../home]; home.username = "${username}"; diff --git a/modules/home/bat.nix b/modules/home/bat.nix index 186be1f..c080434 100644 --- a/modules/home/bat.nix +++ b/modules/home/bat.nix @@ -3,13 +3,6 @@ enable = true; config = { pager = "less -FR"; - theme = "catppuccin-mocha"; - }; - themes = { - catppuccin-mocha = { - src = inputs.catppuccin-bat; - file = "/themes/Catppuccin Mocha.tmTheme"; - }; }; }; } diff --git a/modules/home/browsers/librewolf.nix b/modules/home/browsers/librewolf.nix index fed8308..2d5ae50 100644 --- a/modules/home/browsers/librewolf.nix +++ b/modules/home/browsers/librewolf.nix @@ -8,7 +8,7 @@ settings = { "webgl.disabled" = false; # "privacy.resistFingerprinting" = false; - "privacy.clearOnShutdown.history" = false; + "privacy.clearOnShutdown.history" = true; "privacy.clearOnShutdown.cookies" = false; "network.cookie.lifetimePolicy" = 0; "identity.fxaccounts.enabled" = true; @@ -35,6 +35,7 @@ libredirect multi-account-containers clearurls + tridactyl hoppscotch ]; }; @@ -48,6 +49,7 @@ "services.sync.engine.passwords" = false; "services.sync.engine.prefs" = false; "services.sync.engine.tabs" = true; + "browser.urlbar.autoFill" = false; # Layout "browser.uiCustomization.state" = builtins.toJSON { diff --git a/modules/home/btop.nix b/modules/home/btop.nix index 3d56fd2..7947fdc 100644 --- a/modules/home/btop.nix +++ b/modules/home/btop.nix @@ -3,11 +3,8 @@ enable = true; settings = { - color_theme = "dracula"; theme_background = false; update_ms = 500; }; }; - - home.packages = with pkgs; [nvtopPackages.intel]; } diff --git a/modules/home/cava.nix b/modules/home/cava.nix index f32fd0f..7e9c288 100644 --- a/modules/home/cava.nix +++ b/modules/home/cava.nix @@ -7,10 +7,5 @@ enable = true; }; - # https://github.com/catppuccin/cava - home.file.".config/cava/config".text = - '' - # custom cava config - '' - + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava"; + stylix.targets.cava.rainbow.enable = true; } diff --git a/modules/home/default.nix b/modules/home/default.nix index f14fe4d..c7740c0 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -9,7 +9,7 @@ ++ [(import ./browsers)] # browser configurations ++ [(import ./btop.nix)] # resouces monitor ++ [(import ./cava.nix)] # audio visualizer -++ [(import ./cliphist.nix)] # clipboard + ++ [(import ./cliphist.nix)] # clipboard ++ [(import ./discord.nix)] # discord with catppuccin theme ++ [(import ./gpg.nix)] # GnuPG and its agent (gpg-agent) ++ [(import ./fuzzel.nix)] # launcher @@ -20,7 +20,7 @@ ++ [(import ./kdeconnect.nix)] ++ [(import ./kitty.nix)] # terminal ++ [(import ./swaync)] # notification deamon -++ [(import ./nemo.nix)] # File manager + ++ [(import ./nemo.nix)] # File manager ++ [(import ./nextcloud.nix)] # nextcloud client ++ [(import ./nvim.nix)] # neovim editor ++ [(import ./packages.nix)] # other packages @@ -30,6 +30,7 @@ ++ [(import ./starship.nix)] # shell prompt ++ [(import ./libreoffice.nix)] ++ [(import ./qt.nix)] + ++ [(import ./stylix.nix)] # shell ++ [(import ./vscodium.nix)] # vscode forck ++ [(import ./waybar)] # status bar ++ [(import ./zsh.nix)]; # shell diff --git a/modules/home/fuzzel.nix b/modules/home/fuzzel.nix index 22e9a23..85c1fdd 100644 --- a/modules/home/fuzzel.nix +++ b/modules/home/fuzzel.nix @@ -1,14 +1,13 @@ -{...}: { +{lib, ...}: { programs.fuzzel = { enable = true; settings = { main = { - font = "JetBrainsMono Nerd Font:weight=bold:size=14"; + use-bold = true; line-height = 25; fields = "name,generic,comment,categories,filename,keywords"; terminal = "kitty"; prompt = "'🔍 '"; - icon-theme = "Papirus-Dark"; layer = "top"; lines = 10; width = 35; @@ -16,15 +15,6 @@ inner-pad = 5; dpi-aware = false; }; - colors = { - background = "1e1e2ecc"; - text = "cdd6f4ff"; - match = "f38ba8ff"; - selection = "b4befeaa"; - selection-match = "f38ba8ff"; - selection-text = "cdd6f4ff"; - border = "b4befeff"; - }; border = { radius = 15; width = 3; diff --git a/modules/home/gtk.nix b/modules/home/gtk.nix index 96fd766..e586066 100644 --- a/modules/home/gtk.nix +++ b/modules/home/gtk.nix @@ -15,31 +15,5 @@ gtk = { enable = true; - font = { - name = "JetBrainsMono Nerd Font"; - size = 11; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.catppuccin-papirus-folders.override { - flavor = "mocha"; - accent = "lavender"; - }; - }; - theme = { - name = "Dracula"; - package = pkgs.dracula-theme; - }; - cursorTheme = { - name = "mochaDark"; - package = pkgs.catppuccin-cursors; - size = 22; - }; - }; - - home.pointerCursor = { - name = "Nordzy-cursors"; - package = pkgs.nordzy-cursor-theme; - size = 22; }; } diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index a0d9e4c..fac924a 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -32,9 +32,9 @@ gaps_in = 0; gaps_out = 0; border_size = 2; - "col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg"; - "col.inactive_border" = "0x00000000"; - border_part_of_window = false; + # "col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg"; + # "col.inactive_border" = "0x00000000"; + # border_part_of_window = false; no_border_on_floating = false; }; @@ -89,7 +89,7 @@ offset = "0 2"; range = 20; render_power = 3; - color = "rgba(00000055)"; + # color = "rgba(00000055)"; }; }; @@ -234,36 +234,25 @@ # windowrule windowrule = [ - "float,imv" - "center,imv" - "size 1200 725,imv" - "float,mpv" - "center,mpv" - "tile,Aseprite" - "size 1200 725,mpv" + "float,class:vimiv" + "center,class:vimiv" + "float,class:mpv" + "center,class:mpv" + "size 1200 725,class:mpv" "float,title:^(float_kitty)$" "center,title:^(float_kitty)$" "size 950 600,title:^(float_kitty)$" - # "pin,wofi" - # "float,wofi" - # "noborder,wofi" - "tile, neovide" - "idleinhibit focus,mpv" - "float,udiskie" + "tile, class:neovide" + "idleinhibit focus,class:mpv" + "float,class:udiskie" "float,title:^(Volume Control)$" "float,title:^(Firefox — Sharing Indicator)$" "move 0 0,title:^(Firefox — Sharing Indicator)$" "size 700 450,title:^(Volume Control)$" "move 40 55%,title:^(Volume Control)$" - ]; - - # windowrulev2 - windowrulev2 = [ "float, title:^(Picture-in-Picture)$" "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$" "pin, title:^(Picture-in-Picture)$" - "opacity 1.0 override 1.0 override, title:^(.*imv.*)$" - "opacity 1.0 override 1.0 override, title:^(.*mpv.*)$" "opacity 1.0 override 1.0 override, class:(Aseprite)" "opacity 1.0 override 1.0 override, class:(Unity)" "idleinhibit focus, class:^(mpv)$" diff --git a/modules/home/hyprland/hyprlock.nix b/modules/home/hyprland/hyprlock.nix index 4ccb88a..1104faf 100644 --- a/modules/home/hyprland/hyprlock.nix +++ b/modules/home/hyprland/hyprlock.nix @@ -1,97 +1,73 @@ -{pkgs, ...}: { - programs.hyprlock.enable = true; - xdg.configFile."hypr/hyprlock.conf".text = '' - $red = rgb(f38ba8) - $yellow = rgb(f9e2af) - $lavender = rgb(b4befe) +{config, ...}: { + programs.hyprlock = { + enable = true; + settings = let + colors = with config.lib.stylix.colors; { + text = base05; + accent = base0E; + warning = base0A; + }; + in { + general = { + hide_cursor = true; + }; - $mauve = rgb(cba6f7) - $mauveAlpha = cba6f7 + background = { + path = "~/.config/hypr/wallpaper.png"; + blur_passes = 2; + }; - $base = rgb(1e1e2e) - $surface0 = rgb(313244) - $text = rgb(cdd6f4) - $textAlpha = cdd6f4 + label = [ + # Time + { + text = "cmd[update:30000] echo \" $(date +\"%R\") \""; + color = "rgb(${colors.text})"; + font_size = 110; + shadow_passes = 3; + shadow_size = 3; - $accent = $lavender - $accentAlpha = $mauveAlpha - $font = JetBrainsMono Nerd Font + position = "0, -100"; + halign = "center"; + valign = "top"; + } - # GENERAL - general { - disable_loading_bar = true - hide_cursor = true - } + # Date + { + text = "cmd[update:43200000] echo \"$(date +\"%A, %d %B %Y\")\""; + color = "rgb(${colors.text})"; + font_size = 18; + position = "0, -300"; + halign = "center"; + valign = "top"; + } + ]; - # BACKGROUND - background { - monitor = - path = ~/.config/hypr/wallpaper.png - color = $base - blur_passes = 2 - } + # User Avatar + image = { + path = "~/.face.png"; + size = 125; + border_color = "rgb(${colors.accent})"; - # TIME - label { - monitor = - text = cmd[update:30000] echo " $(date +"%R") " - color = $text - font_size = 110 - font_family = $font - shadow_passes = 3 - shadow_size = 3 + position = "0, -450"; + halign = "center"; + valign = "center"; + }; - position = 0, -100 - halign = center - valign = top - } - - # DATE - label { - monitor = - text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")" - color = $text - font_size = 18 - font_family = $font - position = 0, -300 - halign = center - valign = top - } - - # USER AVATAR - - image { - monitor = - path = ~/.face.png - size = 125 - border_color = $accent - - position = 0, -450 - halign = center - valign = center - } - - # INPUT FIELD - input-field { - monitor = - size = 300, 60 - outline_thickness = 4 - dots_size = 0.2 - dots_spacing = 0.4 - dots_center = true - outer_color = $accent - inner_color = $surface0 - font_color = $text - fade_on_empty = false - placeholder_text = 󰌾 Logged in as $USER - hide_input = false - check_color = $accent - fail_color = $red - fail_text = $FAIL ($ATTEMPTS) - capslock_color = $yellow - position = 0, -100 - halign = center - valign = center - } - ''; + input-field = { + size = "300, 60"; + outline_thickness = 4; + dots_size = 0.2; + dots_spacing = 0.4; + dots_center = true; + fade_on_empty = false; + placeholder_text = "󰌾 Logged in as $USER"; + hide_input = false; + fail_text = "$FAIL ($ATTEMPTS)"; + capslock_color = "rgb(${colors.warning})"; + position = "0, -100"; + halign = "center"; + valign = "center"; + }; + }; + }; } diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix index b45cdec..fc25edf 100644 --- a/modules/home/kitty.nix +++ b/modules/home/kitty.nix @@ -4,16 +4,8 @@ shellIntegration.enableZshIntegration = true; - themeFile = "Catppuccin-Mocha"; - - font = { - name = "JetBrainsMono Nerd Font"; - size = 13; - }; - settings = { confirm_os_window_close = 0; - background_opacity = "0.55"; window_padding_width = 10; scrollback_lines = 10000; enable_audio_bell = false; diff --git a/modules/home/qt.nix b/modules/home/qt.nix index 49b35b1..13bebf3 100644 --- a/modules/home/qt.nix +++ b/modules/home/qt.nix @@ -4,34 +4,4 @@ ... }: { qt.enable = true; - qt.platformTheme.name = "qtct"; - qt.style.name = "kvantum"; - - home.packages = with pkgs; [ - libsForQt5.qtstyleplugin-kvantum - libsForQt5.qt5.qtwayland - qt6.qtwayland - ]; - - xdg.configFile."Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini {}).generate "kvantum.kvconfig" { - General.theme = "catppuccin-mocha-lavender"; - }; - xdg.configFile."Kvantum/catppuccin-mocha-lavender".source = "${(pkgs.catppuccin-kvantum.override { - variant = "mocha"; - accent = "lavender"; - })}/share/Kvantum/catppuccin-mocha-lavender"; - - xdg.configFile."qt5ct/qt5ct.conf".source = (pkgs.formats.ini {}).generate "kvantum.kvconfig" { - Appearance = { - style = "kvantum-dark"; - icon_theme = "Papirus-Dark"; - }; - - Fonts = { - general = "\"JetBrainsMono Nerd Font,12,-1,5,50,0,0,0,0,0,Regular\""; - fixed = "\"JetBrainsMono Nerd Font,12,-1,5,50,0,0,0,0,0,Regular\""; - }; - }; - - xdg.configFile."qt6ct/qt6ct.conf".source = config.xdg.configFile."qt5ct/qt5ct.conf".source; } diff --git a/modules/home/starship.nix b/modules/home/starship.nix index 70c1898..6651c79 100644 --- a/modules/home/starship.nix +++ b/modules/home/starship.nix @@ -1,8 +1,4 @@ -{ - lib, - inputs, - ... -}: { +{lib, ...}: { programs.starship = { enable = true; @@ -10,37 +6,33 @@ enableZshIntegration = true; enableNushellIntegration = true; - settings = - { - # right_format = "$cmd_duration"; + settings = { + # right_format = "$cmd_duration"; - directory = { - format = "[ ](bold #89b4fa)[ $path ]($style)"; - style = "bold #b4befe"; - }; + directory = { + format = "[ ](bold #89b4fa)[ $path ]($style)"; + style = "bold #b4befe"; + }; - character = { - success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)"; - error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)"; - # error_symbol = "[ ](bold #89dceb)[ ✗](bold red)"; - }; + character = { + success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)"; + error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)"; + # error_symbol = "[ ](bold #89dceb)[ ✗](bold red)"; + }; - cmd_duration = { - format = "[]($style)[[󰔚 ](bg:#161821 fg:#d4c097 bold)$duration](bg:#161821 fg:#BBC3DF)[ ]($style)"; - disabled = false; - style = "bg:none fg:#161821"; - }; + cmd_duration = { + format = "[]($style)[[󰔚 ](bg:#161821 fg:#d4c097 bold)$duration](bg:#161821 fg:#BBC3DF)[ ]($style)"; + disabled = false; + style = "bg:none fg:#161821"; + }; - # directory.substitutions = { - # "~" = "󰋞"; - # "Documents" = " "; - # "Downloads" = " "; - # "Music" = " "; - # "Pictures" = " "; - # }; - - palette = "catppuccin_mocha"; - } - // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml"); + # directory.substitutions = { + # "~" = "󰋞"; + # "Documents" = " "; + # "Downloads" = " "; + # "Music" = " "; + # "Pictures" = " "; + # }; + }; }; } diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix new file mode 100644 index 0000000..388c757 --- /dev/null +++ b/modules/home/stylix.nix @@ -0,0 +1,56 @@ +{ + inputs, + config, + pkgs, + ... +}: { + imports = [inputs.stylix.homeModules.stylix]; + + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; + targets = { + librewolf.profileNames = ["pedro"]; + }; + fonts = { + serif = config.stylix.fonts.monospace; + + sansSerif = config.stylix.fonts.monospace; + + monospace = { + package = pkgs.nerd-fonts.jetbrains-mono; + name = "JetBrainsMono Nerd Font"; + }; + + emoji = { + package = pkgs.noto-fonts-emoji; + name = "Noto Color Emoji"; + }; + }; + + cursor = { + package = pkgs.catppuccin-cursors.mochaDark; + name = "Catppuccin Mocha Dark"; + size = 22; + }; + + iconTheme = { + enable = true; + package = pkgs.catppuccin-papirus-folders.override { + flavor = "mocha"; + accent = "lavender"; + }; + light = "Papirus-Light"; + dark = "Papirus-Dark"; + }; + + opacity = { + applications = 0.65; + desktop = 1.0; + popups = 0.8; + terminal = 0.55; + }; + + polarity = "dark"; + }; +} diff --git a/modules/home/vscodium.nix b/modules/home/vscodium.nix index 7e9c403..bd33d2c 100644 --- a/modules/home/vscodium.nix +++ b/modules/home/vscodium.nix @@ -22,10 +22,6 @@ ms-vscode.cmake-tools # TOML tamasfe.even-better-toml - - # Color theme - catppuccin.catppuccin-vsc - catppuccin.catppuccin-vsc-icons ]; userSettings = { @@ -34,12 +30,6 @@ "window.titleBarStyle" = "custom"; # needed otherwise vscode crashes, see https://github.com/NixOS/nixpkgs/issues/246509 "window.menuBarVisibility" = "toggle"; - "editor.fontFamily" = "'JetBrainsMono Nerd Font', 'SymbolsNerdFont', 'monospace', monospace"; - "terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', 'SymbolsNerdFont'"; - "editor.fontSize" = 16; - "workbench.colorTheme" = "Catppuccin Mocha"; - "workbench.iconTheme" = "catppuccin-mocha"; - "catppuccin.accentColor" = "lavender"; "vsicons.dontShowNewVersionMessage" = true; "explorer.confirmDragAndDrop" = true; "editor.fontLigatures" = true; diff --git a/modules/home/waybar/settings.nix b/modules/home/waybar/settings.nix index 260671d..f8a460b 100644 --- a/modules/home/waybar/settings.nix +++ b/modules/home/waybar/settings.nix @@ -1,17 +1,4 @@ -{ - custom ? { - font = "JetBrainsMono Nerd Font"; - fontsize = "12"; - primary_accent = "cba6f7"; - secondary_accent = "89b4fa"; - tertiary_accent = "f5f5f5"; - background = "11111B"; - opacity = ".85"; - cursor = "Numix-Cursor"; - }, - host, - ... -}: { +{host, ...}: { programs.waybar.settings.mainBar = { position = "top"; layer = "top"; diff --git a/modules/home/waybar/style.nix b/modules/home/waybar/style.nix index afb4ebc..143fd02 100644 --- a/modules/home/waybar/style.nix +++ b/modules/home/waybar/style.nix @@ -1,100 +1,94 @@ { - custom ? { - font = "JetBrainsMono Nerd Font"; - fontsize = "12"; - primary_accent = "cba6f7"; - secondary_accent = "89b4fa"; - tertiary_accent = "cdd6f4"; - background = "11111B"; - opacity = ".98"; - cursor = "Numix-Cursor"; - }, + lib, + config, ... }: { + stylix.targets.waybar.addCss = false; + programs.waybar.style = '' * { border: none; - border-radius: 0px; - font-family: ${custom.font}; - font-weight: bold; - font-size: 15px; + border-radius: 0; min-height: 0; - opacity: ${custom.opacity}; } + window#waybar { background: none; } + .module { + background: @base00; + color: @base05; + margin: 5px 0px; + min-height: 0; + font-weight: bold; + } + + tooltip { + background: @base02; + color: @base05; + border-radius: 4px; + } + + tooltip label { + color: @base05; + } + #workspaces { - background: #${custom.palette.tertiary_background_hex}; margin: 5px 5px; padding: 8px 12px; border-radius: 12px 12px 24px 24px; - color: #${custom.primary_accent} } + #workspaces button { padding: 0px 5px; margin: 0px 3px; border-radius: 15px; - color: #${custom.background}; - background: #${custom.secondary_accent}; + color: @base00; + background-color: @base0D; + min-width: 15px; transition: all 0.2s ease-in-out; } + #workspaces button.visible { + background-color: @base0F; + } + #workspaces button.active { - background-color: #${custom.primary_accent}; - color: #${custom.background}; - border-radius: 15px; + background-color: @base0E; min-width: 35px; - background-size: 200% 200%; - transition: all 0.2s ease-in-out; } #workspaces button:hover { - background-color: #b4befe; - color: #${custom.background}; - border-radius: 15px; + background-color: @base07; min-width: 35px; - background-size: 200% 200%; - } - - #tray, #pulseaudio, #network, #cpu, #memory, #disk, - #custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.forward, #battery, #idle_inhibitor, #custom-notification { - background: #${custom.palette.tertiary_background_hex}; - font-weight: bold; - margin: 5px 0px; } #cpu { - color: #${custom.tertiary_accent}; border-radius: 10px 0px 0px 24px; padding-left: 15px; padding-right: 9px; margin-left: 7px; } #memory { - color: #${custom.tertiary_accent}; border-radius: 0; padding-left: 9px; padding-right: 9px; } #disk { - color: #${custom.tertiary_accent}; border-radius: 0px 24px 10px 0px; padding-left: 9px; padding-right: 15px; } #tray { - color: #${custom.tertiary_accent}; border-radius: 10px 24px 10px 24px; padding: 0 20px; margin-left: 7px; } #pulseaudio { - color: #${custom.tertiary_accent}; border-radius: 10px 0px 0px 24px; padding-left: 15px; padding-right: 9px; @@ -102,46 +96,39 @@ } #battery { - color: #${custom.tertiary_accent}; border-radius: 0; padding-left: 9px; padding-right: 9px; } #idle_inhibitor { - color: #${custom.tertiary_accent}; border-radius: 0; padding-left: 9px; padding-right: 9px; } #network { - color: #${custom.tertiary_accent}; border-radius: 0; padding-left: 9px; padding-right: 9px; } #custom-notification { - color: #${custom.tertiary_accent}; border-radius: 0px 24px 10px 0px; padding-left: 9px; padding-right: 15px; } #clock { - color: #${custom.tertiary_accent}; - background: #${custom.palette.tertiary_background_hex}; border-radius: 0px 0px 0px 40px; padding: 10px 10px 15px 25px; + margin: 0px; margin-left: 7px; - font-weight: bold; font-size: 16px; } #custom-launcher { - color: #${custom.secondary_accent}; - background: #${custom.palette.tertiary_background_hex}; + color: @base0D; border-radius: 0px 0px 40px 0px; margin: 0px; padding: 0px 30px 0px 10px; @@ -149,37 +136,26 @@ } #custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.forward { - background: #${custom.palette.tertiary_background_hex}; font-size: 22px; } #custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.forward:hover{ - color: #${custom.tertiary_accent}; + color: @base05; } #custom-playerctl.backward { - color: #${custom.primary_accent}; + color: @base0E; border-radius: 24px 0px 0px 10px; padding-left: 16px; margin-left: 7px; } #custom-playerctl.play { - color: #${custom.secondary_accent}; + color: @base0D; padding: 0 5px; } #custom-playerctl.forward { - color: #${custom.primary_accent}; + color: @base0E; border-radius: 0px 10px 24px 0px; padding-right: 12px; margin-right: 7px } - #window{ - background: #${custom.palette.tertiary_background_hex}; - padding-left: 15px; - padding-right: 15px; - border-radius: 16px; - margin-top: 5px; - margin-bottom: 5px; - font-weight: normal; - font-style: normal; - } ''; }